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
























