UDP攻击是什么?
互联网安全 2026-09-18 15:16 429

UDP 是无连接、不可靠的传输层协议(RFC 768),不保证交付、顺序与去重,也无流控与拥塞控制,发送方无需握手即可直接投递数据报,接收方在缓冲区耗尽时静默丢弃。因此,持续注入 UDP 报文可快速消耗目标的入口带宽、包处理能力与协议栈资源。UDP 洪泛通常将报文发往随机目的端口,其目的在于规避端口过滤、提高命中开放端口的概率,而非增加接收端解析负担——端口分发依赖哈希查表,开销很低。当目的端口无对应服务时,主机按 RFC 1122 回送 ICMP 端口不可达,但该行为受速率限制约束,且对源地址无效、广播及非首片等情形不应回送,故不应假设逐包响应。攻击者通常伪造源 IP,既隐藏身份,也使响应流量转向被冒名地址,这正是反射放大攻击的基础。除带宽饱和外,UDP 洪泛还会消耗转发与软中断处理能力,并可能连带影响共享上游链路的其他主机。

打个比方

网络传输有两种寄东西的方式。

TCP 像打电话:要先拨通、等对方"喂"一声、确认听得见,才开始说话。稳,但麻烦。

UDP 像寄明信片:直接扔进邮筒就走,不问对方收没收到、信箱满没满。快,但啥也不保证。

所以 UDP 天生有个特点:寄信的人想寄多少就寄多少,收信的人一点办法都没有。 不像打电话,你可以说"你慢点说我跟不上了"——UDP 连这句抱怨的机会都没有。

UDP 洪泛:往你家信箱疯狂塞信

攻击者做的事很直白:找一大群机器,往你家信箱里疯狂塞明信片。

信箱满了怎么办?邮递员就把后面来的直接扔掉。听起来好像没啥损失?问题是门口那条路被送信的堵死了——真正要给你送重要信件的人,也挤不进来了。

这就是 UDP 洪泛:不是要你的命,是要把你家门口堵成一锅粥。

为什么信封上要写假地址

攻击者通常会在信封上写别人的地址。

这样一来,你收到信以后按规矩回的那句"这儿没这个人",就寄到那个被冒名的人家里去了。于是那个人莫名其妙被一堆回信淹没。

这叫反射——攻击者躲在后面,让两家素不相识的人互相伤害。这也是为什么要治本:如果全世界都不允许随便写假地址,这招就基本废了。

真正狠的一招:放大攻击

这是老教材最容易漏掉、但现实中杀伤力最大的一招。

攻击者寄一张很小的纸条,上面写着一句看似普通的话,比如"请把这份资料清单寄给我"。对方老老实实回寄了一大包资料。但地址写的是受害者家里。

一张小纸条,换来一大包东西,而且全砸在那个倒霉蛋门口。

现实中有些服务就是这种"问得少、答得多"的性格,最夸张的能被放大到几万倍。所以攻击者自己根本不需要多大带宽:几十兆的源头,放大之后就能变成把整个机房打瘫的洪水。

这就是为什么新闻里动不动就是"1 Tbps 攻击"——那不是攻击者自己掏的带宽,是全世界被利用的服务器一起帮的忙。

三个常见的误读,顺便纠一下

"接收方必须处理"——不对。 准确说是:你不想收也得先接住,接不住就直接扔。信箱满了就掉地上,寄信的人不会知道,也不会重寄。

"随机端口是为了让服务器费力分析"——说反了。 攻击者乱塞门牌号,是为了躲开"只拦某号门"的保安规则,顺便赌哪扇门开着。对服务器来说,看门牌号是很轻松的事,根本不是负担。

"没这号门就会回一句告知"——不是每封都回。 规矩上本来就禁止对一些情况回信,现代系统还加了限速,不可能来一封回一封。所以"回信把你的出口也堵死"这个说法要打个折。

怎么防

别想着把 UDP 全封了。 DNS 解析、网页新协议、视频通话、在线游戏全靠它,全封等于自己把网断了。

默认不开门,只开必要的门。 这是正道。然后在门口加个限速:同一个地址的信,一分钟最多收几封,超了直接扔。

流量太大就找上游帮忙。 超过自己线路能扛的量时,本地怎么调都没用,得靠运营商或者云防护在更前面拦住。

自己别当帮凶。 这点最容易被忽略:你家如果开着对外公开的缓存服务、时间服务或 DNS 服务,配置没管好,就可能被攻击者借去当"帮忙回信的那个人"。查一遍自己的服务器有没有这类对外开放的无用服务,该关就关。

从源头治本。 让网络设备不认假地址,是消灭反射放大最根本的一招。这需要整个行业一起做,但你自己的出口也可以先做。

Powered by ©IDCSMART