OS X Lion: Per Sicherheitslücke zum Passwort-Hash

Stefan Keller, den 20. September 2011

Auch wenn sich in OS X Lion vieles in Sachen Sicherheit verbessert hat, als Beispiel sei das Sandbox-System genannt, hat Apple im Zuge der Umbauarbeiten eine Sache übersehen. Dem Sicherheitsexperten Patrick Dunstan ist es gelungen, ohne besondere Benutzerrechte das gehashte Passwort einer OS X-Installation zu erhalten.

(Mac) OS X basiert auf Darwin, das seinerseits auf FreeBSD aufbaut und damit ein Unix-ähnliches System implementiert. Hierbei werden Passwörter üblicherweise in sogenannten Shadow-Dateien gespeichert, in gehashter Form natürlich. Der Einzige, der normalerweise darauf zugreifen darf, ist der root-Benutzer. Diesen gibt es im Hintergrund auch in OS X, wenngleich er für Anwender nicht sichtbar ist; Administrationsrechte erlangt man via sudo oder der Authentifizierung, die beispielsweise bei der Installation von Software benötigt wird.

In OS X Lion hat Apple das Login-System modifiziert und war dabei etwas unachtsam: Über die Directory Services verrät OS X Lion jedem angemeldeten User, egal mit welchen Rechten er ausgestattet ist, Informationen über einen beliebigen User. Darunter zählen nicht nur Lappalien wie der vollständige Name, sondern auch sensiblere Daten wie etwa das gehashte Passwort des Anwenders.

Dieses ist verschlüsselt und außerdem versalzen – anhand des Hashs kann man also das Passwort nur per systematischen Durchprobierens erraten, aber dennoch hat man einen Anhaltspunkt, wenn man in das System einsteigen möchte. Da Bruteforce allerdings relativ lange braucht, um Ergebnisse zu erzielen und der Aufwand meistens in keinem Verhältnis zum Nutzen steht, müssen sich Privat-Anwender eigentlich keine Sorgen machen.

Problematischer ist hier, dass über den gleichen Umweg das Passwort des aktuell eingeloggten Benutzers geändert werden kann. Laut Dunstan würde beispielsweise ein harmlos aussehendes Java-Applet ausreichen, um das Passwort zu ändern und per sudo -s die root-Rolle im System zu übernehmen.

Im Weblog Defence of Depth wird der Sachverhalt in aller Ausführlichkeit erklärt. Hier ist auch ein temporärer Workaround zu finden, mit dem man seine Lion-Installation abdichten kann. Im Terminal muss hierfür folgendes eingegeben werden:
sudo chmod 100 /usr/bin/dscl

Damit wird der betreffende Dienst nur noch für den root-User (der der Besitzer dieser Datei ist) ausführbar gemacht, alles andere ist für alle anderen verboten. Entsprechend würde der Angriff dann nicht mehr funktionieren.

Apple hat sich bislang noch nicht zu der Problematik geäußert.


Ähnliche Nachrichten