서지주요정보
기호실행과 인-메모리 퍼징을 활용한 IoT 기기 퍼징 = Fuzzing for IoT devices using symbolic execution and in-memory fuzzing
서명 / 저자 기호실행과 인-메모리 퍼징을 활용한 IoT 기기 퍼징 = Fuzzing for IoT devices using symbolic execution and in-memory fuzzing / 김홍식.
발행사항 [대전 : 한국과학기술원, 2020].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8038391

소장위치/청구기호

학술문화관(문화관) 보존서고

MIS 20014

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Fuzzing is popular and effective way to find software vulnerabilities. Howerver, there are few research onfuzzing Internet of Things (IoT) devices and its binary. Also, existing method like full-system emulationhas limitation of scalability and performance. We suggest effective fuzzing method to overcome thehazards and implement our fuzzing system, Flower, to show the method is really effective. First, We getexecution trace and memory dump from the target device with target binary. Symbolic executor executethe binary symbolically following trace and generate symbolic formula consist of path constraint. Thoughthe symbolic formula from symbolic execution are not appropriate with fuzzing, we made approximationphase for the formula. On the other hand, we choose in-memory fuzzing start point using the symolicformula. Then, we emulate target binary with memory dump and trace until in-memory fuzzing startingpoint and generate snapshot. Lastly, the fuzzer loop from start point to end of program with mutatedsnapshot. Main disadvantage of in-memory fuzzing is false positive that fuzzer think a piece of code isbug, but is not in real. Also, it is impossible to reconstruct concrete input from mutated memory. Then,it is hard to reproduce a bug that in-memory fuzzing found. However, in this paper, in-memory mutationcomes from symbolic formula. Therefore the fuzzer can easily reconstruct concrete input from mutatedmemory and have validation process to reduce false positive. With this research, we tried to solve somelimitations from existing way and deal with new system for IoT fuzzing and in-memory fuzzing.

퍼징은 소프트웨어 취약점을 찾기 위한 효과적이고 인기있는 방법이다. 하지만 IoT 기기와 IoT 기기에서실행되는 바이너리에 대한 퍼징 연구는 여전히 부족하다. 또한, 시스템 레벨 에뮬레이션과 같은 방법은확장성과 성능에서 한계를 가지고 있다. 이 논문에서는 위의 문제를 해결하기 위한 효율적인 퍼징 방법을제시하고 퍼징 시스템, Flower를 구현하여 실제로 효율적임을 보인다. 먼저 실제 목표 기기와 바이너리를이용하여 실행 추적과 메모리 덤프를 기기로부터 가져온다. 그리고 기호 실행기를 활용하여 목표 바이너리를실행 추적에 따라 기호 실행하고 경로 제약에 의해 표현되는 기호 식을 생성한다. 생성된 기호식은 퍼징에적합하지 않기 때문에 추상화 과정을 거친다. 한편으로는 생성된 기호식을 활용하여 인-메모리 퍼징의 시작점을 정한다. 인-메모리 퍼징의 시작점에서 그 때의 스냅샷을 저장하고, 스냅샷을 변조해가며 인-메모리퍼징 루프를 실행한다. 인-메모리 퍼징의 가장 큰 단점은 false positive이다. 인-메모리 퍼징에서 버그라고판단되는 부분도 실제로는 버그가 아닐 가능성이 있다는 의미다. 그러나 기존의 인-메모리 퍼징에서는 변조된 메모리로부터 실제 입력을 만들어내는 것이 불가능한 반면, 이 연구에서는 메모리를 변조할 때 기호식을 이용하기 때문에 변조된 메모리로부터 입력을 만들어낼 수 있다. 이를 이용하여 인-메모리 퍼징의한계점이던 false positive를 줄일 수 있는 검증 단계를 추가했다. 이러한 연구를 통해 기존의 퍼징 방식에대한 한계점을 다른 방식을 제시하여 해결하고, 앞으로 IoT 기기에 대한 퍼징과 인-메모리 퍼징 연구에 대해새로운 방향을 다루고자 한다.

서지기타정보

서지기타정보
청구기호 {MIS 20014
형태사항 iv, 25 p. : 삽화 ; 30 cm
언어 한국어
일반주기 저자명의 영문표기 : Hongsik Kim
지도교수의 한글표기 : 차상길
지도교수의 영문표기 : Sang Kil Cha
부록 수록
학위논문 학위논문(석사) - 한국과학기술원 : 정보보호대학원,
서지주기 참고문헌 : p. 22-23
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서