Skip to main content

A Static Instrumentation Method for IoT Firmware ELF Binary Emulation Patching

  • Conference paper
  • First Online:
Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS 2020)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 1195))

  • 1291 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Yamato, K., Abe, T., Corpration, M.: A runtime code modification method for application programs. In: Proceedings of the Ottawa Linux Symposium (2009)

    Google Scholar 

  2. Shaun, C.: Fixing/making holes in binaries. In: BlackHat USA (2002)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Thomas, R.: LIEF: library to instrument executable formats (2017)

    Google Scholar 

  6. musl libc: standard C/POSIX library and extensions (2020). https://www.musl-libc.org

  7. Fainelli, F.: The OpenWrt embedded development framework. In: Proceedings of the Free and Open Source Software Developers European Meeting, p. 106. sn. (2008)

    Google Scholar 

  8. Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM Sigplan Not. 42(6), 89–100 (2007)

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Bellard, F.: QEMU, a fast and portable dynamic translator. In USENIX Annual Technical Conference, FREENIX Track, vol. 41, p. 46 (2005)

    Google Scholar 

Download references

Acknowledgments

This article is supported by the Fundamental Research Funds for the Central Universities 2019XD-A19.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Baojiang Cui .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics