Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gustave — GUSTAVEは、組み込みOSカーネル向けのファジングプラットフォームです。QEMUとAFL(およびそのすべてのフォークサーバー関連ツール)に基づいています。OSカーネルをシンプルなアプリケーションのようにファジングすることができます。 | Kitploit
ツール/GitHubGitHub/airbus-seclab/gustave
組み込みシステムセキュリティファジングバイナリ解析
GitHubairbus-seclab/gustave

gustave

GUSTAVEは、組み込みOSカーネル向けのファジングプラットフォームです。QEMUとAFL(およびそのすべてのフォークサーバー関連ツール)に基づいています。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などにみられる大規模で複雑なカーネルをファジングするには最適なツールではないかもしれません。

しかし、ユーザーの操作なしで起動する1つまたは2つのアプリケーションを準備できるターゲットがあるなら、GUSTAVEを試してみる価値があるかもしれません。

どのように動作しますか?

AFLプロジェクトのafl-fuzzツールを使用して、ターゲットを自動的にファジングします。ただし、AFLはOSカーネルを直接ファジングできず、生成されたテストケースをターゲットが直接解析することを期待しています。

簡単に言えば、afl-fuzzはGUSTAVE統合版のQEMUをターゲットとして実行します。そしてGUSTAVEは以下を処理します:

  • forkserver synchronization
  • 生成されたテストケースのターゲットシステムコールへの変換
  • ターゲットカーネルの監視(実行カバレッジとメモリアクセス)

AFL++プロジェクトにあるAFL/QEMUユーザーモードと同様に、GUSTAVEはコードカバレッジのためにQEMU TCG IRレベルのバイナリ計装を実装しています。

ただし、これを無効にして、コードカバレッジ解析の対象を特定の部分のみに限定したターゲットカーネルコードを再構築することもできます。その場合は、ビルド時にAFLシムを注入してトレースビットマップを更新する必要があります。それが当初のアプローチでした(出版物参照)。

既存のソリューションではあまり一般的ではありませんが、GUSTAVEはkernel panicsの監視を気にしません。それらは管理されたエラーとみなし、アラームをトリガーしない不正な動作を発見したいと考えています。

その目的のために、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計装シムのサポートを追加しました。

ターゲットの例

私たちはPOKマイクロカーネル固有の開発を提供します:

  • シンプルなアプリケーションを備えたファームウェア
  • x86/PPC両方のシステムコールABIジェネレータ
  • フィルタリングビットマップ

使い方は?

以下が必要です:

  • AFLをビルドする
  • GUSTAVE統合版QEMUをビルドする
  • フィルタリングビットマップを作成または生成する
  • ターゲット用のJSON設定ファイルを記述する
  • ターミナルで実行する

マニュアルを読んでPOKターゲットの詳細を確認してください。

出版物

GUSTAVEに関するさまざまな講演の資料は、https://airbus-seclab.github.io/ で見つけることができます。

ツールをダウンロード