Malware onder Android opsporen en verwijderen

Noud van Kruysbergen
1

Inhoudsopgave

Smartphones zijn populaire aanvalsobjecten: er staan veel gevoelige data op en ze zijn nonstop online. De kans is dus groot dat jouw mobieltje ook een keer het mikpunt van malware wordt. Hoe kom je erachter of je telefoon is besmet en hoe los je dat op?

android_onbekende_bronnen

Met de optie ‘Onbekende bronnen’ kun je ook apps installeren die niet in de Play Store staan. Daarmee open je mogelijk de poort voor malware. Je kunt hem dan ook het beste uit laten.

Met smartphones ga je vaak minder zorgvuldig om dan met je pc. Cybercriminelen zien allang de kansen die deze apparaten bieden. Want of je telefoon nu voor privégebruik is of voor je werk, hij bevat gevoelige en (voor criminelen) waardevolle data. Daarnaast worden er meestal weinig tot geen beveiligings- en detectiemaatregelen getroffen zoals antivirussoftware of verbindingen via proxy’s. Voor aanvallers wordt het daarmee veel makkelijker om ongemerkt toegang te krijgen.

Meer achtergrondartikelen vind je in c't 05/2024

Webbased en appbased malware

Over het algemeen kunnen bedreigingen voor Android in twee klassen worden gecategoriseerd: webbased en appbased. De webgebaseerde dreigingen maken gebruik van onveilige implementaties van mobiele browsers, en van hun diepe integratie in het besturingssysteem. Moderne browsers ondersteunen bijvoorbeeld functies als embedded videoplayers. Vanwege hun mogelijkheden om bijvoorbeeld grote hoeveelheden externe gegevens te parsen ontstaan er regelmatig beveiligingslekken – denk aan Stagefright en de bijbehorende exploit-implementatie Metaphor.

Aanvallers kunnen gebruikers verleiden om op een link te klikken die via social media, Twitter of WhatsApp wordt gestuurd. Met name links in berichten die iemand van een bekend persoon via een social media-app heeft gekregen, worden vrijwel nooit gecontroleerd. Per e-mail gebeurt dat daarentegen vaak wel.

De tweede soort mobiele bedreigingen zijn op apps gebaseerd. Je kunt apps downloaden via officiële app-stores of op dubieuze websites. Op platforms als Google Play is de kans kleiner dat je met het installeren van een app ook schadelijke code binnenhaalt. Google controleert de software namelijk grondig, maar toch is een besmetting daarmee alsnog niet helemaal uitgesloten. Zoals in het verleden is gebleken, glippen er toch altijd weer apps met schadelijk en ongewenst gedrag door de controle.

Ziektes

Schadelijke Android-apps zijn in een paar typen bedreiging te verdelen.

  • Malware: hiermee willen aanvallers toegang krijgen tot een apparaat. Doelen zijn data stelen, telefoonacties op afstand bedienen, de gebruiker chanteren of het apparaat schade toebrengen. Malware wordt geïnstalleerd door de gebruiker ervan te overtuigen dat de app betrouwbaar is. Ook kan worden geprofiteerd van een kwetsbare plek in het apparaat.
  • Spyware: het doel van spyware, vaak ook remote access tools (RAT) genoemd, is informatie verzamelen over het slachtoffer en die naar de persoon sturen die de spyware heeft geïnstalleerd. Spyware komt vaak op het apparaat van het slachtoffer doordat de aanvaller fysiek even bij de smartphone kan. Het apparaat ligt bijvoorbeeld onbewaakt op een bureau of in een café of het slachtoffer wordt afgeleid. In sommige gevallen is fysieke toegang echter niet nodig. Spywaretools kunnen tegenwoordig namelijk ook met behulp van beveiligingslekken of social engineering- technieken op het apparaat worden geïnstalleerd.
  • Grayware: deze groep bestaat uit apps die je zelf hebt geïnstalleerd, waarschijnlijk omdat je dacht dat ze onschuldig zouden zijn. In werkelijkheid zijn het echter spionage-apps of sturen ze je door naar louche websites. Enerzijds werkt de software zoals verwacht, omdat de ontwikkelaars ook echte functies hebben geïntegreerd. Anderzijds wordt informatie verzameld, zoals je adresboek of de browsergeschiedenis. Hoofddoel van deze apps is gegevens te verzamelen voor marketingdoeleinden of om door te verkopen in het illegale circuit. Ook kan er extra reclame mee worden weergegeven. Vaak worden dit soort apps ook Potentially Unwanted Apps (PUA) of adware genoemd.
  • APT: de afkorting voor ‘Advanced Persistent Threat’ oftewel een doelgerichte aanval. Dit zijn apps of aanvallen die de eigenschappen van mal- en spyware combineren en bestemd zijn voor kleine doelgroepen. De aanvallers manipuleren meestal bekende apps om ze vervolgens aan een bepaald slachtoffer aan te bieden. Vaak kost de manipulatie veel moeite en is die moeilijk te detecteren. Ook antivirusproducenten kunnen hier vaak weinig aan doen, omdat dit soort software maar sporadisch verschijnt en concreet op het slachtoffer is afgestemd. Bekend zijn met name aanvallen en gemanipuleerde apps van het omstreden bedrijf Hacking-Team.

android_spyware2

Gevoelige data

Het meest populaire doel van aanvallers en malware-ontwikkelaars is nog steeds het stelen van gevoelige data. Denk aan het telefoonboek of toegangsgegevens voor online platforms. Op de tweede plaats staan programma’s voor botnets. Deze maken bijvoorbeeld verbindingen met command-and-control-servers om de commando’s van de servers uit te kunnen voeren of er data naartoe te kunnen sturen.

In het recente verleden zijn daar commerciële malware-apps en spyware bijgekomen die particulieren of bedrijven bespioneren. Malware waarmee beveiligingscodes worden onderschept en gemanipuleerd, is over de afgelopen twee jaar net zo hard toegenomen.

Cryptolockers vormden eerst alleen een bedreiging voor pc’s, maar sinds vorig jaar zijn ze er ook voor Android. De malware versleutelt de telefoon of gebruikersdata met een wachtwoord en vervolgens wordt een melding weergegeven dat de gebruiker voor dat wachtwoord eerst een bepaald bedrag moet betalen.

Symptomen

Gelukkig zijn er meestal wel indicaties van een mogelijke besmetting. Als er plots onbekende kostenposten op je telefoonrekening verschijnen, zijn premiumdiensten daarvan vaak de oorzaak. Voorbeelden zijn sms-berichten naar speed-dials of abonnementendiensten die je niet zelf hebt afgesloten. Ook een verhoogd datavolume op je telefoonrekening en in de betreffende instellingen van je telefoon (‘Instellingen / Datagebruik’) kan verdacht zijn. Spyware – en ook veel malware-apps – proberen data van de besmette telefoon naar de aanvaller te sturen. Dat zie je duidelijk aan het datagebruik.

Enkele kwaadaardige apps verbruiken veel energie terwijl ze op de achtergrond draaien. Het gevolg is dat de accu sneller leegloopt dan normaal. Daarmee samenhangend is er een ongewone warmteontwikkeling op momenten dat je de telefoon niet gebruikt. Bovendien blijven er minder resources over voor andere functies. Daardoor reageert de telefoon soms bijzonder traag op invoer van de gebruiker. Een andere indicatie voor malware is als je ineens meer advertenties te zien krijgt.

Doorlezen is gratis, maar eerst even dit:

Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine – het meest toonaangevende computertijdschrift van Nederland en België. Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.

Bekijk de abonnementen   Lees eerst verder

Systeemupdates

Ongewenste apps zetten meestal nieuwe snelkoppelingen op het homescreen of in de lijst met geïnstalleerde apps. Malware die niet helemaal is uitgekristalliseerd of in het ergste geval zichzelf roottoegang verschaft, kan sporadisch reboots veroorzaken. Om aan voldoende rechten te komen, geven sommige apps zichzelf bij Androids systeeminstellingen het recht van apparaatbeheerder. Daarmee zorgen ze ervoor dat je ze niet zo makkelijk kunt verwijderen. Je vindt die lijst onder ‘Instellingen / Beveiliging / Apparaatbeheerders’.

Maar niet al deze symptomen betekenen meteen dat je apparaat is besmet. Ook systeemupdates of legitieme apps kunnen de oorzaak zijn voor dit gedrag. Als je telefoon raar gedrag vertoont, moet je eerst het apparaat en je rekening over langere tijd in de gaten houden. Probeer zo te achterhalen of het om eenmalige (bijvoorbeeld een update op de achtergrond) of om regelmatig terugkerende gebeurtenissen gaat. Vaak is er een verhoogd datagebruik mee gemoeid dat ook kan worden veroorzaakt door een email die in het postvak UIT van je smartphone is blijven hangen. Als de verdenking toch naar malware uitgaat, moet je de verdachte apps beperkingen opleggen of verwijderen.

Verdachte apps opsporen

Wil je een besmetting opsporen, dan moet je eerst alle geïnstalleerde apps doornemen. Meer dan negentig procent van alle besmettingen wordt namelijk veroorzaakt door schadelijke applicaties. Je vindt het overzicht onder ‘Instellingen / Apps’. Klik je op een van deze apps, dan zie je via de optie ‘Machtigingen’ en/of via het snelmenu rechtsboven alle rechten die worden opgeëist. Een ervaren gebruiker kan aan de hand van deze machtigingen vaak al zien welke app mogelijk de oorzaak is voor het vreemde gedrag.

AppExtract

Aan de hand van de AppExtract-reports kun je bijvoorbeeld installatiegegevens met opmerkelijke kostenposten op je telefoonrekening vergelijken.

Met de analyse-app AppExtract wordt het makkelijker om software met bepaalde kuren aan nader onderzoek te onderwerpen en te beoordelen. Deze gratis app geeft een overzicht van alle geïnstalleerde apps compleet met hashwaarden en informatie over de auteur. Dat laatste gebeurt aan de hand van het certificaat en de versienummers. Die gegevens kunnen voor het identificeren van de app van pas komen. Vervolgens kun je ze vergelijken met bekende apps.

virustotal

Antivirusservices als VirusTotal kunnen je erop attenderen dat een app bijvoorbeeld de locatie mag opvragen of het internet mag gebruiken.

Verder kan de tool het bericht direct per e-mail naar ervaren gebruikers of analisten versturen. De MD5-checksum in het rapport kan dan worden vergeleken met online databases zoals VirusTotal. Daarmee kun je vaststellen of de app wel of niet als schadelijk te boek staat. Wil je meer te weten komen, dan krijg je met het AppExtract-rapport ook het pad te zien waaronder het APK-bestand van de app staat. Je kunt dit bestand met onderstaand commando voor handmatige reversing (kort voor ‘reverse engineering’) doorgeven aan een computer waarop de Android SDK is geïnstalleerd:

adb pull /data/app/[naam pakket].apk~/ malicious_apps/

Handmatig reversen

Voor handmatige reversing heb je heel wat kennis van Android nodig. Ook moet je weten hoe apps zijn opgebouwd en verstand hebben van de gangbare programmeertalen Java en C.

Omdat elke app anders is opgebouwd en er geen universele blauwdruk bestaat voor reversing, zullen we hier alleen kort bespreken hoe je in het algemeen het best te werk kunt gaan. Je begint met speciale tools als Codeinspect, JADx-GUI, Androguard of smali die de eerste stappen automatisch afhandelen. Je kunt er de app mee decompileren, zodat je weer de broncode krijgt die overeenkomt met de oorspronkelijke code van de ontwikkelaar.

Ben je zover, dan begin je normaal gesproken met het Android-manifest. Hierin staan de vereiste machtigingen; verder staat de plaats in de broncode vermeld die wordt uitgevoerd zodra de app wordt opgestart. Ook wordt beschreven of de app op bepaalde events wacht zoals binnenkomende sms-berichten en welk stuk broncode vervolgens wordt aangeroepen. Deze stukken code zijn een goed startpunt voor het reversen van de app. Vanaf dit punt komt het aan op ervaring en speurderszin.

Bekende spyware en het herkennen ervan

Sinds een paar jaar is er een aparte markt voor spyware. Vaak wordt als ‘reclame’ voor deze tools gesteld dat je je kinderen daarmee makkelijker in de gaten kunt houden en ze indien nodig zelfs kunt traceren. Je partner wordt als extra verkoopargument genoemd. Feitelijk gaat het om industriespionage. De tools beloven je alles wat je je van zulke software kunt wensen: telefonische ondersteuning, garantie dat de software werkt en soms zelfs dat het slachtoffer niets meekrijgt van de software. In de tabel hiernaast staan tips om enkele van deze spywareoplossingen op je eigen apparaat te kunnen opsporen.

android_spyware

Bij spyware-tools wordt vaak reclame gemaakt voor het feit dat je je kinderen of partner in de gaten kunt houden. Vaak betreft het echter industriespionage.

Rooting detecteren

Aanvallers en goedwerkende malware proberen op je smartphone altijd aan rootrechten te komen. Op die manier zijn ze in staat om hun werk onopvallend op het apparaat uit te voeren. Het lokale beveiligingsbeleid houdt ze dan namelijk niet tegen. Om die reden is het moeilijk te zien of het gelukt is de smartphone te rooten. Met onderstaande tips kun je controleren of je apparaat eventueel geroot is.

  • Geïnstalleerde apps: na succesvol rooten vind je in de lijst met geïnstalleerde apps vaak apps als SuperSu en BusyBox.
  • Commandline-gebruikers: als je via de Android Developer Bridge (ADB) verbinding maakt met de smartphone, krijg je toegang tot de commandline van de telefoon – mits de USB-foutopsporing onder de ‘Optie voor ontwikkelaars’ is ingeschakeld. Voer je hier het commando id in, dan zie je bij niet-geroote apparaten als antwoord ‘uid=2000(shell)’, bij geroote daarentegen ‘uid=0(root)’.
  • Commandline-commando’s: het commando su op de commandline moet de volgende foutmelding geven: ‘/system/ bin/sh: su: not found’. Het kan echter ook zijn dat er een pop-up op de smartphone verschijnt of de commandline verandert. Dat is dan een teken van rooting.
  • Partities: met het invoeren van het commando mount krijg je een overzicht van alle partities van de smartphone. De systeempartitie moet daarbij als eerste waarde ‘ro’ (read only) hebben. Zie je hier ‘rw’ (read/write), dan is het apparaat waarschijnlijk gemanipuleerd.
  • AndroidSE: dit betreft regels die in de kernel ervoor zorgen dat gevaarlijke systeemoproepen geen schade veroorzaken. Deze regels moeten op de meeste moderne telefoons (Android 5.0 en hoger) op ‘Enforcing’ staan. Met getenforce kun je ze opvragen.
  • Processen: met het commando ps krijg je een overzicht van alle processen die op dat moment op de smartphone draaien. Processen die met ‘daemonsu’ beginnen, zijn een indicatie voor rooting.

Als een of meerdere van bovenstaande tests positief uitvallen, is je smartphone waarschijnlijk geroot. Je kunt er dan van uitgaan dat de aanvaller of de malware volledige controle over je smartphone en alle data heeft – inclusief de invoer via het toetsenbord.

Hoe schoon ik mijn apparaat op?

In veel gevallen – zeker als het simpele malware of adware betreft – hoef je niet meer te doen dan de app in kwestie verwijderen. Heb je echter sporen van rooting gevonden of heeft een van de apps zichzelf tot apparaatbeheerder gebombardeerd, dan kun je de telefoon alleen terugzetten naar de fabrieksinstellingen. In beide gevallen moet je ook alle wachtwoorden wijzigen die op het apparaat zijn opgeslagen en van daaruit worden gebruikt. Veel schadelijke apps werken juist met deze data en kunnen de smartphone daarmee eventueel opnieuw besmetten.

Ook is het na het resetten van het apparaat belangrijk om goed te controleren welke gegevens en apps uit een eventuele back-up kunnen worden teruggezet. Met de back-up kan de malafide app namelijk opnieuw op je smartphone terechtkomen en al je werk om zeep helpen.

Als je slachtoffer was van bijvoorbeeld een doelgerichte aanval, kun je vaak het beste meteen een nieuwe telefoon kopen of alle partities overschrijven. Sommige malware overleeft inmiddels ook al resets. De systeem- of bootpartitie wordt dan zodanig besmet dat de malware na een herstart of fabrieksrest opnieuw geïnstalleerd wordt.

Betere afweer

Voor een smartphone gelden min of meer dezelfde gedragsregels als bij een pc.

  1. Controleer apps voordat je ze installeert. Over het algemeen kun je het beste goed overwegen welke app je wilt installeren. Welke machtigingen eist de app op? Wie is de auteur? Hoe zijn de beoordelingen? Hoe lang bestaat de app al? Welke apps heeft de auteur nog meer in Google Play gepubliceerd en hoe staat het met de machtigingen daarvan? Al deze vragen kunnen helpen om een legitieme app te detecteren.
  2. Installeer alleen apps uit de Google Play Store. Geen enkele andere appstore-exploitant voor Android heeft zulke hoge beveiligingsstandaards als Google.
  3. Laat ‘Onbekende bronnen’ uitgeschakeld. Door deze optie te deactiveren bij ‘Instellingen / Beveiliging’ voorkom je dat er apps worden geïnstalleerd vanuit dubieuze bronnen, e-mails of gemanipuleerde websites. Hiermee worden veel gebruikte besmettingsmethoden lamgelegd.
  4. Houd ‘Apps verifiëren’ ingeschakeld. Met deze optie onder ‘Instelling / Google / Beveiliging’ wordt regelmatig informatie over geïnstalleerde apps naar Google verzonden. Daar worden ze vergeleken met schadelijke apps. Mocht er iets ernstigs worden gevonden, dan word je hierover via een pop-up geïnformeerd.
  5. Controleer e-mails en berichten van social media. Op de pc doe je dat al, dus houd je daar consequent aan. Open alleen e-mails – en met name de bijlagen – als je de afzender kent. Hetzelfde geldt voor klikken op links in e-mails of andere berichten op je smartphone van WhatsApp, Facebook, sms et cetera.
  6. Root het apparaat zelf niet. Rooten is verleidelijk omdat je een andere interface kunt installeren, nieuwe functies kunt krijgen en custom-roms kunt installeren. Maar rooting maakt je besturingssysteem ook veel kwetsbaarder. De aanwezige beveiligingsmechanismen worden compleet uitgeschakeld of kunnen niets meer.
  7. Schakel versleuteling in en foutopsporing uit. Controleer of de foutopsporing ook echt uit staat (‘Instellingen / Opties voor ontwikkelaars / USBfoutopsporing’). Anders kan een aanvaller je telefoon binnen een paar minuten besmetten als hij er fysiek bij kan. Ook versleuteling is een belangrijke beveiliging. Het wordt daarmee voor de aanvaller veel moeilijker om bij je data te komen.
  8. Gebruik een veilige schermvergrendeling. De vergrendeling beschermt de smartphone tegen toegang door onbevoegden. Dit is enorm belangrijk aangezien veel malware of aanvallen alleen worden geïnstalleerd met interactie van de gebruiker. Een aanvaller heeft niet veel tijd nodig om je apparaat te besmetten als je het onbeschermd laat liggen. Een lange pincode of wachtwoord vormen de juiste bescherming.

Absolute beveiliging

android_machtigingen

Doet je smartphone raar? Kijk eens bij de machtigingen welke app verantwoordelijk zou kunnen zijn.

De hier genoemde maatregelen bieden geen absolute beveiliging – die bestaat gewoonweg ook niet. Wel wordt het daarmee voor een aanvaller beduidend lastiger om je smartphone of tablet te besmetten. Ook bieden ze bescherming tegen malware die bestemd is voor een breed publiek.

Gaat het om een goed opgezette of een gerichte aanval op Android-apparaten, dan zijn de beveiligingsmogelijkheden behoorlijk beperkt. De kans dat je je met succes tegen zoiets kunt beschermen is daarom meestal erg klein. Zeker wanneer je telefoon in de basis niet veilig is. Onlangs werd namelijk bekend dat er vier ernstige kwetsbaarheden (‘Quadrooter’) zijn ontdekt in de drivers van de gebruikte Qualcomm-chips. Hierdoor zouden volgens de ontdekkers honderden miljoenen Android-telefoons gevaar lopen, al valt het volgens Google wel mee. Het is maar dat je het weet.

Links

Android-apps voor diagnose

AppExtract

Tools/applicaties voor app-diagnose

CodeInspect (Fraunhofer)

JADx-GUI

Java/DEX-decompiler

Androguard

Python-tool om Android-apps te checken

Androguard, quickguide

Korte omschrijving van Androguard door de auteur van het artikel

smali

DEX-assembler/disassembler

Quadrooter, kwetsbaarheden in chips van Qualcomm

Is mijn smartphone besmet?

Onderstaand gedrag is mogelijk een indicatie dat je apparaat met malware is besmet:

  • onbekende kostenposten op je rekening
  • verhoogd datavolume
  • verhoogd accugebruik
  • abnormale warmteontwikkeling
  • meer advertenties
  • trage reactie
  • nieuwe app-pictogrammen
  • ongewenste reboots
  • nieuwe apparaatbeheerders

Dit wil malware bereiken

De meeste apps combineren meerdere soorten bedreigingen en beschikken over meerdere van onderstaande eigenschappen.

malware

(Michael Spreitzenbarth/Marcel van der Meer, c’t magazine)

Meer achtergrondartikelen vind je in c't 05/2024

Meer over

Malware

Deel dit artikel

Noud van Kruysbergen
Noud van KruysbergenNoud heeft de 'American Dream' doorlopen van jongste bediende tot hoofdredacteur van c't, waar hij zo veel mogelijk de diepgang, betrouwbaarheid en diversiteit wil bewaken.

Lees ook

Android 4.2 waarschuwt voor malware

De komende Android-versie 4.2, die nog steeds Jelly Bean heet, bevat behalve multiuser-ondersteuning  en een panoramacamera ook interessante beveiligi...

Cryptomining: malware zet je pc aan het werk

Iedereen kan het slachtoffer worden van cryptomining, bijvoorbeeld als je een streamingsite bezoekt of gratis software installeert. Deze vorm van malw...

1 Praat mee
avatar
  Abonneer  
nieuwsteoudste
Laat het mij weten wanneer er
H.dezeeiw
Lezer
H.dezeeiw

Beste wout,
Lerrzaam artikel. Mijn geval komt er echter niet in voor, namelijk adware die aan de samsung internet-app is gekoppeld. Die app kun je niet verwijderen. Hoe dan van de adware (android.adwhirl.a) af te komen?