[論文レビュー] DeepDGA: Adversarially-Tuned Domain Generation and Detection
この論文では、深層学習ベースのDGA検出器を回避するために敵対的チューニングを行うGANベースのDGA、DeepDGAを提案する。反復的に生成器を訓練して低 visibility のドメインを生成し、検出器を訓練してそれらを区別させることで、他のモデルにも一般化する敵対的サンプルを生成するフレームワークを構築する。このフレームワークにより、これらのサンプルを訓練データに追加することで、未観測のDGAファミリーの検出性能が顕著に向上し、特にハンドクラフト特徴量を用いたランダムフォレスト分類器においても同様の効果が示された。
Many malware families utilize domain generation algorithms (DGAs) to establish command and control (C&C) connections. While there are many methods to pseudorandomly generate domains, we focus in this paper on detecting (and generating) domains on a per-domain basis which provides a simple and flexible means to detect known DGA families. Recent machine learning approaches to DGA detection have been successful on fairly simplistic DGAs, many of which produce names of fixed length. However, models trained on limited datasets are somewhat blind to new DGA variants. In this paper, we leverage the concept of generative adversarial networks to construct a deep learning based DGA that is designed to intentionally bypass a deep learning based detector. In a series of adversarial rounds, the generator learns to generate domain names that are increasingly more difficult to detect. In turn, a detector model updates its parameters to compensate for the adversarially generated domains. We test the hypothesis of whether adversarially generated domains may be used to augment training sets in order to harden other machine learning models against yet-to-be-observed DGAs. We detail solutions to several challenges in training this character-based generative adversarial network (GAN). In particular, our deep learning architecture begins as a domain name auto-encoder (encoder + decoder) trained on domains in the Alexa one million. Then the encoder and decoder are reassembled competitively in a generative adversarial network (detector + generator), with novel neural architectures and training strategies to improve convergence.
研究の動機と目的
- 深層学習ベースのDGAを、敵対的訓練によって深層学習分類器の検出を明示的に回避できるように開発すること。
- 敵対的に生成されたドメインが、未観測のDGAファミリーに対して機械学習モデルの耐性を高めるための有効なデータ拡張として機能するかを調査すること。
- ドメイン名生成のための文字レベルGANにおける、モード崩壊や収束不良といった訓練の課題を解決すること。
- 異なるモデルアーキテクチャ(例:ハンドクラフト特徴量を用いたランダムフォレスト)間での敵対的サンプルの一般化を評価すること。
- GANから生成された敵対的サンプルが、分布外のDGAファミリーにおける検出性能を向上させることを実証すること。
提案手法
- Alexaの上位100万のドメインを用いて、文字レベルの深層学習モデルをオートエンコーダーとして事前学習し、ドメイン名の表現を学習する。
- エンコーダーとデコーダーを再利用してGANを構築:生成器がドメイン名を生成し、識別器がDGA検出器として機能する。
- 訓練の安定化と収束の向上を図るため、履歴正則化、ボックス層、主軸ボックス層といった新しい訓練戦略を導入する。
- 生成器は識別器をだますように訓練され、敵対的ラウンドでは識別器が本物のドメインと敵対的ドメインをよりよく区別できるように更新される。
- GANから得た敵対的サンプルを用いて、別個のランダムフォレスト分類器の訓練データセットを拡張し、そのロバスト性を向上させる。
- 未観測のDGAファミリーへの一般化を評価するために、1ファミリーを除いてのクロスバリデーション戦略(leave-one-family-out)を採用する。
実験結果
リサーチクエスチョン
- RQ1GANを訓練して、深層学習ベースのDGA検出器を欺くドメイン名を生成することは可能か? すなわち、検出を回避できるか?
- RQ2あるモデルアーキテクチャ(例:深層ニューラルネットワーク)向けに生成された敵対的サンプルが、別のモデルアーキテクチャ(例:ハンドクラフト特徴量を用いたランダムフォレスト)に対しても検出を回避できるか?
- RQ3GANから生成された敵対的サンプルを訓練データに追加することで、未観測のDGAファミリーの検出性能を向上させることができるか?
- RQ4ドメイン名生成のための文字レベルGANの訓練を安定化させるために、どのような新しい訓練技法が必要か?
- RQ5敵対的データ拡張によって、分布外のDGAファミリーにおける固定された偽陽性率(FPR)における真正陽性率(TPR)はどの程度向上するか?
主な発見
- DeepDGAの生成器は、自らの識別器を欺くドメインを効果的に生成し、20%のホールドアウトセットにおいて検出率がわずか48%にとどまった。
- GANから生成された敵対的ドメインは、ハンドクラフト特徴量を用いたランダムフォレスト分類器に対しても検出を回避した。これは、異なるモデルタイプ間での一般化を示している。
- 10,000個の敵対的DeepDGAサンプルを訓練データに追加した後、ホールドアウトされたDGAファミリーにおいて、ランダムフォレスト分類器の平均真正陽性率(TPR)が1%のFPRで68%から70%に向上した。
- 強化されたモデルは、特に従来低性能だったファミリー(例:pykspa:67%から71% TPR、ramdo:54%から54% TPR)において顕著な改善を示し、大多数のファミリーで性能向上または安定した性能を達成した。
- このアプローチにより、GANから生成された敵対的サンプルが未観測のDGAバージョンに対してモデルの耐性を高める有効な手段であることが実証された。分布の現実性において、従来の摂動ベースの敵対的訓練を上回る性能を示した。
- オートエンコーダーの事前学習および新規の層(ボックス層、主軸ボックス層)の使用により、GANの訓練安定性と収束性が顕著に向上した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。