Abstract
A common way to evaluate the security of an industrial control system is to reverse engineer its firmware; this is typically performed when the source code of the device is not available and the firmware is not trusted. However, many industrial control systems are based on the ARM architecture for which the firmware format is always unknown. Therefore, it is difficult to obtain the image base of firmware directly, which significantly complicates reverse engineering efforts. This paper describes a methodology for automatically determining the image base of firmware of ARM-based industrial control systems. Two algorithms, FIND-String and FIND-LDR, are presented that obtain the offsets of strings in firmware and the string addresses loaded by LDR instructions, respectively. Additionally, the DBMSSL algorithm is presented that uses the outputs of the FIND-String and FIND-LDR algorithms to determine the image base of firmware. Experiments are performed with 10 samples of industrial control system firmware collected from the Internet. The experimental results demonstrate that the proposed methodology is effective at determining the image bases of the majority of the firmware samples.
Original language | English |
---|---|
Pages (from-to) | 26-35 |
Number of pages | 10 |
Journal | International Journal of Critical Infrastructure Protection |
Volume | 16 |
DOIs | |
Publication status | Published - 1 Mar 2017 |
Keywords
- ARM Architecture
- Firmware
- Image Base
- Industrial Control Systems
- Reverse Engineering