李 科,黃 雙,周 浩,秦元慶,周純杰
(華中科技大學 控制科學與工程系,湖北 武漢430074)
工業人機界面 (human machine interface,HMI)是應用在工業控制領域的人機交互工具,處于管控一體化現場的核心位置,負責將現場數據匯總后上傳到中心管理層,在工業控制系統中具有重要作用。而隨著工業人機界面越來越網絡化和開放化,其信息安全問題也日益突出。
目前在IT領域的信息安全問題得到了國內外學者的高度重視[1-3]。在工業控制系統中也存在信息安全問題,如系統安全防御機制缺失等[4],但工業控制系統對實時性要求高[5],大多基于嵌入式平臺,資源受限,使得IT領域中的信息安全解決方案不能很好地解決其信息安全問題,因而人們提出了一些其他的解決方案,如實施強訪問控制策略[6]、設置工業防火墻[7]等,此外IEC制定了IEC62443國際標準[8]來保障其信息安全。但是關于HMI的信息安全策略設計與實現的技術研究還比較少,針對HMI的信息安全策略研究極少有人涉足。
為了保障HMI的信息安全,結合其資源受限、實時性要求高、分階段運行等特點,本文在基于LPC3250-Linux的觸摸屏人機界面平臺上探討了其信息安全問題,從入侵過濾、入侵檢測、入侵響應3個階段設計并實現了其信息安全策略,同時進行了相應的驗證。
工業控制系統可分為4個層次:現場采集層、現場控制層、本地操作層、中心管理層,各層之間通過網絡連接,其結構如圖1所示。

圖1 工業自動化控制系統層次結構
HMI在工業自動化控制系統中處于本地操作層,負責現場數據的轉發,對現場數據信息的傳遞起到了承上啟下的作用。同時,HMI還同本地操作層的PC機、移動存儲介質交互信息,并同其他HMI通信,控制其他HMI管理下的設備[9],因而 HMI在本地操作層也是重要的交互工具。
HMI的平臺為嵌入式結構,其信息安全問題與IT信息安全問題有所不同,面臨的攻擊類型也不一樣[10],存在的信息安全問題有:①采用不充分的訪問控制,給予HMI訪問者過多或過少的訪問權限,造成用戶權限的竊??;②HMI中的數據傳輸和存儲未加密,HMI數據未受保護地存儲在移動設備中,數據容錯能力差,未使用數據驗證機制;③HMI容易遭受到網絡上存在的各種攻擊;④缺乏備份電源,產生安全隱患,降低了系統的可用性。因此需要專門針對HMI的信息安全問題設計相應的解決方案。
由于HMI系統中可用資源受限,沒有內在的信息安全保障能力,且系統實時性、可用性要求高,單純移植IT領域的信息安全解決方案并不能解決HMI的信息安全問題,因此本文針對HMI的特點提出了一種適合HMI的入侵檢測處理策略。
該策略框架包括入侵過濾、入侵檢測和入侵處理3個階段,策略框架示意圖如圖2所示。入侵過濾階段采用“白名單”機制,包括身份認證、IP地址白名單、幀校驗,可過濾掉簡單的入侵行為。入侵檢測階段采用基于性能模型的異常檢測機制,選取反映系統運行狀態的性能指標建立性能模型,并對這些指標進行實時監測;同時對于資源豐富的HMI可在入侵檢測部分添加內環特征檢測機制,以加強檢測力度。入侵處理階段主要通過報警、加密和斷開網絡連接來處理入侵行為。

圖2 HMI信息安全策略框架
系統信息安全策略框架包括:①性能指標監測,對選定的性能指標進行監測,如HMI的任務執行情況、CPU利用率、網口流量等;②性能模型,根據選定的系統性能指標建立相應的性能模型,性能模型作為對性能指標監視的參考;③安全決策,包括時機決策和措施決策,時機決策在HMI發現入侵后選擇合適的時機來響應;措施決策指HMI需要執行的措施,如報警、記錄攻擊數據、阻斷攻擊等;④數據參數化,對HMI接收的數據進行識別,提取特定信息;⑤特征匹配,參數化后的數據與特征信息采用算法進行匹配;⑥安全策略,HMI針對不同的檢測結果選擇不同的處理方案,如報警、斷開網絡連接等;⑦入侵處理,執行安全策略。
對于入侵檢測部分,特征匹配檢測和性能異常檢測各有其特點:特征匹配能夠快速地檢測到已知的入侵行為,但由于需要建立特征庫,占用資源比較多;性能異常檢測則不需要占用太多資源,且系統監視性能指標比較方便,在Linux下通過讀取相應文件內容就可以實現。因此針對HMI的信息安全策略設計需要考慮HMI中的資源情況,對于中低檔產品采用性能異常檢測機制,而對于高檔產品可添加內環特征檢測機制。
HMI的硬件框架包括CPU、存儲器、電源、通信接口、移動存儲接口、LCD接口等模塊,CPU采用NXP的工業級芯片LPC3250。對于電源系統,為了保證HMI的可用性,采用了備份電源。
HMI軟件部分基于嵌入式Linux設計,在Linux上開發應用程序,設計多個任務模塊,在考慮信息安全的模塊中添加安全保障措施。人機界面的軟件結構如圖3所示。
其中在用戶應用層設計了信息安全策略:首先在系統中建立性能模型,然后對觸摸輸入模塊、設備通信模塊等的性能指標進行監測,監測結果與性能模型比較并進行安全決策,最后在數據存取模塊和下載上傳模塊部分執行決策方案。

圖3 工業人機界面軟件結構
系統中采用 “白名單”機制對入侵進行過濾處理,其中安全下載上傳模塊采用IP白名單、幀校驗,安全觸摸輸入模塊采用身份認證;采用基于模型的入侵檢測機制對入侵行為進行檢測,利用反映系統運行狀態的性能指標建立模型,對運行中的性能指標監測并得出檢測結果;采用報警、加密、斷開網絡連接對檢測結果進行響應處理。
入侵過濾模塊使用 “白名單”機制來加強對HMI的訪問控制和通信,應用的 “白名單”機制包括身份認證、IP地址白名單和幀校驗。
身份認證的方式為采用身份證號/工號、密碼進行認證,身份證號或工號作為用戶名,密碼組成包括當前登錄的時間戳 (精確到分鐘)+用戶自行設定的密碼,只有符合認證方式的用戶才能操作HMI,從而形成身份認證白名單。
IP地址白名單是指只有 “白名單”中規定的IP地址才可訪問HMI,其根據HMI操作分時段的特點來設置,IP地址白名單示例如表1所示。數據下載在白天有10個合法地址,晚上不允許下載;數據批量上傳用于將白天的運行數據保存,在晚上時段進行,有4個合法地址;上位機監控可24小時進行,有兩個網段,每個網段有10個合法地址。

表1 IP地址白名單示例
幀校驗是通過在組態數據下載幀中添加安全冗余信息而對其進行安全校驗,對于不符合校驗規則的幀進行過濾處理。對下載幀添加校驗碼標識,圖4所示為組態工程文件數據幀格式,在其幀首部的系統參數中添加安全校驗碼(包含兩部分),該校驗碼通過算法計算得出,與幀內部分數據相關。

圖4 添加安全校驗碼的下載幀格式
本文針對中低檔的HMI,采用基于性能模型的異常檢測策略,其思路是首先選取能反映系統運行狀態的性能監測指標,然后針對不同運行階段分別建立性能模型,如果在實際運行中發現選取的監測指標之一出現異常,則判斷有入侵行為,其流程如圖5所示。

圖5 入侵檢測策略流程
對于HMI系統,任務、CPU利用率、網口流量是體現系統運行狀態的主要特征量,因此選取它們作為監測指標比較合適。任務有周期性的和非周期性的,其執行時間可通過系統函數gettimeofday()獲取;在Linux中通過讀取/proc/stat文件來計算CPU的利用率;在Linux中通過讀取/proc/net/dev文件來計算網口通信流量。
HMI系統運行狀態分為組態配置階段和運行監控階段。在組態配置階段,利用PC機上的組態軟件設置相關參數,保存為特定格式的文件,該文件通過10M以太網下載到HMI的存儲空間;在運行監控階段,HMI利用組態配置階段下載的參數配置系統中的變量,在觸摸屏上再現PC機上的組態內容,同時通過觸摸屏的觸摸功能實現人機交互,并通過串口與PLC等設備進行通信,另外PC機可通過網口來監視HMI中獲取的資源信息。由于不同階段的監測指標狀態有所不同,需要分別針對兩個階段來建立性能模型。
兩個階段的任務列表及其詳細信息如表2,其中包括各任務的執行時間估計值、CPU占用率平均值。對于表中的任務,有些執行時間較為固定,如下載進度條顯示任務,而有些執行時間是根據組態配置決定的,如圖形顯示任務,其執行時間取決于組態畫面的復雜程度;任務的CPU占用率取決于其被調用頻率,在組態配置階段主要是通過網口通信,相關任務的CPU占用率比較大,而在運行監控階段,圖形顯示和串口通信是主要的,其CPU占用率相對比較大。同時系統在一定時期的活躍任務數是確定的,因此任務模型根據任務的執行時間、任務對CPU的占用情況和一定時期的活躍任務數來確定。

表2 任務列表及詳細信息
通過對任務執行情況的統計可估計出HMI在不同階段的CPU利用率:在組態配置和運行監控階段,CPU利用率正常值分別為28%和40%,組態配置階段的任務數量不多,CPU利用率較低,運行監控階段的任務數量較多,CPU利用率較高。為建立CPU利用率模型,將兩個階段的CPU利用率安全極限值分別設置為40%和55%。
由于HMI的網絡流量在各個運行階段是基本固定的,因此可統計出在不同階段的以太網通信流量,如表3所示。在組態配置階段,接收流量指單位時間內HMI接收到上位機發送的組態數據量,發送流量指在HMI接收到一幀數據后單位時間內發送給上位機的回應數據量,該階段的流量比較大;在運行監控階段,接收流量指單位時間內上位機發送的監控指令和數據量,發送流量指單位時間內HMI返回的監控數據量,該階段的流量不大。

表3 以太網通信流量統計
在HMI系統運行過程中,不斷對系統性能指標進行監測,當發現性能指標偏離上述模型之一時,可判斷有入侵行為,需要采取入侵處理措施。
響應包括主動響應和被動響應,主動響應阻斷入侵并采取措施防止入侵產生的不良后果,被動響應則進行報警和記錄所檢測到的入侵信息。HMI采用被動和主動相結合的方式進行響應,被動響應采用報警進行處理:當檢測到系統異?;蛴腥肭中袨闀r,在報警列表中添加報警事件并將報警信號上傳,同時鳴響人機界面中的蜂鳴器;主動響應通過Linux系統中的加密和斷開網絡連接來實現:當發現有數據竊取行為時,通過調用數據加密任務,對存儲和傳輸的數據進行加密處理,如果入侵影響到系統的實時性,則需要斷開與外部的連接,關閉與網口、USB口等的通信任務,并阻塞可疑的任務調用。為保證與設備通信的可靠性,需要在任務中設置重傳機制,同時為保障與設備通信的安全性,對于未完成的通信予以撤銷。
測試平臺如圖6所示,由PC機、HMI、U盤及PLC組成,PC機使用RJ45交叉線與HMI相連,HMI使用串口線與PLC相連,U盤插在HMI的USB接口上。
本文通過PC機上的模擬入侵軟件向HMI發送入侵數據,入侵過濾檢測的結果保存到連接在HMI上的U盤中。測試內容包括人機交互安全測試和網絡通信安全測試。
人機交互安全測試包括:身份認證測試;通過sniffer軟件組包對IP白名單測試;修改組態軟件中的數據幀格式對通信幀白名單測試。

圖6 測試平臺
網絡通信安全測試采用KDD CUP99數據集[11]來評價,數據 集 樣 本 分為 四 類:Probe、DoS (Denial-of-Service)、R2L (Remote-to-Local)、U2R (User-to-Root)。測 試 數據集由正常數據與上述一種或幾種類型中的攻擊混合組成,選取5組測試數據集,每組包含900個正常數據和100個攻擊數據,其中4組分別包含一種類型的攻擊,另外1組包含四種類型的攻擊。測試時每分鐘發送20個數據,并對正常實例和入侵實例計數。
為測試HMI與PLC的通信實時性,選取一組數據集,其中包含N個包含四種類型的攻擊數據和1000-N個正常數據,攻擊數據個數依次遞增,在串口通信任務中設定定時器記錄通信延遲時間。
(1)人機交互安全測試
多次登錄未成功時產生報警,并禁止再次登錄,需要等待一段時間后才能登錄;sniffer軟件發送IP錯誤數據包時HMI不回應,而組態軟件下載安全校驗碼不正確的數據包時HMI顯示無法下載。
(2)網絡通信安全測試
入侵檢測性能通過檢出率和誤檢率兩個指標來評價,檢出率指檢測到的入侵數目與總的入侵數目之比,誤檢率指被誤判為入侵的正常數目與總的正常數目之比,實驗結果如圖7所示。

圖7 入侵檢測實驗結果
由圖7可看出,Probe和DoS類型攻擊的檢出率達到85%以上,主要是因為這兩類的大部分攻擊比較常見,容易引起系統異常,而且一些攻擊被 “白名單”過濾掉了,兩類的誤檢率低于20%;對于U2R和R2L類型攻擊的檢出率不高,只有60%左右,這是由于很多攻擊難以很快引起系統異常,而當系統異常又將正常數據誤檢,導致誤檢率比較高。
HMI與PLC的通信實時性測試結果如圖8所示。

圖8 HMI與PLC通信實時性測試結果
由圖8可知攻擊數量對于通信實時性有影響,攻擊數量越多,通信延遲時間越長,當入侵對實時性造成較大影響時 (延時達到2s),HMI會關閉與上位機的通信接口,以保證與PLC的正常通信,此時延遲時間為正常的通信延時。
本文分析HMI系統的信息安全問題,結合其資源有限、實時性要求高、分階段運行等特點,設計了相應的信息安全策略。該策略采用白名單機制實現入侵過濾,基于HMI系統性能模型進行入侵檢測,主被動響應相結合完成入侵處理。結果表明,該安全策略能夠有效地檢測入侵行為并保持較低誤檢率,同時保證系統實時性要求得到滿足。所設計安全策略對于保障其他工業控制系統的信息安全同樣具有一定的參考價值。
[1]SHEN Changxiang,ZHANG Huanguo,FENG Dengguo,et al.Summary of information safety[J].Science in China,2007,37(2):129-150 (in Chinese).[沈昌祥,張煥國,馮登國,等.信息安全綜述 [J].中國科學,2007,37 (2):129-150.]
[2]CHENG Jianhua.Research on information security risk management,evaluation and control[D].Changchun:Jilin University,2008:28-60 (in Chinese).[程建華.信息安全風險管理、評估與控制研究 [D].長春:吉林大學,2008:28-60.]
[3]Wolfgang Boehmer.Toward a target function of an information security management system [C]//Bradford:Proceedings of the 10th IEEE International Conference on CIT,2010:809-816.
[4]TANG Wen.The information security research of industrial automation control system [J].Network and Computer Security,2012,12 (4):2-7 (in Chinese).[唐文.工業自動化控制系統信息安全研究 [J].計算機安全,2012,12 (4):2-7.]
[5]WANG Yumin,DING Lu.Industry control system (ICS)overview and comparison with the IT system [J].China Instrumen-tation,2012,32 (2):37-43 (in Chinese).[王玉敏,丁露.工業控制系統 (ICS)概述和與IT系統的比較 [J].中國儀器儀表,2012,32 (2):37-43.]
[6]HU Yangyang,ZHANG Hongguang,ZHANG Yong.The design of role-based and PMI-based database access control strategy [C]//Guangzhou:Proceedings of IEEE International Conference on ICIS,2011.
[7]CHEN Junhua,CAI Wen,ZHANG Lingling,et al.Analysis for information security in industrial control systems triggered by stuxnet[C]//Proceedings of IEEE,2011.
[8]IEC62443,Guide to industrial control systems security[S].
[9]FANG Xu.Research on human-computer interface design for virtual assembly system [D].Wuhan:Huazhong University of Science and Technology,2009:17-20 (in Chinese).[方旭.面向虛擬裝配的人機界面設計技術研究 [D].武漢:華中科技大學,2009:17-20.]
[10]WANG Yumin.The general attacks and how to protect the ICS [J].China Instrumentation,2012,32 (3):60-65 (in Chinese).[王玉敏.工業控制系統的常見攻擊 [J].中國儀器儀表,2012,32 (3):60-65.]
[11]ZHANG Xinyou,ZENG Huashen,JIA Lei.Research of intrusion detection system dataset-KDD CUP99[J].Computer Engineering and Design,2010,31 (22):4809-4812 (in Chinese).[張新有,曾華燊,賈磊.入侵檢測數據集 KDD CUP99研究 [J].計算機工程與設計,2010,31 (22):4809-4812.]