盡管大多數(shù)人沒有意識(shí)到這一點(diǎn),但我們每天所依賴的許多技術(shù)都是在自由和開源軟件(FOSS)上運(yùn)行的。手機(jī)、汽車、飛機(jī),甚至許多尖端人工智能程序都在使用開源軟件,如Linux內(nèi)核操作系統(tǒng)、Apache和Nginx 網(wǎng)頁服務(wù)器(運(yùn)行著世界60%以上的網(wǎng)站)和Kubernetes(支持云計(jì)算)。這些軟件包的可持續(xù)性、穩(wěn)定性和安全性是使用它們的每一家企業(yè)(實(shí)質(zhì)上就是每一家企業(yè))主要關(guān)注的問題。但與傳統(tǒng)的閉源軟件(由公司內(nèi)部開發(fā)和銷售)不同,F(xiàn)OSS是由一大群默默無聞、通常不計(jì)報(bào)酬的開發(fā)人員開發(fā),通常也是免費(fèi)贈(zèng)送的。
在過去幾年中,我們觀察到,企業(yè)在開源軟件中扮演了更加積極的角色,他們要么指派員工參與現(xiàn)有的開源項(xiàng)目的貢獻(xiàn),要么公開自己的代碼,既讓社區(qū)對(duì)其利用,又讓社區(qū)幫助對(duì)其維護(hù)。隨著企業(yè)將FOSS作為其商業(yè)模式的一部分,他們還收購了重要的FOSS生產(chǎn)商。兩年前,IBM以340億美元收購了Red Hat這家圍繞FOSS建立的最成功公司之一。在那之前一年,其他科技巨頭花費(fèi)了數(shù)十億美元收購FOSS股份,其中最著名的是微軟(以75億美元收購了GitHub)和Salesforce.com(以65億美元收購了MuleSoft)。
企業(yè)界進(jìn)入免費(fèi)開源在線社區(qū)引起了一些嚴(yán)重的關(guān)注和摩擦。收購FOSS生產(chǎn)商可能會(huì)導(dǎo)致自愿貢獻(xiàn)者被排擠出去,在一定程度上威脅到FOSS生態(tài)系統(tǒng)未來的健康。此外,世界上最大的云提供商在FOSS組件的基礎(chǔ)上建立了數(shù)十億美元的業(yè)務(wù),這讓FOSS貢獻(xiàn)者們不禁要問,為何要把自己的空閑時(shí)間花來讓富人更富?這些行動(dòng)可能會(huì)讓志愿者停止貢獻(xiàn),從而威脅到FOSS社區(qū)的基本理念。
一個(gè)特別有爭議的案例是Elastic和亞馬遜之間的沖突。Elastic是一家上市公司,其Elasticsearch軟件支持沃爾瑪、奧迪等眾多企業(yè)網(wǎng)站的搜索活動(dòng)。在亞馬遜這家在線巨頭采用了Elastic已經(jīng)開放源代碼的某一Elasticsearch版本、重新包裝并以幾乎相同的名稱出售給客戶后,Elasticsearch與亞馬遜較上了勁。Elastic認(rèn)為,從本質(zhì)上講,亞馬遜采用的是為整個(gè)社區(qū)創(chuàng)造價(jià)值的免費(fèi)代碼,然后筑起屏障,以便他們是唯一能夠從中獲取價(jià)值的人。
在Linux基金會(huì)的支持下,協(xié)同跨行業(yè)的開源安全基金會(huì)(Open Source Security Foundation),我們已經(jīng)開展了兩項(xiàng)互補(bǔ)性的研究工作——一項(xiàng)研究的重點(diǎn)是進(jìn)行FOSS使用的普查,另一項(xiàng)的重點(diǎn)是了解FOSS貢獻(xiàn)者的動(dòng)機(jī)——旨在尋求更好地了解這些關(guān)注點(diǎn)。對(duì)于第一項(xiàng)研究,我們與包括Snyk和Synopsys在內(nèi)的軟件成分分析和應(yīng)用程序安全公司合作,通過對(duì)這種關(guān)鍵軟件進(jìn)行普查來確定使用最廣泛的FOSS包,從而廣泛了解FOSS在生產(chǎn)應(yīng)用程序中的使用情況。對(duì)于第二項(xiàng)研究,我們對(duì)FOSS開發(fā)者社區(qū)進(jìn)行了一次大規(guī)模的全球調(diào)查,詢問開發(fā)者為何對(duì)特定的FOSS項(xiàng)目做出貢獻(xiàn),他們?nèi)绾慰创齺碜云髽I(yè)的重大財(cái)務(wù)投資,以及他們利用的是何種安全措施(Foss中相當(dāng)重要的一個(gè)問題)。以下是我們的發(fā)現(xiàn)。
關(guān)于企業(yè)越來越多地參與FOSS一事,最大問題是,這是否會(huì)對(duì)FOSS生態(tài)系統(tǒng)的未來健康無恙產(chǎn)生負(fù)面影響。開發(fā)我們所依賴之軟件的開發(fā)人員是否會(huì)停止參與一個(gè)較少由社區(qū)意識(shí)所驅(qū)動(dòng)、更多由利潤追求所驅(qū)動(dòng)的系統(tǒng)?企業(yè)是否會(huì)只關(guān)注可盈利的FOSS,而忽視社會(huì)所依賴的其他關(guān)鍵基礎(chǔ)設(shè)施?維護(hù)這個(gè)軟件的安全性難度是否更大?如果有關(guān)FOSS的更多工作是由單獨(dú)的公司完成,那么尋找漏洞和潛在缺陷的人是否會(huì)更少?如果以上任何一個(gè)問題的答案是肯定的,這對(duì)開源軟件的未來來說不是一個(gè)好兆頭。
我們普查的初步結(jié)果揭示了兩個(gè)令人擔(dān)憂的趨勢,它們可能使FOSS更容易出現(xiàn)安全漏洞。首先,我們發(fā)現(xiàn)許多商業(yè)軟件中使用最廣泛的FOSS包都是置于個(gè)人開發(fā)者(而不是更廣泛的社區(qū))賬戶之下,這不僅帶來了安全問題,也帶來了可靠性問題。一個(gè)人可能會(huì)接受一份新工作,可能會(huì)決定退休,或者——但愿不會(huì)這樣——被俗話說的公共汽車撞到而無法維持項(xiàng)目。個(gè)人賬戶還可能不具備足夠的安全保護(hù)措施來防止黑客的潛在危險(xiǎn)攻擊。其次,我們發(fā)現(xiàn),許多企業(yè)正在使用過時(shí)的開源程序版本——這一發(fā)現(xiàn)即使不一定令人訝異,但也會(huì)令人擔(dān)憂。不能保持更新意味著該軟件更有可能包含已知的漏洞和安全缺陷。這兩種趨勢都反映出,安全通常是事后才想到的問題。
調(diào)查結(jié)果還顯示,貢獻(xiàn)者的動(dòng)機(jī)可能要求企業(yè)使用非傳統(tǒng)激勵(lì)措施。雖然越來越多的貢獻(xiàn)者得到了企業(yè)的贊助,但這些貢獻(xiàn)者的主要?jiǎng)訖C(jī)不是錢。這意味著企業(yè)激勵(lì)行為的傳統(tǒng)杠桿可能不起作用,需要依賴的可能是更多的內(nèi)在動(dòng)機(jī),包括學(xué)習(xí)熱情、對(duì)FOSS社區(qū)的歸屬感以及程序員的職業(yè)身份。因此,任何希望提高FOSS安全性的企業(yè)、組織或政府都需要將關(guān)注的焦點(diǎn)放到吸引這些內(nèi)在動(dòng)機(jī)上,而不僅僅是付錢讓貢獻(xiàn)者解決安全問題?;蛘撸髽I(yè)可以花錢雇人來專門處理安全問題。不管怎樣,我們的調(diào)查顯示,期望貢獻(xiàn)者自愿解決安全問題不太可能獲得成功。
沒有人(我們當(dāng)然也不會(huì))建議我們必須回到FOSS初期的日子,那時(shí)它主要是志趣相投的個(gè)人自愿做出的努力。但我們的確建議企業(yè)和政府這樣的大玩家——它們開始越來越多地直接或間接贊助FOSS ——了解它們對(duì)FOSS生態(tài)系統(tǒng)未來的影響,并遵循幾條指導(dǎo)原則。
首先,企業(yè)和國家的目標(biāo)都應(yīng)該是取得適當(dāng)?shù)钠胶?/strong>:確保FOSS在不扼殺社區(qū)精神的情況下繼續(xù)發(fā)展,而社區(qū)精神一直是貢獻(xiàn)的核心動(dòng)機(jī)。這意味著,企業(yè)針對(duì)開源應(yīng)該有一個(gè)明確的政策(如果可行的話,最好是鼓勵(lì)員工為FOSS做貢獻(xiàn)的政策)。我們的研究發(fā)現(xiàn),許多員工對(duì)自己公司的FOSS政策并沒有清晰的了解,這使得他們在公開使用FOSS項(xiàng)目并為其做出貢獻(xiàn)時(shí)猶豫不決。此外,他們可以主動(dòng)支持這些項(xiàng)目,以確保他們未來的健康。
其次,使用FOSS的企業(yè)(實(shí)質(zhì)上是所有企業(yè),不管他們知道與否)應(yīng)該提高他們對(duì)所使用的FOSS的認(rèn)識(shí)水平。最近的一項(xiàng)總統(tǒng)行政命令要求,對(duì)于政府采購的任何產(chǎn)品都必須提供一份軟件材料清單(software bill of materials, SBOM),以便政府了解產(chǎn)品中包含哪些FOSS(以及專有軟件),因而可以了解可能出現(xiàn)的漏洞。這是所有企業(yè)都應(yīng)該考慮效法的一個(gè)重要例子。這樣做可以讓企業(yè)更好地了解他們對(duì)FOSS社區(qū)的依賴,而且會(huì)產(chǎn)生更大的透明度,使他們能夠知道自己何時(shí)容易受到新發(fā)現(xiàn)的漏洞的破壞。
第三,隨著企業(yè)繼續(xù)參與對(duì)FOSS的貢獻(xiàn),我們建議他們心系所用軟件的穩(wěn)定性,激勵(lì)他們的員工在貢獻(xiàn)時(shí)重點(diǎn)關(guān)注對(duì)公司有用的功能以及總體的安全和維護(hù),并認(rèn)識(shí)到這些項(xiàng)目背后的志愿者社區(qū)至關(guān)重要,應(yīng)該受到保護(hù)。通過這種方式,他們不僅會(huì)從自己正在添加的新功能中獲益,而且確保了他們所依賴的FOSS未來的健康。
自由和開源軟件是經(jīng)濟(jì)中一個(gè)至關(guān)重要的齒輪,就像州際公路、電網(wǎng)或通信網(wǎng)絡(luò)一樣??紤]到我們對(duì)這些關(guān)鍵基礎(chǔ)設(shè)施系統(tǒng)的了解程度,對(duì)21世紀(jì)等同于它們的東西做同樣多的了解,這難道不是很有意義嗎?由于FOSS生態(tài)系統(tǒng)涉及的利益相關(guān)者眾多,任何一個(gè)行動(dòng)者都難以解決所有問題。因此,可能有必要讓包括企業(yè)、政府組織和個(gè)人貢獻(xiàn)者在內(nèi)的多方共同努力,確保FOSS生態(tài)系統(tǒng)在未來的安全和活力。然而,首先必須做的是了解問題的范圍。我們相信,我們的努力是朝著這一方向邁出的第一步。
希拉·利夫希茨-阿薩夫是紐約大學(xué)斯特恩商學(xué)院(NYU Stern)技術(shù)、運(yùn)營與統(tǒng)計(jì)學(xué)副教授。弗蘭克·內(nèi)格爾是哈佛商學(xué)院助理教授,他在那里研究和教授的課題是技術(shù)與戰(zhàn)略的交叉。此前,他曾在網(wǎng)絡(luò)安全領(lǐng)域從業(yè)了近10年時(shí)間。
關(guān)鍵詞: 生態(tài)系統(tǒng) 安全問題 至關(guān)重要