新思科技:開(kāi)源時(shí)代的風(fēng)險是什么?
軟件審計是在企業(yè)投入生產(chǎn)之前發(fā)現開(kāi)源許可證風(fēng)險的最佳方式。新思科技的黑鴨審計服務(wù)團隊每年為其客戶(hù)進(jìn)行數千個(gè)代碼庫的開(kāi)源審計。這些審計需求主要來(lái)自合并和收購交易,并最終成為新思科技年度《開(kāi)源安全和風(fēng)險分析》(OSSRA)報告的匿名數據的關(guān)鍵來(lái)源。
本文引用地址:http://dyxdggzs.com/article/201907/402297.htm當新思科技團隊對代碼庫進(jìn)行審計時(shí),他們專(zhuān)注于識別所有開(kāi)源和第三方組件及與其關(guān)聯(lián)的許可證,以便確定是否存在任何潛在的許可證沖突。
近期發(fā)布的2019年OSSRA報告審查了1,200多個(gè)商業(yè)代碼庫的數據結果,這些代碼庫用于希望評估其開(kāi)源許可證合規性和安全風(fēng)險的企業(yè)和組織。
審計發(fā)現,2018年掃描的代碼庫中有超過(guò)96%的代碼庫是開(kāi)源的,超過(guò)99%的代碼庫包含超過(guò)1,000個(gè)由開(kāi)源組件構成的文件。開(kāi)源代碼與代碼庫中代碼總數的比例在2018年為60%,高于2017年的57%。這些數字反映了經(jīng)審計的代碼庫通常來(lái)自業(yè)務(wù)是構建軟件的公司。這些公司的價(jià)值通常體現在其擁有的專(zhuān)有代碼,它們代碼庫中開(kāi)源代碼與專(zhuān)有代碼的比例往往較低。
相比之下,Forrester和Gartner等分析師指出,超過(guò)90%的IT企業(yè)在任務(wù)關(guān)鍵型的工作中使用開(kāi)源軟件,而且開(kāi)源占據了90%的新代碼庫。根據2019年紅帽(Red Hat)“企業(yè)開(kāi)源狀態(tài)”報告,超過(guò)69%的受訪(fǎng)企業(yè)認為他們使用開(kāi)源至少“非常重要”(40%非常重要,29%極其重要)。
無(wú)論您參考哪組數據,很明顯開(kāi)源組件和庫是每個(gè)行業(yè)中幾乎所有應用程序的支柱。大多數企業(yè)擁有數千種不同的軟件,從移動(dòng)應用程序到基于云的系統,再到本地運行的遺留系統。該軟件通常是商業(yè)現成軟件包、開(kāi)源軟件和定制代碼庫的混合體。漏洞影響所有軟件。
然而,很少有公司能夠充分追蹤他們在代碼中使用的開(kāi)源組件,并且沒(méi)有采用開(kāi)發(fā)人員使用開(kāi)源所做出的選擇所需的策略、流程和工具。因此,開(kāi)源帶來(lái)的所有好處也可能帶來(lái)各種風(fēng)險。
風(fēng)險問(wèn)題來(lái)自未修補的軟件,不是使用開(kāi)源正如紅帽報告指出的那樣,安全被認為是阻礙一些企業(yè)允許開(kāi)源使用的主要障礙。有趣的是,同一份報告將安全性視為IT決策者在使用開(kāi)源時(shí)所看到的最大好處之一。這種看似矛盾反映了兩種現狀:人們擔心非托管開(kāi)源代碼可能會(huì )在開(kāi)源和專(zhuān)有解決方案中引入漏洞;人們意識到正確管理開(kāi)源 - 包括使用可信來(lái)源和自動(dòng)化工具來(lái)發(fā)現和修復安全問(wèn)題 - 可以大大減少開(kāi)源風(fēng)險的潛力。 所有軟件,無(wú)論是專(zhuān)有軟件還是開(kāi)源軟件,都存在可能存在漏洞。企業(yè)需要識別和修補這些漏洞。開(kāi)源社區在發(fā)布補丁方面做出了示范性的工作,通常比專(zhuān)有軟件快得多。 但無(wú)論是專(zhuān)有軟件還是開(kāi)源軟件,相當大數量的企業(yè)都沒(méi)有及時(shí)應用補丁,而暴露在風(fēng)險之中。不修補的原因是多種多樣的:有些企業(yè)被無(wú)休止的可用補丁所淹沒(méi),無(wú)法確定需要修補的優(yōu)先級;有的缺乏應用補丁的資源;有的需要平衡風(fēng)險與財務(wù)成本之間的關(guān)系。 未修補的軟件漏洞是企業(yè)面臨的最大的網(wǎng)絡(luò )威脅之一,軟件中未修補的開(kāi)源組件增加了安全風(fēng)險。 2019年OSSRA報告指出,2018年審計的代碼庫中有60%至少存在某種開(kāi)源漏洞。 新思科技在2018年為其黑鴨 KnowledgeBase?知識庫增加了7,393個(gè)開(kāi)源漏洞。過(guò)去二十年,該知識庫已經(jīng)報告了超過(guò)50,000個(gè)開(kāi)源漏洞。
有什么風(fēng)險?
開(kāi)源的某些特性使流行組件中的漏洞很容易受到攻擊。商業(yè)軟件的發(fā)布者可以自動(dòng)向用戶(hù)推送修復,補丁和更新。但與商業(yè)軟件不同,您需要負責追蹤使用的開(kāi)源的漏洞和修復程序。
無(wú)處不在的開(kāi)源為攻擊者提供了一個(gè)有利的環(huán)境,因為漏洞是通過(guò)國家漏洞數據庫(NVD)、郵件列表、GitHub問(wèn)題和項目主頁(yè)等來(lái)源披露的。如前所述,許多企業(yè)沒(méi)有保留其應用程序中使用的開(kāi)源組件的準確、全面和最新的清單。例如,美國參議院常設調查小組委員會(huì )的一份工作人員報告指出,Equifax缺乏完整的軟件庫存是導致其2017年大規模數據泄露的一個(gè)因素。
正確管理開(kāi)源軟件不僅僅是關(guān)乎安全性
現在有數千個(gè)開(kāi)源許可證,如果不遵守這些許可證,可能會(huì )使企業(yè)面臨訴訟風(fēng)險和損害知識產(chǎn)權風(fēng)險。無(wú)論是使用開(kāi)源計劃認可的流行許可證還是其它許可證,企業(yè)只有在確定由這些許可證管理的開(kāi)源組件后才能管理和遵守許可證要求。 2019年OSSRA報告中詳述的經(jīng)過(guò)審計的代碼庫中有32%包含可能導致沖突或需要進(jìn)行法律審查的自定義許可證。 68%的代碼庫包含許可證沖突的組件。
除了安全和許可風(fēng)險之外,操作風(fēng)險是開(kāi)源使用不太嚴重但仍然不可忽視的后果。今天使用的許多開(kāi)源組件都被放棄了。換句話(huà)說(shuō),他們沒(méi)有開(kāi)發(fā)人員社區貢獻、修補或改進(jìn)它們。如果組件處于非活動(dòng)狀態(tài)且沒(méi)有人維護它,則意味著(zhù)沒(méi)有人正在解決其潛在的漏洞。 2019年OSSRA報告指出,85%的被審計代碼庫包含超過(guò)四年沒(méi)有更新或在過(guò)去兩年沒(méi)有開(kāi)發(fā)活動(dòng)的組件。
使用開(kāi)源并不是在冒險,但是開(kāi)源的非托管使用卻有風(fēng)險
開(kāi)源為使用它的組織提供了許多好處 - 但只有在正確管理開(kāi)源以識別任何安全和法律合規性問(wèn)題時(shí)。為了防范開(kāi)源安全和合規風(fēng)險,企業(yè)應該:
創(chuàng )建和執行開(kāi)源風(fēng)險政策和流程。只有少數開(kāi)源漏洞 - 例如影響Apache Struts或OpenSSL的漏洞 - 可能會(huì )被廣泛利用??紤]到這一點(diǎn),企業(yè)應將其開(kāi)源漏洞管理和緩解工作的重點(diǎn)放在CVSS(通用漏洞評分系統)評分和漏洞利用的可用性上,不僅僅是漏洞披露的“零天攻擊”,而是貫穿開(kāi)源組件生命周期。
必須讓開(kāi)發(fā)人員了解管理使用開(kāi)源的必要性。企業(yè)實(shí)施自動(dòng)化流程、追蹤代碼庫中的開(kāi)源組件及其已知的安全漏洞、以及版本控制和重復等操作風(fēng)險,并根據問(wèn)題的嚴重性確定問(wèn)題的優(yōu)先級。
執行其開(kāi)源軟件的完整清單。在代碼庫中使用完整、準確、及時(shí)的開(kāi)源清單至關(guān)重要。清單應涵蓋兩個(gè)方面:源代碼;如何在生產(chǎn)中部署或用作應用程序中的庫的任何商業(yè)軟件或二進(jìn)制文件中使用開(kāi)源的信息。
了解開(kāi)源的已知漏洞。國家漏洞數據庫(National Vulnerability Database)等公共資源是公開(kāi)披露開(kāi)源組件漏洞信息的可靠平臺。但是,不要僅僅依靠NVD來(lái)獲取漏洞信息。還需要查看其它資料。這些資料提供影響代碼庫的漏洞的早期通知,理想情況下,還會(huì )提供安全性洞察、技術(shù)詳細信息以及升級和修補程序指南。 監控新的安全威脅。當應用程序完成開(kāi)發(fā)時(shí),追蹤漏洞的工作還未結束。只要應用程序仍在使用中,企業(yè)就需要持續監控新威脅。 識別許可風(fēng)險。不遵守開(kāi)源許可證可能會(huì )導致企業(yè)面臨訴訟和危害知識產(chǎn)權的重大風(fēng)險。教育開(kāi)發(fā)人員了解開(kāi)源許可證及其義務(wù)。讓法律顧問(wèn)也參與教育過(guò)程,當然他們還有審查許可證和遵守法律義務(wù)。
確保審查開(kāi)源是并購盡職調查一部分。如果您正在進(jìn)行收購,請了解目標公司正在使用的開(kāi)源,它可能沒(méi)有適當地管理好這些開(kāi)源。不要猶豫,詢(xún)問(wèn)有關(guān)其開(kāi)源使用和管理的問(wèn)題。如果軟件資產(chǎn)是公司估值的重要組成部分,請讓第三方來(lái)審核開(kāi)源代碼。
最重要的是,如果企業(yè)不知道自己正在使用什么軟件,那就無(wú)法提供修補方案。如果您無(wú)法充滿(mǎn)信心地說(shuō)在內部和外部應用程序中使用的開(kāi)源組件是最更新的,應用了所有關(guān)鍵補丁,那么就該重新評估現有的開(kāi)源管理策略和流程了。
評論