Erst kürzlich hat ESET einen hinterlistigen Angriff auf Android-Nutzer entdeckt – Apps in Form von regulären Spielen, die allerdings mit einem weniger erfreulichen Zusatz ausgestattet sind: Einer weiteren Anwendung, die entweder den Namen „systemdata“ oder „resourcea“ trägt. Das ist definitiv verdächtig. Warum sollte ein reguläres Spiel, das im Google Play Store als Download verfügbar ist, eine Anwendung namens „systemdata“ enthalten? Eines ist klar – eine Systemanwendung ist es nicht, auch wenn der Name das nahezulegen scheint.

Diese verpackte Anwendung wird heimlich auf das Gerät eingeschleust, der tatsächlichen Installation muss der Nutzer allerdings zustimmen. Hierfür tarnt sich die Anwendung unter anderem als App zur Verwaltung von Einstellungen. Nach der Installation geht die Anwendung schließlich im Hintergrund ihrem eigentlichen Zweck nach.

ESET erkennt die Spiele, über die der Trojaner auf das Gerät gelangt, als Android/TrojanDropper.Mapin und den Trojaner selbst als Android/Mapin. Laut unseren Daten sind derzeit mit knapp 74 Prozent hauptsächlich Nutzer aus Indien von diesem Schädling betroffen.

Der Backdoor-Trojaner ist die Komponente, welche die Kontrolle über die infizierten Geräte übernimmt und sie zu Teilen eines Botnets macht, das von den Angreifern gesteuert wird. Der Trojaner nutzt Timer, um die Ausführung der schädlichen Payload zu verzögern. Dadurch ist für den Nutzer der Zusammenhang zwischen dem trojanisierten Spiel und dem auffälligen Verhalten seines Geräts weniger offensichtlich. In manchen Fällen dauert es sogar drei Tage, bis die Malware ihre volle Funktionalität erreicht. Vermutlich ist diese Verzögerung auch der Grund, weshalb die Spiele Googles Sicherheitsmechanismus Bouncer umgehen konnten.

Anschließend fordert der Trojaner Geräte-Administratorrechte und startet die Kommunikation mit seinem C&C-Server. Android/Mapin verfügt über vielfältige Funktionen – z.B. Meldungen zu forcieren, Anwendungen herunterzuladen, zu installieren und zu starten, an die privaten Informationen des Nutzers zu gelangen – doch sein Hauptzweck besteht scheinbar darin, den Nutzer mit Vollbild-Werbungen zu bombardieren.

Verbreitungs-Vektoren

Es ist durchaus bemerkenswert, wie lange der Trojaner im offiziellen Google Play Store unentdeckt bleiben konnte. Er wurde zwischen dem 24. und 30. November 2013 sowie am 22. November 2014 als Bestandteil der Spiele Hill climb racing the game, Plants vs zombies 2, Subway suffers, Traffic Racer, Temple Run 2 Zombies und Super Hero Adventure von den Entwicklern TopGame24h, TopGameHit und SHSH im Play Store verbreitet. Laut MIXRANK wurde Plants vs zombies 2 10.000 Mal heruntergeladen, bis es aus dem Store entfernt wurde. Zur gleichen Zeit wurden die ebenfalls trojanisierten Spiele System optimizer, Zombie Tsunami, tom cat talk, Super Hero adventure, Classic brick game sowie die zuvor genannten Anwendungen aus dem Google Play Store von denselben Entwicklern in verschiedenen alternativen Android-Stores hochgeladen, die zum Teil sogar auf den Google Play Store verwiesen. Zu jenen Herausgebern gehört auch ein Entwickler namens PRStudio (nicht zu verwechseln mit prStudio), der mindestens fünf weitere schädliche Anwendungen bei Drittanbietern hochgeladen hat: Candy crush oder Jewel crush, Racing rivals, Super maria journey, Zombie highway killer, Plants vs Zombies. In den alternativen Stores sind diese Spiele nach wie vor verfügbar und wurden bereits Tausende Male heruntergeladen.

Figure 1: Infected applications

Abbildung 1: Infizierte Anwendungen

Figure 2: Application gets positive feedback

Figure 2: Application gets positive feedback

Abbildung 2: Anwendung erhält positives Feedback

Analyse

Wie die Malware genau gestartet wird, kann variieren. So kann es vorkommen, dass das Opfer erst 24 Stunden nach der erstmaligen Ausführung des ursprünglich heruntergeladenen Spiels aufgefordert wird, den Trojaner zu installieren. Hierdurch soll verhindert werden, dass der Nutzer Verdacht schöpft. Ihm wird vorgegaukelt, dass die Installationsanfrage vom Betriebssystem kommt. Bei einer alternativen Vorgehensweise erfolgt die Installationsaufforderung umgehend. Gemeinsam haben aber alle Varianten, dass sie durch eine Änderung des Netzwerkverbindungsstatus getriggert werden, sobald der BrodcastReceiver des ursprünglich installierten Spiels im Android-Manifest registriert wurde.

Figure 2: Application gets positive feedback

Abbildung 3: Anwenung erhält positives Feedback

Bei Änderungen des Verbindungsstatus wird der Nutzer aufgefordert, die vermeintliche Systemanwendung zu installieren. Die eingeschleuste Malware tarnt sich hierbei als „Google Play Update“ oder aber als „Manage Settings“.

Figure 3: Install requests by trojan

Abbildung 4: Installationsanfrage des Trojaners

Stimmt das Opfer der Installation nicht zu, wird die Aufforderung immer wieder angezeigt, sobald sich der Verbindungsstatus ändert. Der durchschnittliche Nutzer wird sich vermutlich irgendwann überzeugen lassen, dass es sich um ein wichtiges Update handelt und der Installation allein schon deshalb zustimmen, weil ihm die Meldungen zu lästig werden. Danach startet der Trojaner einen Dienst und registriert einen eigenen BrodcastReceiver, der ebenfalls auf Änderungen des Netzwerkverbindungsstatus wartet.

Tritt eine Verbindung auf, versucht die Malware, sich selbst auf den Google Cloud Messages (GCM) Servern zu registrieren, bevor sie Nachrichten erhalten kann. Nach der GCM-Registrierung registriert Android/Mapin das infizierte Gerät auf seinem eigenen Server und übermittelt hierbei Benutzernamen, Google-Account, IMEI, Registrations-ID und den eigenen Paket-Namen.

Figure 4: Device registering to attacker’s server

Abbildung 5: Registrierung des Geräts auf den Servern der Angreifer

Der Trojaner fordert beim Nutzer die Aktivierung der Geräte-Administratorrechte ein, um sich selbst vor einer Deinstallation zu schützen:

Figure 5: Device administrator

Abbildung 6: Geräteadministrator

Anschließend meldet der Trojaner seinem Server, ob die Aktivierung der Adminrechte erfolgreich war. Dann erhält der Nutzer Interstitials in Form von Vollbild-Popups. Auch diese Werbeanzeigen werden durch die Änderung des Netzwerkverbindungsstatus getriggert.

Figure 6: Interstitial ads

Abbildung 7: Interstitials

Kommunikation

Der Trojaner kommuniziert mithilfe von Google Cloud Messaging (GCM) mit dem Server. Diese Art der Kommunikation kommt bei Malware heutzutage immer häufiger zum Einsatz. Die Backdoor kann auf Befehle reagieren, die sie vom Server erhält.

Figure 7: Commands

Abbildung 8: Befehle

Nicht alle Funktionalitäten wurden vollständig implementiert und einige der implementierten Funktionalitäten werden nicht genutzt. Das könnte ein Hinweis darauf sein, dass sich die Malware erst noch in der Entwicklungsphase befindet und zukünftig überarbeitet und noch gefährlicher wird. Der grundlegende Zweck besteht darin, getarnt als Systemanwendung auf das Gerät zu gelangen und den Nutzer anschließend mit Werbeanzeigen zu bombardieren. Darüber hinaus gehört zu den Funktionalitäten unter anderem, dass Werbungen aktiviert sowie deaktiviert, andere Anwendungen heruntergeladen, installiert und ausgeführt, sonstige Meldungen aktiviert sowie Adminrechte entzogen werden können. Nachdem jeder Befehl, den der Trojaner erhält, erfolgreich ausgeführt wurde, wird der C&C-Server via HTTPS hierüber informiert.

Fazit

Der Grund, weshalb der Trojaner es in den Google Play Store geschafft hat, besteht vermutlich darin, dass in Bouncer nicht aller relevanten Malware-Trigger implementiert sind – in diesem Fall die Nachbildung der Änderungen des Netzwerkverbindungsstatus. Darüber hinaus kann man sich fragen, weshalb Bouncer die ausführbaren Dateien, die in das hochgeladene Spiel eingebettet sind, nicht ausreichend analysiert hat. Denn so konnte der Trojaner unentdeckt bleiben und Tausenden von Nutzern bereitgestellt werden. Natürlich ist es durchaus möglich, dass es über die von ESET identifizierten, noch weitere trojanisierte Spiele gibt, die da draußen ihr Unwesen treiben. Zwar wurden die hier genannten Apps aus dem Google Play Store entfernt, doch sie konnten über einen langen Zeitraum unentdeckt bleiben. Vermutlich sind solche Vorfälle der Grund, weshalb Google angekündigt hatte, ab März 2015 alle Apps und Updates auch einer Prüfung durch Menschenhand zu unterziehen.

Um zu vermeiden, selbst Opfer einer Malware zu werden, die über den offiziellen Play Store verbreitet wird, solltest du lediglich Anwendungen von vertrauenswürdigen Anbietern herunterladen und dir vorher die Kommentare anderer Nutzer durchlesen. Zudem solltest du die Berechtigungen, die eine App während der Installation einfordert, genau überprüfen und hinterfragen, ob sie tatsächlich gerechtfertigt sind. Sobald sich das Gerät verdächtig verhält, solltest du ein Sample zur Analyse bei deinem Antiviren-Hersteller einreichen. Hierbei ist es ratsam, auch immer gleich den Grund zu nennen.

Weitere Informationen

Name der App Paket-Name MD5 Von ESET erkannt als
Highway Zombie com.heighwayzombie 2f6323af124f9fd57edb1482827f9481 Android/TrojanDropper.Mapin
Plant vs Zombie com.plantzombie 8721901a2caaeb98a19e0fb909ce2569 Android/TrojanDropper.Mapin
USubway Suffer com.subwaysuffers ba3c1894310d38aa814ad3c58f1c8469 Android/TrojanDropper.Mapin
Climb racing com.hillclimbrace 87cc79d6f6795fea0df109e181d1a3e8 Android/TrojanDropper.Mapin
Temple run 2 Zoombie com.templerunzombies d5afd7ba5b3bd24cd4fa5201882e1a9d Android/TrojanDropper.Mapin
Traffic Racer com.traficracer 9cbfd66f35a36d9f75a89f342da9c784 Android/TrojanDropper.Mapin
Google Play update com.system.main f8df9e2d21018badc7555a9233a8b53e Android/Mapin
Arrange Block - Brick game com.game.arrangeblock d7facf652d3947a53f85431ba8a4cd4a Android/TrojanDropper.Mapin
Manage Settings com.appgp.main 5586e93ac84317348904adfe01c9715c Android/Mapin
Candy crush com.tgame.candycrush 745e9a47febb444c42fb0561c3cea794 Android/TrojanDropper.Mapin
Manage Settings com.appgp.main c19896fdd3b96b9324c6b79cc39eca5b Android/Mapin
Super maria adventure com.game.supermario 0d7c889e8a9be51a58041d55095f104f Android/TrojanDropper.Mapin
Manage Settings com.appgp.main c19896fdd3b96b9324c6b79cc39eca5b Android/Mapin
Super maria journey com.tgame.maria ee8e4e3801c0101998b7dfee33f35f95 Android/TrojanDropper.Mapin
Google Play Update com.appgp.main 195432955e70ec72018ead058f7abc2d Android/Mapin
Zombies highway killer com.absgame.zombiehighwaykiller 1516174c4a7f781c5f3ea6ac8447867b Android/TrojanDropper.Mapin
Manage Settings com.appgp.main f05ac3ac794ee8456db4d0331830d2d8 Android/Mapin
Plants Vs Zombies com.tgame.plantvszombie 10edaf2b4c25375644faf78a25790061 Android/TrojanDropper.Mapin
Google Play Update com.appgp.main f8879f759b00ed9d406dd14ce450584b Android/Mapin
Plants Vs Zombies com.popcap.pvz_row 9b72df484915ce589ade74e65ecdfaed Android/TrojanDropper.Mapin