Ca orice sistem informatic, există multe programe malware pe sistemul de operare Android . Acesta din urmă fiind deosebit de răspândit, numărul de astfel de programe malware continuă să se multiplice. Această extindere face dificilă detectarea și actualizarea soluțiilor comune anti-malware. Cu toate acestea, noi soluții sunt cercetate și testate pentru a face detectarea noilor programe malware mai eficientă și mai rapidă.
Mai multe metode de detectare a malware-ului adecvate pentru Android sunt în prezent în curs de dezvoltare. Pentru a ajuta acest software la detectarea comportamentului neașteptat, au fost implementate mai multe tipuri de analiză a comportamentului.
Analizele statice se bazează pe extragerea diverselor date fără executarea codului . Analiza statică este una dintre cele mai populare și eficiente analize, în special pentru codul impenetrabil .
Unele sisteme își bazează analizele pe diferențele dintre comportamentul așteptat al unei aplicații și interfața sa de utilizator . Atunci când există o contradicție între cele două părți, cererea este declarată suspectă. De exemplu, AsDroid este un sistem de căutare care implementează această analiză. Din cele 182 de aplicații testate în 2014, 113 sunt raportate pentru a efectua sarcini stealth necunoscute utilizatorului, cu 28 de falsuri pozitive și 11 negative negative .
O altă abordare detectează toate aplicațiile care au capacitatea de a înregistra datele utilizatorului (microfon, acces la memoria utilizatorului etc.) și de a le trimite (acces la internet, conexiune Bluetooth etc.) ca suspecte. IccTA este un exemplu de sistem care utilizează o abordare similară. În 2015, IccTA a detectat 534 de scurgeri de la 108 aplicații de la MalGenome, precum și 2395 de scurgeri de la 337 de aplicații dintr-un set de 15.000 de aplicații de pe Google Play .
Diferențierea contextelor de apel se bazează pe o analiză a contextului în care are loc un comportament potențial periculos și sensibil.
De exemplu, există software cum ar fi AppContext care se bazează pe această abordare. AppContext face posibilă identificarea apelurilor către funcții sensibile sau API-uri și pentru a identifica dacă contextul în care sunt executate corespunde unui context cunoscut de utilizator și în conformitate cu utilizarea aplicației sau dacă contextul este în schimb identificat ca potențial rău intenționat.
O abordare mai puțin convențională este explorată pentru prima dată de CHABADA. Aceasta constă în analizarea descrierii în limbaj natural a aplicației pe Google Play și compararea acesteia cu comportamentul real al aplicației. Prin urmare, obținem funcția unei aplicații numai datorită descrierii acesteia pe Google Play.
De exemplu, o aplicație meteo care trimite mesaje devine, prin urmare, o anomalie. La fel, nu se așteaptă ca o aplicație de mesagerie să aibă acces la locația utilizatorului.
CHABADA a fost utilizat pe mai mult de 22.500 de aplicații pentru a-și construi baza de date și 56% din malware-ul nou a fost detectat ca atare fără a avea informații prealabile despre malware-ul cunoscut.
Spre deosebire de scanările statice, scanările dinamice pot utiliza codul real și apelurile de sistem pentru a colecta informații în timp ce aplicația rulează. Acest lucru este posibil analizând execuția codului aplicației sau prin emulare .
Taint of analysis (în engleză: taint analysis ) este o tehnică bazată pe răspândirea variabilelor, de obicei cele create sau modificate de utilizator. Se spune că sunt „murdare”. În mod implicit, aceste variabile sunt considerate suspecte. Dacă una sau mai multe variabile sunt create dintr-o variabilă contaminată, aceasta va fi contaminată la rândul ei. Dacă o variabilă murdară este utilizată pentru a efectua o sarcină riscantă (o interogare în baza de date, de exemplu), atunci analizorul indică un comportament suspect. TaintDroid este un exemplu notabil de utilizare a analizei taint pe Android .
O analiză dinamică inițiată de VetDroid constă în analiza utilizărilor explicite și implicite ale permisiunilor unei aplicații Android .
De exemplu, atunci când o aplicație solicită recuperarea locației dispozitivului, aceasta constituie o utilizare explicită a permisiunilor. În plus, dacă această aplicație este capabilă să trimită SMS - uri , o altă utilizare explicită a permisiunilor, atunci poate fi, de asemenea, capabilă să trimită prin SMS locația recuperată anterior, deci devine o utilizare implicită și neașteptată a permisiunilor de localizare, ceea ce este de obicei dificil de detectat.