白盒安全測試,薛定諤的貓不再是難題

白盒,顧名思義,指的是盒子是可視的,可以清楚地知道盒子內(nèi)部的東西以及運作規(guī)則。

用一個比較形象的比喻就是,假如薛定諤把貓放進白盒里,我們不需要猜,一眼就可以看出此刻貓是死是活。

白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試,是一種測試用例設計方法,盒子則是被測試的軟件。

"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進行測試。白盒安全測試則是在代碼層面去查看漏洞的一個測試過程,他的針對點是安全性漏洞,如SQL注入,XSS漏洞等。

對于公司而言,白盒安全測試可以從安全角度保證產(chǎn)品的質(zhì)量,減少產(chǎn)品漏洞,包括bug。

白盒測試方法

白盒安全測試本身與白盒測試并無多大差別,因此測試方法也大同小異:

白盒測試工具借鑒

講了方法論,在下一步執(zhí)行過程中,面臨的就是工具借鑒的問題。

這里首推OWASP組織的LAPSE+工具。

OWASP

在講工具之前有必要提一下OWASP,它是一個開源的,非盈利的全球性安全組織,以“使應用軟件更加安全,使企業(yè)和組織能夠應對安全風險做出更清晰的決策”為自身使命,被視為WEB應用安全領域的權(quán)威參考,擁有強大的業(yè)界影響力。

2009年發(fā)布的美國國家和國際立法,標準,準則,委員會和行業(yè)實務守則就是以OWASP為參考,而美國聯(lián)邦貿(mào)易委員會(FTC)強烈建議所有的企業(yè)需要遵循OWASP十大WEB弱點防護守則,以策安全。

除此之外,國際信用卡數(shù)據(jù)安全技術(shù)PCI標準將其列為必要組件,也是美國國防信息系統(tǒng)局(DISA)應用安全和開發(fā)清單參考,歐洲網(wǎng)絡與信息安全局(ENISA),云計算風險評估參考,以及包括美國國防系統(tǒng)局在內(nèi)的多個信息安全局提供參考,OWASP?TOP?10為IBM?APPSCAN、HP?WEBINSPECT等掃描器漏洞參考的主要標準。

OWASP目前在全球擁有140個分會,近4w名成員,共同推動了安全標準、安全測試工具、安全指導手冊等應用安全技術(shù)的發(fā)展。

LAPSE+

OWASP的LAPSE項目叫LAPSE+:關(guān)于Java?EE大應用程序的安全掃描器。OWASP?LAPSE項目是提供給開發(fā)者和分析師在Java?EE應用程序中的漏洞檢測工具。

該項目是對代碼進行靜態(tài)分析,由于各種類型的漏洞分析的重要性和檢測Java?EE應用程序的安全漏洞難度性偏高。并且當面對由數(shù)萬行級別的代碼與許多Java類復雜的結(jié)構(gòu),應用分析難度也隨之加大。因此,OWASP?LAPSE項目提供了一個工具,幫助開發(fā)者和審計人員開展代碼靜態(tài)分析以最有效的方式被提供,并給出了項目的名稱LAPSE+。

LAPSE+可以以Eclipse插件的形式嵌入工程使用。并對代碼進行靜態(tài)掃描,如下圖:

LAPSE+為開源工具,https://code.google.com/archive/p/lapse-plus/

白盒測試的必要性

從國內(nèi)實際情況來看,現(xiàn)在很多安全公司都在行業(yè)用戶中推代碼審計,但實際效果很差,原因正在這里,因為還沒有達到這個階段,而又不加強企業(yè)的安全測試環(huán)節(jié),很多用戶把代碼審計理解為幫助用戶找最需要解決的定性的安全問題的工具(這部分工作是安全測試來完成的,而目前用戶的實際安全度和能力也只能先建設安全測試這個層面),而推動代碼審計的企業(yè)為了推動自己的產(chǎn)品和服務也有意無意把用戶往這方面誘導,最后實施時卻發(fā)現(xiàn),拿著幾千頁的報告需要大量人工分析定性安全問題的情況,使用戶覺得根本難以解決安全問題。

其實這個階段,用戶迫切需要的是安全測試,盡量找出定性的安全問題加以解決,還不到從編碼層上去規(guī)約開發(fā)者良好的開發(fā)習慣,這些需要用戶的安全度達到更高級別后才是用戶關(guān)注解決的事情,而且既是開發(fā)者擁有良好的開發(fā)習慣,安全依然依靠安全測試來復核確認,畢竟人是可能出差錯的,而想用代碼審計來取代安全測試,其成本是非常高而且效果也不咋樣。

忽略了安全測試環(huán)節(jié)的建設,代碼審計只能是空中樓閣,難以真正去幫助用戶改進自身的安全過程。即使是用戶的程度達到了很高級別,安全測試依然是產(chǎn)品最終確認安全的保障手段。

目前筆者在用的白盒測試的書是《代碼審計:企業(yè)級Web代碼安全架構(gòu)》。

書中針對工作中遇到的實際漏洞案例進行深入剖析,從漏洞的成因到具體防御方案都有精準而又細致地講解,工具與方法并存,因此可以當做工具書用,解決日常工作中遇到的問題。

以上為筆者對于白盒測試的一些拙見,有同僚或者感興趣的人,歡迎加入共同探討。


本文作者:Mr.Gambler(點融黑幫),擅長windows系統(tǒng)開發(fā),協(xié)議分析,之前一直工作于安全公司,現(xiàn)任職于點融網(wǎng)技術(shù)部安全團隊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容