Hirudo: Android-Trojaner tauscht Banking-Apps gegen Kopien
Ein neuer Android-Banking-Trojaner namens Hirudo entfernt echte Banking-Apps von infizierten Smartphones und installiert manipulierte Kopien, in denen die eigenen Sicherheitsprüfungen der Apps abgeschaltet sind. Das berichtet das Mobile-Security-Unternehmen ThreatFabric.
Die Forscher entdeckten manipulierte Versionen von acht Banking-Apps. Jede davon enthält eine Hooking-Engine, die Prüfungen der App-Signatur, der Bedienungshilfen und von Play Integrity aushebelt. Dazu liefert sie gefälschte Zertifikatsangaben zurück oder gibt leere Listen aus, wenn die App wissen will, was auf dem Gerät läuft. Play Integrity ist ein Dienst von Google, mit dem Apps sicherstellen können, dass sie unverändert auf einem echten Android-Gerät laufen.
Hirudo gibt sich nachweislich als mindestens sieben indonesische Banken aus. Außerdem hat der Trojaner Finanzinstitute in China, Indien, Mexiko, Marokko und Thailand im Visier.
Verbreitung über funktionierende Apps
Die Schadsoftware kommt meist in Apps auf das Gerät, die seriös wirken und tatsächlich tun, was sie versprechen. ThreatFabric nennt eine Shopping-App (Shopora), eine App mit Erwachseneninhalten (1V1 X) sowie Apps für Kurzserien (ZoyaTV, KoiShort).
Diese Apps dienen als Loader. Sie zeigen dem Nutzer einen gefälschten "Update"-Hinweis, auf den Abfragen nach Berechtigungen folgen, darunter der Zugriff auf die Bedienungshilfen. Diese Android-Funktionen sollen eigentlich Menschen mit Behinderung unterstützen, werden von Schadsoftware aber häufig missbraucht, um den Bildschirminhalt auszulesen und im Namen des Nutzers auf Schaltflächen zu tippen.
Nach der Installation startet Hirudo die Deinstallation der echten Banking-App, lädt eine gepatchte Kopie herunter und installiert sie mithilfe der Bedienungshilfen-Berechtigung. ThreatFabric weist darauf hin, dass dieser Schritt für die Angreifer riskant ist, weil das Opfer den Vorgang an zwei Stellen abbrechen kann.
Die Abwehr der Bank wird umgedreht
Die gepatchte App enthält nahezu den gesamten ursprünglichen Code. Der Unterschied ist eine Hooking-Engine, die auf den Open-Source-Frameworks YAHFA und Dobby aufbaut. Beim Start der App sorgt die Engine dafür, dass:
- bei jeder Prüfung das echte Signaturzertifikat zurückgegeben wird
- aktivierte Bedienungshilfen-Dienste verborgen bleiben
- der Screenshot-Schutz entfernt wird, sodass sich der Bildschirm aus der Ferne ansehen und aufzeichnen lässt
- Key-Attestation-Zertifikate verändert und Play-Integrity-Anfragen über einen Server der Betreiber geleitet werden
"Da die Engine im eigenen Prozess der Banking-App läuft, werden die Schutzmechanismen der App gegen sie selbst gewendet", erklärten die Forscher.
Diese Tricks haben jedoch Grenzen. Die mit der Malware ausgelieferte Attestation-Keybox ist bereits öffentlich geleakt, und Google führt zwei ihrer Zertifikate als kompromittiert. Serverseitige Sperrprüfungen können die gefälschten Attestierungen daher erkennen.
Was gestohlen wird
Ist Hirudo erst einmal aktiv, kann der Trojaner Banking-Passwörter, Zahlungs-PINs, Entsperrdaten des Geräts und SMS abgreifen. Die Betreiber können den Bildschirm live übertragen, das Smartphone in Echtzeit fernsteuern, Screenshots anfertigen, Ton aufzeichnen und beide Kameras nutzen.
Zudem blendet die Malware gefälschte Bezahlseiten ein, die die Zahlungs-PIN abfragen. Nach der Eingabe erscheint ein erfundener Bildschirm mit "Zahlung erfolgreich", während die Daten im Hintergrund abfließen.
ThreatFabric stieß auf ein ungesichertes Backend-Panel mit Tausenden Einträgen zu App-Zugangsdaten sowie Daten zu Geräten, Sperrbildschirmen und Finanzprofilen. Wie viele Opfer es gibt, ist noch unklar.
Die Forscher bezeichnen Hirudo als "eine bewusste Eskalation in der Art, wie Android-Banking-Trojaner gehärtete Anwendungen angehen". Die Angreifer versuchen nicht mehr in erster Linie, Integritätsprüfungen auf Geräteebene zu täuschen, sondern nehmen nun die Schutzmechanismen ins Visier, die in die Banking-Apps selbst eingebaut sind.
ThreatFabric rät Banken, Integrität und Attestierung serverseitig zu prüfen, diese Prüfungen an Sitzungen und geschützte Aktionen zu koppeln und verhaltens- sowie transaktionsbasierte Risikokontrollen beizubehalten. Nutzer sollten Updates installieren, keine APK-Dateien aus inoffiziellen Stores laden und regelmäßig Scans mit Play Protect durchführen.
Unsere Einschätzung
Hirudo zeigt, wo clientseitiger Schutz an seine Grenzen stößt. Kontrolliert ein Angreifer den App-Prozess, lässt sich jede Prüfung, die darin abläuft, zum Lügen bringen. Banken, die vor allem auf Erkennung innerhalb der App setzen, sollten ihre Vertrauensentscheidungen daher stärker auf den Server verlagern, genau wie es ThreatFabric empfiehlt.
Auch der Infektionsweg passt in ein größeres Muster bei mobilen Bedrohungen. Schadsoftware gelangt über manuell installierte Apps auf die Geräte oder ist auf billigen Android-Smartphones vorinstalliert, und beide Wege umgehen die Prüfung durch Google Play. Grundlegende Sorgfalt, etwa das Einspielen der aktuellen Android-Sicherheitsupdates, bleibt wichtig, hält aber keinen Nutzer auf, der einem gefälschten Update Zugriff auf die Bedienungshilfen gewährt.
Es lohnt sich zu beobachten, ob die Betreiber die geleakte Keybox ersetzen und ob sich Hirudo über den derzeitigen Schwerpunkt Indonesien hinaus ausbreitet.
