Trojaner manipulieren Google Play

Inhalt

Für Virenschreiber ist Google Play eine Art Gelobtes Land. Einmal dort gelandet, erhält eine schädliche App ein breites Publikum, dazu das Vertrauen dieses Publikums sowie ein nachsichtiges Verhalten der Sicherheitssysteme des Betriebssystems (ein Stolperstein für einen jeden Schädling ist beispielsweise das standardmäßige Verbot, Anwendungen aus anderen Quellen als dem offiziellen Shop zu installieren). Doch es ist keinesfalls einfach, bei Google Play zu landen: Eine der Hauptvoraussetzungen, die eine Anwendung erfüllen muss, um im App-Shop Google Play aufgenommen zu werden, ist eine sorgfältige Überprüfung des Programms auf unerwünschtes Verhalten mittels verschiedener Analysesysteme, sowohl automatischer als auch manueller.

Einige Virenschreiber, die an den Versuchen verzweifelt sind, diese Überprüfungen zu umgehen, haben stattdessen einen Weg gefunden, die Client-App des Shops zu ihren eigenen unlauteren Zwecken auszunutzen. In letzter Zeit beobachten wir immer häufiger Trojaner, die die Anwendung Google Play ausnutzen, um im Rahmen von Werbekampagnen Apps aus dem Shop ohne Wissen der jeweiligen Besitzer auf deren Smartphones zu laden, dort zu installieren und auszuführen sowie Kommentare zu hinterlassen und die betreffende App zu bewerten. In der Regel fügt eine auf diese Weise von einem Trojaner installierte App dem Anwender keinen direkten Schaden zu, doch das Opfer könnte Geld von seinem mobilen Konto verlieren, wenn es teuren mobilen Traffic bezahlen muss. Überdies können die Trojaner nicht nur kostenlose, sondern auch kostenpflichtige Apps installieren und den Nutzer so dazu nötigen, noch höhere Summen zu zahlen.

Werfen wir einen Blick auf die Methoden, mit denen Google Play manipuliert wird.

Level 1. N00b

Die erste Methode besteht darin, den offiziellen Google Play-Client dazu zu bringen, das zu tun, was die Cyberkriminellen wollen. Die Idee dahinter ist die, dass der Client mit Hilfe des Trojaners gestartet wird, um in ihm daraufhin die Seite der benötigten App zu öffnen und dann nach den entsprechenden Elementen der Benutzeroberfläche (Buttons) zu suchen und mit diesen zu interagieren, um so den Download, die Installation und Start der Anwendung auszulösen. Die dafür benötigten Elemente der Benutzeroberfläche sind auf den unten stehenden Abbildungen rot hervorgehoben:

goo_1 goo_2

goo_3

Es gibt unterschiedliche Methoden zur Interaktion mit dem Interface, von denen die folgenden Techniken besonders wichtig sind:

  1. Einsatz von Accesibility-Services des Betriebssystems (wird von den Modulen des Schädlings Trojan.AndroidOS.Ztorg benutzt).
  2. Imitation der Anwender-Eingabe (verwendet von Trojan-Clicker.AndroidOS.Gopl.c).
  3. Einschleusung in den Client-Prozess von Google Play zur Modifikation seiner Funktionslogik (eingesetzt von Trojan.AndroidOS.Iop)

Nehmen wir die Arbeit derartiger Trojaner am Beispiel von Trojan.AndroidOS.Ztorg.n einmal genauer unter die Lupe. Dieser Schädling verwendet Accesibility-Services, die ursprünglich dazu gedacht waren, Apps zu erstellen, die Anwendern mit eingeschränkten Möglichkeiten weiterhelfen (beispielsweise eine App zur Sprachsteuerung der grafischen Benutzeroberfläche). Der Trojaner erhält vom Command und Control Server eine Aufgabe, die einen Link auf die benötigte App enthält, öffnet sie in Google Play und führt daraufhin den folgenden Code aus:

goo_4

Der Code ist notwendig, um zu verfolgen, ob/dass die notwendigen Elemente des Interfaces und des programmgesteuerten Klicks auf die Elemente auf dem Bildschirm erscheinen. Auf dieses Weise erzeugen sie das aufeinanderfolgende Klicken auf die Schaltflächen „BUY“ („KAUFEN“) (auf der Abbildung oben ist auf diesem Button der Preis angegebenen), „ACCEPT“ („ZUSTIMMEN“) und „CONTINUE“ („WEITER“). Das reicht für den Kauf von Apps aus, wenn der Nutzer über eine bezahlfähige Bankkarte verfügt, die mit dem Google-Account verbunden ist.

Level 2. Pro

Einige Virenautoren verschmähen aber die einfachen Wege. Anstatt eine unproblematische und erprobte Methode, wie oben beschrieben, anzuwenden, setzen sie ihren eigenen Client für den App-Store um, indem sie eine HTTPS-Schnittstelle benutzen.

Trojaner manipulieren Google Play

(Ich code mir mein eigenes Google Play, mit Trojanern und Root-Zugriff)

Dieser Ansatz ist deswegen so komplex, da für die erfolgreiche Arbeit eines solchen „selbstgebastelten“ Clients Informationen benötigt werden (beispielsweise Benutzername und Passwort des Nutzers, Authentifizierungstoken), die für eine gewöhnliche Anwendung nicht verfügbar sind. Zum großen Glück der Cyberkriminellen werden alle benötigten Daten auf dem Gerät in unverschlüsselter Form gespeichert, im komfortablen Format SQLite. Der Zugriff auf die Daten wird lediglich durch das Sicherheitsmodell von Android beschränkt, allerdings können Apps dieses Modell unterwandern, indem das Gerät beispielsweise gerootet wird und dann ohne Probleme Zugriff auf die Informationen erhalten.

So haben beispielsweise einige Versionen des Schädlings Trojan.AndroidOS.Guerrilla.a, der mit Hilfe des Rooting-Tools Leech verbreitet wird, ihren eigenen Client. Dieser Client erfüllt erfolgreich die Aufgabe des Downloads und der Installation von bezahlpflichtigen und kostenlosen Apps und ist zudem in der Lage, die Apps zu bewerten und Kommentare im Google-Store zu hinterlassen.

Nach dem Start beginnt Guerrilla, die notwendigen Informationen zusammenzutragen:

  1. Authentifizierungsdaten für den Google Play-Account des Nutzers.
  2. Um Operationen in Google Play durchführen zu können, müssen spezielle Tokens verwendet werden, die bei der Authentifikation des Anwenders erstellt werden. Im einfachsten Fall, und zwar wenn der Nutzer bereits bei Google Play autorisiert ist, kann der Schädling die im lokalen Cache gespeicherten Tokens nutzen. Das funktioniert über eine einfache Suche in der Datenbank, die sich an folgendem Ort befindet: /data/system/users/0/accounts.db:

    Trojaner manipulieren Google Play

    Mit Hilfe des untenstehenden Codes überprüft der Trojaner, ob es auf dem infizierten Gerät fertige Tokens gibt, d.h. ob der Nutzer autorisiert ist und Operationen in Google Play durchführen kann:

    Trojaner manipulieren Google Play

    Wenn es keine solche Tokens gibt, so erhält der Schädling den Benutzernamen und das im Cache gespeicherte Passwort des Nutzers und autorisiert sich selbst über OAuth:

    Trojaner manipulieren Google Play

    Trojaner manipulieren Google Play

  3. Android_id – eindeutiger Identifikationscode des Gerätes.
  4. Google Service Framework ID – eindeutiger Identifikationscode des Gerätes bei den Google-Services.
  5. Zunächst versucht der Schädling, mit Standardmethoden an diese IDs zu kommen, doch wenn das aus irgendwelchen Gründen nicht funktioniert, führt er den folgenden Code aus:

    Trojaner manipulieren Google Play

    Trojaner manipulieren Google Play

  6. Google Advertising ID – das ist ein eindeutiger Identifikationscode für das Anzeigen von Werbung, der den Services von Google Play zugeteilt wird.
  7. Guerrilla erhält ihn auf die folgende Weise:

    Trojaner manipulieren Google Play

    Trojaner manipulieren Google Play

  8. Auf ähnliche Weise erhält der Schädling die Daten über das Gerät in gehashter Form aus der Datei „/data/data/com.google.android.gms/shared_prefs/Checkin.xml

Nachdem der Trojaner die oben aufgeführten Daten zusammengetragen hat, nimmt er die Tasks zum Laden und Installieren von Apps entgegen. Die Struktur eines solchen Tasks ist unten aufgeführt:

troj_goog_play_de_14

Der Download der App durch den Trojaner erfolgt mit Hilfe von POST-Anfragen, die über Links, wie nachfolgend dargestellt, ausgeführt werden:

  1. https://android.clients.google.com/fdfe/search – führt eine Suche gemäß der von den Cyberkriminellen abgesandten Anfrage durch. Diese Anfrage ist nötig, um eine Interaktion des Anwenders mit dem Google Play Client zu simulieren (bei der Installation von Apps aus dem offiziellen Client ist es vorgesehen, dass der Nutzer zunächst eine Suchanfrage startet und erst danach auf die Seite der App geht).
  2. https://android.clients.google.com/fdfe/details – mit Hilfe dieser Anfrage werden zusätzliche Informationen über die Anwendung gesammelt, die für ihren Start benötigt werden.
  3. https://android.clients.google.com/fdfe/purchase – lädt den Token und die Daten über den Kauf, die in der nächsten Anfrage verwendet werden.
  4. https://android.clients.google.com/fdfe/delivery – der Trojaner erhält die URL und cookie, die für den Download der .apk unerlässlich sind.
  5. https://android.clients.google.com/fdfe/log – Bestätigung des Downloads (um den Download-Zähler in die Höhe zu treiben).
  6. https://android.clients.google.com/fdfe/addReview – Hinterlassen einer Bewertung und Hinzufügen eines Kommentars.

Bei der Erstellung ihrer Anfragen versuchten die Cyberkriminellen so genau wie möglich die Anfragen nachzubilden, die vom offiziellen Client abgesendet werden. In jeder von ihnen wird beispielsweise das folgende Set von HTTP-Headern verwendet:

troj_goog_play_de_15

Nach Erfüllung der Anfragen können offiziell der eigentliche Download, die Installation (mit dem Befehl ‚pm install -r‘, der die Installation der Anwendung ohne Zustimmung des Nutzers ermöglicht) und der Start der App umgesetzt werden.

Fazit

Trojaner, die die Anwendung Google Play ausnutzen, um Apps aus dem Store ohne Wissen des Anwenders auf ein Smartphone zu laden, zu installieren und zu starten, werden normalerweise mit Rooting-Tools verbreitet – Schädlingen, die bereits über höchst mögliche Privilegien auf dem Gerät verfügen. Gerade dadurch wird es möglich, derartige Angriffe auf die Client-App von Google Play durchzuführen. Wir weisen darauf hin, dass Rooting-Tools nach den Ergebnissen des zweiten Quartals 2016 mehr als die Hälfte der Positionen in den TOP 20 der mobilen Schadprogramme belegten. Diese Bedrohung ist daher keinesfalls zu unterschätzen. Umso mehr, als dass Rooting-Tools nicht nur Schädlinge laden können, die das Android-Ökosystem kompromittieren und das Geld des Nutzers mit dem Kauf von Apps verschwenden, die er gar nicht haben will, sondern auch andere Malware.

Ähnliche Beiträge

Schreibe einen Kommentar

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