侵入検知システムは初めてです。私の知る限り、パターン マッチング (Snort の PCRE など) はパケット内の一致のみを検索するようです。
パターン マッチングは複数のパケットに適用できますか?
実際には、人々はクロスパケットのパターンを気にしますか?
侵入検知システムは初めてです。私の知る限り、パターン マッチング (Snort の PCRE など) はパケット内の一致のみを検索するようです。
パターン マッチングは複数のパケットに適用できますか?
実際には、人々はクロスパケットのパターンを気にしますか?
ストリームの再構成を行っている場合 (標準の snort.conf でデフォルトで有効になっている必要があります)、はい。これは、snort が複数のパケットから構築し、再構築する疑似パケット (または再構築されたパケット) と呼ばれます。この機能とその構成については、こちらで読むことができます。これはおそらく Snort の最も重要な (そして最も高価な) 部分であり、ストリームの再構築がなければ、多くのエクスプロイトが見逃されます。再構築がなければ、snort は未加工のパケットを検査することしかできません。例えば:
TCP パケットには 2000 バイトのデータが含まれており、ネットワーク上の MTU は 1500 であるため、このパケットを個別のパケットに分割して送信する必要があります。1400 バイトがパケット 1 で送信され、残りの 600 バイトがパケット 2 で送信されるとします。このパケット内にエクスプロイトがあり、snort が探しているコンテンツがバイト 1360 ~ 1500 に含まれている場合、snort はエクスプロイトを見逃し、警告しません。 . ストリームの再構成により、snort はパケットを再構成します。
「THIS IS AN EXPLOIT」というコンテンツを探す Snort ルールがあるとします。
Raw パケット 1: ....データ...これは AN
Raw パケット 2: EXPLOIT....データ...
ストリームの再構築がなければ、snort はこのエクスプロイトを見逃すことになります。ストリームの再構成により、snort は疑似パケットを再構築し、それに対してルールの内容を実行するため、以下が表示されます。
疑似パケット: ...データ...これはエクスプロイトです...データ...
そして、ルールは一致します。