Bluetooth Low Energy (BLE) is a growing wireless technology firstly announced in 1999. It is commonly used in the IoT environment since it permits the transmission of data using a small amount of energy, which is great for devices with a short battery life that need to have the battery replaced or recharged as few times as possible. BLE is quickly becoming one of the most widely used standards in smartphones, tablets, smart watches, health and fitness monitoring devices. For this reason, it is also becoming widely used in situations in which the transfer and storage of sensitive data is involved. BLE standard offers some security mechanisms by design, that includes pairing and keys distribution method at the link layer, allowing only authenticated devices to access the data. BLE security mechanisms are not always sufficient. In fact, often custom protocols are im- plemented at the application layer instead of using BLE standard. For this reason, problems related to the absence of encryption or authentication arise. Specifically, it is often possible for an application to connect to and query a GATT server even if another communication is already occurring. In this thesis, I present a demonstration of an attack against a smart band, in which the detected heart rate is silently sniffed by a malicious application. Finally I propose a counter- measure to this attack: an Android application that implements a virtualized environment. It is possible to run usual applications inside this environment. The container is customized in order to ask the user whether accepting that a particular application connects to a partic- ular smart device. This is achieved via the hooking and the re-implementation of the Java method responsible for the BLE connection between the smartphone and the smart devices. I implemented the malicious application and the defence mechanism and test the environ- ment on a Samsung Galaxy A8 equipped with Android 9 and a Xiaomi Mi Band 4. While the official Xiaomi application is connected to the smart band, the malicious application silently sniffs the communication and intercept the heart rate measurement. By installing these two applications inside the customized virtual environment it was possible to prevent this kind of attack, by warning the user about which device every application is trying to connect to and asking for their permission.
Bluetooth Low Energy, (BLE) è una tecnologia wireless in crescita sviluppata nei primi decenni degli anni 2000, è comunemente usata nell’ambiente IoT poiché permette la trasmis- sione di dati utilizzando una piccola quantità di energia, il che è ottimo per i dispositivi con una breve durata della batteria che deve essere sostituita o ricaricata il minor numero di volte possibile. BLE sta rapidamente diventando uno degli standard più utilizzati in smartphone, tablet, smart watches, dispositivi di monitoraggio della salute e del fitness. Per questo mo- tivo, sta diventando anche ampiamente utilizzato in situazioni in cui sono coinvolti il trasfer- imento e la memorizzazione di dati sensibili. Lo standard BLE offre alcuni meccanismi di sicurezza by design, che include il pairing e la distribuzione delle chiavi a link layer, permet- tendo solo ai dispositivi autenticati di accedere ai dati. I meccanismi di sicurezza di BLE non sono sempre sufficienti. Infatti, spesso vengono implementati protocolli personalizzati ad application layer invece di usare lo standard BLE. Per questo motivo, sorgono problemi legati all’assenza di crittografia o autenticazione. In particolare, è spesso possibile per un’applicazione connettersi e interrogare un server GATT anche se un’altra comunicazione è già in corso. In questa tesi presento una dimostrazione di un attacco contro uno smart band, in cui la frequenza cardiaca rilevata viene silenziosamente intercettata da un’applicazione malevola. Infine propongo una contromisura a questo attacco: un’applicazione Android che imple- menta un ambiente virtualizzato. In questo ambiente è possibile eseguire applicazioni qual- siasi. L’ambiente personalizzato si occupa di chiedere all’utente se accetta, quando necessario, che una particolare applicazione all’interno dell’ambiente virtuale si connetta ad un partico- lare dispositivo. Questo si ottiene tramite l’hooking e la reimplementazione del metodo Java responsabile della connessione BLE tra lo smartphone e gli smart device. Ho implementato l’applicazione malevola e il meccanismo di difesa e ho testato l’ambiente su un Samsung Galaxy A8 dotato di Android 9 e uno Xiaomi Mi Band 4. Mentre l’applicazione ufficiale Xiaomi è collegata allo smart band, l’applicazione malevola è in ascolto silenziosa- mente della comunicazione e intercetta la misurazione della frequenza cardiaca. Installando queste due applicazioni all’interno dell’ambiente virtuale personalizzato è stato possibile pre- venire questo tipo di attacco, avvertendo l’utente su quale dispositivo ogni applicazione sta cercando di connettersi e chiedendo il loro permesso.
A virtualization-based solution for protecting Android Bluetooth Low-Energy communications
VARISCHIO, ANDREA
2021/2022
Abstract
Bluetooth Low Energy (BLE) is a growing wireless technology firstly announced in 1999. It is commonly used in the IoT environment since it permits the transmission of data using a small amount of energy, which is great for devices with a short battery life that need to have the battery replaced or recharged as few times as possible. BLE is quickly becoming one of the most widely used standards in smartphones, tablets, smart watches, health and fitness monitoring devices. For this reason, it is also becoming widely used in situations in which the transfer and storage of sensitive data is involved. BLE standard offers some security mechanisms by design, that includes pairing and keys distribution method at the link layer, allowing only authenticated devices to access the data. BLE security mechanisms are not always sufficient. In fact, often custom protocols are im- plemented at the application layer instead of using BLE standard. For this reason, problems related to the absence of encryption or authentication arise. Specifically, it is often possible for an application to connect to and query a GATT server even if another communication is already occurring. In this thesis, I present a demonstration of an attack against a smart band, in which the detected heart rate is silently sniffed by a malicious application. Finally I propose a counter- measure to this attack: an Android application that implements a virtualized environment. It is possible to run usual applications inside this environment. The container is customized in order to ask the user whether accepting that a particular application connects to a partic- ular smart device. This is achieved via the hooking and the re-implementation of the Java method responsible for the BLE connection between the smartphone and the smart devices. I implemented the malicious application and the defence mechanism and test the environ- ment on a Samsung Galaxy A8 equipped with Android 9 and a Xiaomi Mi Band 4. While the official Xiaomi application is connected to the smart band, the malicious application silently sniffs the communication and intercept the heart rate measurement. By installing these two applications inside the customized virtual environment it was possible to prevent this kind of attack, by warning the user about which device every application is trying to connect to and asking for their permission.File | Dimensione | Formato | |
---|---|---|---|
Varischio_Andrea.pdf
accesso aperto
Dimensione
3.09 MB
Formato
Adobe PDF
|
3.09 MB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/29237