atentie la android

Android MalwareAcu’ 3 ani ziceam că ar trebui să ne fie frică de Google. Însă pân’ să ne fie frică de Google, ar trebui să ne fie frică de ce-au creat cu Androidu’ ăsta.

Pentru cine nu ştie, Android este un sistem de operare destinat telefoanelor mobile, aflat sub patronajul Google. Este open-source, gratuit şi adoptat de multe telefoane mobile vândute în prezent. Fiind destinat “telefoanelor deştepte” (smartphone-uri), de obicei vine la pachet cu un abonament de date – deci, Internet pe mobil. Numa’ că telefoanele astea completează o legătură foarte periculoasă între Internet şi serviciile GSM, care costă. Pân’ acum, neatenţia online te costa cel mult un virus care te lăsa fără datele din calculator. După aia, poţi rămâne fără datele de online banking şi restu’ parolelor din calculator când te pricopseşti cu vreun troian rusesc. Bine că românii nu prea au bani pe carduri, că se ocupă băieţii ăia care ajung pe blogul meu căutând “carduri clonate”.

Eh, însă legătura de care vorbeam mai sus este al dracu’ de periculoasă, căci odată ce-ai instalat un progrămete de-ăsta dubios … eşti cam bun de plată. Ia poftiţi un exemplu…

Intrăm pe Market, şi vedem aplicaţia Battery Boost. Booon.

Primul lucru care-ar trebui să ne alerteze: descrierea dubioasă. Textu’ Boost your battery’s running time so it runs up to three times as long! se traduce prin Creşteţi durata de viaţă a bateriei ca să dureze până de 3 ori mai mult! Bine bine, da’ nu zice nimic despre cum realizează chestia asta. Închide ecranul imediat ce-am terminat de utilizat telefonul ? Opreşte serviciile inutile ? Trece telefonul în 2G când nu e necesară conexiunea de date ? Cam suspect.

Al doilea semnal de-alarmă: site-ul producătorului nu funcţionează. Şi nu funcţionează de vreo câteva zile bune, lucru neauzit pentru cineva cu pretenţii de companie. Un whois pe funfoneapps.com ne arată că pagina e înregistrată printr-un intermediar, deci datele reale ale posesorului domeniului sunt ascunse. Iarăşi, un lucru dubios pentru o firmă.

Al treilea semnal de-alarmă: review-urile care vin alarmant de repede: 5 recenzii pozitive în 10 minute, cu texte similare din punct de vedere al conţinutului ? extrem de dubios. Dacă ne uităm la profilul unor utilizatori care-au lăudat aplicaţia, cum ar fi MsCAR sau MrEvander vedem că au mai comentat doar la o altă aplicaţie, pe numele ei SpeedBoost, realizată de aceiaşi FunFoneApps. Nici acum nu vi se pare ceva suspect ? Citiţi şi recenziile acelui SpeedBoost.

Iar al patrulea şi final semnal de alarmă vine la citirea permisiunilor pentru aplicaţia Battery Boost: android.permission.ACCESS_NETWORK_STATE, bla bla, android.permission.SEND_SMS, android.permission.VIBRATE. Măi să fie, a naibii aplicaţie are nevoie să trimită SMS-uri ?!? Mă-ntreb cui…

Un utilizator obişnuit ar fi trebuit să se oprească aici, fără a instala aplicaţia. Dacă a făcut-o, ghinion: luna următoare va avea de plătit o factură zdravănă la operatorul de telefonie mobilă, fără să ştie de ce. Va fi scandalizat, va plăti, luna următoare îi va veni o factură la fel de umflată. Cu puţin noroc şi scandal, va ajunge cu telefonul în service unde probabil îi va fi rescris firmware-ul, şi va scăpa de aplicaţia spyware.

Acum începe partea uşor tehnică: hai să vedem mai departe însă ce se ascunde în aplicaţie. Primul pas ar fi să obţinem aplicaţia aşa cum este ea livrată de Market, adică un fişier APK. Din păcate, nu se poate Evident, n-am de gând să-mi instalez chestia de mai sus pe telefon, aşa că voi purcede la a-mi crea o instanţă de emulator Android pe laptop. Citiţi aici pentru a afla ce se face şi cum se instalează, nu intru în detalii. Din păcate, emulatorul aşa cum e livrat de Google nu permite rularea Market, aşa că trebuie să îl păcălim. Detalii găsiţi aici şi aici, alegeţi metoda care vă place.

În cele din urmă, după ce completaţi wizardul de instalare, trebuie să obţineţi o maşină virtuală Android cu acces la Market. Acum putem descărca aplicaţia analizată mai devreme, pe numele ei Battery Boost. Pare să arate destul de legitimă 🙂

Imaginea system.img nu poate fi montată direct (spre deosebire de sdcard.img) deci pentru a avea acces la aplicaţia instalată trebuie să pornim emulatorul şi să facem push la busybox pentru a putea obţine conţinutul din /data/app. După asta, trebuie să copiem fişierul pe calculator: “adb pull /data/app/com.funfoneapps.batteryboost.apk” şi avem APK-ul … deci putem începe analiza.
# file com.funfoneapps.batteryboost.apk
com.funfoneapps.batteryboost.apk: Zip archive data, at least v1.0 to extract

Se dezarhivează, şi obţinem:
-rw-r--r--@ 1 vaxxi staff 18240 Sep 28 00:24 resources.arsc
-rw-r--r--@ 1 vaxxi staff 96576 Sep 28 00:27 classes.dex
-rw-r--r--@ 1 vaxxi staff 5144 Sep 28 00:27 AndroidManifest.xml
-rw-r--r-- 1 vaxxi staff 312512 Oct 4 17:32 com.funfoneapps.batteryboost.apk
drwxr-xr-x 7 vaxxi staff 238 Oct 4 17:41 res
drwxr-xr-x 5 vaxxi staff 170 Oct 4 17:41 META-INF

Evident, interesant este fişierul classes.dex pe care-l putem trece de probă prin “strings”, şi spicuim:
- Please Wait...
+ Only ONE can be set Intent or Dialog for '
Total Inbox Sms Deleted :
address:
failed events
is deleted
" not found

Asta arată a URL apelat cu nişte parametri luaţi din telefon, inclusiv IMEI-ul şi IP-ul:
Alpn=300&pid=%s&pm=%s&vd=%s&c=%s&imei=%s&uq=%s&ip=%s&sid=%s&cd=%s

Un ID de Google Analytics:
UA-11206480-2

Alte URLuri dubioase: http://cvt.mydas.mobi/handleConversion?goalId=
7market=1&lpn=300&pid=%s&pm=%s&vd=%s&c=%s&imei=%s&sid=%s
7market=1&lpn=300&pid=%s&vd=%s&c=%s&imei=%s&sid=%s&pm=%s

Concluzia momentan: aveţi grijă când vedeţi “Services that cost you money” … s-ar putea chiar să vă coste.

Continuăm cu decompilarea, folosind baksmali:

# java -jar baksmali.jar classes.dex

Obţinem un folder “out” cu sursele Java. Căutăm numere cu grep "[[:digit:]]\{5\}" *:

SmsDelete.smali: const-string v0, "50441"
SmsReceiver.smali: const-string v0, "50441"

50441 pare a fi un număr scurt de SMS, şi invocarea lui în fişierele SmsDelete şi SmsReceiver mă duce cu gândul că monitorizează mesajele primite de la acest număr pentru a le şterge (mesaje de confirmare pentru servicii plătite?).

12 thoughts on “atentie la android

  1. Ai avut probleme cu conexiunea la internet din emulator? Imi apare 3G sus, dar din browser nu vrea sa se conecteze … nici nu stiu cum sa fac troubleshoot din android … sa ii instalez un emulator de terminal?

    1. Nu merge cu proxy (şi nu se poate configura fără a instala ceva de genul ăsta). L-am pus pe direct şi-a mers fără probleme (cam încet, dar a mers).

    1. Ce-i drept, eu am instalat cu system.img-ul ăla de recovery. Adică am făcut AVD-ul, şi am pus system.img în folderul device-ului virtual. Probabil ăla are mai multe permisiuni implicite şi de-aia a mers. Nici dacă porneşti Market, Mail, etc nu vrea ?

  2. I-am dat de cap … bineinteles ca eu eram de vina. Nu aveam proxy configurat in windows, dar emulatorul se uita automat dupa variabila http_proxy, care la mine era setata (am pus-o mai demult si am uitat de ea).

    Interesant articolul. Sunt persoane care aud despre aplicatiile de genul asta si le vad ca o motivatie pentru modelul de appstore adoptat de Apple. Insa utilizatorii de iphone nu sunt neaparat scutiti de probleme. Depinde cat de atenti sunt cei care aproba aplicatiile si cat de motivati cei care vor sa-ti ia banii.

    1. Eh vezi, trebuia să fie ceva de genul ăsta 🙂

      Nici Appstore nu e safe, sunt prea multe aplicaţii pentru a fi revizuite cum trebuie, mai ales când n-ai sursele. Am înţeles că au nişte teste în sandbox care probează tot felul de trucuri, dar ce te faci dacă Gigel Hacker face o aplicaţie banală şi aparent legitimă, cu un payload criptat care se activează după 6 luni de la instalare ? Ie-te un exemplu şi încă unul. Următorul test e să văd cum pot face dump la traficul aplicaţiilor (cel mai simplu: conexiunea Ethernet partajată prin WiFi de pe laptop, şi telefonul conectat prin WiFi), s-ar putea să fie interesant.

      Cât despre motivaţia celor care vor să ia banii … muncă puţină şi potenţial de mulţi bani. Cine n-ar vrea ?

  3. Respectabil post. Si demna de luat in seama atat documentarea cat si lipsa de graba a explicatiilor. Insa dincolo de semnalul intermitent aprins pentru naivi, cu sinceritate si fara vreo urma de malitiozitate te intreb simplu; de ce ar trebui sa acuzam Androidul ca mai exista si rau (respectiv rai) pe lume ?
    In virtual, in real, naivii umbla liberi si in numar mult mai mare decat ar impune bunul simt.. Si impreuna cu ei, la pachet, vin si cei care profita si traiesc din naivitati. Ca sa nu mai vorbim ca nu exista atoatestiutori in toate domeniile. Si uite asa… viata ni se complica.
    Corect
    In ciuda celor mai sus enuntate sau tocmai pentru a le intari, continui sa prefer Androidul in fata Win Mobile ; si asta chiar daca am citit ceva review-uri bunicele despre noul 7. Si cred ca mi-e mai simplu si util sa imi cumpar inca un acumulator decat sa instalez aplicatii pe care nu sunt sigure; ca-i telefon , ca-i masina, nu-i chiar o avere bateria fata de ce poti pierde incercand sa bagi boost in ele
    Si in loc de final, tocmai pentru ca in mare mi-a placut postul, te intreb; crezi ca pe viitor, dincolo de pret si prafurile aruncate la promotii oamenii isi vor alege smartphone-ul in functie de firma producatoare a terminalului sau a sistemului de operare inclus ?

    1. Nu acuz Androidul că există răi pe lume, ci că n-au făcut destul pentru a preveni chestiile de genul ăsta. Probabil şi ei au considerat că bunăvoinţa este încă omniprezentă în umanitate, ceea ce din păcate nu se-ntâmplă. Windows 7 e o prostie, au copiat până şi greşelile de la începutul sistemelor de operare moderne (iOS şi Android), cum ar fi lipsa copy & paste 😀

      Masa mare de cumpărători îşi cam alege telefonul pe principii cu totul diferite de cele pragmatice (ce face, cum face, cât costă, suportul ulterior), şi cumpără ce-i mai nou şi mai strălucitor, pentru a impresiona. Iar producătorii de hardware se bucură şi scot modele pe bandă rulantă, uitând de ele în câteva luni până scot modele noi. Aşa că mulţi nici nu prea ştiu ce sistem de operare aleg.

  4. Eh, poate ca stiu dar inca mai spera ca oamenii sa – si reaminteasca ce inseamna bunavointa
    In rest chiar sunt totalde acord cu tine.Din pacate

Leave a Reply

Your email address will not be published. Required fields are marked *


Anunţă-mă când sunt comentarii noi. Te poţi abona fără a comenta.

This site uses Akismet to reduce spam. Learn how your comment data is processed.