蘇 暢,熊申鐸,羅安琴,張 帥,龔鋼軍,劉 韌,劉文彬,吳秋新
(1.華北電力大學 北京市能源電力信息安全工程研究中心,北京 102206;2.北京信息科技大學,北京 100192;3.北京卓識網安技術股份有限公司,北京 102206)
工業控制系統(Industrial Control System,ICS)一般由SCADA、DCS、PLC、RTU等組成,廣泛應用于電力、石油化工、軌道交通等涉及國計民生的重要領域[1]。隨著信息化與工業化的深入融合,以及“互聯網+”與“智慧能源”、“智慧城市”、“智能制造2025”等的快速推進,最初完全封閉的ICS越來越不能滿足管理控制一體化的生產需求,ICS原有相對封閉的使用環境逐漸被打破,開放性和互聯性越來越強,信息安全問題已經從傳統的互聯網范圍延伸到了工業控制領域[2-3],物理隔離不再絕對安全,近幾年連續出現了專門針對ICS攻擊的“震網”、“duqu”和“火焰”等病毒,給伊朗等一些國家的關鍵基礎設施造成了巨大破壞,也為各國工控領域信息安全敲響了警鐘[4]。目前,我國已經形成了以電力系統為代表的世界上系統規模最大、結構層次最多、復雜程度最高的ICS[5-6]。我國的能源電力行業安全防護水平差異很大,其中,電網企業的信息安全防護水平高于發電企業。發電企業的ICS普遍存在工控協議安全性差、系統主動防御水平低、純物理隔離防護致使系統互聯互通性不足等問題。而且,由于發電企業歷來更重視工業生產的穩定性與連續性,致使生產控制系統的升級改造頻次少、系統設備老化嚴重、生產控制系統與信息安全防護設備匹配性差,形成了“安全問題多、極易出問題、但無人敢動”的局面,因此,亟需在現有安全防護體系、安全監測體系、安全響應體系的基礎上,構建電廠典型仿真驗證模型,開發基于“可信、可管、可控”環境下的仿真演練平臺。
電廠ICS具有很強的復雜性和專用性,傳統IT系統風險評估中采用的漏洞掃描、滲透測試等入侵方法會對ICS系統運行產生影響[7-8]。仿真方法以其安全性、經濟性和可重復性等優點成為ICS安全研究的一種重要手段。目前業內多以軟件仿真進行測試,但要想分析各種計算機病毒和惡意軟件對ICS信息物理系統所造成的真實的影響有著相當大的難度,而且軟件無法完全仿真與硬件相關的部分,不能完全代替硬件仿真,軟件仿真多針對網絡攻擊,無法及時發現隱蔽性和滯后性較強的其他類型攻擊,缺乏與真實網絡設備組件的交互,不能真實反映惡意攻擊對ICS中的信息物理系統進行破壞的情況。因此,本文依照計算機網絡、工控安全、虛擬化與半實物仿真等技術,提出了基于LabVIEW和MATLAB的ICS半實物仿真模型。
仿真中將實際控制對象引入到仿真控制系統的方法叫做半實物仿真,它具有開發周期短、可靠性強、置信度高及研發經費少等優點,而且實物部分放入仿真中以系統整體性指標進行檢驗,更具有真實性,也更符合工業現場生產業務的連續性和穩定性的保障需求。文獻[9]采取半實物建模的虛實結合的動態仿真方法,構造可以用來測試主機攻防技術的SCADA主機仿真靶場,通過軟件實現了機組啟停、模擬量信號、正常運行以及故障等功能,并利用真實攻擊以及防御實驗驗證了靶場用于測試的可行性,其系統模型的響應與ICS中的實際物理過程一致,而且系統子模塊能自由取舍、易于修改。相對于純軟件仿真,半實物仿真可以更加清晰、真實地再現ICS工作過程、發現存在的信息安全問題,以達到靈活、主動安全防御的實際效果。
本文參照IEC62264標準的層次結構模型[10],同時將SCADA系統、DCS系統和PLC系統的模型的共性進行抽象,將通用ICS按功能劃分為5個層次。具體如圖1所示。

圖1 ICS層次架構
圖1中,ICS具體分為企業資源層、生產管理層、過程監控層、現場控制層和現場設備層。企業資源層和生產管理層主要與工業運行管理有關,稱之為管理區;過程監控層、現場控制層和現場設備層主要與現場控制相關,稱為控制區。本文針對ICS參考模型控制區所對應的三層架構開展半實物仿真測試,在模型中利用MATLAB來模擬電廠現場實際物理過程,用LabVIEW軟件構造監控系統操作界面,通過OPC協議及共享變量引擎SVE實現LabVIEW與MATLAB之間的實時數據交換,同時通過控制PLC來對現場數據進行采集,構建了ICS半實物仿真模型,實現發電廠ICS關鍵設備運行狀態模擬、數據采集、遠程與現場控制等功能,可有效驗證ICS工業控制過程及其存在的安全漏洞。
在圖1控制區中,上層是過程監控層,有數據采集與監視控制系統SCADA和人機交互界面HMI,利用圖形化界面實現系統和用戶之間信息的動態交互,操作員可以看到仿真機運行的實時信息并進行及時操作。中間層為過程控制層,使用德國西門子公司S7系列PLC,負責現場信號接入接出,與工控機、HMI等通信,并完成信號采集、處理標準的控制算法。底層是現場設備層,現場設備是基于MATLAB/SIMULINK的現場全物理過程仿真模型,通過OPC協議及共享變量引擎SVE實現MATLAB與LabVIEW之間的通信。本文所設計的半實物仿真系統架構如圖2所示。

圖2 工控系統半實物仿真系統架構
本系統可以分成仿真和監控兩個部分:底層仿真部分,MATLAB對現場設備進行仿真與LabVIEW進行數據交互,并把信號通過PLC傳至上位機HMI等設備;上層監控部分,上位機可以通過指令對PLC進行操作,實現對控制對象運行的在線監控。
在LabVIEW中調用MATLAB/SIMULINK的方法有利用動態數據交換DDE技術、動態鏈接庫DLL技術、ActiveX技術[11]。本文用過程控制對象連接與嵌入協議(Object Linking and Embedding for Process Control,OPC)及其共享變量引擎SVE來解決兩者之間的通信問題。SVE為創建一個與SIMULINK模型連接的用戶界面提供了一種方法。使用SVE,可以在同一個程序框圖的不同循環之間或者網絡上的不同VI之間共享數據,當要添加共享變量到一個LabVIEW項目后,可以將其拖至VI程序框圖中進行讀寫操作,然后進行共享變量網絡發布,網絡發布的共享變量通過SVE在不同的VI之間通信,具體的SVE利用NI-PSP數據傳輸協議來允許用戶讀寫數據[12-13]。圖3具體描述了MATLAB與LabVIEW之間的信息交互。共享變量部署到SVE上,網絡上的任何節點都可以讀寫SVE發布的共享變量。當寫入到一個共享變量節點,LabVIEW將這個新值發送給部署和托管這個變量的SVE,SVE處理環路發布這個值,從而MATLAB可以得到更新后的變量值。

圖4 三相同步電機MATLAB程序框圖
本文以發電廠典型的三相同步電機的仿真為例設計了一個由三相同步發電機、三相電壓電流測量裝置、三相RLC負載以及三個斷路器組成的Simulink仿真模型,如圖4所示。斷路器的作用是電流、電壓速斷保護,當流過的電流大于整定值時斷路器跳。斷路器與三相并聯負載相連,可以進行邏輯判斷,產生控制脈沖,能夠在規定的時間內承載和開斷異?;芈窏l件下的電流,對過載、短路、欠壓有著速斷保護的作用。啟動仿真之后,可以在LabVIEW中看到仿真實時數據,如轉速、電流、電壓、功率等。

圖3 共享變量在MATLAB與LabVIEW之間的交互流程圖
由于ICS存在漏洞且缺乏防護措施,當外來攻擊源攻破工業網絡時,對SCADA主站系統或PLC設備完全接管,從而下發錯誤指令或偽造上傳的數據;對系統感染病毒和植入木馬程序,使其工作異常;隱秘竊取其核心數據,而不被發現[15]。2010年爆發的“震網”病毒就是典型的通過病毒感染PLC設備,實現異常控制現場物理運行裝置,并同時偽造現場上傳數據為正常狀態,從而欺騙上位機SCADA系統。因此,為了更好地模擬測試電廠ICS系統的信息安全問題,可根據以上方法搭建一個虛實結合的ICS信息安全半實物仿真模型驗證平臺,從而可以具體再現工控網絡攻防情景,如圖5所示。
圖5示例結合半實物仿真平臺,復現發電廠工控網絡典型拓撲結構,突出發電廠PLC的核心控制功能。驗證測試系統中部署了兩套不同的PLC,一套為低版本未加固PLC-a,存在一些公開漏洞和后門賬戶,開啟Telnet服務,通過交換機直接與上位機SCADA操作員站相連,另一套為高版本升級加固后PLC-b,已禁止Telnet、FTP、HTTP等服務,通過防火墻、交換機與上位機SCADA操作員站相連。攻擊分為以下兩個層次:
(1)通過對SCADA軟件植入木馬來實現對SCADA軟件的接管,同時利用PLC-a的漏洞,向其下發停止信號使其通信模塊暫停(如:構建Modbus的playload代碼:04 8b 00 00 00 06 ff 08 00 04 00 00,利用UDP的17185端口讓PLC-a重啟),如圖6(a)所示。
(2)采用DDoS攻擊,不斷地向PLC-a發送垃圾指令,造成PLC-a設備拒絕服務,上位機與PLC-a設備通信中斷,但攻擊結束后,通信自動恢復正常,如圖6(b)所示。
同理對PLC-b進行上述攻擊,未發現監控系統的異常情況,如圖6(c)所示,測試中發現,由于系統設備自身版本、設備配置和策略配置的差異性,PLC-a的防攻擊能力要低于經加固升級后的PLC-b,因此具體對二者的攻擊行為和攻擊難度均有較大差異。通過攻擊測試和仿真系統的現象展示,切實反映出工業控制系統的漏洞與風險是能防范的、可控制的。

圖6 同攻擊下三相同步電機電流運行圖
本文研究了ICS半實物仿真平臺的架構,驗證了通過OPC技術、共享變量等技術建立MATLAB與LabVIEW之間通信的可行性,在實驗室條件下,采用MATLAB模擬三相同步電機發電系統,并在LabVIEW中對其運行情況進行有效的監控,直觀顯示在三相同步負載下實時的電流、電壓、功率以及轉速的情況,驗證了仿真模型的聯通性。最后,本文將半實物仿真模型與現有工控安全漏洞相結合,針對平臺模型難以重現的工控安全問題采用虛擬化手段,建立半實物仿真模型,切實模擬發電廠實際問題,再現了真實現場異常情況,這也對ICS信息安全防護提供了一種新的思路。