Microsoft half Apple, macOS' Gatekeeper zu verbessern

Gatekeeper markiert über den Browser heruntergeladene Dateien, damit macOS vor deren Ausführung warnen oder sie verhindern kann. Klingt einfach, ist es nicht.​

In Pocket speichern vorlesen Druckansicht 32 Kommentare lesen
Im Finstern liegt ein Notebook, das einen Spalt geöffnet ist; der Bildschirm verbreitet ein rot-oranges Leuchten

(Bild: Shutterstock)

Lesezeit: 3 Min.

Infektionen von macOS kommen häufig dadurch zustande, dass Anwender Malware ausführen, natürlich in der Annahme, weitgehend gutartige Software zu nutzen. Gegen diesen Fehler soll seit zehn Jahren unter anderem der Gatekeeper schützen. Lädt ein Nutzer eine Datei herunter, fügt macOS ihr das Attribut com.apple.quarantine hinzu. Vor dem Öffnen einer damit markierten Datei überprüft der Gatekeeper, ob der Code gültig signiert und bestätigt ist. Wenn ja, muss der Anwender noch die Ausführung erlauben; wenn nein, weigert sich macOS, die Datei weiterzuverarbeiten. So simpel das klingt, so schwierig ist das in der Praxis.

Sicherheitsforscher und Angreifer finden immer wieder Methoden, diesen Schutz zu umgehen. Entweder finden sie einen Weg, zu verhindern, dass das Quarantäne-Attribut gesetzt wird. Mal wurden absurd lange Pfadnamen gesetzt, um das Attribut zu verdrängen (CVE-2021-1810), mal Komprimierungsarchive (CVE-2022-22616) oder externe Datenträger mit bestimmten Dateisystemformaten genutzt (CVE-2019-8656), um Attribute verschwinden zu lassen. Andere Methoden lassen die Attribute unberührt und setzen bei jenen Funktionen an, die die Sicherheitsvorschriften umsetzen sollen (zum Beispiel CVE-2014-8826, CVE-2021-30657, CVE-2021-30853).

Microsofts Sicherheitsforschung ("Security Threat Intelligence") hat sich von dem Trick mit den absurd langen Pfadnamen inspirieren lassen und tatsächlich einen weiteren Weg gefunden, den macOS-Gatekeeper zu umgehen. Seine Methode hat Microsoft Achilles getauft. Anstatt aber das Attribut verschwinden zu lassen, setzten die Microsoft-Forscher ein anderes, erweitertes Attribut: Neben den grundlegenden Dateimodi, die festlegen, wer eine Datei lesen, verändern oder gar ausführen darf, kennt macOS Attribute, die weitere Rechte bestimmen können – beispielsweise, wer Attribute ändern kann, wer die Eigentümerschaft einer Datei verändern oder diese überhaupt löschen darf.

Das erfolgt über das Attribut com.apple.acl.text. Es kann direkt an der Datei hängen (AppleSingle) oder in einer separaten Datei (AppleDouble, Dateiname beginnend mit "._") enthalten sein, die die Hauptdatei begleitet. Im Juli hat Microsoft festgestellt, dass macOS beim Entpacken von Archiven stets die AppleDouble-Dateien auswertete (sofern sie nicht extrem groß sind) und die darin enthaltenen Attribute an die Hauptdatei anfügte.

Das verhinderte, dass macOS das eigentlich vorgesehene Attribut com.apple.quarantine eintrug. Und ohne com.apple.quarantine springt der Gatekeeper nicht an. Achilles war geboren. Also hätte ein Angreifer Malware samt AppleDouble-Datei in ein Zip-Archiv stecken können. Hätte ein User dieses heruntergeladen und entpackt, hätte der Gatekeeper die Ausführung der Malware nicht verhindert. Nachdem Microsoft Apple gewarnt hat (CVE-2022-42821), wurde flugs ein Sicherheitspatch gegen Achilles in Umlauf gebracht.

Ohne Update gibt es allerdings keinen Schutz. Nicht gegen Achilles schützt übrigens Apples "Lockdown Mode", wie Microsoft ausdrücklich warnt. Dieser optionale Schutz ist für besonders Angriffen ausgesetzte Anwender konzipiert. Lockdown Mode soll verhindern, dass Schadcode aus der Ferne ohne Zutun des Nutzers ausgeführt wird. Achilles setzt allerdings darauf, dass die Person vor dem Gerät die Datei für gutartig hält und draufklickt.

(ds)