Forschende haben eine Lücke in macOS entdeckt, mit der sich bestimmte vertrauenswürdige Apps aus dem Web heimlich durch Schadsoftware ersetzen lassen. Apple stuft das Risiko bislang als gering ein.
Gefahr nur unter sehr speziellen Bedingungen
macOS-Apps stammen entweder aus dem Mac App Store oder werden direkt von Websites der Entwickler:innen geladen. Das System prüft sie mit Signaturen, Notarisierung und der Sicherheitsfunktion Gatekeeper, um Schadsoftware zu blockieren. Nun beschreiben die Sicherheitsforscher Talal Haj Bakry und Tommy Mysk jedoch eine Methode, mit der sich diese Schutzmechanismen in einem engen Szenario umgehen lassen.
In ihrem Blogbeitrag schreiben sie, eine Schwachstelle in macOS ermögliche es Angreifenden, „die Hauptprogrammdatei jeder Anwendung, die aus dem Web heruntergeladen wurde, lautlos zu ersetzen, ohne erhöhte Rechte zu benötigen“. Dadurch könnten eigentlich vertrauenswürdige Programme beim nächsten Start Angreifercode ausführen, ohne neue Warnhinweise von macOS auszulösen.
Allerdings sind Apps aus dem Mac App Store von dieser Methode nicht betroffen. Sie greift ausschließlich bei Anwendungen, die von Websites geladen wurden – und auch nur, wenn Nutzer:innen eine ganz bestimmte Abfolge von Schritten ausführen:
- Die App wird aus dem Web heruntergeladen und installiert.
- Sie wird mindestens einmal gestartet.
- Die Nutzer:innen archivieren die App als
.tar-Datei. - Die ursprüngliche App wird gelöscht.
- Anschließend wird das Archiv wieder entpackt.
Wird die so entpackte App erneut geöffnet, stuft macOS sie weiterhin als vertrauenswürdig ein. Gatekeeper greift nicht ein, obwohl die Hauptprogrammdatei ausgetauscht worden sein kann.
So funktioniert der Austausch und warum Apple gelassen reagiert
Grundlage des Problems ist die Art, wie macOS Signaturen und Notarisierung prüft. Apple bestätigt das gesamte App-Paket als von einer legitimen Entwickler:in stammend, aber nicht jede einzelne Komponente bei jedem Start. Beim beschriebenen Archivieren und Wiederherstellen geht für macOS weiterhin dieselbe App online, auch wenn der wichtigste Programmteil verändert wurde.
In einer Demonstration manipulierten die Forschenden eine App so, dass sie beim Start um Zugriffsrechte auf Dateien und Ordner bat. Die Anfrage erfolgte über den gewohnten macOS-Dialog, ausgelöst von einer App, der die Nutzer:innen bereits vertrauen. Dadurch ist es wahrscheinlicher, dass Passwörter und Berechtigungen erteilt werden. Nach der Vergabe der Rechte stellte die Demo-App ihren ursprünglichen Code wieder her, sodass der Austausch kaum auffällt.
Damit diese Technik überhaupt ausgenutzt werden kann, müssen Angreifende allerdings bereits Code auf dem betroffenen Mac ausführen können – etwa über eine bösartige App oder ein heruntergeladenes Skript. Die Forschenden betonen selbst, dass der Angriff voraussetzt, dass der „Angreifer bereits Code als aktuelle:r Benutzer:in ausführt“. Zusätzlich müssten Nutzer:innen überzeugt werden, ihre App zu archivieren und wiederherzustellen.
Laut den Forschenden sieht Apple deshalb keinen echten Sicherheitsfehler. Das Unternehmen argumentiere, dass hier vor allem soziale Manipulation im Spiel sei und keine direkte Umgehung der Sicherheitsmechanismen. Zugleich geben die Forschenden zu bedenken, dass macOS beim erneuten Start der entpackten App bemerkt, dass sich etwas geändert hat, da Zugriffsrechte neu abgefragt werden. Sie schlagen vor, entpackte Apps grundsätzlich erneut wie eine frische Installation zu prüfen. Aus ihrer Sicht ließe sich die Lücke so ohne nennbare Einschränkungen für Nutzer:innen schließen.
So könnt Ihr Euch schützen
Wer auf Nummer sicher gehen möchte, nutzt ausschließlich Apps aus dem Mac App Store. Diese werden systemweit installiert, während Web-Downloads normalerweise nur der aktuellen Benutzer:in gehören. Das führt dazu, dass Gatekeeper und die Rechteverwaltung hier anders greifen. Die beschriebene Archiv-Lücke lässt sich bei Mac-App-Store-Programmen laut den Forschenden nicht anwenden.
Wenn Ihr eine App entfernen müsst, könnt Ihr sie aus dem Mac App Store jederzeit erneut laden. Das gilt meist auch für Downloads von Entwicklerseiten, solange es das Angebot noch gibt. Wer keine zwingende Notwendigkeit hat, sollte Apps nicht aus dem Programme-Ordner entfernen und archivieren. Falls Ihr dennoch Archive Eurer Programme anlegt, solltet Ihr sicherstellen, dass niemand unbefugten physischen oder entfernten Zugriff auf Euren Mac erhält.
