ソフトウェアパケット処理不審サイトを検出「Deep DNS Filter」
本研究では,ネットワーク上のパケットに対して機械学習を用いた攻撃検知処理を高速に行い,パケットの分類を行う処理機構の提案を目的とする。個々の通信プロトコルの特徴や実際のネットワークを流れるトラフィックの特性に着目し,パケット処理以外の部分で機械学習による分類処理時間を得る方法を提案した。
ネットワーク上での攻撃検知は,セキュリティ機器によりネットワークに到着する全てのパケットをリアルタイムに検査しなければならない.次世代型ファイアウォール (NGFW) や Intrusion Detection System (IDS) のような現在のセキュリティ機器ではシグネチャを用いて最大で 100 Gbps の速度でネットワークトラフィックを検査が可能である.一方でリアルタイムでのパケット検査で許容される 1パケットあたりの処理時間は非常に短い.例えば10 Gbps のスループットを達成するためには,長さが64 byte のパケットであれば受信から送信まで合計 約50ナノ秒以内に処理しなければならない。
機械学習を利用した検知手法は、検知対象となる攻撃に対し複数の特徴量と分類アルゴリズムを用いることで検知精度を向上させている.その一方で,検知に必要な処理時間は考慮されておらず,処理時間がアルゴリズムの種別や特徴量の数に応じて長くなってしまう.そのため,これらの検知手法の多くはリアルタイムでの攻撃検知に適していない.分類に要する処理時間が長くなると,パケット転送に時間を要し,正規の通信に遅延が生じてしまう.従って,パケット転送遅延を抑えつつ機械学習を用いた検知手法を動作させる機構が必要不可欠である。
そこで本研究では、機械学習によるパケット分類を行うためのリアルタイムパケット分類機構を提案した。提案機構は,パケット処理を担う受信,パーサ,特徴量抽出,分類,送信の 5つのパートから構成される。さらに受信,送信パートを送受信モジュールとしてまとめ,パーサ,特徴量抽出,分類パートを追加・削除が容易な分類モジュールとしてまとめる.各パートはそれぞれ次の動作を行う。我々は,提案アーキテクチャを汎用的なソフトウェアとライブラリのみを用いて実装した。パケットの転送にはIntel社のData Plane Development Kit (DPDK) を用いた.分類機構は機械学習アルゴリズムの実装に利用されるLIBSVM, TensorFlow, OpenCVを用いて実装した.
提案機構においてDNSクエリに含まれる悪性ドメイン名を検知するアルゴリズムをSVM (LIBSVMを利用), 深層学習(TensorFlowを利用), ランダムフォレスト(OpenCVを利用)で実装したモジュールを用いて転送時間を計測した。その結果、いずれのアルゴリズムを用いた場合も,「分類処理」が最も時間を要していることがわかる。最も早いTensorFlowの実装でも約50μsの時間を要しており,ワイヤーレートでのパケット転送(約50ns)を達成するためには約1,000倍近い改善が必要である。
我々は上記の問題を解決するために,DNSの名前解決時間(数ミリ秒)を利用して分類処理を行うことで分類処理時間を確保する方法を提案した。DNSでは,名前解決時にDNSクエリパケットが早出され,DNSサーバにて名前解決が行われ,対応する応答がDNSレスポンスが返信される。その後,名前解決を行なったホストに対して通信が開始される。そのため,DNSクエリパケットの時点でパケット分類が未完了であっても,名前解決後の最初のパケットが宛先ホストに届くまでは実害がないことが多い。そこで,本研究では,上記のDNSの名前解決時間を分類時間に利用するためにドメイン/IPアドレスのブラックリスト・ホワイトリストを複数組み合わせる方式を提案し実装した。その結果,分類処理による転送速度の低下を削減しつつ各種アルゴリズムによる分類に必要な時間を確保することに成功した.
関連業績リスト
- Toki Suga, Kazuya Okada, Hiroshi Esaki, "Toward Real-time Packet Classification for Preventing Malicious Traffic by Machine Learning", 1st International Workshop on Artificial Intelligence and Machine Learning Techniques for Enhanced Network Management (AIMLEM 2019), February 2019.
- 須賀 灯希, 岡田 和也, 江崎 浩, "機械学習による悪性トラフィック遮断のための高速パケット分類機構の検討", 電子情報通信学会 第16回ネットワークソフトウェア研究会, 2018年6月.
- 特願2018-111069 発明名称: 通信装置、パケット処理方法及びプログラム