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























