機械学習に基づく自動ネットワークトラフィック分析

機械学習に基づく自動ネットワークトラフィック分析

1. 概要

現在、機械学習はネットワーク トラフィック分析タスクで広く使用されています。特徴抽出、モデル選択、パラメータ調整などの多くの要因によってモデルのパフォーマンスが決まります。異なるネットワーク トラフィックや新しいタスクに直面するたびに、研究者はモデルを再開発する必要があります。この反復的なプロセスは、多くの場合、時間がかかり、労力がかかります。したがって、さまざまな問題クラスにわたるさまざまなモデルで使用できるさまざまなネットワーク フローの共通表現を作成し、モデリング プロセス全体を自動化する必要があります。この論文は、自動化されたネットワーク トラフィック分析の一般的な問題に焦点を当て、研究者がモデルと機能の最適化に多くの時間を費やし、実際に最適なモデルを説明して展開することに多くの時間を費やせるようにすることを目的としています。

自動ネットワークトラフィック分析

従来の機械学習ベースのネットワーク トラフィック分析は、手作業に大きく依存しています。実際には、機能、モデル、パラメーターの最適な組み合わせを取得することは通常、反復的なプロセスであり、いくつかの欠点があります。まず、適切なデータ表現と特徴の選択はトラフィック分析タスクにとって非常に重要ですが、専門的なドメイン知識があっても、特徴エンジニアリングは依然として脆弱で不完全なプロセスです。明白でない特徴や複雑な関係を含む特徴は、手動分析中に無視される可能性があります。次に、ネットワーク環境は複雑で変化しやすく、トラフィック パターンの変化は特徴の障害につながります。最後に、新しいトラフィック検出または分類タスクごとに、新しい特徴を再設計し、適切なモデルを選択し、パラメーターを再調整する必要があります。

これらの問題を回避するために、このセクションでは、さまざまなネットワークトラフィック分析タスクに適した自動化された方法を紹介します[1]。ネットワークトラフィックを均一に表現し、それを自動機械学習(AutoML)手法と組み合わせることで、さまざまなネットワークトラフィック分析問題に対するシンプルで高速な自動反復と展開を実現します。

2.1 データ表現

多くの分類問題では、データ表現はモデル選択と同じくらい重要であるため、機械学習手法を適用する際には、データをどのように表現してエンコードするかが非常に重要です。ネットワーク トラフィック データのエンコードでは、次の 3 つの要件を満たす必要があります。

(1)完全な表現。私たちの目標は、特定の機能を選択することではなく、専門知識に依存しないように統一されたデータエンコーディングを行うことです。そのため、パケットヘッダーを含むすべてのデータパケット情報を保持する必要があります。

(2)サイズは固定です。多くの機械学習モデルへの入力は常に同じサイズのままであるため、各パケット表現は一定サイズである必要があります。

(3)本質的な標準化機械学習モデルは、特徴が正規化されるとパフォーマンスが向上することが多く、これによりトレーニング時間が短縮され、モデルの安定性が向上するため、データの初期表現自体が正規化されていると非常に便利です。

(4)一貫した表現データ表現の各位置は、すべてのパケットのパケット ヘッダーの同じ部分に対応している必要があります。つまり、プロトコルとメッセージの長さが異なっていても、特定の特徴は常にパケット内で同じオフセットを持ちます。整列されたデータにより、モデルはこの前提に基づいて特徴表現を学習できます。

図 1 に示すように、ネットワーク トラフィックを表現する主な方法には、セマンティック表現と単純なバイナリ表現があります。

(1) 意味表現: 各ヘッダーには独自の意味フィールドがありますが、それらを区別するオプションフィールドの順序は保持されません。また、各プロトコルの意味構造を解析するには、ドメインの専門知識が必要です。このような知識があっても、面倒な機能エンジニアリングは避けられません。

(2)ナイーブバイナリ表現:データパケットの元のビットマップ表現は順序を維持するために使用されますが、異なるサイズとプロトコルは無視され、その結果、2つのデータパケットの特徴ベクトルは同じ特徴に対して異なる意味を持ちます。この不整合により、重要な特徴にノイズが発生し、モデルのパフォーマンスが低下する可能性があります。また、各ビットをセマンティクスにマッピングすることが不可能であるため、解釈不能になります。

図1 意味表現と単純なバイナリ表現

上記の両方の表現方法は、統一されたデータ表現のニーズを満たすことができません。図 2 に示すように、研究者はセマンティック表現と単純なバイナリ表現を組み合わせて、統一されたネットワーク データ パケット表現方法 nPrint を提案しました。まず、あらゆるデータ パケットが情報を失うことなく完全に表現できることを保証します。次に、内部パディングを使用して、各データ パケットが同じ数の特徴で表現され、各特徴が同じ意味を持つことを保証します。このビット レベルでの解釈可能な表現により、モデルをよりよく理解できます。次に、データ パケットのビットが直接使用され、特定のビットが 0 に設定されていることを区別し、存在しないパケット ヘッダーを -1 で埋めます。最後に、各データ パケットが同じ数の特徴で表現され、特定のネットワーク トラフィック分析タスクでは、ペイロードが任意のバイト数に設定されます。さらに、nPrint はモジュール式で拡張可能であり、他のプロトコルを表現に追加できるだけでなく、パケット表現のセットを連結してマルチパケットの nPrint フィンガープリントを構築することもできます。

図2 nPrint

2.2 nPrintML

専門家は、生のデータ パケットから特徴を抽出し、最適と思われるモデルまたはモデル セットでトレーニングし、最後に手動または構造化検索によってモデルを微調整するのに、数週間から数年を費やすことがよくあります。プロセス全体を標準化するために、図 3 に示すように、nPrint をベースにした nPrintML を提案し、AutoML ツールと組み合わせて機械学習プロセスを自動化しました。

図3 nPrintML

nPrint は、さまざまなトラフィック分析タスクの特徴抽出プロセスを標準化し、AutoML は、特徴の選択、モデルの選択、ハイパーパラメータの調整を自動化して、特定の特徴とラベル付けされたデータセットに最適なモデルを見つけることを目的としています。最終的に、nPrint は各ネットワーク トラフィック分析タスクに最適な機能を抽出し、AutoML を使用して最適なモデルとハイパーパラメータを決定します。

AutoGluon は、複数の単一モデルを優れたパフォーマンスで統合し、他の多くの AutoML ツールよりも優れているため、AutoML ツールとして選択されました。ここでは、表形式のデータを処理する関数のサブセットである AutoGluon-Tabular を使用します。これは、ディープ ニューラル ネットワーク、ツリーベースの方法 (ランダム フォレストなど)、ノンパラメトリック方法 (k 近傍法など)、勾配ブースティング ツリー方法などの基本モデルのセットを検索することにより、機能選択、モデル選択、ハイパーパラメータ最適化を実行します。さらに、AutoGluon-Tabular はベースモデルから重み付けされたアンサンブル モデルを作成することもできるため、トレーニング時間が短く、他の AutoML ツールよりも高いパフォーマンスを実現できます。

研究者らはnPrintとAutoGluonを組み合わせ、PythonでnPrintML[2]を実装し、ユーザーが1回の呼び出しでディレクトリ全体を実行できるようにしました。パッシブ オペレーティング システム検出を例にとると、ユース ケースは次のようになります。

 nprintml - L os_labels .txt - a インデックス- P トラフィック.pcap - 4 –t

2.3 実験結果

図 4 は、8 つのネットワーク トラフィック分析シナリオについて、nPrintML を使用して分析したケース スタディを示しています。実験結果から、nPrintML はさまざまなシナリオでネットワーク トラフィック分析の問題を解決できるだけでなく、従来の方法よりも優れたパフォーマンスを発揮することがわかります。

図4 nPrintMLのケーススタディ結果

3. まとめ

ネットワーク トラフィック分析タスクに機械学習を適用した場合のパフォーマンスは、モデル自体だけでなく、データの適切な表現と機能の選択にも依存します。この論文では、データ パケットを統合して表現学習とモデル トレーニングに適した形式に変換し、既存の自動機械学習と組み合わせて、ネットワーク トラフィック分析プロセス全体を完全に自動化する、自動ネットワーク トラフィック分析の新しいアイデアを紹介します。このアプローチは、一般的なネットワーク トラフィック分析タスクに適用できるだけでなく、既存のモデルよりも優れたパフォーマンスを示します。

参考文献

[1] Holland J、Schmitt P、Feamster N、他「自動トラフィック分析の新たな方向性」2021 ACMコンピューターおよび通信セキュリティ会議[C]。2021年。

[2] https://nprint.github.io/

<<:  ディープラーニングで知っておくべき活性化関数トップ10

>>:  祭壇から一般公開へと移行する冬季オリンピックでAIブラックテクノロジーを公開

ブログ    

推薦する

PyTorch と TensorFlow で画像分類モデルをトレーニングする方法

導入画像分類は、コンピューター ビジョンの最も重要なアプリケーションの 1 つです。その応用範囲は、...

GIF 圧縮アルゴリズムの発明者が IEEE の最高栄誉賞を受賞

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIが伝染病と闘う: 時折の恥ずかしさの裏に究極の防壁が現れる

人類と新型コロナウイルスとの戦いは今も続いていますが、この間、さまざまな「人工知能+」アプリケーショ...

ヒューマノイドロボットはマジックを披露することができます。春節祭のスタッフにその詳細をお伝えします。

一瞬のうちに、ロボットは魔法を使うことを覚えたのでしょうか?まず、テーブルの上の水のスプーンを手に取...

なぜ機械学習エンジニアになりたいのですか?それは情熱や熱のせいでしょうか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

...

2020年グローバルNLP業界レポート:NLPテクノロジー予算が30%増加

2020 年は、公衆衛生、職業生活、経済、そして日常生活のほぼすべての側面にとって特別な年となりまし...

ソフトウェアプログラマー試験: 最もシンプルなコード実装による最速のソートおよび検索アルゴリズム

アルゴリズムの中心的な問題はソートと検索です。これら 2 つの分野は最も広く使用され、最も徹底的に研...

Baidu AI開発者会議が進行中、重要なニュースが次々と発表されている

百度AI開発者会議は予定通り7月4日から5日まで北京国家会議センターで開催されました。百度の創業者、...

大規模言語モデルの 7 つの一般的なネットワーク セキュリティ アプリケーション

サイバー脅威の攻撃と防御のバランスがますます不均衡になっている時代に、人工知能と大規模言語モデル (...

...

時代遅れにならないで、機械学習プラットフォームこそが未来だ

機械学習と人工知能の急速な発展に伴い、業界では多くのオープンソースの機械学習プラットフォームが登場し...

...