Skip to main content
QUICK REVIEW

[論文レビュー] Algorithmic Diversity for Software Security

Michael Stewart|arXiv (Cornell University)|Dec 13, 2013
Security and Verification in Computing参考文献 5被引用数 3
ひとこと要約

本稿では、ソフトウェアセキュリティにおけるアルゴリズム的多様性のための決定的コンパイル時アルゴリズムを提案する。パターンベースのNOP挿入を用いて、実行可能コードの多様で安全なバリアントを生成する。最小限のパフォーマンスコスト(4%のオーバーヘッド)と低いメモリボラティリティを実現し、高いエントロピー(15,010)を達成。ランダムまたはパディングのみの手法よりも優れており、セキュリティ、パフォーマンス、リソース使用量の間で調整可能なトレードオフを可能にする。

ABSTRACT

Software diversity protects against a modern-day exploits such as code-reuse attacks. When an attacker designs a code-reuse attack on an example executable, it relies on replicating the target environment. With software diversity, the attacker cannot reliably replicate their target. This is a security benefit which can be applied to massive-scale software distribution. When applied to large-scale communities, an invested attacker may perform analysis of samples to improve the chances of a successful attack (M. Franz). We present a general NOP-insertion algorithm which can be expanded and customized for security, performance, or other costs. We demonstrate an improvement in security so that a code-reuse attack based on any one variant has minimal chances of success on another and analyse the costs of this method. Alternately, the variants may be customized to meet performance or memory overhead constraints. Deterministic diversification allows for the flexibility to balance these needs in a way that doesn't exist in a random online method.

研究の動機と目的

  • 大規模なソフトウェア配布におけるオンラインでランダムな多様化の限界を解消するため、決定的コンパイル時アプローチを導入すること。
  • 攻撃者が異なるソフトウェアバリアント間でガジェットの位置を信頼性高く予測できるのを減らすこと。
  • 多様化されたソフトウェアコミュニティにおけるセキュリティ、パフォーマンス、メモリオーバーヘッドの間で調整可能なトレードオフを可能にすること。
  • 攻撃者による不確実性を反映するエントロピー指標を用いて多様性を評価し、成功するコード再利用攻撃の確率を低減すること。
  • 決定的でパターンベースのNOP挿入が、ランダムまたはパディングのみの手法よりも多様性と効率性において優れていることを実証すること。

提案手法

  • 決定的多様化アルゴリズムをコンパイル時に適用し、配布前に固定された多様なバリアントのセットを生成する。
  • パターンベースのNOP挿入(構造的で一様でないパターンにNOPを挿入)を用いることで、エントロピーを向上させ、バリアント間でのガジェット被覆を低減する。
  • 多様化と配布を分離し、実行時条件に依存しない一貫性があり再現可能なバリアント生成を可能にする。
  • エントロピーは攻撃者による不確実性の尺度として計算され、P(c)は同じ位置に機能的に同等のガジェットが他のバリアントに存在する確率を表す。
  • ガジェット被覆、ファイルサイズ、パフォーマンスオーバーヘッドの観点から、複数の変換タイプ(例:NOP05、NOP50、NOP100)を用いてバリアントを比較する。
  • パフォーマンスとファイルサイズは、標準化されたベンチマークを用いて50個の多様化されたSQLite 3.6.9バイナリで測定された。

実験結果

リサーチクエスチョン

  • RQ1決定的でコンパイル時の多様化は、ランダムでオンラインの多様化よりも、安全なソフトウェアバリアントの生成において優れているか?
  • RQ2パディングのみまたはランダム挿入と比較して、パターンベースのNOP挿入はエントロピーをどれほど向上させ、ガジェット被覆をどれほど低減するか?
  • RQ3コンパイル時多様化ソフトウェアにおける、多様性レベルの増加に伴うパフォーマンスオーバーヘッドとメモリコストはどのようにスケーリングするか?
  • RQ4この手法は、多様性を損なわず、セキュリティ、パフォーマンス、リソース制約のバランスを調整可能か?
  • RQ5多様性指標(例:エントロピー)と成功するコード再利用攻撃の確率との間にどのような関係があるか?

主な発見

  • パターンベースのNOP挿入は、わずか4%のパフォーマンスオーバーヘッドと15%のファイルサイズ増加で15,010のエントロピースコアを達成し、パディングのみの手法を上回った。
  • パディングのみの手法は最高のエントロピー(15,019)を達成したが、2%のパフォーマンス向上と、元のサイズよりわずかに少ないディスク容量を要した。
  • コンパイル時NOP100挿入は32.18%のファイルサイズオーバーヘッドと6.069%のパフォーマンスオーバーヘッドを引き起こし、高頻度の挿入ではリターンの逓減が顕著になった。
  • パターンベース手法は50バリアントのコミュニティで600個のユニークなガジェットを生成し、最小限のパフォーマンスコストと高い多様性を実現した。
  • ノイズベースのNOP挿入は11.31%のファイルサイズオーバーヘッドと8.256%のパフォーマンスコストを示し、わずかな多様性向上に対して高いコストを要した。
  • この手法はチューナブルな多様性を可能にする:パッドサイズやノイズ率を低下させることで、低いコストで高いエントロピーを維持可能であり、最適化の可能性を示唆している。

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

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

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

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