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