journal article·2023Open access

Adaptive Emulation Framework for Multi-Architecture IoT Firmware Testing

Jihyeon Yu, Juhwan Kim, Youngwoo Lee, Fayozbek Rustamov, Joobeom Yun

Computers, Materials & Continua· Volume 75· Issue 2

Abstract

Internet of things (IoT) devices are being increasingly used in numerous areas. However, the low priority on security and various IoT types have made these devices vulnerable to attacks. To prevent this, recent studies have analyzed firmware in an emulation environment that does not require actual devices and is efficient for repeated experiments. However, these studies focused only on major firmware architectures and rarely considered exotic firmware. In addition, because of the diversity of firmware, the emulation success rate is not high in terms of large-scale analyses. In this study, we propose the adaptive emulation framework for multi-architecture (AEMA). In the field of automated emulation frameworks for IoT firmware testing, AEMA considers the following issues: (1) limited compatibility for exotic firmware architectures, (2) emulation instability when configuring an automated environment, and (3) shallow testing range resulting from structured inputs. To tackle these problems, AEMA can emulate not only major firmware architectures but also exotic firmware architectures not previously considered, such as Xtensa, ColdFire, and reduced instruction set computer (RISC) version five, by implementing a minority emulator. Moreover, we applied the emulation arbitration technique and input keyword extraction technique for emulation stability and efficient test case generation. We compared AEMA with other existing frameworks in terms of emulation success rates and fuzz testing. As a result, AEMA succeeded in emulating 864 out of 1,083 overall experimental firmware and detected vulnerabilities at least twice as fast as the experimental group. Furthermore, AEMA found a 0-day vulnerability in real-world IoT devices within 24 h.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Testing and Debugging Techniques · Advanced Malware Detection Techniques · Security and Verification in Computing

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (51)

Show source-provided references
1. Grand View Research, “Industrial internet of things market size, share trends analysis report by component, by end-use (manufacturing, energy power, oil gas, healthcare, logistics transport, agriculture), and segment forecasts, 2019–2025,” 2019. [Online.] Available: https://www.grandviewresearch.com/industry-analysis/industrial-internet-of-things-iiot-market. (Accessed on June. 7, 2021).
2. Pulse, “Some 100 IoT devices found to be malware infected in Korea,” 2022. [Online.] Available: https://pulsenews.co.kr/view.php?year=2022&no=61009. (Accessed on May. 16, 2022).
3. {FIRM-AFL}: High-throughput greybox fuzzing of IoT firmware via augmented process emulation
4. Firmcorn: Vulnerability-oriented fuzzing of IoT firmware via optimized virtual execution10.1109/ACCESS.2020.2973043 ↗
5. {P2IM}: Scalable and Hardware-independent firmware testing via automatic peripheral interface modeling
6. Automatic firmware emulation through invalidity-guided knowledge inference
7. Jetset: Targeted firmware rehosting for embedded systems
8. Firmfuzz: Automated IoT firmware introspection and analysis
9. FIRM-COV: High-coverage greybox fuzzing for IoT firmware via optimized process emulation10.1109/ACCESS.2021.3097807 ↗
10. Threadx, “An advanced real-time operating system (RTOS) designed specifically for deeply embedded applications,” 2022. [Online.] Available: https://github.com/azure-rtos/threadx/. (Accessed on Oct. 14, 2022).
11. RTEMS, “Realtime SMP Kernel, networking, file-systems, drivers, BSPs, samples, and testsuite,” 2022. [Online.] Available: https://github.com/RTEMS (Accessed on Oct. 14, 2022).
12. QEMU, a fast and portable dynamic translator
13. Towards automated dynamic analysis for Linux-based embedded firmware
14. What you corrupt is not what you crash: Challenges in fuzzing embedded devices
15. Challenges in firmware re-hosting, emulation, and analysis10.1145/3423167 ↗
16. The survey of real time operating system: RTOS
17. Rely-guarantee reasoning about concurrent memory management in zephyr RTOS
18. B. Ip, “Performance analysis of VxWorks and RTLinux,” Technical report, New York, USA, [Online.] Available: http://www.cs.columbia.edu/~sedwards/classes/2001/w4995-02/reports/ip.pdf. (Accessed on Oct. 7, 2022).
19. {HALucinator}: Firmware Re-hosting through abstraction layer emulation
20. Unicorn: Next generation CPU emulator framework
21. KiF: A stateful SIP fuzzer
22. Pulsar: Stateful black-box fuzzing of proprietary network protocols
23. Boofuzz, “A fork and successor of the Sulley Fuzzing Framework,” 2022. [Online.] Available: https://github.com/jtpereyda/boofuzz. (Accessed on Oct. 22, 2022).
24. Blendfuzz: A model-based framework for fuzz testing programs with grammatical inputs
25. SAGE: Whitebox fuzzing for security testing10.1145/2093548.2093564 ↗
26. Alshmrany · Fundamental Approaches to Software Engineering: 24th International Conference, FASE 2021, · 2021 · 12649 · 36310.1007/978-3-030-71500-7_19 ↗
27. T-Fuzz: Fuzzing by program transformation
28. Driller: Augmenting fuzzing through selective symbolic execution
29. Poster: Directed hybrid fuzzing on binary code
30. AFL, “American fuzzy lop,” 2015. [Online.] Available: http://lcamtuf.coredump.cx/afl/. (Accessed on Nov. 11, 2021).
31. Angora: Efficient fuzzing by principled search
32. Hawkeye: Towards a desired directed grey-box fuzzer
33. Superion: Grammar-aware greybox fuzzing
34. VUzzer: Application-aware evolutionary fuzzing
35. DART: Directed automated random testing
36. CUTE: A concolic unit testing engine for C10.1145/1095430.1081750 ↗
37. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs
38. Sok: (state of) the art of war: Offensive techniques in binary analysis
39. Triton: Concolic execution framework
40. {QSYM}: A practical concolic execution engine tailored for hybrid fuzzing
41. Binwalk, “Firmware analysis tool,” 2022. [Online.] Available: https://github.com/ReFirmLabs/binwalk. (Accessed on Oct. 14, 2022).
42. Hands-on ghidra-a tutorial about the software reverse engineering framework
43. Firmware-mod-kit, “A collection of scripts and utilities to extract and rebuild Linux based firmware images,” 2022. [Online.] Available: https://github.com/rampageX/firmware-mod-kit. (Accessed on May. 22, 2022).
44. DICE: Automatic emulation of dma input channels for dynamic firmware analysis
45. Firmae: Towards large-scale emulation of IoT firmware for dynamic analysis
46. Coverage-based greybox fuzzing as Markov chain
47. Redundant state detection for dynamic symbolic execution
48. Selective symbolic execution
49. S2E: A platform for in-vivo multi-path analysis of software systems10.1145/1961296.1950396 ↗
50. Toward the analysis of embedded firmware through automated re-hosting
51. Snipuzz: Black-box fuzzing of IoT firmware via message snippet inference10.1145/3460120.3484543 ↗