iFIZZ: Deep-State and Efficient Fault-Scenario Generation to Test IoT Firmware
IoT devices are abnormally prone to diverse errors due to harsh environments and limited computational capabilities. As a result, correct error handling is critical in IoT. Implementing correct error handling is non-trivial, thus requiring extensive testing such as fuzzing. However, existing fuzzing techniques cannot effectively test IoT error-handling code. First, errors typically represent corner cases, thus are hard to trigger. Second, testing error-handling code would frequently crash the execution, which prevents fuzzing from testing following deep error paths.
In this paper, we propose iFIZZ, a new bug detection system specifically designed for testing error-handling code in IoT firmware. iFIZZ first employs an automated binary-based approach to identify realistic runtime errors by analyzing errors and error conditions in closed-source IoT firmware. Then, iFIZZ employs state-aware and bounded error generation to reach deep error paths effectively. We implement and evaluate iFIZZ on 10 popular IoT firmware. The results show that iFIZZ can find many bugs hidden in deep error paths. Specifically, iFIZZ finds 109 critical bugs, 63 of which are even in widely used IoT libraries. iFIZZ also features high code coverage and efficiency, and covers 67.3% more error paths than normal execution. Meanwhile, the depth of error handling covered by iFIZZ is 7.3 times deeper than that covered by the state-of-the-art method. Furthermore, iFIZZ has been practically adopted and deployed in a worldwide leading IoT company. We will open-source iFIZZ to facilitate further research in this area.
Thu 18 NovDisplayed time zone: Hobart change
18:00 - 19:00
FirmwareResearch Papers / NIER track / Industry Showcase at Kangaroo
Chair(s): ingo Mueller Monash University
|FirmGuide: Boosting the Capability of Rehosting Embedded Linux Kernels through Model-Guided Kernel Execution|
Qiang Liu Zhejiang University, Cen Zhang Nanyang Technological University, Lin Ma Zhejiang University, Muhui Jiang The Hong Kong Polytechnic University; Zhejiang University, Yajin Zhou Zhejiang University, Lei Wu Zhejiang University, Wenbo Shen Zhejing University, Xiapu Luo Hong Kong Polytechnic University, Yang Liu Nanyang Technological University, Kui Ren Zhejiang UniversityPre-print
|iFIZZ: Deep-State and Efficient Fault-Scenario Generation to Test IoT Firmware|
Peiyu Liu Zhejiang University, Shouling Ji Zhejiang University, Xuhong Zhang Zhejiang University, Qinming Dai Zhejiang University, Kangjie Lu University of Minnesota, Lirong Fu Zhejiang University, Wenzhi Chen Zhejiang University, Peng Cheng Zhejiang University, Wenhai Wang Zhejiang University, Raheem Beyah Georgia Institute of Technology
|BIFF: Practical Binary Fuzzing Framework for Programs of IoT and Mobile Devices|
Cen Zhang Nanyang Technological University, Yuekang Li Nanyang Technological University, Hongxu Chen Nanyang Technological University, Xiaoxing Luo Huawei Technologies Co., Ltd., Miaohua Li Huawei Technologies Co., Ltd., Anh Quynh Nguyen Nanyang Technological University, Yang Liu Nanyang Technological University
|Adaptation 2.0: Adapting Specification Learners in Assured Adaptive Systems|
Dalal Alrajeh Imperial College London, Patrick Benjamin Imperial College London, Sebastian Uchitel Imperial College London & University of Buenos Aires