國家保密局網站>>保密科技

關于數(shù)字孿生開源軟件供應鏈安全的思考

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

一、引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

②開源軟件包依賴關系,報告中應對軟件所使用的開源軟件包之間的依賴關系進行詳細描述;

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

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

五、結語

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

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

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

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

 

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