私はIPSがどのように機能するか、そして私が知る限り、TCP\IPレイヤー上のパケットを検査するかについて考えていました。
ユーザーエクスペリエンスを損なうことなく、より高いレベルの攻撃をどのように検出できますか?情報の損失と再送信があるという事実にどのように対処しますか?
最後に、いくつかのTCPパケットに分割する長いリクエストが存在する可能性があります。情報を構築してから、リクエストに対してチェックを実行しますか?
ネットワークレベル以降で何が起こるか知りたいのですが。
ありがとう。
IPSは、両端のスタックと同じTCP再構成を行うだけです。
再送信は問題ではありません。パケットが失われたためにトラフィックにホールが発生した場合、IPSはそのホールの後にパケットを転送しますが、そのコピーも保持します。これらのパケットを転送しているため、損失はありませんユーザーエクスペリエンスで。
再送信されたパケットが全体を埋める(パズルを完了する)と、IPSは、格納されたすべてのパケットを順番に分析します。これらを1つのストリームに結合するため、パケット間で分割された要求は問題ありません。これらのパケットのいずれかがシグネチャをトリガーすると、IPSは再送信されたパケットをブロックし、TCP RSTパケットとの接続を強制終了します。バッファリングしていた穴の後にフラグメントをドロップします。
したがって、パケットはIPSを介して本質的にゼロの遅延でストリーミングされますが、同時にTCPは問題なく再構成されます。
過去10年間、ハッカーはこのシステムを攻撃する方法を開発してきました。たとえば、さまざまなデータを含むTCPセグメントを再送信します。同様に、IPSベンダーは、分析する正しいセグメントを選択できるように、再構築アルゴリズムをターゲットシステムと一致させるため。
また、IPSは完全なHTTP処理も行います。同様に、IPSを回避するためにHTTPリクエストを破損させる方法があります。IPSベンダーは、 。
その結果、IPSはWebリクエストのレイテンシを約100マイクロ秒(または0.1ミリ秒)しか導入しませんが、TCP問題ない。
あなたが探しているのはWebアプリケーションファイアウォール(WAF)だと思います[OWASPがこれについて説明します ここ] アプリケーション層で渡されるものではなく、トラフィックフロー。
WAFはスタック内の上位レベルで機能し、SQLiやXSSなど、有害であると見なされるパターンに一致する会話を除外します。
* nix環境では、標準の ModSecurity があります。 Cisco、Checkpoint、F5、Fortinet、SonicWallなどからも入手可能な複数の商用アプライアンスがあります。