谷歌发布分析报告,详解此前GitHub遭遇大流量DDoS攻击全过程
上月底,代码托管网站github遭遇大流量ddos攻击。攻击者劫持百度广告联盟的js脚本并将其替换成恶意代码,最后利用访问中国网站的海外用户对github发动大规模分布式拒绝服务攻击。谷歌近日发表了针对此次攻击的分析报告,还原了整个攻击的全过程。
谷歌:纵览全部攻击过程
谷歌的safe browsing每天会扫描分析数百万个网页,从中找出恶意内容。safe browsing并不是从网络流量方面进行分析,而是从http协议层面。
其实js劫持攻击最早发生在三月初,而不是我们以为三月中下旬。根据谷歌3月1日到4月15日搜集到的数据,safe browsing第一次发现百度域名劫持是在3月3日,而最后一次是在4月7日。从下面的图片中就可以详细的看出注入攻击时间:
多阶段的攻击行为
第一阶段
此次攻击的执行是分多个阶段进行,第一阶段是测试阶段,测试时间为3月3日到3月6日,首次测试的目标ip地址为114.113.156.119:56789(北京电信通),但是第一天的请求次数被人为设了限制,之后两天请求限制就被移除了。
第二阶段
第二阶段的时间是3月10日到3月13日,目标ip地址为203.90.242.126(香港)。3月13日时,攻击扩展到了d1gztyvw1gvkdq.cloudfront.net。刚开始的时候请求是通过http发出的,后来升级到了https。3月14日开始同时通过http和https攻击d3rkfw22xppori.cloudfront.net(greatfire.org利用亚马逊cloudfront搭建的一个屏蔽网站镜像),并于3月17日停止了攻击。
第三阶段
3月18日,被攻击的域名范围进一步扩大,包括:d117ucqx7my6vj.cloudfront.net、 d14qqseh1jha6e.cloudfront.net、d18yee9du95yb4.cloudfront.net、d19r410x06nzy6.cloudfront.net、d1blw6ybvy6vm2.cloudfront.net。
这也是第一次发现截断注入(truncated injections),js被完全切断。在这一阶段中,cloudfront主机开始向greatfire.org等域名发起302重定向(302 redirects)。js内容替换在3月20日完全停止,但http注入还在继续。js内容替换会破坏原内容功能,但http注入不会。
html如下:
<html>
<head>
<meta name="referrer" content="never"/>
<title> </title>
</head>
<body>
<iframe src="[...]?t=zmh4cxpxjaphidfmcjza" style="position:absolute; left:0; top:0; height:100%; width:100%; border:0px;" scrolling="yes"></iframe>
</body>
<script type="text/javascript">
[... regular attack javascript ...]
在这一技术中,web浏览器两次获取了相同的html页面,但是由于查询参数中的“t”参数,所以第二请求中没有注入。被攻击的域名随时都在变化中,在这一阶段中就变为了dyzem5oho3umy.cloudfront.net、d25wg9b8djob8m.cloudfront.net 和28d0hakfq6b4n.cloudf ront.net。该阶段攻击大约开始10个小时之后,我们在另一域名上检测到了302重定向。
停止对cloudfront主机的攻击,转向github
对cloudfront主机的攻击于3月25日停止,而github成为新的攻击目标。第一个新目标是github.com/greatfire/wiki/wiki/nyt/,紧接着是github.com/greatfire/和github.com/greatfire/wiki/wiki/dw/。
3月26日,百度的明文脚本被拦截替换了一个恶意js代码,攻击github.com/greatfire/和github.com/cn-nytimes/,4月7日攻击停止。
攻击从3月份开始,4月份截止。在此期间,我们共发现了19种恶意js代码。
谷歌称,他们共发现了8个百度域名被劫持,ip地址如下:
cbjs.baidu.com (123.125.65.120)
eclick.baidu.com (123.125.115.164)
hm.baidu.com (61.135.185.140)
pos.baidu.com (115.239.210.141)
cpro.baidu.com (115.239.211.17)
bdimg.share.baidu.com (211.90.25.48)
pan.baidu.com (180.149.132.99)
wapbaike.baidu.com (123.125.114.15)
被注入的js代码大小各不相同,从995字节到1325字节不等。
谷歌表示,虽然它们还不能确定攻击者究竟是谁,但对于网站来说,只需全面启用https加密便能防御此类攻击。
上一篇: 网站更新升级要注意的三大问题
下一篇: 如何实现淘宝客链接js封装