Struts漏洞后果本不該這么嚴(yán)重
Struts這個(gè)漏洞這次來勢(shì)之所以這么兇猛----直接導(dǎo)致國(guó)內(nèi)的很多銀行、政府機(jī)構(gòu)、幾乎所有的大中型互聯(lián)網(wǎng)公司,國(guó)外的包括蘋果的開發(fā)者網(wǎng)站都被黑掉了----和Struts官方不負(fù)責(zé)任的態(tài)度有很大關(guān)系。官方這次在自己的漏洞公告中直接把漏洞利用代碼給貼出來了,這是一種很罕見的做法。
從很多年前起,安全行業(yè)里默認(rèn)的行規(guī)是“提示漏洞存在,但只公布描述,不公布細(xì)節(jié)”。大多數(shù)安全公告連漏洞涉及的代碼都不公布,更遑論直接給出漏洞利用方法的。這樣做的原因就是防止漏洞細(xì)節(jié)被黑客看到后,直接利用漏洞攻擊用戶。
一般的安全廠商在看到漏洞公告后,可能會(huì)通過“補(bǔ)丁對(duì)比”,或者是二進(jìn)制軟件的逆向分析等技術(shù)來定位漏洞的原理。這對(duì)分析人員的技術(shù)要求是非常高的,熟練掌握這種技術(shù)的人一般都有個(gè)外號(hào),叫做“大牛”。這種技術(shù)門檻從一定程度上遏制了漏洞被大面積利用。
從歷史來看,一個(gè)漏洞對(duì)互聯(lián)網(wǎng)的影響大小,與該漏洞是否存在傻瓜化利用工具有關(guān)。漏洞的利用工具被傳播的越廣,對(duì)互聯(lián)網(wǎng)來說造成的影響就越大。因?yàn)闀?huì)有很多腳本小子,拿著傻瓜化的工具肆無(wú)忌憚的四處搞破壞。
Struts這個(gè)漏洞這次本來不會(huì)這么嚴(yán)重,過往有些比這更嚴(yán)重的漏洞也沒有造成這么惡劣的影響。但官方不負(fù)責(zé)任的披露了漏洞利用方法,首先就讓這個(gè)漏洞被大面積利用成為可能。然后國(guó)內(nèi)的黑客們看到后,在某社區(qū)里引起了熱烈的討論。接下來有不少黑客,利用官方給出的“幫助”,很輕松的就寫出了自動(dòng)利用的工具,并開始找網(wǎng)站漏洞。
如果僅僅到這里,局面也不會(huì)失控。但是接下來有黑客們開始展開競(jìng)賽一般的“戰(zhàn)果展示”,把存在漏洞的網(wǎng)站公布在第三方平臺(tái)上,這就好比“殺人比賽”一樣,就看誰(shuí)干掉的網(wǎng)站多,看誰(shuí)干掉的網(wǎng)站大。他們的戰(zhàn)果豐碩,干掉了包括百度、騰訊、淘寶等在內(nèi)的很多大網(wǎng)站,甚至是國(guó)家級(jí)的政府網(wǎng)站,這進(jìn)一步又在微博上引發(fā)了不少大號(hào)們對(duì)這個(gè)漏洞的討論。至此,局面徹底失控。
很多之前沒有關(guān)注這個(gè)漏洞的黑客們也開始關(guān)注這個(gè)漏洞,他們出于各自的目的,開始找尋存在漏洞的網(wǎng)站??梢圆豢鋸埖恼f,整個(gè)中國(guó)互聯(lián)網(wǎng)應(yīng)該被狠狠的捋了一遍,如果你用了Struts但卻沒被黑客關(guān)注過,那只能很可悲的說明你的網(wǎng)站太小了,小到整個(gè)安全行業(yè)所有人打著燈籠都找不到你。
這就是互聯(lián)網(wǎng)的放大作用。
而對(duì)于始作俑者,Apache基金會(huì)下的Struts,我只能說Struts官方真是一朵奇葩。這并非Struts第一次出這種高危漏洞,但Struts官方對(duì)于安全問題的處理一直都很有問題,要么就是沒有搞明白漏洞的原理,同一個(gè)漏洞補(bǔ)兩三次都補(bǔ)不好,要么就是像這次這樣,直接公布了漏洞利用方法。
在我寫的《白帽子講Web安全》第291頁(yè),就記載了Struts修補(bǔ)一個(gè)漏洞時(shí)笑話百出的場(chǎng)景。官方完全沒有理解漏洞原理,僅僅針對(duì)漏洞報(bào)告者提供的特征字符做了過濾,結(jié)果接二連三的被繞過,一個(gè)簡(jiǎn)單的漏洞,修補(bǔ)了兩三次都沒有修補(bǔ)好。所以Struts在安全問題上的低智商是有歷史的,屢教不改,還桀驁不馴。
這次中國(guó)互聯(lián)網(wǎng)被捋了一遍,造成的損失不可估量。如果很多大網(wǎng)站的數(shù)據(jù)庫(kù)因?yàn)檫@個(gè)漏洞被盜,在接下來的一兩年中,大家又會(huì)多接到很多騷擾電話和騷擾短信,有針對(duì)性的詐騙案件也會(huì)上升。
我想到了黑哥的那句話:官方都需要教育!