技術共有

[ネットワーク] SCTP 4 方向ハンドシェイクが SYN 攻撃に抵抗できる理由

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

SCTP セキュリティの深い理解: 4 ウェイ ハンドシェイクから SYN 攻撃に対する防御まで

導入

ネットワーク通信の世界では、セキュリティと信頼性が非常に重要です。従来の TCP (伝送制御プロトコル) は接続を確立するときに 3 ウェイ ハンドシェイクを使用しますが、このメカニズムには SYN 攻撃などのセキュリティ ホールがいくつかあります。 SCTP (Stream Control Transmission Protocol) は、新しいトランスポート層プロトコルとして、4 ウェイ ハンドシェイク メカニズムを導入することで効果的にセキュリティを向上させます。この記事では、SCTP のセキュリティ上の利点を詳細に要約し、TCP の 3 ウェイ ハンドシェイク メカニズムと比較し、SYN 攻撃の原理とその防御戦略を検討します。

TCP スリーウェイ ハンドシェイクと SYN 攻撃

3ウェイハンドシェイク機構

TCP 接続の確立は、有名な 3 ウェイ ハンドシェイク プロセスに依存します。

  1. クライアントが SYN A を送信: クライアントは、接続を確立したいことを示す同期リクエストをサーバーに送信します。
  2. サーバーは SYN B、ACK A 1 を返します: サーバーはリクエストを受信した後、リクエストをキャッシュし、同期応答と確認をクライアントに送信します。
  3. クライアントはACK B 1を送信します: サーバーからの応答を受信した後、クライアントはサーバーに確認情報を送信し、接続の確立を完了します。

SYN攻撃の原理

SYN 攻撃は、TCP 3 ウェイ ハンドシェイク プロセスの弱点を悪用します。攻撃者は、ハンドシェイクの最終ステップを完了せずに、サーバーに大量の SYN リクエストを送信することでこれを実行します。このとき、サーバーは多数のクライアントを SYN-RECV ステータスに維持するため、サーバーのリソースが枯渇し、新しい SYN リクエストがあるとそれらは破棄され、通常のサービスに影響します。

SCTP の 4 方向ハンドシェイクとセキュリティの向上

4ウェイハンドシェイク機構

SCTP は、4 番目のハンドシェイクを導入することにより、接続確立のセキュリティを向上させます。

  1. クライアントが INIT を送信する: クライアントは初期化リクエストをサーバーに送信します。
  2. サーバーが INIT ACK を返す: 初期化リクエストを受信した後、サーバーは確認を返します。
  3. サーバーは COOKIE ECHO を送信します: サーバーは COOKIE をクライアントに送信し、クライアントが次のリクエストで COOKIE を運ぶように要求します。
  4. クライアントは COOKIE を保持し、COOKIE A​​CK を送信します: COOKIE を受信した後、クライアントはそれをリクエストに組み込み、サーバーは検証に合格した後に接続を確立します。

クッキーの役割

SCTP の COOKIE メカニズムは、SYN 攻撃に抵抗するための鍵です。サーバーは接続要求を受信すると、すぐにメモリ リソースを割り当てず、COOKIE を生成してクライアントに送信します。クライアントは次のリクエストでこの COOKIE を運び、サーバーはその COOKIE を検証してクライアントの身元とリクエストの正当性を確認することで、無効なリソースの割り当てを回避します。

結論は

TCP と SCTP の接続確立プロセスを比較すると、SCTP は 4 ウェイ ハンドシェイクと COOKIE メカニズムを通じてセキュリティを大幅に向上させていることがわかります。このメカニズムは、SYN 攻撃を回避するだけでなく、サーバー リソースの無駄を削減し、ネットワーク通信の信頼性を向上させます。ネットワーク テクノロジが発展するにつれて、SCTP のこれらの利点により、シナリオによっては TCP よりも SCTP の方が一般的な選択肢となる可能性があります。