EF-Fuzz: 결합된 에뮬레이션 기반 임베디드 퍼징 (석사학위논문)
실제 펌웨어를 대상으로 커버리지와 크래시 탐지를 개선한 석사학위 연구입니다.
작업 요약
EF-Fuzz 석사학위논문 · 후속 FIRM-COV 연구로 확장
변이 스케줄러를 바꿔 펌웨어 탐색 경로를 늘렸습니다
이 석사논문에서는 펌웨어 퍼징의 변이 스케줄러를 개선했고, 이후 FIRM-COV 연구로 이어졌습니다. 실제 펌웨어를 대상으로 경로 탐색 수와 크래시 재현 결과가 어떻게 달라지는지 비교했습니다.
EF-Fuzz에서 다룬 문제와 방법은 뒤의 공저 연구에서 추가 기법과 실험으로 보완되어 FIRM-COV 후속·확장 논문으로 발전했습니다.
문제
IoT/임베디드 기기는 개인정보를 다루며 빠르게 늘어나지만 기기 종류가 다양해 수작업 취약점 분석은 사실상 불가능하다. 따라서 자동화된 퍼징이 필요하다.
기존 에뮬레이션 기반 임베디드 퍼징(대표적으로 Firm-AFL, USENIX ATC 2019)은 에뮬레이션의 호환성·처리량·속도는 최적화했지만 퍼징 로직 자체는 개선하지 않았다. 그 결과 다음 문제가 남았다.
- 퍼저가 좁은 경로만 탐색해 코드 커버리지가 낮고 깊은 버그를 놓친다.
- 변이 연산자(mutation operator) 선택 스케줄러가 일부 연산자만 반복 선택한다.
- 효과적인 연산자는 프로그램/시드마다 다른데 선택이 무작위라, 실행마다 결과 편차가 크고 잘 고른 연산자 대비 크래시 발견이 적다.
접근 (한 일)
Firm-AFL의 결합된 에뮬레이션(전체 시스템 모드 + 사용자 모드 QEMU)을 재사용해 호환성과 처리량을 유지하고 그 위에 AFL 변이 기반 시드 생성 스케줄러를 강화하는 EF-Fuzz를 제안했다.
- Efficient Energy Allocation Scheduler — 기존 그레이박스 에너지 할당(Cut-off Exponential, CoE)은 지수적으로 커져 선택 시드가 대부분의 시간을 Stage 1(6개 연산자)에 머물고 Stage 2에 거의 도달하지 못한다. 새로 생성된 시드 수에 반비례해 에너지를 더 적게 할당하는 확장 CoE를 적용해 Stage 1 체류를 줄이고 빠르게 Stage 2로 진입시켜 더 많은 종류의 연산자를 사용해 새로운 경로를 탐색한다.
- Optimized Mutator Scheduler (맞춤형 PSO) — Kennedy & Eberhart의 입자 군집 최적화(PSO)를 퍼징에 맞게 변형. 각 Stage 2 연산자를 입자(particle)로 보고 Local Swarm/Local Best Particle, Global Swarm/Global Best Particle로 관리한다. 고정 에너지 E 동안 각 연산자가 만든 시드가 새 블록/크래시를 얼마나 많이 만들었는지로 점수를 매기고 확률을 실시간 정규화·갱신해 효과적인 연산자의 우선순위를 높인다.
- Stage-2 진입 타이머 ('L' 옵션) — 장시간 실행 시 에너지가 다시 커져 Stage 1에 갇히는 문제를 막기 위해 정해진 시간 안에 새 경로를 못 찾으면 Stage 2로 강제 진입시키는
L <분>파라미터(예:L 10)를 도입했다.
결과 · 성과
호스트(Intel i5-6400 @ 2.7GHz, 8GB RAM, Ubuntu 16.04)에서 라우터/카메라 실제 펌웨어 7종을 대상으로 EF-Fuzz를 Firm-AFL, AFLfast, AFLgo와 비교했다. 각 펌웨어는 24시간 실행 × 10회 반복 평균, 4시간 간격 측정.
- 커버리지 상위 2개는 Efficient Energy Allocation을 쓰는 AFLfast와 EF-Fuzz로 하위 2개보다 약 2~3배 앞섰고, 그중에서도 Optimized Mutator Scheduler 덕분에 EF-Fuzz가 AFLfast를 앞섰다.
- 커버리지 격차 최대: TV-IP110WN에서 최하위(AFLgo) 대비 약 6.4배, Firm-AFL 대비 약 4.1배 더 많은 경로 탐색.
- 커버리지 격차 최소: DIR-815에서 비교 대상 대비 약 2.5배.
- 크래시: 모든 펌웨어에서 EF-Fuzz가 1위. 크래시 격차 최대는 DIR-817(LW)로 Firm-AFL 대비 약 2.2배, 최소는 DIR-815로 AFLfast 대비 약 0.8배(논문 표기 그대로).
- 7종 외 추가 실험에서 DIR-825 Rev.B 2.10B02의 미공개(0-day) 취약점을 발견(논문은 "unknown vulnerability"로 기술).
의의
에뮬레이션만 최적화하던 기존 임베디드 펌웨어 퍼징과 달리, 변이 과정 자체를 개선해 코드 커버리지를 높인 연구다(논문 자체 평가 기준). 확장 CoE 기반 효율적 에너지 할당과 PSO 기반 최적 변이 연산자 선택, Stage-2 진입 타이머는 다른 퍼저에도 재사용 가능한 기법이다.
이 석사논문은 FIRM-COV의 모체 연구다. Firm-AFL(USENIX ATC 2019)의 처리량·속도를 계승하면서 커버리지 지향 스케줄러를 더한 EF-Fuzz 연구가, 이후 추가 연구·기법·실험을 보완한 FIRM-COV 후속·확장 공저 논문으로 발전했다. 논문이 밝힌 향후 과제는 심볼릭 실행과 퍼저를 결합한 하이브리드 퍼징 방향이다.
원본 자료
학위논문 제목: "결합된 에뮬레이션을 이용한 임베디드 시스템의 효율적인 커버리지 가이드 퍼징 연구" (세종대학교 대학원 정보보호학과, 지도교수 윤주범). 원문은 RISS에서 확인할 수 있습니다 — RISS 학위논문 상세 ↗
🔬 펌웨어 보안 연구 시리즈 ② — ① UART 펌웨어 획득 · ③ IoTFirmFuzz 등록특허 · ④ IoTHybridFuzzer 특허 · ⑤ FIRM-COV 논문
근거 자료
아래 기록에 근거해 정리했습니다. 내부 원문 경로를 표시하며, 비공개 원문 파일은 이 페이지에서 제공하지 않습니다.
ai/sources/academic/2021-portfolio-extract.mdai/wiki/academic/master-thesis.md