Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gustave — GUSTAVE는 임베디드 OS 커널을 위한 퍼징 플랫폼입니다. QEMU와 AFL(및 그 forkserver 계열 모두)을 기반으로 합니다. OS 커널을 간단한 애플리케이션처럼 퍼징할 수 있습니다. | Kitploit
도구/GitHubGitHub/airbus-seclab/gustave
Embedded Systems SecurityFuzzingBinary Analysis
GitHubairbus-seclab/gustave

gustave

GUSTAVE는 임베디드 OS 커널을 위한 퍼징 플랫폼입니다. QEMU와 AFL(및 그 forkserver 계열 모두)을 기반으로 합니다. OS 커널을 간단한 애플리케이션처럼 퍼징할 수 있습니다.

저장소 보기
203215년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

(c) Airbus 2021, sduverger

GUSTAVE - 임베디드 OS 커널 퍼저

무엇인가요?

GUSTAVE는 임베디드 OS 커널을 위한 퍼징 플랫폼입니다. QEMU와 AFL(그리고 모든 forkserver 관련 도구들)을 기반으로 합니다. OS 커널을 간단한 애플리케이션처럼 퍼징할 수 있습니다.

QEMU 덕분에 멀티 플랫폼입니다. GUSTAVE는 QEMU 내부의 AFL forkserver 구현체로, 세밀한 대상 검사 기능을 제공합니다.

지원되는 커널은 무엇인가요?

GUSTAVE는 주로 임베디드 OS 커널을 대상으로 설계되었습니다. Windows, Linux 또는 macOS와 같은 대규모 복잡한 커널을 퍼징하기에는 최적의 도구가 아닐 수 있습니다.

하지만 사용자 상호작용 없이 부팅할 수 있는 하나 또는 두 개의 애플리케이션으로 준비할 수 있는 타겟이 있다면 GUSTAVE를 시도해보는 것이 흥미로울 수 있습니다.

어떻게 작동하나요?

AFL 프로젝트의 afl-fuzz 도구를 사용하여 타겟을 자동으로 퍼징합니다. 그러나 AFL은 OS 커널을 직접 퍼징할 수 없으며, 타겟이 생성된 테스트 케이스를 직접 파싱하기를 기대합니다.

간단히 말하면, afl-fuzz는 GUSTAVE가 통합된 QEMU를 타겟으로 실행합니다. 그러면 GUSTAVE가 다음을 처리합니다:

  • 포크서버 동기화
  • 생성된 테스트 케이스를 타겟 시스템 콜로 변환
  • 타겟 커널 모니터링 (실행 커버리지 및 메모리 접근)

AFL++ 프로젝트의 AFL/QEMU-user 모드와 같이, GUSTAVE는 코드 커버리지를 위해 QEMU TCG IR 수준의 바이너리 계측을 구현합니다.

그러나 이를 비활성화하고 코드 커버리지 분석 대상이 되는 특정 부분만 선택하여 타겟 커널 코드를 다시 빌드할 수 있습니다. 하지만 빌드 시 트레이스 비트맵을 업데이트하기 위해 AFL 심(shim)을 삽입해야 합니다. 이것이 초기 접근 방식이었습니다 (출판물 참조).

기존 솔루션에서는 드물지만, GUSTAVE는 커널 패닉 모니터링에 신경 쓰지 않습니다. 이를 관리된 오류로 간주하고, 어떤 경고도 발생시키지 않는 불법 동작을 발견하고자 합니다.

이를 위해 GUSTAVE는 O(1) 바이트 지향 메모리 필터링 비트맵을 사용하여 커널의 불법 접근을 탐지합니다. 커널 관점에서 무엇을 불법으로 간주할지에 대한 큰 논쟁이 있을 수 있습니다. 그러나 제한된 임베디드, 고도로 결정론적인 환경에서는 펌웨어에 대한 합법적인 메모리 영역을 정의하고 경계를 벗어난 접근을 추적하는 것이 편안할 수 있습니다.

기존 솔루션과 어떻게 비교되나요?

다음과 같은 유사한 접근 방식이 존재합니다:

  • PowerFL
  • Project Triforce
  • afl-unicorn
  • kAFL

GUSTAVE의 설계 선택은 다음과 같은 차이점을 의미합니다:

  • QEMU가 지원하는 한 대상에 구애받지 않음 (OS, 아키텍처)
  • 타겟 커널에 구현된 모든 시스템 콜을 다룸
  • 타겟 내부에 특별한 개발이 필요 없음

그러나 여전히 GUSTAVE에 다음을 알려야 합니다:

  • 타겟이 시스템 콜을 처리하는 방법
  • 타겟의 합법적인 메모리 레이아웃

현재 상태는?

호스트 하드웨어

현재는 x86 호스트만 지원됩니다. 많은 작업 환경이 이 아키텍처를 기반으로 하므로 제한적인 제약으로 간주하지 않습니다.

이 제한은 QEMU 로드/스토어 고속 경로를 위해 tcg-target 수준에서 메모리 필터링 백엔드를 처음 구현한 방식에서 비롯됩니다. 최근 TCGPlugin 메모리 콜백 아키텍처는 모든 호스트를 지원하는 대안이 될 수 있습니다.

게스트 하드웨어

Intel x86 및 PowerPC 지원을 구현하고 테스트했습니다. GUSTAVE 구현은 아키텍처에 독립적입니다. QEMU로 타겟을 실행할 수 있다면, 약간의 노력으로 GUSTAVE로 퍼징할 수 있습니다.

GUSTAVE가 통합된 예제 Intel 440FX 및 PowerPC PREP 보드를 제공합니다. 자신만의 보드 구현은 매우 쉬우며, 특정 아키텍처에 대해 MACHINE_INIT 함수를 래핑하는 것으로 구성됩니다.

TCG 바이너리 계측을 진행하고 싶지 않은 경우를 대비하여 afl-gcc에 x86 및 PowerPC GUSTAVE 계측 심(shim) 지원도 추가했습니다.

예제 타겟

POK 마이크로커널 특화 개발을 제공합니다:

  • 간단한 애플리케이션이 포함된 펌웨어
  • x86/PPC용 시스템 콜 ABI 생성기
  • 필터링 비트맵

사용 방법은?

다음이 필요합니다:

  • AFL 빌드
  • GUSTAVE 통합 QEMU 빌드
  • 필터링 비트맵 생성 또는 생성
  • 타겟에 대한 JSON 구성 파일 작성
  • 터미널에서 실행

POK 타겟에 대한 매뉴얼을 읽어보세요.

출판물

GUSTAVE에 대한 다양한 발표 자료는 https://airbus-seclab.github.io/에서 확인할 수 있습니다.

도구 다운로드