Post-Mortem Digital Forensic Analysis of The Garmin Connect Application For Android
Post-Mortem Digital Forensic Analysis of The Garmin Connect Application For Android
A R T I C L E I N F O A B S T R A C T
Keywords: The Garmin Vivosmart 4 smartband can monitor various health metrics, including heart rate, oxygen saturation,
Android body composition, and stress levels. It is a quite popular fitness tracking device, as its Android companion
ALEAPP application – Garmin Connect – has been downloaded more than 10 million times and can provide critical
Digital forensics
forensic artifacts such as timestamped GPS-based locations. In this work, we analyze the Garmin Connect
Garmin Connect
Mobile forensics
application to identify 𝑖) relevant digital forensic artifacts, and 𝑖𝑖) assess methods to retrieve cloud-based data
relevant to a digital forensic examination. For this purpose, we first establish a test scenario where the paired
device/application collects data in regular real-world situations using a rooted smartphone running Android 11.
The smartphone is then examined to gain insights into the data stored by the application and identify meaningful
digital artifacts.
To ease and automate the task of digital forensic practitioners, we have developed the Garmin Connect for
Android Analyzer (GC4AA) set of Python 3 modules tailored for the digital forensic framework Android Logs
Events And Protobuf Parser (ALEAPP). These open-source modules parse dumps of a Vivosmart 4 data directory
and create reports displaying several digital artifacts, such as health metrics, GPS data and routes, and phone
notifications. They automate the information-gathering process and produce a report specially tailored for
Garmin Connect data, highlighting the most relevant artifacts. Our results show that the analysis of paired
Garmin Collect/Vivosmart 4 with GC4AA can yield more digital forensic artifacts than existing open-source tools,
including the following new artifacts: 𝑖) Daily Summary data; 𝑖𝑖) GPS data; 𝑖𝑖𝑖) Response Cache data; 𝑖𝑣) Network
Logs; 𝑣) Facebook API tokens; 𝑣𝑖) Device Synchronization cache; 𝑣𝑖𝑖) SpO2 reading charts. Our contributions
include a graphical presentation of the collected data, greatly improving its readability and analysis.
* Corresponding author.
E-mail addresses: [email protected], [email protected] (F. Nunes).
https://doi.org/10.1016/j.fsidi.2023.301624
Received 22 June 2023; Received in revised form 25 August 2023; Accepted 28 August 2023
Available online 18 September 2023
2666-2817/© 2023 Elsevier Ltd. All rights reserved.
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
more specific devices focusing on fitness metrics. They usually run a The main contributions of this paper are 𝑖) the analysis and extrac-
basic operating system with enough resources to provide an interac- tion of forensic artifacts in a post-mortem scenario of the Garmin Connect
tive interface. Their main goal is essentially to work as a fitness tracker. application; 𝑖𝑖) The analysis of the mobile application and its API us-
Therefore, unlike a smartwatch, smartbands cannot receive calls or send ing various tools and scripts to assess the robustness of the application
messages and do not support the installation of applications. Instead, and its cloud ecosystem; 𝑖𝑖𝑖) The development of 16 open-source soft-
smartbands typically establish communication with a paired smart- ware modules for the framework Android Logs Events And Protobuf
phone through protocols such as Bluetooth Low Energy or LTE using Parser (ALEAPP1 ) to extract forensic artifacts and create a report for
a companion application. This companion application stores the users’ further analysis2 easing the task of forensic practitioners, all through
metrics and workout sessions. The companion app is an essential part open source software; 𝑖𝑣) Implementation of several enhancements to
of the band/smartphone pair, as it receives and processes data collected the ALEAPP framework for reporting and displaying several data types,
by the device and uploads it to the application’s cloud. It also down- namely, geolocation coordinates and routes. Our code was integrated
loads firmware updates for the device. A primary difference between into ALLEAP’s new release and is now available to the community.
smartwatches and smartbands is that smartwatches manage to store in- The remainder of this paper is organized as follows. Section 2 re-
formation so they can work independently from paired smartphones. views related work, while Section 3 describes the materials and meth-
On the other hand, when smartbands are not connected to their com- ods of this study. Section 4 analyzes the Garmin Connect application,
panion application, their usefulness becomes significantly limited. highlighting its primary forensic artifacts. Section 5 presents our open-
The wearable industry is growing annually due to the rapid evolu- source modules, Garmin Connect for Android Analyzer. Finally, Sec-
tion in capacity and features and the advantages it offers to the user. tion 6 concludes the paper.
In 2021 the global market for smartwatches and smartbands already
reached a volume of 46.5 Million Units, and studies show that it will
2. Related work
likely get 59.1 Million Units by 2027 (Wood, 2022). The same growth
is visible in applications that use these devices to gather data. In 2019,
there were more than 350 000 healthcare applications in the major app This section reviews studies on gathering and analyzing digital
stores, responsible for 3.7 billion downloads per year (Byambasuren forensic data from wearables and their companion applications. Addi-
et al., 2019). Mobile Healthcare (mhealth) and fitness apps are one tionally, we briefly review works related to the ALEAPP framework as
of the dominant applications in the current market. Various studies our software modules for the Garmin Connect target the ALEAPP frame-
have been made in this area, analyzing the current threat landscape work.
and security challenges these applications face. An impressive research Hassenfeldt et al. (2019) focused on the forensic study of nine differ-
was performed by Tangari et al. (2021) that used a platform to test ent fitness applications for Android: MapMyFitness, RunKeeper, Strava,
20 000 mHealth applications discovering: 𝑖) mHealth apps generally MyFitnessPal, Runtastic, Health Infinity, Fitness Tracker, Nike Training,
adopt more reliable signing mechanisms and request fewer dangerous and JEFIT. The authors created their testing environment by collecting
permissions than other applications; 𝑖𝑖) 1.8% of mHealth apps package and extracting data with Android Debug Bridge (ADB). Their main find-
suspicious codes (for example, trojans), and 45% rely on unencrypted ings were Personal Data, GPS location, and Passwords related
communication. As much as 23% of personal data – location informa- to the applications. The authors also developed a tool for extracting
tion and passwords – is transmitted as unsecured traffic. forensic artifacts, although not as complete as resorting to the ALEAPP
Companion applications, such as Garmin Connect, hold a wealth of framework.
user information from a forensic standpoint since these applications Yoon and Karabiyik (2020) published a forensic study of the Fitbit
store health data and even geolocation for a specific timeframe. That Versa 2 for Android. The research explains the triage process one must
is why they can be instrumental as they can be used in real-life sce- follow in investigating wearable devices. How the device should be ap-
narios to trace the last steps of victims/culprits, being de facto digital prehended, and how the data needs to be acquired. The researchers
forensic artifacts (Neale, 2023). This data can be of paramount impor- used static methods and commercial tools such as AXIOM and XRY to
tance for investigations and has already helped to solve some cases. For acquire data from the device and study it afterwards. The authors found
instance, in 2015 police used GPS coordinates and step pace stored in many relevant forensic artifacts inside the SQLite3 databases, such as:
a Garmin smartwatch to accuse a killer of a double homicide, corre- 𝑖) GPS Location; 𝑖𝑖) Health Data Values; 𝑖𝑖𝑖) Web Cookies; and 𝑖𝑣) Credit
lating the time and date of the killings with coordinates stored in the Card information.
smartwatch to draw the suspect’s escape route (Ganjoo, 2019). Another Kang et al. (2020) studied the Fitbit Alta HR and the Xiaomi Mi
example occurred in 2017 when a victim’s Fitbit device was used to Band 2 and their respective Android application, focusing on the foren-
solve a murder case, with the device data helping to refute her hus- sic artifacts found in the SQLite databases from the applications. The
band’s alibi (Watts, 2017). authors reported on a collection of user-related information that the
This paper focuses on the Garmin Connect application for Android applications store, like sleep, steps, activities, account, and device in-
that was installed in a rooted phone and paired with the Garmin Vivos- formation.
mart 4 smartband. As we shall see later on, this smartband contains a Williams et al. (2021) reported on the methods used to acquire data
variety of sensors, such as an optical heart rate monitor, a barometric al- from the Fitbit application on Android and IOS. The authors studied
timeter, accelerometers, an ambient light sensor, and a SpO2 sensor. It whether the retrieved data differed between the two operating systems.
connects to the smartphone via BLE and is compatible with Garmin pro- To test this, the authors created two scenarios, one using a Google Pixel
prietary interoperability ANT+ equipment protocol (Bang et al., 2022). 2XL and the other with iPhone 7 Plus. They used two commercial foren-
Our motivation to study the Garmin Connect application stems from sic tools – Cellebrite and XRY – to extract and study the data on the
providing a thorough analysis of the application from a Post-mortem computer. Since the Android device was not rooted, the tools could not
digital forensic point of view. Note that Garmin is gaining popularity extract the private information of the application, so the authors used a
in the wearable market, currently ranking fifth among the most sold virtual device created with the Genymotion emulator. The data found
brands and dominating the premium watch market (Lovejoy, 2022). On was the same as the other research made for the Fitbit application,
Google Play, the Android Garmin Connect application has surpassed 10 such as Private Messages, Feed Posts, GPS Data, Profile Information,
million downloads and has a 4.6 score out of 5 from more than 800 000
reviews (more details are shown in Table 1). Additionally, studies re-
garding digital forensics of Garmin Connect are scarce, as we shall see 1 https://github.com/abrignoni/ALEAPP.
2
in Section 2, and thus we wanted to provide our contribution. https://github.com/labcif/GC4AA.
2
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 1
Studied application details.
Sleep Data, Heart Rate Data. This research highlights the difference Table 2
in the acquisition methods of both operating systems. List of devices used in the study and their
In 2021 Dawson and Akinbi (2021) analyzed the contents of the respective OS versions.
Tom Tom companion application focusing on the data stored in Tom- Device OS version
Tom Spark 3 watch. The authors’ goal was to compare the forensic
Vivosmart 4 V5.40
artifacts found in the TomTom watch using forensic and non-forensics Samsung A40 Android 11 (API 30)
tools and demonstrate the possible limitations of these tools and how
they can affect the analyst’s decision-making. To that end, the authors
compared the data obtained with the Cellebrite forensic tool with those lyze database files of the Android Telegram application. Analysts Delija
studied using ttwatch – an open-source command-line tool used to in- et al. (2022) relied on ALEAPP, Autopsy, and the commercial tool Belka-
teract with the physical TomTom GPS smartwatch and extract forensic soft to process forensic artifacts found in the system files of Android
artifacts stored on flash memory – and Runanlyze – a tool to analyze version 11 to compare the results provided by the three tools. Lastly,
proprietary files from TomTom watches. The authors found forensic Mirza et al. (2022) did a digital forensic analysis of various so-called
data related to Activities, User Account, and Bluetooth Logs. Web3 wallet applications for Android and iOS. In their research, they
Domingues et al. (2023) did a post-mortem analysis of the companion used both ALEAPP and its similar platform for iOS called iLEAPP (iOS
application ZeppLife (formerly called MiFit) for Xiaomi devices when Logs, Events, and Plists Parser). Our work also relies on ALEAPP, as we
coupled to a MiBand 6 in a rooted smartphone. The authors focused provide modules to process the forensic data of the Garmin Connect ap-
solely on a static analysis of the application, reporting on the following plication. We have also extended the framework, adding new features
data: 𝑖) Health data; 𝑖𝑖) Device data; 𝑖𝑖𝑖) Daily summaries (steps, sleep and capabilities such as Heatmaps, Date Filtering, GPS Maps, and Data
hours, etc.); 𝑖𝑣) User information; and 𝑣) Workouts. They also developed Charts, as we shall see later on.
a software module – MiFit Analyzer – for the Autopsy forensic browser.
The module generates a dynamic HTML-based report with the artifacts
found in the extracted private directory of the application. 3. Materials and methods
Hutchinson et al. (2022) studied three companion applications using
three different smartwatches and smartbands, the Amazon Halo Band, In this section, we describe the materials used in this investigation,
the Garmin Vivosmart 4, and the Mobvoi TicWatchS2. This research both hardware and software and then the process for generating and
is different from the rest. One of the applications is Garmin Connect for analyzing the data.
Android, using the same smartband as we are, the Garmin Vivosmart 4.
The authors created a test environment using the various smartbands to
populate the application’s database. They used a rooted Samsung A50 3.1. Hardware
with Android 10 to facilitate the post-acquisition of the data. After that,
they analyzed the contents of the application using three different tools, To analyze the running applications, we resorted to a rooted Sam-
Cellebrite and Magnet Axiom, which are both commercial tools and sung A40 smartphone with Android 11 (API 30). We collected data
the popular open-source tool Autopsy. The authors aimed to find the using the smartphone and a smartband, the Garmin Vivosmart 4. Note
differences using commercial and open-source tools in post-mortem ex-
that the native companion for the Garmin Vivosmart 4 smartband is the
aminations. They also explored various other types of research made
Garmin Connect application.
before them in specific research about Fitbit. The authors found the
The Table 2 lists the hardware used.
following data: 𝑖) Exercise Data; 𝑖𝑖) Profile Information; 𝑖𝑖𝑖) Heart Rate
Data; 𝑖𝑣) Steps Data; 𝑣) Sleep Data; 𝑣𝑖) Stress Data; 𝑣𝑖𝑖) Notifications;
and 𝑖𝑥) Voice Data. Regarding digital forensic data, the authors fo- 3.1.1. Garmin Vivosmart 4
cused mostly on the application XML files, devoting less attention to The Garmin Vivosmart 4 smartband comes in two sizes: small-
the application’s database. Our work provides a deeper analysis of the /medium with 15 × 10.5 × 197𝑚𝑚 weighing 16 grams or large with
post-mortem data left by the application regarding the databases. In ad- 15 × 10.5 × 223𝑚𝑚, weighing 17.1 grams. The material of the smart band
dition, we also provide for software modules to report on the digital is polycarbonate, and the screen is an OLED with a 48 × 128 pixels
forensic artifacts left by the application usage. display. The smartband includes various features such as a heart rate
Before beginning our analysis, we also analyzed works related to monitor, barometric altimeter, accelerometer, ambient light sensor, and
ALEAPP, as our modules target this framework. ALEAPP is a popular pulse oxygen saturation sensor. While Garmin does not provide specific
open-source Python-based framework able to extract forensic artifacts details about its internal memory, they mention that the smartband can
from an application’s data folder and create reports (Brignoni, 2023) store up to 7 timed activities and 14 days of health tracking data.3
through specific software modules. The modular framework allows de- Additionally, the smartband is water-resistant and capable of track-
velopers to add new modules supported by existing features of ALEAPP ing swimming workouts. The smartband and its companion application
and develop new functionalities to enhance the tool or its report capa- communicate through Bluetooth Low Energy (BLE) technology.
bilities. In this short review, we focus on i) works that have developed
modules for the framework and ii) analysts that have used it in their
3
studies. The work by Vasilaras et al. (2022) resorted to ALEAPP to ana- https://www.garmin.com/en-US/p/605739#specs.
3
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 3
Software tools.
3.2. Software Data, 𝑖𝑖𝑖) Update weight changes regularly; 𝑖𝑣) Adding water hydration;
𝑣) Creating Running Routes and exercises; 𝑣𝑖) Adding equipment; 𝑣𝑖𝑖)
The version of Garmin Connect studied was version 4.61, which at Interact with user posts. The smartband collects health data such as
the time of this analysis, was the current version available for download heart rate and SpO2 by wearing it. To initiate workouts, the users can
on the Google Play Store. initiate them on the smartband or let the smartband detect the activity
This analysis was divided into two parts: 𝑖) Post-Mortem Analysis; automatically.
and 𝑖𝑖) ALEAPP Development. For each part, we used different tools. Following the test data generation, we employed a range of open-
source tools. In cases where existing tools did not serve our specific
Post-Mortem software For the post-mortem analysis, we used ADB (An- needs, we developed custom tools. This approach not only accelerates
droid Debug Bridge). This command line tool permits the user to access the data retrieval process but also reduces required computational re-
and interact with a mobile device connected via USB. With the debug- sources when compared to the use of generic forensic tools like Autopsy.
ging mode activated,4 Furthermore, our approach enabled us to incorporate novel forensic ar-
ADB is the standard method used to extract data from a mobile tifacts absent in the research discussed in Section 2. Section 4 presents
device. We also developed a script in Python5 to automate this pro- a comprehensive exposition of our approach.
cess of extracting data to reduce the various commands to a simple
script call. For analyzing the database, we used the open-source tool 4. Post-Mortem analysis
DB Browser for SQLite,6 one of the most popular tools for work-
ing with SQLite databases. We also used schemacrawler7 to generate In the following part of this paper, we will present the data collected
database diagrams to understand the connections between tables and and analyzed during the post-mortem analysis. We will start by giving
DBDiagram.io8 to improve the diagram generated by schemacrawler. a brief overview of the structure of the application’s interface, the per-
To analyze possible deleted records, we used the open source script missions asked by the application, and the extraction and analysis of
bring2lite.9 This script tries to recover deleted records from SQLite the data to find forensic artifacts.
Databases.
4.1. Garmin Connect
Module development For developing the ALEAPP module, we only
needed standard programming tools. ALEAPP is written in Python, so The application’s main screen is a dashboard where the daily infor-
we used the IDE PyCharm to write our code. The Table 3 shows all the mation of the user is shown, as seen in Fig. 2. The dashboard is split
tools used for this project, the used version, and their usage. into various rectangles associated with a day’s feature, such as activi-
ALEAPP or Android Logs Events And Protobuf Parser is a Python ties, calories burned, water consumed, and steps walked. Clicking one
tool created by Brignoni (2023) to generate forensic reports based on of these rectangles opens a detailed look at the parameter. It is possible
artifacts found in directories extracted from Android applications. The to change to a different parameter by opening the side menu. The user
artifacts will depend on the modules the user selects when executing can open a detailed view of various activities, statistics, and health data
the tool, as shown in Fig. 1. ALEAPP is a valuable triage resource within there. Depending on the stats, a corresponding data chart will be dis-
forensic laboratories, offering a crucial auxiliary solution for forensic in- played inside these views, as shown in Fig. 3 for the heart rate variation
vestigators when commercial tools are inaccessible. Moreover, ALEAPP during a specific day. There is also a bottom menu where users can go
is a versatile framework enabling independent testing and evaluation to the challenge page to participate in challenges to earn badges. There
of various forensic tools, further enhancing their utility and value. It is a calendar that the user can open on a specific day and see all the ac-
is becoming a popular tool among open-source analysts for analyzing tions registered by the application during that day. There is also a news
Android applications. feed that acts as a social place where the user will see posts from activ-
ities realized by himself and friends s/he might have in the application.
Lastly, there is also a notification page where the application presents
3.3. Method
announcements and other messages generated by the application.
Table 4 lists the most relevant features of a paired Garmin Vivosmart
To gather enough data for this Analysis, one of the authors used the
4 with Garmin Connect.
Garmin Vivosmart 4 and the Samsung A40 for six months after setting
up an account in the application. To gather enough and varied data, the
4.2. Android permissions
author did: 𝑖) Workouts (both indoors and outdoors); 𝑖𝑖) Gather Sleep
The Garmin Connect application requires a set of Android permis-
4 sions that must be enabled when the application executes for the first
https://developer.android.com/studio/command-line/adb?hl=pt-br.
5
https://www.python.org.
time. Table 5 lists the permissions asked by the application. All permis-
6 https://sqlitebrowser.org/. sions made sense based on the features provided by Garmin Connect
7
https://www.schemacrawler.com/weak-associations.html. and compared to other applications in the same field. Installing the ap-
8 https://dbdiagram.io/home. plication for the first time will ask permission to access the calendar,
9
https://github.com/bring2lite/bring2lite. the user’s location, calls, and messages.
4
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 4
Most relevant functionalities of the Vivosmart 4.
Feature Description
4.3. Extraction of data To start our analyses and to get an overview of the structures of the
folders extracted, we ran the command tree to give us its structure. We
started by analyzing the public folder that is accessible without root,
To extract the data stored by the application from the smartphone,
we used ADB (Android Debug Bridge). However, issuing ADB com- executing the tree command wielded the result shown in Fig. 5.
mands manually is time-consuming since the analysts must find the The content of the public folder is reduced. We only found two
correct package, compress the data, and send it to its computer. We files: map_cache.db and temp_file. Using DB Browser to analyze
decided to create a simple Python script to automate this process. The map_cache.db, we found four tables, mainly with BLOB values and
snippet below shows how to execute the script: timestamps for expiration dates. The information stored did not have
any relevance to the analysis. By searching for the name of the database
online, it was possible to discover that this database stores cache tiles
1 python3 acquisition.py <package_name> -d for the map functionality of the application to speed up its process dur-
↪ <emualtor|physical> -t <private|public|apk> ing use. The temp_file was not human-readable and is likely used by
Garmin Connect to save temporary data during the app’s runtime. This
file can be used for various purposes, such as caching, storing tempo-
We also developed a GUI version of the application where users rary data, or facilitating data exchange between components within the
can select what data they want to extract and choose the respective app.
application, as shown in Fig. 4. This version was developed with the The application did not store any relevant data in its public folder.
graphical library PySimpleGUI.10 Both versions work across Windows, There is no need to analyze this directory further or use other tools
MacOS, and Linux and can be found in our repository https://github. here.
com/labcif/ADB-Extractor. After that, we executed the same process for the private directory.
This one is shown in Fig. 6 and contains much more information. The
private folder has 51 sub-directories and contains 674 files. This number
10
https://www.pysimplegui.org/en/latest/. is massive and makes a manual analysis an uphill task. The following
5
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 5
Garmin Connect Permissions.
Permission Function
Fig. 2. Main screen of Garmin Connect. Fig. 3. Garmin Connect Heart Rate Statistics.
6
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
them. We also provide, for each database, the number of tables that
hold records, as we observed that many tables were empty.
Most databases are empty or contain information without forensic
value. To be brief and precise, we will only analyze four databases that
contain relevant forensic data: cache-database, gcm_cache.db,
notification-database and sync_cache.db.
4.4.1. cache-database
The cache-database database holds the most meaningful digital
forensic data. It has 27 tables, although, in our setup, only 14 of those
had data. We suspect that the absence of data in some tables is due to
the lack of features from the Vivosmart 4 smartband that are present on
other Garmin products (e.g., blood pressure readings). These tables are
listed in Table 7 and classified regarding their digital forensics value.
Activity tables In the database, the four activity tables are related to
the workout activities stored by Garmin Connect. They are connected
by a foreign key which is the activity ID. To facilitate the analysis of
this database, we used schemacrawler and DBDiagram.io to create
a database diagram overview, shown in Fig. 7. Since the complete di-
Fig. 4. ADB Extractor Graphical Interface. agram is too big to present in the paper, we created a repository with
the complete diagram and code to generate it in our repository https://
github.com/labcif/Garmin-Connect-Database.
Each record in these tables represents a workout activity performed
by the user. The two tables that hold more information are activ-
ity_details and activity_summaries, which contain the various
details of an activity done by the user (calories burned, steps, heart
Fig. 5. Directories inside public folder. rate, distance, etc). These two tables hold the same data. The only dif-
ference is that activity_details saves the data in separate columns
(the table has a total of 120 columns), and activity_summaries
saves all data related to the activity in a JSON object stored in a sin-
gle column. We hypothesize the table activity_summaries stores
the activity in the format sent to the server when the user uploads
an activity. The table activity_chart_data is related to the charts
generated for the activity. It contains two columns that store an ar-
ray of X and Y values to create the chart. During our data gathering,
we only managed to generate records related to heart rate charts. The
table activity_polyline is associated with the outdoor activities
with GPS tracking. The table stores the starting and ending coordinates,
and a large string of characters called polyline. A polyline is a string
of characters that encodes a series of coordinates. The polyline is en-
coded using the Google Maps API and is usually used to draw a route in
Google Maps11 as shown in the Fig. 8.
The coordinates hold significant forensic value because they can
pinpoint where the user was during a period. According to Google’s doc-
umentation, decoding a polyline back to group coordinates is possible.
Using the Python library polyline,12 we created a Python script that de-
codes Google’s polylines back to coordinates and saves them in a XLSX
file. This file will contain the coordinates of the activity. Additionally,
with the use of the library geopy,13 our script will add also informa-
tion to the coordinates such as the respective road, city, postcode and
country. This file aims to aid the analysis of GPS coordinates and filter
possible locations of interest. After that, we use these coordinates to cre-
ate a file with the route done by the user. The user can choose to export
Fig. 6. Directories inside private folder. this file in HTML or Google Earth format (KML). This script was part of
the modules developed for ALEAPP. However, since we could not find
subsections will detail the sub-folders where we found forensic artifacts: any script that did those features, we decided it could prove helpful for
4.4 Databases, 4.5 Files and 4.6 Shared Preferences folders. other use cases, so we created a standalone version called Polyline2GPS
in our repository https://github.com/labcif/Polyline2GPS.
4.4. Databases
11 https://developers.google.com/maps/documentation/javascript/
examples/polyline-simple.
Under the databases directory, the application holds 17 SQLite3 12 https://pypi.org/project/polyline/.
13
database files. Table 6 presents the databases and briefly describes https://pypi.org/project/geopy/.
7
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 6
Brief description of Garmin Connect databases. The column Tables displays the total of tables and, within parenthesis, the
number of tables with data.
Table 7
Non-empty tables of the cache-database database.
sleep_detail The table sleep_detail contains users’ sleep data. It By default, SQLite does not delete records. Instead, it marks them
stores a timestamp when it starts the sleep mode. When it stops, the as unused until other data overwrites them. To retrieve any possi-
table also stores the duration in seconds of the recorded sleep phases ble deleted records from the database, we utilized the open-source
(light sleep, deep sleep, REM sleep, and awake time). In addition, the script bring2lite.14 However, we could not retrieve any data. We
Vivosmart 4 actively reads the user’s SpO2 during sleep and stores the later verified in the database properties that it has the flag PRAGMA
lowest, highest, and average SpO2 readings. The values of the table have schema.auto_vacuum set to FULL. With this option, SQLite moves
forensic value since it can tell the analyst the timespan the person was the free list pages to the end of the database file. Then the file is trun-
asleep and correlate it with other events. cated to remove them at every transaction commit, eliminating the
possibility of retrieving deleted data (SQLite Community, 2023).
user_daily_summary The table user_daily_summary stores general
data such as calories burned, steps, stress, heart rate, SpO2 etc. The 4.4.2. gcm_cache.db
table has a total of 70 columns and stores the user’s daily data (one The database gcm_cache.db, just like the cache-database,
record per day). This table is valuable from a forensic standpoint since holds temporary data. It has various tables related to user data (ac-
it is possible to understand the user’s day, such as the maximum heart tivity information and daily statistics) and the associated devices. From
rate and the number of steps. the 12 tables inside the database, only 4 had any data after our tests, as
The general problem with the cache-database is that the presented in Table 8.
database only stores data temporarily. We used the smartband for var-
ious months, and only the most recent data was saved in the database. JSON tables The gcm_cache.db holds various tables with the prefix
After synchronizing with the device, the application sends the data to json. Only two of them had data, a table called json and another called
Garminin’s cloud servers, where the data is then stored. This process json_activities. The tables store cached values in JSON format.
is part of the Garmin Connect API developed to share data with part- The data present here is the same as in the cache-database. We sus-
ner apps. That means that the application only uses the data in this pect this database holds a cache from the data the application retrieves
database for caching and to reduce load times. The primary way to ac- from the cloud via requests to the API. The gcm_cache.db and the
cess the application’s data is by retrieving it from the cloud, which is gcm_cache.db hold the same data in different formats. The cache-
why it requires a continuous internet connection. While this slightly di-
minishes its forensic value, the fact that the application stores recent
14
data in its cache still makes its information valuable. https://github.com/bring2lite/bring2lite.
8
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
Table 8
Non-empty tables of the gcm_cache.db database.
9
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
1 {
2 "Fid": "dOrIAtkqT66jHW4uNghIvs",
3 "Status": 3,
4 "AuthToken": "eyJ...(a total of 305 characters)",
5 "RefreshToken": "3_A...(a total of 112 characters)",
6 "TokenCreationEpochInSecs": 1677750057,
7 "ExpiresInSecs": 604800
8 }
10
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
11
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
5.3. New features form (Barr-Smith et al., 2021). Autopsy, being Java-based, requires its
extension modules to be written either in Java or in Jython, a Python
ALEAPP, a powerful forensic tool, has been further enhanced during interpreter that runs within the Java Virtual Machine.
our development process to incorporate specific ideas for report presen- ALEAPP fulfils both of these requirements. It is already integrated
tation. We strongly believe that augmenting the tool with various visual into Autopsy, ensuring that new versions of Autopsy are equipped
functionalities would greatly improve its overall capabilities. Leverag- with the latest version of ALEAPP. Therefore, modules that are part of
ing the modular nature of ALEAPP facilitated the rapid implementation ALEAPP are automatically integrated into new Autopsy releases without
of these features. The following functionalities have been integrated requiring additional developer intervention. Since our modules have
into ALEAPP: 𝑖) Heatmaps (see Fig. 10), 𝑖𝑖) Date Filtering, 𝑖𝑖𝑖) GPS Maps been accepted and merged into ALEAPP 3.1.8, they will be readily avail-
(see Fig. 8), 𝑖𝑣) Data Charts (see Fig. 12), and 𝑣) Formatted code blocks able as soon as Autopsy is updated with ALEAPP’s latest version.
with syntax highlighting (see Fig. 11).
6. Conclusion
5.4. Autopsy
From a digital forensic perspective, we analyzed the Garmin Con-
The decision to develop our modules for ALEAPP was not arbi- nect application for Android in conjunction with the Garmin Vivosmart
trary. Our primary objective was to create a tool that could be utilized 4 device. This investigation focused on extracting and analyzing a sub-
independently or seamlessly integrated into the Autopsy forensic plat- stantial amount of data, including heart rate, SpO2 , sleep duration, step
12
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
13
F. Nunes, P. Domingues and M. Frade Forensic Science International: Digital Investigation 47 (2023) 301624
count, and workout information. Initially, our examination involved the Brignoni, A., 2023. abrignoni/aleapp: Android logs events and protobuf parser. https://
extraction and analysis of data in a post-mortem scenario. We discovered github.com/abrignoni/ALEAPP. 2023-05-29.
Byambasuren, O., Beller, E., Glasziou, P., 2019. Current knowledge and adoption
that the application stores recent data in SQLite 3 databases, while per-
of mobile health apps among australian general practitioners: survey study.
sistent user data is stored in XML files located within the application’s JMIR mHealth uHealth 7. https://doi.org/10.2196/13199. https://mhealth.jmir.org/
private directory. Throughout this process, we successfully extracted 2019/6/e13199.
valuable forensic artifacts such as Activities, Health Data, GPS coordi- Dawson, L., Akinbi, A., 2021. Challenges and opportunities for wearable IoT forensics:
nates, and Phone Notifications. Tomtom Spark 3 as a case study. Forens. Sci. Int., Rep. 3. https://doi.org/10.1016/J.
FSIR.2021.100198.
In our Section 2 we have highlighted the immense value of access- Delija, D., Sudec, D., Sirovatka, G., Zagar, M., 2022. How to do a forensic analysis
ing and analyzing data from wrist-wearable health trackers, as they can of android 11 artifacts. In: 2022 45th Jubilee International Convention on Infor-
hold crucial evidence to identify perpetrators or establish someone’s in- mation, Communication and Electronic Technology, MIPRO 2022 - Proceedings,
nocence. However, it is important to note that the databases contained pp. 1042–1047.
Domingues, P., Francisco, J., Frade, M., 2023. Post-mortem digital forensics analysis of
minimal data since the application primarily relies on using API calls
the Zepp Life android application. Forens. Sci. Int. Digital Invest. 45, 301555. https://
to fetch information. doi.org/10.1016/J.FSIDI.2023.301555.
For this analysis, we developed two Python tools: ADB Extractor and Ganjoo, S., 2019. GPS data from Garmin smartwatch helps police catch a man convicted
Polyline2GPS. ADB Extractor is a versatile tool that automates the data of two murders. https://www.indiatoday.in/technology/news/story/how-a-garmin-
extraction process from a device using ADB (Android Debug Bridge). smartwatch-helped-police-catch-a-man-convicted-of-two-murders-1435570-2019-01-
21. 2023-02-25.
It can be executed through the command line or a GUI interface, mak-
Hassenfeldt, C., Baig, S., Baggili, I., Zhang, X., 2019. Map my murder! a digital forensic
ing it compatible with various operating systems. Polyline2GPS, on the study of mobile health and fitness applications. ACM Int. Conf. Proc. Ser. https://
other hand, is a script designed to decode a Google Polyline into a set of doi.org/10.1145/3339252.3340515.
coordinates. It then utilizes Open Street Map18 to draw the correspond- Hutchinson, S., Mirza, M.M., West, N., Karabiyik, U., Rogers, M.K., Mukherjee, T., Ag-
garwal, S., Chung, H., Pettus-Davis, C., 2022. Investigating wearable fitness ap-
ing route in an HTML file. Additionally, it provides the option to create
plications: data privacy and digital forensics analysis on android. Appl. Sci. 12,
a KML file, which can be opened on Google Earth. Furthermore, Poly- 9747. https://doi.org/10.3390/APP12199747. https://www.mdpi.com/2076-3417/
line2GPS generates an XLSX file that stores the extracted coordinates, 12/19/9747/htmhttps://www.mdpi.com/2076-3417/12/19/9747.
along with additional information such as road details, postcodes, city, Jennings, L., Sorell, M., Espinosa, H.G., 2023. Interpreting the location data ex-
and country. tracted from the Apple Health database. Forens. Sci. Int. Digital Invest. 44,
301504. https://doi.org/10.1016/j.fsidi.2023.301504. https://www.sciencedirect.
In conclusion, our efforts were dedicated to enhancing the efficiency
com/science/article/pii/S2666281723000057. selected papers of the Tenth Annual
of digital forensic investigations involving the Garmin Connect applica- DFRWS EU Conference.
tion. To achieve this, we meticulously crafted a collection of modules Kang, S., Kim, S., Kim, J., 2020. Forensic analysis for IoT fitness trackers and its appli-
within the ALEAPP framework. These modules were specifically tai- cation. Peer-to-Peer Netw. Appl. 13, 564–573. https://doi.org/10.1007/S12083-018-
0708-3/TABLES/6. https://link.springer.com/article/10.1007/s12083-018-0708-3.
lored to parse Garmin files and generate comprehensive case reports,
King, C.E., Sarrafzadeh, M., 2018. A survey of smartwatches in remote health monitoring.
equipping forensic analysts with valuable insights for further analysis J. Healthcare Inf. Res. 2, 1–24.
and processing. Our contributions encompass modules for post-mortem Lovejoy, B., 2022. Smartwatch market size, share| 2022 - 27 | industry report. https://
data analysis. Furthermore, we expanded the capabilities of ALEAPP www.mordorintelligence.com/industry-reports/smartwatch-market. 2023-02-26.
reporting by introducing additional features such as heat maps, GPS Garmin, D., 2023. Fit protocol | FIT sdk | Garmin Developers. https://developer.garmin.
com/fit/protocol/. 2023-05-27.
maps, and data charts. By incorporating these enhancements, we have
Mirza, M.M., Ozer, A., Karabiyik, U., 2022. Mobile cyber forensic investigations
enriched the functionality of the ALEAPP tool. As a result, our features of web3 wallets on android and ios. Appl. Sci. 12, 11180. https://doi.org/10.
and modules have been integrated into the latest version, ALEAPP 3.1.8. 3390/APP122111180. https://www.mdpi.com/2076-3417/12/21/11180/htmhttps:
In future work we plan to conduct a comprehensive dynamic analy- //www.mdpi.com/2076-3417/12/21/11180.
Neale, C., 2023. Fool me once: a systematic review of techniques to authenticate digital
sis of the application. This analysis entails utilizing a range of tools and
artefacts. Forens. Sci. Int. Digital Invest. 45, 301516.
scripts to evaluate the application’s network communication, resilience SQLite Community, 2023. Pragma statements supported by sqlite. https://www.sqlite.
and cloud ecosystem. Additionally, we intend to enhance our ALEAPP org/pragma.html#pragma_auto_vacuum. 2023-06-16.
modules by incorporating data from other Garmin Wearables, such as Tangari, G., Ikram, M., Sentana, I.W.B., Ijaz, K., Kaafar, M.A., Berkovsky, S., 2021. Ana-
blood pressure devices. Furthermore, we will investigate the iOS version lyzing security issues of android mobile health and medical applications. J. Am. Med.
Inform. Assoc. 28, 2074–2084. https://doi.org/10.1093/JAMIA/OCAB131. https://
of Garmin Connect and modify our modules to align with the Python
academic.oup.com/jamia/article/28/10/2074/6335525.
framework, ILEAPP. Lastly, we plan to explore the interaction between Vasilaras, A., Dosis, D., Kotsis, M., Rizomiliotis, P., 2022. Retrieving deleted records
the Garmin smartband and the Apple Health database within the Apple from telegram. Forens. Sci. Int. Digital Invest. 43, 301447. https://doi.org/10.1016/
iOS ecosystem (Jennings et al., 2023). J.FSIDI.2022.301447.
Watts, A., 2017. Police use murdered woman’s fitbit movements to charge her husband
- cnn. https://edition.cnn.com/2017/04/25/us/fitbit-womans-death-investigation-
Acknowledgements trnd/index.html. 2022-11-04.
Williams, J., Macdermott, A., Stamp, K., Iqbal, F., 2021. Forensic analysis of fitbit versa:
CIIC partially supported this research under the UIDB 04524/2020 Android vs iOS. In: Proceedings - 2021 IEEE Symposium on Security and Privacy
project by FCT/MCTES and EU funds under the UIDB/EEA 50008/2020 Workshops, SPW 2021, pp. 318–326.
Wood, L., 2022. Worldwide smart band industry to 2027 - featuring fitbit, garmin
project.
and jawbone among others - researchandmarkets.com | business wire. https://
www.businesswire.com/news/home/20220516005623/en/Worldwide-Smart-
References Band-Industry-to-2027-–Featuring-Fitbit-Garmin-and-Jawbone-Among-Others-
–ResearchAndMarkets.com. 2023-02-26.
Bang, A.O., Rao, U.P., Bhusari, A.A., 2022. A comprehensive study of security issues Yoon, Y.H., Karabiyik, U., 2020. Forensic analysis of Fitbit versa 2 data on Android.
and research challenges in different layers of service-oriented IoT architecture. Cyber Electronics 9, 1431. https://doi.org/10.3390/ELECTRONICS9091431. https://
Secur. Digital Forens., 1–43. www.mdpi.com/2079-9292/9/9/1431/htmhttps://www.mdpi.com/2079-9292/9/
Barr-Smith, F., Farrant, T., Leonard-Lagarde, B., Rigby, D., Rigby, S., Sibley-Calder, F., 9/1431.
2021. Dead Man’s switch: forensic autopsy of the Nintendo switch. Forens. Sci. Int.
Digital Invest. 36, 301110.
18
https://www.openstreetmap.org/.
14