SYNフラッド攻撃

読み:しんふらっどこうげき / 英語表記:SYN flood attack

TCPの接続要求(SYN)だけを大量に送りつけ、サーバが接続の準備のために確保する資源を使い果たさせるDoS攻撃。

イマシルちゃんの解説

電話で「もしもし」とだけ言って、相手が「はい、聞こえますよ」と答えても、何も言わずに放っておく……。
これをものすごい数の電話で一斉にやられたら、本当に用事のある人からの電話がつながらなくなっちゃうよね。

SYNフラッド攻撃は、TCPの3ウェイハンドシェイクの「最初の一言」だけを大量に送って、
サーバを待ちぼうけにさせる攻撃なんだよ。

より深い解説

定義

SYNフラッド攻撃は、TCPの3ウェイハンドシェイクを悪用するDoS攻撃である。攻撃者は、SYNパケットを大量に送るが、サーバが返すSYN+ACKに対する最後のACKを送らない。

仕組み

  1. サーバは、SYNを受け取るたびに、コネクションの情報を保存するメモリを確保し、SYN+ACKを返す
  2. サーバは、最後のACKが届くまで、その接続を途中の状態(SYN-RECEIVED、ハーフオープン)のまま保持する
  3. 攻撃者はACKを送らず、送信元IPアドレスを偽ってSYNを送り続ける
  4. 途中の状態の接続が上限に達すると、正規の利用者からの接続要求を受け付けられなくなる

送信元アドレスを偽ることが多いため、送信元を特定して遮断するのが難しい。

対策

対策内容
SYN CookieSYNを受け取っても資源を確保せず、接続の情報を暗号的に計算したシーケンス番号に埋め込んでSYN+ACKを返す。正しいACKが返ってきたときに初めて資源を確保する
待ち時間の短縮ハーフオープンの接続を保持する時間を短くする
待ち行列の拡大途中の状態の接続を保持できる数を増やす
ファイアウォール、IPS短時間に大量のSYNを送る送信元を検知して遮断する

ほかのDoS攻撃との違い

攻撃使い果たさせるもの
SYNフラッド攻撃TCPの接続の準備のための資源(メモリなど)
Slow HTTP DoS攻撃Webサーバの同時接続数(セッション)
DRDoS攻撃回線の帯域

実際の試験ではここに出る!

この用語が出てくる記事

↑