Abstract

With the rapid development of electronic and information technology, Internet of Things (IoT) devices have become extensively utilised in various fields. Increasing attention has been paid to the performance and security analysis of IoT-based services. Dynamic instrumentation is a common process in software analysis for acquiring runtime information. However, due to the limited software and hardware resources in IoT devices, most dynamic instrumentation tools do not support IoT-based services. In this paper, we provide an analysis tool, IoTDIT, to solve the current problem of runtime detection in IoT-based services. IoTDIT employs static analysis and ptrace system calls to obtain dynamic firmware information, which can aid in firmware performance analysis and security detection. We perform experiments to verify the performance and effectiveness of the proposed instrumentation tool.

Highlights

  • With the rapid development of information technology and the Internet of Things (IoT), IoT devices are increasingly applied in industry and social life [20, 28]

  • The desktop platform is used to carry out a performance comparison test with other instrumentation tools, and the IoT platform is used to test the availability of IoTDIT in actual IoT equipment

  • And b, among the four types of instrumentation tools, IoTDIT consumes the least time and Pin consumes the most time. This result is due to the simple structure design of IoTDIT; notably, there are no complex interactions between the dynamic instrumentation tools and software to be tested

Read more

Summary

Introduction

With the rapid development of information technology and the Internet of Things (IoT), IoT devices are increasingly applied in industry and social life [20, 28]. Traditional static instrumentation tools [9, 14, 18, 22] insert analytical code directly into the target binary code This method is complex and depends on the specified hardware platform (x86, SPARC etc.), operating system (UNIX, ucLinux, VxWorks, Linux, uC/OS, TinyOS etc.) and file type (PE, ELF, S-record, etc.); it is not suitable for IoT devices. Considering the lack of dynamic analysis technology for IoT-based services, this paper applies static analysis technology and Linux ptrace system call to obtain dynamic firmware information, including the execution time of functions, sample execution path, etc, at runtime.

Related works
Ptrace system call
Overall design
Code extraction
Static analysis
Instrumentation
Breakpoint control
Runtime analysis
Implementation and testing
Instrumentation efficiency test
Instrumentation effectiveness test
Limitations and shortcomings
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call