ネットワーク攻撃

SYNフラッド攻撃 しんふらっどこうげき

DoS攻撃TCPハンドシェイクSYNパケットDDoSファイアウォールSYN Cookie
SYNフラッド攻撃について教えて

簡単に言うとこんな感じ!

お店に「予約したい!」という電話をひたすらかけまくって、スタッフを全員電話対応で占領し、本当のお客さんが入れないようにする嫌がらせだよ。サーバーをこの手口で”つながらない状態”にする攻撃なんだ!


SYNフラッド攻撃とは

SYNフラッド攻撃(SYN Flood Attack)は、TCP通信の接続開始手順(スリーウェイハンドシェイク)の仕組みを悪用したDoS攻撃の一種です。攻撃者は大量の「接続要求(SYNパケット)」をサーバーに送りつけ、サーバーの接続待ちリソースを枯渇させることで、正規のユーザーがサーバーにアクセスできない状態を作り出します。

TCP通信では、クライアントとサーバーが「SYN → SYN-ACK → ACK」の3ステップで接続を確立します。SYNフラッド攻撃では、攻撃者はSYNパケットを大量に送った後、最後のACKを意図的に返さないことで、サーバーに「半開き状態の接続(ハーフオープン接続)」を大量に溜め込ませます。この状態が続くとサーバーのメモリや接続管理テーブルが埋め尽くされ、正規の接続要求を処理できなくなります。

1990年代から知られる古典的な攻撃手法でありながら、今日でもDDoS(分散型サービス妨害)攻撃の一形態として多用されています。特に攻撃者が送信元IPアドレスを偽装(IPスプーフィング して送り込むケースが多く、追跡・遮断が難しい点が依然として課題です。


TCPスリーウェイハンドシェイクと攻撃の仕組み

SYNフラッド攻撃を理解するには、まず正常なTCP接続の流れを知る必要があります。

ステップ送信元パケット種別意味
1クライアント → サーバーSYN「接続したいです」
2サーバー → クライアントSYN-ACK「わかりました。準備できています」
3クライアント → サーバーACK「確認しました。通信開始します」

SYNフラッド攻撃では、ステップ3のACKが永遠に返ってこないため、サーバーはタイムアウトするまで「半開き接続」としてリソースを確保し続けます。

【正常な接続】
クライアント          サーバー
    |  ──SYN──────→  |  ← 接続要求
    |  ←──SYN-ACK──  |  ← サーバー応答
    |  ──ACK──────→  |  ← 接続確立!

【SYNフラッド攻撃】
偽装IP① ──SYN──→ サーバー  ← ACKが来ない…
偽装IP② ──SYN──→ サーバー  ← ACKが来ない…
偽装IP③ ──SYN──→ サーバー  ← ACKが来ない…
(大量に繰り返す)
         → 半開き接続でテーブルが満杯に
         → 正規ユーザーのSYNが処理できない!

覚え方:「返事待ちで立ったまま倒れる」

SYNフラッドは「返事待ちのサーバーを立ち尽くしで倒す」攻撃、と覚えましょう。飲食店で「席を取り置きして」と何百人もが電話してきて、全員キャンセル連絡なしで来ない……そのまま席が全部塞がって本物のお客さんが入れない状態そのものです。

ハーフオープン接続テーブルの枯渇

サーバーはOSレベルで「接続待ちキュー(バックログキュー)」を管理しています。このキューのサイズには上限があり、SYNフラッドによって上限に達すると新しいSYNを一切受け付けなくなります

項目内容
半開き接続の保持時間デフォルトで約75秒(OSにより異なる)
バックログキューの上限数十〜数千エントリ(設定次第)
攻撃に必要な帯域比較的低帯域でも成立する
効果が出る速度秒単位でサービス不能になりうる

歴史と背景

  • 1994年頃 — TCPスタックの脆弱性として研究者が問題を認識し始める
  • 1996年 — Phrack誌にSYNフラッドの技術的解説が掲載され、攻撃手法として広く知られるようになる
  • 1996年 — 著名なセキュリティ研究者フィル・カーンズらがSYN Cookieによる対策を提唱
  • 1997年RFC 2018 などを通じてTCPの堅牢化議論が加速
  • 2000年代ボットネットを利用したDDoS型SYNフラッドが急増。個人では防ぎきれない規模に
  • 2010年代以降 — クラウド型DDoS対策サービス(CDNやスクラビングセンター)が普及し、大規模攻撃への対抗手段が整備される
  • 現在 — ランサムDDoSや競合妨害目的でのSYNフラッドが引き続き報告されており、攻撃量は年々増加傾向

主な対策技術と比較

SYNフラッド攻撃に対しては、複数の防御手法が組み合わせて使われます。

SYNフラッド攻撃の対策レイヤー SYN Cookie 接続テーブルを使わず クッキーで状態管理 OS設定で有効化可能 ★ 最も基本的な対策 ファイアウォール レート制限で SYN量を制御 不審IPをブロック ★ 境界防御の定番 DDoS対策サービス クラウドで大量の トラフィックを吸収 スクラビング処理 ★ 大規模攻撃に有効 多層防御(ディフェンス・イン・デプス) 複数の対策を組み合わせて堅牢化する サービス継続 正規ユーザーが攻撃中も利用できる状態を維持

対策手法の比較

対策手法仕組み導入コスト大規模攻撃への効果
SYN CookieOS側で接続テーブル不要な認証低(OS設定のみ)
ファイアウォールのレート制限単位時間あたりのSYN数を制限低〜中
IPS/IDS攻撃パターンを検知・遮断
クラウドDDoS対策サービス上流でトラフィックを洗浄中〜高
バックログキューの拡大タイムアウト短縮・キュー増加低(根本対策ではない)

SYNフラッドとその他のDoS攻撃との違い

攻撃種別狙い特徴
SYNフラッド接続管理リソースの枯渇低帯域で成立しやすい
UDPフラッド帯域の占有大帯域が必要
HTTP SlowlorisHTTPスレッドの枯渇非常に低速・低帯域
増幅攻撃(DNS/NTP)帯域増幅による攻撃小さい送信で大きな被害

関連する規格・RFC

規格・RFC番号内容
RFC 793TCPの基本仕様。SYNフラッドが悪用するスリーウェイハンドシェイクを定義
RFC 4987TCPのSYNフラッド攻撃とSYN Cookieによる対策の解説
RFC 6528TCPシーケンス番号のランダム化によるなりすまし対策
RFC 3552インターネットセキュリティのガイドライン(DoS攻撃への言及を含む)

関連用語