SlideShare a Scribd company logo
UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Laurea triennale in Ingegneria Elettronica e Informatica
Extended Summary Of "MadDroid:
Characterizing and Detecting
Devious Ad Contents for Android
Apps"
Laureando Relatore
Andrea PAUSIG prof. Alberto BARTOLI
Anno Accademico 2019-2020
Indice
1 Introduzione 2
2 Annunci pubblicitari nelle applicazioni Android 2
3 MadDroid 4
TCM: Trac Collection Module . . . . . . . . . . . . . . . . . . . . 4
CEM: Content Extraction Module . . . . . . . . . . . . . . . . . . 5
DDM: Deviousness Detection Module . . . . . . . . . . . . . . . . 5
4 Risultati 5
5 Conclusioni 6
Riferimenti bibliograci 7
1
1 Introduzione
Tramite i servizi di distribuzione digitale per dispositivi mobili, noti come
app store, è possibile scaricare milioni di applicazioni gratuite oppure a paga-
mento. Molte di esse, inizialmente a pagamento, diventano spesso gratuite
per volere dei propri sviluppatori, poiché è possibile ottenere un notevole
guadagno attraverso la visualizzazione di annunci pubblicitari. La diusione
della pubblicità è capillare ed è un elemento chiave che guida l'economia
delle applicazioni per smartphone.
Lo studio di Liu, Wang et al. si concentra sul contenuto di tali annunci e
sulle minacce per l'utente nale che usufruisce dell'applicazione sul proprio
dispositivo. Il contenuto pubblicitario arriva da reti considerate adabi-
li e viene trasmesso all'utente al momento dell'esecuzione dell'applicazio-
ne oppure in seguito ad un click; si tratta dunque di un canale attraverso
il quale è possibile distribuire contenuti equivoci (immagini pornograche,
script dannosi, malware, ecc.) che possono ledere la privacy e la sicurezza
dell'utilizzatore.
Gli autori approfondiscono l'inuenza dei contenuti pubblicitari ambigui
nell'ecosistema delle applicazioni per il sistema operativo Android e propon-
gono una tecnica per arginarne la diusione. La metodologia proposta, che
prende il nome di MadDroid, è il primo tentativo conosciuto di individuare
5 tipi diversi di contenuti pubblicitari. Essa comprende un nuovo approccio
per distinguere il traco HTTP inerente la pubblicità da quello generico.
Allo scopo di valutare l'ecacia di MadDroid, è stato eettuato uno studio
su larga scala che ha coinvolto 40000 app.
2 Annunci pubblicitari nelle applicazioni Android
In questa sezione è descritto il processo che porta alla visualizzazione di
un annuncio sulla generica grapich user interface ed è spiegata la suddivisione
in 5 gruppi proposta dagli autori (gura 1). Per semplicità, si farà riferimento
alla generica UI con il termine Home Page.
Figura 1: Categorizzazione dei contenuti equivoci
2
Gli attori principali di questo processo, assieme all'utente che utilizza il
dispositivo, sono gli sviluppatori, le Ad Networks e i fornitori di pubblicità
(advertisers). Chi crea un'applicazione si ada alle Ad Networks perché
facciano da intermediari con gli advertisers fornendo particolari librerie che,
inserite nel codice dell'app, permettono di ottenere e caricare l'annuncio (Ad)
sulla Home Page.
Durante l'esecuzione, al momento del caricamento della Home Page sul-
lo schermo del dispositivo, viene eettuata una richiesta HTTP verso la Ad
Network per recuperare il contenuto dell'annuncio. L'utente non può ren-
dersi conto della presenza di dati indesiderati e pericolosi. Nello scambio di
codice tra un annuncio e l'app, che avviene in maniera legittima, potrebbe
essere stato inserito uno script dannoso da parte dell'advertiser: è il caso dei
cosiddetti malicious scripts. La categoria delle censored images com-
prende tutte le immagini con contenuti soggetti a censura come pornograa,
violenza, gioco d'azzardo e tutti quelli stabiliti dalle normative vigenti. Altre
immagini potenzialmente pericolose e utilizzate sempre più frequentemente
sono quelle che inducono l'utente ad un successivo click (categoria click de-
ceptive images). In molti casi è presente il classico simbolo della croce che
solitamente permette di terminare la visualizzazione con il click; in realtà la
croce è incorporata nell'immagine stessa e non ha una funzione a sé stante.
Come mostrato in gura 2, lo scambio di traco HTTP non avviene
solamente per la visualizzazione dell'annuncio ma anche dopo un'interazione;
in tal caso, viene trasmessa una richiesta ad un Content Server per avere
accesso ad informazioni aggiuntive. Ci sono due possibilità:
• Si attiva un link di reindirizzamento (redirection link) che porta l'u-
tente alla cosiddetta Landing Page, dove spesso si trovano informazioni
riguardanti prodotti commerciali o altri contenuti indesiderati.
• Download automatico di un le, molto spesso una app dannosa (ma-
licious app).
Figura 2: Visualizzazione di un annuncio
3
3 MadDroid
La procedura viene suddivisa in tre diversi moduli per rispondere alle
principali problematiche che caratterizzano l'analisi della distribuzione dei
contenuti pubblicitari. I moduli possono essere estesi nel caso in cui venissero
introdotti nuovi tipi di contenuti.
Figura 3: Grafo ad albero delle transizioni tra i singoli UI states
TCM: Trac Collection Module
Gli autori hanno implementato, in linguaggio Python, un generatore di
input per esplorare le applicazioni Android ed individuare in maniera auto-
matica gli annunci presenti nella User Interface. Sulla base di studi preceden-
ti, si prediligono le pagine principali e quelle di uscita (dove è più probabile
che siano presenti annunci) e si applica un algoritmo di ricerca in ampiezza
(BFS). La navigazione tra i diversi UI states può essere meglio compresa
osservando il grafo ad albero in gura 3, dove ogni nodo child rappresenta il
generico UI State ed è ottenuto a partire dal nodo parent in seguito ad una
manipolazione da parte dell'utente.
4
CEM: Content Extraction Module
Dopo aver individuato gli annunci, si procede analizzando il traco
HTTP scambiato tra l'applicazione e la Ad Network quando l'annuncio è
caricato e cliccato: il modulo si occupa di tralasciare il traco non ricondu-
cibile alla pubblicità. A tale scopo, non può essere suciente selezionare i
pacchetti trasmessi o ricevuti da reti elencati in una data whitelist, poiché il
numero di Ad Networks e Ad libraries è in continua evoluzione. Si procede
identicando iterativamente i domini rilevanti per gli annunci pubblicitari: se
il pacchetto è una nota libreria pubblicitaria, tutti i domini attivati a partire
da essa saranno registrati come domini pubblicitari; se il nome di un dominio
è già presente nel mapping, il corrispondente pacchetto sarà contrassegnato
come libreria pubblicitaria.
Per la raccolta del traco si utilizza l'utility Fiddler assieme ad alcuni
suoi script. La cattura è basata su Xposed Framework, che permette di
raccogliere, in tempo reale, le informazioni dell'applicazione Android che
viene testata.
DDM: Deviousness Detection Module
La parte fondamentale di MadDroid è il modulo che discrimina i conte-
nuti equivoci secondo la categorizzazione proposta nella precedente sezione.
Considerata la grande essibilità richiesta dall'eterogeneità dei contenuti da
individuare, l'architettura di questo modulo è basata su plug-in; ciò signica
che prevede l'utilizzo di strumenti diversi a secondo del tipo di contenuto da
individuare:
• Algoritmo di obiect detection, di nome YOLO, per la categoria Click
Deceptive Images;
• Google Vision API per individuare immagini pornograche, di violenza
e simili;
• Tecniche di Optical Character Recognition (OCR) per le immagini nel
campo del gioco d'azzardo;
• Per i contenuti considerati pericolosi, immagini escluse, si usufruisce
del servizio online gratuito VirusTotal, che utilizza più di 60 tipi di
motori antivirus.
4 Risultati
Facendo ricorso al noto dataset AndroidZoo e analizzando le applicazioni
disponibili con VirusTotal, si seleziona un gruppo di 40000 elementi segnalati
come adware, di cui la metà sono reperibili su Google Play e l'altra metà sono
app di terze parti. Ogni app è eseguita su uno smartphone Nexus 5.
5
La tabella 1 mostra che 2322 applicazioni, all'incirca il 6%, forniscono i
contenuti oggetto dello studio. Nel complesso le statistiche mostrano che è
più alta la probabilità che siano i contenuti caricati dopo un click ad essere
dannosi: in tabella 2 è possibile osservare le percentuali per ogni categoria.
Il 57,25% sono applicazioni scaricate dopo aver cliccato su un annuncio; si
evidenzia inoltre che il 57% della app ottenute dopo il click sono segnalate
da VirusTotal e il 30% di queste ultime sono segnalate da 10 diversi motori
antivirus.
Type # Devious Contents # Host Apps
Click-deceptive Image 525 40
Censored Image 279 240
Malicious script 112 46
Malicious redirection link 1822 838
Malicious App 1457 1267
Total - 2322
Tabella 1: Numero di contenuti e applicazioni segnalate
Ad Content Total Devious Type
Ad Images 83347 27 (0,33%) Ad Loading
Executable scripts 52529 112 (0,21%) Ad Loading
Ad Redirection URLs 49392 1822 (3,69%) Ad Clicking
Downloaded Apps 2545 1457 (57,25%) Ad Clicking
Tabella 2: Statistiche sui dati raccolti
Per quanto riguarda l'origine dei contenuti, il nuovo approccio di cattura
del traco HTTP di MadDroid ha esteso lista degli ad hosts (il numero è
quasi triplicato) ed è conseguentemente aumentata la collezione di contenuti
pubblicitari di una percentuale del 126%. Studiando la distribuzione delle
Ad Networks in base al numero di contenuti pubblicitari equivoci che tra-
smettono ai dispositivi degli utenti, si osserva che immagini da censurare,
scripts e links potenzialmente dannosi sono distribuiti principalmente da Ad
Networks popolari e largamente utilizzate.
5 Conclusioni
I risultati elencati nella sezione precedente, in particolare il coinvolgimen-
to delle reti più popolari, suggeriscono che il problema sia ancora irrisolto: i
contenuti forniti dagli Advertisers non sono controllati nel modo corretto pri-
ma di essere trasmessi agli utenti e gli annunci pubblicitari sono diventati un
6
canale privilegiato per la distribuzione di malware; sono necessari maggiori
sforzi e strumenti automatici per regolare il comportamento dei fornitori.
Con questa ricerca sono stati raccolti molti dati rispetto agli studi pre-
cedenti ed analizzati anche contenuti precedentemente trascurati, cioè quelli
scaricati dopo l'interazione con la pubblicità. La categorizzazione proposta
potrebbe un giorno risultare obsoleta perché basata sulle conoscenze attuali,
ma sarebbe facilmente estendibile vista la essibilità di MadDroid e l'archi-
tettura basata su plug-in. Una limitazione signicativa dell'approccio propo-
sto è data dalle scelte fatte per raggiungere la massima ecienza e copertura
(per esempio trascurare alcune pagine in cui la probabilità di individuare
annunci è più bassa); inne è opportuno tener conto che i contenuti presenti
in una data applicazione potrebbero variare in base ad alcuni fattori come
data, ora, luogo e vari identicatori.
Riferimenti bibliograci
[1] Tianming Liu, Haoyu Wang, Li Li, Xiapu Luo, Feng Dong, Yao Guo,
Liu Wang, Tegawendé F. Bissyandé, and Jacques Klein. 2020. Mad-
Droid: Characterizing and Detecting Devious Ad Contents for Android
Apps. In Proceedings of The Web Conference 2020 (WWW '20), April
2024, 2020, Taipei, Taiwan. ACM, New York, NY, USA, 12 pages.
https://doi.org/10.1145/3366423.3380242
7

More Related Content

Similar to Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Contents for Android Apps"

La sicurezza delle reti aziendali ai tempi di Facebook
La sicurezza delle reti aziendali ai tempi di FacebookLa sicurezza delle reti aziendali ai tempi di Facebook
La sicurezza delle reti aziendali ai tempi di Facebook
AmmLibera AL
 
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
MatteoMagris
 
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
Simone Cossaro
 
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
Gabriele Formisano
 
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
TommasoBaldo
 
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
RoccoCaliandro1
 
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
DanieleMaijnelli
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
LeonardoSimonini
 
HealthCare CyberSecurity Swascan
HealthCare CyberSecurity SwascanHealthCare CyberSecurity Swascan
HealthCare CyberSecurity Swascan
Pierguido Iezzi
 
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
AndreaGnesda
 
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
AndreaGnesda
 
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
festival ICT 2016
 
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
Davide Nigri
 
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
Data Driven Innovation
 
QR Code Security
QR Code SecurityQR Code Security
QR Code Security
Antonio Tandoi
 
Mobile Application Penetration Testing Giordano Giammaria
Mobile Application Penetration Testing Giordano GiammariaMobile Application Penetration Testing Giordano Giammaria
Mobile Application Penetration Testing Giordano Giammaria
Giammaria Giordano
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4
raffaele_forte
 
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
Gianfranco Tonello
 
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
Michele Agostini
 
Scoperta di siti web maligni e malware mediante web anlytics
Scoperta di siti web maligni e malware mediante web anlyticsScoperta di siti web maligni e malware mediante web anlytics
Scoperta di siti web maligni e malware mediante web anlytics
leonardozio
 

Similar to Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Contents for Android Apps" (20)

La sicurezza delle reti aziendali ai tempi di Facebook
La sicurezza delle reti aziendali ai tempi di FacebookLa sicurezza delle reti aziendali ai tempi di Facebook
La sicurezza delle reti aziendali ai tempi di Facebook
 
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
Summary of "Annoyed Users: Ads and Ad-Block Usage in the Wild"
 
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"
 
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
Progetto e realizzazione di uno strumento per l'acquisizione e trasmissione d...
 
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...Summary of 50 ways to leak your data an exploration of apps circumvention of ...
Summary of 50 ways to leak your data an exploration of apps circumvention of ...
 
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
Extended Summary of "What You See is NOT What You Get: Discovering and Tracki...
 
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
 
HealthCare CyberSecurity Swascan
HealthCare CyberSecurity SwascanHealthCare CyberSecurity Swascan
HealthCare CyberSecurity Swascan
 
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
Summary of ''Deceptive Previews : A Study of the Link Preview Trustworthiness...
 
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
Summary of "Deceptive Previews : A Study of the Link Preview Trustworthiness ...
 
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
Crowd-privacy per app e web 2.0: il progetto europeo Privacy Flag - festival ...
 
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
Summary of "AdBudgetKiller: Online Advertising Budget Draining Attack"
 
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
Il paradigma dei Big Data e Predictive Analysis, un valido supporto al contra...
 
QR Code Security
QR Code SecurityQR Code Security
QR Code Security
 
Mobile Application Penetration Testing Giordano Giammaria
Mobile Application Penetration Testing Giordano GiammariaMobile Application Penetration Testing Giordano Giammaria
Mobile Application Penetration Testing Giordano Giammaria
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4
 
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
Evoluzione dei malware in ambiente Android: dalle metodologie di infezione al...
 
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...Linguaggi e piattaforme per lo sviluppo di applicazioni mobile   michele agos...
Linguaggi e piattaforme per lo sviluppo di applicazioni mobile michele agos...
 
Scoperta di siti web maligni e malware mediante web anlytics
Scoperta di siti web maligni e malware mediante web anlyticsScoperta di siti web maligni e malware mediante web anlytics
Scoperta di siti web maligni e malware mediante web anlytics
 

Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Contents for Android Apps"

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Laurea triennale in Ingegneria Elettronica e Informatica Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Contents for Android Apps" Laureando Relatore Andrea PAUSIG prof. Alberto BARTOLI Anno Accademico 2019-2020
  • 2. Indice 1 Introduzione 2 2 Annunci pubblicitari nelle applicazioni Android 2 3 MadDroid 4 TCM: Trac Collection Module . . . . . . . . . . . . . . . . . . . . 4 CEM: Content Extraction Module . . . . . . . . . . . . . . . . . . 5 DDM: Deviousness Detection Module . . . . . . . . . . . . . . . . 5 4 Risultati 5 5 Conclusioni 6 Riferimenti bibliograci 7 1
  • 3. 1 Introduzione Tramite i servizi di distribuzione digitale per dispositivi mobili, noti come app store, è possibile scaricare milioni di applicazioni gratuite oppure a paga- mento. Molte di esse, inizialmente a pagamento, diventano spesso gratuite per volere dei propri sviluppatori, poiché è possibile ottenere un notevole guadagno attraverso la visualizzazione di annunci pubblicitari. La diusione della pubblicità è capillare ed è un elemento chiave che guida l'economia delle applicazioni per smartphone. Lo studio di Liu, Wang et al. si concentra sul contenuto di tali annunci e sulle minacce per l'utente nale che usufruisce dell'applicazione sul proprio dispositivo. Il contenuto pubblicitario arriva da reti considerate adabi- li e viene trasmesso all'utente al momento dell'esecuzione dell'applicazio- ne oppure in seguito ad un click; si tratta dunque di un canale attraverso il quale è possibile distribuire contenuti equivoci (immagini pornograche, script dannosi, malware, ecc.) che possono ledere la privacy e la sicurezza dell'utilizzatore. Gli autori approfondiscono l'inuenza dei contenuti pubblicitari ambigui nell'ecosistema delle applicazioni per il sistema operativo Android e propon- gono una tecnica per arginarne la diusione. La metodologia proposta, che prende il nome di MadDroid, è il primo tentativo conosciuto di individuare 5 tipi diversi di contenuti pubblicitari. Essa comprende un nuovo approccio per distinguere il traco HTTP inerente la pubblicità da quello generico. Allo scopo di valutare l'ecacia di MadDroid, è stato eettuato uno studio su larga scala che ha coinvolto 40000 app. 2 Annunci pubblicitari nelle applicazioni Android In questa sezione è descritto il processo che porta alla visualizzazione di un annuncio sulla generica grapich user interface ed è spiegata la suddivisione in 5 gruppi proposta dagli autori (gura 1). Per semplicità, si farà riferimento alla generica UI con il termine Home Page. Figura 1: Categorizzazione dei contenuti equivoci 2
  • 4. Gli attori principali di questo processo, assieme all'utente che utilizza il dispositivo, sono gli sviluppatori, le Ad Networks e i fornitori di pubblicità (advertisers). Chi crea un'applicazione si ada alle Ad Networks perché facciano da intermediari con gli advertisers fornendo particolari librerie che, inserite nel codice dell'app, permettono di ottenere e caricare l'annuncio (Ad) sulla Home Page. Durante l'esecuzione, al momento del caricamento della Home Page sul- lo schermo del dispositivo, viene eettuata una richiesta HTTP verso la Ad Network per recuperare il contenuto dell'annuncio. L'utente non può ren- dersi conto della presenza di dati indesiderati e pericolosi. Nello scambio di codice tra un annuncio e l'app, che avviene in maniera legittima, potrebbe essere stato inserito uno script dannoso da parte dell'advertiser: è il caso dei cosiddetti malicious scripts. La categoria delle censored images com- prende tutte le immagini con contenuti soggetti a censura come pornograa, violenza, gioco d'azzardo e tutti quelli stabiliti dalle normative vigenti. Altre immagini potenzialmente pericolose e utilizzate sempre più frequentemente sono quelle che inducono l'utente ad un successivo click (categoria click de- ceptive images). In molti casi è presente il classico simbolo della croce che solitamente permette di terminare la visualizzazione con il click; in realtà la croce è incorporata nell'immagine stessa e non ha una funzione a sé stante. Come mostrato in gura 2, lo scambio di traco HTTP non avviene solamente per la visualizzazione dell'annuncio ma anche dopo un'interazione; in tal caso, viene trasmessa una richiesta ad un Content Server per avere accesso ad informazioni aggiuntive. Ci sono due possibilità: • Si attiva un link di reindirizzamento (redirection link) che porta l'u- tente alla cosiddetta Landing Page, dove spesso si trovano informazioni riguardanti prodotti commerciali o altri contenuti indesiderati. • Download automatico di un le, molto spesso una app dannosa (ma- licious app). Figura 2: Visualizzazione di un annuncio 3
  • 5. 3 MadDroid La procedura viene suddivisa in tre diversi moduli per rispondere alle principali problematiche che caratterizzano l'analisi della distribuzione dei contenuti pubblicitari. I moduli possono essere estesi nel caso in cui venissero introdotti nuovi tipi di contenuti. Figura 3: Grafo ad albero delle transizioni tra i singoli UI states TCM: Trac Collection Module Gli autori hanno implementato, in linguaggio Python, un generatore di input per esplorare le applicazioni Android ed individuare in maniera auto- matica gli annunci presenti nella User Interface. Sulla base di studi preceden- ti, si prediligono le pagine principali e quelle di uscita (dove è più probabile che siano presenti annunci) e si applica un algoritmo di ricerca in ampiezza (BFS). La navigazione tra i diversi UI states può essere meglio compresa osservando il grafo ad albero in gura 3, dove ogni nodo child rappresenta il generico UI State ed è ottenuto a partire dal nodo parent in seguito ad una manipolazione da parte dell'utente. 4
  • 6. CEM: Content Extraction Module Dopo aver individuato gli annunci, si procede analizzando il traco HTTP scambiato tra l'applicazione e la Ad Network quando l'annuncio è caricato e cliccato: il modulo si occupa di tralasciare il traco non ricondu- cibile alla pubblicità. A tale scopo, non può essere suciente selezionare i pacchetti trasmessi o ricevuti da reti elencati in una data whitelist, poiché il numero di Ad Networks e Ad libraries è in continua evoluzione. Si procede identicando iterativamente i domini rilevanti per gli annunci pubblicitari: se il pacchetto è una nota libreria pubblicitaria, tutti i domini attivati a partire da essa saranno registrati come domini pubblicitari; se il nome di un dominio è già presente nel mapping, il corrispondente pacchetto sarà contrassegnato come libreria pubblicitaria. Per la raccolta del traco si utilizza l'utility Fiddler assieme ad alcuni suoi script. La cattura è basata su Xposed Framework, che permette di raccogliere, in tempo reale, le informazioni dell'applicazione Android che viene testata. DDM: Deviousness Detection Module La parte fondamentale di MadDroid è il modulo che discrimina i conte- nuti equivoci secondo la categorizzazione proposta nella precedente sezione. Considerata la grande essibilità richiesta dall'eterogeneità dei contenuti da individuare, l'architettura di questo modulo è basata su plug-in; ciò signica che prevede l'utilizzo di strumenti diversi a secondo del tipo di contenuto da individuare: • Algoritmo di obiect detection, di nome YOLO, per la categoria Click Deceptive Images; • Google Vision API per individuare immagini pornograche, di violenza e simili; • Tecniche di Optical Character Recognition (OCR) per le immagini nel campo del gioco d'azzardo; • Per i contenuti considerati pericolosi, immagini escluse, si usufruisce del servizio online gratuito VirusTotal, che utilizza più di 60 tipi di motori antivirus. 4 Risultati Facendo ricorso al noto dataset AndroidZoo e analizzando le applicazioni disponibili con VirusTotal, si seleziona un gruppo di 40000 elementi segnalati come adware, di cui la metà sono reperibili su Google Play e l'altra metà sono app di terze parti. Ogni app è eseguita su uno smartphone Nexus 5. 5
  • 7. La tabella 1 mostra che 2322 applicazioni, all'incirca il 6%, forniscono i contenuti oggetto dello studio. Nel complesso le statistiche mostrano che è più alta la probabilità che siano i contenuti caricati dopo un click ad essere dannosi: in tabella 2 è possibile osservare le percentuali per ogni categoria. Il 57,25% sono applicazioni scaricate dopo aver cliccato su un annuncio; si evidenzia inoltre che il 57% della app ottenute dopo il click sono segnalate da VirusTotal e il 30% di queste ultime sono segnalate da 10 diversi motori antivirus. Type # Devious Contents # Host Apps Click-deceptive Image 525 40 Censored Image 279 240 Malicious script 112 46 Malicious redirection link 1822 838 Malicious App 1457 1267 Total - 2322 Tabella 1: Numero di contenuti e applicazioni segnalate Ad Content Total Devious Type Ad Images 83347 27 (0,33%) Ad Loading Executable scripts 52529 112 (0,21%) Ad Loading Ad Redirection URLs 49392 1822 (3,69%) Ad Clicking Downloaded Apps 2545 1457 (57,25%) Ad Clicking Tabella 2: Statistiche sui dati raccolti Per quanto riguarda l'origine dei contenuti, il nuovo approccio di cattura del traco HTTP di MadDroid ha esteso lista degli ad hosts (il numero è quasi triplicato) ed è conseguentemente aumentata la collezione di contenuti pubblicitari di una percentuale del 126%. Studiando la distribuzione delle Ad Networks in base al numero di contenuti pubblicitari equivoci che tra- smettono ai dispositivi degli utenti, si osserva che immagini da censurare, scripts e links potenzialmente dannosi sono distribuiti principalmente da Ad Networks popolari e largamente utilizzate. 5 Conclusioni I risultati elencati nella sezione precedente, in particolare il coinvolgimen- to delle reti più popolari, suggeriscono che il problema sia ancora irrisolto: i contenuti forniti dagli Advertisers non sono controllati nel modo corretto pri- ma di essere trasmessi agli utenti e gli annunci pubblicitari sono diventati un 6
  • 8. canale privilegiato per la distribuzione di malware; sono necessari maggiori sforzi e strumenti automatici per regolare il comportamento dei fornitori. Con questa ricerca sono stati raccolti molti dati rispetto agli studi pre- cedenti ed analizzati anche contenuti precedentemente trascurati, cioè quelli scaricati dopo l'interazione con la pubblicità. La categorizzazione proposta potrebbe un giorno risultare obsoleta perché basata sulle conoscenze attuali, ma sarebbe facilmente estendibile vista la essibilità di MadDroid e l'archi- tettura basata su plug-in. Una limitazione signicativa dell'approccio propo- sto è data dalle scelte fatte per raggiungere la massima ecienza e copertura (per esempio trascurare alcune pagine in cui la probabilità di individuare annunci è più bassa); inne è opportuno tener conto che i contenuti presenti in una data applicazione potrebbero variare in base ad alcuni fattori come data, ora, luogo e vari identicatori. Riferimenti bibliograci [1] Tianming Liu, Haoyu Wang, Li Li, Xiapu Luo, Feng Dong, Yao Guo, Liu Wang, Tegawendé F. Bissyandé, and Jacques Klein. 2020. Mad- Droid: Characterizing and Detecting Devious Ad Contents for Android Apps. In Proceedings of The Web Conference 2020 (WWW '20), April 2024, 2020, Taipei, Taiwan. ACM, New York, NY, USA, 12 pages. https://doi.org/10.1145/3366423.3380242 7