「SYN flood」の版間の差分

削除された内容 追加された内容
m編集の要約なし
m wikify
14行目:
SYN flood 攻撃がサーバ上のメモリをどれほど消費するか、簡単に計算してみよう。サーバが帯域 1Gbps の[[イーサネット]]でインターネットと接続されていると仮定すると、外部から送られてくるデータ量は最大約 100メガバイト/秒である。通常の TCP SYN パケットの大きさは 60バイトであるので、1秒間に外部から送信されうる TCP SYN パケットは最大約 200万個になる。SYN flood攻撃では、これらの接続元アドレスは通常すべて異なるアドレスに偽装されているので、サーバは SYN パケットがひとつくるごとに最低でも 16バイトの情報を必要とする。したがって 1Gbps の帯域をフル活用した SYN flood 攻撃がおこなわれた場合、1秒間にサーバが消費するメモリは約 30メガバイトである。さらにサーバは各 SYN パケットを最大 30秒間にわたって保持しなければならない。すると、サーバが持たねばならない合計記憶容量は 900メガバイトになる。SYN flood 攻撃が継続して行われている間は 30秒ごとにこれらの記憶領域がほぼ全面的に書き換えられるうえ、サーバは新しいパケットがくるたびにそれがこれらの情報と一致しているかどうか照合しなければならない。このための処理能力やメモリアクセス速度は現在のほとんどの PC の能力を超えており、このような大規模な SYN flood 攻撃を通常の方法で負荷分散するためには高い能力と高速なメモリをもった専用ルータが必要である。
 
SYN flood 攻撃は、[[1996年]]に米国の大手[[プロバイダ]] Panix のメールサーバがこの攻撃によってダウンしてしまってからよく知られるようになった。当初、この攻撃に対する効果的な防御は存在しないと考えられていた。なぜなら攻撃者は TCP SYN パケットの IPアドレスを偽装することができたためである。サーバから見ると、これは単にランダムな IPアドレスから大量の接続要求が来ているだけで、そのうちのどれが本当に応答すべきでないパケットなのか判断することはできない。しかしその後 [[SYN cookies]] という手法が考案され、SYN flood 時でも正当なクライアントからの接続をある程度処理できるようになった。また、最近はプロバイダによる[[Egress フィルタリング]]も普及してきたため{{要出典}}、偽装されたパケットによる攻撃は難しくなっている。
 
* [http://www.cert.org/advisories/CA-1996-21.html SYN flood攻撃に関する当時の CERT アドバイザリ]