← 기술 목록으로
FIRM-COV: IoT 펌웨어 고커버리지 그레이박스 퍼징
EF-Fuzz 석사논문을 모체 연구로 삼아 추가 연구·기법·실험으로 보완하고 확장한 IEEE Access 후속·확장 논문
기간2021 (IEEE Access Vol.9, 게재)
연구 계보EF-Fuzz 석사논문 → FIRM-COV 후속 확장
저자 관계석사논문 저자(제1저자) · FIRM-COV 공저자(3저자)
소속세종대학교 대학원 연구
Fuzzing
Greybox
AFL
QEMU
DECAF
Process Emulation
IoT Firmware
FIRMADYNE
Static Analysis
MIPS / ARM
0작업자의 메모
FIRM-COV의 출발점은 제가 졸업논문으로 수행한 EF-Fuzz 연구입니다. 여기에 추가 기법과 실험이 보완되면서 연구 범위가 넓어졌고, 그 결과가 IEEE Access 공저 논문으로 이어졌습니다.
석사논문에서 시작한 고커버리지 펌웨어 퍼징 문제를 후속 연구에서 더 넓은 방법과 평가로 확장했다는 흐름이 이 작업의 핵심입니다.
↗연구 계보와 기여 범위
- 모체 연구: 제가 수행한 EF-Fuzz 석사논문이 FIRM-COV의 출발점입니다.
- 후속 확장: FIRM-COV는 여기에 추가 기법과 실험을 더해 보완·확장한 IEEE Access 공저 논문입니다.
- 기여 범위: 아래의 접근과 결과는 공저 논문 전체를 기준으로 정리했습니다. 제 원천 기여는 EF-Fuzz 석사논문에서 시작한 연구 기반이며, 확인되지 않은 공저자별 세부 분담은 덧붙이지 않았습니다.
1문제
IoT 펌웨어는 원격에서 도달하기 쉬운 고가치 공격 표면이지만 퍼징하기 어렵다. 논문은 세 가지 핵심 난점을 정의한다.
- 구조화된 입력 (C1): HTTP 위 CGI 같은 네트워크 IoT 프로그램은 형식에 맞지 않는 입력을 조용히 버린다. 따라서 단순 무작위 변이만으로는 깊은 경로에 도달하지 못한다.
- 패닉 상태 (C2): 에뮬레이션이 NVRAM 등 하드웨어를 완벽히 모사하지 못해 주변장치 접근 시 에뮬레이터가 죽거나 재부팅된다. 그 결과 응답하지 않는 입력이 크래시로 오분류되어 오탐(false positive)이 생긴다.
- 코드 커버리지 (C3): 기존 IoT 퍼저는 커버리지보다 처리량(throughput)에 치우쳐 같은 경로를 반복 탐색하고 비효율적인 변이 연산자를 사용한다.
2최종 논문의 접근
FIRM-COV는 가용성(실기기 불필요)·정확성(낮은 오탐)·안정성(패닉 상태 탐지)·효율성(높은 커버리지 + 처리량)을 동시에 추구하며 세 가지 기법을 결합한다.
- 딕셔너리 생성 알고리즘 (정적 분석): 대상 바이너리에서 문자열 상수를 추출한 뒤, 참조 마이닝 → 세밀한 명령어 검사(MIPS
$a0–$a3 인자 사용 여부) → 라이브러리 함수 분석(uClibc 문자열 처리 API 전달 여부)의 3단계를 거쳐 "구문 토큰"만 남긴다. 살아남은 문자열로 AFL 딕셔너리를 만들어 구조화된 입력을 생성한다. 평균 37.8초로 딕셔너리를 구성하는 낮은 오버헤드.
- 최적화된 프로세스 에뮬레이션: FIRM-AFL의 증강 프로세스 에뮬레이션을 개선. 속도를 위해 유저 모드로 실행하다 예외 시에만 전체 시스템 에뮬레이션으로 전환한다. QEMU/DECAF 동적 인트로스펙션으로 네트워크 수신 시점의 "엔트리 상태"를 포착·동기화하고 페이지 폴트 처리 + 주기적 생존 점검·재동기화로 패닉 상태를 제거하며, NVRAM 등 하드웨어 의존 함수를
LD_PRELOAD 라이브러리로 가짜 데이터를 반환하도록 가로채 에뮬레이션을 안정화한다.
- 시너지 스케줄링: AFLFast에서 착안한 저빈도 파워 스케줄(시드 스케줄링)과 MOpt-AFL에서 착안한 PSO 기반 변이 연산자 선택(변이 스케줄링)을 결합한 커버리지 지향 퍼징.
3최종 논문의 결과 · 성과
실제 IoT 기기 8종(라우터/IP 카메라, 3개 벤더, FIRMADYNE 데이터셋)을 대상으로 FIRM-AFL 기반 베이스라인들과 24시간 퍼징·3회 평균으로 비교했다.
+78.8%
평균 튜플 커버리지 향상 (베이스라인 대비)
+237.7%
최대 튜플 커버리지 향상 (DIR-815)
- 튜플 커버리지 향상: FIRM-AFLFast +18.5%, FIRM-MOptAFL +9.4%에 비해 FIRM-COV는 평균 +78.8%(DIR-815에서 최대 +237.7%)로 가장 높음.
- 처리량과 고유 경로 수 모두 전 모델에서 최고치(한 모델에서 베이스라인 대비 약 715% 경로).
- 1-day 취약점: 식별된 1-day를 모두, 가장 빠르게, 오탐 거의 없이 발견. 베이스라인들은 일부를 놓치거나 오탐(예: WR940N)을 냈다.
- 0-day 취약점 2건: D-Link DIR-825(httpd의 조작된 URI로 버퍼 오버플로) 및 Trendnet TEW-632BRP(httpd의 조작된 URI로 버퍼 오버플로).
- 안정성: Linux IoT 펌웨어 150종 모두 정상 부팅, 부팅 시 NVRAM을 요구하는 약 30종도 프리로드 라이브러리로 처리, 실기기 없이 동작.
두 0-day의 CVE 식별자는 논문에 명시되지 않음 — 확인 필요. 8종 평가 대상의 전체 기기 목록(본문 명시: DIR-815, DIR-825, TEW-632BRP, TV-IP110WN, WR940N 외)도 확인 필요.
4의의
- EF-Fuzz 석사논문을 모체 연구로 삼고, 추가 연구·기법·실험을 더한 후속·확장 공저 논문으로 연구 범위를 넓혔다.
- IoT 프로그램의 구조화된 입력 요구를 실증하고 근본 원인을 규명.
- 정적 분석 기반의 새로운 딕셔너리 생성 알고리즘과 시너지 스케줄링 기법 제안.
- 커버리지를 일급 목표로 삼은 최초의 IoT 펌웨어 그레이박스 퍼저.
- IEEE Access Vol.9(2021)에 게재된 동료 심사 연구로, 석사논문에서 출발한 FIRM-AFL 계열 연구 계보를 확장. (DOI 10.1109/ACCESS.2021.3097807, 오픈 액세스 CC BY 4.0)