IoT/임베디드 기기는 개인정보를 다루며 빠르게 늘어나지만, 기기 종류가 다양해 수작업 취약점 분석은 사실상 불가능하다. 따라서 자동화된 퍼징이 필요하다.
기존 에뮬레이션 기반 임베디드 퍼징(대표적으로 Firm-AFL, USENIX ATC 2019)은 에뮬레이션의 호환성·처리량·속도는 최적화했지만 퍼징 로직 자체는 개선하지 않았다. 그 결과 다음 문제가 남았다.
퍼저가 좁은 경로만 탐색해 코드 커버리지가 낮고 깊은 버그를 놓친다.
변이 연산자(mutation operator) 선택 스케줄러가 일부 연산자만 반복 선택한다.
효과적인 연산자는 프로그램/시드마다 다른데 선택이 무작위라, 실행마다 결과 편차가 크고 잘 고른 연산자 대비 크래시 발견이 적다.
2접근 (한 일)
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)를 도입했다.
3결과 · 성과
호스트(Intel i5-6400 @ 2.7GHz, 8GB RAM, Ubuntu 16.04)에서 라우터/카메라 실제 펌웨어 7종을 대상으로 EF-Fuzz를 Firm-AFL, AFLfast, AFLgo와 비교했다. 각 펌웨어는 24시간 실행 × 10회 반복 평균, 4시간 간격 측정.
7종
실제 라우터/카메라 펌웨어 비교
전 대상 1위
커버리지·크래시 모두 우위
최대 6.4배
경로 탐색(TV-IP110WN, vs AFLgo)
0-day
DIR-825 Rev.B 2.10B02에서 미공개 취약점 발견
커버리지 상위 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) 취약점을 발견. CVE/EDB-ID 부여 여부는 확인 필요(논문은 "unknown vulnerability"로만 기술).
4의의
에뮬레이션만 최적화하던 기존 임베디드 펌웨어 퍼징과 달리, 변이 과정 자체를 개선해 높은 코드 커버리지를 끌어올린 연구다(논문 자체 평가 기준). 확장 CoE 기반 효율적 에너지 할당과 PSO 기반 최적 변이 연산자 선택, Stage-2 진입 타이머는 다른 퍼저에도 재사용 가능한 기법이다.
Firm-AFL(USENIX ATC 2019)을 직접적 기반으로 삼아 처리량·속도를 계승하면서 커버리지 지향 스케줄러를 더한 점에서, FIRM-COV / IoTFirmFuzz로 이어지는 IoT 펌웨어 그레이박스 퍼징 연구 계보 위에 위치한다. 논문이 밝힌 향후 과제는 심볼릭 실행과 퍼저를 결합한 하이브리드 퍼징 방향이다.
발표/디펜스 등 학위 제출일(2020년 12월) 외 세부 일정과 발견 0-day의 CVE 부여 여부는 확인 필요. 지도교수 영문 표기(Joobeom Yun)는 추정값.
★원본 자료
원문(석사학위논문 PDF)은 공개 폴더 외부에 있어 직접 링크하지 않습니다. 학위논문 제목: "결합된 에뮬레이션을 이용한 임베디드 시스템의 효율적인 커버리지 가이드 퍼징 연구" (세종대학교 대학원 정보보호학과, 2020년 12월).