このプロジェクトは、機械学習技術を活用して、ポートスキャン、サービス拒否(DoS)、マルウェアなどのネットワーク攻撃を分類します。入力データは、Ciscoで使用される標準形式であるNetflow V9形式です。
分類は以下のモデルを使用して実行されます:
このプロジェクトは、PythonとJupyter Notebook、およびUMAP、Pandas、NumPy、Scikit-Learn、Matplotlib、Seabornを含むいくつかの人気ライブラリを使用して実装されています。
ノートブックは、GitHub上で直接閲覧するにはこちらからアクセスできます。あるいは、NbViewerを使用してこのリンクからノートブックにアクセスすることもできます。
PDF形式のKeynoteプレゼンテーションはこちらからアクセスできます。
このプロジェクトで使用されるデータセットはNetFlow V9形式です(Ciscoによって文書化されており、こちらから入手できます)。データセットはtrain_net.csvとtest_net.csvの2つのファイルで構成されています。
train_net.csvファイルは、特定のアラートが発生する可能性が高い時期に関する情報を提供します。一方、test_net.csvファイルはテスト専用に使用され、モデルの性能を評価するためのターゲット変数は含まれていません。
このデータセットはかなり大規模です:
train_net.csv: 約400万パケット(14'066のユニークなネットワークホストから)test_net.csv: 約200万パケット(6'186のユニークなネットワークホストから)Maria-Elena Mihailescu, Darius Mihai, Mihai Carabas, Mikolaj Komisarek, Marek Pawlicki, Witold Holubowicz, Rafal Kozik: The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset. Sensors 21(13): 4319 (2021)