一直以来,DDoS攻击就是网络基础设施和web应用的主要威胁。攻击者也在不断创建新的方式来利用合法服务进行恶意行为,迫使研究人员在CDN DDoS攻击方面进行持续研究并构建高级缓解措施。
研究人员近期调查了一起主要来自亚洲用户产生的DDOS攻击事件。攻击者使用了通用HTML5属性<a> tag ping来诱使用户在不经意间就参与了DDOS攻击,攻击中4个小时内对一个web站点发起了约7000万次的请求。
但是攻击者并不是利用了某个漏洞,而是将一个合法的特征变成了攻击工具。几乎所有参与攻击的僵尸主机用户都是腾讯QQ浏览器的用户,主要用户也是汉语国家用户。最新消息证明攻击还在持续。
攻击原理
Ping是HTML5中的一个新特征,用户在浏览页面的时候就知道这个链接(也就是你上面的URL)是否真实有效,如果这个链接已经失效了,就用一些通知(比如将链接加上删除线)来标识这样的URL。当用户点击连接时,就会发送一个ping的POST请求给属性中指定的URL,包括首部Ping-From, Ping-To, “text/ping”内容类型。
一个含有ping属性的链接的HTML页面如下所示:
含有ping的POST请求
WordPress CMS中也使用Pingback特征来通知网站所有者链接是否被点击过。攻击者也使用过Pingback以发送上百万有漏洞的WordPress示例来执行DDOS攻击。
除了使用HTML5 ping特征外,DDOS攻击中参与的移动用户主要来自同一个区域,这在之前的基于相同浏览器的DDOS攻击中是非常少见的。
研究人员分析发现有大约4000个用户IP参与了攻击,绝大多数来自于中国。在4小时的攻击活动中,请求生成的峰值是7500个每秒,一共生成了超过7000万个请求。
研究人员通过日志分析的方式来分析攻击,发现所有的恶意请求中都含有HTTP首部“Ping-From”和“Ping-To”。这也是研究人员首先遇到使用<a> tag ping属性来发起DDOS攻击。
DDOS攻击生成的请求样本
可疑的URL中含有非常简单的HTML页面,其中包含2个外部JS文件,分别是ou.js和yo.js。
“http://booc.gz.bcebos.com/you.html”源码
“ou.js”有一个含有URL的JS数组,就是DDOS攻击的目标。
“OU.JS”源码
“yo.js”有一个函数可以从数组中随机选择目标,并创建一个指向该URL的含有ping属性的<a> tag。
每秒钟都会创建一个<a> tag,并自动编程点击发送一个到目标网站的ping请求。
合法的用户也会被诱骗来访问这些网站,被动地参与DDOS攻击。只要用户停留在该页面,就会持续不断地产生ping请求。
“yo.js”JS源码
有一个问题是如何让用户尽可能长的留在web页面来持续触发ping请求,维持DDOS攻击的流量呢?
研究人员发现请求中的User-Agent与微信有关。微信使用默认的手机浏览器来打开消息中的链接,而许多用户选择QQ浏览器作为默认浏览器。
因此研究人员得出结论就是恶意广告加上社会工程攻击来触发可疑的微信用户打开浏览器。比如:
· 攻击者出入恶意广告来加载一个可疑的网页
· 到含有恶意广告的合法站点的链接出现在微信群中
· 合法用户访问含有恶意广告的网页
· JS代码执行,创建一个含有ping属性的链接
· 生成HTTP ping请求,并从合法用户的浏览器发送到目标域
总结
本次攻击活动中主要是使用QQ浏览器来发起DDOS攻击,但是其他web浏览器也可以被利用来发起ping attack。而浏览器开发者采取了措施让用户很难关掉浏览器的ping特征,这样用户不可避免的会参与攻击。
但web服务器仍然可以通过防火墙、WAF等拦截含有“Ping-To”、“Ping-From” HTTP headers的请求。攻击者在不断寻找新的方式来滥用合法服务进行恶意攻击,网络攻防永无止境。
本文翻译自: https://www. imperva.com/blog/the-pi ng-is-the-thing-popular-html5-feature-used-to-trick-chinese-mobile-users-into-joining-latest-ddos-attack/ 如若转载,请注明原文地址: https://www. 4hou.com/web/17462.html 更多内容请关注“嘶吼专业版”——Pro4hou