TOP

セキュアAI研究所

お問い合わせ

研究メンバー

運営会社

Android Malware Detection based on Factorization Machine

カテゴリ: malware anomaly-detection
株式会社ChillStack/三井物産セキュアディレクション株式会社
セキュアAI研究所 伊東 道明


概要

androidマルウェアの検知をFactorization machineを使って行うと、高い精度を達成できた。特徴として、API呼び出しや許可などをマニフェストファイルやソースコードから抽出した。

論文情報

公開日

2019-8-13

著者

Chenglin Li, Keith Mills, et al.

University of Alberta Edmonton, Alberta, Canada.

論文情報・リンク

arxiv pdf

新規性・差分

マルウェア検知は、動的解析、静的解析の2パターンある。

動的解析は、高い精度が出るが、実際に動かさないといけないのと、関係ないパスが含まれていて時間がかかる可能性があるなどの問題点がある。 静的解析は、特徴抽出、分類の2段階があり、分類で機械学習を使う先行研究がある。(k-meansやSVM) また、近年では、動的解析と静的解析を両方使う研究がされている。

この論文では、特徴間の関係をモデル化可能なFactorization Machine(FM)を用いることで、高い精度を達成した。

手法

4つのパートに分けられる。

Unpacking and Decompile

apkを解凍して、dexをデコンパイルする。

Feature Extraction

まずマニフェストファイルから以下の4つの機能を抽出する。

  • App components
  • Hardware features
  • Permissions
  • Intent filter

次に、デコンパイルしたコードから、以下の3つの機能を抽出する。

  • Restricted APIs
  • Suspicious APIs
  • Used permissions

Encoding

計7つの特徴をエンコードする際、死ぬほど大きいスパース行列とかになるので、t-SNEで次元圧縮する。 (エンコードはone-hot)

Prediction

相互作用する特徴があったりするので、SVMよりもFMの方がいい気がするのでFMを使ってみた。

結果

Algorithm FM SVM NB-Gaussian NB-Bernoulli NB-Multinomial MLP
Precision% 99.91 95.62 90.86 90.53 96.25 99.91
Recall% 99.01 92.35 99.37 99.82 99.28 99.64
F1% 99.46 93.96 94.93 94.95 97.74 99.77
FPR% 0.09 4.19 9.90 10.35 3.84 0.09

普通のAnti-Virusのプロダクト10個と比較した結果:

Scanner FM AV1 AV2 AV3 AV4 AV5 AV6 AV7 AV8 AV9 AV10
Precision% 99.91 99.91 99.64 62.84 99.91 59.03 99.63 50.09 99.84 97.78 61.42
Recall% 99.01 98.74 99.46 99.10 99.28 100.0 97.21 99.91 54.64 94.96 100.0
F1% 99.46 99.32 99.55 76.91 99.59 74.24 98.41 66.73 70.62 96.35 76.10
FPR% 0.09 0.089 0.357 58.073 0.089 68.778 0.357 98.66 0.089 2.141 62.27

速度も申し分無い。

議論

FPGAとか使うともっと早くなる。