侵權(quán)投訴
訂閱
糾錯
加入自媒體

開源真的香,風(fēng)險知多少?

過去幾年,開源界一片火熱,開源軟件技術(shù)已全面進軍操作系統(tǒng)、云原生、人工智能、大數(shù)據(jù)、半導(dǎo)體、物聯(lián)網(wǎng)等行業(yè)領(lǐng)域。數(shù)據(jù)顯示,我國超九成企業(yè)在使用或正計劃使用開源技術(shù)。與此同時,全球各大開源組織相繼興起,頭部科技企業(yè)均投入大量人力進行開源生態(tài)建設(shè)。然而,隨著開源軟件的發(fā)展,其數(shù)量和影響力在不斷的上升,開源風(fēng)險也隨之而來。

不恰當(dāng)?shù)厥褂瞄_源軟件,可能會給企業(yè)造成負(fù)面輿論甚至經(jīng)濟損失的風(fēng)險。2021年12月,抖音海外版TikTok上線了一款名為TikTok Live Studio的APP,但不久其下載頁面就被刪除。

TikTok官方對此事做出回應(yīng),原因是該APP違反GPL許可證,使用了GPL許可證下的開源軟件源碼,卻沒有按照GPL許可證要求開源。近年來,類似抖音因違規(guī)使用開源軟件而引發(fā)開源合規(guī)風(fēng)險的案例屢有發(fā)生。但開源軟件的風(fēng)險并不止于此,看似免費使用的開源代碼之下,暗藏著多重風(fēng)險。

開源軟件的風(fēng)險

一般來說,開源軟件的風(fēng)險可能來自四個方面:

安全風(fēng)險

其中又分為開源軟件本身的安全漏洞導(dǎo)致的風(fēng)險,和目前關(guān)注度很高的軟件供應(yīng)鏈攻擊的風(fēng)險。根據(jù)Sonatype 2021年的報告,29%的流行項目包含了已知的第三方庫安全漏洞,也就是說接近1/3的軟件項目都包含了已知安全漏洞,足以可見安全漏洞的普遍性。而軟件供應(yīng)鏈方面的安全問題,是比較難以發(fā)現(xiàn)的。例如Log4Shell與Spring4Shell是2021-2022年影響非常廣泛的兩個安全漏洞。

這類安全漏洞的特點在于,通過對供應(yīng)鏈上游軟件進行攻擊,進而可以影響大量下游使用的軟件。在這種情況下,開源軟件來源的安全把控非常重要,但目前開源軟件供應(yīng)鏈面臨的最大挑戰(zhàn),就是企業(yè)自己都不知道用了哪些開源軟件,大公司已經(jīng)開始關(guān)注到開源合規(guī)治理的內(nèi)容,但是很多小公司還沒有這個意識。

法律風(fēng)險

其中又分為許可證協(xié)議和專利方面的風(fēng)險。常見的許可證主要有GPL、LGPL、AGPL、MPL、MIT、BSD、Apache,各個許可證還包含不同版本。根據(jù)使用條件不同,可以將這些許可證大致分為兩類:Copyleft 許可證和寬松許可證(permissive license),主要對使用、修改和分發(fā)的場景作出相應(yīng)約束。由于目前很多的開源項目里面嵌套著其他開源項目,那么可能存在內(nèi)部許可證上的沖突。對于代碼組件的分析,以及對組件背后相應(yīng)許可證是否沖突,需要專業(yè)的分析。如果未按照開源許可證的規(guī)定,履行開源合規(guī)義務(wù),可能會造成侵權(quán)而遭到索賠、訴訟、產(chǎn)品下架、商譽受損等風(fēng)險。在專利方面,一種是本身的創(chuàng)建者/貢獻者實現(xiàn)的專利,有可能預(yù)埋專利陷阱,另一種是第三方專利維權(quán)風(fēng)險。此外,還有商標(biāo)侵權(quán)及出口管制方面的風(fēng)險。

運維風(fēng)險

如果企業(yè)自己沒有能力支撐,或沒有商業(yè)公司幫忙的話,開源項目的維護成本也很高。

斷供風(fēng)險

俄烏事件后,GitHub不允許俄羅斯開發(fā)人員下載代碼,甚至把俄羅斯賬號的代碼提交刪掉,這一“斷供”事件為全球開發(fā)者敲響了警鐘。此外,2022年1月,Faker.js 的作者主動惡意破壞自己的項目后“刪庫跑路”,甚至還注入了導(dǎo)致程序死循環(huán)的惡意代碼,引起眾多應(yīng)用程序崩潰,瞬間引發(fā)了開源圈“震動”。

直面開源軟件的風(fēng)險

面對開源軟件的種種風(fēng)險,企業(yè)和開發(fā)者應(yīng)如何安全合規(guī)地使用開源技術(shù),合理“避坑”呢?事實上,無論是開源還是閉源,本質(zhì)上都是軟件,都會存在安全漏洞,不能因為害怕風(fēng)險而拒絕使用開源軟件。因此,業(yè)內(nèi)專家提出了一些應(yīng)對開源安全風(fēng)險問題的辦法,從多個角度來提升開源軟件的安全性。

首先,針對整個開源軟件供應(yīng)鏈安全加大關(guān)注,去尋找供應(yīng)鏈中相對來說比較薄弱的風(fēng)險點,并在這個風(fēng)險點上加大投入。中國信通院云大所開源和軟件安全部副主任郭雪認(rèn)為,在企業(yè)側(cè)有三個重要的關(guān)鍵動作:建立相應(yīng)的開源安全管理的流程機制;勇于盤點軟件資產(chǎn),建立SBOM軟件物料清單,對所有的組件一目了然。建立預(yù)警機制、維護團隊和維護機制。例如,長期追蹤開源軟件最近是否有更新和版本發(fā)布,并檢查目前使用的版本是否有安全漏洞等。安全漏洞發(fā)生后的第一時間,及時去打相應(yīng)的補丁等。

其次,在使用開源軟件時,需要謹(jǐn)慎選擇開源軟件,關(guān)注其開源許可證的內(nèi)容及相關(guān)條件,避免潛在的法律風(fēng)險。對此,企業(yè)應(yīng)當(dāng)建立一個完善機制,識別企業(yè)中所使用的開源軟件清單,明確對應(yīng)的開源許可證及權(quán)利約束,及時規(guī)避相關(guān)合規(guī)風(fēng)險。同時,通過隔離機制避免開源許可證傳染。

例如,對于MPL許可證下代碼的使用,應(yīng)把該許可證的代碼放在單獨的文件內(nèi)避免許可證傳染;LGPL下的代碼,可采用動態(tài)鏈接調(diào)用該許可證的庫實現(xiàn)隔離。目前,國內(nèi)很多大中型公司已經(jīng)成立了專門的開源治理辦公室,以應(yīng)對開源合規(guī)問題。據(jù)上海安勢信息技術(shù)有限公司資深解決方案架構(gòu)師朱賢曼介紹,在實際業(yè)務(wù)中,對商業(yè)應(yīng)用比較友好的是Apache,法務(wù)風(fēng)險相對較低,而AGPL、SSPL一般很多公司會直接禁用。

企業(yè)在對外發(fā)布開源項目時,如果希望商業(yè)化之后保留一個商業(yè)版本、一個社區(qū)版本,可能會選擇類似GPL的許可,一方面可以收集到用戶意見,也就是開源的反饋意見,用于改進商業(yè)版,同時也不希望被直接白嫖。此外,國家層面也在慢慢重視開源合規(guī),出臺了開源技術(shù)相關(guān)的法律法規(guī)。

例如,2021年,中國人民銀行、中央網(wǎng)信辦等五部門聯(lián)合發(fā)布了《關(guān)于規(guī)范金融業(yè)開源技術(shù)應(yīng)用與發(fā)展的意見》,對金融機構(gòu)安全可控、合規(guī)使用開源技術(shù)進行了指導(dǎo)和規(guī)范。其中,《意見》明確提出:推動金融機構(gòu)建立健全評估體系;支持金融機構(gòu)對開源技術(shù)版權(quán)、專利、商標(biāo)、聲明等進行事前合規(guī)審查,梳理開源技術(shù)間依賴性等,避免法律糾紛;支持金融機構(gòu)制定應(yīng)急處置預(yù)案;支持金融機構(gòu)加強開源技術(shù)供應(yīng)鏈管理,通過合同或協(xié)議條款,明確開源技術(shù)提供商義務(wù)和責(zé)任等。 

第三,如果企業(yè)自己沒有支持開源軟件的能力,建議選擇有商業(yè)背景的公司,可以購買公司提供的服務(wù)。企業(yè)可以與其簽訂法律合同,提出SLA或問題修復(fù)時效相關(guān)的承諾,這些開源軟件背后的公司扮演了一個讓供應(yīng)鏈更牢固的角色。

最后,斷供事件不可避免,中國企業(yè)還需未雨綢繆。開源本身不限制地域,但是承載開源這件事情的通常是一個商業(yè)實體,商業(yè)實體會受到所在地區(qū)的出口管制法,或者其他制裁條例的限制。目前,幾乎所有著名的開源軟件團體都位于美國,且有的許可證規(guī)定了管轄法院為美國法院,且適用法律為美國法。

這些事實無不在提醒我們,開源軟件受到美國出口管制的影響。從這個角度來看,企業(yè)內(nèi)部可以建內(nèi)部代碼庫,所依賴的東西可以將其放在內(nèi)部代碼庫上,萬一有一天訪問不了國外的開源托管平臺,也有備份的源碼池可以獲得這些代碼。從更長遠的角度看,開源世界是彼此相互依賴的,在一個生態(tài)當(dāng)中,誰在生態(tài)位的高端,誰就具備抵御相互依賴的打擊能力。

目前,在開源代碼的貢獻率上,中國已經(jīng)位居全球第二。中國科技公司成為美國開源代碼托管平臺的重要客戶,中國的GitHub用戶已居全球第二,僅次于美國。中國作為最大的開源技術(shù)受惠者之一,并正在成為最大的反哺者之一,因話語權(quán)的不斷擴大也將降低開源斷供的風(fēng)險。同時,國家層面也在主導(dǎo)建設(shè)自己的開源社區(qū)和開源平臺,開展“開源生態(tài)培育”專項行動,統(tǒng)籌推進建設(shè)高水平基金會,打造優(yōu)秀開源項目,建設(shè)我國自己的開源生態(tài)體系。

結(jié)語

開源風(fēng)險從來不是一個簡單的問題,對于開源軟件的風(fēng)險管理,其實是一個軟件生態(tài)式的管理,涉及軟件開發(fā)使用過程中的各種角色。無論是哪一方,都需要盡快提升開源安全合規(guī)意識,并遵循國際上的開源風(fēng)險治理最佳實踐,盡量將開源風(fēng)險扼殺在源頭。

       原文標(biāo)題 : 開源真的香,風(fēng)險知多少?

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

安防 獵頭職位 更多
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號