UDPフラッド攻撃
大量のUDPパケットを送り、回線や受信側の処理能力を圧迫するDoS攻撃である。サービスの可用性を損ない、正規の利用者の通信を妨げる。
イマシルちゃんの解説
サーバが受け取れる通信量や、一度に処理できるパケット数には限りがあるよ。
UDPフラッド攻撃は、UDPのパケットを大量に送って、その余裕を奪う攻撃なんだ。
待ち受けるアプリがないポートへ届いた場合も、OSは確認やエラー通知の処理を行うことがあるよ。
ポートを閉じただけでは、受信の負荷までなくなるとは限らないの。
必要のない通信を手前のファイアウォールで制限する対策が使われるよ。
ただし回線そのものが埋まる量なら、通信事業者などと協力して上流で取り除く必要があるんだ。
この解説はわかりやすかったですか?
より深い解説
接続の手続きがない通信を大量に届ける
UDPにはTCPのような接続確立のハンドシェイクがない。受信側は届いたデータグラムの宛先ポートを調べ、待受け中のアプリケーションがあれば渡す。攻撃ではこの受信処理やサービス処理、回線帯域を大量の通信で圧迫する。
標的のポートは一つに限らず、複数のポートへ分散する場合もある。多数の送信元から行う場合はDDoS攻撃となる。
待受けのないポートへの応答
IPv4では、宛先ポートに対応する受信処理がなければ、ICMPのDestination Unreachableを返す場合がある。ポートへ到達できないことを示すタイプ3・コード3がPort Unreachableである。
これを大量に発生させると、ポートの確認やエラー応答の生成が負荷となり得る。ただし、ファイアウォールの破棄やOSのレート制限などで応答が抑えられる場合があり、閉じたポートへの全パケットに必ずICMPが返るわけではない。
防ぐ位置と残る負荷
| 対策 | 抑えられる負荷と限界 |
|---|---|
| 不要なUDP通信の遮断 | サーバへ届くパケットを減らせるが、上流の回線が埋まる問題は残る |
| レート制限 | 一定時間に受け付ける量を制限する。正規通信への影響も確認する |
| 上流のDDoS対策 | 自組織の回線へ入る前に攻撃通信を取り除く |
| 監視 | 通信量、パケット数、送信元分布、機器の負荷から異常を検出する |
DNSやVPNなど、必要なUDP通信まで一律に止めると業務障害になる。許可するサービスと通信相手を整理する。また、パケットを捨てる装置自体の処理能力も必要である。
他のサーバの応答を標的へ向けるリフレクション攻撃や、大きな応答で量を増やす増幅攻撃と組み合わされることもあるが、単にUDPフラッドというだけで必ず反射・増幅を行うわけではない。
参考資料
実際の試験ではここに出る!全1問
ネットワークスペシャリスト
- 午後Ⅱ