[論文レビュー] Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation
本論文では、Androidアプリの静的マルウェア解析フレームワークAnadroidを提示する。このフレームワークは、プッシュダウン制御フローアナリシス(PDCFA)を用いて正確にインタープロシージャルおよび例外駆動型制御フローをモデル化するとともに、エントリーポイント飽和(EPS)を用いて非同期的で複数のエントリーポイントを持つ実行を音声的に処理する。この手法により、マルウェア検出の正確性が95%に達し、人間と機械による解析時間は1アプリあたり85分から35分に短縮され、従来の有限状態手法を著しく上回る性能を発揮する。
We present Anadroid, a static malware analysis framework for Android apps. Anadroid exploits two techniques to soundly raise precision: (1) it uses a pushdown system to precisely model dynamically dispatched interprocedural and exception-driven control-flow; (2) it uses Entry-Point Saturation (EPS) to soundly approximate all possible interleavings of asynchronous entry points in Android applications. (It also integrates static taint-flow analysis and least permissions analysis to expand the class of malicious behaviors which it can catch.) Anadroid provides rich user interface support for human analysts which must ultimately rule on the "maliciousness" of a behavior. To demonstrate the effectiveness of Anadroid's malware analysis, we had teams of analysts analyze a challenge suite of 52 Android applications released as part of the Auto- mated Program Analysis for Cybersecurity (APAC) DARPA program. The first team analyzed the apps using a ver- sion of Anadroid that uses traditional (finite-state-machine-based) control-flow-analysis found in existing malware analysis tools; the second team analyzed the apps using a version of Anadroid that uses our enhanced pushdown-based control-flow-analysis. We measured machine analysis time, human analyst time, and their accuracy in flagging malicious applications. With pushdown analysis, we found statistically significant (p < 0.05) decreases in time: from 85 minutes per app to 35 minutes per app in human plus machine analysis time; and statistically significant (p < 0.05) increases in accuracy with the pushdown-driven analyzer: from 71% correct identification to 95% correct identification.
研究の動機と目的
- オブジェクト指向的で動的ディスpatchを伴うAndroidアプリケーションにおける、音声的かつ正確な静的解析の課題に対処する。
- スタックベースおよび例外駆動型の制御転送をモデル化する際、従来の有限状態制御フローアナリシスの不正確さと音声的でない点を克服する。
- Androidアプリケーションにおける複数の非同期エントリーポイントの並行実行を、スケーラブルかつ音声的にモデル化する技術を提供する。これは、Androidマルウェア検出における主要な課題である。
- タグント分析と最小権限分析を統合し、機密データの漏洩や権限の乱用を検出することで、悪意ある動作の検出を強化する。
- カスタム述語を用いた標的的な不審行動の点検を可能にする豊富なUIと、人間が関与する解析を可能にする。
提案手法
- プッシュダウンスタックを用いてコール・リターンおよび例外処理コンテキストを追跡することで、プッシュダウン制御フローアナリシス(PDCFA)を採用し、インタープロシージャルな制御フローおよび例外フローを正確にモデル化する。
- 非同期エントリーポイントのすべての入れ替えを音声的に近似するために、反復的に到達可能なエントリーポイントの集合を拡張するエントリーポイント飽和(EPS)を導入する。
- PDCFAを静的タグントフロー分析と統合し、メソッド呼び出しおよび制御フローパスを跨いで機密データの伝搬を追跡する。
- PScoutから得られる権限マップを用いて最小権限分析を組み合わせ、不要な権限を要求するアプリを検出する。
- アナリストがカスタム述語を定義して不審な行動をフィルタリングおよび強調表示できるUIを設計する。
- フレームワークをダルビンバイトコード上で実装し、52個のAndroidアプリから成るDARPA APACチャレンジスイートを用いて評価する。
実験結果
リサーチクエスチョン
- RQ1有限状態抽象化と比較して、プッシュダウン制御フローアナリシス(PDCFA)は、オブジェクト指向的で動的ディスpatchを伴うAndroidアプリケーションにおける静的解析の正確性と音声的正確性を向上させることができるか?
- RQ2エントリーポイント飽和(EPS)は、Androidアプリケーションにおける複数の非同期エントリーポイントに跨る並行実行を、音声的かつスケーラブルに近似できるか?
- RQ3PDCFAとEPSの統合により、マルウェア検出の正確性および解析効率に顕著な改善が見られるか?
- RQ4カスタム述語を用いた人間が関与する解析は、高度にオブスクリューブされたマルウェアの検出をどの程度向上させるか?
- RQ5有限状態制御フローモデルに依存する従来の静的解析ツールと比較して、Anadroidの性能と正確性はどの程度か?
主な発見
- プッシュダウン制御フローアナリシス(PDCFA)の使用により、人間と機械による解析時間は1アプリあたり85分から35分に短縮され、統計的に有意な改善(p < 0.05)が確認された。
- AnadroidのPDCFA対応バージョンを用いることで、マルウェア検出の正確性は71%から95%に向上し、統計的に有意な改善(p < 0.05)が確認された。
- エントリーポイント飽和(EPS)の統合により、非同期的で複数のエントリーポイントを持つ実行の音声的モデル化が可能になり、既存ツールで一般的な音声的でないパスの刈り取りを回避できた。
- PDCFAとEPSの統合により、有限状態モデルが区別できない例外フローおよび複雑な制御転送を正確にモデル化できるようになった。
- フレームワークは、機密性の侵害および権限の乱用の両方を正常に検出でき、特権のないアプリが特権コンポーネントを悪用する事例も含めて検出できた。
- 述語ベースのフィルタリングを備えたツールのUIにより、アナリストは高度にオブスクリューブされたマルウェア行動を効率的に点検でき、実世界の解析における実用性が向上した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。