■ 張建國
加強(qiáng)軟件安全
還需合理管理開源
■ 張建國
現(xiàn)在許多公司越來越明白這一點(diǎn):想比競爭對(duì)手更迅速地開發(fā)出質(zhì)量更好的創(chuàng)新軟件,關(guān)鍵在于借助使用開源軟件(OSS)。不過使用開源也帶來了一系列不同的挑戰(zhàn)。雖然貴企業(yè)的團(tuán)隊(duì)能夠獲得速度和敏捷性,但常常更難查明代碼的真正來源、確保代碼安全可靠。
正如OpenSSL Heartbleed安全漏洞證明的那樣,不知道自己的應(yīng)用程序或最終產(chǎn)品中使用什么代碼,有可能造成嚴(yán)重的安全威脅,需要投入大量精力來補(bǔ)救這些威脅,很耗費(fèi)時(shí)間。反過來,要是查清楚使用了哪些OSS組件和版本、哪里使用了OSS組件和版本,對(duì)于迅速應(yīng)對(duì)及補(bǔ)救安全漏洞大有幫助。
Heartbleed軟件錯(cuò)誤提醒廣大開發(fā)人員和公司企業(yè)安全到底有多重要。雖然之前就有圍繞專有軟件或開源軟件哪個(gè)更安全這個(gè)廣泛的爭論,但這個(gè)爭論基本上沒啥意義。事實(shí)上,代碼缺陷存在于大多數(shù)軟件當(dāng)中,不管代碼來自專有軟件還是開源軟件,有些代碼缺陷影響安全性。
想真正準(zhǔn)確地了解貴企業(yè)面臨的潛在安全漏洞,就要明白3個(gè)問題:
1.貴企業(yè)目前的產(chǎn)品和應(yīng)用程序中有什么代碼?
2.開發(fā)過程的前期使用了什么代碼?開發(fā)人員又從哪里獲得了這些組件?
3.開發(fā)過程的后期使用了什么代碼?代碼在部署之前需要在哪里加以驗(yàn)證?
評(píng)估形勢
所有公司都應(yīng)該對(duì)照常見安全漏洞數(shù)據(jù)庫核對(duì)自己的代碼,比如美國標(biāo)準(zhǔn)和技術(shù)研究所(NIST)的全國安全漏洞數(shù)據(jù)庫(NVD)。像NVD這些資源可以跟蹤安全漏洞,并給出嚴(yán)重性等級(jí),幫助公司企業(yè)確保各自的代碼安全、最新。
如果貴企業(yè)之前從未對(duì)照安全漏洞數(shù)據(jù)庫審查過自己的代碼,這可能是一項(xiàng)艱巨的任務(wù)。幸好,有些工具可以充分利用這些數(shù)據(jù)庫,定期自動(dòng)識(shí)別所有的開源安全漏洞,警報(bào)并跟蹤受影響的組件在哪里使用、在哪里需要補(bǔ)救。
大多數(shù)開發(fā)人員之所以被OSS所吸引,原因在于OSS易于訪問、隨意獲取,通常讓他們可以擯棄正規(guī)的采購流程。不過,雖然許多開發(fā)公司對(duì)開源使用有相應(yīng)的政策或準(zhǔn)則,但這些政策或準(zhǔn)則并不總是得到落實(shí),常常沒有受到合理的監(jiān)控。查明什么代碼進(jìn)入貴企業(yè)、代碼是否獲準(zhǔn)使用以及它在貴企業(yè)的哪個(gè)部門使用,這點(diǎn)很重要。
一旦貴企業(yè)知道了擁有的代碼,就需要建立治理機(jī)制。通過在整個(gè)開發(fā)過程中實(shí)施管理體系,就能確保準(zhǔn)確地描述代碼,并消除什么代碼在哪里、代碼是不是最新方面的問題。人工管理這個(gè)過程幾乎不可能,這就是為什么同類中最佳的公司借助自動(dòng)化代碼管理和審計(jì)解決方案,主動(dòng)管理開源軟件的使用。
雖然每家公司和每個(gè)開發(fā)團(tuán)隊(duì)的情況各不相同,但事實(shí)證明下列流程可以幫助大大小小的企業(yè)管理和保護(hù)所使用的OSS:
自動(dòng)審批和列入目錄——借助自動(dòng)化掃描、審批和清點(diǎn)流程,記錄并跟蹤OSS組件的所有相關(guān)屬性,評(píng)估許可證合規(guī),并審查可能存在的安全漏洞。
維護(hù)經(jīng)過更新的代碼版本——評(píng)估代碼質(zhì)量,并確保貴企業(yè)的產(chǎn)品采用最新版本的代碼開發(fā)而成。
驗(yàn)證代碼——評(píng)估使用的所有OSS;審查代碼,評(píng)估安全、許可證或?qū)С鲲L(fēng)險(xiǎn),并補(bǔ)救任何問題。
確保合規(guī)——制定并落實(shí)一項(xiàng)開源政策,制定一套自動(dòng)化合規(guī)流程,以確保開源政策、規(guī)定和法律義務(wù)等在整個(gè)企業(yè)都得到了遵守。
由于各行各業(yè)使用軟件的現(xiàn)象日益普及,開源將繼續(xù)在開發(fā)最新創(chuàng)新產(chǎn)品和服務(wù)中扮演至關(guān)重要的角色。為了防止這個(gè)日益復(fù)雜的環(huán)境出現(xiàn)安全漏洞,公司勢必要積極管理整個(gè)企業(yè)的開源流向,并制定流程,從而對(duì)照安全漏洞數(shù)據(jù)庫定期核查代碼,以便快速輕松地補(bǔ)救。