Eine Schwachstelle im Vertrauensmodell von macOS
Sicherheitsforscher Talal Haj Bakry und Tommy Mysk haben eine Methode dokumentiert, mit der sich unter spezifischen Bedingungen der ausführbare Code von installierten macOS-Anwendungen austauschen lässt. Das Besondere an diesem Vorgang: Das Betriebssystem macOS erkennt die Manipulation nicht und blockiert die modifizierte Anwendung nicht, sondern führt sie ohne Sicherheitswarnung aus.
Die Forscher, die unter anderem für die Entwicklung des Browsers Psylo bekannt sind, veröffentlichten ihre Ergebnisse in einem Blogbeitrag. Betroffen sind nach aktuellem Kenntnisstand mindestens macOS 26 (Tahoe) sowie die Beta-Versionen von macOS 27 (Golden Gate). Es ist davon auszugehen, dass auch ältere Versionen des Betriebssystems ein vergleichbares Verhalten aufweisen.
Funktionsweise der Manipulation
Die Lücke betrifft ausschließlich Programme, die nicht über den offiziellen Mac App Store bezogen, sondern manuell installiert wurden. Damit die Manipulation gelingt, muss die App bereits einmal gestartet worden sein, sodass Gatekeeper die Signatur und Notarisierung erfolgreich validiert hat.
Der Prozess der Manipulation ist komplex und erfordert spezifische Schritte:
* Die App muss zunächst als Archiv (Zip oder Tar) gesichert werden.
* Nach dem Löschen aus dem Programmeordner erfolgt eine Wiederherstellung.
* Erst nach diesem Vorgang lässt sich die Binärdatei innerhalb des App-Bundles (im Verzeichnis „Contents/MacOS“) durch eigenen Code oder Skripte ersetzen.
Die Forscher führen dieses Verhalten darauf zurück, dass macOS die Binärdatei und die restlichen Ressourcen des App-Bundles bei einer Prüfung getrennt betrachtet. Da die restlichen Bundle-Inhalte unverändert bleiben, behält das Sicherheitszertifikat für die Ressourcen seine Gültigkeit. Die ausgetauschte Binärdatei wird ad-hoc signiert, was ausreicht, damit macOS sie auf dem lokalen System ausführt. Da sie innerhalb des ursprünglichen App-Bundles liegt, übernimmt sie die Identität der ursprünglichen Anwendung.
Auswirkungen auf die Sicherheit
Obwohl die manipulierte Anwendung die ursprüngliche Identität annimmt, werden erteilte Berechtigungen (TCC-Rechte) oder Zugriffe auf den Schlüsselbund nicht automatisch übernommen. Fordert die modifizierte App erneut Zugriffe an – etwa auf die Kamera oder bestimmte Ordner –, erscheinen die gewohnten Systemdialoge. Da diese Dialoge jedoch den Namen und das Icon der vertrauten Original-App anzeigen, besteht die Gefahr, dass Nutzer die Anfragen unkritisch bestätigen.
Die Forscher konnten das Verhalten unter anderem mit dem Messenger Signal, dem Brave Browser, Slack, Visual Studio Code und Xcode nachstellen. Apple hat den Sachverhalt geprüft, stuft ihn jedoch nicht als Sicherheitslücke ein. Die Begründung des Unternehmens lautet, dass keine Sicherheitsmechanismen umgangen würden und Gatekeeper primär für die Prüfung direkt nach dem Download konzipiert sei, nicht für die Überwachung von Dateien, die sich bereits im Besitz des Benutzers befinden.
Einordnung und Schutzmaßnahmen
Das unmittelbare Risiko für den Durchschnittsanwender wird als eher gering eingeschätzt. Voraussetzung für einen Angriff ist, dass bereits Schadcode mit den Rechten des angemeldeten Benutzers auf dem System aktiv ist. Zudem ist der Aufwand, eine App so zu manipulieren, dass sie für den Nutzer unverdächtig bleibt, erheblich.
Dennoch empfehlen die Forscher, die Sicherheitsmechanismen von macOS zu stärken. Eine mögliche Verbesserung wäre eine erneute Validierung der App-Bundles nach jeder Änderung sowie die Anzeige der tatsächlichen Entwickleridentität (Team-ID) in den Berechtigungsdialogen, um Nutzer besser vor Identitätsfälschungen zu schützen.
Anwender sollten weiterhin die grundlegenden Sicherheitsregeln beachten:
* Software sollte ausschließlich aus vertrauenswürdigen Quellen bezogen werden.
* Auf die Nutzung von geknackten Programmen oder dubiosen Download-Seiten ist zu verzichten.
* Shell-Befehle aus unbekannten Quellen sollten nicht ungeprüft im Terminal ausgeführt werden.
* Bei unerwarteten oder unpassenden Berechtigungsanfragen von Apps ist Vorsicht geboten.
Zur Überprüfung der Integrität installierter Software kann das Tool Apparency genutzt werden. Es zeigt an, ob die Signatur- und Notarisierungsinformationen einer Anwendung korrekt sind und ob die Entwickleridentität der Binärdatei mit der des erwarteten Anbieters übereinstimmt.