面向開(kāi)源軟件的安全風(fēng)險(xiǎn)分析與防范
摘要:開(kāi)源軟件已成為全球發(fā)展、數(shù)字化與信息化變革的重要技術(shù)來(lái)源,基于開(kāi)源軟件的廣泛應(yīng)用,對(duì)開(kāi)源軟件可能帶來(lái)的安全風(fēng)險(xiǎn)開(kāi)展研究分析具有重要意義。打造以“政策+技術(shù)”雙驅(qū)動(dòng)為核心的防范體系,可有效保障我國(guó)開(kāi)源軟件安全、網(wǎng)絡(luò)空間安全乃至國(guó)家安全。該體系在政策面上包含打造開(kāi)源網(wǎng)絡(luò)安全生態(tài)、建設(shè)國(guó)家級(jí)開(kāi)源平臺(tái)和項(xiàng)目以發(fā)展促安全、面向關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)展開(kāi)源軟件網(wǎng)絡(luò)安全專項(xiàng)整治等防范措施,在技術(shù)面上主要依托開(kāi)源平臺(tái)開(kāi)展軟件源代碼分析,實(shí)現(xiàn)軟件缺陷及漏洞預(yù)測(cè)。
目前,網(wǎng)絡(luò)化、智能化、數(shù)字化浪潮席卷全球,我國(guó)同步大力推進(jìn)以 5G、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等為代表的新興融合領(lǐng)域基礎(chǔ)設(shè)施建設(shè),軟件在各行各業(yè)、各個(gè)領(lǐng)域的應(yīng)用也隨之不斷豐富深化。與此同時(shí),現(xiàn)代網(wǎng)絡(luò)和軟件越來(lái)越依賴開(kāi)源技術(shù)的廣泛普及,大型互聯(lián)網(wǎng)公司向開(kāi)源社區(qū)開(kāi)放專有軟件創(chuàng)新已成為國(guó)際慣例,開(kāi)源軟件(Open Source Software,OSS)作為全球軟件開(kāi)發(fā)的基石,已是產(chǎn)業(yè)發(fā)展、數(shù)字化與信息化變革的重要技術(shù)來(lái)源。
開(kāi) 源 軟 件 是 通 過(guò) 特 定 類 型 的 許 可 證( 如MPL 許可證)發(fā)布的軟件,這種許可證能讓最終用戶合法地查看、修改和分發(fā)軟件所使用的 源 代 碼。以 Linux、Apache、Android、Git、Hadoop、MySQL、Python 等為代表的開(kāi)源軟件在全球廣泛普及,快速發(fā)展的云計(jì)算、大數(shù)據(jù)和人工智能等也得益于 ROS、Tensorflow、Pytorch等開(kāi)源軟件的發(fā)展。據(jù)美國(guó) Forrester Research 公司估計(jì) ,全球 80% 的軟件包含開(kāi)源組件,同時(shí) Github 的 2021 年度報(bào)告顯示,平臺(tái)開(kāi)發(fā)者數(shù)量從 2018 年的 3 100 萬(wàn)增至 2021 年的 7 300萬(wàn),而 2018 年的新用戶數(shù)比前 6 年的新用戶數(shù)總和還要多。并且在過(guò)去的 6 年里,Github 平臺(tái)首次開(kāi)源項(xiàng)目貢獻(xiàn)者數(shù)量,以 28% 的年平均增長(zhǎng)率從近 70 萬(wàn)增至 305 萬(wàn)??偟膩?lái)看,開(kāi)源軟件的發(fā)展已完成由個(gè)人興趣到行業(yè)驅(qū)動(dòng)的轉(zhuǎn)變,成為全球軟件開(kāi)發(fā)的基礎(chǔ)。
同 時(shí),2021 年我國(guó)開(kāi)源軟件開(kāi)發(fā)者已達(dá)755 萬(wàn)人,華為、阿里等公司參與開(kāi)源項(xiàng)目的開(kāi)發(fā)者人數(shù)均列居全球前 10 位,預(yù)計(jì)到 2030 年,我國(guó)將成為世界上最大的開(kāi)源項(xiàng)目應(yīng)用市場(chǎng) 。此外,開(kāi)源軟件在我國(guó)電信和互聯(lián)網(wǎng)、黨政辦公、網(wǎng)絡(luò)安全等領(lǐng)域應(yīng)用比例超過(guò) 80%,教育培訓(xùn)、醫(yī)療健康、金融服務(wù)等領(lǐng)域應(yīng)用比例近 70%,已成為我國(guó)軟件生態(tài)不可或缺的組成部分。
開(kāi)源軟件的發(fā)展越迅猛,其所帶來(lái)的安全風(fēng)險(xiǎn)越不容忽視。然而現(xiàn)有針對(duì)開(kāi)源軟件安全風(fēng)險(xiǎn)的研究多從宏觀管理側(cè)展開(kāi),其對(duì)應(yīng)的防范措施也不包含技術(shù)面防范措施,此外,針對(duì)開(kāi)源軟件在關(guān)鍵信息基礎(chǔ)設(shè)施這一重要應(yīng)用領(lǐng)域的風(fēng)險(xiǎn)防范研究也有待補(bǔ)充。結(jié)合開(kāi)源軟件自身特性和發(fā)展歷程,綜合開(kāi)源軟件在各個(gè)場(chǎng)景的應(yīng)用來(lái)研究分析其對(duì)現(xiàn)代社會(huì)、技術(shù)行業(yè)的影響,總結(jié)梳理開(kāi)源軟件帶來(lái)的安全風(fēng)險(xiǎn)并提出應(yīng)對(duì)措施,特別是從監(jiān)管側(cè)出發(fā),開(kāi)展關(guān)鍵信息基礎(chǔ)設(shè)施中開(kāi)源軟件的安全風(fēng)險(xiǎn)防范研究,并依靠現(xiàn)有開(kāi)源平臺(tái)給出技術(shù)側(cè)風(fēng)險(xiǎn)防范研究思路,對(duì)保障我國(guó)開(kāi)源軟件安全、網(wǎng)絡(luò)空間安全乃至國(guó)家安全具有重要意義。
1、開(kāi)源軟件風(fēng)險(xiǎn)分析
隨著開(kāi)源軟件應(yīng)用范圍逐漸擴(kuò)大,特別是在關(guān)鍵信息基礎(chǔ)設(shè)施中被廣泛采用,開(kāi)源軟件所帶來(lái)的安全風(fēng)險(xiǎn)也日益嚴(yán)峻,大致可分為以下幾個(gè)方面 。
1.1 供應(yīng)鏈安全風(fēng)險(xiǎn)
當(dāng)下,開(kāi)源軟件供應(yīng)鏈中的主要角色為受西方把控的商業(yè)科技巨頭、開(kāi)源基金會(huì)、開(kāi)源社區(qū)及代碼托管平臺(tái),其中商業(yè)科技巨頭和開(kāi)源基金會(huì)大多把持著開(kāi)源社區(qū)及代碼托管平臺(tái),在開(kāi)源軟件供應(yīng)鏈中占據(jù)龍頭地位。我國(guó)開(kāi)源生態(tài)整體水平較弱,國(guó)內(nèi)廠商出于成本、安全、質(zhì)量、效率的綜合考慮,大多直接參與到受國(guó)外主導(dǎo),尤其是受美國(guó)主導(dǎo)的成熟開(kāi)源生態(tài)中,但國(guó)外開(kāi)源軟件的監(jiān)管受其主權(quán)影響往往會(huì)帶來(lái)不可控的供應(yīng)鏈安全風(fēng)險(xiǎn) 。在開(kāi)源基金會(huì)方面,Apache 基金會(huì)明確表明遵循美國(guó)出口管制條例,Mozilla 基金會(huì)則表示其司法管轄權(quán)歸屬美國(guó)加利福尼亞州,RISC-V 基金會(huì)也聲明其司法管轄權(quán)在美國(guó)特拉華州;在開(kāi)源平臺(tái)方面,GitHub、SourceForge 及 Google Code 等代碼托管平臺(tái)均明確遵守美國(guó)出口管制條例,且司法管轄權(quán)在美國(guó)加利福尼亞州。受美國(guó)政府影響,2020 年 8 月,Docker 宣布被美國(guó)列入實(shí)體清單的個(gè)人和組織無(wú)法使用 Docker 旗下的服務(wù),如DockerEE 和 DockerHub。綜上,在全球開(kāi)源軟件供應(yīng)鏈中自主性較差、依附性較強(qiáng)、處于弱勢(shì)地位的國(guó)家,一旦供應(yīng)鏈“命門”被別人掌握,隨時(shí)可被斷供制裁,造成重大安全風(fēng)險(xiǎn) 。
1.2 開(kāi)源軟件源代碼安全風(fēng)險(xiǎn)
開(kāi)源軟件在廣泛普及的同時(shí),其源代碼自身帶來(lái)的安全風(fēng)險(xiǎn)影響也隨之?dāng)U大,可總結(jié)為以下 3 個(gè)方面。
1.2.1 開(kāi)源軟件代碼安全開(kāi)發(fā)規(guī)范應(yīng)用不足,安全漏洞數(shù)量居高不下
開(kāi)源軟件具有開(kāi)放、低成本、自由參與、廣泛傳播等特性,在開(kāi)源軟件的更新迭代過(guò)程中,不同時(shí)期參與的開(kāi)發(fā)群體,其自身技術(shù)能力和安全意識(shí)參差不齊,加上開(kāi)源平臺(tái)或社區(qū)并不對(duì)開(kāi)源代碼的安全性進(jìn)行審核,因此開(kāi)源軟件源代碼往往更容易爆發(fā)漏洞。據(jù)奇安信《2021中國(guó)軟件供應(yīng)鏈安全分析報(bào)告》,奇安信代碼安全實(shí)驗(yàn)室在 2020 年對(duì) 2 001 個(gè)自主開(kāi)發(fā)的軟件源代碼進(jìn)行了安全檢測(cè),檢測(cè)結(jié)果顯示源代碼的安全風(fēng)險(xiǎn)點(diǎn)密度約為 10 個(gè) / 千行,高危風(fēng)險(xiǎn)點(diǎn)密度約為 1 個(gè) / 千行;同期對(duì) 1 300 多個(gè)開(kāi)源軟件源代碼所進(jìn)行的檢測(cè)結(jié)果顯示,開(kāi)源軟件整體風(fēng)險(xiǎn)點(diǎn)密度為 15 個(gè) / 千行,高危風(fēng)險(xiǎn)點(diǎn)密度為 1 個(gè) / 千行。在高危風(fēng)險(xiǎn)點(diǎn)密度大致相等的情況下,開(kāi)源軟件的源代碼風(fēng)險(xiǎn)點(diǎn)密度更高,更容易爆發(fā)安全漏洞。
1.2.2 開(kāi)源代碼漏洞影響范圍和危害難以估量
由于開(kāi)源軟件在眾多行業(yè)領(lǐng)域內(nèi)廣泛應(yīng)用,不同開(kāi)源軟件形成你中有我、我中有你的復(fù)雜關(guān)系,導(dǎo)致開(kāi)源軟件的使用比想象中更廣泛,一旦爆發(fā)漏洞,其造成的危害遠(yuǎn)超人們預(yù)期。
有研究表明,一半以上的企業(yè)、政府機(jī)構(gòu)、非營(yíng)利組織等使用的開(kāi)源組件包含漏洞 。據(jù)奇安信報(bào)告,在其 2020 年調(diào)研的涉及公共、金融、電信、能源等重要行業(yè)的 2 557 個(gè)軟件中,均有開(kāi)源軟件的存在。因此,當(dāng)某一個(gè)開(kāi)源軟件或組件爆發(fā)漏洞時(shí),其覆蓋面往往超過(guò)人們預(yù)期。事實(shí)上,前述 2 557 個(gè)軟件中,約 90% 的軟件存在已知的開(kāi)源軟件漏洞,約 80% 的軟件存在已知的高危漏洞,約 70% 的軟件存在已知的超危漏洞。2014 年 4 月,開(kāi)源組件 OpenSSL 被發(fā)現(xiàn)存在心臟滴血漏洞(Heartbleed),且該漏洞至少?gòu)?2012 年 5 月所發(fā)布的版本就已經(jīng)存在,攻擊者可利用該漏洞獲取可能包含了證書私鑰、用戶名、用戶密碼、用戶郵箱等敏感信息的數(shù)據(jù),在近兩年的時(shí)間內(nèi),該漏洞造成的影響根本難以估量。2021 年 12 月,開(kāi)源組件 Apache Log4j2被發(fā)現(xiàn)存在遠(yuǎn)程代碼執(zhí)行高危漏洞(Log4Shell),由于 Apache Log4j2 組件性能好、利用門檻低,該漏洞短時(shí)間內(nèi)席卷全球,Steam、推特、亞馬遜等多家公司或服務(wù)平臺(tái)受到該漏洞影響。綜上,一旦不能及時(shí)處理開(kāi)源軟件高危漏洞,將很有可能威脅到整個(gè)網(wǎng)絡(luò)空間,甚至危害國(guó)家安全。
1.2.3 開(kāi)源軟件可隨時(shí)演變?yōu)榫W(wǎng)絡(luò)攻擊武器
由于眾多開(kāi)源軟件使用者存在“開(kāi)源等于安全”的錯(cuò)誤理念,導(dǎo)致使用者在下載更新開(kāi)源軟件時(shí),往往忽略開(kāi)源軟件自身存在的風(fēng)險(xiǎn),同時(shí)維護(hù)者可隨時(shí)修改代碼,將其作為網(wǎng)絡(luò)攻擊媒介。開(kāi)源 Unix 系統(tǒng)管理工具 Webmin 曾被發(fā)現(xiàn)存在遠(yuǎn)程代碼執(zhí)行高危漏洞,且該漏洞并非無(wú)意的編碼錯(cuò)誤,而是開(kāi)發(fā)人員惡意修改代碼所導(dǎo)致。同時(shí),在最近的俄烏沖突中,Github平臺(tái)node-ipc軟件包被發(fā)現(xiàn)人為注入惡意代碼,該惡意代碼可根據(jù) IP 地址定向刪除俄羅斯地區(qū)用戶的文件。
1.3 開(kāi)源軟件管理安全風(fēng)險(xiǎn)
除供應(yīng)鏈斷供制裁風(fēng)險(xiǎn)、代碼安全風(fēng)險(xiǎn)外,在開(kāi)源軟件全生存周期中,還存在著安全責(zé)任歸屬不明、用戶安全能力和安全意識(shí)不足、末端關(guān)聯(lián)資產(chǎn)排查不清等管理安全風(fēng)險(xiǎn)。
1.3.1 安全責(zé)任歸屬不明
通常,開(kāi)源社區(qū)或平臺(tái)不承擔(dān)開(kāi)源軟件的漏洞安全修復(fù)責(zé)任,而軟件使用者同樣不承擔(dān)軟件安全責(zé)任,僅僅負(fù)責(zé)維護(hù)其自身設(shè)備或應(yīng)用,這使得開(kāi)源軟件安全責(zé)任歸屬不明。在不承擔(dān)安全責(zé)任的基礎(chǔ)上,大多數(shù)開(kāi)源軟件使用者很難對(duì)使用的開(kāi)源軟件進(jìn)行高質(zhì)量的安全審計(jì),一旦開(kāi)源軟件存在漏洞,只能被動(dòng)等待開(kāi)源軟件平臺(tái)方或維護(hù)方主動(dòng)發(fā)布修補(bǔ)通知,導(dǎo)致修復(fù)或加固工作滯后。此風(fēng)險(xiǎn)疊加斷供制裁風(fēng)險(xiǎn),將會(huì)對(duì)我國(guó)網(wǎng)絡(luò)空間安全乃至國(guó)家安全造成更加嚴(yán)重的威脅。
1.3.2 用戶安全能力和安全意識(shí)不足
開(kāi)源社區(qū)的松散式開(kāi)發(fā)維護(hù)模式并不對(duì)代碼的安全機(jī)制進(jìn)行全面審核,使得開(kāi)源軟件能夠較為容易地被人為置入后門或惡意程序,而對(duì)使用開(kāi)源軟件的用戶而言,由于缺少安全風(fēng)險(xiǎn)信息跟蹤能力,針對(duì)開(kāi)源軟件安全風(fēng)險(xiǎn)防范和修復(fù)存在明顯的滯后性,嚴(yán)重威脅相關(guān)系統(tǒng)的安全運(yùn)行。此外,開(kāi)源軟件的自由屬性使得大多數(shù)活躍在開(kāi)源社區(qū)或平臺(tái)的用戶往往注重編程能力培養(yǎng),而忽視安全能力提升,疊加開(kāi)源軟件的主要使用廠商或貢獻(xiàn)廠商往往傾向于忽視安全方面資源經(jīng)費(fèi)投入,使得開(kāi)源軟件安全風(fēng)險(xiǎn)防范能力無(wú)法有效提高 。
1.3.3 末端關(guān)聯(lián)資產(chǎn)排查不清
目前,商業(yè)軟件供應(yīng)商通常在未做安全驗(yàn)證的情況下直接引用開(kāi)源軟件,并將其集成和開(kāi)發(fā)至商業(yè)軟件產(chǎn)品中,導(dǎo)致企業(yè)用戶信息系統(tǒng)中被動(dòng)地引入了相關(guān)組件。開(kāi)源軟件來(lái)源合法性和安全測(cè)試驗(yàn)證機(jī)制缺失,用戶在應(yīng)用相關(guān)產(chǎn)品時(shí)存在不可知、不可控的安全風(fēng)險(xiǎn)。在開(kāi)源軟件的開(kāi)發(fā)和使用過(guò)程中,不同開(kāi)源軟件之間的復(fù)雜依賴關(guān)系使得絕大多數(shù)廠商無(wú)法準(zhǔn)確梳理其自身的開(kāi)源軟件使用情況 。一方面,軟件開(kāi)發(fā)者可能疏于管理,使得已存在漏洞的開(kāi)源軟件代碼被整合至新版本軟件;另一方面,使用者可能疏于統(tǒng)計(jì),無(wú)法準(zhǔn)確排查存在風(fēng)險(xiǎn)的開(kāi)源軟件在其設(shè)備資產(chǎn)中的具體部署情況。上述情況均會(huì)帶來(lái)一定程度的風(fēng)險(xiǎn)隱患。
2、開(kāi)源軟件風(fēng)險(xiǎn)防范
針對(duì)前文所總結(jié)的開(kāi)源軟件供應(yīng)鏈安全、源代碼安全、管理安全等安全風(fēng)險(xiǎn),本文在政策面上提出打造開(kāi)源網(wǎng)絡(luò)安全生態(tài)、建設(shè)國(guó)家級(jí)開(kāi)源平臺(tái)和項(xiàng)目以發(fā)展促安全、面向關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)展開(kāi)源軟件網(wǎng)絡(luò)安全專項(xiàng)整治等安全防范措施;在技術(shù)面上依托開(kāi)源平臺(tái)開(kāi)展軟件源代碼分析,實(shí)現(xiàn)軟件缺陷及漏洞預(yù)測(cè)。最終形成如圖 1 所示的“政策 + 技術(shù)”雙驅(qū)動(dòng)開(kāi)源軟件網(wǎng)絡(luò)安全防范體系。
圖 1 “政策 + 技術(shù)”雙驅(qū)動(dòng)開(kāi)源軟件網(wǎng)絡(luò)安全防范體系
2.1 政策面風(fēng)險(xiǎn)防范措施
2.1.1 打造開(kāi)源軟件網(wǎng)絡(luò)安全生態(tài)
開(kāi)源軟件網(wǎng)絡(luò)安全生態(tài)脫胎于開(kāi)源軟件生態(tài),主要是為開(kāi)源軟件營(yíng)造安全可靠的發(fā)展環(huán)境。在開(kāi)源軟件成長(zhǎng)周期中,商業(yè)科技公司為充分利用開(kāi)源軟件帶來(lái)的諸多優(yōu)勢(shì),會(huì)圍繞開(kāi)源軟件進(jìn)行業(yè)務(wù)拓展,同時(shí)部分開(kāi)源軟件項(xiàng)目也是基于商業(yè)利益驅(qū)動(dòng),進(jìn)而形成“商業(yè) + 開(kāi)源”的利益共同體,演化為各種開(kāi)源軟件生態(tài)。基于開(kāi)源軟件生態(tài)的成長(zhǎng)歷程,我國(guó)開(kāi)源軟件網(wǎng)絡(luò)安全生態(tài)的構(gòu)建需要 3 方面共同發(fā)力。
一是發(fā)起成立全球知名的開(kāi)源基金會(huì)。開(kāi)源基金會(huì)是為開(kāi)源軟件發(fā)展提供日常的運(yùn)營(yíng)、管理及資金支持的非營(yíng)利性組織,是生態(tài)的重要基石。同時(shí),開(kāi)源軟件基金會(huì)為商業(yè)公司和開(kāi)源軟件開(kāi)發(fā)者打造交流、合作的平臺(tái),自身掌握大量開(kāi)源代碼,為多個(gè)重要領(lǐng)域的應(yīng)用軟件提供服務(wù)。例如,國(guó)外著名的 Apache 基金會(huì)收錄了 Tomcat、Hadoop 等知名開(kāi)源項(xiàng)目,推動(dòng) Web服務(wù)和大數(shù)據(jù)的發(fā)展,OpenStack 基金會(huì)旗下的OpenStack 項(xiàng)目則是目前應(yīng)用最為廣泛的云計(jì)算解決方案。目前我國(guó)已成立中國(guó)開(kāi)源云聯(lián)盟、開(kāi)放原子開(kāi)源基金會(huì)等組織,助力 XuperChain、OpenHarmony 等開(kāi)源項(xiàng)目的發(fā)展,但搶占全球開(kāi)源話語(yǔ)權(quán),構(gòu)建開(kāi)源軟件網(wǎng)絡(luò)安全生態(tài),尚需打造更加知名的基金會(huì),并培育更多開(kāi)源項(xiàng)目,以此奠定我國(guó)開(kāi)源安全生態(tài)的基石。
二是助力知名軟件企業(yè)成長(zhǎng)為開(kāi)源行業(yè)龍頭。據(jù)歐盟委員會(huì)發(fā)布的 The 2021 EU Industrial Research and Development Scoreboard 統(tǒng) 計(jì) ,全球 2020 年研發(fā)投入排名前十的企業(yè)中,我國(guó)僅有華為一家上榜,而同期美國(guó)谷歌、微軟、蘋果、臉書、英特爾共 5 家公司位列前十。在對(duì)包含開(kāi)源軟件在內(nèi)的研發(fā)投資總體規(guī)模上,我國(guó)大型科技企業(yè)對(duì)比國(guó)際知名科技巨頭更是處于明顯劣勢(shì)。受此劣勢(shì)影響,我國(guó)科技產(chǎn)業(yè)賴以生存的底層操作系統(tǒng)、數(shù)據(jù)庫(kù)等核心軟件,均嚴(yán)重依賴受國(guó)外主導(dǎo)的開(kāi)源社區(qū)或商業(yè)科技公司。
三是打造各方認(rèn)可的開(kāi)源安全文化。開(kāi)源安全文化是我國(guó)開(kāi)源軟件網(wǎng)絡(luò)安全生態(tài)長(zhǎng)久發(fā)展的內(nèi)在價(jià)值觀及外在行動(dòng)力的綜合體現(xiàn)。其不僅依賴于開(kāi)源開(kāi)發(fā)群體具有較強(qiáng)的安全開(kāi)發(fā)能力,也依賴于開(kāi)源基金會(huì)、大型科技公司等共同營(yíng)造開(kāi)源安全開(kāi)發(fā)氛圍,包括開(kāi)展企業(yè)安全管理、安全開(kāi)發(fā)培訓(xùn)、代碼安全檢測(cè)、開(kāi)源安全應(yīng)用等實(shí)際行動(dòng),此外更需要社會(huì)各方在政策扶持、知識(shí)版權(quán)保護(hù)、標(biāo)準(zhǔn)完善等方面一同發(fā)力,助力開(kāi)源安全文化發(fā)展。
2.1.2 建設(shè)國(guó)家級(jí)開(kāi)源平臺(tái)和項(xiàng)目以發(fā)展促安全
國(guó)家級(jí)開(kāi)源平臺(tái)和項(xiàng)目的建設(shè)與全球知名開(kāi)源基金會(huì)的成立同等重要,其目的都是全面推進(jìn)開(kāi)源軟件產(chǎn)業(yè)化、規(guī)?;?/span>2020 年,開(kāi)源中國(guó)聯(lián)合國(guó)家工業(yè)信息安全發(fā)展研究中心等單位,華為、奇安信、浪潮等科技公司,北京理工大學(xué)、西南科技大學(xué)等高校,依托碼云 Gitee建設(shè)中國(guó)獨(dú)立的開(kāi)源托管平臺(tái)。同時(shí),基于華為打造的 HarmonyOS 系統(tǒng),由開(kāi)放原子開(kāi)源基金會(huì)孵化及運(yùn)營(yíng)的 OpenHarmony 開(kāi)源項(xiàng)目也已在 Gitee 平臺(tái)上繁榮發(fā)展。目前 OpenHarmony 開(kāi)發(fā)成員數(shù) 235、倉(cāng)庫(kù)數(shù) 401、貢獻(xiàn)數(shù) 2 400、代碼庫(kù)復(fù)制數(shù) 25 600,已成為 Gitee 平臺(tái)最有價(jià)值的開(kāi)源項(xiàng)目之一。在此工作基礎(chǔ)上,應(yīng)當(dāng)持續(xù)打造我國(guó)自主掌握的高質(zhì)量開(kāi)源托管平臺(tái),脫離對(duì)國(guó)外成熟開(kāi)源平臺(tái)的依賴,培育更多助力我國(guó)軟件產(chǎn)業(yè)發(fā)展的核心開(kāi)源軟件項(xiàng)目,在平臺(tái)側(cè)和軟件側(cè)同時(shí)引領(lǐng)創(chuàng)新,有力遏制開(kāi)源供應(yīng)鏈斷供制裁風(fēng)險(xiǎn)。
2.1.3 面向關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)展開(kāi)源軟件網(wǎng)絡(luò)安全專項(xiàng)整治
關(guān)鍵信息基礎(chǔ)設(shè)施,是指公共通信和信息服務(wù)、能源、交通、水利、金融、公共服務(wù)、電子政務(wù)、國(guó)防科技工業(yè)等重要行業(yè)和領(lǐng)域的,以及其他一旦遭到破壞、喪失功能或者數(shù)據(jù)泄露,可能嚴(yán)重危害國(guó)家安全、國(guó)計(jì)民生、公共利益的重要網(wǎng)絡(luò)設(shè)施、信息系統(tǒng)等 。關(guān)鍵信息基礎(chǔ)設(shè)施的保護(hù)是國(guó)家推進(jìn)數(shù)字經(jīng)濟(jì)發(fā)展的重要保障,目前開(kāi)源軟件已滲透到各行各業(yè)的網(wǎng)絡(luò)設(shè)施和信息系統(tǒng)中,基于關(guān)鍵信息基礎(chǔ)設(shè)施的重要性,梳理開(kāi)源軟件在關(guān)鍵信息基礎(chǔ)設(shè)施中的使用情況尤為迫切。面向關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)展開(kāi)源軟件網(wǎng)絡(luò)安全專項(xiàng)整治需各部門協(xié)同發(fā)力,常態(tài)化開(kāi)展整治工作,建立本部門、本行業(yè)、本領(lǐng)域關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)源軟件資產(chǎn)清單,掌握開(kāi)源軟件供應(yīng)鏈情況,定期開(kāi)展開(kāi)源軟件應(yīng)用安全培訓(xùn)及系統(tǒng)安全威脅檢測(cè),及時(shí)驗(yàn)證并修復(fù)漏洞。
2.2 技術(shù)面風(fēng)險(xiǎn)防范措施
基于政策面建設(shè)國(guó)家級(jí)開(kāi)源平臺(tái)的措施,可通過(guò)同步在開(kāi)源平臺(tái)側(cè)開(kāi)展源代碼靜態(tài)分析,進(jìn)而實(shí)施代碼缺陷和漏洞預(yù)測(cè),來(lái)實(shí)現(xiàn)在軟件生命周期的初始階段為開(kāi)發(fā)者和使用者提供漏洞風(fēng)險(xiǎn)預(yù)警及排查參考。
開(kāi)展源代碼靜態(tài)分析并實(shí)施漏洞檢測(cè)具有以下優(yōu)點(diǎn)。一是源代碼靜態(tài)分析可用于代碼中的函數(shù)單元,這使得某些較為明顯的漏洞可在開(kāi)發(fā)階段被及時(shí)發(fā)現(xiàn)。二是檢測(cè)速率高,能夠檢測(cè)代碼數(shù)量大的軟件。源代碼靜態(tài)分析不依賴人工,當(dāng)前基于詞語(yǔ)法分析、符號(hào)執(zhí)行、模型檢驗(yàn)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等理論的長(zhǎng)足發(fā)展,也使得源代碼靜態(tài)分析能力得到快速提高。
2.2.1 開(kāi)展源代碼靜態(tài)分析技術(shù)基礎(chǔ)
針對(duì)開(kāi)源代碼開(kāi)展靜態(tài)分析以檢測(cè)其存在的漏洞或其他風(fēng)險(xiǎn)隱患,主要基于兩種技術(shù)。一種技術(shù)為不同代碼間的特征比對(duì),該技術(shù)的本質(zhì)為用同一種特征提取手段分別提取目標(biāo)代碼 Code_A 的特征 Ca 與參考代碼 Code_R 的特征Cr 并進(jìn)行對(duì)比,如果代碼特征相同,則意味著代碼內(nèi)容一致,其風(fēng)險(xiǎn)點(diǎn)也一致。
在進(jìn)行特征比對(duì)時(shí),比對(duì)結(jié)果的準(zhǔn)確性依賴于代碼特征提取及比對(duì)方法、代碼特征庫(kù)(參考代碼庫(kù))的全面性和準(zhǔn)確性兩個(gè)方面。
另一種技術(shù)為不同代碼之間的依賴關(guān)系比對(duì),該技術(shù)通常需要對(duì)完整代碼而非截取代碼片段進(jìn)行分析,其主要基于比對(duì)不同代碼中依賴的外部函數(shù)庫(kù)或組件,如果目標(biāo)代碼 Code_A引用了已知存在風(fēng)險(xiǎn)點(diǎn)的代碼庫(kù)或函數(shù) Code_B,則目標(biāo)代碼通常會(huì)存在相同的風(fēng)險(xiǎn)點(diǎn)。
其中,為 Code_A 存在的風(fēng)險(xiǎn)點(diǎn),為 Code_B 存在的風(fēng)險(xiǎn)點(diǎn)。在進(jìn)行依賴關(guān)系比對(duì)時(shí),比對(duì)結(jié)果的準(zhǔn)確性依賴于對(duì)代碼依賴的外部函數(shù)庫(kù)或組件的識(shí)別能力、代碼依賴的遞歸分析能力兩個(gè)方面。
2.2.2 基于深度學(xué)習(xí)的開(kāi)源代碼靜態(tài)分析
目前,開(kāi)源平臺(tái)上源代碼數(shù)據(jù)快速增長(zhǎng),使得基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的靜態(tài)分析技術(shù)快速發(fā)展,自動(dòng)化對(duì)比特征提取識(shí)別技術(shù)愈發(fā)成熟。在基于機(jī)器學(xué)習(xí)的漏洞檢測(cè)方面,Backes等人 率先利用機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)了對(duì)敏感信息泄露漏洞的自動(dòng)檢測(cè),Moshtari 等人則致力于尋找在跨項(xiàng)目中影響漏洞檢測(cè)準(zhǔn)確率的特征,其發(fā)現(xiàn)選用復(fù)雜度作為特征指標(biāo),比選取耦合度更能預(yù)測(cè)漏洞,同時(shí)提出了新的耦合度量——內(nèi)嵌漏洞標(biāo)題(Included Vulnerable Header,IVH)度量,使得漏洞檢測(cè)準(zhǔn)確率從 60.9% 提高到 87.4%。在基于深度學(xué)習(xí)的漏洞檢測(cè)方面,Phan 等人 提出,模型特征不能準(zhǔn)確捕獲程序的語(yǔ)義是影響預(yù)測(cè)準(zhǔn)確率的重要原因,故其利用精確的圖形表示程序執(zhí)行流,并利用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)缺陷特征。Song 等人 利用深度信任網(wǎng)絡(luò)程序的抽象語(yǔ)法樹中提取的令牌向量自動(dòng)學(xué)習(xí)語(yǔ)義特征,并利用 10 個(gè)大型開(kāi)源項(xiàng)目進(jìn)行驗(yàn)證,結(jié)果表明與傳統(tǒng)特征相比,自動(dòng)學(xué)習(xí)的語(yǔ)義特征提高了項(xiàng)目?jī)?nèi)缺陷預(yù)測(cè) 14.7%的準(zhǔn)確率和跨項(xiàng)目缺陷預(yù)測(cè) 8.9% 的準(zhǔn)確率。
在 最 新 的 研 究 中, 采 用 基 于 二 倍 體 遺 傳算法與深度學(xué)習(xí)融合的遺傳算法模型(DNN SYMbiotic GAs)以及自然語(yǔ)言處理技術(shù)來(lái)提高預(yù)測(cè)準(zhǔn)確率 的相關(guān)研究正在廣泛開(kāi)展?;跈C(jī)器學(xué)習(xí)和深度學(xué)習(xí)的漏洞檢測(cè)框架分別如圖 2、圖 3 所示。
圖 2 基于機(jī)器學(xué)習(xí)的漏洞檢測(cè)框架
圖 3 基于深度學(xué)習(xí)的漏洞檢測(cè)框架
目前,深度學(xué)習(xí)在靜態(tài)分析的漏洞檢測(cè)方面達(dá)到了 95% 的準(zhǔn)確性 。盡管在真實(shí)場(chǎng)景中,其準(zhǔn)確率稍有下降,但也正因此,面向開(kāi)源平臺(tái)部署基于深度學(xué)習(xí)的漏洞檢測(cè)技術(shù),可同時(shí)完成提高漏洞檢測(cè)模型準(zhǔn)確率、增強(qiáng)相關(guān)科研領(lǐng)域綜合實(shí)力和降低開(kāi)源軟件安全風(fēng)險(xiǎn)、提升網(wǎng)絡(luò)空間綜合防御能力兩方面目標(biāo)。
3、結(jié)語(yǔ)
開(kāi)源軟件的應(yīng)用越廣泛,其所隱含的安全問(wèn)題越不可忽視。做好開(kāi)源軟件的安全風(fēng)險(xiǎn)分析及防范措施研究是每個(gè)網(wǎng)絡(luò)安全研究人員的重點(diǎn)工作。本文在系統(tǒng)分析開(kāi)源軟件安全風(fēng)險(xiǎn)的 基 礎(chǔ) 上, 提 出“ 政 策 + 技術(shù)”雙驅(qū)動(dòng)安全風(fēng)險(xiǎn)防范體系,依托打造開(kāi)源網(wǎng)絡(luò)安全生態(tài)、建設(shè)國(guó)家級(jí)開(kāi)源平臺(tái)和項(xiàng)目、面向關(guān)鍵信息基礎(chǔ)設(shè)施開(kāi)展專項(xiàng)整治等政策面防范措施和依托開(kāi)源平臺(tái)開(kāi)展軟件源代碼分析等技術(shù)面防范措施,多角度防范開(kāi)源軟件安全風(fēng)險(xiǎn)。需要清醒認(rèn)識(shí)的是,開(kāi)源軟件安全風(fēng)險(xiǎn)將會(huì)隨著軟件的發(fā)展隨時(shí)產(chǎn)生新的變化,諸如知識(shí)產(chǎn)權(quán)、責(zé)任歸屬等問(wèn)題也有待進(jìn)一步明晰。后續(xù),應(yīng)隨時(shí)跟進(jìn)風(fēng)險(xiǎn)點(diǎn)的新變化,并結(jié)合有關(guān)主管部門或行業(yè)單位的工作實(shí)際,動(dòng)態(tài)調(diào)整現(xiàn)有防范措施,持續(xù)為我國(guó)網(wǎng)絡(luò)空間安全乃至國(guó)家安全提供助力。
原文來(lái)源:信息安全與通信保密雜志社