210 likes | 221 Views
BadBluethooth : Breaking Android Security Mechanisms via Malicious Bluetooth Peripherals.
E N D
BadBluethooth: Breaking Android Security Mechanisms via Malicious Bluetooth Peripherals [Xu-NDSS19] Xu, Fenghao, WenruiDiao, Zhou Li, Jiongyi Chen, and Kehuan Zhang, "BadBluetooth: Breaking Android Security Mechanisms via Malicious Bluetooth Peripherals", In Proceedings of Network and Distributed Systems Security Symposium, San Diego, CA, USA, 2019.
Introduction - Problem • Bluetooth device can exchange commands and data, such as voice, keyboard/mouse inputs, network, with the host • Some security measures have already been built into the Bluetooth protocol, like authentication, encryption and authorization • Bluetooth protocol as well as its implementation on Android system, there are still some design flaws which could lead to serious security consequences
Introduction - Motivation • New vulnerabilities • New Attacks • Defence and Evaluations
Bluetooth Profile • The concept of Bluetooth profile was made to regulate the communication between different Bluetooth devices manufactured by different vendor. • Each profile contains settings to bootstrap the communications • There are more than 30 profiles standardized by Bluetooth SIG
Bluetooth Connection • Before the connection is established between two Bluetooth devices, one device should be in the discoverable mode • After the information is exchanged, a pairing procedure is executed • Pairing could involve certain user interaction like requiring to enter PIN • If pairing is successful, a shared secret is created to encrypt their communications • They can connect to each other without going through pairing again in the future
Bluetooth Permission • Bluetooth functionalities on Android is mediated by a set of permissions • With BLUETOOTH permission, a third-party app can perform Bluetooth communication with another device • A third-party app can initiate the discovery of nearby Bluetooth devices or change the Bluetooth settings if the BLUETOOTH_ADMIN permission is granted
Design Weaknesses:Inconsistent Authentication Process on Profiles • The device and host vendors have to come up with ways for profile authentication • On Android, the profiles are not listed during the pairing process and are only visible to the user and adjustable later • If the device makes changes on the profiles, it still gets trusted since pairing has already done, and the user will not be immediately notified
Design Weaknesses:Overly Openness to Profile Connection • Bluetooth stack typically supports many profiles (e.g., 15 for Android 8.0). • On Android once the bond is created, the host will try its best to connect to all the profiles claimed by the remote device
Design Weaknesses:Deceivable and Vague UI • The name and the icon of the device • A malicious device can choose the same name as another validated device’s, to trick the user during pairing
Design Weaknesses:Silent Pairing with Device • Pairing is supposed to have user verify device identity, unless the bond has been successfully set up before • If the phone initiates pairing process, there might be no notification presented. • When the device has neither display ability nor input ability, the pairing falls into “Just Works” mode
Design Weaknesses:No Permission Management for Profile • Not all profiles are equally sensitive but which profile can be accessed is not regulated under the current permission framework. • The malicious app can further utilize the keyboard to inject inputs and take control of the phone
Attack:Adversary Model Assumptions • A malicious app with Bluetooth permissions has been installed on the victim smartphone is granted Bluetooth permissions BLUETOOTH and BLUETOOTH_ADMIN • Bluetooth device has been compromised and its firmware now contains malicious code
Exploiting Profiles • Exploitable Profiles • Human Interface Device • Personal Area Networking • Hands-Free/Headset
Exploiting Profiles – Human Interface Device • Information Stealing – Screenshots • App and System Controlling – Change setting • Beyond the Phone – Log in with remembered password • Limitation – Cannot unlock unknown PIN
Exploiting Profiles – Personal Area Network • Network Consumption • Network Sniffing and Spoofing
Exploiting Profiles – Hands-Free • Telephony Control • Voice Command Injection
Solution: Profile Binding for Android • Enhance the control of Bluetooth profiles and prevent the unapproved changes of profiles. • Bind the device with a permitted profile list and prohibit other profile connections • Processing a pairing request, the system will prompt a selection list • After that, the system will create a binding policy based on the user’s selection
Implementation of Profile Binding • Pairing Monitor • Connection Controller • Settings App
Evaluation • Performance. Pairing to an external device is adjusted to be noticed by the user, and our system should not cause prominent delay of UI-transition. • Delays are from 48.7µs to 224.6µs • The delay is less than 12%.