Abstract
The IoT device firmware binary program contains many functions for interacting with the hardware, making it difficult to perform emulation without being patched after leaving the original hardware environment. The current solution generally adopts the method of hijacking the runtime library, and requires the development environment compatible with the target device. The development cost is high and the efficiency is low. Therefore, this paper proposes a static instrumentation-based ELF binary emulation patch technology for IoT firmware, which is used for binary patching of Linux system base IoT device firmware under ARM architecture. Experiments show that our prototype tool can patch the ELF binary program of the IoT device firmware based on Linux operating system, so that the patched binary can be correctly run by the QEMU on the desktop computer of the same architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Yamato, K., Abe, T., Corpration, M.: A runtime code modification method for application programs. In: Proceedings of the Ottawa Linux Symposium (2009)
Shaun, C.: Fixing/making holes in binaries. In: BlackHat USA (2002)
Wenchuang, Y., Yifei, W., Baojiang, C., Chen, C.: A static instrumentation method for ELF binary. In: International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pp. 393–403. Springer, Cham (2019)
Chen, D.D., Woo, M., Brumley, D., Egele, M.: Towards automated dynamic analysis for linux-based embedded firmware. In: NDSS, vol. 16, pp. 1–16 (2016)
Thomas, R.: LIEF: library to instrument executable formats (2017)
musl libc: standard C/POSIX library and extensions (2020). https://www.musl-libc.org
Fainelli, F.: The OpenWrt embedded development framework. In: Proceedings of the Free and Open Source Software Developers European Meeting, p. 106. sn. (2008)
Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM Sigplan Not. 42(6), 89–100 (2007)
Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: a transparent runtime optimization system. In: Proceedings of Conference on Programming Language Design and Implementation (PLDI), vol. 10, no. 349299.349303 (2000)
Bruening, D., Duesterwald, E., Amarasinghe, S.: Design and implementation of a dynamic optimization framework for Windows. In: 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4) (2001)
Ravipati, G., Bernat, A.R., Rosenblum, N., Miller, B.P., Hollingsworth, J.K.: Toward the deconstruction of Dyninst, p. 32. University of Wisconsin, Technical report (2007)
Laurenzano, M.A., Tikir, M.M., Carrington, L., Snavely, A.: PEBIL: efficient static binary instrumentation for linux. In: 2010 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 175–183. IEEE (2010)
Zheng, Y., Davanian, A., Yin, H., Song, C., Zhu, H., Sun, L.: FIRM-AFL: high-throughput greybox fuzzing of IoT firmware via augmented process emulation. In: 28th USENIX Security Symposium, pp. 1099–1114 (2019)
Bellard, F.: QEMU, a fast and portable dynamic translator. In USENIX Annual Technical Conference, FREENIX Track, vol. 41, p. 46 (2005)
Acknowledgments
This article is supported by the Fundamental Research Funds for the Central Universities 2019XD-A19.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Sun, Y., Cui, B., Chen, C., Wang, Y. (2021). A Static Instrumentation Method for IoT Firmware ELF Binary Emulation Patching. In: Barolli, L., Poniszewska-Maranda, A., Park, H. (eds) Innovative Mobile and Internet Services in Ubiquitous Computing . IMIS 2020. Advances in Intelligent Systems and Computing, vol 1195. Springer, Cham. https://doi.org/10.1007/978-3-030-50399-4_58
Download citation
DOI: https://doi.org/10.1007/978-3-030-50399-4_58
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-50398-7
Online ISBN: 978-3-030-50399-4
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)