XcodeGhost - XcodeGhost

XcodeGhost (und die Variante XcodeGhost S) sind modifizierte Versionen der Xcode- Entwicklungsumgebung von Apple , die als Malware gelten . Die Software erlangte erstmals im September 2015 breite Aufmerksamkeit, als eine Reihe von Apps aus China den Schadcode enthielten. Laut BBC war dies der "erste groß angelegte Angriff auf Apples App Store". Die Probleme wurden zuerst von Forschern von Alibaba , einem führenden E-Commerce-Unternehmen in China, identifiziert . Laut FireEye sind über 4000 Apps infiziert, weit mehr als die ursprünglich von Apple anerkannten 25, einschließlich Apps von Autoren außerhalb Chinas.

Das Sicherheitsunternehmen Palo Alto Networks vermutete, dass Entwickler im Land aufgrund der langsameren Netzwerkgeschwindigkeit in China nach lokalen Kopien der Apple Xcode-Entwicklungsumgebung suchten und auf geänderte Versionen stießen, die auf inländischen Websites veröffentlicht wurden. Dies öffnete die Tür für das Einfügen der Malware in hochkarätige Apps, die auf iOS-Geräten verwendet werden.

Selbst zwei Monate nach den ersten Berichten berichtete die Sicherheitsfirma FireEye, dass Hunderte von Unternehmen immer noch infizierte Apps verwenden und dass XcodeGhost "ein anhaltendes Sicherheitsrisiko" bleibt. Das Unternehmen identifizierte auch eine neue Variante der Malware und nannte sie XcodeGhost S; Zu den infizierten Apps gehörten die beliebte Messaging-App WeChat und eine Netease- App Music 163 .

Entdeckung

Am 16. September 2015 erwähnte ein chinesischer iOS-Entwickler im sozialen Netzwerk Sina Weibo, dass eine Malware in Xcode Code von Drittanbietern in damit kompilierte Apps einfügt.

Alibaba- Forscher veröffentlichten dann detaillierte Informationen über die Malware und nannten sie XcodeGhost.

Am 17. September 2015 veröffentlichte Palo Alto Networks mehrere Berichte über die Malware.

Operation

Vermehrung

Aufgrund der langsamen Download-Geschwindigkeit von Apple-Servern luden chinesische iOS-Entwickler Xcode von Websites von Drittanbietern wie Baidu Yun (jetzt Baidu WangPan), einem von Baidu gehosteten Cloud-Speicherdienst, herunter oder erhielten Kopien von Mitarbeitern. Angreifer nutzten diese Situation aus, indem sie kompromittierte Versionen auf solchen Datei-Hosting-Websites verteilten.

Palo Alto Networks vermutet, dass die Malware im März 2015 verfügbar war.

Angriffsvektor

Ursprünge

Durchgesickertes Dokument von Edward Snowden . "Strawhorse: Angriff auf das MacOS- und iOS-Softwareentwicklungskit ".

Der Angreifer verwendete einen Compiler-Backdoor- Angriff. Die Neuheit dieses Angriffs ist die Modifikation des Xcode-Compilers. Laut von Edward Snowden durchgesickerten Dokumenten behaupteten CIA-Sicherheitsforscher von Sandia National Laboratories jedoch , sie hätten "eine modifizierte Version von Apples proprietärem Softwareentwicklungstool Xcode erstellt, mit der Überwachungs-Hintertüren in alle mit dem Tool erstellten Apps oder Programme integriert werden könnten. ""

Geänderte Dateien

Bekannte Versionen von XcodeGhost fügen der ursprünglichen Xcode-Anwendung zusätzliche Dateien hinzu:

  • Kerndienst-Framework auf iOS-, iOS-Simulator- und OS X-Plattformen
  • IDEBundleInjection-Framework auf iOS-, iOS-Simulator- und OS X-Plattformen hinzugefügt

XcodeGhost hat auch den Linker geändert , um die schädlichen Dateien mit der kompilierten App zu verknüpfen. Dieser Schritt wird im Kompilierungsprotokoll, jedoch nicht in der Xcode- IDE gemeldet .

Sowohl iOS- als auch OS X-Apps sind für XcodeGhost anfällig.

Einsatz

XcodeGhost hat die CoreServices-Ebene kompromittiert, die häufig verwendete Funktionen und Frameworks enthält, die von der App verwendet werden. Wenn ein Entwickler seine Anwendung mit einer kompromittierten Version von Xcode kompiliert, werden die schädlichen CoreServices ohne Wissen des Entwicklers automatisch in die App integriert.

Dann fügen die schädlichen Dateien zusätzlichen Code in der UIWindow-Klasse und der UIDevice-Klasse hinzu. Die UIWindow-Klasse ist "ein Objekt, das die Ansichten verwaltet und koordiniert, die eine App auf einem Gerätebildschirm anzeigt".

Die UIDevice-Klasse stellt eine Singleton- Instanz bereit, die das aktuelle Gerät darstellt. In dieser Instanz kann der Angreifer Informationen über das Gerät abrufen, z. B. den zugewiesenen Namen, das Gerätemodell sowie den Namen und die Version des Betriebssystems.

Verhalten auf infizierten Geräten

Sicherheitsrisiken für die Fernsteuerung

XcodeGhost kann über Befehle ferngesteuert werden, die von einem Angreifer von einem Befehls- und Steuerungsserver über HTTP gesendet werden. Diese Daten werden mit dem DES- Algorithmus im EZB-Modus verschlüsselt . Dieser Verschlüsselungsmodus ist nicht nur als schwach bekannt, die Verschlüsselungsschlüssel können auch mithilfe von Reverse Engineering ermittelt werden. Ein Angreifer kann einen Mann im mittleren Angriff ausführen und gefälschten HTTP-Verkehr an das Gerät übertragen (um beispielsweise ein Dialogfeld oder eine bestimmte App zu öffnen).

Benutzergeräteinformationen stehlen

Wenn die infizierte App entweder mit einem iPhone oder dem Simulator in Xcode gestartet wird, sammelt XcodeGhost automatisch Geräteinformationen wie:

  • Aktuelle Uhrzeit
  • Name der aktuell infizierten App
  • Die Bundle-ID der App
  • Name und Typ des aktuellen Geräts
  • Sprache und Land des aktuellen Systems
  • UUID des aktuellen Geräts
  • Netzwerkart

Anschließend verschlüsselt die Malware diese Daten und sendet sie an einen Befehls- und Steuerungsserver . Der Server unterscheidet sich von Version zu Version von XcodeGhost. Palo Alto Networks konnte drei Server-URLs finden:

  • http://init.crash-analytics.com
  • http://init.icloud-diagnostics.com
  • http://init.icloud-analysis.com

Die letzte Domain wurde auch in der iOS-Malware KeyRaider verwendet .

Lesen und Schreiben aus der Zwischenablage

XcodeGhost kann außerdem bei jedem Start einer infizierten App die in der iOS-Zwischenablage geschriebenen Daten speichern. Die Malware kann diese Daten auch ändern. Dies kann besonders gefährlich sein, wenn der Benutzer eine Kennwortverwaltungs-App verwendet.

Hijack beim Öffnen bestimmter URLs

XcodeGhost kann auch bestimmte URLs öffnen, wenn die infizierte App gestartet wird. Da Apple iOS und OS X mit dem Inter-App-Kommunikations-URL-Mechanismus (z. B. 'whatsapp: //', 'Facebook: //', 'iTunes: //') arbeiten, kann der Angreifer alle auf dem gefährdeten Telefon oder installierten Apps öffnen Computer, im Fall einer infizierten macOS-Anwendung. Ein solcher Mechanismus kann bei Passwortverwaltungs-Apps oder sogar auf Phishing-Websites schädlich sein.

Eingabeaufforderungsalarmdialog

In der derzeit bekannten Version kann XcodeGhost keine Warnungsdialoge auf dem Benutzergerät anfordern. Es sind jedoch nur geringfügige Änderungen erforderlich.

Durch die Verwendung einer UIAlertView-Klasse mit der UIAlertViewStyleLoginAndPasswordInput-Eigenschaft kann die infizierte App ein Dialogfeld mit gefälschten Warnungen anzeigen, das wie eine normale Überprüfung der Apple ID-Benutzeranmeldeinformationen aussieht, und die Eingabe an den Befehls- und Steuerungsserver senden.

Infizierte Apps

Unter allen chinesischen Apps waren IMs-Apps, Bank-Apps, Apps von Mobilfunkanbietern, Karten, Aktienhandels-Apps, SNS-Apps und Spiele infiziert. Beliebte Apps, die auf der ganzen Welt verwendet werden, waren ebenfalls infiziert, wie WeChat , eine beliebte Instant Messaging-App, CamScanner , eine App zum Scannen von Dokumenten mit der Smartphone-Kamera oder WinZip .

Das Pangu-Team gab an , 3.418 infizierte Apps gezählt zu haben.

Fox-it, ein in den Niederlanden ansässiges Sicherheitsunternehmen, berichtet, dass es außerhalb Chinas Tausende von böswilligem Verkehr gefunden hat.

Entfernung

Neutralisierung von Befehls- und Steuerungsservern und kompromittierten Versionen von Xcode

Seit dem Artikel von Alibaba und Palo Alto Networks hat Amazon alle von XcodeGhost verwendeten Server heruntergefahren. Baidu entfernte auch alle böswilligen Xcode-Installationsprogramme aus seinem Cloud-Speicherdienst.

Entfernen bösartiger Apps aus dem App Store

Am 18. September 2015 gab Apple das Vorhandensein der Malware zu und forderte alle Entwickler mit kompromittierten Apps auf, ihre Apps mit einer sauberen Version von Xcode zu kompilieren, bevor sie erneut zur Überprüfung eingereicht wurden.

Das Pangu-Team hat ein Tool zum Erkennen infizierter Apps auf einem Gerät veröffentlicht. Wie bei anderen Antiviren-Apps wird es jedoch nicht auf einem Gerät ausgeführt, das keinen Jailbreak aufweist . Apple erlaubt keine Antiviren-Apps in den iOS App Store.

Überprüfen der Xcode-Version

Apple empfiehlt Xcode-Entwicklern, ihre Xcode-Version zu überprüfen und Gatekeeper immer auf ihrem Computer zu aktivieren.

Verweise