近期,据研究人员发现攻击者利用 HTML5 超链接审计功能(Ping标签)进行大规模 DDoS 攻击,在此次攻击活动中,DDoS 攻击请求峰值达到了 7500 次请求/秒,在大概 4 个小时内攻击者总共利用了 4000 多个不同的用户向攻击目标发送了超过 7000 万次恶意请求。
Imperva 的研究人员在其发布的安全分析报告中指出:我们对此次 DDoS 攻击进行了深入分析,并且发现攻击活动中涉及到的攻击流量大多数来自于亚洲地区。而且,攻击者主要使用的是常用的 HTML5 属性,即 标签中的 ping 属性,并以此欺骗用户让他们在毫不知情的情况下参与到攻击者的 DDoS 攻击活动中来,非常的可怕,整个攻击活动持续了大约 4 个小时,并成功向攻击目标发送了大约 7000 万次恶意请求。
在此次攻击活动中,攻击者并没有利用任何安全漏洞,而是将合法的 HTML5 功能转换为了他们的攻击工具。值得一提的是,几乎所有 “参与“ 到此次攻击中的用户都是QQ浏览器的用户,而这款浏览器的用户几乎全部都是我们自己人。
通过对日志进行分析后,发现所有的恶意请求中都包含 “Ping-From” 和 “Ping-To” 这两个 HTTP head,这也是迄今为止第一次发现攻击者使用 标签的 Ping 属性来实施 DDoS 攻击,下面我们谈一谈这个 “Ping属性”。
Ping其中,“Ping-From” 和 “Ping-To” 的值都引用了 “ http: ⁄⁄ booc [.]gz[.]bcebos[.]com/you[.]html” 这个URL地址。而且请求中的 User-Agent 都跟我们每天都会用到的一款聊天 App 微信有关。
攻击者利用了社工技术以及恶意广告来欺骗微信用户打开默认浏览器,下面是一些攻击场景:
攻击者搭建钓鱼网站,并注入恶意广告。
在 iframe 中注入广告并关联合法网站,然后将其发送到微信群。
合法用户访问该网站后,恶意 JavaScript 代码将会执行,并针对用户点击的链接创建 Ping 属性。
创建后将生成一个 HTTP Ping 请求,并通过合法用户的浏览器发送给目标域名。
除了QQ浏览器之外,还有很多浏览器都会受到这种新型DDoS攻击技术的影响,只有 Firefox 默认禁用了 Ping 属性。
分析攻击攻击者在搭建恶意网站时,它们通常使用了两个外部 JavaScript 文件,其中一个包含了 DDoS 攻击目标的 URL 地址数组,另一个 JS 文件主要用来从地址数组中随机选取一个 URL 地址,并创建带有 Ping 属性的 标签,然后通过代码实现每秒访问一次目标地址。
用户只要不停浏览或停留在这个网页上,他们的设备就会不断向目标站点发送 Ping 请求,不精准的说,如果这个网站有4000个用户访问的话,每个小时大约可以生成1400万次恶意请求,非常恐怖。
防御方案归根到底,攻击者利用 Ping-To / Ping-From HTTP 请求头 来发动这种DDoS攻击,我们可以在边缘设备,像防火墙或WAF等等,屏蔽掉所有包含了 Ping-To / Ping-From HTTP 请求头的 任何 web请求,这样攻击者无法利用这两个请求头对我们的网站发起这种DDoS攻击。