孫 瑜,洪 宇,王炎玲
(北京可信華泰信息技術有限公司,北京100195)
目前,隨著網絡空間成為繼陸、海、空、天之后的第五維空間,我國網絡安全形勢面臨著嚴峻的挑戰。網絡安全的首要問題是解決核心技術受制于人的問題,亟需建立創新發展的主動免疫可信防護體系[1]。 我國的國家關鍵基礎設施運行往往是由工業控制系統的生產系統來實現的,數字化控制系統已成為工業控制系統的普遍趨勢。 數字化控制系統是國家關鍵信息基礎設施的重要組成部分,一旦遭到破壞、喪失功能或者數據泄露,將會給國家安全、國計民生、公共利益帶來嚴重危害。 因此數字化控制系統往往成為網絡戰的第一目標,針對工業控制系統的攻擊通常具有極強的針對性和隱蔽性,能夠突破以隔離為主的安全防護體系,使現有安全防護失效。
《中華人民共和國網絡安全法》第三十一條規定:“關鍵信息基礎設施在網絡安全等級保護制度的基礎上,實行重點保護”。 國家網絡安全等級保護 2.0 核心標準《GBT22239-2019 信息安全技術網絡安全等級保護基本要求》、《GBT25070-2019 信息安全技術 網絡安全等級保護安全設計技術要求》、《GB/T 28448-2019 信息安全技術網絡安全等級保護測評要求》于 2019 年 12 月正式實施,在等級保護2.0 基本要求及設計要求中強調了基于可信根的可信驗證在整個信息系統防護中的重要地位。 一方面可信驗證是通用要求,是所有系統的基礎性安全要求;另一方面在基本要求中對信息系統進行分類,在擴展要求中對工業控制系統也提出了更具針對性的安全防護要求[2-4]。
綜上,設計具有可信根和可信驗證功能的工業控制系統,對我國生產制造業和國家關鍵信息基礎設施的發展有著重要的意義。
隨著信息化技術在工業控制領域的快速發展,工業互聯網、智能制造等技術的應用推廣,控制系統的物理隔離被打破,孤島現象逐步消失,其開放性帶來便利的同時也擴大了安全暴露面,安全風險也與日俱增。 對于企業而言,工業控制系統與 IT 的集成和融合不可避免,由此會面臨愈加復雜的安全風險,如何進行工業控制系統安全防護建設,已經成為一個制約企業發展的重要問題。 卡巴斯基Kaspersky 早在 2016 年曾對 188 019 套工業控制系統所面臨的威脅進行調查研究,發現超過91%的工業控制系統存在安全漏洞,所有安全漏洞均可能被非法遠控和利用,絕大部分組織或企業的工控系統都面臨網絡威脅。
目前工業控制系統的安全防護主要依靠防火墻、網閘、漏洞掃描、主機加固、防病毒軟件、USB禁用等手段。 然而,網絡空間安全主要是攻防雙方的安全博弈,由于雙方的不對稱性使以上防護手段不能有效地發揮作用。 如在工業控制系統領域,防病毒軟件病毒庫往往不能夠及時更新,因為每一次更新變化都可能對工業系統運行帶來不良影響,未實時更新的病毒庫不能有效防御新出現的病毒。 另外,即使實時更新的病毒庫也不能有效應對未知病毒,例如Stuxnet 病毒作為一種新病毒,在其攻擊系統前,防病毒軟件由于病毒庫中沒有該病毒特征值而無法予以發現和識別。再如漏掃機制,在其連接敏感設備并進行漏洞數據收集時,可能給系統帶來無法接受的生產中斷,對生產造成極大的損失[5-7]。
較一般信息系統而言,工業控制系統具備其特殊的特點及要求,如強實時性通信、通信協議豐富多樣、系統不允許重啟、人和控制過程安全、加入安全功能及機制后不影響控制流程、設備不易更換且設備生命周期較長等。鑒于工業系統自身特點及對安全的特殊要求及限制,傳統的“封堵查殺”安全防護技術多是基于特征匹配的方法,無法解決利用未知漏洞的攻擊,難以有效解決工業控制系統的安全問題。 無論是外部攻擊還是內部惡意行為(如病毒感染、員工失誤、員工/服務商人員惡意修改等),最終都是通過改變控制系統的程序組態實現對工業控制系統的攻擊,或者直接取得對控制系統的操控權。
可信計算3.0 技術將控制系統計算節點構建為工業生產過程控制的可信計算環境,能夠保障業務邏輯不被篡改,可對業務環境和使用者進行有效鑒別驗證,通過安全管理中心支撐下的計算環境安全、區域邊界安全、通信網絡安全組成三重防護體系結構,構建縱深防御、主動免疫的防護能力,從而解決工業系統當前面臨的安全風險,并同時滿足國家等級保護標準要求[8-12]。
相比于國外可信計算技術,我國在可信計算方面的研究起步較早,于1992 年發明了微機保護卡,通過密碼技術為DOS 運行環境中的PC 實施安全保護,達到了無病毒、自我免疫的效果。 歷經二十多年的發展,我國可信計算技術已經擁有了完整的技術理論、逐步完善豐富的標準體系[13-21]和產品應用。
我國自主創新的可信計算3.0 技術是以TPCM為技術路線,核心的主動免疫雙體系架構是基于自主創新的對稱與非對稱結合的密碼體制,將其作為主動免疫基因;在系統設備硬件層通過植入TPCM可信控制模塊作為可信根,內置TCM 模塊具備可信控制功能,將密碼與控制相結合,構建計算與防護并行的可信計算節點,由信任根實現對可信計算平臺的主動控制;在設備軟件層通過部署可信軟件基軟件,實現宿主機操作系統和可信軟件基的雙重系統核心, 無需改變應用層軟件即可實現對系統的執行環境及進程行為的主動可信度量,為系統構建主動免疫防御能力;在系統網絡層,通過可信連接技術實現對接入網絡源、 目標平臺的可信驗證和控制,確保網絡連接的可信性,將可信由單點拓展至整個網絡[9]。
隨著可信計算體系標準的逐漸豐富和完善,越來越多的企業開始對可信計算進行研究,目前市場上已有幾十家企業推出了可信計算產品,可信計算產品已具備完整的產品體系,目前已覆蓋芯片、固件、板卡、軟件、整機、網絡、外設、專用設備等。 可信計算產品最核心的可信模塊包括TPCM 可信根硬件和配套可信軟件基軟件體系,TPCM 可信根實現方式主要包括 CPU 內置和外置插卡/板載芯片。
PLC 作為 SCADA 和 DCS 等主要工控系統中的現場控制組件,通常應用于工業過程控制領域。對PLC 的編程控制和診斷,一般通過常見的Unity Pro、WINCC 等下位機軟件來實現。
可信PLC 的構建基于可信計算3.0 技術,采用“計算+防護”并行的雙體系架構,通過在PLC 硬件層植入主動度量控制芯片TPCM 構建可信根,實現計算和可信的融合。 具體構建方式如下:
構建可信PLC,即在原有的PLC 基礎上融合可信芯片,同時在PLC 的操作系統中內置預裝可信功能模塊,從而構建可信 PLC 環境。 在可信 PLC 啟動時,可信機制首先進行自身安全診斷,然后進行PLC 的計算環境檢測,并對PLC 的業務模塊進行檢測,當通過上位機軟件對PLC 進行編程控制和診斷時,可信機制能夠度量和執行驗證代理,并對PLC的操作系統進行完整性度量、驗證和存儲,對上位機軟件進行可信驗證,PLC 根據上位機軟件的指令開始運行。
可信PLC 的功能除了包括PLC 本身帶有的處理、通信、輸入輸出等核心功能外,還包括TPCM。 作為可信計算模塊, TPCM 是可信功能結構的核心,主要發揮存儲信任根、報告信任根和計算信任根的作用,并為工控系統其他組件提供基本的存儲保護功能及PCR 和簽名密鑰等可信資源。 其結構如圖1 所示。

圖 1 可信 PLC 的功能結構圖
從整機設備體系結構上看,最關鍵的設計就是如何將可信根接入PLC 整機。可信根是整體可信保障體系的核心。 針對工控 PLC,一種典型的信任鏈構建及傳遞過程為:在 PLC 設備上電以后,TPCM 模塊有優先執行權,對初始化的固件鏡像進行可信度量驗證,待驗證通過后,執行權再由TPCM 模塊交給初始化固件,PLC 主控 CPU 讀取驗證過的固件鏡像并執行,從而完成PLC 設備初始化工作。 在產品實現上,TPCM 可由獨立芯片進行整機構建,再配合修改啟動時序電路、獨立存儲資源從而實現可信PLC;或者利用 PLC 主控 CPU 內部安全芯片或IP 核實現TPCM 功能,例如我國飛騰 CPU 基于 AMAB 總線 AXI擴展接口能夠實現安全IP 核的資源隔離,可用該安全 IP 核實現 TPCM,構建可信 PLC 從而節省了 PLC整機硬件設計修改工作。
采用飛騰 2000/4 型號 CPU 作為 PLC 的主控CPU 實現信任鏈啟動。 飛騰 2000/4 型號 CPU 是ARMV8 架構支持可信,可以完整運行 Linux、嵌入式Linux 之類操作系統,并且內部已經集成 SM2、SM3、SM4 國密算法引擎和真隨機數生成器,具備實現可信根的密碼資源和計算資源。 在整機上電后飛騰CPU 首先加載飛騰 PBF 固件初始化 CPU, 同時將CPU 中的四個核中的一個作為可信核以實現TPCM功能,另外三個核作為計算核以實現PLC 原有的業務邏輯。 用飛騰 CPU 分核實現安全和計算,這種設計不僅節省了傳統方案中兩個分立芯片的開銷,并且利用CPU 內部的高精度實現,達到安全業務和計算業務之間的高帶寬低延時的連接效果。 同時它又發揮出計算和安全由一個芯片實現帶來的諸多優勢,如:物理尺寸減小,整體開銷、費用降低,無需因為安全額外修改 PLC 主板電路等。 在 PBF 初始化后,可信核也就是TPCM 首先開啟度量工作,度量PLC 的Boot.bin 引導文件、內核鏡像、設備樹文件等,可信核通過總線獲取存儲于Flash 芯片上的數據文件并通過SM3 計算出哈希值,與內部存儲的Boot.bin引導文件、內核鏡像、設備樹文件預期值進行比對;當可信驗證通過后可信核發出信號,計算核開始工作加載Boot.bin 引導文件、內核鏡像、設備樹文件等,PLC 進入工作狀態實現可信啟動。 當 PLC 進入工作狀態后,位于PLC 操作系統的可信軟件基依據策略周期性度量操作系統的關鍵數據結構(例如系統調用表、內核代碼段、關鍵驅動等),以確保 PLC 在可信安全的運行空間中執行工業控制任務。
可信PLC 同時結合可信上位機和可信服務器,可逐步構建出工業控制系統的可信計算環境。 可信上位機的安全防護主要利用可信根、可信軟件基提供的基礎安全保障,做好對組態的管理和對非法組態修改的識別。 系統組態的改變主要包括由病毒感染引起的修改、黑客入侵修改、未經批準的惡意修改、經批準但因工作疏忽造成的錯誤修改,無論哪種情況都可以利用可信計算的防護機制進行阻斷修改。 即需要做好對組態的基準值管理,建立操作系統和工業控制軟件的基準值采集和管理機制。
在工業控制系統內包括并涉及大量設備,對多源異構設備的集中安全管理是一個難點,可信安全管理中心可實現對系統內眾多設備的統一管理,確保安全策略的有效一致性,同時便于安全管理和監測。 工業控制系統的另一個難點就是OT 和 IT 的結合問題,傳統網絡安全防御的處理機制并不適用于工業控制系統,例如在典型車間,當報警值高于聯鎖值,則容易造成非計劃停車,即在沒有對報警處理的情況下出現停車,從而造成重大的經濟損失。因此工業控制系統安全在定義策略時要考慮到安全阻斷行為會觸發怎樣工業行為,管理中心就是統一制定安全策略的平臺,安全管理員通過管理中心進行安全策略的制定和預演,依據工業系統的應急措施和處理邏輯制定出符合現場的安全防護策略。
當前工業控制系統“封堵查殺”的防護技術難以應對當前所面臨的安全威脅,本文基于我國自主創新的可信計算3.0 技術,針對工業控制系統 PLC,提出了主動免疫的計算和防護并行雙體系架構,并以此實現PLC 節點從啟動到運行的信任鏈建立和傳遞,同時構建了工業控制系統關鍵計算節點可信PLC、上位機和服務器,克服了工業控制系統被動防護的現狀,使工業控制系統在計算運算的同時實現安全防護,保障工業系統邏輯計算全程可測可控,不被干擾,確保計算結果與預期結果的一致性,為工業系統的安全運行提供安全支撐。