《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 安全可信工業(yè)控制系統(tǒng)構建方案
安全可信工業(yè)控制系統(tǒng)構建方案
2017年電子技術應用第10期
豐大軍1,張曉莉1,杜文玉2,徐一鳳1,馬保全1
1.華北計算機系統(tǒng)工程研究所,北京100083;2.最高人民檢察院,北京100726
摘要: 針對當前工業(yè)控制系統(tǒng)所面臨的信息安全問題,提出了一種安全可信的體系架構。首先分析了工控系統(tǒng)特點、整體模型和控制流程,然后結合可信計算的思想,對工控系統(tǒng)的啟動、組態(tài)和運行進行了安全加固,設計了靜態(tài)度量、安全傳輸以及運行結果安全性驗證。該體系可有效提高工控系統(tǒng)的安全防御能力。
中圖分類號: TP273
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.179018
中文引用格式: 豐大軍,張曉莉,杜文玉,等. 安全可信工業(yè)控制系統(tǒng)構建方案[J].電子技術應用,2017,43(10):74-77.
英文引用格式: Feng Dajun,Zhang Xiaoli,Du Wenyu,et al. A method of construct a secure and trustable industrial control system[J].Application of Electronic Technique,2017,43(10):74-77.
A method of construct a secure and trustable industrial control system
Feng Dajun1,Zhang Xiaoli1,Du Wenyu2,Xu Yifeng1,Ma Baoquan1
1.National Computer System Engineering Research Institute of China,Beijing 100083,China; 2.The Supreme People′s Procuratorate,Beijing 100726,China
Abstract: In order to solve the information security issues in current industrial control system(ICS), this paper presents a trusted architecture for ICS. Firstly, this paper analyzes the traits of ICS, system module, and control sequences. Then using the concept of trusted computing, this paper designs the static measurement, secure transition, and verifies the safety of the calculation result. This method is effective to make it safer in ICS's startup, configuration, and runtime processes. This architecture will enhance the ICS′s ability of defense.
Key words : ICS;embedded system;information security;trusted computing;static measurement;runtime verification

0 引言

    由于工業(yè)控制系統(tǒng)(Industrial Control System,ICS)的使用環(huán)境較為封閉,因此使用中往往更注重功能的實現(xiàn),而對安全的關注相對缺乏。但是,伊朗的震網(Stuxnet)事件給了全世界一個警示,病毒可以感染看似物理隔離的工控系統(tǒng),而且可以對控制對象進行物理破壞[1-5]。隨著互聯(lián)網和信息技術的發(fā)展,尤其是“工業(yè)4.0”的推進,工控系統(tǒng)固有的封閉性也被逐漸打破,隨之的安全問題也日益暴露[6-9]。

    可信計算作為一個信息系統(tǒng)新技術,這些年在國內有了很大的發(fā)展和應用[10-13]。本文從實際應用對象和實際運行過程的角度分析工控系統(tǒng)中的威脅,探討可信計算與工控系統(tǒng)結合的可行性,最后給出一個整體的設計方案。

1 可行性分析

    工業(yè)控制系統(tǒng)是由計算機軟硬件與工業(yè)過程控制部件組成的自動控制系統(tǒng),主要通過工業(yè)過程控制部件對實時數(shù)據(jù)進行采集、監(jiān)測,在計算機的調配下,實施自動化和業(yè)務流程的管理與監(jiān)控。

    針對工控系統(tǒng)的典型攻擊方式有:修改系統(tǒng)軟件、繞過操作權限、篡改組態(tài)文件、偽裝控制指令、偽造現(xiàn)場數(shù)據(jù)、拒絕服務、信息外泄等。

    工業(yè)控制系統(tǒng)與普通計算機系統(tǒng)相比,具有一定的特殊性:

    (1)可用性要求高,需要持續(xù)運行不能間斷;

    (2)實時性要求高,添加安全措施也必須滿足實時性要求;

    (3)一次啟動長期運行,很少對系統(tǒng)進行重啟;

    (4)網絡結構與行為穩(wěn)定性高,投運之后基本不會發(fā)生改變;

    (5)升級不方便,更新代價高,補丁難完善。

    在這種特點下,傳統(tǒng)的“封堵查殺”無法有效地保護工控系統(tǒng)與網絡的安全,可信計算技術是解決工業(yè)控制系統(tǒng)安全問題的新思路。

    按照ISO/IEC 15408給出的定義,可信是指參與計算的組件、操作或過程在任意條件下是可預測的,并能抵御病毒和一定程度的物理干擾。

    可信計算通過為計算平臺增加一個具有安全保護的密碼芯片,并通過軟硬件結合的方式構建出一個可信計算環(huán)境。利用可信計算環(huán)境進行逐級認證,建立可信鏈,確保運行程序和依賴數(shù)據(jù)的真實性、機密性和可控性等[10-13]。

    計算機系統(tǒng)要面臨各種系統(tǒng)補丁升級、應用軟件安裝等要求,所以在計算機中添加過多的認證和授權,會使計算機的可用性下降,從而可信計算機向日常使用方向推廣會遇到一定的阻力。

    工業(yè)控制的應用需求與這些嚴格的限制非常契合。工控系統(tǒng)具有穩(wěn)定的使用環(huán)境、行為、功能。從項目建成投運之后,系統(tǒng)中的軟硬件都基本保持不變,設備的使用流程和控制目的都符合原先的工藝設計。系統(tǒng)軟件版本升級也只會由工控系統(tǒng)提供商來進行,所以系統(tǒng)內所有的程序版本的對應關系都是可知且固定的。從而所有相關程序進行認證和授權是具有可行性的,因此工控環(huán)境非常適合可信計算技術的實現(xiàn)。

2 系統(tǒng)模型

    分析工控系統(tǒng),可將關鍵數(shù)據(jù)和行為在軟硬件之間找到對應關系。工控系統(tǒng)模型如圖1所示。

ck2-t1.gif

    工控系統(tǒng)有上位機和下位機兩種運行環(huán)境:上位機運行環(huán)境是普通計算機和通用操作系統(tǒng),在其中運行著組態(tài)軟件;下位機運行環(huán)境是控制器和嵌入式軟件,在其中運行著從上位機下裝的組態(tài)邏輯。

    可采用已較為成熟的可信計算機產品來保證上位機運行環(huán)境的可信;下位機嵌入式運行環(huán)境的可信則需要更改控制器的硬件結構和啟動機制來保證。

    整個控制過程圍繞著兩類數(shù)據(jù)進行。(1)組態(tài)邏輯:用戶在上位機完成組態(tài),編譯后將可執(zhí)行文件下裝至控制器運行。(2)計算數(shù)據(jù):數(shù)據(jù)從現(xiàn)場設備采集或從上位機接收,傳輸至控制器,根據(jù)組態(tài)邏輯計算出結果,再輸出至設備進行動作。

    以往典型的攻擊方式都是針對組態(tài)邏輯文件,因為實時數(shù)據(jù)的突變很容易被歷史趨勢記錄或觸發(fā)保護邏輯,引起操作者的察覺,所以目前的工控病毒大都把目標集中在直接修改組態(tài)邏輯上。本文設計的安全機制著重在組態(tài)邏輯的生成、分發(fā)、執(zhí)行過程。

    本文將工控系統(tǒng)的工程生命周期分為啟動、組態(tài)、運行3個階段,分別利用可信計算的思想,以密碼機制為手段,實現(xiàn)了安全加固。

3 功能設計

3.1 可信啟動

    工控系統(tǒng)中,工程的運行環(huán)境是指由嵌入式操作系統(tǒng)和實時控制系統(tǒng)軟件組成的環(huán)境,保證控制器在初始啟動時加載的是正確的系統(tǒng)文件,是工程安全運行的前提。常用的安全策略都是基于計算機網絡的病毒查殺技術,不能對文件是否被篡改進行鑒別,也不能防止設備在物流傳輸過程中設備或系統(tǒng)文件被人為替換。

    可信計算的應用,可增加對正確文件的鑒別能力以及對異常文件的抵御能力。電子六所開發(fā)的全國產化PLC系統(tǒng),在國產CPU的基礎上實現(xiàn)了可信啟動技術。在國產化硬件芯片和不可改寫的存儲芯片結合的前提下,對將要運行的系統(tǒng)軟件進行完整性度量,確保當前運行的版本未經篡改,與出廠版本保持一致。圖2是經過可信改造的控制器內部結構圖。

ck2-t2.gif

    圖2所示的控制器,控制器上有可讀寫的Flash,其中存放著嵌入式操作系統(tǒng)、實時控制軟件等。由于Flash可讀寫的特性,有可能在未授權的情況下被人為替換,也有可能在運行過程中被病毒感染。所以需要對這部分系統(tǒng)代碼進行完整性度量,保證其與出廠指定版本保持一致。

    控制器啟動時,先執(zhí)行ROM中驗證相關的邏輯,履行可信度量功能:CPU讀Flash區(qū)存放系統(tǒng)文件的指定位置,傳輸給可信模塊計算其摘要值,與預先存儲的基準值相比較。驗證結果回復給CPU,若驗證通過,則跳轉至正常執(zhí)行啟動嵌入式操作系統(tǒng);若驗證不通過則控制器拒絕啟動,并產生報警。流程如圖3所示。

ck2-t3.gif

    上述設計,在CPU硬件芯片國產化的基礎上杜絕了芯片后門,實現(xiàn)本體可信。利用ROM不可被改寫的特性,實現(xiàn)啟動時對整體運行環(huán)境的完整性度量,保證其與出廠時的版本保持一致,防止病毒感染系統(tǒng)文件、未經授權地修改系統(tǒng)文件、運輸過程中的分發(fā)攻擊等,為工業(yè)自動化構建了堅實可信的基礎平臺。

3.2 可信組態(tài)

    工控系統(tǒng)運行過程中,可能受到以下方式的攻擊:

    (1)感染工程師站,通過病毒直接修改本地保存的工程組態(tài)文件,讓使用者通過自己的合法途徑正常下裝至控制器運行。

    (2)感染同一網絡內的其他計算機,偽裝成工程師站給控制器下裝,或修改工程師站下裝的數(shù)據(jù)包。

    在傳統(tǒng)的工控系統(tǒng)中,這種攻擊是容易實現(xiàn)的,因為用戶邏輯從組態(tài)到運行整個過程均是明文存儲和傳輸,控制器對數(shù)據(jù)的發(fā)送方也不進行權限的鑒別和身份的認證。

    可在傳統(tǒng)組態(tài)邏輯分發(fā)過程中增加一定的安全機制,增強控制器中執(zhí)行邏輯的可信程度??尚沤M態(tài)分發(fā)過程如圖4所示。

ck2-t4.gif

    在可信的工控系統(tǒng)中,有一套完整的PKI(Public Key Infrastructure)體系。每個物理節(jié)點都增加了密碼模塊硬件,均被分配屬于自己的公鑰和私鑰;每個操作人員都持有預先配置了不同操作權限的物理介質,從而可將自然人身份轉化為確定的數(shù)字信息。

    (1)工程文件簽名

    邏輯組態(tài)軟件在每次編譯生成可執(zhí)行文件時,需對文件進行簽名,從而防止第三方偽裝邏輯,或者在網絡傳輸過程中被篡改。

    (2)通信前權限鑒別

    在可信工控系統(tǒng)中,根據(jù)操作權限,使用者被分類成系統(tǒng)管理員、工程師、操作員,對應權限燒寫在UKEY等物理介質中。例如:更改密鑰需系統(tǒng)管理員權限,下裝工程需工程師權限等。

    (3)接收前身份認證

    在上下位機建立傳輸鏈接前,先使用“挑戰(zhàn)-響應”機制對雙方的身份進行驗證,相互認證通過后,控制器才會接收傳輸過來的數(shù)據(jù)包。

    (4)工程文件驗簽

    控制器對接收到的數(shù)據(jù)包進行驗簽,驗證通過后才執(zhí)行。

3.3 可信運行

    目前國內基于可信計算理論設計的工業(yè)控制系統(tǒng),大多只實現(xiàn)了啟動時對嵌入式運行軟件的靜態(tài)度量。然而不同于普通計算機系統(tǒng),在實際使用中,工控系統(tǒng)并不會經常重啟,具有一次啟動長期運行的特點。另外在現(xiàn)場調試完成之后,也不會再頻繁修改下裝邏輯。

    可信啟動和可信組態(tài)保證了嵌入式運行環(huán)境以及用戶邏輯可執(zhí)行文件的安全性,但是對于運行結果正確與否并無法保證,這就意味著動態(tài)度量必不可少。

    可信計算中強調行為結果的可預期,在實踐中一般通過兩種理念:對內存等嵌入式運行環(huán)境的動態(tài)度量和對運行結果的動態(tài)度量。兩個方向有著不同的出發(fā)點,前者是為了保證環(huán)境不在運行中被改變,定時檢查內存正文區(qū)、函數(shù)堆棧、中斷向量表等關鍵數(shù)據(jù)結構;后者是通過審計系統(tǒng),對所有行為與后果進行數(shù)據(jù)分析,判斷系統(tǒng)狀態(tài)與行為路徑是否匹配。

    本文提出的可信運行方案是對工程實現(xiàn)時增加了一種安全組態(tài)規(guī)范,使用類似于形式化的描述工程的安全屬性,然后運行過程中對安全屬性進行驗證??稍诮M態(tài)軟件中開發(fā)相關功能,支    持形式化語言描述,與IEC61131-3中的其他幾種語言結合使用。

某些控制過程可以確定地描述為某幾個狀態(tài)之間的轉換,每個狀態(tài)執(zhí)行具體的動作。以電梯的運行控制為例,將電梯的運行過程抽象成圖5所示的7種狀態(tài),并且在正常運行時,狀態(tài)之間的轉移應滿足圖5所示路徑。

ck2-t5.gif

    在運行過程中,判斷當前所處狀態(tài)由一段確定的預設邏輯,通過對操作結果的計算得到。例如對電梯設備的控制結果是電梯所處的位置,可根據(jù)最近幾個時刻的位置判斷出當前所處的是加速還是減速,是上升還是下降。當狀態(tài)轉移路徑與預設不符時,系統(tǒng)可按設置進行緊急處理,同時產生報警。

    如果是典型的過程控制,例如火電機組,可根據(jù)不同負荷的工況提取出安全特征,例如在此負荷下,過熱蒸汽的安全范圍,甚至于汽輪機的分貝或震動強度等。

    提取出系統(tǒng)的狀態(tài)、狀態(tài)的判定規(guī)則、狀態(tài)之間的轉換規(guī)則、狀態(tài)的安全判定規(guī)則等,都要求工程設計者對控制對象有更深入的研究,抽象出科學的模型,精確計算出數(shù)字范圍。

    出于加強信息安全的考慮,安全驗證邏輯應該獨立于主運算任務,以另一個任務的形式運行,或者下裝至另一個CPU核中獨立運行,以實現(xiàn)運行與監(jiān)控相隔離的設計準則。

4 結語

    電力、交通、石油化工等關乎國家民生的重大基礎設施中,工控系統(tǒng)的安全防護是非常必要的。在系統(tǒng)周邊進行安全加固是很有效的措施,但是工控系統(tǒng)本身也需要具備一定的威脅識別與防護能力,從而實現(xiàn)縱深防御的安全體系。

    工業(yè)控制中,實時性是需要嚴格保證的。以往的工控系統(tǒng)中很少采用密碼體制,因為擔心控制過程中數(shù)據(jù)量的增加,以及加解密帶來的時間延遲。本文的方案著重在于工程生成、下裝和通信建立時使用了密碼機制,因為這些情況下,對響應時間沒有太嚴格的要求。

    關于過程數(shù)據(jù)的可信,常用的密碼體制長秘鑰的方式對實時性影響太大,在工控場合適用性不強。由于工控并不支持大量用戶的并發(fā)操作,所以碰撞破解密碼的可能性較低。密鑰長度較短的對稱加密體制配合定期同步更換密鑰,也許更適合工控的實際應用。基于一次性密鑰(OTP)理念的流密碼可能是一種不錯的選擇。

參考文獻

[1] KARNOUSKOS S.Stuxnet worm impact on industrial cyberphysical system security[C].Annual Conference on IEEE Industrial Electronics Society,2011:4490-4494.

[2] 趙炤,朱啟超.從震網病毒分析“網絡物理戰(zhàn)”作用機理[J].國防科技,2014(2):11-13.

[3] 蒲石,陳周國,祝世雄.震網病毒分析與防范[J].技術研究,2012(2):40-43.

[4] 李戰(zhàn)寶,潘卓.透視“震網”病毒[C].第26次全國計算機安全學術交流會,2011:230-232.

[5] 仇新梁,董守吉.“震網”病毒攻擊事件跟蹤分析和思考[J].保密科學技術,2011(5):35-37.

[6] 褚健.工業(yè)控制系統(tǒng)安全的盛世危言[J].中國信息安全,2012(3):32-36.

[7] 李鴻培.2014工業(yè)控制系統(tǒng)的安全研究與實踐[J].計算機安全,2014(5):36-59.

[8] 沈昌祥,張煥國,馮登國,等.信息安全綜述[J].中國科學:信息科學,2007(2):129-150.

[9] 張煥國,韓文報,來學嘉,等.網絡空間安全綜述[J].中國科學:信息科學,2016,46(2):125-164.

[10] 沈昌祥,張煥國,王懷民,等.可信計算的研究與發(fā)展[J].中國科學:信息科學,2010,40(2):139-166.

[11] 沈昌祥,陳興蜀.基于可信計算構建縱深防御的信息安全保障體系[J].四川大學學報:工程科學,2014(1):1-7.

[12] 馮登國.可信計算理論與實踐[M].北京:清華大學出版社,2013.

[13] 吳歡.工業(yè)控制環(huán)境計算節(jié)點安全防護技術研究[D].北京:北京工業(yè)大學,2016.

[14] David Kleidermacher,Mike Kleidermacher.嵌入式系統(tǒng)安全[M].北京:機械工業(yè)出版社,2015.

[15] 喬全勝,刑雙云,尚文利,等.可信PLC的設計與實現(xiàn)[J].自動化儀表,2016(12):76-78.



作者信息:

豐大軍1,張曉莉1,杜文玉2,徐一鳳1,馬保全1

(1.華北計算機系統(tǒng)工程研究所,北京100083;2.最高人民檢察院,北京100726)

此內容為AET網站原創(chuàng),未經授權禁止轉載。