Skip to content
/ UC3BPR20 Public

Part of UC3BPR20 2024 - Acquisition and Analysis of Forensic Artefacts in a Smart Home Environment: A Study in IoT Forensics

License

Notifications You must be signed in to change notification settings

oeeve/UC3BPR20

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UC3BPR20

Part of UC3BPR20 2025 - Acquisition and Analysis of Forensic Artefacts in a Smart Home Environment: A Study in IoT Forensics.

The following IoT / smart home forensics dataset is a result of a digital forensics experiment, based on a wireless smart home testbed consisting of an Atom Homey Pro smart home gateway and a set of Zigbee sensors and actuators, managed by the Homey Android application emulated on an Android Studio AVD. The resulting forensic artefacts (in the form of forensic images of the Homey Pro's eMMC storage, as well as logically extracted Android data, before and after execution of the experiment) has been made available in this dataset, which aims to support future research, training, and testing in IoT forensics (also feel free to use it in CTF challenges).

As a reference point for future training and experiments, the contents of the testbed, the variables and controls, the most significant artefacts, as well as an outline of the acquisition process are detailed in the following sections.

A prototype tool, the SlyFox IoT Sleuth (SFHPCBA01) has been developed as a forensic acquisition tool for Homey Pro (and other RPI CM4-based devices), based on the identified acquisition process described below.

Dataset

Pre Experiment SHA-256
Download b924fe3259b3109939bee99eb3c28d10a20a8565dc0c3d7e157c55efdf80cfa7
Download 0e5482254374c13ffd9379eb29e2fe74efe096aaf82156231b1a4b43b5073602
Post Experiment SHA-256
Download 3239ba054101b7f1c75970183aa1f4b4320c51b83f7b804b2a7ad6dc0be05842
Download 84f85f3b49a750587363b91e2a07ecb4e709ad730439a56638bde2fb7991c253

Suggested Use

The EnCase EWF (.E01) forensic images can be examined in any/most forensic tools. Free alternatives include FTK Imager and Autopsy.

The Android files can be manually examined with any text/hex viewer or forensic tool. The SQLite (.db) files can be examined in DB Browser for SQLite or Autopsy, as examples.

  1. Are you able to identify the type of OS and the startup processes?.
  2. Where is the Homey software located and what technologies are used?.
  3. Where are the site- and user-specific configurations and logs stored?.
  4. Can you find any correlations between the user/site data located in the eMMC and the Android application?.
  5. What other artefacts of forensic relevance can you identify, outside the ones listed in artefacts ?.

Testbed

The testbed used in the experiment consisted of the following devices:

Device Name Device Details
Atom Homey Pro Smart home hub and centre of the WPAN Zigbee network. The network's sensors and actuators are paired to this unit, which in turn is managed by the Homey app. Model: HY0025.
Homey for Android Homey - A better smart home 8.2.2 (nodpi) (Android 5.0+). Downloaded from APKMirror. SHA-256: 3e7fe942fe1e35e9120e4af4f79df12ece70383fcf474dc49318cec8fc724a76.
AVD Android Studio Meerkat, 2024.3.1 Patch 1 (macOS) and Android Emulator v.35.4.9.
Ikea Traadfri LED LED bulb with built-in wireless Zigbee actuator. Item No. 905.390.72.
EVA Zigbee HAN Meter reader Wireless Zigbee smart meter sensor that connects to the smart meter with a HAN (RJ45) connector and pairs wirelessly to the Homey Pro smart home hub. EAN: 7072090000317.
Ikea Vindstyrka Wireless Zigbee air quality sensor. Item No. 004.982.31.
Ikea Badring Wireless Zigbee water leak sensor. Item No. 605.043.52.
Ikea Rodret Wireless Zigbee dimmer switch. Item No. 205.281.28.
Ikea Vallhorn Wireless Zigbee motion sensor. Item No. 905.043.41.

Homey Pro

Figure 1: Illustration of the testbed topology.

 

Variables and Controls

The following variables were used during the configuration of the testbed and should serve as reference when examining the dataset.

No Description
1 The experiment (and testbed) was operational from 20.04.2025 to 01.05.2025.
2 The devices used in the testbed are listed in contents of the testbed.
3 Alle devices were installed in the default 'office' room, second floor.
4 Two 'apps' were installed to support devices from Ikea Tradfri and Eva (Datek) AMS meter.
5 Two 'flows' were configured, turning lights on/off on motion/no motion in the office.
6 Account Name: UC3 BPR *
7 Wi-Fi Credentials: Alti***443108, pqVPvReK *
8 Account Credentials: UC3BPR20@***web.io, helloUC3BPR20 *

*All credentials used in the testbed were changed/closed after the end of the experiment.

Artefacts

The following artefacts of forensic value has been identified. Can you find more?

Homey Pro eMMC

BOOTA / BOOTB

Location Significance
/tryboot.txt Configuration file for UART's and selected system settings. + a message from the Homey developers.

ROOTA

Location Significance
/usr/lib/os-release OS-release information – Debian 11 (Bullseye).
/etc/debian_version Debian version – 11.11.
/etc/rpi-issue Details the use of the pi-gen tool to generate the OS-image.
/etc/passwd List of OS user-accounts. One non-system user identified – \protect\texttt{homey:x:1000:1000:,,,:/home/homey:/bin/bash
/var/lib/docker/ Docker’s global root. Including the Homey core container and its application code
`/var/lib/docker/overlay2/ Docker’s copy-on-write storage area where the image layer store changes.

ROOTB

Location Significance
/var/lib/docker/ Docker’s global root. Including the Homey core container and its application code.
/var/lib/docker/overlay2/ Docker’s copy-on-write storage area where image layer store changes.

USER

Location Significance
/sqlite/db.sqlite Main database, containing information on the user account, smart home site and configurations, sensors paired, their configurations and parts of their logged data, cloud keys, timestamps, and more.
/network-manager-connections Wi-Fi credentials, including password in plaintext.
log/system.log System events, such as the start of the Homey Pro Docker container.
log/homey-pro.log Homey Pro application events such as network adapters and cloud manager.
/apps/} Directory for third-party plugins for Homey Pro, such as Ikea Tradfri and Eva HAN-sensor.

Homey Pro

Figure 2: Partitions on the eMMC, as identified by FTK (left) and Axiom (Right).

 

Homey Pro

Figure 3: Dockers Overlay2 storage driver - File system "layers".

 

Homey Pro

Figure 4: Configuration file for UARTs (enable/disable) + message from the Homey developers.

 

Homey Pro

Figure 5: db.sqlite – The six devices paired to the site. 5x Ikea Tradfri, 1x Eva/Datek.

 

Homey Pro Android Application

Location Significance
/data/data/app.homey Primary application folder (see directory tree below).
/data/system/packages.list Lists installed applications.
/data/system/package-usage.list Lists recently used applications and utilities.
/data/misc/profiles/ Can hold app-execution and profiling data.
/sdcard/Android/data/app.homey External (virtual) storage location for application-related files.

Homey Pro

Figure 6: Contents of the app.homey, app.homey/databases and app.homey/app_webview directories.

 

Homey Pro

Figure 7: Contents of the app.homey/cache/ and app.homey/cache/http-cache/ directories.

 

Homey Pro

Figure 8: http-cache – containing details related to the HAN-sensor (energy sensor).

 

Acquisition Process

Homey Pro eMMC

The Homey Pro's eMMC was forensically imaged by performing the following steps:

  1. Physically extract the CM4 SoM from the Homey Pro's main PCB.
  2. Configure and mount the CM4 in the CM4IO development board.
  3. Mount the eMMC as a USB storage device on a host computer, using rpiboot.
  4. 'bit-for-bit' clone the eMMC to a raw .img file using dd.
  5. Create a forensic image (EnCase EWF / .E01) of the raw file.

Homey Pro

Figure 9: The forensic acquisition process of the Homey Pro smart home gateway eMMC.

 

blockdev

It is strongly advised to use an external (hardware) write blocker when working with evidence items. If none is available, an alternative can be to enable blockdev, a kernel-level software write blocker.

Enable write protection with sudo blockdev --setro /dev/sda (given sda is identified as the eMMC). Then verify that it has been enabled by running blockdev --getro /dev/sda, where 1 is enabled, and 0 is disabled.

Homey Pro

Figure 10: Example of blockdev terminal output.

 

dd

Example of use of dd. Make sure to double check disk device name with lsblk.

sudo dd if=/dev/sdb of=~/cm4-homey-pre-emmc-backup.img bs=4M status=progress conv=fsync

Homey Pro

Figure 11: Using dd to image the eMMC.

 

ewf-tools

Install ewf-tools:

sudo apt-get update && sudo apt-get install libewf-dev ewf-tools

 

Then create a loop device of the raw image 1.

LOOPDEV=$(sudo losetup --read-only --find --show ~/cm4-homey-pre-emmc-backup.img)
echo "Loop device is: $LOOPDEV"

 

Now run ewfacquire to initiate the creation of the EWF image.

sudo ewfacquire -t ~/evidence_encase/HomeyProPre -C "UC3BPR20" -e "OEE" -d sha256 -E 01 -N "Homey Pro eMMC Pre-Experiment"
-m fixed -M physical -f encase6 -o 0 -B 7818182656 -P 512 -b 64 -g 64 -r 2 -c deflate: best -S 9000000000 -D "Homey Pro Pre-Experiment Acquisition"
"$LOOPDEV"

 

Homey Pro

Figure 12: Using ewfacquire to create a EWF forensic image of the newly acquired raw image.

 

ewfacquire - Mandatory configuration arguments with descriptions:

sudo ewfacquire \
-t ~/ evidence_encase/HomeyProPre \             # Target basename → HomeyProPre.E01
-C "UC3BPR20" \                                 # Case number
-e "OEE" \                                      # Examiner
-d sha256                                       # SHA-256 hashing
-E 01 \                                         # Evidence number
-N "Homey Pro eMMC Pre-Experiment" \            # Notes
—m fixed \                                      # Media type
-M physical \                                   # Media characteristics
-f encase6 \                                    # EWF format (EnCase 6)
-0 0                                            # Start offset
-B 7818182656 \                                 # Bytes to acquire (full 8GB)
-P 512 \                                        # Bytes per sector
-b 64 \                                         # Sectors per chunk
-g 64 \                                         # Error granularity
-r 2 \                                          # Retry count on read error
-c deflate: best                                # Best DEFLATE compression (slowest)
-S 9000000000                                   # 9 GB cap → Single segment only.
-D "Homey Pro Pre-Experiment Acquisition" \     # Description/ comment
"$LOOPDEV"

 

Homey Android Application

The Homey Android application (Testbed) was installed on and AVD(Android Virtual Device) in the Android Studio emulator (Device Manager). The ADB (Android Debug Interface) was used to logically extract application data and relevant system data from the AVD.

Homey Pro

Figure 13: The forensic acquisition process of the Homey Pro Android application along with related system files.

 

ADB commands as part of the logical acquisition:

adb devices         # list AVDs
adb shell           # Access ADB shell. If multiple, specify, e.g: adb -s emulator-5556 shell
adb su              # Enable root
adb shell whoami    # Verify root
adb remount         # Enable read/write access
adb pull            # Specify /avd/path/to/pull/ /path/to/destination/on/host/pc/

 

Homey Pro

Figure 14: PCBA – Installation of CM4 in the SlyFox IoT CM4 Carrier Board.

 


(back to top)

Until next time...

Logo

Footnotes

  1. Loop devices in Linux are virtual block devices that allow you to mount and interact with a file as if it were a physical disk. They are commonly used when working with disk images, such as ISO files. Example: A loop device (/dev/loopX, where X is a number) lets you treat a regular file like a storage device. This is useful when dealing with disk images, encrypted filesystems, or snapshots.

About

Part of UC3BPR20 2024 - Acquisition and Analysis of Forensic Artefacts in a Smart Home Environment: A Study in IoT Forensics

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published