史海钩沉:借力百度,DDoS攻击冲击GitHub

来源:互联网 发布:兰灯翻墙for mac 编辑:程序博客网 时间:2024/06/06 00:02

GitHub是全球最大的代码存放网站和开源社区,上面存放有大量的开源项目的代码,任何人都可以在遵守开源协议的前提下自由的使用这些代码,是全球程序员及技术爱好者借鉴前人代码、贡献自己的代码及交流的一个开源社区,所以被人戏称为“全球最大同性交友网站”。

2015年3月下旬,GitHub在其博客上公开表示其遭到了技术高超的网络攻击。

经技术分析,是百度联盟广告的一段JS代码遭到劫持篡改,百度联盟是国内最大的广告联盟之一,所谓广告联盟简单点说就是假如你有一个网站,然后你想在你的网站上放些广告来盈利,自己去联系广告主肯定就比较麻烦,百度联盟就是面向这些站长的,百度去找广告主,站长只需在网页上放上百度联盟的代码就可以自动显示这些广告主的广告进而通过找百度拿钱盈利,这些广告就是我们平常访问很多网站可以看见的右下角有个百度熊爪印标志和“推广”字样的广告,回到主题,这一次GitHub遭到的网络攻击方式之一就是,当海外的网友访问了放置有上述的百度联盟广告代码的网站时,原本正常的JS代码就会被劫持并替换为另外一段恶意代码,这段恶意代码便会对GitHub发动网络攻击。

2015年4月24日,谷歌公司安全博客发布了针对此次攻击的分析报告。借助谷歌的Safe Browsing服务(使用chrome浏览器访问一些恶意网站时会出现红色的警告页面就是得益于此)对此次攻击进行分析发现,JavaScript劫持攻击最早发生在3月初而不是刚开始以为的三月中下旬,第一次发现百度域名劫持是在2015年3月3日,而最后一次是在2015年4月7日,下图可以看出详细的注入攻击时间,来自谷歌安全博客:

史海钩沉:借力百度,DDoS攻击冲击GitHub

攻击行为分为四阶段:

第一阶段

第一阶段是测试阶段,时间为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,并于3月17日停止了攻击。

第三阶段

3月18日,被攻击的域名范围进一步扩大。

这也是第一次发现截断注入(truncated injections),JS被完全切断。在这一阶段中,cloudfront主机开始向部分域名发起302重定向(302 redirects)。JS内容替换在3月20日完全停止,但HTTP注入还在继续。JS内容替换会破坏原内容功能,但HTTP注入不会。在这一技术中,web浏览器两次获取了相同的HTML页面,但是由于查询参数中的“t”参数,所以第二请求中没有注入。被攻击的域名随时都在变化中。该阶段攻击大约开始10个小时之后,谷歌团队在另一域名上检测到了302重定向。

第四阶段

对cloudfront主机的攻击于3月25日停止,而Github成为新的攻击目标。3月26日,百度的明文脚本被拦截替换了一个恶意JS代码进行攻击,4月7日攻击停止。

攻击从3月份开始,4月份截止。在此期间,谷歌团队共发现了19种恶意JS代码。下面的饼图以MD5值进行区分,展示了这些代码的占比:

史海钩沉:借力百度,DDoS攻击冲击GitHub

谷歌团队共发现了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)

用技术手段分析发现这一劫持行为发生在中国联通的骨干网络上:

从traceroute的 IP 地址可以看到,中间人设备放置在中国联通的骨干网络中。

通过http-traceroute,Netresec判定攻击 GitHub 的中间人设备在中国。当然,这并不说明此次攻击就是中国发起的——还有其他的可能,比如黑客攻击或控制了这些网络设备。

0 0
原创粉丝点击