ベイジアンネットワークを使用して、Webトラフィックの攻撃分析を実行するにはどうすればよいですか?そのアプリケーションに関する興味深い記事を読みました。 "ベイジアン攻撃分析によるWebアプリケーション防御" しかし、その方法論については明確ではありませんでした。
ベイジアンネットワークは確率モデルの形式であり、一連の条件を使用して、アサーションが真であるか偽であるかを予測できます。
たとえば、ディスクが死んでいるかどうかを予測するために使用している2つの条件があるとします。
次のような確率を定式化することができます。
Slow Writes | High Traffic | Disk failing?
--------------+--------------+-- T --|-- F ---
F | F | 0.05 | 0.95
F | T | 0.01 | 0.99
T | F | 0.90 | 0.10
T | T | 0.45 | 0.55
これは次のように解釈できます。
このタイプのモデルを採用して、自己学習を適用することができます。結果がわかっている大量のデータセットを取得し、これを使用して確率モデルを構築します。
たとえば、ネットワークでは、次のようなテストが行われる場合があります。
これらのテストは、ネットワーク上の既知のトラフィックのセットに対して実行され、違反が試行された、または試行されなかった時間のモデルに通知します。次に、特定のタイプのターゲットイベントと相関する可能性が最も高いテストを確認し、上記のように確率モデルを構築できます。
さらに違反が検出されると、モデルに「これは違反でした」と通知し、モデルの改善を試みることができます。また、違反を誤って警告した場合にもそれを知ることができます。
これらのモデルは、多数の質問や膨大なデータセットを処理する場合、特にモデルにサブモデルや他の形式の分析から提供されるテスト質問が含まれている場合、非常に複雑になる可能性があります。そのため、侵入検知に優れたパターンマッチングアプローチを提供できます。
リクエスト/パケット/メッセージを良い/悪いものに分類しており、この分類はトレーニングプロセス中に作成されたデータベースに基づいているため、最初のバッチを自分で分類してから、自己学習を続ける必要があります。