國家保密局網(wǎng)站>>保密科技

關(guān)于數(shù)字孿生開源軟件供應(yīng)鏈安全的思考

2020年11月27日    來源:國家保密科技測評中心【字體: 打印

一、引言

隨著信息技術(shù)的不斷發(fā)展與演進(jìn),互聯(lián)網(wǎng)逐漸由日常消費擴展到工業(yè)生產(chǎn)領(lǐng)域,從實現(xiàn)人與人的連接逐漸擴展到人與物、物與物的連接,全球正在迎來產(chǎn)業(yè)變革和科技革命的浪潮;ヂ(lián)網(wǎng)與制造業(yè)相融合形成的工業(yè)互聯(lián)網(wǎng)成為競相爭奪的產(chǎn)業(yè)制高點。

從2011年起,德國、美國、日本相繼推出了各自的智能制造業(yè)國家戰(zhàn)略。在現(xiàn)有的工業(yè)機械化、自動化和信息化基礎(chǔ)上,利用互聯(lián)網(wǎng)技術(shù)與工業(yè)相融合,以信息物理系CPS (Cyber-Physical Systems)為核心提高制造業(yè)的智能化水平,建立具有靈活性、敏捷性和資源節(jié)約型的智慧工廠。

美國通用電器(GE)公司在其白皮書中指出,工業(yè)物聯(lián)網(wǎng)與數(shù)據(jù)分析平臺相結(jié)合而形成的工業(yè)互聯(lián)網(wǎng),是提升工廠工業(yè)生產(chǎn)各環(huán)節(jié)的傳感器和其他設(shè)備收集海量運行數(shù)據(jù),而數(shù)據(jù)分析平臺則通過數(shù)據(jù)分析與挖掘技術(shù)對現(xiàn)有資源、網(wǎng)絡(luò)和生產(chǎn)流程等進(jìn)行改進(jìn)來提高生產(chǎn)效率。

數(shù)字孿生作為集成工業(yè)互聯(lián)網(wǎng)中數(shù)據(jù)采集、實體模型、數(shù)據(jù)分析和云計算能力的新興應(yīng)用,成為信息化與工業(yè)化兩化融合的關(guān)鍵研究領(lǐng)域。數(shù)字孿生是在數(shù)字空間內(nèi)綜合各學(xué)科知識對物理實體建立起多維度的動態(tài)虛擬模型,構(gòu)建與物理實體具有相同屬性、行為和規(guī)則的數(shù)字實體。數(shù)字實體通過物理反饋獲取外部數(shù)據(jù),在數(shù)字空間實時反映物理實體的真實狀況。采用人工智能、機器學(xué)習(xí)和軟件分析等技術(shù),利用數(shù)字孿生體進(jìn)行模擬仿真,實現(xiàn)制造過程、制造系統(tǒng)與制造裝備的知識推理、動態(tài)傳感與自主決策。數(shù)字孿生具有豐富的應(yīng)用領(lǐng)域和場景,IDC數(shù)據(jù)顯示,世界上40%的大型制造商都會用到數(shù)字孿生系統(tǒng)來建立虛擬模型,數(shù)字孿生技術(shù)被廣泛運用于制造業(yè),成為企業(yè)邁向工業(yè)4.0的核心解決方案。

隨著數(shù)字孿生等工業(yè)智能化系統(tǒng)的普及,針對聯(lián)網(wǎng)工業(yè)設(shè)備和軟件的攻擊與日倶增。根云、航天云網(wǎng)、COSMOPlat、OneNET、OceanConnect等我國知名的工業(yè)互聯(lián)網(wǎng)平臺受到持續(xù)的網(wǎng)絡(luò)攻擊。工業(yè)互聯(lián)網(wǎng)平臺和數(shù)字孿生系統(tǒng)已經(jīng)成為惡意入侵的重點目標(biāo)。而數(shù)字孿生系統(tǒng)的開源供應(yīng)鏈則成為安全防護(hù)工作中的薄弱環(huán)節(jié)。

二、數(shù)字孿生開演軟件供應(yīng)鏈概念及特點

數(shù)字孿生在促進(jìn)工業(yè)生產(chǎn)的數(shù)字化轉(zhuǎn)型上需要豐富的軟件生態(tài)進(jìn)行支撐。這一軟件體系需要從認(rèn)知傳感、物聯(lián)網(wǎng)平臺、軟件工具、企業(yè)應(yīng)用和可視化輔助工具等不同層面對產(chǎn)品設(shè)計、制造裝配、故障預(yù)測與健康管理以及整體管控的智能輔助和自動化決策進(jìn)行支持。

為了實現(xiàn)上述目標(biāo),數(shù)字孿生需要構(gòu)建豐富且完整的軟件生態(tài)將物聯(lián)網(wǎng)平臺、傳感引擎、數(shù)字孿生、數(shù)字建模工具和數(shù)字主線、內(nèi)部和第三方軟件、企業(yè)應(yīng)用、虛擬化工具和儀表板集成起來,并在它們之間進(jìn)行數(shù)據(jù)交換,從而實現(xiàn)生產(chǎn)流程中各環(huán)節(jié)之間的互聯(lián)互通。

由于數(shù)字孿生貫穿于工業(yè)生產(chǎn)的全部生命周期,軟件支撐分布在設(shè)備與數(shù)據(jù)交互的各個環(huán)節(jié)之中,這種分布式特性極大地提高了軟件復(fù)雜性,從而使得單一組織已經(jīng)無法依靠內(nèi)部力量完成所有功能。為了應(yīng)對這種復(fù)雜性,大多數(shù)公司和開發(fā)團隊利用免費提供的高質(zhì)量開源軟件去構(gòu)建自己的定制功能軟件。這種“定制”本質(zhì)上就是將各種開源軟件黏合在一起,從而提供能夠?qū)崿F(xiàn)特定功能的軟件服務(wù)。西門子、通用電氣公司、美國參數(shù)技術(shù)公司(PTC)等國外知名廠商都是通過培植開源社區(qū)形成自身數(shù)字孿生平臺的軟件供應(yīng)鏈。

在數(shù)字孿生的開源軟件供應(yīng)鏈中,集成團隊交付給用戶的“定制”軟件更應(yīng)視為構(gòu)成該軟件所有軟件包的集合,這種集合關(guān)系已經(jīng)超越了傳統(tǒng)的供應(yīng)商與采購商之間的關(guān)系,而是按照開源軟件組織的流程形成了新的模型。

在數(shù)字孿生的開源軟件供應(yīng)鏈中,開發(fā)者、鏡像倉庫、集成團隊和最終用戶在開發(fā)、存儲、分發(fā)、集成和使用軟件并進(jìn)行反饋的過程中形成了緊密的連接。

三、數(shù)字孿生開演軟件供應(yīng)鏈面臨的安全風(fēng)險

數(shù)字孿生的岀現(xiàn)雖然在信息物理系統(tǒng)層面為企業(yè)生產(chǎn)的全流程數(shù)字化打通了渠道,但是也為惡意攻擊打開了方便之門。針對數(shù)字孿生系統(tǒng)的攻擊行為會嚴(yán)重擾亂經(jīng)濟和社會的運行秩序。美國國家標(biāo)準(zhǔn)技術(shù)研究院(NIST )專門制定了供應(yīng)鏈風(fēng)險管理實踐清單來應(yīng)對傳統(tǒng)ICT系統(tǒng)的惡意攻擊。然而,數(shù)字孿生系統(tǒng)具有其獨特的系統(tǒng)特征,數(shù)字孿生體與現(xiàn)實世界物理實體具備映射關(guān)系,由于建立在物聯(lián)網(wǎng)基礎(chǔ)上的物理實體呈現(xiàn)高度的連通性,原本能夠阻斷惡意攻擊的物理隔離和數(shù)據(jù)隔離在數(shù)字孿生領(lǐng)域全部消失,這使得其與傳統(tǒng)的ICT安全性在經(jīng)濟、社會、法律和技術(shù)方法等層面具有差異性。

(1)數(shù)字孿生系統(tǒng)建立在物聯(lián)網(wǎng)的傳感器網(wǎng)絡(luò)之上,其與現(xiàn)實世界存在密切的交互行為。傳統(tǒng)的ICT攻擊通常只停留在信息和數(shù)據(jù)層面,而針對數(shù)據(jù)孿生系統(tǒng)的攻擊會威脅到物理世界中的人身安全、設(shè)備安全和業(yè)務(wù)安全。

(2)開源軟件的供應(yīng)鏈同樣會受到政治風(fēng)險的影響,開源軟件的開發(fā)團隊很可能因為行政禁令而不能向集成商或者用戶提供服務(wù)或者分發(fā)安全補丁。

(3)開源軟件的開發(fā)團隊更關(guān)注功能的實現(xiàn),在進(jìn)行軟件設(shè)計時為了功能的便捷性而忽視安全性問題。同時,開源軟件開發(fā)者通常免除了自己的法律責(zé)任,而集成團隊在安全驗證方面通常過分信任開源軟件包,這使得厘清供應(yīng)鏈參與者與漏洞產(chǎn)生之間的法律責(zé)任非常困難。

(4)開源軟件開發(fā)過程中,依賴包關(guān)系復(fù)雜,大部分開發(fā)團隊僅能厘清所遵循的開源協(xié)議,而無法提供依賴包關(guān)系的清單等開源代碼的準(zhǔn)確使用狀況。

(5)傳統(tǒng)的安全驗證可以依賴于對軟件的完備測試,然而面對數(shù)字孿生這種無法通過構(gòu)建完備測試集進(jìn)行安全性驗證的高階協(xié)同復(fù)雜軟件系統(tǒng),現(xiàn)階段缺乏針對安全性進(jìn)行模型檢測和模型驗證的方法。

正是由于存在這些差異性,數(shù)字孿生的開源軟件供應(yīng)鏈體系在開發(fā)、集成、交付和使用環(huán)節(jié)面臨著數(shù)據(jù)風(fēng)險和業(yè)務(wù)風(fēng)險,惡意攻擊可能從以下幾個層面展開。

(1)攻擊開發(fā)環(huán)境。該種攻擊是針對開源軟件供應(yīng)鏈中的開發(fā)者環(huán)節(jié)。攻擊者可以通過向開發(fā)環(huán)境中植入惡意程序,通過污染編譯器等方式,在每次代碼編譯過程中將惡意代碼放入編譯完成的可執(zhí)行文件中,從而躲過代碼審查。

(2)攻擊開發(fā)工具。2015年的XcodeGhost事件為此類攻擊的代表,攻擊者通過修改開發(fā)工具的配置,利用開發(fā)工具作為跳板對軟件開發(fā)過程中使用的自動生成代碼和編譯環(huán)境進(jìn)行污染,從而實現(xiàn)將惡意代碼混入軟件的目的。

(3)攻擊鏡像倉庫。開發(fā)者在開發(fā)過程中通常關(guān)注第三方包是否能夠?qū)崿F(xiàn)功能,而不會對第三方包的安全性加以關(guān)注。攻擊者可以通過對鏡像倉庫進(jìn)行網(wǎng)絡(luò)劫持或者采用名稱混淆的方式,誘使開發(fā)者下載植入惡意代碼的第三方軟件包從而實現(xiàn)攻擊目的。

(4)攻擊軟件運行環(huán)境。數(shù)字孿生系統(tǒng)軟件有很大一部分需要運行在物聯(lián)網(wǎng)環(huán)境中,需要集成嵌入式系統(tǒng)進(jìn)行支持。由于嵌入式系統(tǒng)安全驗證機制薄弱、物理暴露和部署復(fù)雜、網(wǎng)絡(luò)接入多樣的特點,攻擊者可以通過直接攻擊物聯(lián)網(wǎng)對整個數(shù)字孿生系統(tǒng)進(jìn)行入侵,從而執(zhí)行信息竊取和業(yè)務(wù)破壞行為。

四、數(shù)字孿生開源軟件供應(yīng)鏈安全防護(hù)

正是由于惡意攻擊帶來的破壞性,數(shù)字孿生開源軟件供應(yīng)鏈的安全防護(hù)工作值得我們高度重視。從多個角度分析供應(yīng)鏈中存在的不同風(fēng)險,建設(shè)有針對性的安全流程和技術(shù)方案對供應(yīng)鏈進(jìn)行風(fēng)險管理,維護(hù)數(shù)字孿生系統(tǒng)的安全運行。

(1)建立開源軟件供應(yīng)鏈攻擊的分析與防范機制。有針對性地研究和分析數(shù)字孿生開源軟件供應(yīng)鏈中的威脅情況,給出攻擊源及其對應(yīng)潛在影響的清單,按照風(fēng)險暴露的可能性與攻擊危害的嚴(yán)重程度對風(fēng)險進(jìn)行全面和綜合衡量。通過清單列出軟件供應(yīng)鏈中的全部風(fēng)險點與威脅信息后,制訂出規(guī)避開源軟件供應(yīng)鏈風(fēng)險的最佳方案。

(2)提高開發(fā)人員安全意識。軟件開發(fā)人員是整個開源軟件供應(yīng)鏈中的第一個節(jié)點,也是作為每一個環(huán)節(jié)中的重要參與者貫穿于數(shù)字孿生系統(tǒng)建設(shè)過程中。開發(fā)團隊?wèi)?yīng)在開發(fā)過程中的每一個環(huán)節(jié)和每一個關(guān)鍵點進(jìn)行安全與風(fēng)險的評估。在開源軟件開發(fā)過程中,開發(fā)人員不應(yīng)過分注重功能實現(xiàn)和版本迭代的速度,更不應(yīng)該認(rèn)為安全開發(fā)的規(guī)范流程是拖慢開發(fā)進(jìn)度的阻礙。

(3 )建立可信的開發(fā)環(huán)境。利用軟件過程可信模型對軟件開發(fā)環(huán)境的可信性進(jìn)行評估,通過形式化驗證的方法,在開發(fā)環(huán)境中建立起規(guī)約和驗證模型。針對開發(fā)環(huán)境中的風(fēng)險點,制作風(fēng)險控制清單,并定期對開發(fā)環(huán)境進(jìn)行安全評測。

(4)建立開源軟件漏洞信息數(shù)據(jù)庫,針對開源軟件包,建立起標(biāo)準(zhǔn)化的漏洞信息庫用以命名、描述和跟蹤漏洞。

(5)開源軟件供應(yīng)鏈安全分析報告。系統(tǒng)集成團隊在將產(chǎn)品交付用戶之前,需要對開源軟件的供應(yīng)鏈安全進(jìn)行分析與研究,形成開源軟件供應(yīng)鏈安全分析報告。報告內(nèi)容應(yīng)包括:

①系統(tǒng)軟件中開源軟件包占比分析,即給岀軟件供應(yīng)鏈中所涉及的源代碼種類及對應(yīng)的文件數(shù)量;

②開源軟件包依賴關(guān)系,報告中應(yīng)對軟件所使用的開源軟件包之間的依賴關(guān)系進(jìn)行詳細(xì)描述;

③開源軟件歸屬分析,報告應(yīng)針對開源軟件權(quán)益歸屬地和開發(fā)團隊的地理分布信息進(jìn)行分析,給出供應(yīng)鏈政策風(fēng)險評估,同時應(yīng)給出高斷供風(fēng)險的軟件包的替代方案并盡可能消除高政治風(fēng)險開源軟件包的使用;

④開源組件漏洞分析,利用漏洞信息庫對開源軟件包的漏洞進(jìn)行掃描來完成安全等級評估。

五、結(jié)語

由于數(shù)字孿生領(lǐng)域剛剛興起,相應(yīng)的技術(shù)標(biāo)準(zhǔn)、安全規(guī)范和生產(chǎn)實踐都處于摸索前進(jìn)的過程中,目前尚無法形成理論完備、安全有效的開源軟件供應(yīng)鏈風(fēng)險控制方法。因此需要我們在理論層面上對其進(jìn)行深入探討和研究,以應(yīng)對未來可能出現(xiàn)的安全風(fēng)險。

(1)加強高階協(xié)同系統(tǒng)可信性驗證方法的研究工作。數(shù)字孿生系統(tǒng)中物理實體與數(shù)據(jù)模型之間不僅僅存在一階的數(shù)據(jù)交互,兩者之間還存在激勵、反饋、控制等多種協(xié)同方式,屬于典型的高階協(xié)同系統(tǒng),F(xiàn)有的高階CCS演算、高階n演算、高階并發(fā)通信模型等都是基于進(jìn)程形式,然而數(shù)字孿生這樣的安全苛刻系統(tǒng)中,設(shè)備與軟件存在相互的獨立性,內(nèi)部同時存在數(shù)據(jù)交互與業(yè)務(wù)維護(hù)工作;同時各個子系統(tǒng)之間對外接口存在不同的協(xié)議約束,使得現(xiàn)有的模型工具很難對其進(jìn)行準(zhǔn)確描述。

(2)加強開源軟件供應(yīng)鏈的掌控力度,完善供應(yīng)鏈安全評價。利用重點實驗室、行業(yè)協(xié)會和業(yè)內(nèi)龍頭企業(yè)的技術(shù)、政策和業(yè)務(wù)能力,對開源軟件供應(yīng)鏈的上下游合作伙伴進(jìn)行管控。推動開發(fā)人員的安全開發(fā)能力度量標(biāo)準(zhǔn)和基于企業(yè)能力評價的供應(yīng)鏈安全標(biāo)準(zhǔn)的建設(shè)和實施。

(3)加強開源軟件社區(qū)管理,建設(shè)可信軟件資源鏡像倉庫。開源軟件發(fā)布的隨意性是導(dǎo)致其被惡意代碼植入的最主要原因,通過建設(shè)可信的軟件資源鏡像倉庫,能夠在很大程度上避免惡意代碼因軟件包被二次打包、網(wǎng)絡(luò)劫持、相似命名等方式進(jìn)入到軟件開發(fā)環(huán)境中。因此從國家層面上,推動行業(yè)主管單位、網(wǎng)絡(luò)安全相關(guān)科研單位、互聯(lián)網(wǎng)龍頭企業(yè)等組織共同建設(shè)和推廣可信軟件資源鏡像倉庫,能夠最大程度地避免引入惡意代碼,保護(hù)開源軟件供應(yīng)鏈的安全。

 

(原載于《保密科學(xué)技術(shù)》雜志2020年7月刊)