压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

軟件安全老兵的程序構建建議

  即使是最好的軟件也有漏洞,但通過在開發周期早期階段的關鍵控制,企業可以像進行功能測試和質量保證一樣檢查安全漏洞。現在很多企業安全人員沒有時間顧及應用安全性,而健康保險公司Aetna首席信息安全官James Routh已經在引領開發第五個軟件安全程序。

  根據Routh表示,構建軟件安全程序可以提高軟件靈活性和開發者生產效率。Routh本月與Marcus Ranum分享了他學習到的從上到下部署省錢的軟件安全程序的經驗。他還分析了軟件安全的未來:移動應用和開源組件的持續擴張會給很多企業帶來更大挑戰。

  James,感謝你抽時間來談談軟件安全程序。我認為這是非常重要的話題,而這個話題仍然沒有得到行業足夠的重視。長期以來,你一直在推動軟件安全程序的建設。你是如何做到的?是什么讓你意識到部署軟件安全程序的重要性?

  James Routh:十年前,我在信息安全行業的第一個職位是美國運通公司(American Express)的首席信息安全官。我有幸曾與Michael Barrett(PayPal前任CISO)和Mark Merkow(Charles Schwab經紀服務軟件安全負責人)共事,他們告訴我軟件安全程序應該引起更多關注,因為當時它是基于生命周期最后的簡單審查過程,然而這個過程并沒有讓軟件開發人員知道如何調整其做法來減少漏洞。

  當時,大多數新開發都是Web應用。我意識到攻擊面越來越大,而我想要避免安全事故(當時避免事故似乎還是可能的事情),所以我開始教育應用開發人員加強編碼做法的安全性。

  我覺得我比他們學到了更多東西。開發人員及其項目領導將安全控制視為開發過程中的障礙,阻止他們完成真正的工作,并且,他們沒有預算來應付發現安全漏洞后的修復工作。我的部署做法讓我非常受益,但并沒有讓他們同樣受益。

  在我離開后,Mark后來想到了如何給開發人員提供應有的培訓。而我隨后去了美國存管信托和結算公司(Depository Trust & Clearing Corporation,DTCC),在DTCC,我意識到提高軟件靈活性的重要性,這樣做可以避免業務中斷和數據泄漏事故,要知道這些事故可能影響全球對金融市場的信心。在那里,我調整了我的方法,并得到CEO和CIO的支持,我部署了全面的安全軟件程序,我的程序是基于盡可能簡單的前提,即“較少漏洞的軟件需要更低的支持費用,以及在生命周期的較早期發現漏洞需要更少的時間來修復”。我還比較了通過《在成熟模型中構建安全》(BSIMM)知識體系部署的做法。這讓我可以對比其他8家投資于軟件安全程序的公司(例如微軟)所部署控制的成熟度。

  這種經驗幫助我了解到如何基于經濟利益為程序獲得高管的支持,同時讓他們投資于開發者培訓。我能夠測量漏洞密度方面的減少,而開發人員可以在開發過程使用靜態分析工具,以及學會如何避免漏洞。我學習到的是,開發過程中發現的安全漏洞必須優先處理和修復,同時,整合安全漏洞與功能缺陷以及發現高風險漏洞可以讓開發團隊更容易地分配修復漏洞的責任。

  現在我仍然在使用經濟利益來說服企業部署成熟軟件安全程序,并且我發現,應用開發人員已經意識到盡早發現漏洞以及提高軟件靈活性的重要性。在摩根大通,我向全球17000位開發人員教授軟件安全控制,而他們非常樂于學習更有效的方法用以開發系統。我建立了一個模型,向選定的開發人員提供軟件安全方面的全面培訓,同時,他們會幫助其他開發人員部署技術來減少漏洞。在Aetna,我們稱他們為安全專家,通常由他們來執行關鍵控制。

  你能告訴我們你在Aetna是如何進行軟件開發的嗎?

  James Routh:目前軟件開發已經發展到這樣的情況:大多數定制應用開發會從使用開源資源開始,所以,我添加了一個控制來強制使用選定的開源框架,這些開源框架的選擇是基于對庫的安全風險的掃描結果的;我還有一些很酷的針對移動應用的新功能,用以應對移動應用分發系統中的特有的安全風險。

  總是有些人反對軟件安全程序。我肯定你也聽到過他們的反對意見,他們常說:我們不能慢下來,我們不能受到限制。你如何應對這些反對意見?

  James Routh:人們真的很難會反對省錢、提高質量和降低風險的程序。我擺出了簡單的事實,說明每個屬性和承諾,這件事情我常常做,所以比較容易。現在開發人員并沒有異議,但項目經理仍然怨聲載道,他們還沒有明白這樣做的好處。我現在使用的很多移動應用工具并不知名,所以我通常是從不熟悉它們的移動開發人員那里獲得反饋。在這些情況下,我只是使用行業可用的數據來說明攻擊者可以非常容易地感染移動應用,以及通過二級渠道傳播它。現在發現的大多數漏洞都是移動軟件分發過程受到攻擊的結果。

  底線是,當你使用經濟利益作為推動因素時,推動軟件安全程序會變成簡單的工作。成功部署程序更多是關于改變行為,而不是部署技術,因此,我們將安全作為軟件質量的屬性重新明確了開發領導者的角色(掌握過程和結果),而安全部門則負責設計控制和衡量有效性,這主要也是為了有助于開發領導者的工作。

  讓我驚訝的事情是你在使用數據指標,而不只是口頭上說,“這是我們應該做的事情”,你可以解釋它如何能節省資金來避免損失和周期外維護。你能否告訴我你的數據指標有哪些?

  James Routh:當安全控制部署到開發過程時,主要有兩個提高生產效率的基本驅動力:首先,企業安全API(Enterprise Security API)等框架和開源組件選擇及靜態分析工具,可以防止漏洞進入應用構建過程,這消除了修復漏洞和缺陷的成本。其次,與在生產過程中發現漏洞相比,在質量保證中檢測到漏洞,然后修復高優先級的缺陷,在時間方面更節省時,且成本更低。

  我計算了修復生產后期漏洞所需時間(高度復雜漏洞修復=8小時;中等復雜程度=4小時;簡單修復=2小時),并比較開發過程中修復漏洞所需時間,然后乘以高風險漏洞的數量。我使用每小時標準恢復量作為成本,例如125美元,這是FTE開發人員(供應商和第三方顧問公司進行開發)的行業平均每小時成本。其結果是,除了將漏洞修復從生產后期轉移到質量保證或生產前期節省的成本外,這樣做還可以“提高生產效率”。而通過消除或減少修復漏洞的工作所節省的開發時間還可以重新投資于在更少時間內提供更多功能。

  我不明白的是,為什么很少高管像你這樣“懂”。你認為我們可以怎樣做來提高對這個話題的理解?在過去15年,我們看到很多“滲透和修復”,以及各大軟件供應商不斷推出修復補丁,如果這不是危險的信號,那是什么?我們可以做些什么?

  James Routh:70多家公司現在使用BSIMM數據衡量其軟件安全程序的成熟度,軟件安全的知識體系已經明顯改善。你問我為什么領導們很少明白這一點,這是很合理的問題,我的觀點是,很多人明白軟件安全的經濟推動因素,并且跨行業部署了更有效的控制。我們比十年前更懂得軟件安全做法,我在這里與你分享的信息其實已經公開化。

  在推出補丁修復的很多軟件廠商中,他們也有成熟的軟件安全程序,包括微軟、Adobe Systems和EMC等。現實情況是,完美和軟件并沒有關系,我們總是會有機會來發現和提高軟件漏洞。

  我們正在嘗試新的東西,我們將所有控制部署到web應用,并且基本上眾包了應用的滲透測試來查看應用的情況。這意味著軟件研究人員將會執行滲透測試,并與我們分享其結果。

  我非常希望在這個過程中發現新的漏洞,盡管在此之前對相同軟件版本已經執行了幾十次測試。這也有可能幫助我了解我們開發過程中部署的很多控制正在如何執行以及哪里有改進的機會。隨著時間的推移,我們還會追蹤漏洞密度,這些數據清楚地顯示了開發人員的顯著改進,因為他們使用了更好的工具來發現開發中的漏洞。

  只要我們構建軟件,在這個過程中就會發現漏洞以及提高其質量的機會。顯然,投資于質量改進可以獲得更好的經濟性,但軟件的完善將仍然還有很長的一段路要走。

 

上一篇:智能無懼挑戰 山石網科轟動RSA2015

下一篇:前蘇聯國家信用卡犯罪活動創造了6.8億美元市場