Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

UDPフラッド攻撃(ユーディーピーフラッドコウゲキ)とは | 意味や読み方など丁寧でわかりやすい用語解説

UDPフラッド攻撃(ユーディーピーフラッドコウゲキ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

UDPフラッド攻撃 (ユーディーピーフラッドコウゲキ)

英語表記

UDP Flood Attack (ユーディーピーフラッドアタック)

用語解説

UDPフラッド攻撃は、User Datagram Protocol (UDP) の特性を悪用し、標的となるサーバーやネットワークを過負荷状態に陥らせるDoS(Denial of Service)攻撃の一種だ。これは、インターネット上で提供される様々なサービスにとって深刻な脅威となり得る。攻撃者は大量のUDPパケットを送りつけることで、正当な通信を妨害し、サービスを停止させたり応答を著しく遅延させたりすることを目指す。

この攻撃を理解するには、まずUDPプロトコルの基本的な性質を知る必要がある。UDPはTCP(Transmission Control Protocol)と同じく、トランスポート層で動作するプロトコルだが、その設計思想は大きく異なる。TCPが通信相手との接続を確立し(ハンドシェイク)、データの到達確認や順序保証、再送制御などを行うことで信頼性の高い通信を提供するのに対し、UDPはこれらの信頼性保証メカニズムを持たない「コネクションレス型」のプロトコルだ。つまり、通信を開始する前の接続確立のやり取りが不要で、データを一方的に送りつけることができる。そのため、オーバーヘッドが非常に小さく、高速なデータ転送が可能となる利点を持つ。DNS(Domain Name System)の名前解決やNTP(Network Time Protocol)による時刻同期、オンラインゲーム、音声や動画のリアルタイムストリーミングなど、多少のパケット損失が許容され、かつ速度が重視されるサービスで広く利用されている。

UDPフラッド攻撃は、このUDPの特性、特に「コネクションレス型であること」と「受信側での処理コスト」を悪用する。攻撃者は、標的とするサーバーに対し、大量のUDPパケットを送りつける。これらのパケットは、通常、実在しない、あるいは攻撃者とは無関係な送信元IPアドレスを持つように偽装されている。これは「IPスプーフィング」と呼ばれる手法だ。

攻撃パケットを受信したサーバーは、まずそのUDPパケットがどのアプリケーション(ポート番号)宛てであるかを識別しようとする。もしそのポートで待機しているアプリケーションがなければ、サーバーは標準的なプロトコルに従い、受信したUDPパケットの送信元IPアドレスとポートに対し、「ICMP Port Unreachable」というメッセージを返そうとする。このICMPメッセージは、「指定されたポートには誰もいない」ことを送信元に通知するためのものだ。

ここで問題となるのが、攻撃者が送信元IPアドレスを偽装している点だ。サーバーは偽装された送信元IPアドレスに対してICMPメッセージを返そうとするが、そのアドレスは実在しないか、あるいは無関係な第三者のアドレスであるため、メッセージは正しく届かない。しかし、サーバー側では、受信した大量のUDPパケットそれぞれに対して、対応するアプリケーションの探索、そして見つからない場合のICMP Port Unreachableメッセージの生成と送信を試みるという一連の処理が繰り返される。

この無駄な処理が、サーバーのCPU、メモリ、そしてネットワーク帯域といったリソースを大量に消費させる。正当なユーザーからのリクエストを処理するためのリソースが枯渇し、結果としてサービスが応答しなくなったり、通信速度が著しく低下したり、最終的にはサービスが完全に停止する事態に陥る。これがUDPフラッド攻撃の基本的なメカニズムだ。

UDPフラッド攻撃による影響は多岐にわたる。標的とされたサーバーのサービスが停止するだけでなく、同一ネットワーク上の他の機器やサービスにも影響が及ぶ可能性がある。攻撃トラフィックによってネットワーク回線が飽和状態になれば、その回線を利用する全ての通信が麻痺してしまう。これは、ビジネスの機会損失、企業の信頼性の低下、そして復旧のための多大なコストにつながる深刻な問題だ。

このような攻撃に対する対策としては、複数のレベルでのアプローチが求められる。ネットワークレベルでは、ファイアウォールや侵入検知システム(IDS)、侵入防止システム(IPS)を導入し、不正なUDPトラフィックを検出・フィルタリングすることが重要だ。特定のポートへのトラフィック量を監視し、異常な増加があった場合に制限をかけるレートリミット機能も有効だ。また、ISP(インターネットサービスプロバイダ)側での対策となるが、送信元IPアドレスの偽装を防ぐためのエグレスフィルタリング(ネットワークから出ていくパケットの送信元IPアドレスがそのネットワークの範囲内のものであるかを確認する)の徹底も、攻撃の拡散を防ぐ上で非常に重要となる。

サーバーレベルでは、不要なUDPポートは閉鎖し、必要なポートであってもアクセス制御リスト(ACL)を設定して、許可されたIPアドレスからの通信のみを受け入れるように制限することが有効だ。また、オペレーティングシステムの設定を調整し、ICMPエラーメッセージの生成レートに上限を設けることで、攻撃時のリソース消費を抑制できる場合もある。

さらに、大規模なUDPフラッド攻撃、特にDDoS(Distributed Denial of Service)攻撃のように複数の攻撃元から大量のトラフィックが押し寄せる場合には、自社での対策だけでは対応が困難な場合が多い。このような際には、CDN(Contents Delivery Network)サービスや専門のDDoS緩和サービスプロバイダの利用が有効だ。これらのサービスは、攻撃トラフィックを吸収し、フィルタリングする「スクラビングセンター」と呼ばれる大規模なインフラを持っており、正当なトラフィックだけを標的サーバーに転送することで、サービスを保護する役割を果たす。

UDPフラッド攻撃は単純なメカニズムながらも、UDPの特性を巧みに悪用するため、適切な対策が講じられていないシステムにとっては致命的な脅威となる。システムを設計・運用する際には、UDPサービスの利用状況を把握し、潜在的な攻撃リスクを常に考慮することが重要となる。

関連コンテンツ