Skip to main content
QUICK REVIEW

[論文レビュー] Android-COCO: Android Malware Detection with Graph Neural Network for Byte- and Native-Code

Peng Xu|arXiv (Cornell University)|Dec 19, 2021
Advanced Malware Detection Techniques被引用数 7
ひとこと要約

本稿では、プログラム依存グラフ(PDG)埋め込みを用いてDEXバイトコードとネイティブコード(.soファイル)の両方を解析することで、Androidマルウェアを検出するグラフニューラルネットワークベースの手法Android-COCOを提案する。100,113アプリの大きなデータセット上で99.86%の精度を達成し、F-measureで最先端手法を5%以上上回り、マルウェア検出においてグラフ埋め込みを用いてバイトコードとネイティブコードを統合的に分析する初の研究である。

ABSTRACT

With the popularity of Android growing exponentially, the amount of malware has significantly exploded. It is arguably one of the most viral problems on mobile platforms. Recently, various approaches have been introduced to detect Android malware, the majority of these are either based on the Manifest File features or the structural information, such as control flow graph and API calls. Among those methods, nearly all of them only consider the Java byte-code as the target to detect malicious behaviors. However, Recent research and our own statistics show that native payloads are commonly used in both benign and malicious apps. Current state-of-the-art Android static analysis tools avoid handling native method invocation. None of those tools have the capability to capture the inter-language behaviors. In this work, we explore an ensemble mechanism, which presents how the combination of byte-code and native-code analysis of Android applications can be efficiently used to cope with the advanced sophistication of Android malware. We, therefore, present a multi-layer approach that utilizes deep learning, natural language processing (NLP), as well as graph embedding techniques to handle the threats of Android malware, both from the Java byte-code and native code. After that, we design an ensemble algorithm to get the final result of malware detection system. To be specific, the first layer of our detection approach operates on the byte-code of application and the native code level, whereas the second layer focuses on the ensemble algorithm. Large-scale experiments on 100,113 samples (35,113 malware and 65,000 benign) show that only byte-code sub-system yields 99.8% accuracy and native-code sub-system yields an accuracy of 96.6%, whereas the Android-COCO method attains an accuracy of 99.86% which outperforms various related works.

研究の動機と目的

  • コードのオブスカリゼーションによって悪意ある振る舞いを隠すアプリに対して失敗する、マニフェストベースのマルウェア検出の限界を解消する。
  • DEXバイトコードにのみ焦点を当て、86%のAndroidアプリに存在する悪意あるネイティブコードを無視する既存の検出システムのギャップを埋める。
  • 一般的なオブスカリゼーション技術(命令置換やコード隠し)に対して耐性のある、構造に敏感なマルウェア検出システムを構築する。
  • バイトコードとネイティブコードの分析を統合的に統合し、アンサンブルベースのフレームワークとして統合して、検出精度と一般化性能を向上させる。
  • 特にPDGおよびFCGのグラフ埋め込み技術が、マルウェアを示す深い構造的パターンを捉えるのに有効であることを示す。

提案手法

  • 関数間のデータ依存および制御依存関係をモデル化するため、DEXバイトコードをプログラム依存グラフ(PDG)に変換する。
  • グラフ埋め込み技術を適用して、PDGをトポロジーおよび意味的特徴を保持する固定長のベクトル表現に変換する。
  • 同じグラフ埋め込みアプローチをネイティブコード(.soファイル)に適用し、異言語間分析のための構造的埋め込みを生成する。
  • バイトコードおよびネイティブコードサブシステムからの埋め込み表現に、別個の多層パーセプトロン(MLP)分類器を訓練する。
  • 2つの分類器の出力をアンサンブル学習アルゴリズムで統合し、全体の検出性能を向上させる。
  • 2層構造を採用:1層目はDEXおよびネイティブコードのグラフ埋め込みによる構造的検出を実行し、2層目はアンサンブル学習により結果を統合する。

実験結果

リサーチクエスチョン

  • RQ1DEXバイトコードおよびネイティブコードから導出されるプログラム依存グラフ(PDG)は、Androidマルウェアを示す構造的パターンを効果的に捉えられるか?
  • RQ2従来の特徴ベースまたはシグネチャベースの手法と比較して、グラフ埋め込み技術はマルウェア検出精度をどの程度向上させるか?
  • RQ3バイトコードとネイティブコードの分析を統合することで、特にオブスカリゼートされたマルウェアに対する検出性能はどの程度向上するか?
  • RQ4別個のバイトコードおよびネイティブコード検出器の結果を統合するアンサンブルモデルは、個別のサブシステムよりも高い精度を達成できるか?
  • RQ5本手法は、動作を変更せずにコードの外見を変更する高度なオブスカリゼーション技術に対しても、どの程度耐性を示すか?

主な発見

  • PDG埋め込みを用いたバイトコードサブシステムは、100,113個のAndroidアプリ(マルウェア35,113個、健全65,000個)のデータセット上で99.8%の検出精度を達成した。
  • ネイティブコードサブシステムは、.soファイルのグラフ埋め込みを用いて96.66%の検出精度を達成し、ネイティブコード解析がマルウェア検出に有効であることを示した。
  • 両サブシステムを統合したアンサンブルモデルは、全体の精度を99.86%まで向上させ、F-measureで最先端手法を5.27%以上上回った。
  • 本手法は、グラフ埋め込みを用いてDEXバイトコードとネイティブコードを統合的に分析する初の研究であり、従来のシグネチャベースおよびマニフェストベースのシステムを回避するマルウェアの検出を可能にした。
  • 識別子のリネーム、コード隠し、命令置換といった一般的なオブスカリゼーション技術に対しても、構造的プログラム特性に焦点を当てているため、本手法は有効である。
  • 高い性能を達成しているが、スケーラビリティの課題に直面している:90,000ノードを超えるグラフは、高いメモリ消費量のため処理できず、データセットのサイズが制限された。

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

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

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

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