"IFIZZ: Deep-State and Efficient Fault-Scenario Generation to Test IoT Firmware" published in ASE 2021.
The Docker image is available here (Google Drive).
- Import the image
$ docker import ifizz.tar ifizz:v1
- Create a container
$ docker run --privileged -it --name iFIZZ -w /root/firmadyne ifizz:v1 /bin/sh -c 'su - postgres -c "/etc/init.d/postgresql start" && /bin/bash'
- Run firmware in the container
$ export USER=root
$ ./scratch/1/run.sh
-
Login to the firmware
user: root password: password
NOTE:
how to exit the firmware:
CRTL+A
,X
- Start the test
cd /etc
./begin.sh
NOTE:
how to check the test status:
1.1 enter the contianer:
docker exec -it iFIZZ bash
1.2 login to the firmware by ssh:
ssh [email protected]
(password is "password")1.3 check the crash log:
cat /etc/crash_log
how to test more software of the firmware:
This Docker image only tests
ntpclient-wrapp
by default. If you want to test more software, please add the software name in the/etc/blacklist
file in the firmware before executing./begin.sh
. For example. if you want to testsed
, please add "2 sed" to the/etc/blacklist
file.
- how to get the test results:
The test will take 24 hours. Please login to the firmware by ssh, and find the test results (crash logs) in the
root
dir.