開源生態(tài)是一把雙刃劍,風(fēng)險挑戰(zhàn)怎樣應(yīng)對?

開源軟件在企業(yè)中的應(yīng)用越來越廣泛,然而開源軟件也是一把雙刃劍,本文分析了開源軟件為企業(yè)帶來的積極影響和風(fēng)險挑戰(zhàn),提出了應(yīng)對風(fēng)險的五個要點(diǎn)。

本文來自微信公眾號“twt企業(yè)IT社區(qū)(talkwithtrend.com)”,【作者】時朋泉,數(shù)據(jù)庫架構(gòu)師

一、開源軟件及生態(tài)對企業(yè)IT建設(shè)的挑戰(zhàn)和影響

隨著互聯(lián)網(wǎng)的發(fā)展,開源生態(tài)越來越豐富,開源軟件在企業(yè)中的應(yīng)用越來越廣泛。然而開源軟件也是一把雙刃劍,它在為企業(yè)帶來多方面積極影響的同時,也給企業(yè)帶來了各種新的風(fēng)險挑戰(zhàn)。

1.積極影響

(1)降低運(yùn)營成本

對于企業(yè)來說,降低成本一直是最重要的考慮因素之一。使用開源軟件可幫助企業(yè)降低軟件開發(fā)、維護(hù)和托管等方面的成本。由于開源軟件是免費(fèi)使用的,企業(yè)可以避免購買商業(yè)軟件許可證的費(fèi)用;并且由于源代碼是公開的,企業(yè)可自行修改軟件以滿足自己的業(yè)務(wù)需求,而無需支付額外的軟件定制開發(fā)費(fèi)用。

此外,由于開源社區(qū)通常擁有大量的開發(fā)者資源,企業(yè)可以從中獲得技術(shù)支持,獲取解決方案,并參與到開源項目的開發(fā)過程,提升技術(shù)實(shí)力。

(2)改善開發(fā)速度和質(zhì)量

使用開源軟件也可以改善軟件開發(fā)速度和質(zhì)量。例如,開源軟件中存在眾多編寫良好的代碼庫和工具,可以提高開發(fā)人員的生產(chǎn)力,節(jié)省開發(fā)時間。并且由于源代碼是公開的,開發(fā)人員可以輕松地理解和修改其他開源軟件的代碼,提高代碼質(zhì)量和可維護(hù)性。

此外,開源軟件往往經(jīng)過了廣泛的測試和審查,因此在代碼質(zhì)量和安全方面表現(xiàn)更好。當(dāng)企業(yè)在其業(yè)務(wù)運(yùn)作中采用這些軟件時,其系統(tǒng)將更加可靠和安全。

(3)促進(jìn)互動和創(chuàng)新

開源軟件的另一個重要特點(diǎn)是其社區(qū)活動和開放性,這在某種程度上促進(jìn)了企業(yè)和社區(qū)之間的互動和創(chuàng)新。例如,在某些情況下,企業(yè)可以在使用開源軟件的同時向開源社區(qū)做出貢獻(xiàn),為其開發(fā)和改進(jìn)做出自己的貢獻(xiàn)。這種貢獻(xiàn)對于企業(yè)來說是一種回饋,也可以提高企業(yè)在開源社區(qū)中的知名度和認(rèn)可度。

此外,開源軟件還可以促進(jìn)企業(yè)的創(chuàng)新發(fā)展,因?yàn)槿魏稳硕伎梢栽诩扔熊浖a的基礎(chǔ)上進(jìn)行開發(fā)和改進(jìn)。這種開放性促進(jìn)了創(chuàng)新和技術(shù)發(fā)展,為企業(yè)帶來更廣闊的可能性。

(4)擴(kuò)大市場影響力

通過向開源社區(qū)貢獻(xiàn)代碼或參與開源項目,企業(yè)可以提高其在技術(shù)領(lǐng)域的影響力,建立品牌聲譽(yù),并吸引優(yōu)秀的開發(fā)人才。

2.風(fēng)險挑戰(zhàn)

(1)安全和數(shù)據(jù)風(fēng)險

開源軟件是由多個開發(fā)者共同完成的且其協(xié)議存在免責(zé)條款,在給企業(yè)帶來便利的同時,也會引發(fā)一些安全漏洞及數(shù)據(jù)安全問題。2020年Synopsys的報告[1]中指出,在經(jīng)過審計的代碼庫中,75%包含具有已知安全漏洞的開源組件,而2018年這一比例是60%。此外,49%的代碼庫包含高風(fēng)險漏洞,前一年則是40%。由此可見,開源軟件存在一定的安全漏洞,且近年來持續(xù)增高。如果企業(yè)不能及時地發(fā)現(xiàn)安全漏洞,將會出現(xiàn)嚴(yán)重的數(shù)據(jù)泄露等安全風(fēng)險問題。

使用開源軟件可能帶來的安全漏洞類型較多,主要包含以下幾種:

代碼注入:開源軟件可能存在代碼注入漏洞,攻擊者可以通過輸入惡意代碼,導(dǎo)致系統(tǒng)被黑客攻擊。

跨站腳本攻擊:攻擊者可以利用開源軟件的跨站腳本漏洞,在用戶瀏覽器中執(zhí)行惡意腳本,竊取用戶信息。

文件上傳漏洞:開源軟件可能存在文件上傳漏洞,攻擊者可以利用該漏洞上傳惡意文件,進(jìn)而控制服務(wù)器。

權(quán)限提升:攻擊者可以利用開源軟件的權(quán)限提升漏洞,從低權(quán)限用戶升級為高權(quán)限用戶,進(jìn)而竊取敏感信息或破壞系統(tǒng)。

(2)運(yùn)維和技術(shù)風(fēng)險

使用開源軟件對企業(yè)運(yùn)維和技術(shù)支持工作帶來了很大的挑戰(zhàn),主要包括:

技能要求:開源軟件往往涉及特定領(lǐng)域的技能和知識。技術(shù)支持人員需要具備多樣化和跨領(lǐng)域的技能以處理各種問題,這增加了人才選拔和培訓(xùn)難度。

資源和支持:與商業(yè)軟件相比,開源軟件可能沒有官方支持,獲取幫助和解決方案的途徑主要靠論壇和社區(qū)。技術(shù)支持人員在解決問題時,可能需要花費(fèi)更多的時間和精力尋找資源、參考實(shí)踐案例和社區(qū)中的經(jīng)驗(yàn)。

軟件兼容性和穩(wěn)定性:由于開源軟件的更新迅速和多樣性,可能導(dǎo)致版本兼容性問題。技術(shù)支持人員需要評估不同版本之間的兼容性,處理軟件升級、補(bǔ)丁和依賴關(guān)系的問題。

安全管理:開源軟件可能會引入未知的安全風(fēng)險。技術(shù)支持人員需密切關(guān)注漏洞和修補(bǔ)程序,保持軟件的安全性。

許可證合規(guī):處理開源許可證和法律要求,確保軟件的合規(guī)使用,避免潛在法律風(fēng)險。

由此可見,企業(yè)在使用開源軟件時,對技術(shù)人員提出了更高的技能要求,要求需要配備具有更廣泛的知識、技能和能力的各方面人才,以有效應(yīng)對可能遇到的挑戰(zhàn)。同時,需要靈活利用和參與開源社區(qū),不斷提升技術(shù)水平,以應(yīng)對這些挑戰(zhàn)。

(3)許可證知識產(chǎn)權(quán)等法律風(fēng)險

盡管開源軟件具有代碼公開透明、“免費(fèi)”使用等優(yōu)勢,然而它仍然受到許可證的制約。近年來,由開源許可證引發(fā)的知識產(chǎn)權(quán)的案例逐年增多。2019年11月6日,中國第一個關(guān)涉GPL許可證的訴訟案件“柚子案”由北京市高級人民法院作出二審終審判決,開源許可協(xié)議的法律效力在我國得到證實(shí)。

2020年Synopsys公司發(fā)布的開源軟件安全和風(fēng)險分析(OSSRA)報告[1]中詳述的經(jīng)過審計的代碼庫中67%的代碼庫中包含某種形式的開源代碼許可證沖突,33%的代碼庫中包含沒有可識別許可證的開源組件。開源許可證被認(rèn)為是具有法律效力的合同,如果違背相關(guān)協(xié)議,會導(dǎo)致一系列的知識產(chǎn)權(quán)等法律風(fēng)險問題,造成企業(yè)產(chǎn)品召回、被迫對外公開自有知識產(chǎn)權(quán)代碼等。

使用開源軟件時要關(guān)注知識產(chǎn)權(quán)問題,遵守許可證規(guī)定,確保合規(guī)使用,以降低潛在法律風(fēng)險。使用開源軟件可能會涉及到的知識產(chǎn)權(quán)問題主要包括:

許可證選擇和管理:開源軟件有不同類型的許可證,每個許可證都有其使用、分發(fā)和修改的相關(guān)規(guī)定。在使用開源軟件時,確保遵守許可證要求至關(guān)重要,以避免侵犯作者和貢獻(xiàn)者的知識產(chǎn)權(quán)。

代碼混合:在開發(fā)過程中,將開源代碼與自有代碼或其他專有軟件結(jié)合可能導(dǎo)致知識產(chǎn)權(quán)問題。這可能需要對軟件的整體許可證進(jìn)行評估,并確保與各種許可證要求保持一致,以防止意外侵權(quán)。

第三方依賴:開源軟件可能引用或依賴許多外部庫或組件。企業(yè)需要了解并審查這些依賴項的許可證要求,確保它們與項目的其他部分兼容,并遵循相應(yīng)的權(quán)限要求。

專利問題:雖然開源軟件源碼是公開的,但并不意味著其所涉及的所有技術(shù)都免除專利保護(hù)。在使用開源軟件時,需要注意潛在的專利侵權(quán)風(fēng)險,特別是在高度競爭性和專利敏感的領(lǐng)域。

遵守貢獻(xiàn)者協(xié)議:在為開源項目提供代碼或修復(fù)時,可能需要簽署貢獻(xiàn)者許可協(xié)議(CLA),表明貢獻(xiàn)者同意遵守項目的許可證并放棄對貢獻(xiàn)的部分或全部知識產(chǎn)權(quán)。企業(yè)需要熟悉并遵守這些協(xié)議,以確保合法貢獻(xiàn)。

知識產(chǎn)權(quán)審計:企業(yè)需要定期進(jìn)行知識產(chǎn)權(quán)審計,評估其產(chǎn)品和服務(wù)中所使用的開源代碼和許可證,并確保合規(guī)。這有助于防止法律糾紛和潛在的商業(yè)損害。

(4)管理風(fēng)險

2023年OSSRA報告[2]中揭示了幾乎各行各業(yè)的代碼庫中都存在開源代碼,且89%的代碼庫中包含至少已過期四年的開源代碼,91%的代碼庫包含兩年內(nèi)未更新的組件,88%的代碼庫包含在過去2年內(nèi)未活動的組件,并且包含非最新版本的組件。這導(dǎo)致大部分代碼庫都很脆弱,非常容易被利用和攻擊,如果企業(yè)不能定期去更新或廢除一些不用的版本或產(chǎn)品,就會引發(fā)一定程度的安全漏洞風(fēng)險。

二、企業(yè)如何應(yīng)對開源生態(tài)跟企業(yè)帶來的風(fēng)險挑戰(zhàn)

為了更好地規(guī)避開源軟件帶來的安全風(fēng)險和合規(guī)性問題,保障企業(yè)安全、高效地使用開源軟件,企業(yè)內(nèi)部可以通過建立配套的開源治理組織架構(gòu),來統(tǒng)籌推動開源治理工作[3];制定開源軟件全生命周期的管理制度,明確開源治理的流程、規(guī)范和風(fēng)險點(diǎn);然后企業(yè)從業(yè)務(wù)和技術(shù)等方面出發(fā),對開源軟件進(jìn)行評估,選擇符合企業(yè)內(nèi)部要求的開源軟件;最后建立開源治理管理平臺,來更好地引入開源軟件進(jìn)行持續(xù)的管理和評估,提高管理效率。

微信圖片_20241106094809.png

1.搭建開源治理組織架構(gòu)

為做好開源治理,企業(yè)首先應(yīng)建立相應(yīng)的組織架構(gòu),明確開源治理職責(zé)分工。通過設(shè)立開源管理、技術(shù)、安全、法務(wù)等多個專門團(tuán)隊,建立組織之間的溝通機(jī)制,準(zhǔn)確把控和控制相關(guān)風(fēng)險點(diǎn),從管理層面出發(fā)統(tǒng)籌規(guī)劃、推動和實(shí)施企業(yè)開源治理工作。

2.建立開源治理管理機(jī)制

在搭建好組織架構(gòu)后,企業(yè)內(nèi)部應(yīng)制定一套開源軟件全生命周期的管理機(jī)制,規(guī)范開源軟件的引入、使用、更新或退出的流程;對開源軟件進(jìn)行分級分類的管理,明確開源軟件的引入和使用風(fēng)險點(diǎn),制定統(tǒng)一的管理制度。通過全流程的管理制度來對開源軟件的全生命周期管理提出明確規(guī)定,使企業(yè)內(nèi)部對開源軟件進(jìn)行統(tǒng)一管理,規(guī)避相應(yīng)風(fēng)險。

3.形成開源軟件評估機(jī)制

面對眾多的開源軟件,企業(yè)應(yīng)對開源軟件從多維度進(jìn)行評估和考察,選擇適合企業(yè)內(nèi)部業(yè)務(wù)需求和技術(shù)的軟件。參考開源軟件成熟度模型(OSMM)、國家軟件質(zhì)量評估等評估體系中的評估標(biāo)準(zhǔn),結(jié)合企業(yè)自身特性,從基本要素指標(biāo)(包含社區(qū)活躍度、軟件活躍度、許可證、運(yùn)維支持等)、軟件技術(shù)、安全等方面開展全面評估,為企業(yè)自身量身定制開源軟件評估評價機(jī)制,指導(dǎo)開源軟件引入和選型。

4.建設(shè)開源治理技術(shù)平臺

為加強(qiáng)對已選型開源軟件和組件的持續(xù)跟蹤管理,企業(yè)也需建設(shè)可支撐開源軟件治理的平臺系統(tǒng),用于實(shí)現(xiàn)開源軟件全流程、多領(lǐng)域一體化、自動化管理,并借助掃描工具和其他管理工具,有效提升開源軟件管理質(zhì)量和效率,為整個開源治理工作高效運(yùn)行提供技術(shù)保障。

5.開展同業(yè)治理交流合作

為更加有效地開展開源治理,在認(rèn)真做好企業(yè)自身開源治理工作的同時,企業(yè)也應(yīng)積極開展同業(yè)開源治理工作交流,分享同業(yè)開源治理成果,不斷提升開源治理效能。

三、結(jié)語

開源已成為當(dāng)前和未來IT技術(shù)發(fā)展的主流趨勢,開源技術(shù)生態(tài)的建立和持續(xù)發(fā)展為企業(yè)帶來諸多積極影響的同時,也為企業(yè)帶來了一系列風(fēng)險挑戰(zhàn)。企業(yè)為有效應(yīng)對引入開源軟件生態(tài)帶來的各種風(fēng)險挑戰(zhàn),應(yīng)在企業(yè)內(nèi)部建立開源治理工作機(jī)制,完善開源軟件全生命周期管理制度,通過建立開源治理平臺實(shí)現(xiàn)開源軟件全流程自動化管理,并通過開展同業(yè)交流合作、共享治理成果,推動完善企業(yè)內(nèi)部開源治理工作。

參考文獻(xiàn):

[1]《Synopsys 2020開源安全和風(fēng)險分析報告》

[2]《Synopsys 2023開源安全和風(fēng)險分析報告》

[3]金融業(yè)網(wǎng)絡(luò)安全與信息化“十四五”發(fā)展重點(diǎn)問題研究之《金融科技開源治理》。

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論