Bereits 2012 hat Apple unter dem Namen „Gatekeeper“ in OS X eine Sicherheitsfunktion eingeführt, welche die Ausführung von unsignierten Programmen verhindern soll. In der stärksten Sicherheitsstufe erlaubt Gatekeeper gar nur die Installation von Programmen aus dem Mac App Store. Sicherheitsforscher Patrick Wardle, der in der Vergangenheit bereits die Rootpipe-Sicherheitslücke in OS X aufdeckte, hat nun jedoch eine – wie ArsTechnica schreibt – „total simple“ Möglichkeit entdeckt, Gatekeeper zu umgehen und beliebige Malware auf dem System zu installieren.
Bereits signierte Binary-Datei
Der von Wardle aufgedeckte Hack verwendet eine Binary-Datei, der von Apple bereits vertraut wird und die daher von Gatekeeper ohne Beanstandung durchgelassen wird. Sobald die Binary-Datei diesen Check überstanden hat, kann sie schadhafte Dateien, die sich ebenfalls im selben Ordner bzw. im selben Disk-Image befinden, ausführen. Dadurch sei trotz höchster Gatekeeper-Einstellungen die Installation einer Vielzahl von bösartigen Programmen wie Passwort-Loggern, Programmen, die Audio- und Videoaufnahmen erstellen, oder Botnetz-Software möglich.
Designmangel
Es handle sich dabei nicht unbedingt um einen Fehler in der Funktion von Gatekeeper, sondern viel mehr um einen Designmangel, wie Wardle ausführt. Die alleinige Aufgabe von Gatekeeper sei es, vor der Installation einer heruntergeladenen App zu überprüfen, ob das Programm von einem bei Apple registrierten Entwickler stammt. Es sei niemals dafür gedacht gewesen, bereits von OS X vertraute Programme daran zu hindern, unbeabsichtigte oder böswillige Handlungen auszuführen.
Gatekeeper fühlt sich nicht zuständig
„Wenn eine App zulässig ist – also mit einer Developer-ID signiert oder aus dem Mac App Store heruntergeladen wurde – sagt Gatekeeper im Prinzip ‚OK, ich lass dich laufen‘ und zieht sich im wesentlichen wieder zurück“, so Wardle. „Es überwacht nicht, was das Programm unternimmt. Wenn das Programm eine Kehrtwende macht und andere Inhalte aus demselben Verzeichnis lädt oder ausführt… Gatekeeper untersucht diese Dateien nicht.“
Exploit
Für die theoretische Ausnutzung dieser Schwachstelle hat Wardle eine weithin verfügbare Binary entdeckt, der von Apple bereits vertraut wird. Diese hat den Zweck, eine separate App, die sich im selben Ordner befindet, auszuführen. Den Namen dieser beiden Programme hat Wardle auf Bitte von Apple nicht veröffentlicht, weshalb er sie als „Binary A“ und „Binary B“ bezeichnet. Für den Exploit benennt Wardle die Binary A in einen anderen Namen um – da diesem signierten Binary von Apple vertraut wird, beanstandet Gatekeeper die Installation nicht.
Umgehung von Gatekeeper
Anschließend sucht Binary A im selben Ordner nach Binary B, das gegen ein Schadprogramm ausgetauscht wurde. Binary B wird von OS X ohne Warnmeldungen ausgeführt, da Gatekeeper Binary A bereits durchgewinkt hat und sich nicht mehr zuständig fühlt. „Binary B braucht kein digitales Zertifikat um ausgeführt zu werden, also kann es installieren, was der Angreifer will“, so ArsTechnica. Sobald man eine entsprechende von Apple signierte Binary entdeckt habe, kann mit einer Handvoll Zeilen an Code die Gatekeeper-Umgehung in einen Exploit implementiert werden.
Apple arbeitet an Patch
Wardle hat Apple bereits vor mehr als 60 Tagen von der Schwachstelle informiert. Gegenüber ArsTechnica bestätigt das Unternehmen, dass an einem Patch gearbeitet wird – Zeitrahmen für eine Veröffentlichung gibt es jedoch nicht. Wardle ist sich nicht sicher, ob dieser Fix das zugrundeliegende Problem lösen oder nur den Schaden, der damit angerichtet werden kann, eindämmen wird. Auf einer IT-Sicherheitskonferenz in Prag will Wardle nähere Details zu seinen Erkenntnissen veröffentlichen.
„Wenn ich es finden kann, muss man davon ausgehen, dass auch eine Gruppe an Hackern oder fortgeschrittene Nationalstaaten ähnliche Schwachstellen gefunden haben“, so Wardle.
zur Diskussion im Forum…
Via ArsTechnica