軟件安全漏洞問題沒有盡頭
Metasploit的創(chuàng)始人、漏洞專家H.D.Moore指出,雖然安全軟件編程人員做得越來越好,所開發(fā)的應(yīng)用程序bug越來越少,但是應(yīng)用程序數(shù)量的持續(xù)增加卻導(dǎo)致新型軟件漏洞的數(shù)量有增無減。在2010年RSA會議的采訪中,Moore解釋了Metasploit怎樣幫助人們測試系統(tǒng)、檢測新的軟件安全漏洞問題,以便在攻擊者有機(jī)會利用這些漏洞之前搞清楚新漏洞所帶來的風(fēng)險。
您能解釋一下Metasploit是如何對軟件安全做出貢獻(xiàn)的嗎?
H.D. Moore:Metasploit是一個尋找漏洞的軟件框架,使你可以在滲透測試中利用這些漏洞。它是一個真正由社區(qū)主導(dǎo)的開源工具套件。一切始于七年前。每當(dāng)一個新的漏洞被發(fā)現(xiàn)后,我們就會創(chuàng)建一個安全版本來利用它,并把它添加到Metasploit中去,讓網(wǎng)絡(luò)管理員、學(xué)生、研究人員以及政府部門都能夠?qū)λ麄兊南到y(tǒng)進(jìn)行測試,從而確保他們的產(chǎn)品和系統(tǒng)得到妥善的修補(bǔ)。所以對于我們來說,這相當(dāng)于一種供應(yīng)商“相互檢測和約束系統(tǒng)”(check and balance system)。如果供應(yīng)商說,“我已經(jīng)發(fā)布了補(bǔ)丁”,那么你可以用Metasploit來驗(yàn)證你的系統(tǒng)是否安裝了這個補(bǔ)丁、補(bǔ)丁是否正常工作等,而不必再去做那些過去必須做的,用來確保補(bǔ)丁正常工作的額外工作。
有人曾擔(dān)心Metasploit在公開漏洞的整體問題方面不夠可靠。您是怎么看的呢?
Moore:可靠的漏洞公開實(shí)際上取決于軟件供應(yīng)商。這只涉及到兩類人:發(fā)現(xiàn)漏洞的人和負(fù)責(zé)修補(bǔ)漏洞的供應(yīng)商,而他們雙方之間并沒有正式的合同。一般的流程是:研究人員發(fā)現(xiàn)一個漏洞并指出問題的所在,以及怎樣去利用這些漏洞,然后他們會把這個問題告訴供應(yīng)商和外界,最后供應(yīng)商修補(bǔ)這個漏洞。Meatsploit其實(shí)并沒有卷入到這個過程中,我們實(shí)際上所做的只是在漏洞披露或者公開之后,讓人們能夠輕松驗(yàn)證他們的系統(tǒng)是否對這個漏洞免疫,或者讓人們知道這個漏洞能夠給他們帶來的真正影響是什么。
在補(bǔ)丁出現(xiàn)之前,發(fā)布漏洞利用程序?qū)浖踩欣麊幔?/STRONG>
Moore:在真正的漏洞proof-of-concept程序出現(xiàn)之前,人們對“某個漏洞能對系統(tǒng)帶來多大影響”的看法只能是猜測而已。有時候你的漏洞表面上看起來非常嚴(yán)重,任何人都好像能在你的電腦上運(yùn)行代碼,但是當(dāng)你真正坐下來研究這個問題并試圖利用它的時候,你會發(fā)現(xiàn)這其實(shí)有很多的限制。如果你開啟了數(shù)據(jù)執(zhí)行保護(hù)(DEP),那么不管你運(yùn)行哪種平臺、或者使用哪種配置,漏洞都不會帶來多大的破壞。所以,如果有一個平臺能夠測試這些漏洞、并驗(yàn)證這些軟件缺點(diǎn)所能造成的影響,那么人們不僅對他們在網(wǎng)絡(luò)上能做什么更有信心,而且對自己的程序能否正常工作也更有信心。
現(xiàn)在,Metasploit中有多少漏洞利用程序和攻擊代碼(payload)呢?
Moore:數(shù)量每天都會增加幾個。我估計我們現(xiàn)在已經(jīng)有大約530個漏洞利用程序,并且每個漏洞測試都有一個攻擊代碼。除了這530個利用程序之外,我們還有220個輔助模型(auxiliary module),可以允許你測試配置的錯誤、進(jìn)行暴力攻擊,并且利用那些不允許代碼執(zhí)行但允許數(shù)據(jù)訪問的漏洞,比如,能夠獲取某服務(wù)器上C盤的內(nèi)容。我們的Metasploit中除了擁有接近500個不同的CVE(Common Vulnerabilities and Exposures,通用漏洞披露),還有更多的漏洞沒有CVE標(biāo)識。其中,并不是每一個漏洞都進(jìn)行了分類、或者被標(biāo)明它是什么以及它意味著什么。
在過去的一年中,很多事情都發(fā)生了變化。實(shí)際上,你過去常常自己掏錢來支撐Metasploit的開發(fā)。在被Rapid7收購之后,這個項(xiàng)目能得到多大的幫助呢?
Moore:Metasploit可以讓我們把更多的資源投入到真正需要的地方,比如QA質(zhì)量評估、后端自動化,以及數(shù)據(jù)庫模式等??墒?,沒人愿意碰那些沒意思的框架部分,這在過去通常是我的差事,發(fā)布一個新的版本常常都指望我一個人。我會花費(fèi)整個周末來進(jìn)行測試、安裝配置、更新網(wǎng)站等?,F(xiàn)在我有了一個團(tuán)隊(duì),這樣我可以把工作交給他們,并且能夠更快的完成。所以,我希望此次收購對于這個項(xiàng)目來說意味著我們能夠更快的更新內(nèi)容、添加更多的功能,從長遠(yuǎn)來看,我們還會更頻繁的發(fā)布更多的版本。
社區(qū)對于此次收購是怎么看的呢?有人反對嗎?
Moore:隨著我們繼續(xù)推出更多的代碼、更多的版本以及更多的功能,我認(rèn)為懷疑的聲音會慢慢減少。我們看到許多新的社區(qū)貢獻(xiàn)者加入了我們,因?yàn)镽apid7能夠給這個項(xiàng)目帶來穩(wěn)定。以前,人們可能會在內(nèi)部使用Metasploit,但并沒有人真正認(rèn)為可以在一年或者兩年以后繼續(xù)指望這個項(xiàng)目?,F(xiàn)在,我們有了預(yù)算,投入了大量的人力物力來確保Metasploit的成功,更多的人愿意對這個項(xiàng)目作出貢獻(xiàn),因?yàn)樗麄兿嘈臡etasploit的前景非常光明。
軟件安全性現(xiàn)在有所改觀了嗎?比如說,微軟在安全方面已經(jīng)做了很多努力,但是每個月還是會發(fā)布大量的安全公告。
Moore:實(shí)際上,軟件安全在細(xì)節(jié)方面已經(jīng)改善了很多。對于微軟這樣的供應(yīng)商而言,他們在安全問題處理方面有大量的預(yù)算,其軟件開發(fā)周期中也包含了安全周期,這個跟5年前或者10年前的情況相比要好得多了。但問題是現(xiàn)在軟件供應(yīng)商太多,而人們每天的日常生活又過于依賴軟件的使用,比如說旅游、上網(wǎng)、預(yù)定出租車等等,甚至有時候幾乎所有的事情都會用到電腦和軟件。而在過去十年中,每家曾指望微軟為其解決安全漏洞問題的公司,現(xiàn)在都不得不自己重新再開始做一遍相同的工作。我們之所以有這么多的缺點(diǎn)和漏洞,并不是因?yàn)槟承┕?yīng)商做得很差,只是因?yàn)檐浖?yīng)用程序的數(shù)量每天都在持續(xù)增加。
【編輯推薦】