Linux勧告ウォッチ - 2006年1月6日(金)
IPv6のVoIP向けTCP SYNフラッド攻撃対策(パートIII)
著者:Suhas Desai
5. SYNフラッド攻撃
通常のTCP接続の開始時には、接続先のホストは接続元のホストからのSYN(同期/開始)パケットを受け取り、SYN ACK(接続確認応答)を送り返す。次に、接続先ホストがSYN ACKのACK(確認応答)を受け取り、そこで接続は確立される。これは、”TCPスリーウェイ・ハンドシェイク”と呼ばれている。
接続先ホストでは、SYN ACKに対するACKを待つ間、有限サイズの接続キューで確立前の接続をトラックする。SYN ACKから数ミリ秒以内にACKを受け取ることになるため、このキューは通常、すぐに空になる。
TCP SYNフラッド攻撃はこの仕組みを悪用し、ランダムな発信元アドレスで接続元ホストから標的のホストへのTCP SYNパケットを生成させる。標的の接続先ホストはそのランダムな発信元アドレスへSYN ACKを送り返し、接続キューにエントリを追加する。そのSYN ACKは、正しくないまたは存在しないホストに送信されることになるので、”スリーウェイ・ハンドシェイク”の最後の部分は完了せず、接続キューのエントリはタイムアウトになるまで残ったままになる。タイムアウトまでは通常1分ほどかかる。
偽のTCP SYNパケットをランダムなIPアドレスから短時間に大量に生成すれば、接続キューがいっぱいになって、電子メール、ファイル転送、WWWなどのTCPサービスが正当なユーザに対して拒否されることになる。
発信元のIPアドレスが偽装されているため、この攻撃の犯人を突き止めることは容易ではない。
5.1 TCP SYNフラッド
TCP SYNフラッド攻撃は偽のTCP接続要求を使った攻撃で、偽の接続要求は偽装された発信元IPアドレスで作成され、標的のシステムへ送信される。接続要求は完了しないので、標的となったシステムの接続要求テーブルはすぐにいっぱいになってしまい、それ以降の正当な接続要求を受け付けることができなくなる。
攻撃に使用される接続元のホストからは、標的のホストへSYNパケットが送信される。標的のホストはこれに応答して、偽装された発信元IPアドレスの正当なユーザへSYN/ACKを送り返す。
発信元IPアドレスが偽装されているのでSYN/ACKは到達せず、標的のシステムにはこれに応答するACKパケットが来ない。標的のシステムの接続要求テーブルはこうしていっぱいになってしまう。
この攻撃は、標的のシステムから偽装発信元IPアドレスに到達できない場合に成功する。標的となったシステムから偽装発信元IPアドレスに到達でき、その発信元IPアドレスの正しいユーザがRSTパケットで標的のホストに応答すれば、接続は終了され、攻撃は失敗する。
TCP SYNフラッド攻撃はDenial of Service攻撃の1つであり、プロトコル実装で処理可能なTCP SYNパケット数を超えるパケットをホストに送信する。
これは、接続テーブルをいっぱいにしてサーバが正当な要求へサービスできなくするという、リソース枯渇DoS攻撃である。
5.2 TCP SYNフラッド対策
5.2.1 オペレーティングシステムの修正の適用
システムで不完全な接続要求を定期的にチェックし、スリーウェイ・ハンドシェイクを完了していない接続をランダムにクリアする。こうすることで、SYN攻撃の成功によって完全にブロックされる確率が減り、正当なクライアント接続を続行できるようになる。
- TCP SYNトラフィックレート制限を設定する
- TCP SYNフラッド攻撃を検出できるIDS(侵入検出システム)をインストールする
回線レベルのファイアウォール(ステートフル検査)を使用して、新しい各接続のハンドシェイクを監視し、確立されたTCP接続の状態を管理する。フィルタリングシステムによって、ネットワークサービスの不正使用と正当な使用を見分けることが必要だ。
静的パケットフィルタリング(ステートレス)では、TCP SYNフラッド攻撃は防止できない。
記事全文:
http://www.linuxsecurity.com/content/view/121169/49/
Debian | ||
Debian:tkdiffパッケージの安全でない一時ファイル作成の修正 | ||
2005年12月29日
|
||
Gentoo | ||
Gentoo:scponlyの権限昇格の複数の問題 | ||
2005年12月29日
|
||
Gentoo:XnViewの権限昇格 | ||
2005年12月30日
|
||
Gentoo:pinentryのローカル権限の昇格 | ||
2006年1月3日
|
||
Gentoo:KPdf、KWordのXpdfコードの複数のオーバーフロー | ||
2006年1月4日
|
||
Mandriva | ||
Mandriva:libgphotoパッケージの一部のカメラでの問題の修正 | ||
2005年12月29日
|
||
Mandriva:printer-filters-utilsパッケージのローカルの弱点の修正 | ||
2005年12月30日
|
||
Mandriva:nss_ldapパッケージの多数メンバを持つグループのバグの修正 | ||
2006年1月2日
|
||
Mandriva:mdkonlineパッケージの複数のバグの修正 | ||
2006年1月2日
|
||
Mandriva:tkcvsパッケージの安全でない一時ファイルの弱点の修正 | ||
2006年1月4日
|
||
Mandriva:etherealパッケージの弱点の修正 | ||
2006年1月4日
|
||