Skip to content

XcodeGhost - Via manipulierten Xcode-Versionen in den iOS App Store

XcodeGhost ist eine sehr ungewöhnliche Art von Schadsoftware: Sie wird über eine manipulierte Version von Apples Entwicklungsumgebung Xcode verbreitet und ist dadurch in etliche damit entwickelte Apps in Apples App Store gelangt. Etwas, was eigentlich nicht passieren sollte.

XcodeGhost besteht also im Grunde aus zwei Teilen:

  1. Der in die iOS-Apps eingeschleuste Schadcode zum Ausspähen der Benutzer und zum Ausführen von Anweisungen der Cyberkriminellen und
  2. der in den manipulierten Xcode-Versionen enthaltene "Schadcode" zum Einfügen dieses "Client-Schadcodes" in die Apps.

Nach ersten Berichten in China wurde der Angriff am 17. September von Palo Alto Networks erstmals auf englisch beschrieben.

1. Der Client-Teil von XcodeGhost

Beim Ausführen sammeln die von XcodeGhost befallenen Apps eine Reihe von Informationen:

  • Die aktuelle Zeit,
  • der Name der infizierten App,
  • den Bundel-Identifier der App,
  • den Device-Name und -Type,
  • eingestellte Systemsprache und Land,
  • die UUID des Geräts und
  • den Netzwerktyp.

Die gesammelten Informationen werden an einen Command&Control-Server geschickt, von dem aus weitere Aktionen ausgelöst werden können:

  • Anzeigen einer Fake-Alertbox zum Phishen nach Zugangsdaten.
  • Kapern bestimmter URLs basierend auf ihren Schema, so dass evtl. Schwachstellen in iOS oder anderen Apps ausgenutzt werden können (iOS-Apps kommunizieren auch untereinander über URL-Schemata).
  • Lesen aus und Schreiben in das Clipboard, so dass darüber kopierte sensitive Informationen wie zum Beispiel vom Benutzer aus seinem Passwortmanager kopierte Passwörter ausgespäht werden können.

Infizierte Apps können auch andere App verbreiten, indem der Benutzer zum Eintrag der App im App Store geschickt wird.

Die Kommunikation zwischen infizierter App und C&C-Server erfolgt DES-Verschlüsselt über HTTP, der verwendete Schlüssel befindet sich im Code. Der HTTP-Traffic von XcodeGhost kann also leicht manipuliert oder gefälscht werden.

Nach Bekanntwerden des Angriff hat sich der angebliche Autor der Schadsoftware entschuldigt, außerdem wurde der Sourcecode von XcodeGhost auf GitHub veröffentlicht. Was dafür spricht, dass es wirklich der Autor war, der sich zu Wort gemeldet hat. Oder jedenfalls jemand mit Zugriff auf den Sourcecode.

Umfang und Folgen des Angriffs

Die Anzahl betroffener Apps ist noch nicht abschließend geklärt. Am 18. September waren Palo Alto Network 39 infizierte Apps bekannt, darunter sowohl nur für China relevante als auch in anderen Märkten vertriebene, populäre Apps. Fox-IT überprüfte alle C&C-Domainnamen und stieß dabei auf 55 weitere infizierte Apps.

Vom chinesischen Sicherheitsunternehmen Qihoo wurden mehr als 300 infizierte Apps entdeckt. Pangu hat 3.418 unterschiedliche infizierte Apps entdeckt, und FireEye berichtet von über 4.000 Apps.

Da kommt man sich ja vor wie auf einer Versteigerung. Wer hat noch nicht? Wer will noch mal? Wer bietet mehr?

Apple hat die betroffenen Apps aus dem App-Store entfernt, macht aber keine Angaben zum Umfang des Angriffs. Auf seiner chinesischen Website hat Apple inzwischen eine FAQ veröffentlicht, die auch eine Liste der 25 populärsten betroffenen Apps enthält.

Apple selbst hat keine Hinweise darauf, dass die Schadsoftware irgend etwas Schädliches getan hätte. Was aber nicht viel zu sagen hat, denn woher sollte Apple wissen, welche Aktionen die Angreifer ausgeführt haben?

Die Sandbox für iOS-App, in der ja auch die infizierten Apps laufen, schränkt die Möglichkeit, Schaden anzurichten, zwar stark ein, einige Möglichkeiten dafür gibt es aber trotzdem noch.

2. Die manipulierten Xcode-Versionen

Erst mal: Die von Apple selbst verbreiteten Xcode-Versionen sind nicht betroffen. Die Cyberkriminellen haben ihre manipulierten Versionen in China über den Cloud-Filesharing-Dienst von Baidu verbreitet, so dass sehr wahrscheinlich nur chinesische Entwickler betroffen sind. Die ziehen oft lokale Quellen den Apple-Servern vor, weil der Download von denen aufgrund der "Great Firewall", mit der China sich vom Internet abschottet, sehr lange dauert.

Die Links zu den manipulierten Versionen (von Version 6.1 bis 6.4) wurden auf mehreren in China populären Websites und Foren verbreitet, die Links zu allen Versionen von 6.0 bis 7.0 einschließlich Beta-Versionen bereit halten. Die Manipulationen bestanden im Hinzufügen mehrere Dateien und wären beim Prüfen der Signatur aufgefallen, da die durch die eingefügten Dateien nicht mehr stimmt.

Bei den hinzugefügten manipulierten Dateien handelt es sich um eine Reihe oft genutzter Frameworks wie zum Beispiel die von den meisten Apps verwendete CoreServices, in die der oben beschriebene "Client-Schadcode" eingefügt wurde. Die manipulierten Dateien wurden in die Standard-Suchpfade von Xcode eingefügt und der Linker manipuliert, so dass beim Kompilieren der Apps die manipulierten Dateien statt Apples Original-Dateien verwendet wurden. Wodurch unbemerkt vom Entwickler der "Client-Schadcode" in die App gelangte, wo er zusammen mit den normalen Funktionen der App ausgeführt wurde.

Apple hat nach Bekanntwerden des Angriff darauf hingewiesen, dass die Software nur aus dem Mac App Store oder von Apples Developer-Seiten herunter geladen und ggf. manuell die Signatur geprüft werden sollte, sofern das nicht schon beim Download automatisch gesehen ist.

Entsprechende Angriffe sind nicht neu, aber sehr selten. Erstmals wurden solche "Transitiven Trojanischen Pferde" 1984 erwähnt, damals aber noch theoretisch. Es könnte sein, dass die Cyberkriminellen nach dem Erfolg von XcodeGhost auf den Geschmack kommen, denn die manipulierten Xcode-Versionen waren seit März im Umlauf und dürften recht schnell zu infizierten Apps im App Store geführt haben. Die dann also wohl fast ein halbes Jahr unerkannt blieben. So ein Angriff dürfte sich für einen wirklich bösartigen Cyberkriminellen duchaus lohnen, zumal er sich auf vielfältige Art und Weise variieren lässt.

Auch Unity-Library für iOS betroffen

Am 24. September hat Trend Micro gemeldet, dass mit XcodeGhost vergleichbarer Schadcode, der sich jedoch mit anderen C&C-Servern verbindet, auch in der Unity-Library für iOS gefunden wurde. Der Name dieses Schädlings: UnityGhost. Bisher wurden keine infizierten Apps entdeckt.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Transitive Trojanische Pferde wie XcodeGhost als neue Gefahr?

Vorschau anzeigen
XcodeGhost ist eigentlich ein altbekannter Angriffsweg, aber ein sehr seltener. Das Stichwort dazu ist "transitives Trojanisches Pferd". Transitive Trojanische Pferde in der Theorie Schadsoftware, die Entwicklungsumgebungen infiziert, ist

Dipl.-Inform. Carsten Eilers am : Drucksache: Windows Developer 12.15 - Windows 10: Sicherheit für Entwickler

Vorschau anzeigen
Im windows.developer 12.15 ist ein Artikel über die für Entwickler relevanten Sicherheitsfunktionen von Windows 10 erschienen. Die Neuigkeiten, die Windows 10 im Bereich Sicherheit zu bieten hat, wurden bereits allgemein im windo