• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Angriffsszenarien

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Es gibt Format-String-Attacken, die Pufferüberläufe ausnutzen.

Libgmalloc verwendet man zum Debuggen, nicht für Produktivsysteme.

Man kann printf() et aliud verwenden und trotzdem sicher sein vor Format-String-Angriffen. Man muß halt, falls man Daten aus externen Quellen im Format-String verwendet, diese prüfen und nicht unkontrolliert einsetzen. Man könnte beispielweise sämtliche Eingaben, die Token der Art %s (wird für Leseangriff verwendet) oder der Art %n (wird für Schreibangriff verwendet) enthalten, ignorieren. Oder man übernimmt externen Input überhaupt nicht im Formatstring, sondern nur in den restlichen Argumenten von printf().

Format-String-Angriffe sind möglich durch unsauberes Programmieren, durch Entwickler-Bugs. Diese lassen sich vermeiden und beheben. Daher sehe ich seine prinzipielle Kritik nicht gerechtfertigt.

Apple wird, falls noch nicht geschehen, diese Bugs fixen, denn sie sind sehr leicht zu beheben. Zudem liegen meines Wissens diese Bugs nicht im Darwin-Bereich und sind somit Closed Source, was ihre Ausnutzung erschwert.

Diese Art Bugs sind übrigens weit über Skriptkiddie-Niveau und erfordern erhebliches Wissen, Zeit und Erfahrung, um sie ausnutzen zu können.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
@tjp: Warum sind die ports da offen?
Weil Apple Schrott gebaut hat! Der Dialog UDP-Verkehr blockieren, blockiert nicht den kompletten UDP Verkehr sondern öffnet einige Ports.

Mit der Standardeinstellung (ich habe einige Ports zusätzlich offen X11 und postgres)
Code:
*****:/Users/admin root# ipfw show
02000  5378  579963 allow ip from any to any via lo*
02010     0       0 deny ip from 127.0.0.0/8 to any in
02020     0       0 deny ip from any to 127.0.0.0/8 in
02030     0       0 deny ip from 224.0.0.0/3 to any in
02040     0       0 deny tcp from any to 224.0.0.0/3 in
02050  1304  130840 allow tcp from any to any out
02060  2093 2510357 allow tcp from any to any established
02065     0       0 allow tcp from any to any frag
02070     3     164 allow tcp from any to any dst-port 5432 in
02080    13     588 allow tcp from any to any dst-port 6000-6100 in
12190  3377  149052 deny log tcp from any to any
65535 31768 1566794 allow ip from any to any
Gibt es folgende offenen UDP Ports (ich habe von meinem Linux Recher aus mittels nmap nachgeschaut.
123 ntp
631 ipp
1022 closed Ports (die werden nicht blockiert/gefiltert)

Dieselbe Geschichte nochmals mit der aktivierten Option "UPD-Verkehr blockieren"
Code:
*****:/Users/admin root# ipfw show
02000     0       0 allow ip from any to any via lo*
02010     0       0 deny ip from 127.0.0.0/8 to any in
02020     0       0 deny ip from any to 127.0.0.0/8 in
02030     0       0 deny ip from 224.0.0.0/3 to any in
02040     0       0 deny tcp from any to 224.0.0.0/3 in
02050     0       0 allow tcp from any to any out
02060     0       0 allow tcp from any to any established
02065     0       0 allow tcp from any to any frag
02070     0       0 allow tcp from any to any dst-port 5432 in
02080     0       0 allow tcp from any to any dst-port 6000-6100 in
12190     0       0 deny log tcp from any to any
20310     0       0 allow udp from any to any dst-port 53 in
20320     0       0 allow udp from any to any dst-port 68 in
20321     0       0 allow udp from any 67 to me in
20322     0       0 allow udp from any 5353 to me in
20340     0       0 allow udp from any to any dst-port 137 in
20350     0       0 allow udp from any to any dst-port 427 in
20360     0       0 allow udp from any to any dst-port 631 in
20370     0       0 allow udp from any to any dst-port 5353 in
22000     0       0 allow udp from any to any dst-port 5432 in
30510     0       0 allow udp from me to any out keep-state
30520     0       0 allow udp from any to any in frag
35000     0       0 deny log udp from any to any in
65535 32162 1583914 allow ip from any to any
Ergebnis folgende Ports sind offen
53 domain
68 dhcpc
137 netbios-ns
427 svrloc
1020 open/filtered Ports

Hast Du einen zweiten Rechner im LAN? Wenn ja besorg Dir nmap untersuche Deinen Primärrechner und sehe was alles offen ist.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Man kann printf() et aliud verwenden und trotzdem sicher sein vor Format-String-Angriffen.
Die Realität ist bekannt. Es wird Auditing gemacht und dann wird mal schnell eine kleine Änderung im Code durchgeführt und ausnahmesweise mal kein Auditing durchgeführt "Für so kleine unbedeutende Änderungen ist das doch überflüssig" und schon hat man einen Exploit eingebaut. In der idealen Welt gäbe es keine Buffer overflows, es gäbe keine Formatstringattacken, ... die Liste läßt sich beliebig verlängern. Die Realität zeigt aber, daß solche Lücken immer wieder auftreten und man sich vorher Gedanken machen sollte, diese gleich zu anfangs zu verhindern.

Es ist daher die Frage erlaubt, und diese stellt der Autor in seinem Blog, warum Apple nicht gleich die APIs so gestaltet hat, das Formatstringattacken gar nicht mehr möglich sind. Vorsorge ist besser als später sich mit Problemen herumzuschlagen. Deine gekünstelte Aufregung über diesen Blog ist angesichts der Tatsache, daß die Behauptungen des Bloggers zutreffend sind nicht anzuvollziehen.
 

Layer

Gast
Bin zwar kein Experte, aber ich denke dass die Sicherheitslücken von jeder Hardware oder Betriebssystem vorallem für die Konkurrenz am Markt sehr interessant ist. Sicherheit spielt für den Käufer eines Computers heutzutage eine zentrale Rolle und auch für viele AppleAnwender war das mit hoher Wahrscheinlichkeit ein Kaufkriterium! Für mich war es zumindest eine.

Denke schon, dass man das Thema Sicherheit auf dem Computer nie vernachlässigen sollte. Egal mit welchem Betriebssystem man arbeitet. Welche Sicherheitssysteme gibts überhaupt für apple? Hat da jemand Erfahrung mit?

Layer