handshake ◦ A → B: SYN; my number is X (シーケンス番号) ◦ B → A: ACK; now X + 1 (確認応答番号), SYN; my number is Y ◦ A → B: ACK; now Y + 1 (start talking) • SYN flood ◦ SYNだけいっぱい送ってACKを相手に返さない → half open状態のコネクション情報を保持 する構造体がいっぱい溜まる ◦ SYN cookieによる対策 ▪ コネクション情報をパケットに乗せて返答し、相手のACKに乗って返ってきたその情報 を見てコネクションをopen • 無駄な領域がサーバーに作られない • SYN reflection ◦ 送信元を偽ってSYNパケットを送りつける→DoS攻撃 (再送があるのでその回数分増幅される) 10