Android supports three different access control techniques: Android Permission Framework, kernel-level Discretionary Access Control and Mandatory Access Control. Mandatory Access Control has been implemented with the use of SELinux and its adaptation to Android (SEAndroid). Currently, the use of the MAC model is limited to the protection of system resources. All the apps that are installed by users fall in a single undifferentiated domain, untrusted app. We implement an extension of the architecture that permits to associate with each app a dedicated MAC policy, contained in a dedicated app policy module, in order to protect app resources even from malware with root privileges. A crucial difference with respect to the support for policy modules already available in some SELinux implementations is the need to constrain the policies in order to guarantee that an app policy is not able to manipulate the system policy. We present the security requirements to be enforced on modules and show that our solution satisfies these requirements. The support for SELinux policies for fine-grained protection of Android apps can also be the basis for the automatic generation of policies, with a stricter enforcement of Android permissions. A prototype has been implemented and tested with an example app to inspect its feature and functionalities.

Android sfrutta diverse tecniche di controllo degli accessi: Android Permission Framework, Discretionary Access Control del kernel Linux e Mandatory Access Control. L'implementazione del Mandatory Access Control di Android è realizzata con l'uso di SELinux, in particolare una sua variante, SEAndroid. Attualmente, l'uso del modello MAC è limitato alla protezione delle risorse di sistema, mentre tutte le applicazioni installate dagli utenti vengono eseguite in un singolo dominio, untrusted app. In questa tesi abbiamo implementato un estensione dell'architettura che permette di associare ad ogni app una politica di sicurezza MAC, con l'obiettivo di proteggere le risorse dell'app perfino da malware con privilegi di root. Una differenza cruciale, rispetto a implementazioni già esistenti di SELinux che supportano la modularità della politica di sicurezza, è la necessità di filtrare tali moduli per salvaguardare la politica di sicurezza di sistema dall'installazione di nuove applicazioni, le quali non possono essere ritenute fidate. Presentiamo quindi i requisiti di sicurezza necessari affinchè la politica di sicurezza possa essere installata e mostriamo che la nostra soluzione soddisfa tali requisiti. L'introduzione di moduli di sicurezza specifici per la protezione delle applicazioni con SELinux potrà inoltre fungere da base per la generazione automatica delle politiche di sicurezza, garantendo ulteriormente il rispetto degli Android permissions attraverso l'utilizzo di MAC. Un prototipo è stato implementato e testato con un'applicazione esempio per verificarne le caratteristiche e funzionalità.

SELinux policies for fine-grained protection of Android apps

ROSSI, MATTHEW
2017/2018

Abstract

Android supports three different access control techniques: Android Permission Framework, kernel-level Discretionary Access Control and Mandatory Access Control. Mandatory Access Control has been implemented with the use of SELinux and its adaptation to Android (SEAndroid). Currently, the use of the MAC model is limited to the protection of system resources. All the apps that are installed by users fall in a single undifferentiated domain, untrusted app. We implement an extension of the architecture that permits to associate with each app a dedicated MAC policy, contained in a dedicated app policy module, in order to protect app resources even from malware with root privileges. A crucial difference with respect to the support for policy modules already available in some SELinux implementations is the need to constrain the policies in order to guarantee that an app policy is not able to manipulate the system policy. We present the security requirements to be enforced on modules and show that our solution satisfies these requirements. The support for SELinux policies for fine-grained protection of Android apps can also be the basis for the automatic generation of policies, with a stricter enforcement of Android permissions. A prototype has been implemented and tested with an example app to inspect its feature and functionalities.
PELOSI, GERARDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
16-apr-2019
2017/2018
Android sfrutta diverse tecniche di controllo degli accessi: Android Permission Framework, Discretionary Access Control del kernel Linux e Mandatory Access Control. L'implementazione del Mandatory Access Control di Android è realizzata con l'uso di SELinux, in particolare una sua variante, SEAndroid. Attualmente, l'uso del modello MAC è limitato alla protezione delle risorse di sistema, mentre tutte le applicazioni installate dagli utenti vengono eseguite in un singolo dominio, untrusted app. In questa tesi abbiamo implementato un estensione dell'architettura che permette di associare ad ogni app una politica di sicurezza MAC, con l'obiettivo di proteggere le risorse dell'app perfino da malware con privilegi di root. Una differenza cruciale, rispetto a implementazioni già esistenti di SELinux che supportano la modularità della politica di sicurezza, è la necessità di filtrare tali moduli per salvaguardare la politica di sicurezza di sistema dall'installazione di nuove applicazioni, le quali non possono essere ritenute fidate. Presentiamo quindi i requisiti di sicurezza necessari affinchè la politica di sicurezza possa essere installata e mostriamo che la nostra soluzione soddisfa tali requisiti. L'introduzione di moduli di sicurezza specifici per la protezione delle applicazioni con SELinux potrà inoltre fungere da base per la generazione automatica delle politiche di sicurezza, garantendo ulteriormente il rispetto degli Android permissions attraverso l'utilizzo di MAC. Un prototipo è stato implementato e testato con un'applicazione esempio per verificarne le caratteristiche e funzionalità.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2019_04_Rossi.pdf

accessibile in internet per tutti

Descrizione: Thesis text
Dimensione 851.04 kB
Formato Adobe PDF
851.04 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/147391