daily.out

2011-07-20 Im Parallel-Universum der Computer-Sicherheit

Ein Artikel in nicht ganz so eigener Sache als Fortsetzung zu Verführer und Rattenfänger: Warnung vor MacMark. So mancher Kritiker von OS X lebt anscheinend in einem Parallel-Universum, denn die Ferengi haben offenbar ein ganz anderes Mac OS X als wir im Alpha-Quadranten. Hier kommt mein Bericht.

Vorgeschichte

Was bisher geschah: Da gibt es "Mister-B" (Name von mir geändert). Er ist ein Kommpjuhta-Fachmann, denn er geht mir nicht "auf den Leim" und warnte die Menschheit vor dem "Rattenfänger" (also mir) und "Ober-Fanboy" (wieder ich). Und das ist gut so, weil … auf jeden Fall ist es total wichtig, die Leute vor mir zu warnen.

Da er so wenig von der Qualität meiner Artikel überzeugt ist, muß es doch etwas anderes geben, das ihn mehr überzeugt hat. Und in der Tat, es sind Seiten wie diese, die er für "eine schöne Zusammenstellung und Zusammenfassung" hält: OS X – Safe, yet horribly insecure. Ich fühle dem anonymen Autor mal auf den Zahn:

Bei den Ferengi

Sein Artikel erinnert sehr stark an die Artikel von Heise. Beispielsweise mit:

Das Unix Design ist deutlich groberkörniger als das von Windows, da es nicht einmal ACLs hat.

The Unix Design is significantly less granular than that of Windows, not even having a basic ACL.

Unix bietet schon ewig mit den POSIX-Rechten ein viel weniger fehleranfälliges Rechtesystem als ACLs. Und zusätzlich haben moderne Unices wie Mac OS X auch ACLs. Windows hatte im Gegensatz dazu jahrzehntelang überhaupt kein Rechtesystem und in den letzten Versionen nur allzu leicht fehlkonfigurierbare ACLs und nichts einfaches und zuverlässiges wie POSIX-Rechte.

Das UNIX Design kommt aus einer Zeit, in der Sicherheit nicht so ein Thema war und nicht so ernstgenommen wurde. Dementsprechend ist es auch umgesetzt worden.

The UNIX design came from a time when security was less of an issue and not taken as seriously as it did, and so does the job adequately.

Unix sorgte schon Jahrzente bevor es Windows überhaupt gab für Sicherheit: Amoklaufende Prozesse oder böswillige User, die gleichbedeutend sind mit Schadprogrammen unter einem User, durften weder anderen Usern noch dem System schaden können.

Windows NT und seine Nachfolger wurden unter Sicherheits-Aspekten entworfen und das sieht man.

Windows NT (and later OSes) were actually designed with security in mind and this shows.

Da sehe ich diverse Punkte, die dem entgegenstehen. Die Quintessenz ist, daß Microsoft es sich, den Entwicklern und den Usern so "einfach" wie möglich machte (Rechte auf alles, unkontrollierte Anwendungsnachrichten) und störende Sicherheit nicht nur außen vor ließ (freier Zugang von außen auf eigentlich alles dank RPC, siehe RPC-Würmer), sondern sogar auch wieder abschaffte, um beispielsweise mehr Performance herauszuholen, indem sie ihren Web-Server (läuft bei Unix unter einem extra fast rechtlosem User) und die GUI (läuft bei Unix unter dem jeweiligen User) in den Kernel-Space verschoben. Microsoft hatte mit NT alles im Sinn, aber nicht Sicherheit.

Viel gehypte jedoch tatsächlich recht wirkungslose Verbesserungen in den Systemen nach NT wie die UAC, ASLR und DEP änderten nichts an den grundlegenden Architektur-Problemen von Windows.

Bruch im Raum-Zeit-Kontinuum

Windows war nicht ein derartiges Ziel für Malware wegen seines miserablen Sicherheits-Designs, sondern weil die Sicherheits-Funktionen nie benutzt wurden. Wenn jeder als Administrator ohne Paßwort arbeitet, dann verlieren die vorhandenen Sicherheits-Features beinahe ihre gesamte Bedeutung.

Windows was not such a target for malware because of its poor security design; it is because the security functionality was never used. When everybody runs as Administrator with no password then the included security features lose almost all meaning.

Hier spricht er eines der wesentlichen Architekturprobleme von Windows an: Es ist dazu gemacht, daß der User als Admin arbeitet, der auf Windows gleichmächtig mit dem System ist. Seit Vista wurde das noch mal zementiert: Anstatt User und Programmierer an normale User-Rechte zu gewöhnen, wird die Nutzung eines Admins als Standard fortgeführt, wobei die UAC als Beruhigungsmittel dient, tatsächlich jedoch ziemlich nutzlos ist.

Mit dem leeren Paßwort hat er zudem Recht, denn selbst Vista bietet beim Anlegen eines Users nicht mal überhaupt die Möglichkeit, ein Paßwort anzulegen, geschweige denn einen Hinweis darauf, dies nachzuholen.

Da der typische User unter Windows auch trotz UAC mit systemgleichen Rechten arbeitet, ist die Diskussion, ob Windows in irgendeiner Form überhaupt sicher ist, in diesem Moment eigentlich schon gestorben. Aber hier bringt er es fertig, wie in "1984", zwei widersprüchliche Gedanken miteinander zu vereinen: Der User müßte entgegen Microsofts Design als normaler User arbeiten.

Mircosoft fürchtet um die Bequemlichkeit der User und Entwickler und scheut sich, den entscheidenden Schritt in Richtung Sicherheit zu gehen. Auf Kosten der Sicherheit soll hier kein User und kein Entwickler vergrault werden. Sicherheit hat entgegen allem Marketing-Geschwätz bei Microsoft nicht halb die Bedeutung, wie sie uns glauben machen wollen.

Windows wird angegriffen, weil es tatsächlich keine wirkungsvolle Sicherheit hat. Security-Theater und Buzzwords ohne Ende, aber keine wirkliche Sicherheit.

Die üblichen Verdächtigen

Super wichtig für jeden Mac-Bashing-Artikel: Hinweis auf die Fake-Wettbewerbe, bei denen dafür gesorgt wird, daß Apple-Produkte "als erstes fallen".

In Wirklichkeit sind OS X-Maschinen immer leicht geknackt worden und waren unter den ersten, die kompromittiert wurden auf diversen Sicherheits-Konferenzen und -Wettbewerben.

In reality OS X machines have always been easily exploited and are among the first to be compromised at various security conferences and competitions.

Wobei "leicht" sich auf das angebliche Knacken in Sekunden oder Minuten bezieht, dabei jedoch nur die Zeit für den Aufruf des Exploits zählt und nicht die Zeit für sein Erstellen, das eigentliche "Knacken":

Der anonyme Autor hat 18 Monate an diesem Artikel gebastelt. Ist das nicht eigentlich mehr als genug Zeit, um so einfache Fakten mal korrekt zu recherchieren? Braucht man 18 Monate, um den gleichen Unfug zusammenzuschreiben, für den die Boulevard-Presse keine halbe Stunde benötigt?

Vieren!!!!!111111

Es ist ja nicht so als ob es keine OS X-Viren gäbe.

It isn’t like no OS X viruses exist.

Um seiner Inkompetenz auch noch Ahnungslosigkeit hinzuzufügen referenziert er eine Seite des Antiviren-Spezialisten Sophos, auf der die bekannten Trojaner für OS X gelistet werden. Es wird dort kein Virus genannt. Ich wüßte davon und auch warum es so ist.

Zurück bei den Ferengis: Eins, zwei, Polizei …

Jedes Betriebssystem außer OS X hat eine vollständige Implementation von ASLR, Stack Canaries, DEP/NX, Sand Boxing und neuerdings Mandatory Access Controls. OS X versucht nicht einmal die meisten dieser grundsätzlichen Schutzmechanismen zu implementieren und bei denen es das tut, macht es das schlecht. Ich verstehe nicht, warum die Sicherheits-Spezialisten OS X überhaupt benutzen angesichts dieser Fülle von Problemen.

Every OS except OS X has a full implementation of ASLR, stack canaries, executable space prevention, sand boxing and more recently mandatory access controls. OS X doesn’t even try to implement most of these basic protections and the ones it does, it does poorly. I don’t understand why security folk use OS X at all, given its plethora of problems.

Wieder eine Stelle, an der man klar erkennt, daß er sich nicht die Bohne auskennt mit Mac OS X, denn OS X (zum Zeitpunkt seines Artikels ist 10.6 Snow Leopard aktuell) setzt jedes dieser Features ein. Er behauptet jedoch, die meisten dieser Features wären überhaupt nicht implementiert. Das hat nichts mit "anderer Meinung sein" oder Interpretation zu tun: Es ist schlicht sachlich nachprüfbar falsch.

Die Stack Canaries von OS X sind mit ProPolice implementiert. Die Umsetzung von ProPolice bietet deutlich mehr Sicherheit als die Varianten, die Windows einsetzt. Er behauptet jedoch, daß die Features am Mac, wenn sie überhaupt implementiert sind, immer schlechter umgesetzt sind. Wieder schlicht falsch.

So kann man sehen, daß Safari und der Finder Stack Canaries verwenden:

KeyWest:~ macmark$ nm /Applications/Safari.app/Contents/MacOS/Safari | grep stack
U ___stack_chk_fail
U ___stack_chk_guard
KeyWest:~ macmark$ nm /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder | grep stack
U ___stack_chk_fail
U ___stack_chk_guard

Die Sandbox-Funktion am Mac hält Google beispielsweise für die beste von allen Betriebssystemen, weil sie nicht nur wirkungsvoll ist, sondern auch leicht eingesetzt werden kann.

Dann ist ihm anscheinend nicht klar, daß Sandboxing auf dem Mandatory Access Control Framework aufbaut und nicht umgekehrt. Am Mac wird die Mandatory Access Control von TrustedBSD verwendet und das schon seit Jahren. Windows hingegen hat nichts, was den Namen Mandatory Access Control verdienen würde. Die Integritätsstufen sind keine Mandatory Access Control, sondern eher nur eine Erweiterung von Discretionary Access Control, weil es auf geerbten Rechten aufsetzt.

Kurz zu DEP: Das wird nur in den 64-Bit-Versionen von Windows halbwegs konsequent genutzt. In den deutlich öfter eingesetzten 32-Bit-Versionen wird es kaum verwendet.

Zu ASLR: Das wird nur theoretisch "vollständiger" eingesetzt auf Windows. In der Praxis sieht es schlecht aus.

In der Praxis sind DEP und ASLR so gut wie wertlos.

Dieses Unwissen um die Mac-Features erklärt dann auch, warum er sich fragt, wieso die Sicherheits-Spezis selbst den Mac nutzen: Sie kennen das System eben besser als er, auch wenn sie gelegentlich medienwirksam darüber schimpfen.

Äpfel und Bananen

Die Firewall in Windows dient hauptsächlich dazu, die Folgen von Design-Fehlern im System und in Apps einzusperren. Wo kein unerwünschter Dienst läuft, muß man ihn auch nicht per Firewall einsperren.

Malware für OS X nimmt zu.

Malware for OS X increasing.

Und daß die Liste der Malware, die der Mac in typischen Downloads erkennt, täglich aktuell gehalten wird, ist ihm auch entgangen, denn er erwähnt es zwar nebenbei, aber realisiert nicht, daß Apple damit binnen Stunden auf neue Malware reagieren kann: Er betont, eine neuere Version von MacDefender wäre nicht erkannt worden. Ja, aber nur für die kurze Zeit bis zur nächsten automatischen Aktualisierung. Ferner mokiert er sich darüber, daß XProtect nur wenige Malware erkennt. Ja, weil es nur wenige Malware für aktuelle Macs gibt. Anders ausgedrückt kennt XProtect jede aktuelle relevante Mac-Malware. Der Typ ist echt anstrengend. Und selbst wenn der jährliche Trojaner mal in verschiedenen Varianten daherkommt, ist das noch lange keine Zunahme an Malware für OS X.

Seine wahre Expertise bezüglich XProtect zeigt er jedoch hiermit:

Viele Programme jedoch wie Instant Messenger oder Torrent Applikationen setzen das erweiterte Attribut [das XProtect benötigt] nicht, wodurch die XProtect-Funktionalität in solchen Fällen nie ausgelöst wird.

However many applications such as IM or torrent applications do not set the extended attribute, thus never triggering the Xprotect functionality.

Das besagte Attribut ist com.apple.quarantine. Und das wird von Instant Messenger und Torrent-Apps nicht gesetzt? Das glaube ich nicht, Tim.

Chat Download Warnung

Heilig’s Blechle! Dann erkläre mir doch mal jemand, warum mein Mac mich darauf hinweist, daß mir dieses Programm per Chat-Nachricht geschickt wurde, wenn ich es öffne?

Liegt es vielleicht an den erweiterten Attributen?

GoldCoast:Downloads macmark$ xattr -l WallsOfTroy.app
com.apple.metadata:kMDItemDownloadedDate:
00000000 62 70 6C 69 73 74 30 30 33 41 B4 5A F6 E7 63 99 |bplist003A.Z..c.|
00000010 B3 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00 |................|
00000020 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 11 |..|
00000032
com.apple.metadata:kMDItemWhereFroms:
00000000 62 70 6C 69 73 74 30 30 A2 01 02 5F 10 12 62 61 |bplist00..._..ba|
00000010 65 72 61 75 73 65 69 73 40 6D 61 63 2E 63 6F 6D |erauseis@mac.com|
00000020 5F 10 20 52 65 63 65 69 76 65 64 20 76 69 61 20 |_. Received via |
00000030 69 43 68 61 74 20 66 69 6C 65 20 74 72 61 6E 73 |iChat file trans|
00000040 66 65 72 08 0B 20 00 00 00 00 00 00 01 01 00 00 |fer.. ..........|
00000050 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 |................|
00000060 00 00 00 00 00 43 |.....C|
00000066
com.apple.quarantine: 0001;4eaabf67;iChat;EFD2E44B-B484-40FA-A19C-84B591A2ACD6|com.apple.iChat

Oh, da unten ist sogar ein Quarantäne-Attribut. Wird das also doch vom Instant Messenger gesetzt? Lassen wir das die Jury entscheiden. Das bist Du, lieber Leser ;-)

Okay, jetzt nehme ich mir die erste Torrent-App, die ich finde, und lade mir irgendetwas damit herunter. Da werde ich bestimmt nicht gewarnt und demnach würde auch XProtect nicht ausgelöst:

Torrent Download Warnung

Sakra! Dann erkläre mir doch mal jemand, warum mein Mac mich darauf hinweist, daß ich dieses Dings per Torrent gezogen habe, wenn ich es starte?

Liegt es vielleicht wieder an den erweiterten Attributen?

GoldCoast:Downloads macmark$ xattr -l PwnageTool_4.1.2.dmg
com.apple.diskimages.fsck: ?~='՜qV<[?:n?R?l
com.apple.diskimages.recentcksum: i:2341479 on 66E12436-81DE-34CE-8FB1-44CEDD4FB95C @ 1319815018 - CRC32:$944171E8
com.apple.quarantine: 0000;4eaac735;Transmission.app;|org.m0k.transmission

Oh, schon wieder ein Quarantäne-Attribut, das dafür sorgt, daß auch XProtect diese Datei mit seiner Malware-Liste vergleicht! Das gibt es doch nicht. Das ist doch nicht zu fassen!

Was geht hier vor? Lebt er in einem Parallel-Universum, wo all dies nicht passiert? Hat er es überhaupt ausprobiert? Sieht so etwas nach Ahnung vom Mac aus? Das glaube ich nicht, Tim. Was denkst Du, lieber Leser?

Apple ist generell um Monate langsamer beim Beheben von öffentlich bekannten Schwachstellen.

Apple is generally months behind fixing publicly disclosed vulnerabilities

Das ist generell falsch. Bugs, die für iOS und OS X gefährlich sind, wurden meist in wenigen Tagen behoben. Apple wartet bei sowas nicht erst immer auf den nächsten "Patch-Day". So wurde beispielsweise die Jailbreak-Lücke mit iOS 4.3.4 in nur 9 Tagen gefixt und auch die Bugs, die für Pwn2Own genutzt wurden gegen Safari auf Mac OS X, waren im Folgemonat erledigt. Für Microsoft sehe ich hier im Juli 2011 einige kritische Zero-Days, die seit 3 oder 4 Jahren offen sind. Tatsächlich ist Microsoft beim Schließen von Sicherheitslücken am langsamsten.

Und nun der Brüller zum Schluß:

Sicherheitstechnisch ist Apple auf demselben Level wie Microsoft in den frühen 90er [MS-DOS und Windows 3.x] und in den frühen 2000ern [Windows XP].

Security wise Apple is at the same level as Microsoft in the early 90’s and early 2000’s.

Diese Zeilen werden diejenigen unter Euch, die diese Systeme wie ich noch kannten, jetzt gar nicht mehr lesen können, weil sie sich schenkelklopfend unter dem Tisch kugeln und sich den Bauch vor Lachen halten.

Er attestiert Apple eine unverantwortliche Anzahl an setuid-binaries. Nun, Tatsache ist, daß Apple an deren Beseitigung wie hier beschrieben durch launchd arbeitet. Und unnötige Netzwerkdienste würden laufen. Echt? Prinzipiell ist alles aus bis auf die handvoll, die typischerweise nur im lokalen Netz sichtbar sind, weil sie "link-local" sind.

Unverständnis

Und nun erzähle mir mal jemand, warum "Mister B" solch objektiv falschen Behauptungen vertraut, aber über meine sauber recherchierten Artikeln die Nase rümpft.

Valid XHTML 1.0!

Besucherzähler


Latest Update: 11. September 2015 at 19:49h (german time)
Link: macmark.de/blog/osx_blog_2011-07-d.php