Skip to main content
QUICK REVIEW

[論文レビュー] Analyzing the Gadgets Towards a Metric to Measure Gadget Quality

Andreas Follner, Alexandre Bartel|arXiv (Cornell University)|May 26, 2016
Security and Verification in Computing参考文献 14被引用数 4
ひとこと要約

本論文は、ROPのようなコード再利用攻撃のための標準化された評価が不足している問題に取り組み、バイナリコードにおけるガジェット品質を評価するための4つの新しい指標を提案する。Intel MPX保護付きバイナリに適用した結果、有用なガジェットが17%増加していることが判明し、MPXがセキュリティの意図とは裏腹に攻撃の可能性を増大させる可能性があることが示された。

ABSTRACT

Current low-level exploits often rely on code-reuse, whereby short sections of code (gadgets) are chained together into a coherent exploit that can be executed without the need to inject any code. Several protection mechanisms attempt to eliminate this attack vector by applying code transformations to reduce the number of available gadgets. Nevertheless, it has emerged that the residual gadgets can still be sufficient to conduct a successful attack. Crucially, the lack of a common metric for "gadget quality" hinders the effective comparison of current mitigations. This work proposes four metrics that assign scores to a set of gadgets, measuring quality, usefulness, and practicality. We apply these metrics to binaries produced when compiling programs for architectures implementing Intel's recent MPX CPU extensions. Our results demonstrate a 17% increase in useful gadgets in MPX binaries, and a decrease in side-effects and preconditions, making them better suited for ROP attacks.

研究の動機と目的

  • バイナリコードにおけるガジェット品質を評価するための標準化された指標の欠如に取り組むこと、特にROPベースの攻撃を想定する。
  • コンパイラ最適化やエクスプロイト対策技術などのバイナリ変換のセキュリティ的影響を比較できるようにすること。
  • IntelのMPXのような対策技術が、ガジェット品質を変えることによって実際に攻撃表面を減少させるのか、それとも増加させるのかを評価すること。
  • 多様なエクスプロイトシナリオにわたるガジェットの実用性を評価するための実用的でツール支援の整ったフレームワークを提供すること。
  • 既存の指標が単にガジェット数の削減に依存しているため、現実世界のエクスプロイト可能性を評価するには不十分であることを示すこと。

提案手法

  • 実世界のエクスプロイトシナリオ(任意のコード実行、情報漏洩)に基づく2つの指標と、一般用途向けの2つの指標(ガジェットの多様性と実用性)を定義し、ガジェット品質を評価する。
  • 実際のエクスプロイト開発の課題を反映するように、前提条件、副作用、命令数といったエクスプロイトの主要な特性を評価する指標を設計する。
  • GaLityと呼ばれるオープンソースのツールを実装し、バイナリセットにおけるガジェット品質分析を自動化する。
  • IntelのMPX(メモリ保護拡張機能)でコンパイルされたバイナリを対象とした事例研究に、指標を適用し、8つの代表的なx64 Windowsバイナリ間でガジェットセットを比較する。
  • 静的解析を用いてガジェットを抽出し、レジスタ保持や制御フロー整合性の条件付きチェックを含め、エクスプロイトの関連性に基づいてスコアを付与する。
  • 定義された指標を用いて、MPX有効バイナリと非MPXバイナリを比較することで、ガジェット品質の変化を定量的に評価する。

実験結果

リサーチクエスチョン

  • RQ1既存のガジェット削減指標は、残存ガジェットの真のエクスプロイト可能性をどれほど正しく捉えていないのか?
  • RQ2エクスプロイト対策技術によるバイナリ変換が、利用可能なガジェットの品質と実用性にどのように影響するのか?
  • RQ3バッファオーバーフローを防止することを目的としたIntelのMPXは、実際に利用可能なROPガジェットの数と品質を増加させているのか?
  • RQ4単なる数の削減を超えて、現実世界のエクスプロイト可能性を正確に反映する標準化された多次元指標は可能なのか?
  • RQ5特定のエクスプロイトシナリオ(例:任意のコード実行、情報漏洩)は、ガジェット品質の評価にどのように影響を与えるのか?

主な発見

  • MPX有効バイナリでは、非MPXバイナリと比較して、有用なガジェットが17%増加している。これは、攻撃表面が明確に拡大していることを示している。
  • MPXバイナリ内のガジェットは副作用が少なく、前提条件も少ないため、MPXの意図とは裏腹に、ROPチェーンに実用的である。
  • 既存の指標(例:DAIR:動的平均間接ターゲット削減)は、ガジェットの品質や実用性を考慮していないため、不十分であることが明らかになった。
  • MPXは間接ジャンプの数を減らすが、残存ガジェットは非変更バイナリと比較して品質が高く、攻撃に適している。
  • 一部の対策技術が、ガジェット品質を向上させることで意図せずセキュリティを低下させる可能性があることが示され、品質に配慮した評価の必要性が浮き彫りになった。
  • 実装されたツールGaLityは、多様なバイナリおよび変換手法にわたるガジェットセットの自動的かつ再現可能な評価を可能にした。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。