Overlay-aanvallen voorkom je zo

Twee-factorauthenticatie wordt gezien als de beste manier om cybercriminelen dwars te zitten die zich richten op apps voor online bankieren. De techniek dekt zowel alle technische als menselijke zwaktes af, zo werd lang gedacht. Helaas doet de laatste jaren een aanvalsmethode de ronde die het klassieke social engineering combineert met de technische zwakheden van de mobiele bankapps zelf.

Gebruikers van apps voor mobiel bankieren zijn sinds enkele jaren het doelwit van een zeer geniepige aanval. Deze zogenaamde Overlay-malware detecteert het wanneer de gebruiker een bankierapp opent. De malware duwt de app naar de achtergrond en presenteert een gebruikersinterface die vrijwel identiek is aan het origineel. Hij steelt alle gegevens die de gebruiker invoert, waaronder wachtwoorden en SMS-codes, en de gegevens van de transactie wordt stiekem veranderd. De gebruiker stuurt daardoor een transactie naar de criminelen zonder het te weten. Overlay malware neemt in de meeste gevallen de vorm aan van een Trojan; een ogenschijnlijk legitieme applicatie die je kunt downloaden van een legitieme website of online marktplaats voor mobiele apps.

BankBot

Een voorbeeld die recent is opgedoken is BankBot. BankBot is gericht op Android-toestellen en heeft in het verleden vooral slachtoffers gemaakt in Rusland. Nieuwere versies richten zich echter op een veel bredere schaal, met varianten voor 420 banken in Duitsland, Frankrijk, Oostenrijk, Nederland, Turkije en de Verenigde Staten. Verborgen als ‘normale’ app verkrijgbaar in Google Play steelt BankBot onder andere gebruikersnamen, wachtwoorden, PIN-codes en kaartgegevens. Het onderschept ook SMS-berichten, een veelgebruikte manier waarop banken hun gebruikers authentiseren. Ondertussen hebben gebruikers geen idee slachtoffer te zijn, tot blijkt dat het account is geplunderd of dat betalingen terecht zijn gekomen bij criminelen.

Meerdere aanvalsmogelijkheden

Feitelijk combineren BankBot en andere overlay malware twee klassieke manieren waar cybercriminelen vroeger gebruik van maakten. Het is deels social engineering, methodes die hackers aanwenden om gebruikers dingen te laten doen waardoor de criminelen toegang krijgen tot diens systeem. Trojans kenmerken zich door het gegeven dat de gebruiker helemaal niet door heeft iets kwaadaardigs te installeren. BankBot zat bijvoorbeeld eerst verborgen in een app die weervoorspellingen toont, en daarna in verschillende video-apps. Na installatie vraagt de applicatie om adminrechten. Dat hoort op zich al een waarschuwing te zijn. Weer-apps hebben namelijk helemaal geen adminrechten nodig om te kunnen functioneren. Desondanks klikken de meeste gebruikers gewoon verder. Als laatste is de overlay zelf een manier om gebruikers te misleiden waardoor ze dingen doen die ze helemaal niet willen doen. Denk aan het delen van bankgegevens of zelfs het goedkeuren van een malafide transactie.

Maar overlay-aanvallen buiten niet alleen de onervarenheid of gebrek aan kennis bij gebruikers uit. Ze werken ook omdat het mobiele platform waar de apps op draaien kwetsbaarheden kent. Zo kunnen ze via een drive-by download worden geïnstalleerd, wat betekent dat een gebruiker alleen maar een malafide of geïnfecteerde website hoeft te bezoeken. Het meest typisch gedrag van overlay malware is dat ze legitieme bankapps naar de achtergrond dringen. De app detecteert niet dat het als achtergrondproces draait en laat gebruikersinteractie nog steeds toe terwijl het feitelijk onmogelijk is voor een menselijke gebruiker om een achtergrondproces te bedienen.

Bescherming op meerdere niveaus

De opkomst van overlay-aanvallen heeft de noodzaak voor bescherming op meerdere niveaus alleen maar vergroot. Zelfs de meest robuuste twee-factorauthenticatie biedt immers niet langer voldoende bescherming. De organisaties achter de apps dragen hier verantwoordelijkheid. De apps zelf dienen ingebouwde bescherming te hebben die opmerkt wanneer de app op de achtergrond draait. Ze moeten alle gebruikersinvoer vervolgens standaard blokkeren en voorkomen dat een overlay wordt getoond. Overlay-aanvallen moeten dus worden bestreden als methode, en niet als blokkade van een specifiek stukje malware. Constant verschijnt er immers nieuwe malware, en BankBot is de eerste noch de laatste die gebruik maakt van de genoemde aanvalsmethodes. Bedenk ook dat toekomstige malware geavanceerder zal zijn en andere zwakke punten uitbuit die tot nu toe onbekend zijn. Effectieve beveiliging betekent dat het uitbuiten van één specifieke zwakte niet langer genoeg is om de gebruiker schade toe te brengen.

Twee-factorauthenticatie blijft een belangrijk onderdeel van de beveiliging. Criminelen die erin slagen om credenties of zelfs kaartgegevens te bemachtigen komen dan niet ver zonder ook een fysiek apparaat of cryptografische sleutel in handen te krijgen. Dat kunnen hardware- of softwaregebaseerde tokens zijn waarmee de gebruiker een code ontvangt bij iedere gevoelige actie. Het in handen krijgen van de kennis van een gebruiker, zoals een wachtwoord een stukje kennis is, zal voor cybercriminelen op zichzelf niet langer bruikbaar zijn.

RASP-technologie (Runtime Application Self-Protection) biedt de benodigde bescherming op meerdere niveaus door de beveiliging direct te integreren met de applicaties zelf. Een crimineel zal door meer dan één beveiligingslaag heen moeten breken om ergens te komen. RASP kijkt bovendien naar gedrag in plaats van naar specifieke code, waardoor bijvoorbeeld overlay-aanvallen meteen worden gestopt.

DIGIPASS for Apps van VASCO biedt RASP-bescherming van de Noorse ontwikkelaar Promon. Daarin zit ook specifieke bescherming tegen overlay-aanvallen die het verdringen van een applicatie door een overlay voorkomt. Daarbij maakt het niet uit welke specifieke malware dit probeert te doen. DIGIPASS for Apps biedt ook sterke twee-factorauthenticatie, waardoor financiële dienstverleners alles in handen hebben om hun gebruikers te beschermen. Die verantwoordelijkheid zullen ze hoe dan ook moeten nemen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *