Masque Attack missbraucht das Code Signing in iOS für Fälschungen

Von Trend Micro

Masque Attack wurde 2014 zum ersten Mal gesehen und erlaubte Hackern eine echte App aus dem App Store durch eine manipulierte, unternehmenssignierte App mit demselben Bundle Identifier (Bundle ID) zu ersetzen. Apple schloss die dafür verantwortlichen Sicherheitslücken (CVE-2015-3772 und CVE-2015-3725). Doch während der Anbieter eine Tür zuschlug, schienen die Betrüger ein Fenster geöffnet zu haben. Haimas umpaketierte, Adware-verseuchten Apps sowie die native Helper Application beweisen, dass Betrüger immer noch im App Store ihren Geschäften nachgehen.

Die Sicherheitsforscher von Trend Micro haben eine Vielzahl bösartiger und potenziell unerwünschter iOS Apps gefunden, die mit Unternehmenszertifikaten signiert sind und dieselbe Bundle ID haben wie die offiziellen Versionen im App Store. Deren Untersuchung zeigte, das Haima und andere Drittanbieter-Stores ihre Betrügereien durchführen, indem sie eine Funktionalität im Signierprozess im iOS-Code ausnutzen, um Daten-Vererbung zu erreichen. Zusammen mit Apple wurde das Problem in iOS 10 beseitigt. Doch Geräte unter iOS 9.3.5 oder älter sind immer noch angreifbar. Nutzern wird dringend empfohlen, auf die neueste Version zu aktualisieren.

Potenzielle Risiken

Es geht nicht nur um gefälschte Versionen, denn die Sicherheitslücken stellen darüber hinaus eine ernsthafte Gefahr dar. Kriminelle können legitime Apps angreifen, um ihre Schadsoftware zu verbreiten. Dafür müssen sie lediglich bösartige Inhalte erstellen, die dieselbe Bundle ID wie das Original haben, und dann auf die Beliebtheit der App zählen, damit Nutzer die Malware installieren. Auch eigenentwickelte Apps in Unternehmen können gefälscht werden, neu designt und umpaketiert über dieselbe Bundle ID.

Die Auswirkungen auf legitime Apps fallen unterschiedlich aus, abhängig von der Art, wie deren Daten das Verhalten der App kontrollieren und wie die Funktionalität implementiert ist. Viele nutzen JavaScript für ihre Services, deren Code von den Servern geholt wird. Angreifer nutzen diese Lücke aus und ersetzen diese Server-Links mit ihren eigenen. Dadurch können sie die Logik der App ändern und das Verhalten der App kontrollieren.

Die können auch die Datenwerte modifizieren, um URLs zu fälschen und die legitime App zu einem bösartigen Service umzuleiten und PIIs zu phishen oder gar direkt die Bankkonten der Nutzer zu stehlen. Auch die Funktion der App kann modifiziert werden, etwa die von der App geöffneten URLs ersetzt werden, um Schadsoftware herunterzuladen. Angreifer sind zudem in der Lage, die Werbungs-ID der legitimen App zu ändern, sodass der Ertrag durch Anzeigen auf die Betrüger umgeleitet wird.


Bild 1. Gefälschte Social Media App (unten) zeigt dieselbe Bundle ID wie die echte Version (oben)


Bild 2. Snapshot zeigt, dass Entwickler nicht mehr eine vorhandene Bundle ID anwenden können, nachdem Apple das Problem der Masque Attacks angegangen hat

Missbrauch des Prozesses zum Signieren des Codes

Obwohl Apple zusätzliche Logik in XCode (Bild 2) eingefügt hat, um das Problem zu lösen, kann das Codesign-Tool auf der Befehlszeile immer noch dazu genutzt werden, die Apps direkt zu signieren statt des XCode.

Betrüger müssen lediglich ein bescheidenes Toolkit vorbereiten, um die App neu zu signieren:

  • Ein Unternehmenszertifikat (um die App ohne Apples Prüfprozess zu verteilen),
  • Ein Verteilungszertifikat, um die App auf iOS-Geräten zu installieren, oder Entwicklungszertifikat, um die Funktionalität der App zu testen (üblicherweise tun dies die Forscher oder App-Entwickler),
  • Ein Provisionierungsprofil, das auf der Apple Developer Site generiert wird,
  • Entitlements.plist-Datei, von der App exportiert
  • Ein Tool für die Entschlüsselung der echten Mach-O-Datei der App, ein Format der nativen Executables, Bibliotheken und Objekt-Codes, die das iOS-System zur standardmäßigen Verschlüsselung nutzt.

Einzelheiten zum Prozess liefert der Originalbeitrag.

Bild 3. Entschlüsselung einer legitimen App mit einem Mach-O-Tool

iOS beinhaltet eine Regel, die verhindert, dass unternehmenssignierte Apps ihre legitimen Versionen mit gleichen Bundle IDs ersetzen. Doch scheint dies bei umgekehrter Implementierung nicht zu funktionieren. Bei der Installation einer unternehmenssignierten App benachrichtigt der App Store (wenn er auf automatisches Update konfiguriert ist) den Nutzer darüber, dass ein Update verfügbar ist. Hat die App eine identische Bundle ID und die neuere Version existiert im App Store, so überschreibt und erbt sie alle History/Daten von der unternehmenssignierten App. Ein Beispiel zeigt der Originalbeitrag.

Auch weitere Fähigkeiten können vererbt werden, so etwa die Umgehung des iOS-Vertraulichkeitsschutzes. Wie passt Bundle ID ins Bild? Eine neu installierte App muss eine Reihe von Rechteanfragen durchlaufen, wenn sie auf die Geräteressourcen zugreift, so etwa Kontaktinformationen. Wird sie deinstalliert und durch eine andere App mit identischer Bundle ID ersetzt, so erbt letztere die Rechte. Es kann sein, dass die vergebenen Rechte zusammen mit der Bundle ID gespeichert werden als Wertepaar, wenn Apps zum ersten Mal laufen. Sie werden jedoch nicht gelöscht, wenn die App deinstalliert wird. Die Sicherheitsforscher von Trend Micro konnten dieses Problem mit einer Social Media-App nachvollziehen.

Lösung

App-Entwickler, die Funktionen wie In-App-Käufe einbinden, sind gut beraten, Apples offiziellen Richtlinien zu folgen und auch Mechanismen einzusetzen, die Betrüger davon abhalten, die Apps mit Reverse-Engineering zu „kapern“. Unternehmen, die iOS-Geräte nutzen, sollten über Sicherheitsrichtlinien einen Kompromiss zwischen Mobilität und Produktivität finden.

Trend Micro erkennt diese Fälschungen und potenziell unerwünschten Apps als IOS_Landmine.A. Der Anbieter hat die Sicherheitslücken am 21. Juli 2016 an Apple weitergegeben. Sie werden unter CVE-2016-4659 für das Überschreibproblem und CVE-2016-4606 für den Privacy Setting (Rechte)-Fehler geführt. Apple hat die Probleme in iOS 10.0 gelöst. Einige der neu paketierten Apps sind im Anhang aufgeführt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*