Struts这个漏洞这次来势之所以这么凶猛----直接导致国内的很多银行、政府机构、几乎所有的大中型互联网公司,国外的包括苹果的开发者网站都被黑掉了----和Struts官方不负责任的态度有很大关系。官方这次在自己的漏洞公告中直接把漏洞利用代码给贴出来了,这是一种很罕见的做法。
从很多年前起,安全行业里默认的行规是“提示漏洞存在,但只公布描述,不公布细节”。大多数安全公告连漏洞涉及的代码都不公布,更遑论直接给出漏洞利用方法的。这样做的原因就是防止漏洞细节被黑客看到后,直接利用漏洞攻击用户。
一般的安全厂商在看到漏洞公告后,可能会通过“补丁对比”,或者是二进制软件的逆向分析等技术来定位漏洞的原理。这对分析人员的技术要求是非常高的,熟练掌握这种技术的人一般都有个外号,叫做“大牛”。这种技术门槛从一定程度上遏制了漏洞被大面积利用。
从历史来看,一个漏洞对互联网的影响大小,与该漏洞是否存在傻瓜化利用工具有关。漏洞的利用工具被传播的越广,对互联网来说造成的影响就越大。因为会有很多脚本小子,拿着傻瓜化的工具肆无忌惮的四处搞破坏。
Struts这个漏洞这次本来不会这么严重,过往有些比这更严重的漏洞也没有造成这么恶劣的影响。但官方不负责任的披露了漏洞利用方法,首先就让这个漏洞被大面积利用成为可能。然后国内的黑客们看到后,在某社区里引起了热烈的讨论。接下来有不少黑客,利用官方给出的“帮助”,很轻松的就写出了自动利用的工具,并开始找网站漏洞。
如果仅仅到这里,局面也不会失控。但是接下来有黑客们开始展开竞赛一般的“战果展示”,把存在漏洞的网站公布在第三方平台上,这就好比“杀人比赛”一样,就看谁干掉的网站多,看谁干掉的网站大。他们的战果丰硕,干掉了包括百度、腾讯、淘宝等在内的很多大网站,甚至是国家级的政府网站,这进一步又在微博上引发了不少大号们对这个漏洞的讨论。至此,局面彻底失控。
很多之前没有关注这个漏洞的黑客们也开始关注这个漏洞,他们出于各自的目的,开始找寻存在漏洞的网站。可以不夸张的说,整个中国互联网应该被狠狠的捋了一遍,如果你用了Struts但却没被黑客关注过,那只能很可悲的说明你的网站太小了,小到整个安全行业所有人打着灯笼都找不到你。
这就是互联网的放大作用。
而对于始作俑者,Apache基金会下的Struts,我只能说Struts官方真是一朵奇葩。这并非Struts第一次出这种高危漏洞,但Struts官方对于安全问题的处理一直都很有问题,要么就是没有搞明白漏洞的原理,同一个漏洞补两三次都补不好,要么就是像这次这样,直接公布了漏洞利用方法。
在我写的《白帽子讲Web安全》第291页,就记载了Struts修补一个漏洞时笑话百出的场景。官方完全没有理解漏洞原理,仅仅针对漏洞报告者提供的特征字符做了过滤,结果接二连三的被绕过,一个简单的漏洞,修补了两三次都没有修补好。所以Struts在安全问题上的低智商是有历史的,屡教不改,还桀骜不驯。
这次中国互联网被捋了一遍,造成的损失不可估量。如果很多大网站的数据库因为这个漏洞被盗,在接下来的一两年中,大家又会多接到很多骚扰电话和骚扰短信,有针对性的诈骗案件也会上升。
我想到了黑哥的那句话:官方都需要教育!