6

サーバーが DoS 攻撃を回避するために SYN Cookie を実装しているが、サーバーが SYN Cookie を使用していることを攻撃者が知っている場合、攻撃者は ACK を送信するだけで半分/完全に開いた接続を作成できる可能性はありますか?

SYN Cookie はアルゴリズムを使用して一意の初期接続を作成し、攻撃者のハンドシェイクが不完全な場合、SYN はドロップされ、有効な SYN-ACK を受信することによってのみ再作成できることを知っています。

しかし、攻撃者はどうにかして対処できますか?

4

1 に答える 1

2

いいえ、TCP 3 ウェイ ハンドシェイクを完了するために攻撃者が SYN 初期シーケンス値を知ることはできません。さらに、SYN Cookie を使用している場合、TCP ポートをハーフオープン状態にすることはできません。その答えは暗号に根ざしています。

SYN Cookieの実装では、対称暗号を使用できます。シーケンス ID を生成します。たとえば、マシンが起動すると、すべての TCP シーケンス ID に使用されるランダムな秘密鍵が生成されます。マシンが開いているポートに SYN パケットを受信すると、サーバーの IP アドレス、クライアントの IP アドレス、および使用されているポート番号を暗号化してシーケンス ID を生成します。サーバーは、送信した SYN 初期シーケンス ID を追跡する必要がないため、クライアントごとの状態を持たず、この "ハーフオープン" tc​​p ソケットの考え方は実際には適用されません (at-少なくとも DoS に関しては)。クライアントが SYN-ACK パケットを送り返すとき、SYN 初期シーケンス ID を含める必要があります。サーバーがこの最初のシーケンス ID を SYN-ACK パケットでクライアントから取得すると、サーバーの IP アドレスを暗号化することで逆方向に動作できます。

于 2012-07-10T23:14:44.027 に答える