SlideShare a Scribd company logo
1 of 8
Download to read offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Tesi di Laurea Triennale
Ingegneria Elettronica e Informatica
Extended Summary of
"SOK: The Evolution of Trusted
UI on Mobile"
Relatore: Chiar.mo Prof. Eric Medvet
Laureando: Simone Cossaro
Anno Accademico 2021-2022
1
Indice
1 Introduzione 3
2 Background 3
3 Problemi di progettazione 4
4 Contromisure 6
5 Sfide Future 7
6 Conclusione 7
2
1 Introduzione
L’interfaccia utente è il mezzo con cui l’uomo interagisce con una macchina, sia
essa un computer o uno smartphone.
Attualmente, il concetto di interfaccia utente affidabile non è universalmente
implementato sui dispositivi mobili di consumo.
Sui computer sono presenti vari indicatori che consentono di riconoscere un’app
specifica, mentre le interfacce dei dispositivi mobili, sebbene offrano numerose
funzionalità, nascondono molti dettagli. Gli utenti infatti non sono in grado
di identificare in modo affidabile quale contenuto dello schermo sia autentico e
quale potenzialmente manipolato.
I dispositivi mobili sono centrali nella vita quotidiana delle persone e
all’interno vengono trasferite sempre maggiori informazioni. La loro sicurezza
risulta quindi estremamente importante per evitare che incidenti fortuiti possano
causare gravi danni.
In questo documento vengono elencati i problemi dell’interfaccia utente che
minacciano la sicurezza dei dispositivi con sistema operativo Android e le contro-
misure per arginarli. Vengono inoltre presentate alcune questioni da considerare
per futuri sforzi di ricerca.
2 Background
Il sistema Android si basa sulle funzionalità del kernel Linux.
Un elemento fondamentale è l’Android Application Sandbox, meccanismo di
sicurezza che vieta alle app di accedere a dati o codice di altre app. In pratica,
ogni applicazione viene eseguita nel proprio spazio di memoria.
Il sistema operativo offre però un modello basato su permessi per concedere
l’accesso a risorse specifiche. La verifica di queste autorizzazioni effettuata dal
sistema garantisce che nessuna app esponga involontariamente i propri dati.
I TEE (Trusted Execution Environment) sono una funzionalità della CPU
che offre un ambiente isolato per l’elaborazione dei dati, allo scopo di eseguire
in sicurezza applicazioni specifiche, dette trustlet, anche in presenza di un
sistema operativo compromesso. Queste applicazioni trustlet sono responsabili
dell’esecuzione di operazioni critiche come la crittografia e l’autenticazione.
Nella maggior parte dei dispositivi Android è implementato ARM TrustZone,
un meccanismo che presenta due domini di sicurezza: ‘Normal World’ e
‘Secure World’. Nel primo è in esecuzione il normale sistema operativo, mentre il
secondo esegue un sistema operativo con TEE aggiuntivo. Il Normal World non
può accedere direttamente al Secure World, la comunicazione avviene effettuando
una chiamata SMC (Secure Monitor Call) ad un software detto Secure Monitor.
3
Figura 1: L’architettura software di un dispositivo Android con TrustZone
In un sistema esistono tre livelli di privilegio, in ordine crescente:
• utente
• OS
• TEE
Se in uno di essi un attaccante può scrivere del codice arbitrario, tale livello
risulta non attendibile insieme ai sottostanti.
Una difesa può essere utilizzata solo a un livello superiore rispetto a quello
considerato non attendibile.
3 Problemi di progettazione
I principali difetti di progettazione del sistema operativo Android riguardano la
gestione delle finestre e i servizi di accessibilità.
Nella gestione delle finestre si riscontrano i seguenti problemi:
1. Indicatori mancanti
Qualsiasi applicazione può impersonare un’altra app legittima, in quanto
può utilizzare interfacce utente a schermo intero per coprire il display e
il sistema operativo non offre alcuna identificazione dei contenuti dello
schermo.
Gli utenti possono accedere alla schermata “Informazioni app”, dalla quale
però ottengono solamente informazioni di base come nome e icona dell’app,
niente che aiuti a distinguere un’app legittima da una dannosa o di
indirizzamento errato.
2. Overlay
Gli overlay sono finestre che si sovrappongono ad altre finestre sullo schermo.
4
Figura 2: Alcuni esempi di come gli overlay possano sovrapporsi [1]
Possono essere utilizzate da qualsiasi app attiva e non vengono trattate
come finestre normali: non compaiono nel selettore di app e sono prive di
barra del titolo e layout obbligatorio.
Gli overlay possono essere sfruttati per attacchi di clickjacking e context
hiding.
Il clickjacking consiste nel reindirizzare un click verso un oggetto diverso
da quello atteso. Un utente crede di consultare una pagina normale ma in
realtà naviga su una "trasparente" in sovrapposizione. I rischi derivanti dai
click vanno dal semplice invio di spam, al download di file, fino all’ordinare
prodotti da siti di e-commerce. [2]
Il context hiding, invece, consiste nell’utilizzare un overlay per nascondere
il contenuto dello schermo attorno ai controlli dell’interfaccia utente come
i pulsanti, rimuovendo quindi qualsiasi indicazione sulla finestra a cui
appartiene il controllo. In una finestra di dialogo di conferma, nascondere
il testo e sostituirlo con uno diverso potrebbe indurre l’utente ad accettare
tutto ciò che vuole un malintenzionato.
3. Reindirizzamento
In generale, Android associa un’attività a un task specifico, in modo da
non rimuovere dalla memoria una finestra fino al completamento del task.
Nelle app di terze parti, le attività possono definire un attributo
taskAffinity, che indica al sistema operativo a quale task preferiscono
appartenere. Un secondo attributo, allowTaskReparenting, permette ad
un’attività di trasferirsi da un task ad un altro. Entrambi sono controllati
dallo sviluppatore, perciò possono essere combinati per consentire a un’app
dannosa di essere associata a un’app legittima. Ciò significa che l’app
dannosa può posizionarsi sopra l’app legittima o reindirizzare l’utente a
un’altra attività per eseguire vari attacchi, come il furto di credenziali, il
blocco del dispositivo o il monitoraggio delle azioni dell’utente.
Per quanto riguarda i servizi di accessibilità, il loro scopo è migliorare l’espe-
rienza degli utenti diversamente abili. Possono monitorare le azioni dell’utente,
eseguirle per lui e sono in grado di recuperare i contenuti di altre finestre.
Sono quindi progettati per avere accesso ad azioni privilegiate che interessano
l’intero sistema operativo, aggirando le limitazioni imposte dal sandboxing.
Le loro potenzialità possono essere sfruttate da attaccanti per abilitare altri
servizi, concedere autorizzazioni aggiuntive alle app e accedere a dati sensibili.
Utilizzando l’input simulato, possono installare app aggiuntive per acquisire
maggior controllo del dispositivo e per aumentare la persistenza possono moni-
torare il sistema per rilevare e prevenire tentativi di rimozione del malware.
5
Una volta che un servizio di accessibilità dannoso è attivo, l’utente può perdere
il controllo del dispositivo.
4 Contromisure
Le difese contro i problemi elencati sono per lo più implementate a livello di
sistema operativo e nello spazio del kernel, con poche eccezioni che fanno uso di
soluzioni TEE basate su hardware.
Nel corso degli anni, Google ha migliorato le proprie misure di sicurezza per
contrastare gli overlay:
• introducendo dei flag per rilevarli e ignorare input indesiderati
• impedendogli di coprire il menù e la barra di stato delle applicazioni
• suddividendoli in classi di priorità per stabilire quale finestra possa collocarsi
sopra le altre
• facendoli scomparire durante i dialoghi critici
• attivando notifiche al momento della loro creazione e attivazione
Figura 3: tipico messaggio di notifica
L’introduzione di Android Protected Confirmation ha offerto un metodo
per ottenere una decisione dell’utente verificabile attraverso l’uso di metodi
crittografici consolidati. Dal punto di vista dell’utente, si tratta di una schermata
visualizzata a schermo intero contenente un piccolo messaggio che non può essere
manipolato e la conferma viene eseguita premendo un pulsante.
Un meccanismo difensivo realizzato nei confronti del clickjacking è ClickShield.
Si basa sul deblending, ovvero un algoritmo che confronta ciò che un utente vede
e ciò che dovrebbe vedere.
Quando un utente preme un bottone sensibile si attiva ClickShield, il quale
verifica la presenza di overlay. Se ne rileva almeno uno al centro dello schermo,
attiva il deblending che si occupa di stabilire se l’overlay è in grado di ingannare
l’utente. In caso affermativo, viene mostrata una finestra di dialogo che consente
all’utente di rimuovere l’applicazione dannosa oppure appare solamente un avviso
che lascia libertà su come proseguire. [3]
Ricerche hanno esplorato soluzioni difensive che consistono nello spostamento
dell’intero stack dell’interfaccia utente nel TEE. Questo meccanismo richiede
molte modifiche al TEE e al sistema operativo Android sottostante.
Il Trusted Computing Base (TCB) corrisponde al numero di righe di codice
6
eseguite nell’ambiente attendibile e va minimizzato in modo da ridurre la pos-
sibilità di bug. Lo spostamento dello stack nel TEE comporta un aumento
significativo del TCB, oltre ad un peggioramento delle prestazioni. Quindi la
soluzione non risulta vantaggiosa.
Altre soluzioni introducono il concetto di indicatori “LED sicuri”, il cui
accesso è possibile solo dal mondo attendibile (Secure World).
Il LED attivo potrebbe ad esempio informare l’utente che lo schermo corrente
è sicuro. Questo però comprometterebbe una funzionalità di Android, ovvero
la possibilità delle app di utilizzare il LED per notifiche o come indicatore della
batteria.
5 Sfide Future
L’autore ritiene che alcuni campi come la ricerca di Root Of Trust e percorsi
attendibili nei dispositivi mobili siano meritevoli di un’approfondimento più
accurato.
Gli attacchi attribuiti agli indicatori mancanti potrebbero essere mitigati con
un semplice indicatore aggiuntivo che mostri l’origine dell’app, in modo simile
ai certificati dei browser.
Deve essere ulteriormente esplorato il passaggio ad hardware di sicurezza
dedicato e mancano architetture open source che potrebbero contribuire signi-
ficativamente all’affidabilità dei dispositivi.
Ma il punto cruciale è la considerazione degli utenti finali. Non sempre
possiedono conoscenze approfondite sui meccanismi dell’interfaccia utente e
alcune funzioni potrebbero confonderli. In fase di progettazione occorre pre-
diligere l’usabilità per consentire un utilizzo efficace dei dispositivi. È stata
dimostrata una correlazione tra usabilità e sicurezza: diminuire l’usabilità può
portare a una minore sicurezza.
6 Conclusione
I problemi principali presentati sono gli overlay e il controllo dell’interfaccia
utente, per i quali sono riportate delle efficienti contromisure che possono però
solamente limitare i danni e non estinguere completamente i problemi.
Occorre mantenere il giusto equilibrio tra sicurezza e funzionalità, cercando
di non eccedere nella seconda.
La ricerca nel campo della mobile security ha fatto enormi passi avanti, ma
rimangono ancora molte questioni da approfondire.
L’uso costantemente crescente dei dispositivi mobili non fa altro che aumentare
l’esposizione a questi rischi di sicurezza informatica e un piccolo errore può
portare a danni come fughe di dati, violazioni della privacy e perdite di denaro.
Data la delicatezza del tema, risultano indispensabili ulteriori ricerche e
perfezionamenti.
7
Riferimenti bibliografici
[1] Yuxuan Yan, Zhenhua Li, Qi Alfred Chen, Christo Wilson, Tianyin
Xu, Ennan Zhai, Yong Li, Yunhao Liu. Understanding and Detecting
Overlay-based Android Malware at Market Scales. 2019.
URL: https://www.ics.uci.edu/ alfchen/yuxuan_mobisys19.pdf
[2] Wikipedia. Clickjacking. 2022. URL: https://it.wikipedia.org/wiki/Clickjacking
(visitato in data 07/06/2022)
[3] Andrea Possemato, Andrea Lanzi, Simon Pak Ho Chung, Wenke Lee, Yanick
Fratantonio. ClickShield: Are You Hiding Something? Towards Eradicating
Clickjacking on Android. 2018.
URL: https://reyammer.io/publications/2018_ccs_clickshield.pdf
8

More Related Content

Similar to Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"

Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Riccardo Mancinelli
 
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...AndreaPausig
 
Microsoft - SMAU Bologna 2017
Microsoft - SMAU Bologna 2017Microsoft - SMAU Bologna 2017
Microsoft - SMAU Bologna 2017SMAU
 
Android programming (ita)
Android programming (ita)Android programming (ita)
Android programming (ita)Vinu Iaconissi
 
Android programming
Android programmingAndroid programming
Android programmingPi Libri
 
La sicurezza non è un prodotto, ma un processo
La sicurezza non è un prodotto, ma un processoLa sicurezza non è un prodotto, ma un processo
La sicurezza non è un prodotto, ma un processoVincenzo Calabrò
 
Cyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightCyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightRedazione InnovaPuglia
 
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
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidOpen Makers Italy
 
Claudio Agosti - Veneto 2014
Claudio Agosti - Veneto 2014Claudio Agosti - Veneto 2014
Claudio Agosti - Veneto 2014Claudio Vecna
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Bit4id1
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceGianluca Vaglio
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Bit4id1
 
Smau milano 2012 arena expo comm andrea perna
Smau milano 2012   arena expo comm andrea pernaSmau milano 2012   arena expo comm andrea perna
Smau milano 2012 arena expo comm andrea pernaSMAU
 
Responsible disclosure. La sicurezza è responsabilità di tutti
Responsible disclosure. La sicurezza è responsabilità di tuttiResponsible disclosure. La sicurezza è responsabilità di tutti
Responsible disclosure. La sicurezza è responsabilità di tuttiTeam per la Trasformazione Digitale
 
Bisignano mod-4-continuità-operativa
Bisignano mod-4-continuità-operativaBisignano mod-4-continuità-operativa
Bisignano mod-4-continuità-operativaiMaS s.r.l.
 
festival ICT 2013: Il rischio è mobile
festival ICT 2013: Il rischio è mobilefestival ICT 2013: Il rischio è mobile
festival ICT 2013: Il rischio è mobilefestival ICT 2016
 

Similar to Extended Summary of "Sok: The Evolution of Trusted UI on Mobile" (20)

Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30
 
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
 
Microsoft - SMAU Bologna 2017
Microsoft - SMAU Bologna 2017Microsoft - SMAU Bologna 2017
Microsoft - SMAU Bologna 2017
 
Android programming (ita)
Android programming (ita)Android programming (ita)
Android programming (ita)
 
Open Source
Open SourceOpen Source
Open Source
 
Android programming
Android programmingAndroid programming
Android programming
 
La sicurezza non è un prodotto, ma un processo
La sicurezza non è un prodotto, ma un processoLa sicurezza non è un prodotto, ma un processo
La sicurezza non è un prodotto, ma un processo
 
Cyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni lightCyber risks impatti, valutazioni e ragioni light
Cyber risks impatti, valutazioni e ragioni light
 
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 ...
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile Android
 
Claudio Agosti - Veneto 2014
Claudio Agosti - Veneto 2014Claudio Agosti - Veneto 2014
Claudio Agosti - Veneto 2014
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open source
 
Lezione lim punto2.1
Lezione lim punto2.1Lezione lim punto2.1
Lezione lim punto2.1
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
 
Smau milano 2012 arena expo comm andrea perna
Smau milano 2012   arena expo comm andrea pernaSmau milano 2012   arena expo comm andrea perna
Smau milano 2012 arena expo comm andrea perna
 
Responsible disclosure. La sicurezza è responsabilità di tutti
Responsible disclosure. La sicurezza è responsabilità di tuttiResponsible disclosure. La sicurezza è responsabilità di tutti
Responsible disclosure. La sicurezza è responsabilità di tutti
 
Bisignano mod-4-continuità-operativa
Bisignano mod-4-continuità-operativaBisignano mod-4-continuità-operativa
Bisignano mod-4-continuità-operativa
 
festival ICT 2013: Il rischio è mobile
festival ICT 2013: Il rischio è mobilefestival ICT 2013: Il rischio è mobile
festival ICT 2013: Il rischio è mobile
 
Sicurezza nelle web apps
Sicurezza nelle web appsSicurezza nelle web apps
Sicurezza nelle web apps
 

Recently uploaded

Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniGiornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleGiornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaServizi a rete
 

Recently uploaded (7)

Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniGiornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleGiornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
 

Extended Summary of "Sok: The Evolution of Trusted UI on Mobile"

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Tesi di Laurea Triennale Ingegneria Elettronica e Informatica Extended Summary of "SOK: The Evolution of Trusted UI on Mobile" Relatore: Chiar.mo Prof. Eric Medvet Laureando: Simone Cossaro Anno Accademico 2021-2022 1
  • 2. Indice 1 Introduzione 3 2 Background 3 3 Problemi di progettazione 4 4 Contromisure 6 5 Sfide Future 7 6 Conclusione 7 2
  • 3. 1 Introduzione L’interfaccia utente è il mezzo con cui l’uomo interagisce con una macchina, sia essa un computer o uno smartphone. Attualmente, il concetto di interfaccia utente affidabile non è universalmente implementato sui dispositivi mobili di consumo. Sui computer sono presenti vari indicatori che consentono di riconoscere un’app specifica, mentre le interfacce dei dispositivi mobili, sebbene offrano numerose funzionalità, nascondono molti dettagli. Gli utenti infatti non sono in grado di identificare in modo affidabile quale contenuto dello schermo sia autentico e quale potenzialmente manipolato. I dispositivi mobili sono centrali nella vita quotidiana delle persone e all’interno vengono trasferite sempre maggiori informazioni. La loro sicurezza risulta quindi estremamente importante per evitare che incidenti fortuiti possano causare gravi danni. In questo documento vengono elencati i problemi dell’interfaccia utente che minacciano la sicurezza dei dispositivi con sistema operativo Android e le contro- misure per arginarli. Vengono inoltre presentate alcune questioni da considerare per futuri sforzi di ricerca. 2 Background Il sistema Android si basa sulle funzionalità del kernel Linux. Un elemento fondamentale è l’Android Application Sandbox, meccanismo di sicurezza che vieta alle app di accedere a dati o codice di altre app. In pratica, ogni applicazione viene eseguita nel proprio spazio di memoria. Il sistema operativo offre però un modello basato su permessi per concedere l’accesso a risorse specifiche. La verifica di queste autorizzazioni effettuata dal sistema garantisce che nessuna app esponga involontariamente i propri dati. I TEE (Trusted Execution Environment) sono una funzionalità della CPU che offre un ambiente isolato per l’elaborazione dei dati, allo scopo di eseguire in sicurezza applicazioni specifiche, dette trustlet, anche in presenza di un sistema operativo compromesso. Queste applicazioni trustlet sono responsabili dell’esecuzione di operazioni critiche come la crittografia e l’autenticazione. Nella maggior parte dei dispositivi Android è implementato ARM TrustZone, un meccanismo che presenta due domini di sicurezza: ‘Normal World’ e ‘Secure World’. Nel primo è in esecuzione il normale sistema operativo, mentre il secondo esegue un sistema operativo con TEE aggiuntivo. Il Normal World non può accedere direttamente al Secure World, la comunicazione avviene effettuando una chiamata SMC (Secure Monitor Call) ad un software detto Secure Monitor. 3
  • 4. Figura 1: L’architettura software di un dispositivo Android con TrustZone In un sistema esistono tre livelli di privilegio, in ordine crescente: • utente • OS • TEE Se in uno di essi un attaccante può scrivere del codice arbitrario, tale livello risulta non attendibile insieme ai sottostanti. Una difesa può essere utilizzata solo a un livello superiore rispetto a quello considerato non attendibile. 3 Problemi di progettazione I principali difetti di progettazione del sistema operativo Android riguardano la gestione delle finestre e i servizi di accessibilità. Nella gestione delle finestre si riscontrano i seguenti problemi: 1. Indicatori mancanti Qualsiasi applicazione può impersonare un’altra app legittima, in quanto può utilizzare interfacce utente a schermo intero per coprire il display e il sistema operativo non offre alcuna identificazione dei contenuti dello schermo. Gli utenti possono accedere alla schermata “Informazioni app”, dalla quale però ottengono solamente informazioni di base come nome e icona dell’app, niente che aiuti a distinguere un’app legittima da una dannosa o di indirizzamento errato. 2. Overlay Gli overlay sono finestre che si sovrappongono ad altre finestre sullo schermo. 4
  • 5. Figura 2: Alcuni esempi di come gli overlay possano sovrapporsi [1] Possono essere utilizzate da qualsiasi app attiva e non vengono trattate come finestre normali: non compaiono nel selettore di app e sono prive di barra del titolo e layout obbligatorio. Gli overlay possono essere sfruttati per attacchi di clickjacking e context hiding. Il clickjacking consiste nel reindirizzare un click verso un oggetto diverso da quello atteso. Un utente crede di consultare una pagina normale ma in realtà naviga su una "trasparente" in sovrapposizione. I rischi derivanti dai click vanno dal semplice invio di spam, al download di file, fino all’ordinare prodotti da siti di e-commerce. [2] Il context hiding, invece, consiste nell’utilizzare un overlay per nascondere il contenuto dello schermo attorno ai controlli dell’interfaccia utente come i pulsanti, rimuovendo quindi qualsiasi indicazione sulla finestra a cui appartiene il controllo. In una finestra di dialogo di conferma, nascondere il testo e sostituirlo con uno diverso potrebbe indurre l’utente ad accettare tutto ciò che vuole un malintenzionato. 3. Reindirizzamento In generale, Android associa un’attività a un task specifico, in modo da non rimuovere dalla memoria una finestra fino al completamento del task. Nelle app di terze parti, le attività possono definire un attributo taskAffinity, che indica al sistema operativo a quale task preferiscono appartenere. Un secondo attributo, allowTaskReparenting, permette ad un’attività di trasferirsi da un task ad un altro. Entrambi sono controllati dallo sviluppatore, perciò possono essere combinati per consentire a un’app dannosa di essere associata a un’app legittima. Ciò significa che l’app dannosa può posizionarsi sopra l’app legittima o reindirizzare l’utente a un’altra attività per eseguire vari attacchi, come il furto di credenziali, il blocco del dispositivo o il monitoraggio delle azioni dell’utente. Per quanto riguarda i servizi di accessibilità, il loro scopo è migliorare l’espe- rienza degli utenti diversamente abili. Possono monitorare le azioni dell’utente, eseguirle per lui e sono in grado di recuperare i contenuti di altre finestre. Sono quindi progettati per avere accesso ad azioni privilegiate che interessano l’intero sistema operativo, aggirando le limitazioni imposte dal sandboxing. Le loro potenzialità possono essere sfruttate da attaccanti per abilitare altri servizi, concedere autorizzazioni aggiuntive alle app e accedere a dati sensibili. Utilizzando l’input simulato, possono installare app aggiuntive per acquisire maggior controllo del dispositivo e per aumentare la persistenza possono moni- torare il sistema per rilevare e prevenire tentativi di rimozione del malware. 5
  • 6. Una volta che un servizio di accessibilità dannoso è attivo, l’utente può perdere il controllo del dispositivo. 4 Contromisure Le difese contro i problemi elencati sono per lo più implementate a livello di sistema operativo e nello spazio del kernel, con poche eccezioni che fanno uso di soluzioni TEE basate su hardware. Nel corso degli anni, Google ha migliorato le proprie misure di sicurezza per contrastare gli overlay: • introducendo dei flag per rilevarli e ignorare input indesiderati • impedendogli di coprire il menù e la barra di stato delle applicazioni • suddividendoli in classi di priorità per stabilire quale finestra possa collocarsi sopra le altre • facendoli scomparire durante i dialoghi critici • attivando notifiche al momento della loro creazione e attivazione Figura 3: tipico messaggio di notifica L’introduzione di Android Protected Confirmation ha offerto un metodo per ottenere una decisione dell’utente verificabile attraverso l’uso di metodi crittografici consolidati. Dal punto di vista dell’utente, si tratta di una schermata visualizzata a schermo intero contenente un piccolo messaggio che non può essere manipolato e la conferma viene eseguita premendo un pulsante. Un meccanismo difensivo realizzato nei confronti del clickjacking è ClickShield. Si basa sul deblending, ovvero un algoritmo che confronta ciò che un utente vede e ciò che dovrebbe vedere. Quando un utente preme un bottone sensibile si attiva ClickShield, il quale verifica la presenza di overlay. Se ne rileva almeno uno al centro dello schermo, attiva il deblending che si occupa di stabilire se l’overlay è in grado di ingannare l’utente. In caso affermativo, viene mostrata una finestra di dialogo che consente all’utente di rimuovere l’applicazione dannosa oppure appare solamente un avviso che lascia libertà su come proseguire. [3] Ricerche hanno esplorato soluzioni difensive che consistono nello spostamento dell’intero stack dell’interfaccia utente nel TEE. Questo meccanismo richiede molte modifiche al TEE e al sistema operativo Android sottostante. Il Trusted Computing Base (TCB) corrisponde al numero di righe di codice 6
  • 7. eseguite nell’ambiente attendibile e va minimizzato in modo da ridurre la pos- sibilità di bug. Lo spostamento dello stack nel TEE comporta un aumento significativo del TCB, oltre ad un peggioramento delle prestazioni. Quindi la soluzione non risulta vantaggiosa. Altre soluzioni introducono il concetto di indicatori “LED sicuri”, il cui accesso è possibile solo dal mondo attendibile (Secure World). Il LED attivo potrebbe ad esempio informare l’utente che lo schermo corrente è sicuro. Questo però comprometterebbe una funzionalità di Android, ovvero la possibilità delle app di utilizzare il LED per notifiche o come indicatore della batteria. 5 Sfide Future L’autore ritiene che alcuni campi come la ricerca di Root Of Trust e percorsi attendibili nei dispositivi mobili siano meritevoli di un’approfondimento più accurato. Gli attacchi attribuiti agli indicatori mancanti potrebbero essere mitigati con un semplice indicatore aggiuntivo che mostri l’origine dell’app, in modo simile ai certificati dei browser. Deve essere ulteriormente esplorato il passaggio ad hardware di sicurezza dedicato e mancano architetture open source che potrebbero contribuire signi- ficativamente all’affidabilità dei dispositivi. Ma il punto cruciale è la considerazione degli utenti finali. Non sempre possiedono conoscenze approfondite sui meccanismi dell’interfaccia utente e alcune funzioni potrebbero confonderli. In fase di progettazione occorre pre- diligere l’usabilità per consentire un utilizzo efficace dei dispositivi. È stata dimostrata una correlazione tra usabilità e sicurezza: diminuire l’usabilità può portare a una minore sicurezza. 6 Conclusione I problemi principali presentati sono gli overlay e il controllo dell’interfaccia utente, per i quali sono riportate delle efficienti contromisure che possono però solamente limitare i danni e non estinguere completamente i problemi. Occorre mantenere il giusto equilibrio tra sicurezza e funzionalità, cercando di non eccedere nella seconda. La ricerca nel campo della mobile security ha fatto enormi passi avanti, ma rimangono ancora molte questioni da approfondire. L’uso costantemente crescente dei dispositivi mobili non fa altro che aumentare l’esposizione a questi rischi di sicurezza informatica e un piccolo errore può portare a danni come fughe di dati, violazioni della privacy e perdite di denaro. Data la delicatezza del tema, risultano indispensabili ulteriori ricerche e perfezionamenti. 7
  • 8. Riferimenti bibliografici [1] Yuxuan Yan, Zhenhua Li, Qi Alfred Chen, Christo Wilson, Tianyin Xu, Ennan Zhai, Yong Li, Yunhao Liu. Understanding and Detecting Overlay-based Android Malware at Market Scales. 2019. URL: https://www.ics.uci.edu/ alfchen/yuxuan_mobisys19.pdf [2] Wikipedia. Clickjacking. 2022. URL: https://it.wikipedia.org/wiki/Clickjacking (visitato in data 07/06/2022) [3] Andrea Possemato, Andrea Lanzi, Simon Pak Ho Chung, Wenke Lee, Yanick Fratantonio. ClickShield: Are You Hiding Something? Towards Eradicating Clickjacking on Android. 2018. URL: https://reyammer.io/publications/2018_ccs_clickshield.pdf 8