【しんふらっどこうげき】

SYNフラッド攻撃 とは?

💡 握手だけして逃げる!接続要求で溢れさせる攻撃
📌 このページのポイント
SYNフラッド攻撃 攻撃者 偽装IP サーバー SYNキュー 半開き接続1 半開き接続2 半開き接続3 半開き接続4 半開き接続5 ... キュー溢れ! SYN SYN SYN SYN-ACK(届かない) 正規ユーザー 接続できない
SYNフラッド攻撃のイメージ
ひよこ ひよこ

SYNフラッド攻撃ってどういう仕組みなの?

ペンギン先生 ペンギン先生

TCPの接続は3ウェイハンドシェイクで始まるんだけど、攻撃者はSYN(接続要求)だけ大量に送って、その後のACKを返さないんだ。サーバーは返事を待ち続けて、接続待ちのキューがいっぱいになってしまうよ

ひよこ ひよこ

握手を求めておいて無視するってことなんだね!

ペンギン先生 ペンギン先生

そうそう。しかも送信元IPアドレスを偽装するから、サーバーは存在しない相手にSYN-ACKを返すことになる。返事が来るはずもないのに何秒もタイムアウトを待ち続けるんだ

ひよこ ひよこ

どうやって防ぐの?

ペンギン先生 ペンギン先生

SYN Cookieという技術が有効だよ。接続待ちテーブルにエントリを作る代わりに、SYN-ACKのシーケンス番号に接続情報を暗号化して埋め込むんだ。正規のACKが返ってきた時だけリソースを割り当てるから、メモリを消費しないよ

ひよこ ひよこ

今でもよくある攻撃なのかな?

ペンギン先生 ペンギン先生

DDoS攻撃の定番で今でも頻繁に使われているよ。ただ現代のOSはSYN Cookieデフォルトで有効だし、クラウドのDDoS防御サービスがフィルタリングしてくれるから、昔ほど簡単には倒されなくなっているんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SYNフラッド攻撃」って出てきたら「大量の偽接続要求でサーバーをパンクさせる攻撃」と思えればだいたいOK!
📖 おまけ:英語の意味
「SYN Flood Attack」 = SYN洪水攻撃
💬 SYN(同期)パケットでFlood(洪水)のように溢れさせる攻撃だよ
← 用語集にもどる