研究人员发现,黑客现在采用新的手段来对抗反DDoS方案。黑客会使用通用即插即用(UPnP)协议来掩盖网络数据包的源端口。
DDoS解决方案公司Imperva表示,它发现至少有两次DDoS攻击用到了这种技术。
如何
利用UPnP
问题的来源在于通用即插即用(UPnP)协议,这个协议原本的目的是简化在本地网络上发现附近设备的过程。
UPnP协议的特点是它能够将互联网连接转发到本地网络。把连接映射到本地。
此功能能够被用来穿透NAT,网络管理员也可以远程访问内网里的服务。
“但是,很少有路由器真的会确认内网IP,因此路由器会执行所有的转发规则,”Imperva的研究人员说。
这意味着如果攻击者设法污染端口映射表,他可以使用路由器作为代理,并且把IP重定向。
实际上利用UPnP进行攻击并不新鲜。Akamai就曾介绍过这种攻击,并把它称为UPnProxy。
UPnProxy能做什么?
Imperva表示,这个技术也被用于进行DDoS攻击,目的是掩盖DDoS放大攻击(也被称为反射攻击)的源端口。
DDoS放大攻击需要由攻击者发送数据包并通过欺骗性IP将其发送给受害者。
在传统的DDoS放大攻击中,源端口指向的始终是放大攻击服务的端口。例如,DNS放大攻击时从DNS服务器反弹的数据包的源端口号为53,而NTP放大攻击的源端口号为123。
基于这个原理,那些抗DDoS的服务可以屏蔽指定源端口来阻止DDoS攻击。
但是如果黑客使用了UPnProxy,就可以修改端口映射表,可以把端口映射为随机,从而绕过DDoS防御服务。
Imperva表示,它开发了一个PoC脚本,成功测试复现了他们发现的DDoS攻击。
这段PoC代码会寻找那些暴露rootDesc.xml文件的路由器,这个文件包含端口映射配置,脚本会添加隐藏源端口的自定义端口映射规则,然后发起DDoS放大攻击。
使用UPnP进行DDoS可以达到显著的效果,因此如果没有意外的话会被黑客们广泛使用。建议大家如果没有使用的需要就把路由器的UPnP功能关闭。