[論文レビュー] Adversarial Binaries for Authorship Identification
本論文は、機械学習分類器による著者識別を回避する関数的に同等の正当なバイナリを生成する、画期的な敵対的攻撃フレームワークを提示する。プログラムの特徴(関数呼び出しやシンボルなど)をすばやくバイナリ書き換えすることで、攻撃は非標的攻撃で96%、標的攻撃で46%の成功率を達成し、容易に操作可能なコード特徴に依存する現在の著者識別システムの脆弱性を露呈する。
Binary code authorship identification determines authors of a binary program. Existing techniques have used supervised machine learning for this task. In this paper, we look this problem from an attacker's perspective. We aim to modify a test binary, such that it not only causes misprediction but also maintains the functionality of the original input binary. Attacks against binary code are intrinsically more difficult than attacks against domains such as computer vision, where attackers can change each pixel of the input image independently and still maintain a valid image. For binary code, even flipping one bit of a binary may cause the binary to be invalid, to crash at the run-time, or to lose the original functionality. We investigate two types of attacks: untargeted attacks, causing misprediction to any of the incorrect authors, and targeted attacks, causing misprediction to a specific one among the incorrect authors. We develop two key attack capabilities: feature vector modification, generating an adversarial feature vector that both corresponds to a real binary and causes the required misprediction, and input binary modification, modifying the input binary to match the adversarial feature vector while maintaining the functionality of the input binary. We evaluated our attack against classifiers trained with a state-of-the-art method for authorship attribution. The classifiers for authorship identification have 91% accuracy on average. Our untargeted attack has a 96% success rate on average, showing that we can effectively suppress authorship signal. Our targeted attack has a 46% success rate on average, showing that it is possible, but significantly more difficult to impersonate a specific programmer's style. Our attack reveals that existing binary code authorship identification techniques rely on code features that are easy to modify, and thus are vulnerable to attacks.
研究の動機と目的
- 攻撃者の視点から、バイナリコードの著者識別システムに対する敵対的攻撃の可能性を調査すること。
- 構造的整合性とステルス性を維持しながら、著者分類器を回避する関数的に同等のバイナリを生成するフレームワークを開発すること。
- テスト時における敵対的例に対して、最先端の著者識別技術の頑健性を評価すること。
- 関数呼び出しやシンボルといった、よく用いられる著者識別特徴のうち、容易に操作可能なものが、なぜ脆弱であるかを特定すること。
- 現在の分類器が壊れやすく変更可能な特徴に依存しているため、回避攻撃に対して脆弱であることを実証すること。
提案手法
- 攻撃フレームワークは、主に2段階からなる:特徴ベクトルの変更と、入力バイナリの変更。
- 特徴ベクトルの変更は、実際のバイナリに対応する敵対的特徴ベクトルを生成し、分類器を標的の著者または誤った著者に誤分類させる。
- 入力バイナリの変更は、Dyninstバイナリ書き換えフレームワークを用いて、敵対的特徴ベクトルと一致するが元の機能を保持する新しいバイナリを生成する。
- 攻撃は、小さな局所的変更を優先し、複数回の攻撃実行で多様性を確保することで、ハッシュベースの検出を回避する点に重点を置いている。
- フレームワークは、ターゲット分類器および学習データについて完全な知識を持つことを前提としており、強力な攻撃者モデルを模擬している。
- 実際のバイナリと特徴相関分析を用いて、最先端の著者識別手法で学習された分類器に対して攻撃を評価している。
実験結果
リサーチクエスチョン
- RQ1関数的整合性を保ちつつ、分類器を回避できるバイナリコードの著者識別に対する敵対的例を生成できるか?
- RQ2非標的攻撃では、バイナリを任意の誤った著者に誤分類させるという目的で、攻撃はどの程度効果的か?
- RQ3標的攻撃では、バイナリを特定の誤った著者に誤分類させるのはどの程度困難か?
- RQ4現在の著者識別システムで最も操作されやすい特徴は何か?
- RQ5敵対的バイナリにおけるステルス性と多様性は、ハッシュベースの検出手法による検出可能性をどの程度低減するか?
主な発見
- 非標的攻撃は平均96%の成功率を達成し、敵対的変更によって著者信号を効果的に抑制できることを示した。
- 標的攻撃は平均46%の成功率を達成し、特定のプログラマーのスタイルを模倣することははるかに困難であることが示された。
- 攻撃フレームワークは、元のバイナリと構造的に類似した関数的に同等のバイナリを効果的に生成し、多様性と局所的変更によって検出を回避した。
- 結果から、現在の著者識別システムが関数呼び出し、シンボル、命令など、容易に偽造や改ざんが可能な特徴に依存していることが明らかになった。これは、テスト時攻撃に対して脆弱であることを示している。
- 変更されたバイナリにDyninstの痕跡が残っているからといって、必ずしも改ざんを示すわけではない。なぜなら、Dyninstは通常のアプリケーションでも広く使われているため、攻撃のステルス性が向上する。
- 著者識別におけるより頑健な特徴選択の必要性が強調され、生成された例を用いた敵対的再訓練によって分類器のセキュリティが向上する可能性が示唆された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。