[論文レビュー] Improving Dynamic Analysis of Android Apps Using Hybrid Test Input Generation
本論文は、Android Monkeyのランダム入力生成とDroidBotの状態ベーステストを組み合わせたハイブリッドテスト入力生成フレームワークを提案し、実デバイス上でのAndroidアプリの動的解析を改善する。このアプローチは、コードカバレッジと動的機能抽出(特にAPIコールとインテンツ)を顕著に向上させ、悪意ある動作の検出において、単独でのランダム法や状態ベース法を上回る性能を示した。
The Android OS has become the most popular mobile operating system leading to a significant increase in the spread of Android malware. Consequently, several static and dynamic analysis systems have been developed to detect Android malware. With dynamic analysis, efficient test input generation is needed in order to trigger the potential run-time malicious behaviours. Most existing dynamic analysis systems employ random-based input generation methods usually built using the Android Monkey tool. Random-based input generation has several shortcomings including limited code coverage, which motivates us to explore combining it with a state-based method in order to improve efficiency. Hence, in this paper, we present a novel hybrid test input generation approach designed to improve dynamic analysis on real devices. We implemented the hybrid system by integrating a random based tool (Monkey) with a state based tool (DroidBot) in order to improve code coverage and potentially uncover more malicious behaviours. The system is evaluated using 2,444 Android apps containing 1222 benign and 1222 malware samples from the Android malware genome project. Three scenarios, random only, state-based only, and our proposed hybrid approach were investigated to comparatively evaluate their performances. Our study shows that the hybrid approach significantly improved the amount of dynamic features extracted from both benign and malware samples over the state-based and commonly used random test input generation method.
研究の動機と目的
- 動的マルウェア解析におけるランダムベースのテスト入力生成の限界に対処する。これは、しばしば低いコードカバレッジに終わり、隠れた悪意ある動作を発動できない原因となる。
- Monkeyのような既存のツールの欠点を克服する。これらは、USBデバッグの無効化など、意図しないシステム状態を引き起こす可能性があり、DroidBotはまれなまたは複雑なUI遷移を逃す可能性がある。
- ランダム法と状態ベース法の両方のテスト戦略の長所を統合することで、実デバイス上での動的解析の効率性と有効性を向上させる。
- ゼロデイやオブスカレートされたAndroidマルウェアを検出するために不可欠な、APIコールやインテンツなどの動的機能をより包括的にログ記録することを可能にする。
- エミュレータの制限を回避し、エミュレーション回避を試みるマルウェアに対処できる、実用的でインストルメンテーション不要のフレームワークを提供する。大規模な自動化された実デバイス上での動的解析を実現する。
提案手法
- 実Androidデバイス上での動的解析を目的として、ランダムベースの入力生成ツールであるAndroid Monkeyと、状態ベースのUIテストツールであるDroidBotを統合し、統一されたハイブリッドテストフレームワークを構築する。
- Monkeyを用いて、タッチ、スワイプ、キーボード入力などの擬似ランダムなユーザーイベントを生成し、広範かつ予測不可能なUIパスを探索し、隠れた動作を発動させる。
- DroidBotのモデルベースアプローチを用いて、UI状態と遷移を体系的に探索し、既知で予想されるアプリケーションフローをカバーする。
- 両者の出力を調整された形で統合し、安定性とカバレッジの向上を図るために、状態ベースの探索を優先するとともに、エッジケースの調査にランダム入力を活用する。
- 実行中にすべてのAPIコールとインテンツをログ記録し、マルウェア検出や動作分析に役立つ動的機能を抽出する。
- 実デバイスを用いて、Androidマルウェアゲノムプロジェクトから得た2,444個の実アプリ(1,222個の良性、1,222個のマルウェア)を対象に、ハイブリッドアプローチを評価し、実用的 relevance を確保する。
実験結果
リサーチクエスチョン
- RQ1ランダムベースと状態ベースのテスト入力生成を組み合わせることで、単独で使用する場合と比較して、Androidアプリの動的解析におけるコードカバレッジが向上するか?
- RQ2実デバイス上でのハイブリッドアプローチは、単独でのランダム法や状態ベース法と比較して、より多くの動的機能(特にAPIコールとインテンツ)を抽出できるか?
- RQ3特定のUI条件でのみ発動するマルウェア動作を、ハイブリッド法がどの程度効果的に検出できるか?特に、複雑なUIインタラクションの背後に隠された悪意ある動作の発動確率が向上するか?
- RQ4エミュレータとは異なり、実デバイス上での実用的評価において、ハイブリッドアプローチは安定性、カバレッジ、機能抽出の観点でどの程度の性能を示すか?
- RQ5オブスカレートされたり、分析回避を試みるAndroidマルウェアにおいて、従来のテスト戦略を回避するような悪意ある動作を、ハイブリッド法が効果的に発動できるか?
主な発見
- ハイブリッドアプローチは、両方の単独手法(Monkey:ランダムのみ、DroidBot:状態ベースのみ)と比較して、良性およびマルウェアの両サンプルにおいて顕著に高いコードカバレッジを達成した。
- ハイブリッド手法は、個別の手法よりも多くのユニークなAPIコールとインテンツを抽出したため、動的機能の発見能力が向上していることが示された。
- 本研究では、ランダム法と状態ベース法を組み合わせることで、複雑なUIインタラクションの背後に隠された悪意ある動作を発動させる可能性が高まることを実証した。
- ハイブリッドフレームワークは、エミュレータベースのツールで一般的に見られる不安定さや設定問題を回避し、実デバイス上での高いカバレッジを達成した。
- 結果から、ハイブリッドアプローチは、悪意ある実行時動作を観測する確率を高めることで、マルウェア検出のための動的解析の有効性を向上させると示唆された。
- このフレームワークは、Androidフレームワークのインストルメンテーションやエミュレータ固有の設定を必要としないため、実世界の環境でも実用的かつ導入可能である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。