Miljoneid kasutajaid mõjutava Androidi reklaamvara ja arendaja tuvastamine

ESETi teadlased avastasid aasta aega kestnud reklaamvara rünnaku Google Playle ning tuvastasid selle operaatori. Kaasatud äpid kasutasid varguseks ja püsivuseks mitmeid nippe ning rakendusi installiti ühtekokku kaheksa miljonit korda.

Avastasime suuremahulise, aasta aega kestnud reklaamvara rünnaku, mille jooksul installiti ainuüksi Google Plays äppe kaheksa miljonit korda.

Tuvastasime 42 Google Play äppi, mida sai alla laadida alates 2018. aasta juulist. Nendest 21 olid ikka veel saadaval meie avastuse ajal. Teavitasime leitud rakendustest Google ’i turbetiimi ning nimetatud äpid eemaldati koheselt. Siiski on rakendused ikka veel saadaval kolmandates äpipoodides. Tuvastatud reklaamvara ühine nimetus on Android/AdDisplay.Ashas.

Joonis 1. ESETi poolt tuvastatud Android/AdDisplay.Ashas perekonna rakendused

Joonis 2. Android/AdDisplay.Ashas perekonna populaarseim liige Google Plays oli üle viie miljoni allalaadimisega Video downloader master

Ashasi funktsionaalsus

Kõik äpid pakuvad lisaks reklaamvarana toimimisele ka lubatud funktsionaalsusi. Reklaamvara funktsionaalsus on ühesugune kõikides analüüsitud rakendustes. Märkus: Allpool toodud funktsionaalsuse analüüs kirjeldab ühte äppi, ent kehtib kõikide Android/AdDisplay.Ashas perekonna rakenduste kohta.

Pärast käivitamist ühendub rakendus selle C&C serveriga (mille IP-aadress on rakenduses base64-kodeerituna). See edastab “kodu” põhiandmeid mõjutatud seadme kohta: seadme tüüp, OS versioon, keel, installitud äppide arv, vaba mäluruum, aku olek, info seadme juurdumise ja arendaja režiimi lubatavuse osas ning kas Facebook ja FB Messenger on installitud.

Joonis 3. Mõjutatud seadme kohta teabe edastamine

Äpp saab C&C serverilt konfiguratsiooniandmeid, mis on vajalikud varjamiseks, püsivuseks ja rakenduste kuvamiseks.

Joonis 4. C&C serverilt on saadud konfiguratsioonifail

Ründaja kasutab varjamiseks ja püsivuseks mitmeid nippe.

Esiteks, püüab pahatahtlik rakendus teha kindlaks, kas seda testib Google Play turbemehhanism. Selleks saab rakendus C&C serverilt isGooglelp väärtuse, mis näitab, kas mõjutatud seadme IP-aadress sobib tuntud Google’i serverite IP-aadresside vahemikku. Kui server tagastab väärtuse positiivsena, ei käivita rakendus reklaamvara nimikoormust.

Teiseks, rakendus võib seada reklaamide kuvamiste vahele kohandatud viivituse. Meie poolt uuritud näidiste konfiguratsioon oli seatud 24-minutilise viivitusega peale seadme avamist. Selline viivis indikeerib, et tüüpiline testimisprotseduur, mis kestab vähem kui 10 minutit, ei tuvasta soovimatut käitumist. Samuti, mida pikem on viivitus, seda väiksem on oht, et kasutaja seostab soovimatuid reklaame konkreetse rakendusega.

Kolmandaks, tuginedes serveri vastusele, võib äpp peita oma ikoone ja luua selle asemel otseteid. Kui tavakasutaja üritab pahatahtlikust äpist vabaneda, eemaldab ta tõenäoluselt ainult otsetee ning rakendus toimib edasi kasutaja teadmata. See varjamise tehnika on saanud populaarseks Google Play kaudu reklaamvaraga levitatavate ohtude seas.

Joonis 5. Reklaamvara poolt rakendatud reklaamide kuvamise ajaline viivitus

Kui pahatahtlik rakendus on saanud konfiguratsiooniandmeid, on mõjutatud seade valmis kuvama reklaame  vastavalt ründaja soovidele; igat reklaami kuvatakse täisekraanil. Kui kasutaja tahab teada kuvatava reklaami päritolu, klõpsates selleks valikule “Recent apps”, võetakse kasutusele järjekordne nipp: rakendus kuvab Facebooki või Google’i ikooni, nagu on näha joonisel 6. Reklaamvara jäljendab neid kahte rakendust, et näida õige ja vältida kahtlusi  ning püsida mõjutatud seadmes võimalikult kaua.

Joonis 6. Reklaamvara tegevus imiteerib Facebooki (vasakul). Kui kasutaja vajutab ikoonile pikalt, kuvatakse tegevuse eest vastutava rakenduse nimi (paremal).

Lõpuks on Ashasi perekonna reklaamvara peitnud oma koodi com.google.xxx paketi nime taha. Näidates end Google’i teenuse osana võib pääseda liigsest kontrollist. Mõned tuvastamismehhanismid ja liivakastid võiva ressursside raiskamise ennetamiseks märkida nimetatud paketi nimed lubatuks.

Joonis 7. “com.google” paketti peidetud pahatahtlik kood

Arendaja jahtimine

Reklaamvara arendaja tuvastmiseks kasutasime avatud lähtekoodiga teavet. Arendaja osutus ka rünnaku operaatoriks ja C&C serveri omanikuks. Järgmistes lõikudes kirjeldame oma püüdlusi sama arendaja teiste rakenduste leidmises ja meie kasutajate kaitsmises.

Esiteks, tuvastasime registreeritud C&C domeeniga seotud teabe põhjal registreerija nime koos täiendavate andmetega, nagu riik ja e-posti aadress, nagu on näha jooniselt 8.

Joonis 8. Teave Ashasi reklaamvara poolt kasutatava C&C domeeni kohta

Teades, et domeeni registripidajale edastatud teave võib olla võlts, jätkasime oma otsinguid. E-posti aadress ja riik viisid meid Vietnami Ülikoolis õpivate üliõpilaste nimekirjani – see kinnitab domeeni registreerimisel kasutatud isiku olemasolu.

Joonis 9. C&C domeeni registreerijat sisaldav ülikooli õpperühma tudengite nimekiri

Meie ründaja ülikooli räige eraelu puutumatuse tava rikkumise tõttu teame nüüd isiku sünnikuupäeva (tõenäoliselt: täiendava kinnitusena, saime teada, et isik kasutas näiliselt oma sünniaastat Gmaili aadressi osana), teame, et isik oli tudeng ning ka ülikooli, kus isik õppis. Saime kinnitust ka tema poolt edastatud telefoninumbri õigsuses. Lisaks saime ka tema ülikooli ID; kiire googeldamine näitas meile osa tema eksami hindeid. Tema õppetulemused jäävad siiski meie uuringu ulatusest välja.

Tuginedes meie süüdlase e-posti aadressile, suutsime leida tema GitHubi hoidla, mis tõestas, et ta on tõepoolest Androidi arendaja, ent see ei sisaldanud selle blogipostituse kirjutamise hetkel avalikult kättesaadavat Ashasi reklaamvara koodi.

Ent reklaamvara paketi nime kiire Google’i otsing andis vasteks projekti “TestDelete”, mis oli mingil hetkel tema hoidlas ka saadaval

Pahatahtlikul arendajal on äpid ka Apple’i App Store’is. Mõned nendest on iOS versioonid Google Playst eemaldatud äppidest, ent ükski ei sisalda reklaamvara funktsionaalsust.

Joonis 10. App Store’is avaldatud pahatahtliku arendaja rakendused, mis ei sisalda Ashasi reklaamvara

Otsides edasi arendaja toiminguid, leidsime ka tema Youtube’i kanali, mis levitab Ashasi reklaamvara ja muid tema projekte. Mis aga puudutab Ashasi perekonda, siis reklaamvideot “Head Soccer World Champion 2018 – Android, ios” vaadati peaaegu kolm miljonit korda ja kahte teist videot vaadati sadu tuhandeid kordi, nagu on näha jooniselt 11.

Joonis 11. Pahatahtliku arendaja YoutTube’i kanal

Tema YouTube’i kanal andis meile veel väärtuslikku teavet: kasutaja osales enda projekti õppevideos. Tänu sellele projektile saime teada tema Facebooki profiili, kus on infot ka tema õpingute kohta eelnimetud ülikoolis.

Joonis 12. C&C domeeni registreerija Facebooki profiil (peapilt ja profiilipilt on eemaldatud)

Pahatahtliku arendaja Facebooki profiilil avastasime Facebooki lehe, Minigameshouse ning sellega seonduva domeeni minigameshouse[.]net. Antud domeen sarnaneb kasutaja reklaamvaras kasutatud C&C kommunikatsioonile, minigameshouse[.]us.

Kontrollides Minigameshouse lehte selgub, et kasutaja on tõepoolest domeeni minigameshouse[.]us omanik: domeeni registreetimisel kasutatud number on sama, mida kuvab ka kasutaja Facebooki leht.

Joonis 13. C&C domeeni registreerija hallatav Facebooki leht kasutab  Ashasi reklaamvara poolt registreeritud pahatahtliku C&C-ga  sama baasdomeeninime (minigameshouse) ja telefoninumbrit

Huvitav on asjaolu, et Minigameshouse’i Facebooki lehel reklaamib pahatahtlik arendaja nii Google Plays kui ka App Store’is allalaadimiseks Ashasi perekonna väliseid mänge. Ometi eemaldati kõik mängud Google Playst – vaatamata asjaolule, et osa mänge ei sisaldanud reklaamvara funktsionaalsust.

Lisaks kõigele muule, on üks arendaja YouTube’i videotest – “Instant Game’i” väljatöötamise õpetus Facebooki jaoks – näide täielikust talitluskindluse eiramisest. Nägime, et tema viimati külastatud veebilehed olid Ashasi reklaamvara sisaldavad äppide lehed Google Plays. Ründaja kasutas ka oma e-posti kontot, et logida videos sisse mitmetesse teenustesse, mis identifitseerib teda ilma igasuguse kahtluseta  reklaamvara domeeni omanikuna.

Tänu videole suutsime tuvastada veel kolm äppi, mis sisaldasid reklaamvara funktsionaalsust ja olid saadaval Google Plays.

Joonis 14. Ekraanipilt arendaja YouTube’i videost on näha Ashasi reklaamvara vaatamist Google Plays

ESET telemeetria

Joonis 15. ESETi tuvastatud Androidi seadmete Android/AdDisplay.Ashas reklaamvara riikide kaupa

Kas reklaamvara on kahjulik?

Kuna reklaamvara sisaldavate rakenduste tegelik olemus on tavakasutajate eest varjatud, tuleks pidada neid rakendusi ja nende arendajaid ebausaldusväärseteks. Seadmesse installituna võivad reklaamvara sisaldavad äpid muuhulgas:

  • Tüütada kasutajaid pealetükkivate reklaamidega, sealhulgas petureklaamidega
  • Raisata seadme akuressursse
  • Tekitada suuremat võrguliiklust
  • Koguda kasutaja isiklikku teavet
  • Varjata oma olemasolu püsivuse saavutamiseks
  • Teenida kasutaja sekkumiseta tulu oma operaatorile

Kokkuvõte

Tuginedes ainult avatud lähtekoodi intelligentsusele, suutsime tuvastada Ashasi reklaamvara arendaja, teha kindlaks tema identiteedi ja avastada täiendavaid reklaamvaraga nakatunud rakendusi. Nähes, et arendaja ei püüdnud oma identiteeti varjata, tundub tõenäoline, et tema kavatsused polnud algselt pahatahtlikud – seda kinnitab ka asjaolu, et mitte kõik tema poolt avaldatud äpid sisaldasid soovimatut reklaami.

Oma Google Play “karjääri” teatud hetkel otsustas ta ilmselt kasvatada oma reklaamitulu, lisades reklaamvara funktsionaalsuse oma rakenduste koodidesse. Rekmlaamvaras kasutatud erinevad varjamise ja püsivuse meetodid näitavad meile, et süüdlane oli lisatud funktsioonalsuse pahatahtlikkusest teadlik ja püüdis seda varjata.

Soovimatute või kahjulike funktsioonide sisse nihverdamine populaarsetesse ja healoomulistesse äppidesse on “halbade” arendajate seas levinud tava ning me oleme pühendunud nimetatud rakenduste leidmisele.  Lõpetuseks lisame, et avaldame kõik oma leiud, et aidatada Androidi kasutajatel end kaitsta.

Rünnaku näitajad (IoCs)

Paketi nimiRäsiInstallimisi
com.ngocph.masterfreec1c958afa12a4fceb595539c6d208e6b103415d75,000,000+
com.mghstudio.ringtonemaker7a8640d4a766c3e4c4707f038c12f30ad7e21876500,000+
com.hunghh.instadownloader8421f9f25dd30766f864490c26766d381b89dbee500,000+
com.chungit.tank1990237f9bfe204e857abb51db15d6092d350ad3eb01500,000+
com.video.downloadmasterfree43fea80444befe79b55e1f05d980261318472dff100,000+
com.massapp.instadownloader1382c2990bdce7d0aa081336214b78a06fceef62100,000+
com.chungit.tankbattle1630b926c1732ca0bb2f1150ad491e19030bcbf2100,000+
com.chungit.basketball188ca2d47e1fe777c6e9223e6f0f487cb5e98f2d100,000+
com.applecat.worldchampion2018502a1d6ab73d0aaa4d7821d6568833028b6595ec100,000+
org.minigamehouse.photoalbuma8e02fbd37d0787ee28d444272d72b894041003a100,000+
com.mngh.tuanvn.fbvideodownloader035624f9ac5f76cc38707f796457a34ec2a97946100,000+
com.v2social.socialdownloader2b84fb67519487d676844e5744d8d3d1c935c4b7100,000+
com.hikeforig.hashtag8ed42a6bcb14396563bb2475528d708c368da316100,000+
com.chungit.heroesjumpc72e92e675afceca23bbe77008d921195114700c100,000+
com.mp4.video.downloader61E2C86199B2D94ABF2F7508300E3DB44AE1C6F1100,000+
com.videotomp4.downloader1f54e35729a5409628511b9bf6503863e9353ec950,000+
boxs.puzzles.Puzzleboxb084a07fdfd1db25354ad3afea6fa7af497fb7dc50,000+
com.intatwitfb.download.videodownloader8d5ef663c32c1dbcdd5cd7af14674a02fed3046750,000+
com.doscreenrecorder.screenrecordere7da1b95e5ddfd2ac71587ad3f95b2bb5c0f365d50,000+
com.toptools.allvideodownloader32E476EA431C6F0995C75ACC5980BDBEF07C8F7F50,000+
com.top1.videodownloadera24529933f57aa46ee5a9fd3c3f7234a1642fe1710,000+
com.santastudio.headsoccer286d48c25d24842bac634c2bd75dbf721bcf4e2ea10,000+
com.ringtonemakerpro.ringtonemakerapp20195ce9f25dc32ac8b00b9abc3754202e96ef7d66d910,000+
com.hugofq.solucionariodebaldor3bb546880d93e9743ac99ad4295ccaf98292026010,000+
com.anit.bouncingball6e93a24fb64d2f6db2095bb17afa12c34b2c845210,000+
com.dktools.liteforfb7bc079b1d01686d974888aa5398d6de54fd9d11610,000+
net.radiogroup.tvnradioba29f0b4ad14b3d77956ae70d812eae6ac761bee10,000+
com.anit.bouncingball6E93A24FB64D2F6DB2095BB17AFA12C34B2C845210,000+
com.floating.tube.bymuicv6A57D380CDDCD4726ED2CF0E98156BA404112A5310,000+
org.cocos2dx.SpiderSolitaireGamesadbb603195c1cc33f8317ba9f05ae9b74759e75b5,000+
games.puzzle.crosssum31088dc35a864158205e89403e1fb46ef6c2c3cd5,000+
dots.yellow.craft413ce03236d3604c6c15fc8d1ec3c9887633396c5,000+
com.tvngroup.ankina.reminderWater5205a5d78b58a178c389cd1a7b6651fe5eb7eb095,000+
com.hdevs.ringtonemaker2019ba5a4220d30579195a83ddc4c0897eec9df59cb75,000+
com.carlosapps.solucionariodebaldor741a95c34d3ad817582d27783551b5c85c4c605b5,000+
com.mngh1.flatmusic32353fae3082eaeedd6c56bb90836c89893dc42c5,000+
com.tvn.app.smartnoteddf1f864325b76bc7c0a7cfa452562fe0fd413511,000+
com.thrtop.alldownloaderf46ef932a5f8e946a274961d5bdd789194bd2a7d1,000+
com.anthu91.soccercard0913a34436d1a7fcd9b6599fba64102352ef2a4a1,000+
com.hugofq.wismichudosmildiecisiete4715bd777d0e76ca954685eb32dc4d16e609824f1,000+
com.gamebasketball.basketballperfectshote97133aaf7d4bf90f93fefb405cb71a2877908391,000+
com.nteam.solitairefree3095f0f99300c04f5ba877f87ab86636129769b1100+
com.instafollowers.hiketop3a14407c3a8ef54f9cba8f61a271ab94013340f81+

C&C server

http://35.198.197[.]119:8080

MITRE ATT&CK tehnikad

TaktikaIDNimiKirjeldus
Esmane juurdepääsT1475Edastada pahatahtlik rakendus läbi App Store’iPahavara imiteerib Google Play autentseid teenuseid
PüsivusT1402Rakenduse automaatne käivitamine seadme käivitamiselAndroidi rakendus võib kuulata BOOT_COMPLETED broadcasti, tagades rakenduse funktsionaalsuse aktiveerimise igal seadme käivitamisel
MõjuT1472Teenida pettusega saadud reklaamtuluGenerates revenue by automatically displaying ads

Kiitus @jaymin9687-le juhtimast meie tähelepanu rakenduses “Video downloader master” kuvatavate soovimatute reklaamide probleemile

Allikas: Welivesecurity