[論文レビュー] Dynamic Malware Analysis with Feature Engineering and Feature Learning
本稿では、システムAPIコールシーケンスを用いた動的マルウェア検出のための低コストな特徴工学的手法と深層ニューラルネットワークアーキテクチャを提案する。特徴ハッシュを用いて異種のAPI引数(文字列、整数、アドレスなど)を符号化し、各APIコールごとに複数のゲート付きCNN(Gated-CNN)を適用して深層特徴を抽出し、順序依存性をモデル化するために双方向LSTMを用いる。実世界のデータセット上で98.86%のAUCを達成し、最先端の性能を発揮する。
Dynamic malware analysis executes the program in an isolated environment and monitors its run-time behaviour (e.g. system API calls) for malware detection. This technique has been proven to be effective against various code obfuscation techniques and newly released ("zero-day") malware. However, existing works typically only consider the API name while ignoring the arguments, or require complex feature engineering operations and expert knowledge to process the arguments. In this paper, we propose a novel and low-cost feature extraction approach, and an effective deep neural network architecture for accurate and fast malware detection. Specifically, the feature representation approach utilizes a feature hashing trick to encode the API call arguments associated with the API name. The deep neural network architecture applies multiple Gated-CNNs (convolutional neural networks) to transform the extracted features of each API call. The outputs are further processed through bidirectional LSTM (long-short term memory networks) to learn the sequential correlation among API calls. Experiments show that our solution outperforms baselines significantly on a large real dataset. Valuable insights about feature engineering and architecture design are derived from the ablation study.
研究の動機と目的
- 動的マルウェア分析において、しばしば無視されたり、不十分に処理されたりする異種のAPI引数(例:文字列、整数、アドレス)を効果的に活用する課題に対処すること。
- 複雑な手動特徴工学を避けつつ、多様な引数タイプからの意味的情報を保持する低コストでスケーラブルな特徴表現手法を開発すること。
- 複数のゲート付きCNNと双方向LSTMを組み合わせた深層学習アーキテクチャを設計し、APIコール特徴から階層的かつ順序的なパターンを学習することで、マルウェア検出性能を向上させること。
- 広範な除去研究と大規模な実世界データセットを用いた評価を通じて、特徴工学とモデルアーキテクチャ設計の有効性を実証すること。
- 再現可能性と動的マルウェア分析分野におけるさらなる研究を支援するため、抽出された特徴とコードを公開すること。
提案手法
- API名、カテゴリ、および異なるタイプ(文字列、整数、アドレス)の引数を、一様で低次元の同種特徴ベクトルに変換するため、特徴ハッシュを適用する。
- 各APIコールの高次元ハッシュ特徴から抽象的で低次元の表現を学習するため、カーネルサイズが2、3、4の複数の並列ゲート付き畳み込みニューラルネットワーク(Gated-CNN)を用いる。
- Gated-CNNの出力を1つの双方向LSTM(Bi-LSTM)ネットワークに供給し、APIコールシーケンス全体の長距離順序依存性をモデル化する。
- 学習の安定化と収束の向上を図るため、入力後およびGated-CNN後にもバッチ正則化層を統合する。
- 交差エントロピー損失とAdam最適化を用い、検証AUCに基づく早期停止を適用してエンドツーエンドのモデルを学習する。
- Gated-CNNの構成、バッチ正則化、Bi-LSTM層の違いを比較する除去研究を通じて、モデルアーキテクチャを最適化する。
実験結果
リサーチクエスチョン
- RQ1エキスパートによる特徴工学を必要とせず、ハッシュベースの特徴表現が、文字列、整数、アドレスなどの異種API引数を効果的に符号化し、マルウェア検出に役立たせるか。
- RQ2特にゲート付きCNNとBi-LSTMの組み合わせといった、さまざまな深層学習アーキテクチャが、動的マルウェア分析システムの検出性能にどのように影響を与えるか。
- RQ3API引数の相対的寄与度は何か。また、従来の機械学習モデルおよび深層学習モデルの両方において、引数を含めることでAUCが一貫して向上するか。
- RQ4モデルの汎化性能と耐障害性を高めるために、特に重要なアーキテクチャ的要素(例:Gated-CNNの数、バッチ正則化の有無、Bi-LSTM層の数)は何か。
- RQ5訓練期間後に収集されたテストデータにおける性能から、本モデルがゼロデイマルウェアにどの程度一般化可能か。
主な発見
- 提案モデルは、テストAUCが98.86%に達し、API名のみや基本的な文字列特徴を使用するすべてのベースライン手法を大きく上回る。
- API引数を含めることで、従来の機械学習モデルのAUCが3%向上し、深層学習モデルでは約1%向上することを示し、引数レベルの情報の価値を裏付けた。
- 除去研究の結果、Bi-LSTM層は不可欠であることが判明。この層を削除すると性能が著しく低下し、1-Bi-LSTM構成が、98.80%のAUCと推論速度の両立を達成する最良のバランスを示した。
- 2,3-GatedCNN構成(カーネルサイズが2および3の2つのGated-CNN)が最良の性能(98.86%のAUC)を達成したが、3番目のカーネルサイズ(4)を追加しても改善が得られなかった。
- 両方のバッチ正則化層を備えたモデルが、98.80%のAUCを示し、BN層が少ないまたは存在しない構成よりもわずかに優れていた。これは、訓練の安定性に寄与する可能性を示唆している。
- 引数処理による推論時間のわずかな増加にもかかわらず、全体のレイテンシは許容範囲(数百ミリ秒)に留まり、Cuckooサンドボックスを用いた1サンプルあたり3〜5分のデータ収集時間を考えれば特に問題にならない。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。