macOS: Mögliche Malware durch modifizierte Beschreibungsdateien
Bereits vor OS X setzten NeXT-Systeme auf Beschreibungsdateien im Property-List-Format – und Apple übernahm in OS X das Konzept dieser Dateien, welche sich auf allen Apple-Plattformen wiederfinden. Zwar führte Apple zwei neue Formate (Binär oder XML) ein, doch der Aufbaue ist nach wie vor sehr ähnlich. Diese plist-Dateien werden zum Beispiel genutzt, um Nutzervoreinstellungen zu speichern oder als Beschreibungsdatei für Apps, in denen sich die Versionsnummer, der Entwickler und die unterstützten Dateiformate wiederfinden.
Leider sind die Methoden, welche Apple zum Auslesen dieser plist-Dateien verwendet, alles andere als sicher: Bereits die Manipulation von einzelnen Bytes in diesen Dateien führt zum Absturz des Programms, welches die Datei lesen soll. Dies fanden nun Sicherheitsforscher von
OSCartography heraus und veröffentlichten einen
Bericht zu diesem Thema.
Falscher Eintrags-TypFür einen Absturz genügt es bereits, im Binärformat den Typ eines Eintrages auf einen unsinnigen Wert zu ändern: Statt einer Zeichenkette passt man den Typ auf "Datum" an – und schon verabschiedet sich die Lesemethode und reißt den ausführenden Prozess mit in den Abgrund. Die Lesemethoden führen keine Typen-Validierung durch – daher kommt es hier zu abstürzen. Schon seit vielen Jahren trichtert Apple Entwicklern bei der Umsetzung von Lesemethodiken ein, sich genau gegen solche Angriffsvektoren zu schützen und bietet sogar Erweiterungen der eigenen APIs in Form des NSSecureCoding-Protocols an – doch hier beherzigt Apple die eigenen Ratschläge anscheinend nicht.
Alles nicht dramatisch?Eine einzelne App durch die Anpassung einer Beschreibungsdatei zum Absturz zu bringen, ist nicht sonderlich spektakulär. Doch schleust man ins System eine App mit einer derart präparierten Beschreibung ein, hat das weitgehende Auswirkungen: Spotlight übernimmt die Beschreibung in den Index – und dadurch stürzen ständig die mds-Prozesse ("Meta-Data-Search", die Indexierungs-Prozesse von Spotlight) ab. Sogar ein Neustart behebt das Problem nicht.
Ferner führt dies auch zu Abstürzen des Launch-Services-Daemons "LDS", welcher sich kontinuierlich neu startet und weitere Betriebssystemfunktionen und unter Umständen auch sicherheitsrelevante Features beeinträchtigt. Somit ist es möglich, aus einem normalen Nutzerkonto wichtige Betriebssystem-Hintergrundprozesse zu stören und die Stabilität des gesamten Systems herabzusetzen.