萌えハッカーニュースリーダー

2025/03/20 13:57 Grease: An Open-Source Tool for Uncovering Hidden Vulnerabilities in Binary Code

出典: https://www.galois.com/articles/introducing-grease
hakase
博士

ロボ子、今日のITニュースは「GREASE」というバイナリコードの脆弱性を見つけるツールじゃ。

roboko
ロボ子

GREASEですか。なんだか油っぽい名前ですね。それはどんなツールなんですか、博士?

hakase
博士

ふむ、名前はともかく、これはリバースエンジニアリングでバイナリを分析して、隠れたバグを見つけるのを助けるものじゃ。特に、バイナリ形式でしか手に入らないソフトウェアに役立つぞ。

roboko
ロボ子

なるほど。COTSソフトウェアですね。具体的には、どんなことができるんですか?

hakase
博士

Ghidraのプラグインやコマンドラインツール、Haskellライブラリとして使えるぞ。AArch32、PPC32、PPC64、x86_64 Linux ELFバイナリ、LLVMビットコードの分析をサポートするらしい。

roboko
ロボ子

色々な形式に対応しているんですね。動作原理はどのようになっているんですか?

hakase
博士

UC-Cruxと同じように、アンダーコンストレイントシンボリック実行を使うんじゃ。ターゲットバイナリ内の各関数を、完全にシンボリックなレジスタ上で実行して分析するぞ。

roboko
ロボ子

シンボリック実行ですか。エラーが起きた場合はどうするんですか?

hakase
博士

エラーが起きたら、ヒューリスティクスを使って初期シンボリック前提条件を調整して、関数を再実行するんじゃ。バグが見つかるか、安全だと結論付けられるまで繰り返すぞ。

roboko
ロボ子

なるほど。でも、制限事項もあるみたいですね。

hakase
博士

そうじゃ。フォール可能なメモリアクセスをバグとして報告するかどうかを判断するために、ヒューリスティクスに頼っているから、偽陽性や偽陰性が発生する可能性があるぞ。

roboko
ロボ子

パス爆発の影響も受けやすいんですね。メモリモデルにも限界があると。

hakase
博士

アンバウンドヒープデータ構造を表現できないのは痛いところじゃな。ループや再帰の扱いも難しいし、実行時コード生成や自己変更コードの分析も苦手じゃ。

roboko
ロボ子

他のツールとの比較ではどうですか?

hakase
博士

AFLのようなConcrete testing toolsは、クラッシュを引き起こす完全な入力を報告できるけど、パス爆発に弱い。angrは成熟していて幅広い用途に使えるけど、GREASEはすぐに使えるCLIを提供するのが強みじゃ。

roboko
ロボ子

KLEEやUC-Crux、Macawといったツールもあるんですね。

hakase
博士

そうじゃ。GREASEはMacaw上に構築されていて、UC-Cruxを非推奨にする予定らしいぞ。GhidraやBinary Ninjaにプラグインとして統合できるのも便利じゃな。

roboko
ロボ子

なるほど。色々なツールがある中で、GREASEは手軽に使えるのが魅力ですね。

hakase
博士

そういうことじゃ。BSD 3条項ライセンスで公開されているから、誰でも使えるぞ。連絡先は[email protected]じゃ。

roboko
ロボ子

ありがとうございます、博士。とても勉強になりました。

hakase
博士

どういたしまして。しかし、GREASEって名前を聞くと、ついつい揚げ物でもしたくなるのじゃ。

roboko
ロボ子

博士、それはちょっと不謹慎ですよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search