Skip to main content
QUICK REVIEW

[논문 리뷰] Snipuzz: Black-box Fuzzing of IoT Firmware via Message Snippet Inference

Xiaotao Feng, Ruoxi Sun|arXiv (Cornell University)|2021. 05. 12.
Advanced Malware Detection Techniques참고 문헌 32인용 수 8
한 줄 요약

Snipuzz는 사전 프로토콜 지식이 없이도 장치 응답에서 메시지 조각을 추론하여 변형을 이끌어내는 새로운 블랙박스 패치 프레임워크로, 문법 인식 테스팅을 가능하게 한다. 이 프레임워크는 20대의 실제 소비자 IoT 기기에서 5개의 제로데이 취약점을 발견했으며, 그 중 3개는 본 연구의 접근 방식에 의해 유일하게 노출된 것이었다.

ABSTRACT

The proliferation of Internet of Things (IoT) devices has made people's lives more convenient, but it has also raised many security concerns. Due to the difficulty of obtaining and emulating IoT firmware, the black-box fuzzing of IoT devices has become a viable option. However, existing black-box fuzzers cannot form effective mutation optimization mechanisms to guide their testing processes, mainly due to the lack of feedback. It is difficult or even impossible to apply existing grammar-based fuzzing strategies. Therefore, an efficient fuzzing approach with syntax inference is required in the IoT fuzzing domain. To address these critical problems, we propose a novel automatic black-box fuzzing for IoT firmware, termed Snipuzz. Snipuzz runs as a client communicating with the devices and infers message snippets for mutation based on the responses. Each snippet refers to a block of consecutive bytes that reflect the approximate code coverage in fuzzing. This mutation strategy based on message snippets considerably narrows down the search space to change the probing messages. We compared Snipuzz with four state-of-the-art IoT fuzzing approaches, i.e., IoTFuzzer, BooFuzz, Doona, and Nemesys. Snipuzz not only inherits the advantages of app-based fuzzing (e.g., IoTFuzzer, but also utilizes communication responses to perform efficient mutation. Furthermore, Snipuzz is lightweight as its execution does not rely on any prerequisite operations, such as reverse engineering of apps. We also evaluated Snipuzz on 20 popular real-world IoT devices. Our results show that Snipuzz could identify 5 zero-day vulnerabilities, and 3 of them could be exposed only by Snipuzz. All the newly discovered vulnerabilities have been confirmed by their vendors.

연구 동기 및 목표

  • 내부 실행 피드백이나 알려지지 않은 통신 프로토콜로 인해 IoT 펌웨어의 블랙박스 패치 테스팅이 어려운 문제를 해결한다.
  • 기존 패처가 무작위 변형에 의존하거나 문법 사양이 필요로 하는 한계를 극복한다.
  • 펌웨어 역공학이나 펌웨어 접근 없이도 피드백 기반의 효율적인 변형을 가능하게 한다.
  • 장치 응답 패턴에서 메시지 바이트의 문법적 역할을 추론함으로써 취약점 탐지 능력을 향상시킨다.

제안 방법

  • Snipuzz는 IoT 기기와 통신하는 클라이언트로서, 응답 메시지를 관찰하여 메시지 조각을 추론한다.
  • 메시지 조각은 변형 과정에서 코드 커버리지 변화와 상관관계가 있는 연속된 바이트 블록으로, 응답 변화로부터 유도된다.
  • 이 프레임워크는 응답 기반 피드백을 사용하여 변형을 이끌어내며, 장치 동작을 변화시키는 입력 변경을 우선순위로 한다.
  • 입력 수정과 응답 차이의 상관관계를 분석함으로써 문법적 추론을 수행하여, 사전 정의된 문법 규칙 없이도 문법 인식 변형을 가능하게 한다.
  • 변형은 입력 세그먼트 중 어떤 것이 특정 응답을 유도하는지 식별함으로써, 입력 공간의 타겟팅 탐색을 가능하게 한다.
  • 시스템은 추론된 메시지 조각을 재조합하여, 더 깊은 펌웨어 실행 경로를 탐색하는 새로운 유효한 입력을 생성한다.

실험 결과

연구 질문

  • RQ1내부 실행 피드백이나 프로토콜 문법이 없는 상황에서 IoT 펌웨어의 블랙박스 패치 테스팅을 어떻게 더 효과적으로 수행할 수 있는가?
  • RQ2문법 사양이 없을 때 장치 응답 패턴을 활용해 의미 있는 메시지 구조를 추론하고 변형을 이끌어낼 수 있는가?
  • RQ3응답 기반 피드백은 IoT 펌웨어의 변형 효율성과 취약점 탐지 능력 향상에 어느 정도 기여하는가?
  • RQ4가벼운 부담 없이 사전 조건이 없는 패치 프레임워크가 기존 최첨단 IoT 패처보다 제로데이 취약점 탐지에서 뛰어난 성능을 보일 수 있는가?

주요 결과

  • Snipuzz는 20대의 실제 소비자 IoT 기기에서 5개의 제로데이 취약점을 발견했으며, 그 중 3개는 본 연구의 접근 방식에 의해 유일하게 노출된 것이었다.
  • IoTFuzzer, BooFuzz, Doona, Nemesys 등 4개의 최첨단 패처보다 뛰어난 성능을 보였으며, 애플리케이션 기반 패치와 응답 기반 피드백의 장점을 융합했다.
  • 펌웨어 에뮬레이션, 역공학, 사전 프로토콜 지식 없이도 효과적인 변형을 달성했다.
  • 응답 기반 피드백 메커니즘이 타겟팅된 변형을 가능하게 하여, 맹목적인 무작위 변형 대비 검색 공간을 크게 축소시켰다.
  • 문법 기반 접근 방식이 실패하는 비표준 또는 복잡한 통신 형식을 가진 기기들에서도 효과를 입증했다.
  • 모든 발견된 취약점은 제조사에 의해 확인되어, Snipuzz가 실제 보안 테스팅에 실질적인 영향을 미친다는 점을 입증했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.