Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Android-malware injecteert code en schakelt beveiligingsfunctie uit

Door , 62 reacties

Beveiligingsbedrijf Kaspersky heeft Android-malware ontdekt, die het zelf aanduidt als de Dvmap-trojan. Deze zogenaamde rooting-malware onderscheidt zich van andere varianten doordat hij in staat is om kwaadaardige code te injecteren.

Android logoOnderzoeker Roman Unucheck legt uit dat de malware sinds september 2016 ongeveer honderd keer naar Googles Play Store is geüpload en in totaal 50.000 keer is gedownload. Na een melding door Kaspersky is de Dvmap-trojan, die onder meer in de Play Store aanwezig was onder de naam colourblock, door Google verwijderd.

Het doel van de malware is om rootrechten op een Android-toestel te verkrijgen en vervolgens aanvullende onderdelen te downloaden. Unucheck meldt dat er tijdens zijn onderzoek echter geen onderdelen werden gedownload ondanks een werkende verbinding met een c2-server. Omdat de malware in de gaten houdt wat gebruikers doen en omdat er gebruikgemaakt wordt van technieken die het geïnfecteerde systeem kunnen laten vastlopen, vermoedt de onderzoeker dat het bij de malware om een test gaat.

Om de Play Store in te komen, uploaden de Dvmap-makers eerst een goedaardige versie van hun app naar de winkel. Vervolgens voeren zij een update uit, waarmee zij kwaadaardige code aan hun software toevoegen. Deze updates zijn maar tijdelijk en meestal werd binnen een dag weer een schone versie van de app teruggeplaatst. Eenmaal door een gebruiker gedownload, pakt de app verschillende versleutelde archieven uit en probeert hij rootrechten te verkrijgen.

Daarvoor gebruikt de malware verschillende bestanden, waaronder een bestand voor 64bit-systemen. Dat verschijnsel is volgens Unucheck zeer zeldzaam. Vervolgens patcht de malware verschillende runtime libraries door zijn eigen code te injecteren, afhankelijk van de Android-versie van het geïnfecteerde systeem. Dit doet de software om er zeker van te zijn dat zijn kwaadaardige component met de juiste rechten wordt uitgevoerd. Dit proces kan leiden tot crashes, aldus de onderzoeker.

De gepatchte bibliotheek voert vervolgens de kwaadaardige component uit, die in staat is om de Google-beveiliging 'Verify Apps' uit te schakelen, waarmee het bedrijf Android-malware detecteert. Bovendien is de module in staat om het installeren van apps uit onbekende bronnen in te schakelen, dat standaard uit staat. Verder worden beheerdersrechten toegekend aan de software die verantwoordelijk is voor het binnenhalen van aanvullende onderdelen.

Door Sander van Voorst

Nieuwsredacteur

08-06-2017 • 13:28

62 Linkedin Google+

Reacties (62)

Wijzig sortering
Dit zou een reden moeten zijn waarvoor Google zou besluiten om hier een extra security check op uit te voeren. Handmatig weliswaar!

Alleen de changes sinds de laatste versie dienen op die manier te worden gecheckt, en hoe het "interact" met de rest van de code.
Ik vraag me sowieso af waarom blijkbaar een update niet gecontroleerd wordt op kwaadaardige code.
Update lopen vaak buiten de play store om. Updates zouden verplicht via de playstore moeten lopen met scan op dit soort code.
Volgens mij kunnen updates niet buiten de playstore om lopen (als het bestand oorspronkelijk ook van de Playstore af komt) Ikzelf ben het ook nog niet tegen gekomen. Installaties (waaronder updates) buiten de Playstore om, moeten ook de install from unknown sources aan hebben staan.
Klopt. Een update van een Android app is een hele nieuwe APK met een hoger versie nummer, dat ook gewoon in Google Developer Console geupload en gepublished moet worden.
dat kan wel, je kunt gewoon een apk installeren over de huidige versie heen, maar dan moet inderdaad unknown sources aan staan
Zoals Apple dus in feite ook doet. Alleen dan komen de klachten van Android gebruikers weer dat het systeem te gesloten is geworden. Beetje kip ei verhaal volgens mij.

Tijd voor "verplichte security updates" voor alles Android als je het mij vraagt.
Yep. Alleen kan je niet simpelweg op het vertrouwen van de mens af gaan. Daarvoor zitten er teveel rotte appels tussen. Dat heeft dus consequenties voor dit systeem. Zoiets moeten we dus imho maar voor lief nemen... Tot op zekere hoogte dan!
Waar baseer je dit op? Volgens mij lopen alle updates via de Play Store en is het ook niet toegestaan om verdere updates buiten de Play Store om te doen.
Jawel hoor, geen probleem. Je moet alleen de gebruiker zover krijgen dat hij/zij het toestaat en de meesten zijn daar terecht niet zo happig op.

De AliExpress App heeft er een handje van. New version available, download here om je vervolgens naar een eigen web server te verwijzen.

[Reactie gewijzigd door brammieman op 8 juni 2017 16:52]

Dat gebeurt natuurlijk ook (zou wel heel makkelijk zijn anders...), maar deze variant is nieuw en onbekend en werd daarom niet herkend.

[Reactie gewijzigd door P1nGu1n op 8 juni 2017 13:37]

Het is een mythe dat Stores veilig zijn, ze zouden dat ook niet zo moeten reclameren.
Ze proberen het wel maar we komen uit een internet tijdperk die begon met programma's delen op disk, en toen online en toen websites die verschillende programma's promoten..(wie weet wat er allemaal in zat, haha )
De websites begonnen een belofte dat hun aangeboden thuis- of bedrijf- gemaakte programma's geen virussen/malware bevatten. Nu zitten we met zijn allen in de store en laten we het aan 'hun' over om te controleren.
Ik monitor mijn uitgaande verbindingen nog steeds, ofwel met een app ofwel met een netwerk sniffer enz
Des te meer je bij de gebruiker uit handen neemt des te afhankelijker dat hij wordt
Ik monitor mijn uitgaande verbindingen nog steeds, ofwel met een app ofwel met een netwerk sniffer enz
Interessant. Hoe doe je zoiets concreet? Laat je de checks aan de app over, of loop je van alles handmatig na?
Linkje naar een goede source to get me going zou heel fijn zijn!
Hier een link om wat mee te beginnen
Ik heb een Android smartphone, en een tablet die nagenoeg nooit online zijn, en slechts een enkele keer op de playstore zijn geweest. Toch zijn de beide toestellen gecompromitteerd, alsook het toestel dat ik net had vervangen voor deze smartphone. Ik moet erbij zeggen dat ook mijn hele netwerk gecompromitteerd is geraakt, al enige tijd geleden. Store of niet, als de slimmerikken binnen willen komen, komen ze er toch wel. De schade is niet te overzien als het je gebeurd...
Wat verwacht je dat Google handmatig gaat doen?

Alle broncode doorspitten? Apps kunnen makkelijk tienduizenden of honderdduizenden regels code groot worden, dat is niet te doen.
Dat neemt de noodzaak helaas niet weg @P1nGu1n .

Ja, het is inderdaad mogelijk dat er dan bij een grote update een grote hoeveelheid aan regels code doorgespit moet worden. Echter, om het systeem veilig te houden, is dat wel noodzakelijk.
Dat is totaal onmogelijk, een codebase doorspitten die je nog niet kent kost sowieso veel tijd, en dat maakt het makkelijk om kwaadaardige code te verbergen.

Als je dit wilt doen dan kost een app geen ¤0.99 meer maar ¤99 en het review process van een enkele app gaat dan maanden duren.
Slecht idee. Er staan 2.8 miljoen apps in de play store. Het handmatig testen van updates is onbegonnen werk. Je kunt je tijd en geld beter investeren in het uitzoeken van manieren hoe dit soort exploits voorkomen kunnen worden.
Of de boel wat beter sandboxen of is dat te simplistisch?
For Android 4.4.4 and older, the Trojan will patch method _Z30dvmHeapSourceStartupBeforeForkv from libdvm.so, and for Android 5 and newer it will patch method nativeForkAndSpecialize from libandroid_runtime.so. Both of these libraries are runtime libraries related to Dalvik and ART runtime environments.
Wellicht is een System Integrity Protection implementatie zoals Apple dat heeft handig voor Android.
System Integrity protection restricts the root user account and limits the actions that the root user can perform on protected parts of the Mac operating system.
Liever niet, soms wil je dat soort dingen ook als gebruiker doen met Xposed. Als je een dichtgetimmerd systeem wilt hebben waar je niks meer zelf aan kunt veranderen neem je maar een Apple.
Toch is het maar een kleine groep mensen die geen baad heeft bij dat soort dingen, en een enorme groep mensen wel.
Ik denk dat je met Xposed ook wel een dichtgetimmerd systeem kunt hebben: met Xprivacy kun je b.v. blokkeren dat een programma bepaalde libraries gebruikt; ik denk dat je daarmee wel heel veel malware tegenhoudt?
Als een stuk malware iets wil zal ik opeens allerlei Xprivacy prompts te zien krijgen. Althans, als het via Java code gaaat die system calls aanroepen. Xprivacy is te omzeilen door alles via native libraries te doen.
...maar ik zorg er dus voor dat de malware die libraries niet kan gebruiken, toch?
Nee, zo werkt Xprivacy niet. Xprivacy zet een hook op een aantal (de meeste) system calls voor bestaande Android libraries. Als die aangeroepen worden wordt de call doorgesluisd naar Xprivacy, en afhankelijk van de instelling wordt vervolgens de echte call aangeroepen of een fake resultaat teruggestuurd.

Maar dit werkt alleen met JVM calls naar bekende systemcalls omdat die hooks in de JVM geplaatst worden. Als er vanuit een in de apk meegeleverde library (.so file in de lib dir) direct dingen uitgevoerd worden zonder bestaande system calls te gebruiken gaat dat buiten Xprivacy om.

Gezien het relatief geringe aantal Xprivacy gebruikers denk ik niet dat virusschrijvers zich hier erg druk om gaan maken en gewoon de standaard system calls zullen aanroepen.
Dat heet SELinux en zit al in Android sinds versie 4.3 (2013). Apple kwam daar grofweg twee jaar later mee op Mac OS. (Tot grote ergernis van ondergetekende omdat het mijn ontwikkelomgeving sloopte)
Als het al in Android zit lijkt het vrij weinig te helpen dan
Dat heet SELinux en zit al in Android sinds versie 4.3 (2013). Apple kwam daar grofweg twee jaar later mee op Mac OS. (Tot grote ergernis van ondergetekende omdat het mijn ontwikkelomgeving sloopte)
Ten eerste had Apple soortgelijke technologie (sandboxing) in Mac OS X Lion gebouwd in 2011, nadat het reeds in iOS bestond. Geen idee wat je wil bereiken door dit zo foutief voor te stellen.

Ten tweede hebben ze dit veelvuldig kenbaar gemaakt en hebben ze toendertijd zelfs paar keer deadline verplaatst. Uiteindelijk was dit juli 2012 geworden denk ik.

We hebben toen veel klanten binnengehaald omdat ontwikkelaars te vaak short term denken en support vaak niet veel betekend. Geen enkele van onze apps 9f omgevingen is ooit gestopt met werken (en dit waren er toen al een honderdtal). Ze hadden toen ook nog een klein conflict met Atlassian hierover als ik het nog goed herinner.
Heeft Samsung dat niet? Inderdaad: http://developer.samsung....ts/knox/platform-security - inclusief de gehate 'KNOX warranty bit'. Maar de applicatielaag moet het inderdaad doen met SElinux. Iets afdichten met SElinux is echter nog niet zo eenvoudig.
Handig, ik ben al root. Als een andere app probeert een eigen root implementatie te installeren krijg ik daar meteen een melding van, dus rooten is een goede beveiliging tegen zoiets.
Helemaal mee eens. Als dergelijke malware op een geroot apparaat zich manifesteert, dan verschijnt er een SuperSU popup, tenminste als je dat aanzet bij elke nieuwe app en update van een bestaande app.
Heb je geen root (en dus ook geen 'root manager' zoals SuperSU) dan merk je er niets van.

Maar ja, als je een apparaat, incl alle apps 24/7 met internet verbonden houdt, loop je ook meer risico.

Daarom zou een firewall standaard in elk OS moeten zijn. En elke app die met internet verbindt, geeft de eerste keer een popup
'Do you allow app XXX connects with the internet ? This may cause security issues.'
net zoals Android 6+ ook vraagt om toegang tot camera, foto's, microfoon, enz.

Maar goed met 3rd party apps kan dat gewoon (zowel met als zonder root).
Zelfs als je het niet aanzet voor een app update, aangenomen dat de originele app geen root vereiste. En een rekenmachine of zo die root wil, nou, dan moet er wel een hele goede uitleg komen waarom dat nodig / handig is.

Edit: Google heeft het vragen / tonen van de internet permissie juist expliciet uitgezet in Android 6. Achterliggende reden is natuurlijk dat puur offline gebruikte apps anders geen reclame meer kunnen tonen.

[Reactie gewijzigd door Morgan4321 op 8 juni 2017 15:18]

Rooten is helemaal geen goede beveiliging tegen zoiets. Ja, voor jou is het misschien handig, jij hebt zelf tenslotte je toestel geroot dus je weet welke app wat jou betreft root-recht krijgt. Maar als je ieder apparaat hier standaard van gaat voorzien heb je altijd nog een te grote groep gebruikers die dat allemaal niet inziet als een willekeurige app om root vraagt, en het dan dus maar goedkeurt. Da's natuurlijk helemaal niet handig. Je hebt standaard geen makkelijke manier om even root te krijgen, om een goede reden.
Maar met 'standaard' bedoel ik dat er onder 'Developer options' (die ook standaard niet aan staat) een optie zou moeten staan 'Enable root' en als je daarop klikt, er een flinke disclaimer komt. Dat ziet 99.9% van de gebruikers dat nooit.
Met macOS en Linux heb je standaard toch ook root rechten als je sudo doet ?
Waarom is niet iedereen root dan als het zulke beveiligingsvoordelen heeft?
Goede vraag... :)

Ik wil geen android device als ik geen root kan krijgen. Tv box, tablet, telefoon etc. Als er geen root methode beschikbaar is of root niet standaard geleverd wordt, koop ik het niet.
Omdat de fabrikanten het niet willen. Misschien zijn die bang dat onwetende gebruikers "al die rommel in /system/app gaan opruimen" of zo, en dan komen klagen dat het toestel raar doet.
sterker nog, als je android phone geroot is kan je apps zoals netflix niet eens meer installeren... ze worden niet eens meer getoond in de app store.

het is echt van de zotte waar dit tegenwoordig heen gaat.

alsof je een auto koopt en de motor klep op slot zit en enkel door de leverancier of toeleverancier te openen is en als je toch zelf je lucht filter wil vervangen automatisch het airbag systeem etc.. wordt uitgeschakeld.
Ik download sowieso niet direct op m'n toestel via de play store want ik wil geen Google account op m'n telefoon. Apps haal ik meestal binnen via Raccoon of via een oude telefoon waar geen contacten of agenda items in staan (voor bepaalde betaalde apps: voor sommige apps waar geen drm op zit wil ik best betalen voor een reclamevrije versie. Als er wel drm op zit en ik toch de gekraakte versie op m'n gebruikstoestel moet installeren laat ik dat achterwege).
maar hoe kan je dan verifiëren of er geen malware aan toe is gevoegd?
of kan je ergens een lijst met checksums krijgen oid?
of ga je zo ver dat je zelf aan het compileren slaat?

vroeger rootte ik altijd mijn telefoon maar de software die de root-hack doet is vaak ook maar een bin die je van een vage site moet halen dus je weet niet of daar ook even een rootkitje bij wordt geinstalleerd... daar helpt xprivacy/xposed ook niet tegen.

denk je dat je goed bezig bent haal je via de voordeur een rootkit binnen... dat is nou juist wat we willen voorkomen lijkt me.
Zeker weten doe ik het ook niet, maar ik check een aantal dingen: ik kijk eerest wat de officiele appnaam is. Dan kijk ik in ed manifest file van de gedownload apk of die overeen komt. Als er iets als downloaer bijstaat is het foute boel, dat is adware die belooft de app te zullen binnenhalen.

Verder haal ik gekraakte software vrijwel altijd van mobilism.org, dat is een site waar je eerst lid moet worden om te kunnen zoeken en waar commentaar komt als het toestel raar gaat doen of de hack niet werkt. En veelal zitten daar ook de krakers zelf, bijvoorbeeld van Sygic en Titanium Backup.

[Reactie gewijzigd door Morgan4321 op 12 juni 2017 17:11]

Het klinkt als een goed ontwikkelde 'backdoor' Komende maanden Wikileaks maar even in de gaten houden m.b.t. hun Vault 7 publicaties :)
daar heb je best kans op ja :P

[Reactie gewijzigd door roeldie op 8 juni 2017 13:44]

Ik ben op dit moment in bezit van een Nokia Luma 930 (Windows Mobile). Ondanks dat ik het een heerlijk OS vind, heeft Windows Phone z'n beste tijd gehad. Dan hou je qua OS alleen maar Android of iOS over.

Omdat ik Apple te duur vind, staan Android telefoons bovenaan mijn lijstje. De vele berichtgevingen over trojans, malware, etc. zoals deze, maken mij echter enorm huiverig om de daadwerkelijke overstap te maken. Zeker omdat ik zeer gemengde gebruikerservaringen lees over het updatebeleid van diverse producenten.

Is dit nu terecht?
Ik doe echt weinig spannends met mijn telefoon. Ik maak een foto en gebruik WhatsApp. Daarnaast draai ik wat apps van bedrijven waar ik iets mee doe (bank, sportschool, flitsmeister, etc), maar ik graaf niet naar vage apps ofzoiets.
Loop ik dan weinig risico omdat ik niet allerlei onbekende apps download en gebruik? Of zit het grootste risico al in het surfen op het web?
Tja het is toch allemaal zwaar overtrokken, 50.000 klinkt veel als je achterwegen laat dat er 2.000.000.000 actieve devices zijn met Android ;)
Ik ben op dit moment in bezit van een Nokia Luma 930 (Windows Mobile). Ondanks dat ik het een heerlijk OS vind, heeft Windows Phone z'n beste tijd gehad. Dan hou je qua OS alleen maar Android of iOS over.

Omdat ik Apple te duur vind, staan Android telefoons bovenaan mijn lijstje. De vele berichtgevingen over trojans, malware, etc. zoals deze, maken mij echter enorm huiverig om de daadwerkelijke overstap te maken. Zeker omdat ik zeer gemengde gebruikerservaringen lees over het updatebeleid van diverse producenten.

Is dit nu terecht?
Ik doe echt weinig spannends met mijn telefoon. Ik maak een foto en gebruik WhatsApp. Daarnaast draai ik wat apps van bedrijven waar ik iets mee doe (bank, sportschool, flitsmeister, etc), maar ik graaf niet naar vage apps ofzoiets.
Loop ik dan weinig risico omdat ik niet allerlei onbekende apps download en gebruik?
Of zit het grootste risico al in het surfen op het web?
Je zegt het goed, geen vage apps, die je niet nodig hebt.
Of niet opletten, en per ongeluk de sportschool-app downloaden, die als bait geplaatst is.
Heel veel 'mainstream' apps staan in de playstore onder een nét niet goede naam, of als "walkthrough" / guide.
( als voorbeeld, bekijk het angrybirds aanbod maar eens, en dan voornamelijk de niet rovio publicatie's )

Blijf je in het vertrouwde domain ( de juiste ontwikkelaar, de juiste apps ) blijft het allemaal nog steeds user-error.
Vervelend dat de store niet 100% waterdicht is, maar een héél klein beetje self-control mag je ook van de gebruiker verwachten.

* FreshMaker heeft nog nooit een android-device gehad, die niet op dag één geroot werd.
N=1 is geen geldige variabele natuurlijk, maar ook daarin zal ik niet de enige zijn, die geen ( major ) issues gehad heeft.
En in de afgelopen jaren ook doodleuk gebruik gemaakt van vage appstore's als blackmarket en apptoide, waar je wel degelijk een hoog risico liep, als je bv tomtom ging downloaden
Je kan dan toch een tweedehands iPhone overwegen? En 6 (plus) gaat nog wel even mee, kost in goede staat ongeveer 300 euro. Is maar een idee hoor.
Zat in dezelfde dilemma, ik stapte over van Lumia 925 naar een Nexus 6P.

Dat zou ik jou ook aanraden, een Nexus/Pixel, want die krijgen altijd als eerste de security patches binnen alsook OS updates.
Het risico is erg laag anders zouden de fora vol staan met klagende mensen dat hun bankrekening geplunderd is of hun x-rated kiekjes ineens online stonden. Zeker zolang je de gangbare apps etc gebruikt, is het risico tot nu toe verwaarloosbaar.
Kan iedere dag veranderen maar dat geldt voor elk os.
Maar van de andere kant is het ook dat je nu niet weet hoeveel van deze "slapende apps" al in de Play store staan. :-(
Door het leveren van de data over de malware aan Google kunnen ze apps die de code geïmplementeerd krijgen mbv het uitbrengen van een update direct uit de Play store verwijderen of de update tegenhouden.
Pas als ze weten dat de malware bestaat kunnen (en zullen) ze er op scannen.
Enig idee om welke apps het gaat?
Of heb ik hier ergens overheen gelezen?
Wat ik compleet mis aan dit artikel is welk gat in de beveiliging nou gebruikt wordt om die root-rechten te verkrijgen. Android apps draaien in een sandbox, dus je moet toch wel wat meer doen dan een update om root rechten te verkrijgen.

Het artikel bevat ook niet al te veel info:

This is a local root exploit pack, and the Trojan uses 4 different exploit pack files, 3 for 32-bit systems and 1 for 64-bit-systems. If these files successfully gain root rights, the Trojan will install several tools into the system. It will also install the malicious app “com.qualcmm.timeservices.”
Wat ik compleet mis zijn de exploits die gebruikt worden om root access te verkrijgen. Klaarblijkelijk is de rest van de gebruikte methoden interessanter.

Het gelinkte artikel is ook niet erg duidelijk op dit gebied:

This is a local root exploit pack, and the Trojan uses 4 different exploit pack files, 3 for 32-bit systems and 1 for 64-bit-systems. If these files successfully gain root rights, the Trojan will install several tools into the system. It will also install the malicious app “com.qualcmm.timeservices.”
Dat klinkt als een mooi marketingpraatje voor BlackBerry. De meeste merken bieden bootloader unlock mogelijkheden aan, maar met een keerzijde, namelijk dat je alle data verliest. Eigenlijk een factory reset dus.

Dat gebeurt je dus niet zomaar ongemerkt. En zo heb je wel de mogelijkheid zelf hem te rooten als je dat graag wilt, het is immers jouw device.
Ik heb mijn Sony Z3 Compact geroot zonder de bootloader te unlocken, dat gaat tegenwoordig zelfs makkelijker dan met bootloader unlock. Daar was wel een kernelexploit in een oude kernel voor nodig.
Sja exploits zijn er natuurlijk vaak genoeg. Zo kon je de iPhone ook vaak Jailbreaken terwijl Apple het toch liever anders ziet.
Wat een onzin. Alles wat je hier noemt wordt standaard door Android telefoons gedaan. Het verschil is dat de gebruiker bij BB geen optie heeft om de bootloader te unlocken. Dit proces niet iets wat je per ongeluk doet en ik durf te wedden dat nog niet 0.1% van de Android toestellen root toegang voor apps heeft.
Gelukkig dat de meeste fabrikanten dat niet doen. En hoe succesvol het voor BB was hebben we wel gezien...

Zeker als je aan de ene kant reclame maakt dat je zo veilig bent en aan de andere kant allerlei overheden onbeperkt toegang geeft.

[Reactie gewijzigd door Morgan4321 op 8 juni 2017 14:43]

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*