Assessment of Fitness Tracker Security: A Case of Study †
Abstract
:1. Introduction
2. Related Work and Background
2.1. Related Work
2.2. Bluetooth Low Energy (BLE)
- Controller. It includes the lowest layers of the BLE stack. The Physical Layer is in charge of modulating and demodulating analogous signals and transforming them into digital symbols. BLE devices can communicate using unicast or broadcast connections.In a unicast connection, the device roles can vary depending on the mode: non-connected or connected. In non-connected mode, two main roles can be distinguished: peripheral and central. The peripheral role is usually played by a device constrained in both computing resources and energy, since its main tasks are to advertise and wait for connections. However, the second role, the central, has to be played by a device with more resources. It is the one responsible for scanning for other devices and it is also in charge of establishing links by sending connection requests.Once a connection is established, i.e., connected mode, the central device can be referred to as master, while the peripheral is called slave. A slave can only be connected to a single master, but a master can be connected to multiple slaves.On the other hand, regarding broadcast connections, the assigned roles do not change. The BLE device sending packets is called broadcaster while those that receive them are named observers.The Link Layer (LL) interacts directly with the Physical Layer and it is responsible for advertising, scanning and creating or maintaining connections. This uses seven different advertising channel PDU (Protocol Data Unit) types: ADV_IND (connectable, undirected advertising), ADV_DIRECT_IND (connectable, directed advertising), ADV_NONCONN_IND (non-connectable undirected advertising), ADV_SCAN_IND (scannable undirected advertising), SCAN_REQ (active scanner), SCAN_RSP (scan response) and CONNECT_REQ (establishing a connection). It is also in charge of encryption, useful to ensure the confidentiality of the transmitted data, and filtering out advertising packets depending on their content or the Bluetooth Device Address (BDA), a 48-bit number that uniquely identifies a device.
- Host. It involves protocols and profiles. The profiles use functionalities provided by the underlying protocols.The Generic Access Profile (GAP) modes and procedures can be seen as the cornerstone of BLE. The GAP defines how BLE devices can communicate with each other. It is responsible for the management of the three mechanisms that BLE devices employ to communicate: discovery, connecting and pairing. GAP is also in charge of securing communications, by making use of rules and algorithms implemented in the Security Manager Protocol. After two devices have established a connection, their communication does not initially have security, so they must pair. The pairing process entails authenticating the identity of the master and the slave, encrypting the link with a short-term key (STK) and, afterwards, distributing long-term keys (LTK). The devices generate an ECDH (Elliptic Curve Diffie-Hellman) public-private key pair to, right after, exchange their public keys and start computing the Diffie-Hellman key.The Generic Attribute Profile (GATT) determines the way data are organized and sent over a BLE connection. It makes use of the Attribute Protocol (ATT) as transport mechanism, as well as organizing data into attributes, making its transmission much easier.These profiles and protocols use the Logical Link Control and Adaptation Protocol (L2CAP) to pass packets to either the Host Controller Interface (HCI) or on a hostless system, directly to the LL.
- Application. At the top of architecture, the Application represents apps that can use the functionalities of the BLE Protocol Stack by accessing the API.
3. Study Description and Setup
- enabling the Bluetooth HCI snoop log Developer Options feature in Android phone. When this feature is enabled, a log file (btsnoop_hci.log) is created. In this file, all the BLE HCI packets (i.e., packets exchanged between controller and the host interface) are registered.
- using an Ubertooth-One hardware and software (in a laptop) to monitor and decode Bluetooth packets.
4. Vulnerabilities Results
4.1. Vulnerabilities in the Communication between Wearable and Mobile Devices
- Use of Public BDAs and General Discovery. After keeping track of the fitness tracker’s BDA, it was found that its value did not change, which involves that it uses a Public BDA. Given its value is fixed and unique, a user could be tracked by this identifier, violating her/his privacy, because this information is contained in all the advertising PDUs.In addition, the risk increases if we take into account the release of applications such as RamBLE that scan for BLE devices in order to obtain information from their undirected advertising packets (ADV_IND) and their SCAN_RSP. Besides, the application also stores the device’s BDA with the geographic location at which it was detected. The information is shown graphically in a map. This information can be obtained easily, because the tracker always uses general discovery instead of direct discovery, even after being bonded with the mobile phone, so the ADV_IND packets are always sent.For this reason, devices send advertising packets and respond to scanning requests. Thus, it is also possible to develop an app that sends SCAN_REQ messages and the wearable device answers with a SCAN_RESP. The response contains information about device: its name and the current transmission power. This information may be used to plan a denial of service attack.This weakness is emphasized by the fact that the tracker always sends undirected advertising instead of direct discovery (i.e., ADV_DIRECT_IND), even after being bonded with a mobile phone. So devices are constantly sending advertising packets and responding to scanning requests. In this sense, a DoS attack can be led.
- Not use of BLE Secure Connections. Sniffing the pairing of the application and the tracker, we can observe that the out of band (OOB) method is used to set the keys. This is one of the legacy methods, Secure Simple Pairing model, and it is not using the long term key derivation using ECDH as proposed by BLE security specification. Figure 3 shows the capture of the bonding negotiation where the OOB method is identified. The key is generated only once, in this initial pairing and stored in the bonding with the device. Despite the new BLE security specification is not followed, we were able to see its own encryption and integrity (24-bit CRC) to protect the Bluetooth connection.
- Connections with unbounded devices. We also found the device accepts connections from non-bonded devices, similar to results of other studies. This process leaks several details about services and UUIDs, and BDAs. Armed with the UUID of a device, an attacker can monitor the tracker even if a private BDA was used. Even worse, we found that using a Bluetooth scanner application, e.g., BLEScanner or nRF Connect, we were able to modify the value of some attributes, for instance the tracker name. This can at least confuse the user (see Figure 4).
4.2. Vulnerabilities in the Communication between Mobile Devices and Server
- Authentication credentials sent in cleartext. In Figure 5 we observe that the app uses HTTP Basic authentication to get an OAuth authentication token. This means the app is sending the email and password in cleartext to the server. Even though the connection is protected by TLS, the password should not be sent in cleartext. At minimum it should be hashed together with a nonce freshly generated for each connection to avoid pass the hash attacks. This fact compromises the assets PD, AD and DI.
- Misuse of OAuth2. The app also makes use of bearer tokens without protection mechanisms (e.g., digital signature, hashes, or others). OAuth mechanism does not require proof of possession of any key. The problem is that these tokens are extensively used by the apps without integrity means and they are valid for 8 hours, though according to RFC 6750 [19] they should be protected with a MAC (Message Authentication Code) and the maximum validity should be 1 h.Besides, once the tracker has been setup, the app is used to forward tracking information to the server. We have changed for instance the parameter btlename and the server does not complain. The Bluetooth device address and the ID of the user are sent encoded and kept constant, even after app reinstallation, making easier to track a particular user. This lack of privacy is worse if we look at the stats sent data such as user’s phone Android ID or the Wi-Fi SSID. These data can compromise the user privacy, and should not be sent to the servers.
- Unauthorized data share. Regarding data shared with third parties, together with data related to the tracker, the app also sends data regarding the mobile device (e.g., manufacturer, OS version, screen, paired devices and so on). This again should be explicitly authorized by the user. We must also say that the ID sent for these purposes is a different one from the ID used within the manufacturer servers.
4.3. Vulnerabilities in the Third Party API
5. Conclusions and Future Work
- Regarding the tracker-application communication, public BDAs are used. They should be replaced by private BDAs, or frequently changing addresses. The device should establish connections with trusted devices, not accepting connections with unbounded devices, nor making it possible the modification of some attribute values like the device name. Besides once the device is bonded with a trusted device, the tracker should only use Bluetooth Direct Discovery. General discovery brings no advantage here, only snooping the Bluetooth devices in the neighbourhood, which is not something meaningful for the purpose of the tracker, and for user side, no user data should be transmitted to the manufacturer servers.
- Regarding the application-server communication, the bearer tokens should be adjusted to an hour or less, according to the standard. The use of cleartext passwords should be avoided and replaced by some of the many available schemas. At least, a hash including a session nonce. We could not assess the internal security measures of the manufacturer servers, but cleartext password storage must be avoided. Also the hardware identifiers should be avoided at this level of communication (tracker BDA), and explicit user consent is needed for each specific type of information that the app is transmitting (e.g., user Android ID, Wi-Fi SSID, observed Bluetooth connections). This data makes easier profiling users, and may get more cyber-criminal attention.
- Finally, the manufacturer should improve the analysis of third party applications, effectively avoiding the access with WebView, banning callbacks to HTTP URLs, and implementing OAuth refresh tokens where the third party should be authorized every 30 days at maximum.
Funding
References
- Rahman, M.; Carbunar, B.; Banik, M. Fit and Vulnerable: Attacks and Defenses for a Health Monitoring Device. arXiv 2013, arXiv:1304.5672. [Google Scholar]
- Apvrille, A. Geek usages for your Fitbit Flex tracker. In Proceedings of the Hack.lu Conference, Luxembourg, 20–22 October 2015. [Google Scholar]
- Cyr, B.; Horn, W.; Miao, D.; Specter, M. Security Analysis of Wearable Fitness Trackers (Fitbit); Technical Report; Massachusetts Institute of Technology (MIT): Cambridge, MA, USA, 2013. [Google Scholar]
- Clausing, E.; Schiefer, M.; Lösche, U. Internet of Things Security Evaluation of nine Fitness Trackers; Technical Report; AV TEST: The Independent IT-Security Institute: Magdeburg, Germany, 2015. [Google Scholar]
- Margaritelli, S. Nike+ FuelBand SE BLE Protocol Reversed, Technical Report; Evilsocket.net. 2015.
- Unucheck, R. How I Hacked My Smart Bracelet; Technical Report; Kaspersky Lab: Moscow, Russia, 2015. [Google Scholar]
- Schellevis, M.; Jacobs, B.; Meijer, C.; de Ruiter, J. Getting Access to your Own Fitbit Data; Radboud University: Nijmegen, The Netherlands, 2016. [Google Scholar]
- Hilts, A.; Parsons, C.; Knockel, J. Every Step You Fake: A Comparative Analysis of Fitness Tracker Privacy and Security; Technical Report; Open Effect: Toronto, ON, Canada, 2016. [Google Scholar]
- Fereidooni, H.; Frassetto, T.; Miettinen, M.; Sadeghi, A.R.; Conti, M. Fitness Trackers: Fit for Health but Unfit for Security and Privacy. In Proceedings of the IEEE/ACM International Conference on Connected Health: Applications, Systems and Engineering Technologies (CHASE), Philadelphia, PA, USA, 17–19 July 2017; pp. 19–24. [Google Scholar] [CrossRef]
- Zhou, W.; Piramuthu, S. Security/Privacy of Wearable Fitness Tracking IoT Devices. In Proceedings of the 9th Iberian Conference on Information Systems and Technologies (CISTI), Barcelona, Spain, 18–21 June 2014. [Google Scholar] [CrossRef]
- Rahman, M.; Carbunar, B.; Topkara, U. Senscrypt: A secure protocol for managing low power fitness trackers. In Proceedings of the IEEE 22nd International Conference on Network Protocols, Raleigh, NC, USA, 21–24 October 2014; pp. 191–196. [Google Scholar]
- Rieck, J. Attacks on Fitness Trackers Revisited: A Case-Study of Unfit Firmware Security. arXiv 2016, arXiv:1604.03313. [Google Scholar]
- Hsu, J. The Strava Heat Map and the End of Secrets, Security news, Jan 2018. Available online: www.wired.com.
- Pham, A.; Huguenin, K.; Bilogrevic, I.; Dacosta, I.; Hubaux, J.P. SecureRun: Cheat-Proof and Private Summaries for Location-Based Activities. IEEE Trans. Mob. Comput. 2016, 15, 2109–2123. [Google Scholar] [CrossRef]
- Bluetooth SIG (Special Interest Group). Bluetooth Core Specification v4.0; w: Available online, 2009. Available online: www.bluetooth.com.
- Bluetooth SIG (Special Interest Group). Bluetooth Core Specification v5.0; w: Available online, 2016. Available online: www.bluetooth.com.
- Hardt, D. The OAuth 2.0 Authorization Framework; RFC6749; Internet Engineering Task Force (IETF): Fremont, CA, USA, October 2012. [Google Scholar]
- Denniss, W.; Bradley, J. OAuth 2.0 for Native Apps; RFC8252; Internet Engineering Task Force (IETF): Fremont, CA, USA, October 2017. [Google Scholar]
- Jones, M.; Hardt, D. The OAuth 2.0 Authorization Framework: Bearer Token Usage; RFC6750; Internet Engineering Task Force (IETF): Fremont, CA, USA, October 2012. [Google Scholar]
1 | The fitness tracker model is not revealed to be compliant with the legal policy terms of service. |
Study Part | Tests |
---|---|
T1: Pairing device with Fitbit app | |
Wearable device—mobile application communication | T2: Pairing device with third party app |
T3: Syncing with device | |
T4: Signing up for app | |
T5: Log out of app | |
T6: Logging into app | |
Mobile application—server communication | T7: Editing profile data |
T8: Logging activities manually | |
T9: Deleting a device | |
T10: Pairing device with server app | |
T11: Syncing with device | |
T12: Signing up for app | |
Third party API | T13: Logging into app |
T14: Editing profile le data | |
T15: Logging activities |
Data type | Basic Attributes | Additional Attributes |
---|---|---|
Gender | Food log | |
Age | Water log | |
Personal data (PD) | Date of birth | Location |
Height | Profile photos | |
Weight | Alarms | |
Contact info (CI) | Contacts | |
Basic info from other accounts (e.g., social networks) | ||
Activity data (AD) | Steps | |
Floors | ||
Heart rate | ||
Sleep quality | ||
Battery level | ||
Device info (DI) | Sync time | |
App info |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Mendoza, F.A.; Alonso, L.; López, A.M.; And Patricia Arias Cabarcos, D.D.S. Assessment of Fitness Tracker Security: A Case of Study. Proceedings 2018, 2, 1235. https://doi.org/10.3390/proceedings2191235
Mendoza FA, Alonso L, López AM, And Patricia Arias Cabarcos DDS. Assessment of Fitness Tracker Security: A Case of Study. Proceedings. 2018; 2(19):1235. https://doi.org/10.3390/proceedings2191235
Chicago/Turabian StyleMendoza, Florina Almenares, Lucía Alonso, Andrés Marín López, and Daniel Díaz Sánchez And Patricia Arias Cabarcos. 2018. "Assessment of Fitness Tracker Security: A Case of Study" Proceedings 2, no. 19: 1235. https://doi.org/10.3390/proceedings2191235
APA StyleMendoza, F. A., Alonso, L., López, A. M., & And Patricia Arias Cabarcos, D. D. S. (2018). Assessment of Fitness Tracker Security: A Case of Study. Proceedings, 2(19), 1235. https://doi.org/10.3390/proceedings2191235