編寫程序的最初期就引入安全的概念還處于起步階段,軟件業(yè)巨頭微軟公司在這方面做出了貢獻(xiàn),微軟公司共享了其內(nèi)部軟件開發(fā)生命周期(Software Development Lifecycle)框架免費(fèi)的模式和工具。Fortify和Cigital結(jié)合了目前市場上應(yīng)用最為成功的九種不同軟體安全標(biāo)準(zhǔn)的長處,研究人員還廣泛的訪問了包括EMC、微軟、Adobe等知名軟體廠商在內(nèi)的25家廠商,從中吸取了很多軟體安全領(lǐng)域的經(jīng)驗(yàn)和教訓(xùn),最終形成了構(gòu)建安全的成熟模式(Building Security In a Maturity Model,BSIMM),現(xiàn)在金融服務(wù)公司開始在BSIMM中分析安全編碼策略和方法。
但是在經(jīng)濟(jì)衰退預(yù)算緊縮的時(shí)期,目前還不清楚是否會有企業(yè)愿意投資于安全開發(fā)計(jì)劃。Forrester研究公司和Veracode的調(diào)查發(fā)現(xiàn),45%的公司表示,程序安全是他們整個(gè)安全策略的重要組成部分,但是他們會將該計(jì)劃推遲到下一個(gè)預(yù)算周期。大約有18%的企業(yè)表示他們的程序安全資金預(yù)算將保持不變。
資金只是其中一個(gè)問題,調(diào)整應(yīng)用程序卡法同樣是企業(yè)文化上的大轉(zhuǎn)變,BSIMM和OpenSAMM發(fā)起了安全代碼編寫的新格局,但是將這些概念在企業(yè)內(nèi)廣泛部署并不容易。
“這對于安全市場而言是好事,提高了應(yīng)用程序開發(fā)的安全意識,但是企業(yè)會部署嗎?這就像早期的網(wǎng)絡(luò)漏洞掃描一樣,有太多需要安全專家去部署,”Veracode公司的CEOMatt Moynahan表示,“這是個(gè)很難解決的問題。”
基于真實(shí)世界的安全軟件開發(fā)情況,BSIMM建立了企業(yè)范圍內(nèi)軟件安全項(xiàng)目的基準(zhǔn)。DTCC公司的首席信息安全官Jim Routh表示,他們公司的內(nèi)部安全開發(fā)計(jì)劃為公司節(jié)省了勞動力和其他成本。“這些節(jié)省的費(fèi)用可以用于更高價(jià)值的活動,”Routh表示,“我們的控制了在開發(fā)周期早期出現(xiàn)的缺陷和漏洞。”
但是Veracode公司(提供應(yīng)用程序安全測試服務(wù))的Moynahan表示,單靠BSIMM是不夠的,我們需要的是應(yīng)用程序安全開發(fā)產(chǎn)品能夠進(jìn)入大眾市場,但是對于缺乏安全知識、資金有限的小型企業(yè)而言,他們真的回去部署這些最佳做法么?
另一個(gè)類似的模式,OpenSAMM(軟件確保成熟模型)也在今日推出,這是一個(gè)開源模式,旨在成為行業(yè)內(nèi)安全軟件開發(fā)的標(biāo)準(zhǔn)。該模型由OWASP成員Prayir Chandra發(fā)起,OpenSAMM最初是由Fortify建立的,后來該公司幫助建立BSIMM。
這些建立安全程序計(jì)劃的模型,以及國土安全局的Build Security In和其他,也可以作為檢查標(biāo)準(zhǔn),以確保開發(fā)更安全的軟件,執(zhí)行了更多的掃描工具和滲透測試。“我認(rèn)為我們開始意識到應(yīng)用程序需要對整個(gè)開發(fā)周期的各個(gè)階段內(nèi)進(jìn)行大量投資,然而很多企業(yè)一直希望有更有效的方法能夠解決這個(gè)問題,這些成熟模型的推出表明,還需要做很多工作。”ABN AMRO銀行的技術(shù)安全評估副總裁Cory Scott表示。
良好的開始
Scott表示,像BSIMM和OpenSAMM這些模型,對于希望改變的企業(yè)來說,都是個(gè)好的開始。“這些是成熟模型,不一定是指令性的戰(zhàn)略建議,”Scott表示,“安全應(yīng)用程序開發(fā)需要有利的過程和組織結(jié)構(gòu),這也是這兩個(gè)成熟模型的初衷。”
對于如何實(shí)現(xiàn)安全程序開發(fā)的戰(zhàn)略在某段時(shí)間是有效的,如OWASP Top10、19 Sins of Software Security、SAFECode和其他項(xiàng)目等。“我認(rèn)為有安全意識的項(xiàng)目經(jīng)歷可以采取成熟模型中的意見,向高層管理人員展示在軟件成熟保證計(jì)劃中可能存在的差距,應(yīng)該在開發(fā)初期就引入安全概念。”Scottt表示。
但是采用這些應(yīng)用程序計(jì)劃的大型金融公司(如ABN AMRO和DTCC等)都只是例外,在為編寫和運(yùn)行更安全軟件建立程序時(shí),大多數(shù)內(nèi)部開發(fā)人員都不太愿意。Mitre公司的主要信息安全工程師Steve Christey(同時(shí)也在參與CVE項(xiàng)目)表示,CVE數(shù)據(jù)顯示,在主要軟件產(chǎn)品中的漏洞(如微軟公司的產(chǎn)品),已經(jīng)變得越來越猖獗。
“大型供應(yīng)廠商(如微軟公司)的漏洞問題每個(gè)月都在發(fā)布,但是很難檢測出這些漏洞,需要花費(fèi)大量的時(shí)間和投資來發(fā)現(xiàn)這些漏洞。這也是衡量軟件是否安全的依據(jù)之一,需要花費(fèi)多久時(shí)間來找出軟件中的重大漏洞。”
Christey表示,好消息就是這些很難發(fā)現(xiàn)的漏洞通常也很難被攻擊者所利用,壞消息就是這使第三方應(yīng)用程序成為攻擊者的靶心,尤其是在Web 2.0環(huán)境,“Web 2.0在開發(fā)期間就從來沒有考慮過安全問題,軟件保證必須成為貫穿開發(fā)階段的整體思路,但是很多第三方開發(fā)商沒有走這條路。”
與此同時(shí),像BSIMM這些模型也開始引起了安全代碼開發(fā)社區(qū)以外的人們的關(guān)注。Cigital的CTO Gary McGraw表示,很多公司開始要求加入BSIMM模型,并且Financial Services Technology Consortium已經(jīng)講BSIMM作為金融公司的檢驗(yàn)標(biāo)準(zhǔn)。國土安全局同樣也有興趣講BSIMM加入其Build Security In計(jì)劃的網(wǎng)站中,“BSIMM不是軟件開發(fā)項(xiàng)目的處方,它是關(guān)于建設(shè)和衡量軟件安全的模型。”
這也是讓高層管理人員支持安全編碼計(jì)劃的途徑,F(xiàn)ortify公司的Brian Chess表示,“有很多事情并沒有設(shè)計(jì)寫代碼。”
. 那么,企業(yè)應(yīng)該如何使用像BSIMM 和OpenSAMM這些資源呢?你需要搞清楚動機(jī)因素以及每種模型后面的主要思想,以確保適合你的企業(yè)。微軟公司的第一個(gè)SDLC是以產(chǎn)品開發(fā)為導(dǎo)向的,他們的SDL優(yōu)化模型也是如此,但是更加側(cè)重于開發(fā)。而DHS十億個(gè)政府保證模型。
雖然多個(gè)甚至是重疊的安全軟件程序會造成一些混亂,但安全專家表示,在10年前,這方面的信息少之又少,希望企業(yè)們盡早運(yùn)用這些成熟模型,幫助減少軟件漏洞。


