科技云報道原創(chuàng)。
過去幾年,開源界一片火熱,開源軟件技術已全面進軍操作系統(tǒng)、云原生、人工智能、大數(shù)據、半導體、物聯(lián)網等行業(yè)領域。
數(shù)據顯示,我國超九成企業(yè)在使用或正計劃使用開源技術。
與此同時,全球各大開源組織相繼興起,頭部科技企業(yè)均投入大量人力進行開源生態(tài)建設。
然而,隨著開源軟件的發(fā)展,其數(shù)量和影響力在不斷的上升,開源風險也隨之而來。
不恰當?shù)厥褂瞄_源軟件,可能會給企業(yè)造成負面輿論甚至經濟損失的風險。
2021年12月,抖音海外版TikTok上線了一款名為TikTok Live Studio的APP,但不久其下載頁面就被刪除。
TikTok官方對此事做出回應,原因是該APP違反GPL許可證,使用了GPL許可證下的開源軟件源碼,卻沒有按照GPL許可證要求開源。
近年來,類似抖音因違規(guī)使用開源軟件而引發(fā)開源合規(guī)風險的案例屢有發(fā)生。
但開源軟件的風險并不止于此,看似免費使用的開源代碼之下,暗藏著多重風險。
開源軟件的風險
一般來說,開源軟件的風險可能來自四個方面:
安全風險其中又分為開源軟件本身的安全漏洞導致的風險,和目前關注度很高的軟件供應鏈攻擊的風險。
根據Sonatype 2021年的報告,29%的流行項目包含了已知的第三方庫安全漏洞,也就是說接近1/3的軟件項目都包含了已知安全漏洞,足以可見安全漏洞的普遍性。
而軟件供應鏈方面的安全問題,是比較難以發(fā)現(xiàn)的。
例如Log4Shell與Spring4Shell是2021-2022年影響非常廣泛的兩個安全漏洞。
這類安全漏洞的特點在于,通過對供應鏈上游軟件進行攻擊,進而可以影響大量下游使用的軟件。
在這種情況下,開源軟件來源的安全把控非常重要,但目前開源軟件供應鏈面臨的最大挑戰(zhàn),就是企業(yè)自己都不知道用了哪些開源軟件,大公司已經開始關注到開源合規(guī)治理的內容,但是很多小公司還沒有這個意識。
法律風險其中又分為許可證協(xié)議和專利方面的風險。
常見的許可證主要有GPL、LGPL、AGPL、MPL、MIT、BSD、Apache,各個許可證還包含不同版本。根據使用條件不同,可以將這些許可證大致分為兩類:Copyleft 許可證和寬松許可證(permissive license),主要對使用、修改和分發(fā)的場景作出相應約束。
由于目前很多的開源項目里面嵌套著其他開源項目,那么可能存在內部許可證上的沖突。對于代碼組件的分析,以及對組件背后相應許可證是否沖突,需要專業(yè)的分析。
如果未按照開源許可證的規(guī)定,履行開源合規(guī)義務,可能會造成侵權而遭到索賠、訴訟、產品下架、商譽受損等風險。
在專利方面,一種是本身的創(chuàng)建者/貢獻者實現(xiàn)的專利,有可能預埋專利陷阱,另一種是第三方專利維權風險。此外,還有商標侵權及出口管制方面的風險。
運維風險如果企業(yè)自己沒有能力支撐,或沒有商業(yè)公司幫忙的話,開源項目的維護成本也很高。
斷供風險俄烏事件后,GitHub不允許俄羅斯開發(fā)人員下載代碼,甚至把俄羅斯賬號的代碼提交刪掉,這一“斷供”事件為全球開發(fā)者敲響了警鐘。
此外,2022年1月,F(xiàn)aker.js 的作者主動惡意破壞自己的項目后“刪庫跑路”,甚至還注入了導致程序死循環(huán)的惡意代碼,引起眾多應用程序崩潰,瞬間引發(fā)了開源圈“震動”。
直面開源軟件的風險
面對開源軟件的種種風險,企業(yè)和開發(fā)者應如何安全合規(guī)地使用開源技術,合理“避坑”呢?
事實上,無論是開源還是閉源,本質上都是軟件,都會存在安全漏洞,不能因為害怕風險而拒絕使用開源軟件。
因此,業(yè)內專家提出了一些應對開源安全風險問題的辦法,從多個角度來提升開源軟件的安全性。
首先,針對整個開源軟件供應鏈安全加大關注,去尋找供應鏈中相對來說比較薄弱的風險點,并在這個風險點上加大投入。
中國信通院云大所開源和軟件安全部副主任郭雪認為,在企業(yè)側有三個重要的關鍵動作:
建立相應的開源安全管理的流程機制;勇于盤點軟件資產,建立SBOM軟件物料清單,對所有的組件一目了然。建立預警機制、維護團隊和維護機制。例如,長期追蹤開源軟件最近是否有更新和版本發(fā)布,并檢查目前使用的版本是否有安全漏洞等。安全漏洞發(fā)生后的第一時間,及時去打相應的補丁等。其次,在使用開源軟件時,需要謹慎選擇開源軟件,關注其開源許可證的內容及相關條件,避免潛在的法律風險。
對此,企業(yè)應當建立一個完善機制,識別企業(yè)中所使用的開源軟件清單,明確對應的開源許可證及權利約束,及時規(guī)避相關合規(guī)風險。
同時,通過隔離機制避免開源許可證傳染。
例如,對于MPL許可證下代碼的使用,應把該許可證的代碼放在單獨的文件內避免許可證傳染;LGPL下的代碼,可采用動態(tài)鏈接調用該許可證的庫實現(xiàn)隔離。
目前,國內很多大中型公司已經成立了專門的開源治理辦公室,以應對開源合規(guī)問題。
據上海安勢信息技術有限公司資深解決方案架構師朱賢曼介紹,在實際業(yè)務中,對商業(yè)應用比較友好的是Apache,法務風險相對較低,而AGPL、SSPL一般很多公司會直接禁用。
企業(yè)在對外發(fā)布開源項目時,如果希望商業(yè)化之后保留一個商業(yè)版本、一個社區(qū)版本,可能會選擇類似GPL的許可,一方面可以收集到用戶意見,也就是開源的反饋意見,用于改進商業(yè)版,同時也不希望被直接白嫖。
此外,國家層面也在慢慢重視開源合規(guī),出臺了開源技術相關的法律法規(guī)。
例如,2021年,中國人民銀行、中央網信辦等五部門聯(lián)合發(fā)布了《關于規(guī)范金融業(yè)開源技術應用與發(fā)展的意見》,對金融機構安全可控、合規(guī)使用開源技術進行了指導和規(guī)范。
其中,《意見》明確提出:推動金融機構建立健全評估體系;支持金融機構對開源技術版權、專利、商標、聲明等進行事前合規(guī)審查,梳理開源技術間依賴性等,避免法律糾紛;支持金融機構制定應急處置預案;支持金融機構加強開源技術供應鏈管理,通過合同或協(xié)議條款,明確開源技術提供商義務和責任等。
第三,如果企業(yè)自己沒有支持開源軟件的能力,建議選擇有商業(yè)背景的公司,可以購買公司提供的服務。
企業(yè)可以與其簽訂法律合同,提出SLA或問題修復時效相關的承諾,這些開源軟件背后的公司扮演了一個讓供應鏈更牢固的角色。
最后,斷供事件不可避免,中國企業(yè)還需未雨綢繆。
開源本身不限制地域,但是承載開源這件事情的通常是一個商業(yè)實體,商業(yè)實體會受到所在地區(qū)的出口管制法,或者其他制裁條例的限制。
目前,幾乎所有著名的開源軟件團體都位于美國,且有的許可證規(guī)定了管轄法院為美國法院,且適用法律為美國法。
這些事實無不在提醒我們,開源軟件受到美國出口管制的影響。
從這個角度來看,企業(yè)內部可以建內部代碼庫,所依賴的東西可以將其放在內部代碼庫上,萬一有一天訪問不了國外的開源托管平臺,也有備份的源碼池可以獲得這些代碼。
從更長遠的角度看,開源世界是彼此相互依賴的,在一個生態(tài)當中,誰在生態(tài)位的高端,誰就具備抵御相互依賴的打擊能力。
目前,在開源代碼的貢獻率上,中國已經位居全球第二。
中國科技公司成為美國開源代碼托管平臺的重要客戶,中國的GitHub用戶已居全球第二,僅次于美國。
中國作為最大的開源技術受惠者之一,并正在成為最大的反哺者之一,因話語權的不斷擴大也將降低開源斷供的風險。
同時,國家層面也在主導建設自己的開源社區(qū)和開源平臺,開展“開源生態(tài)培育”專項行動,統(tǒng)籌推進建設高水平基金會,打造優(yōu)秀開源項目,建設我國自己的開源生態(tài)體系。
結語
開源風險從來不是一個簡單的問題,對于開源軟件的風險管理,其實是一個軟件生態(tài)式的管理,涉及軟件開發(fā)使用過程中的各種角色。
無論是哪一方,都需要盡快提升開源安全合規(guī)意識,并遵循國際上的開源風險治理最佳實踐,盡量將開源風險扼殺在源頭。
來源:科技云報道
免責聲明:此文內容為第三方自媒體作者發(fā)布的觀察或評論性文章,所有文字和圖片版權歸作者所有,且僅代表作者個人觀點,與極客網無關。文章僅供讀者參考,并請自行核實相關內容。投訴郵箱:editor@fromgeek.com。
免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。