Neue macOS-Lücke erlaubt Überwindung von vielen Sicherheitsrichtlinien


Betriebssysteme sind kompliziert – und Komplexität geht oftmals zulasten der Sicherheit. Sicherheitslücken entstehen oftmals durch die Verkettung von mehreren Bestandteilen und Angreifer nutzen unerwartetes Verhalten zu ihrem Vorteil aus. Sicherheitsforscher von XMCyber
fanden nun in macOS eine Lücke, wie sich Prozesse mit weitreichenden Rechten durch die Verkettung von mehreren Lücken übernehmen lassen.
macOS vertraut auf Code-Signaturen, um sicherzustellen, dass Programme nicht modifiziert wurden. Tauscht man zum Beispiel die ausführbare Datei eines signierten Programmes aus, startet dies vereinfacht gesagt, nicht mehr. Jedoch ist es den Sicherheitsforschern nach möglich, Bestandteile des Programmes während des Ausführens zu verändern, um viel weitreichendere Berechtigungen zu erlangen.
Die Nutzeroberfläche als EinfallstorOftmals werden Nutzeroberflächen von macOS als NIB (kurz für NeXT Interface Builder) angelegt. Hier ist es im Normalfall nicht möglich, Programm-Code auszuführen – nur einfache Apple-Scripte ohne große Rechte sind möglich. Mit OS X 10.10 Yosemite führte Apple jedoch "JavaScript for Automation", kurz JXA ein – und pflegte dieses Framework seitdem
nicht mehr. Durch die Verkettung von AppleScript und JXA ist es möglich, Direktzugriff auf die Objective-C-Runtime zu bekommen – und somit eigenen und möglicherweise schädlichen Programm-Code auszuführen.
Das Problem: Es scheint laut XMCyber möglich zu sein, bei einer laufenden App ein NIB auszutauschen – und hier Schad-Code zu hinterlegen. Lädt das entsprechende Programm das veränderte NIB, kann der Angreifer Code mit den Berechtigungen der App ausführen. Da die App bereits gestartet ist, wird diese nicht erneut bezüglich der Gültigkeit der Signatur überprüft, wenn sie geschützte Betriebssystemfunktionalitäten aufruft.
Die ImplikationenZuerst die gute Nachricht: Der Angreifer benötigt lokalen Zugriff auf dem Mac – ein Ausnutzen der Lücke über das Internet ist nicht möglich. Jedoch genügt in vielen Fällen der Zugriff auf einen Standard-Benutzer, um normalerweise nicht zugängliche Funktionen auszuführen. Die Sicherheitsforscher von XMCyber nutzten die Lücke aus, um beispielsweise Unternehmenslösungen wie Kandji MDM oder den CrowdStrike Falcon Sensor zu modifizieren oder gänzlich abzuschalten.