Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
network-attack-detection — 機械学習技術を用いたポートスキャン、DoS、マルウェア攻撃の高度な検出 | Kitploit
ツール/GitHubGitHub/lucadibello/network-attack-detection
脆弱性分析情報収集ネットワークセキュリティ機械学習侵入検知学習と教育異常検知ログ分析
GitHublucadibello/network-attack-detection

network-attack-detection

機械学習技術を用いたポートスキャン、DoS、マルウェア攻撃の高度な検出

リポジトリを見る
1333年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

機械学習を用いたネットワーク攻撃検出

説明

このプロジェクトは、機械学習技術を活用して、ポートスキャン、サービス拒否(DoS)、マルウェアなどのネットワーク攻撃を分類します。入力データは、Ciscoで使用される標準形式であるNetflow V9形式です。

分類は以下のモデルを使用して実行されます:

  • K近傍法(KNN)
  • RBF(動径基底関数)カーネルを使用したサポートベクターマシン分類器(SVC)
  • 主成分分析(PCA)とサポートベクターマシン分類器(SVC)を用いたパイプライン
  • バギング分類器(RBFカーネルを使用したSVCに基づく)
  • ランダムフォレスト分類器
  • Extra Trees分類器
  • ニューラルネットワーク(MLPClassifier)

このプロジェクトは、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のユニークなネットワークホストから)

データセットの特徴

  • FLOW_ID: フローを一意に識別するためのIDです。
  • PROTOCOL_MAP: フローで使用されるプロトコルを表す文字列です。指定可能な値には、"ICMP"、"TCP"、"UDP"、"IGMP"、"GRE"、"ESP"、"AH"、"EIGRP"、"OSPF"、"PIM"、"IPV6-ICMP"、"IPV6-IP"、"IPV6-ROUTE"、"IPV6-FRAG"、"IPV6-NONXT"、"IPV6-OPTS"などがあります。
  • L4_SRC_PORT: フロー内の送信元ポート番号です。指定可能な値は0〜65535の範囲です。
  • IPV4_SRC_ADDR: フロー内の送信元IPv4アドレスです。ドット付き10進表記の文字列で表されます(例:"192.168.0.1")。
  • L4_DST_PORT: フロー内の宛先ポート番号です。指定可能な値は0〜65535の範囲です。
  • IPV4_DST_ADDR: フロー内の宛先IPv4アドレスです。ドット付き10進表記の文字列で表されます(例:"192.168.0.2")。
  • FIRST_SWITCHED: フローが開始した時刻です。エポック(1970年1月1日)からの秒数で表されます。
  • FLOW_DURATION_MILLISECONDS: フローの継続時間(ミリ秒単位)です。
  • LAST_SWITCHED: フローが終了した時刻です。エポック(1970年1月1日)からの秒数で表されます。
  • PROTOCOL: フローで使用されるプロトコルです。指定可能な値には、1 (ICMP)、6 (TCP)、17 (UDP) などがあります。
  • TCP_FLAGS: フロー内で設定されたTCPフラグです。バイナリ文字列で表されます(例:"100101")。
  • TCP_WIN_MAX_IN: 受信トラフィックのアドバタイズされた最大ウィンドウサイズ(バイト単位)です。
  • TCP_WIN_MAX_OUT: 送信トラフィックのアドバタイズされた最大ウィンドウサイズ(バイト単位)です。
  • TCP_WIN_MIN_IN: 受信トラフィックのアドバタイズされた最小ウィンドウサイズ(バイト単位)です。
  • TCP_WIN_MIN_OUT: 送信トラフィックのアドバタイズされた最小ウィンドウサイズ(バイト単位)です。
  • TCP_WIN_MSS_IN: 受信トラフィックの最大セグメントサイズ(バイト単位)です。
  • TCP_WIN_SCALE_IN: 受信トラフィックのウィンドウスケール係数です。
  • TCP_WIN_SCALE_OUT: 送信トラフィックのウィンドウスケール係数です。
  • SRC_TOS: 送信元IPアドレスのType of Service(ToS)値です。
  • DST_TOS: 宛先IPアドレスのType of Service(ToS)値です。
  • TOTAL_FLOWS_EXP: 予期されるフローの総数です。
  • MIN_IP_PKT_LEN: フロー内のIPパケットの最小長(バイト単位)です。
  • MAX_IP_PKT_LEN: フロー内のIPパケットの最大長(バイト単位)です。
  • TOTAL_PKTS_EXP: フロー内の予期されるパケットの総数です。
  • TOTAL_BYTES_EXP: フロー内の予期されるバイトの総数です。
  • IN_BYTES: フローで受信したバイト数です。
  • IN_PKTS: フローで受信したパケット数です。
  • OUT_BYTES: フローで送信したバイト数です。
  • OUT_PKTS: フローで送信したパケット数です。
  • ANALYSIS_TIMESTAMP: フローが分析された時刻です。エポック(1970年1月1日)からの秒数で表されます。
  • ANOMALY: フローに異常が含まれているかどうかを示すバイナリフラグです(1 = true、0 = false)。
  • : (トレーニングセットでのみ利用可能) 現在のフローで検出された攻撃の種類です。指定可能な値は以下のとおりです:

データセットの著者

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)

Kaggleリンク

ツールをダウンロード
ALERT
  • None: 攻撃は検出されていません
  • Port scanning: フローはポートスキャン攻撃です
  • Denial of Service: フローはDoS攻撃です
  • Malware: フローはマルウェア攻撃です
  • ID: フローを一意に識別するためのIDです。