검색 상세

임베디드 디바이스 펌웨어의 웹 인터페이스 취약점 식별을 위한 에뮬레이션 기반 퍼징 기법

Emulation-based Fuzzing Techniques for Identifying Web Interface Vulnerabilities in Embedded Device Firmware

초록/요약

IoT 기술의 발전으로 임베디드 디바이스의 보급량이 급증하고 있으며 임베디드 디바이스 펌웨어 취약점을 기반으로 한 공격사례도 증가하고 있다. 특히 유무선 공유기와 라우터 같은 네트워크 장비는 공개된 공간에서 많이 사용되기 때문에 안전하지 않은 펌웨어를 사용할 경우 공격을 받을 수 있으므로 취약점을 찾아내서 제거해야만 한다. 그러나 임베디드 디바이스는 다양한 제품군 그리고 다양한 펌웨어가 있으며 모든 펌웨어에 대해 취약점을 식별하는 것에 한계가 존재한다. 최근 연구에서는 Firmadyne 프레임워크의 펌웨어 에뮬레이션 기법을 통해 이를 해결하였다. 그러나 이는 도구에서 정의된 취약점에 대해서만 분석 가능하기 때문에 식별되는 취약점의 종류와 범위가 한정되어 있다. 본 논문에서는 이를 보완하기 위해 취약점의 범위를 특정하지 않고 다양한 테스트를 수행하는 퍼징(fuzzing) 기법을 도입하여 임베디드 디바이스 펌웨어의 취약점을 식별하는 에뮬레이션 기반의 퍼징 기법인 Fabfuzz를 제안한다. 이는 기존의 Firmadyne을 통해 알려진 취약점 외에 퍼징 기법을 사용하여 대상 임베디드 디바이스의 동작환경을 에뮬레이션하여 실제 장비가 없이도 펌웨어의 취약점을 식별할 수 있었다. 또한 펌웨어 에뮬레이션 실행, 테스트 케이스 생성 및 모니터링을 수행함으로써 에뮬레이션 환경에서 퍼징하였을 때 식별되지 않은 취약점을 도출하여 이를 분석 및 보완하는 데 기여한다.

more

초록/요약

As embedded devices become more widespread, firmware security is becoming increasingly important. Network devices such as wired and wireless devices can be harmed by external attackers through vulnerabilities in the web interfaces of their installed firmware. Therefore, such vulnerabilities must be quickly found and removed. In a previous study, a Firmadyne framework was proposed as a dynamic analysis method for finding vulnerabilities after the firmware is emulated. However, the range of vulnerabilities that can be found using this tool is limited because it only examines vulnerabilities through the analysis methods defined within the tool itself. In this study, fuzzing, which is a type of a software security test technology, is used to conduct fuzzing tests in an emulation-based environment. The use of the Fabfuzz tool is also proposed for efficient emulation-based fuzzing. The results of the experiments conducted show that it is possible to discover not only vulnerabilities that have been identified by existing tools but other types of vulnerabilities as well.

more

목차

1. Introduction 1
2. Related Works 3
2.1. Firmadyne framework 3
2.2. Emulation-based fuzzing 4
2.3. Network protocol fuzzing 4
3. Proposed Approach 6
3.1. Firmware emulation 8
3.2. Collecting network communication packet 8
3.3. Generating protocol format file 9
3.4. Fuzzing & Monitoring 9
4. Experiment & Evaluation 11
4.1. Overview of emulation-based fuzzing 11
4.2. Fuzzing performance experiments for known vulnerabilities 12
4.3. Result & Future works 12
5. Conclusion 15
REFERENCES 16
국문요약 18

more