Android-malware Hirudo vervangt bankapps om checks te omzeilen

Android-malware Hirudo vervangt bankapps om checks te omzeilen

Een nieuwe Android-banktrojan met de naam Hirudo verwijdert legitieme bankapps van besmette telefoons en installeert gemanipuleerde kopieën waarin de eigen beveiligingscontroles van de apps zijn uitgeschakeld. Dat meldt het mobiele beveiligingsbedrijf ThreatFabric.

De onderzoekers troffen kwaadaardige versies van acht bankapps aan. Elk daarvan bevat een hooking-engine die controles op de app-handtekening, Accessibility en Play Integrity omzeilt. Dat gebeurt door vervalste certificaatgegevens terug te geven of door lege lijsten te retourneren wanneer de app vraagt wat er op het toestel draait. Play Integrity is de dienst van Google waarmee apps kunnen vaststellen dat ze ongewijzigd op een echt Android-toestel draaien.

Hirudo is gezien terwijl het zich voordeed als minstens zeven Indonesische banken. Daarnaast richt de malware zich op financiële instellingen in China, India, Mexico, Marokko en Thailand.

Verspreid via werkende apps

De malware komt meestal binnen via apps die er legitiem uitzien en ook echt doen wat ze beloven. ThreatFabric noemt een winkelapp (Shopora), een app met inhoud voor volwassenen (1V1 X) en apps met korte dramaseries (ZoyaTV, KoiShort).

Deze apps fungeren als loader. Ze tonen de gebruiker een nepmelding voor een "update", waarna verzoeken om rechten volgen, waaronder toegang tot Accessibility-diensten. Die Android-functies zijn bedoeld om gebruikers met een beperking te helpen, maar malware misbruikt ze vaak om het scherm uit te lezen en namens de gebruiker op knoppen te tikken.

Na de installatie start Hirudo het verwijderprogramma voor de echte bankapp, downloadt een aangepaste kopie en installeert die met behulp van het Accessibility-recht. Volgens ThreatFabric is deze stap riskant voor de aanvallers, omdat het slachtoffer twee keer de kans krijgt om het proces te onderbreken.

De verdediging van de bank omgedraaid

De aangepaste app bevat vrijwel alle oorspronkelijke code. Het verschil zit in een hooking-engine die is gebouwd op de opensourceframeworks YAHFA en Dobby. Zodra de app opstart, zorgt de engine ervoor dat:

  • het echte ondertekeningscertificaat wordt teruggegeven wanneer de app daarop controleert
  • ingeschakelde Accessibility-diensten verborgen blijven
  • de bescherming tegen schermafbeeldingen wordt verwijderd, zodat het scherm op afstand kan worden bekeken en opgenomen
  • key-attestationcertificaten worden aangepast en Play Integrity-verzoeken via een server van de operators lopen

"Doordat de engine binnen het eigen proces van de bankapp draait, wordt de verdediging van de app tegen haar gekeerd", aldus de onderzoekers.

Deze trucs hebben hun grenzen. De attestation-keybox die met de malware wordt meegeleverd, is al openbaar uitgelekt en Google heeft twee van de certificaten als gecompromitteerd aangemerkt. Intrekkingscontroles aan de serverkant kunnen de vervalste attestaties daardoor onderscheppen.

Wat er wordt gestolen

Eenmaal actief kan Hirudo bankwachtwoorden, betaalpincodes, ontgrendelgegevens van het toestel en sms-berichten onderscheppen. Operators kunnen het scherm live meekijken, de telefoon in realtime overnemen, schermafbeeldingen maken, geluid opnemen en beide camera's gebruiken.

De malware toont ook nepafrekenpagina's die om de betaalpincode vragen. Nadat het slachtoffer die heeft ingevoerd, verschijnt een verzonnen scherm met "betaling geslaagd", terwijl de gegevens op de achtergrond worden gestolen.

ThreatFabric vond een onbeveiligd backendpaneel met duizenden vermeldingen van inloggegevens voor apps, plus gegevens over toestellen, vergrendelschermen en financiële profielen. Hoeveel slachtoffers er zijn, is nog onbekend.

De onderzoekers omschrijven Hirudo als "een bewuste escalatie in de manier waarop Android-banktrojans geharde applicaties benaderen". De aanvallers stappen af van het misleiden van integriteitscontroles op toestelniveau en richten zich nu op de beveiliging die in de bankapps zelf is ingebouwd.

ThreatFabric raadt banken aan integriteit en attestatie aan de serverkant te valideren, deze controles te koppelen aan sessies en beveiligde handelingen, en gedrags- en transactierisicocontroles te handhaven. Gebruikers doen er goed aan updates te installeren, APK-bestanden uit onofficiële winkels te vermijden en af en toe een scan met Play Protect uit te voeren.

Onze analyse

Hirudo laat de grenzen zien van beveiliging aan de clientkant. Als een aanvaller het app-proces in handen heeft, kan elke controle die daarbinnen draait aan het liegen worden gebracht. Dat wijst erop dat banken die vooral op detectie in de app vertrouwen, meer van hun vertrouwensbeslissingen naar de server moeten verplaatsen, precies wat ThreatFabric aanbeveelt.

De besmettingsroute past ook in een breder patroon bij mobiele dreigingen. Malware komt binnen via gesideloade apps of staat al voorgeïnstalleerd op goedkope Android-telefoons, en beide routes omzeilen de controle van Google Play. Basishygiëne, zoals het installeren van de nieuwste Android-beveiligingsupdates, blijft belangrijk, maar houdt een gebruiker die Accessibility-toegang geeft aan een nepupdate niet tegen.

Het is de moeite waard om in de gaten te houden of de operators de uitgelekte keybox vervangen en of Hirudo zich verder verspreidt dan de huidige focus op Indonesië.