Author: janes(知道创宇404实验室) Date: 2017-03-15

背景介绍

Struts2官方于北京时间2017年3月6号晚上10点公布Struts2存在远程代码执行的漏洞(漏洞编号S2-045,CVE编号:CVE-2017-5638),并定级为高危漏洞。由于该漏洞影响范围广(Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10),漏洞危害程度严重,可直接获取应用系统所在服务器的控制权限,并且3月7日早上互联网上就流出了该漏洞的PoC和Exp,因此,S2-045漏洞在互联网上的影响迅速扩大,受到了互联网公司和政府的高度重视。距漏洞公布到现在(3.6-3.15)已经一周多了,于是借此机会分析下S2-045在社交媒介Twitter和新浪微博上的热度分布情况。

数据获取

既然要分析Twitter和新浪微博上S2-045漏洞的热度分布情况,那么就需要获取Twiiter和新浪微博上的数据,用数据说话。于是就使用“selenium+phantomjs”去爬取数据,通过Twitter和新浪微博web页面的搜索接口,分别搜索关键词“s2-045”和“CVE-2017-5638”,然后将搜索结果去重并整理,考虑到Twitter和新浪微博时间显示的时区不一致问题,采用统一抓取页面时间戳然后转化为北京时间的方式统一时区问题,爬取数据的时间为2017年3月14日下午18时,结果如下图所示。

热度分析

统计每天S2-045漏洞在Twitter和新浪微博上出现的次数,得到下面的表格,Twitter中共出现 73 次,新浪微博中共出现 45 次。就传播的数据量来说,S2-045漏洞的数据量并不大,这从侧面反映了安全漏洞方面的信息并没受到广大人民群众的关注,主要还是在安全圈内传播。

社交媒介 3月7日 3月8日 3月9日 3月10日 3月11日 3月12日 3月13日 3月14日
Twitter 16 3 7 15 6 11 15 0
新浪微博 23 8 7 3 0 0 1 3

利用上述表格的数据,制作图形,得到如上热度分布图,从图中可以看出:

可能有以下几个原因可以解释这种现象:

3月7日,新浪微博和Twitter都出现数据高峰,于是将3月7日的数据,按时段分布制图如下,可以看出,上午8时前,新浪微博和Twitter数据量都为0,8时到10时期间才开始出现,似乎和工作时间比较符合,而数据的高峰期主要出现在下午14时到18时之间,这或许是因为PoC和Exp在互联网上广泛传开,导致互联网开始受到大规模攻击(参考 HackerNews Struts2 漏洞公开 24 小时)。

最后看看Twitter和新浪微博上关于S2-045漏洞的第一条消息是什么时间由谁发出的,结果见下表。Twitter和新浪微博上发出第一条消息的并不是同一个人,但发送的时间相差并不多,可见国内外对漏洞的感知能力是比较相当的。

同上,时间均为北京时间,根据unix时间戳转化而来。

社交媒介 时间 昵称 真实身份
Twitter 2017-03-07 09:29:00 @amannk
新浪微博 2017-03-07 09:44:29 gnaw0725 绿盟科技品牌经理王洋

总结

本文就s2-045在社交媒介Twitter和新浪微博上的传播趋势,做了一些分析,比较了Twitter和微博上数据分布趋势的异同,并分析了这些差异背后可能的原因,当然,分析还存在一些方面的不足,例如数据内容没做漏洞报道和攻击报道的区分,分析粒度还不够细腻等等。文中的分析,如有错误,欢迎大家批评指正。

参考


源链接

Hacking more

...