新思BSIMM助力軟件安全“學(xué)渣”變“學(xué)霸”
新思科技軟件質(zhì)量與安全部門高級(jí)安全架構(gòu)師楊國梁表示,“安全不應(yīng)該是在最后被疊加上去的一些輔助性的功能,而應(yīng)該是整個(gè)系統(tǒng)的天然特質(zhì)。因此要想獲得安全的軟件,必須與軟件開發(fā)生命周期進(jìn)行深度集成?!?0世紀(jì)90年代末期,軟件安全作為獨(dú)立于計(jì)算機(jī)和網(wǎng)絡(luò)安全的新學(xué)科開始蓬勃發(fā)展。研究人員開始投入更多的精力去研究程序員如何能為計(jì)算機(jī)系統(tǒng)保駕護(hù)航,或在無意間破壞其安全:哪些錯(cuò)誤和缺陷引發(fā)了安全問題?如何系統(tǒng)地識(shí)別問題?
軟件安全問題通??梢苑譃槁┒磁c缺陷,漏洞指編碼過程中出現(xiàn)的問題,而缺陷指設(shè)計(jì)過程中出現(xiàn)的問題。據(jù)調(diào)查,目前漏洞和缺陷占比大約為50/50。此外,Risk Based Security也曾有報(bào)告指出,單單2018年上半年,業(yè)界就發(fā)布了 10,644 個(gè)漏洞,超過 2017 年同期的 9,690 個(gè),其中有近 17%屬于高危級(jí)別的嚴(yán)重漏洞。這些漏洞以及設(shè)計(jì)缺陷影響著軟件的可靠性、可用性,以及軟件中信息的保密性和完整性,有可能造成信息泄露等安全問題。
近年來,軟件安全行業(yè)達(dá)成了一個(gè)新共識(shí):企業(yè)僅憑一己之力是無法創(chuàng)建安全軟件的。要想實(shí)現(xiàn)軟件安全,他們必須參與到軟件開發(fā)流程之中,即使該流程不斷發(fā)展演進(jìn)也不例外。從那時(shí)起,軟件安全公司便開始了解該流程,明白了僅憑開發(fā)者工具并不足以保證軟件安全。
軟件安全還涉及到業(yè)務(wù)、社會(huì)和組織層面。企業(yè)需要建立為構(gòu)建安全軟件而開展的所有活動(dòng),即“軟件安全計(jì)劃”(SSI)。
對此,新思科技軟件質(zhì)量與安全部門高級(jí)安全架構(gòu)師楊國梁表示,“安全不應(yīng)該是在最后被疊加上去的一些輔助性的功能,而應(yīng)該是整個(gè)系統(tǒng)的天然特質(zhì)。因此要想獲得安全的軟件,必須與軟件開發(fā)生命周期進(jìn)行深度集成?!?
目前,針對軟件安全性問題的解決方案有很多。大體分為兩大類,一種是以微軟SDL為代表的“指導(dǎo)性”模型。一種是新思科技BSIMM(軟件安全構(gòu)建成熟度模型)“描述性”模型。所謂指導(dǎo)性模型是指,在軟件開發(fā)的每一個(gè)階段提出相應(yīng)的安全活動(dòng)和規(guī)范,即告訴你每一個(gè)階段“應(yīng)該做什么”,從而提高軟件產(chǎn)品的安全性。

SDL每階段內(nèi)容
而描述性模型并不是一個(gè)指導(dǎo)方案,它只進(jìn)行事實(shí)陳述,告訴你“發(fā)生了什么”,即此模型會(huì)對你的企業(yè)進(jìn)行評估,描述標(biāo)記你的企業(yè)進(jìn)行了哪些活動(dòng),與同行業(yè)相比,你們公司處于怎樣的位置,描述性模型不會(huì)進(jìn)行價(jià)值判斷。楊國梁稱其為“一個(gè)收集優(yōu)秀實(shí)踐、反應(yīng)市場真實(shí)性的模型?!被谶@樣的特質(zhì),描述性模型可以評估各種各樣的指導(dǎo)性模型。楊國梁認(rèn)為,指導(dǎo)性模型是企業(yè)必備的,尤其是些中小企業(yè),但是在使用指導(dǎo)性模型之后,還是需要BSIMM這樣的描述性模型去評估這些活動(dòng)到底開展的如何。對于小企業(yè)或是初創(chuàng)企業(yè)來說,使用描述性模型,可以讓一個(gè)“學(xué)渣”巧妙地了解到“學(xué)霸”們都在“偷偷”開展些什么活動(dòng),沒準(zhǔn)稍不留神就獲得了很多有啟發(fā)性的想法,從此成就一番霸業(yè)。

BSIMM模型發(fā)展至今已經(jīng)有了10年的歷史,10月25日新思科技發(fā)布了BSIMM模型第十版,即BSIMM 10。在過去的十年里,新思科技采用BSIMM對185家公司進(jìn)行了約450次評估,第十個(gè)版本反應(yīng)了觀察到的122家公司的軟件安全活動(dòng),包括的數(shù)據(jù)是從真正建立SSI的公司收集而來,量化了119項(xiàng)活動(dòng)來展示各個(gè)公司計(jì)劃的共同以及不同之處。

BSIMM 10相較于之前的版本強(qiáng)調(diào)了DevOps對軟件安全計(jì)劃的影響、工程導(dǎo)向的安全工作的新浪潮,以及公司如何在軟件安全成熟度的三個(gè)階段前行。BSIMM模型經(jīng)過10年的發(fā)展,其數(shù)據(jù)池已從最初的9家增加到如今BSIMM 10的122家企業(yè),對于行業(yè)情況的反應(yīng)越來越全面。在保證樣本新鮮度方面,新思科技采取不斷更新參與企業(yè)名單的方式,剔除時(shí)間超過36個(gè)月的評估結(jié)果。對越來越少被觀察到的活動(dòng),在經(jīng)過慎重考慮后進(jìn)行降級(jí)處理。同時(shí)增加新的頻繁被觀察到的活動(dòng)。由此看來,BSIMM模型更像是一個(gè)“活”的模型,始終盡可能快地反映著市場的真實(shí)情況。資料顯示,2018年年初,華為云曾在BSIMM的安全評估中獲得了高分。
新思科技首席科學(xué)家Sammy Migues曾說過:“領(lǐng)導(dǎo)一個(gè)有效的軟件安全計(jì)劃是富有挑戰(zhàn)性的,而DevOps和CI/CD帶來的巨大技術(shù)和組織變革并沒有使這項(xiàng)任務(wù)變得更加容易。作為不斷發(fā)展以反映全球數(shù)百個(gè)軟件安全小組的經(jīng)驗(yàn)的工具,無論你是剛剛開始軟件安全旅程,還是尋求優(yōu)化程序或者應(yīng)對新的挑戰(zhàn),BSIMM以及社區(qū)都是寶貴的資源。”
軟件安全對于軟件的設(shè)計(jì)者而言是十分重要的事情,眾所周知,如果在軟件實(shí)際開發(fā)出來后發(fā)現(xiàn)安全問題,再進(jìn)行修補(bǔ)甚至推翻重來代價(jià)十分高昂,因此將“安全”深度集成到軟件開發(fā)的生命周期中是必要的。借助于新思科技BSIMM模型,希望我們的軟件安全問題能夠得到進(jìn)一步的改善。