Skip to main content
QUICK REVIEW

[論文レビュー] DNS Tunneling: A Deep Learning based Lexicographical Detection Approach

Franco Palau, Carlos Catania|arXiv (Cornell University)|Jun 11, 2020
Natural Language Processing Techniques参考文献 3被引用数 11
ひとこと要約

本論文は、ドメイン名の文字レベルのパターンを分析することで、DNSトンネル化ドメインの語彙的検出を目的とした軽量な1次元畳み込みニューラルネットワーク(CNN)を提案する。5つのトンネリングツールを用いて収集した、新たに手作業で整備された8,000件のDNSリクエストから構成されるデータセットで学習されたモデルは、トンネリングドメインの再現率が92.37%に達し、誤検出率はわずか0.005%にとどまる。これは、実世界の検出シナリオにおいて高い正確性と低い誤報率を示している。

ABSTRACT

Domain Name Service is a trusted protocol made for name resolution, but during past years some approaches have been developed to use it for data transfer. DNS Tunneling is a method where data is encoded inside DNS queries, allowing information exchange through the DNS. This characteristic is attractive to hackers who exploit DNS Tunneling method to establish bidirectional communication with machines infected with malware with the objective of exfiltrating data or sending instructions in an obfuscated way. To detect these threats fast and accurately, the present work proposes a detection approach based on a Convolutional Neural Network (CNN) with a minimal architecture complexity. Due to the lack of quality datasets for evaluating DNS Tunneling connections, we also present a detailed construction and description of a novel dataset that contains DNS Tunneling domains generated with five well-known DNS tools. Despite its simple architecture, the resulting CNN model correctly detected more than 92% of total Tunneling domains with a false positive rate close to 0.8%.

研究の動機と目的

  • DNSトンネリング検出システムの評価に適した高品質でラベル付け済みのデータセットの不足に対処すること。
  • 語彙的特徴に基づいて悪意あるDNSトンネリングドメインを検出できる軽量なディープラーニングモデルを開発すること。
  • 5つの代表的なトンネリングツールを用いて生成した新規に構築されたDNSトンネリングトラフィックデータセット上で1次元CNNの性能を評価すること。
  • ディープラーニングによる語彙的分析が、誤検出率を低く抑えることによって、DNSトンネリングを効果的に検出可能であることを示すこと。

提案手法

  • ドメイン名から文字レベルの表現を学習するため、埋め込み層、1次元畳み込み層、および全結合層からなる1次元CNNアーキテクチャを採用する。
  • モデルはドメイン名を文字のシーケンスとして処理し、手動による特徴工学を一切行わず、判別可能なパターンを学習する。
  • F1スコアの最適化を目的として、5分割交差検証を用いたグリッドサーチによりハイパーパrameterチューニングを実施。最適化にはAdamオプティマイザを用い、10エポックの学習を実施する。
  • 予測確率に基づき、ドメインを通常またはトンネリングと分類するための決定境界閾値を0.90に設定する。
  • データセットは、仮想マシン上で時間注入法を用いて構築され、dnscat2、DNSExfiltrator、iodine、tuns、dns2tcpの5つのDNSトンネリングツールからのDNSリクエストをログ記録した。
  • トンネリングドメインは、生成に使用されたツールに基づいてラベル付けされ、成功したと失敗したトンネリング試行の区別に特に注力する。

実験結果

リサーチクエスチョン

  • RQ1最小限の1次元CNNアーキテクチャは、ドメイン名の語彙的特徴のみを用いて、DNSトンネリングドメインを効果的に検出できるか?
  • RQ21つのディープラーニングモデルを用いた場合、異なるDNSトンネリングツールごとの検出性能にどのような差が生じるか?
  • RQ3データセットの品質と構築手法が、DNSトンネリング検出モデルの信頼性に与える影響は何か?
  • RQ4従来の手法と比較して、ディープラーニングによる語彙的分析は、DNSトンネリング検出における誤検出率をどの程度低減できるか?
  • RQ5トンネル接続を確立できなかったツールが生成したドメインに対して、モデルの性能はいかがいか?

主な発見

  • 1次元CNNモデルは、通常ドメインに対して99.48%、DNSトンネリングドメインに対して92.37%の再現率を達成し、強力な検出能力を示した。
  • 通常ドメインの誤検出率は0.0762%、トンネリングドメインの誤検出率は0.0052%にとどまり、高い特異性を示した。
  • dnscat2で生成されたすべてのドメインが正しく検出された一方、DNSExfiltratorで生成されたドメインの85%、iodineで生成されたドメインの87%が同定された。
  • テストセットにおいて、通常ドメインのF1スコアは96.35%、トンネリングドメインのF1スコアは95.75%を達成した。
  • 失敗したトンネリング試行から生成されたドメインに対しても、モデルは96%の検出精度を維持し、一貫した性能を示した。
  • 結果から、シンプルな1次元CNNを用いた語彙的分析が、最小限のアーキテクチャ的複雑さで高精度な検出を達成できることを確認した。

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

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

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

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