RSA 2013辯論:安全開發(fā)是不可或缺還是坑錢陷阱?
安全專家們?cè)缫堰_(dá)成一項(xiàng)共識(shí),即每家企業(yè)都應(yīng)該將普及安全編程知識(shí)、檢查軟件成品漏洞以及將安全考量納入設(shè)計(jì)思路作為項(xiàng)目開發(fā)工作的起點(diǎn)。
然而這一“真理”卻在RSA大會(huì)上受到質(zhì)疑——Adobe公司高級(jí)產(chǎn)品安全主管Brad Arkin與SilverSky公司(一家云安全供應(yīng)商)產(chǎn)品、策略及服務(wù)部門執(zhí)行副總裁John Viega就這一問題展開了熱烈討論。Viega的意見重點(diǎn)在于:像Adobe及微軟這樣的大型企業(yè)有能力承擔(dān)安全開發(fā)流程帶來的成長提升,但規(guī)模較小的公司則不可能經(jīng)得起這類大筆開支。
“我親眼見到許許多多企業(yè)在了解到安全開發(fā)的成本之后感到震驚稱‘這是在開玩笑嗎?這么搞生意就不用做了——我得拿出90%的時(shí)間搞安全軟件,而直接回報(bào)卻完全是零。’”Viega解釋道。
本輪討論多次出現(xiàn)尷尬局面——由于雙方的爭論焦點(diǎn)在于安全開發(fā)實(shí)踐到底到底是否擁有積極意義,因此Viega對(duì)安全編程的反對(duì)表現(xiàn)得像個(gè)純粹的邪惡代言人。
盡管如此,兩位軟件安全專家仍然在很多方面達(dá)成了共識(shí)。Viega是一位著作等身的安全編程導(dǎo)師,其作品包括《美麗的安全》與《安全編程指南》等。Arkin則幫助Adobe公司創(chuàng)建了一套安全生產(chǎn)開發(fā)規(guī)程,其中包括威脅評(píng)估、開發(fā)人員培訓(xùn)、反復(fù)測試以及事件響應(yīng)等步驟。Arkin指出,所有軟件開發(fā)人員都應(yīng)當(dāng)遵從類似的規(guī)劃,以保證軟件能夠帶來理想的投資回報(bào)。
“前期投資非常關(guān)鍵,”他表示。“只有建立起優(yōu)秀的流程基礎(chǔ),我們才有機(jī)會(huì)獲得理想的安全結(jié)果。”
兩位安全專家(基本上)一致認(rèn)為企業(yè)能夠通過下面五個(gè)步驟令軟件安全性得到改善。
1. 如果情況棘手,下力氣開發(fā)出通用代碼。
盡管代碼重復(fù)使用幾乎成為軟件開發(fā)的行業(yè)慣例,但在安全功能方面編寫代碼就更顯得至關(guān)重要。安全功能必須得到嚴(yán)格保障;通過專注于影響效果,開發(fā)團(tuán)隊(duì)能夠通過一次努力開發(fā)出足以應(yīng)付多種情況的安全代碼,Arkin指出。
“一旦安全方面出現(xiàn)棘手狀況,我們就要下力氣解決難題并將其作為核心方案——把事情一次性做好,然后將成果推廣到所有代碼基礎(chǔ)當(dāng)中,”Arkin解釋道。“這樣的話,我們就不必為高危代碼段一次又一次勞心傷神了。”
2. 一次性搞定代碼檢查,免除后顧之憂。
代碼審計(jì)過程代價(jià)高昂,頻繁的審計(jì)活動(dòng)也必然拉高開發(fā)成本。相反,企業(yè)應(yīng)該先親自對(duì)代碼開展一番分析,然后在開發(fā)者提交新代碼時(shí)專注于對(duì)新內(nèi)容的處理。
除此之外,某些專注于首先進(jìn)行動(dòng)態(tài)(即‘黑盒’)測試、再進(jìn)行靜態(tài)代碼分析工作的企業(yè)也能找到其它投資回報(bào)方式,Viega建議稱。
“對(duì)于軟件即服務(wù)供應(yīng)商而言,代碼檢查可能并不是那么重要,因?yàn)槲覀兊能浖祭卫握莆赵诳煽咳耸渴种校?rdquo;他指出。“事實(shí)上大家應(yīng)該把精力放在模擬惡意活動(dòng)的黑盒測試身上。”
3. 在開發(fā)過程中引入安全思維。
Adobe公司在開發(fā)Reader 10時(shí)向其中加入了多項(xiàng)安全功能——例如沙箱機(jī)制、地址空間布局隨機(jī)化(簡稱ASLR)以及數(shù)據(jù)執(zhí)行保護(hù)(簡稱DEP)——這就使得該版本更加穩(wěn)固、不易被攻破。Adobe公司在接下來的三十多個(gè)月都沒有發(fā)現(xiàn)該版本受到外部攻破,Arkin指出。
“惡意人士都知道要拿下這道屏障非常困難,惡意活動(dòng)的組織成本也被牢固的機(jī)制拉高了,”他補(bǔ)充道。
企業(yè)應(yīng)該采取類似的行動(dòng)方針指導(dǎo)開發(fā)工作,并從設(shè)計(jì)層面考慮軟件安全功能、讓軟件破解變得更加困難。
4. 培訓(xùn)開發(fā)人員,但是……
企業(yè)應(yīng)該強(qiáng)制要求開發(fā)人員進(jìn)入安全編程培訓(xùn)班提升自身,但Arkin與Viega對(duì)于需要進(jìn)行培訓(xùn)的具體人員有所爭執(zhí)。微軟與Adobe兩家公司都會(huì)為開發(fā)人員提供編程安全培訓(xùn),但Viega對(duì)這一點(diǎn)表示反對(duì),他認(rèn)為將所有員工一股腦投入培訓(xùn)既浪費(fèi)資金又影響正常生產(chǎn)。在他看來,只有那些對(duì)編程安全有興趣的員工才是進(jìn)一步學(xué)習(xí)深造的重點(diǎn)對(duì)象。
“大家只應(yīng)該把錢花在那些樂于進(jìn)行安全知識(shí)學(xué)習(xí)的員工身上,”他認(rèn)為。“因?yàn)楝F(xiàn)實(shí)情況在于,只有這些人能真正在安全領(lǐng)域做出成績。”
5. 條例并不能幫什么大忙。
在Viega嘗試證明管理機(jī)制在軟件開發(fā)當(dāng)中的重要地位時(shí),Arkin立即提出了激烈的反對(duì)。條例給軟件開發(fā)工作帶來的影響——例如支付卡行業(yè)標(biāo)準(zhǔn)等——并不能帶來任何可以量化的積極提升,Arkin表示。
“PCI法規(guī)存在的意義就是用來被破壞的,”他開玩笑稱。
在他看來,規(guī)章制度根本不會(huì)帶來任何好結(jié)果。
“任何一條試圖將軟件開發(fā)推向法律高度的法規(guī)都是在胡鬧,從起草、制定到印刷,全是在浪費(fèi)時(shí)間,”Arkin拋出激烈言論。
相反,他認(rèn)為企業(yè)和客戶更需要的實(shí)際是軟件安全性的切實(shí)提升。軟件合同中所包含的安全要求已經(jīng)開始引發(fā)開發(fā)者的關(guān)注,并成為促進(jìn)安全開發(fā)實(shí)踐的有力推手。
原文鏈接:http://www.darkreading.com/vulnerability-management/167901026/security/attacks-breaches/240150135/secure-development-must-do-or-money-pit.html