メインコンテンツまでスキップ

2. Background (背景)

2. Background (背景)

TCP SYN フラッディング問題の簡略化された図を以下に示します:

                                                204.69.207.0/24
host <----- router <--- Internet <----- router <-- attacker

TCP/SYN
<---------------------------------------------
Source: 192.168.0.4/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 10.0.0.13/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 172.16.0.2/32
SYN/ACK
no route

[etc.]

仮定:

  • "host" は標的となるマシンです。

  • 攻撃者は "有効な" プレフィックス 204.69.207.0/24 内に存在します。

  • 攻撃者はランダムに変化する送信元アドレスを使用して攻撃を開始します。この例では, 送信元アドレスは [4] から描かれており, 一般的にグローバルインターネットルーティングテーブルに存在せず, したがって到達不可能です。しかし, この攻撃方法を実行するためには, 到達不可能な任意のプレフィックスが使用される可能性があります。

また, 送信元アドレスが, グローバルルーティングテーブルに表示される別の合法的なネットワーク内から発信されたかのように偽造されるケースも言及する価値があります。例えば, 有効なネットワークアドレスを使用する攻撃者は, 実際には攻撃を発信しておらず完全に無実である組織から来たかのように攻撃を見せかけることによって, 大混乱を引き起こす可能性があります。このような場合, 攻撃を受けているシステムの管理者は, 見かけ上の攻撃元から来るすべてのトラフィックをフィルタリングする傾向があるかもしれません。このようなフィルタを追加すると, 合法的で敵対的ではないエンドシステムへのサービス妨害という結果になります。このケースでは, 攻撃を受けているシステムの管理者は, 知らず知らずのうちに攻撃者の共犯者となります。

さらに事態を複雑にしているのは, TCP SYN フラッド攻撃により, 攻撃には全く関与していないが二次的な被害者となる一つまたは多数のホストに SYN-ACK パケットが送信されることです。これにより, 攻撃者は一度に二つ以上のシステムを悪用することができます。

同様の攻撃が UDP および ICMP フラッディングを使用して試みられています。前者の攻撃 (UDP フラッディング) は, 偽造されたパケットを使用して, chargen UDP サービスを別のサイトの echo UDP サービスに接続しようとします。システム管理者は, 管理ドメインの外部からシステム診断ポート宛ての UDP パケットがシステムに到達することを決して許可してはなりません (NEVER)。後者の攻撃 (ICMP フラッディング) は, IP サブネットブロードキャスト複製メカニズムの陰険な機能を使用します。この攻撃は, 大規模なマルチアクセスブロードキャストネットワークにサービスを提供しているルータが, IP ブロードキャストアドレス (10.255.255.255 宛てのようなもの) を Layer 2 (レイヤ2) ブロードキャストフレーム (イーサネットの場合, FF:FF:FF:FF:FF:FF) にフレーム化することに依存しています。イーサネット NIC ハードウェア (具体的には MAC 層ハードウェア) は, 通常動作では選択された数のアドレスのみをリッスンします。通常動作においてすべてのデバイスが共通して持つ一つの MAC アドレスは, メディアブロードキャスト, つまり FF:FF:FF:FF:FF:FF です。このケースでは, デバイスはパケットを受け取り, 処理のための割り込みを送信します。したがって, これらのブロードキャストフレームのフラッドは, エンドシステム上で利用可能なすべてのリソースを消費します [9]。システム管理者は, デフォルトとして, 境界ルータが directed broadcast パケットをルータ経由で転送することを許可しないことを確実にすることを検討するのが賢明かもしれません。

到達不可能な送信元アドレスを使用して TCP SYN 攻撃が開始されると, 標的ホストは応答を待ちながらリソースを予約しようと試みます。攻撃者は送信される新しいパケットごとに偽の送信元アドレスを繰り返し変更し, それによって追加のホストリソースを枯渇させます。

あるいは, 攻撃者が他の誰かの有効なホストアドレスを送信元アドレスとして使用する場合, 攻撃を受けているシステムは, 接続確立シーケンスの発信者であると信じているものに対して大量の SYN/ACK パケットを送信します。この方法で, 攻撃者は二つのシステムに損害を与えます: 宛先の標的システムと, グローバルルーティングシステムで実際にスプーフされたアドレスを使用しているシステムの両方です。

両方の攻撃方法の結果は, 極度に劣化したパフォーマンス, あるいはさらに悪い場合はシステムクラッシュです。

この脅威に対応して, ほとんどのオペレーティングシステムベンダーは, 標的となるサーバーが非常に高い接続試行率での攻撃に耐えられるようにソフトウェアを修正しました。これは問題の解決策の歓迎すべき必要な部分です。入口フィルタリングが広範囲に実装され完全に効果的になるには時間がかかりますが, オペレーティングシステムへの拡張は迅速に実装できます。この組み合わせは, 送信元アドレススプーフィングに対して効果的であることが証明されるはずです。ベンダーおよびプラットフォームのソフトウェアアップグレード情報については [1] を参照してください。