zurück zur Übersicht

Vergifteter Code durch kompromittierte IDE

Wenn seriöse Entwickler plötzlich Malware ausliefern ist möglicherweise eine kompromittierte IDE schuldKompromittierte IDE (Integrated Development Environment) sorgt für Malware-Ausbruch: In der letzten Ausgabe des Internet Security Threat Report von Symantec wurden neue Angriffsvektoren aus dem letzten Jahr diskutiert. Es passiert nicht oft, dass in einem solchen Bericht auf eine Infektion mit Schadsoftware hingewiesen wird, die bereits während der Entwicklung einer Anwendung erfolgt ist.

When IDEs go evil

Im September 2015 wurde bekannt, dass genau dies bei mehr als 4000 Apps in Apples AppStore passiert ist. Bei ihnen wurde die Malware XCodeGhost festgestellt (mehr dazu hier). Dies war sehr überraschend, denn Apple ist eigentlich für seine strengen Kontrollen von Apps vor deren Aufnahme in den Appstore bekannt.

Die kompromittierten Anwendungen waren zudem von legitimen und zugelassenen Entwicklungsfirmen erstellt worden. Wie konnte es also zu dieser Malwareflut kommen?

Die Analyse des Vorfalls zeigte: Schuld war eine kompromittierte IDE. Eine inoffizielle Version der beliebten Entwicklungsumgebung „XCode“ für Apple-Anwendungen enthielt eine Schadsoftware namens „XCodeGhost“, die Programme bereits bei deren Erstellung automatisch mit Schadcode infizierte. Die Entwickler haben dann diese Anwendungen mit gültigen Code-Signing-Zertifikaten signiert und somit scheinbar vertrauenswürdige Apps erstellt.

Nach der Installation und Ausführung der verseuchten Apps bauten diese eine Verbindung zu Command&Control-Servern auf, die damit die Steuerung der Geräte übernahmen. So konnten auch sensitive Daten wie Passwörter aus den Geräten ausgelesen werden.

Ein Vorfall – mehrere Ursachen

In dieser Ereigniskette sind gleich einige reaktive und präventive Kontrollen fehlgeschlagen. Wie hätte die Gefahr durch die kompromittierte IDE vermieden oder frühzeitig erkannt werden können?

  1. OS X hat bereits einen Sicherheitsmechanismus – Gatekeeper – der verhindert, dass modifizierter Code (nicht aus dem AppStore oder nicht signiert) ausgeführt wird. Die Entwickler haben wahrscheinlich diese Sicherheitsmaßnahme deaktiviert, um eine inoffizielle Version von XCode überhaupt nutzen zu können.
  2. Die Entwickler haben am Ende der Entwicklungsphase wohl keinen statischen Code-Scan durchgeführt. Dessen Ergebnisse hätten Hinweise auf eine Infektion mit Schadcode geben können. Man muss aber zugeben, dass eine solche Backdoor nicht einfach zu erkennen ist, wenn sie sehr gut versteckt ist und wie ein reguläres Feature aussieht.
  3. Bei der Versionsverwaltung des Source-Codes traten keine Auffälligkeiten auf.
  4. Die Entwickler haben keine dynamische Code-Analyse durchgeführt. Eine Analyse des Netzwerksverkehrs hätte Anomalien aufdecken können, die letztlich zur Entdeckung der Schadfunktionen geführt hätten.
  5. XCodeGhost konnte die Sicherheitschecks von Apple umgehen – die Schadfunktionen waren in Standardbibliotheken versteckt, die von Programmierern normalerweise nicht modifiziert und entsprechend von Apple nicht überprüft werden.
  6. Die betroffenen Unternehmen haben neue Apps aus dem AppStore nicht vor deren Freigabe ausreichend geprüft. Heutige Lösungen ermöglichen es, diese Analyse mit dem MDM (Mobile Device Management) Prozess zu integrieren.

Eine kompromittierte IDE ist nur eines der Risiken

Anhand des Beispiels kann man sehen, wie wichtig es ist, Schutzmaßnahmen direkt mit dem SDLC-Prozess (Software Development Life Cycle) zu verknüpfen. Um Aufwände zu sparen, kommen hier auch Cloud-Lösungen in Betracht. Es gibt Lösungen, die auf mobile Anwendungen spezialisiert sind und entsprechend darauf ausgerichtete Tests anbieten. Es geht dabei nicht nur um eine eventuell kompromittierte IDE. Auch die besten Entwickler sind nicht davor geschützt, unwissentlich Sicherheitslücken einzubauen. Jeder der beispielsweise eine JAVA-Programmbibliothek nutzt ist automatisch von deren potenziellen Sicherheitslücken mit betroffen.

Entwickeln Sie mobile Anwendungen oder nutzen Sie in Ihrem Unternehmen Anwendungen aus Apples AppStore oder Googles Play Store und möchten Sie die hier aufgezeigten Risiken beseitigen? Sprechen Sie uns an, wenn Sie erfahren möchten was man dafür tun kann. Eine interessante Übersicht zum Thema finden Sie hier.

Schreibe einen Kommentar