← 기술 목록으로
Fuzzing
Greybox
AFL
QEMU
DECAF
Process Emulation
IoT Firmware
FIRMADYNE
Static Analysis
MIPS / ARM
0작업자의 메모
이 연구는 “펌웨어를 퍼징했다”보다 실기기 없이 얼마나 깊게 실행시킬 수 있는지를 보는 작업이었습니다. 임베디드 보안에서는 장비 확보와 재현성이 항상 병목이 되기 때문입니다.
실무 포트폴리오와 같이 보면, 보안 데이터를 다루는 감각이 연구에서 출발해 제품 데이터와 운영으로 이어졌다는 배경을 보여줍니다.
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의의
- IoT 프로그램의 구조화된 입력 요구를 실증하고 근본 원인을 규명.
- 정적 분석 기반의 새로운 딕셔너리 생성 알고리즘과 시너지 스케줄링 기법 제안.
- 커버리지를 일급 목표로 삼은 최초의 IoT 펌웨어 그레이박스 퍼저.
- IEEE Access Vol.9(2021)에 게재된 동료 심사 연구로, FIRM-AFL 계열 연구 계보를 확장. (DOI 10.1109/ACCESS.2021.3097807, 오픈 액세스 CC BY 4.0)