[論文レビュー] Android Malware Detection using Markov Chain Model of Application Behaviors in Requesting System Services
本稿では、システムサービス要求のマルコフ連鎖を用いてアプリケーション動作をモデル化する軽量なホストベースのAndroidマルウェア検出システム、ServiceMonitorを提案する。細分化されたサービスアクセスパターンをランダムフォレストを用いて分類することで、モバイルデバイス上で最小限のパフォーマンスオーバーヘッドで96%の精度を達成する。
Widespread growth in Android malwares stimulates security researchers to propose different methods for analyzing and detecting malicious behaviors in applications. Nevertheless, current solutions are ill-suited to extract the fine-grained behavior of Android applications accurately and efficiently. In this paper, we propose ServiceMonitor, a lightweight host-based detection system that dynamically detects malicious applications directly on mobile devices. ServiceMonitor reconstructs the fine-grained behavior of applications based on a novel systematic system service use analysis technique. Using proposed system service use perspective enables us to build a statistical Markov chain model to represent what and how system services are used to access system resources. Afterwards, we consider built Markov chain in the form of a feature vector and use it to classify the application behavior into either malicious or benign using Random Forests classification algorithm. ServiceMonitor outperforms current host-based solutions with evaluating it against 4034 malwares and 10024 benign applications and obtaining 96\% of accuracy rate and negligible overhead and performance penalty.
研究の動機と目的
- Binder IPCメカニズムのおかげで、システムコールレベルの分析に依存する従来のホストベースのマルウェア検出システムでは、Android上で意味のある動作を捉えることが困難であるという限界に対処する。
- オブスクリューションの影響を受けることやネイティブコードやランタイムロードコンポonentの分析ができないという静的解析の欠点を克服する。
- セマンティックレベルのシステムサービス使用パターンを用いて、直接モバイルデバイス上で動作する、動的で軽量かつ高精度な検出フレームワークを開発する。
- 行動シーケンスをマルコフ連鎖としてモデル化することで、ルート化されたAndroidデバイス上での効果的なマルウェア検出を可能にする。
- システムサービスの相互作用を体系的に分析することで、アプリケーションの高レベルな行動的意味を捉えることにより、検出精度を向上させる。
提案手法
- Binder IPCメカニズムを介してシステムサービスへのすべてのリクエストを動的に監視・ログ記録するカスタムモジュールをAndroidカーネルに組み込む。
- アプリケーション実行中にシステムサービスにアクセスする関数呼び出しのシーケンス(例:getService、getRunningAppProcesses)を抽出する。
- 各状態を特定のシステムサービス関数、遷移をアクセス順序として表す1次マルコフ連鎖として、システムサービスリクエストのシーケンスをモデル化する。
- マルコフ連鎖を、分類に使用するための遷移確率とサービスアクセス頻度を符号化した特徴ベクトルに変換する。
- ラベル付きデータセットを用いて、特徴ベクトルを訓練し、悪意あるアプリケーションと良性アプリケーションを区別するランダムフォレスト分類器を学習する。
- 外部クラウドサービスに依存せずに、リアルタイムのデバイス内行動分析を可能にするために、ルート化されたAndroidデバイスにシステムをデプロイする。
実験結果
リサーチクエスチョン
- RQ1Androidにおけるアプリケーション動作の微細な側面を表現するため、システムサービス使用パターンをマルコフ連鎖として効果的にモデル化できるか?
- RQ2低レベルのシステムコールを越えて、システムサービスレベルでの行動モデリングは、デバイス内マルウェア検出の精度を向上させるか?
- RQ3軽量なホストベースの検出システムは、モバイルデバイス上で最小限のパフォーマンスオーバーヘッドを維持しながら高い精度を達成できるか?
- RQ4悪意あるアプリケーションと良性アプリケーションの間で、システムサービスアクセスパターン(頻度、多様性、順序)にどのような差が生じるか?
- RQ5本手法は、従来のシステムコールベース分析を回避する高度なマルウェアファミリーをどの程度効果的に検出できるか?
主な発見
- ServiceMonitorは、4,034個のマルウェアサンプルと10,024個の良性アプリケーションを含むデータセットを評価した結果、96%の検出精度を達成した。
- 悪意あるアプリケーションは実行中に平均38件のシステムサービスリクエストを行ったのに対し、良性アプリケーションは12件未満であったため、サービス利用度が著しく高いことが示された。
- 17%のマルウェアサンプルが通話サービスにアクセスしており、潜在的な財務的損失を引き起こす可能性があるが、データセット内のいかなる良性アプリケーションでも同様の行動を示さなかった。
- 12%のマルウェアサンプルがGPS/位置情報サービスにアクセスしたのに対し、良性アプリケーションは7%にとどまり、監視マルウェアと強い相関があることが浮き彫りになった。
- 16%の悪意あるアプリケーションがgetInstalledPackages()を呼び出してインストール済みパッケージを列挙したが、良性アプリケーションではわずか1%であったため、スパイ行為の兆候とされる。
- 5.7%のマルウェアサンプルがgetMemoryInfo()を介してメモリ情報にアクセスしたのに対し、良性アプリケーションは0.7%にとどまり、リソース監視またはアンチアナリシス戦術の兆候であると示唆された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。