1 引言
電力行業很早就采用計算機實現生產過程自動化。現代電力企業網絡基礎設施日益完善,已建成生產、管理、營銷等不同類型的信息系統,企業信息化[1]水平達到新的高度,有效保證了電力系統安全、優質和經濟運行。各類電力信息系統由于信息共享和協作已經實現互連,網絡通信協議也逐步采用開放通用的TCP/IP協議,這使得非法者可以采用各種攻擊技術在信息空間(Cyber Space)對電力信息系統進行攻擊,破壞電力系統信息安全(Cyber Security in PowerSystem),影響電力系統可靠運行,甚至導致系統振蕩或大范圍停電。2010年震驚世界的針對伊朗核電站的震網病毒[8],以及最近的烏克蘭電網遭受黑客攻擊事件[2],針對電力控制系統的網絡攻擊事件呈不斷上升的趨勢。隨著德國工業4.0[3]、美國工業互聯網[4]、中國《中國制造2025》[5]等規劃不斷推進,電力控制系統將與互聯網信息系統不斷融合,電力控制系統將面臨越來越多的信息安全問題的挑戰。因此,越來越多的國內外學者進行電力控制系統的信息安全研究。震網病毒就是針對伊朗核電站所使用西門子PLC的漏洞 [6]進行的一種欺騙型攻擊,因此我們還需要在電力控制系統SCADA、PLC、DCS [7]之間的通信數據設置深度包過濾。我們要對電力控制系統信息安全進行研究,避免不了實驗,但是在實際的電力控制系統中進行實驗是不現實的,為此我們設計一種電力控制系統信息安全實驗平臺,實驗平臺能進行模糊測試以及各種信息安全攻擊實驗。
2 實驗平臺設計
電力控制系統信息安全實驗平臺主要有400V、220V電源,空氣開關,交直流接觸器,控制器(西門子及歐姆龍PLC),被控對象(電機、指示燈、智能Wi-Fi網關),防護模塊(工業網關)以及攻擊端(PC,U盤)等組成。PLC控制器以及被控對象通過工業網關與外部交換機及上位機隔離,通信數據經過工業網關過濾。拓撲結構如圖1所示。
圖1 實驗平臺拓撲結構
可編程邏輯控制器(PLC)具有耐用、穩定性強、高魯棒性等優點,非常適合工業控制系統環境。平臺中PLC的通信協議是基于Modbus/TCP的西門子私有協議S7,上位機通過該協議和PLC通信,控制電動機及指示燈等負荷的正常運行。該實驗平臺中,實驗對象主要包括電動機,指示燈,閥門等。
防護模塊是基于工業網關內置工業通訊協議的防護模式,通過配置工業網關協議過濾規則,對通信數據進行深度過濾。規則可以根據不同的通信協議,配置相關過濾規則。例如,該實驗是基于Modbus/TCP,可以選擇該協議進行規則配置。通常工業通訊協議基于常規TCP/IP協議在應用層的高級開發,本實驗平臺就是基于常規TCP/IP在應用層的高級開發的Modbus/TCP協議上的隔離防護平臺。當數據包經過防護模塊時,會對其進行深度包檢測,檢驗合格讓其通過,不合格直接丟棄。
攻擊端一般為PC機或者U盤等,先通過Wireshark抓包分析協議數據包,然后偽造變異數據,再和PLC建立連接,發送數據包使其執行錯誤的指令,從而攻擊成功。U盤攻擊原理大致一樣,U盤里會存在一個會自執行的程序,會改變PLC的輸出。或者通過拒絕服務攻擊來對PLC進行攻擊。部分程序如圖2所示。
圖2 偽造數據包攻擊程序
該程序就是通過偽造數據來對PLC進行攻擊的,最終使PLC該亮的點熄滅了。
3 防火墻模塊設計
防火墻模塊硬件主要是西門子的工業網關,能夠針對工業控制系統通信協議進行深度包檢測,可以對過濾規則進行配置。主要包括通信協議端口號檢測、協議標識符檢測、功能碼檢測、數據長度及PLC輸入輸出線圈地址檢測,通過這些過濾規則的配置,大大減少控制器被攻擊成功的可能性。
Modbus/TCP協議采用客戶端/服務器模式通信,正常通信時是使用服務器的502[9]端口通信,對于外來的數據包來說,目的端口應是502,若攻擊數據修改了目的端口,則可能會造成通信故障,使控制器無法正常工作。端口號模塊則會有效地保證通信時服務器端口選擇502,保證正常通信,避免故障發生。Modbus/TCP協議是應用層協議,其協議頭部有確定的協議標識符,協議表示模塊通過對應用層協議的解析,正確識別協議標識符,可以防止攻擊數據包偽裝成其他協議進行通信從而造成系統故障。不同的功能碼對應不同的操作,在實際工業環境中,合法的功能碼是被預先設定的,所以當攻擊數據包企圖通過修改功能碼來修改控制器的動作從而造成故障時,功能碼模塊就可以有效的防護,保證只有合法功能碼通過。對于不同的功能碼,數據包的長度是不一樣的,但是對于確定的某個功能碼,數據包的長度是唯一的,所以我們通過對協議應用層數據的深度包解析,對應的功能碼我們通過數據長度模塊做防護,就能防止攻擊數據通過修改數據包長度造成控制器故障的問題。防火墻數據過濾規則配置如圖3所示。
PLC中線圈地址是有范圍的,即有線圈地址的上限和下限,攻擊數據通過修改線圈地址范圍造成控制器錯誤操作,線圈地址模塊就是防護這種攻擊,保證正常的通信。首先防護模塊可以選擇開啟或者不開啟,即數據直接通過還是必須經過預先設定好的防護模塊,檢測過后再通過。其次,流程圖中的五個防護模塊只要其中任何一個防護模塊檢測數據異常,此數據就會被丟棄,只有通過所有防護模塊后,數據才能夠被控制器接收到,實現通信。
圖3 數據包深度過濾流程圖
4 信息安全實驗平臺性能測試
電力控制系統信息安全實驗平臺實物圖如圖4所示,筆者在該平臺上進行了偽造數據包攻擊實驗和模糊測試,及拒絕服務攻擊實驗。
圖4 實驗平臺部分實物圖
4.1 偽造數據包攻擊實驗
攻擊PLC控制器,先使用Wireshark抓包分析協議數據包,然后偽造變異數據,再和PLC建立連接,發送數據包使其執行錯誤的指令,使PLC控制器出現故障,有可能停止運轉或者不按正常方式運轉,對PLC及其被控對象造成不可預知的破壞。從而攻擊成功。U盤攻擊原理大致一樣,U盤里會存在一個會自執行的程序,會改變PLC的輸出。由信息安全防護措施可知,所有的數據包必須通過防火墻才能到達PLC控制端。若防護模塊沒有開啟,則默認通過所有數據包,當偽造的數據包到達PLC控制器,PLC會出現故障,負責監控PLC工作狀態的PLC監控端也會出現相應的提示;若防護模塊開啟,并通過配置端進行數據包過濾規則配置。配置完成后,該防護模塊就能進行數據包過濾,實現嚴格的防護功能,當含有攻擊的數據包到達防護模塊,防護模塊會對數據包進行深度檢測,就會被它直接丟棄,拒絕非法數據包的通過。只有滿足協議規則并且合理的數據包才能讓其通過。
4.2 fuzzing實驗
在該實驗平臺上還可以進行模糊測試,漏洞挖掘實驗,通過配置參數,測試機或漏洞挖掘設備向被測設備(控制器)發送測試數據包,并記錄導致控制器異常的數據包,然后對其進行分析,為什么會導致異常,是不是偶然的,最終才能確定是不是漏洞。模糊測試的部分程序如圖5所示。
圖5 fuzzing測試部分程序
4.3 拒絕服務攻擊(DoS)實驗
該實驗平臺可以做PLC拒絕服務攻擊實驗。 DoS[10]主要通過對PLC控制器發送大量不合法的請求連接數據包占用連接資源,造成PLC控制器故障甚至于斷開網絡,使監控端無法收到控制器返回的信號,也無法對控制器進行控制,造成無法預知的后果。由信息安全防護措施可知,所有的數據包必須通過防護模塊才能到達PLC控制端。若防護模塊沒有開啟,則默認通過所有數據包,當大量的請求連接數據包到達PLC控制器,PLC會出現故障并斷網,負責監控PLC工作狀態的PLC監控端無法獲取PLC控制器的運行狀態;若防護模塊開啟,并通過配置端進行數據包過濾規則配置。配置完成后,該防護模塊就能進行數據包過濾,實現嚴格的防護功能,當不合法[11]的數據包到達防護模塊,就會被它直接丟棄,拒絕不合法的請求數據包,大量不合理的請求連接數據包是不可能通過防火墻的,只有合法的請求包才能通過。
5 結語
本文設計并實現了一種電力控制系統信息安全實驗平臺,該平臺對開展電力控制系統信息安全研究有很大意義。該平臺能夠向人們展示電力安全問題嚴重性和重要性,真正感受到信息安全問題研究的迫切。并且,在該實驗平臺上,還可以進行攻擊實驗,模糊測試,漏洞挖掘等電力信息安全實驗。本實驗平臺還有很多可以改進的地方,比如系統太小,距離真正的電力系統有很大的差別,負荷種類不夠多,控制器種類也不夠多。未來我們將會建立一個10kV,十幾個節點的小型電力系統,盡量模擬真正的電力系統,為電力系統安全問題研究提供一個真正的實驗環境,而不總是仿真實驗。
★基金項目:國家自然科學基金(61772327),上海自然科學基金(15110500700),浙江大學工業控制技術國家重點實驗室開發課題(ICT1800380),上海電力學院智能電網產學研中心項目(A-0009-17-002-05),上海科委地方能力建設項目(16ZR1436300)。
作者簡介
王 勇 (1973-),男,河南確山人,教授,現就職于上海電力學院信息安全系,主要從事電力信息安全、工業控制系統信息安全研究。
高志遠(1992-),男,河南南陽人,碩士研究生,現就讀于上海電力學院計算機科學與技術學院,主要從事工業控制系統信息安全研究。
劉金永 (1991-),男,河南平頂山人,碩士研究生,現就讀于上海電力學院計算機科學與技術學院,主要從事工業控制系統入侵檢測研究。
王 相(1994-),男,江蘇無錫人,碩士研究生,現就讀于上海電力學院計算機科學與技術學院,主要從事電力系統通信協議攻擊檢測關鍵技術方面的研究。
李雙飛(1996-),男,回,河南周口人,本科,現就讀于上海電力學院計算機科學與技術學院,主要從事工業控制系統信息安全研究。
邵猷海(1994-),男,江西九江人,碩士研究生,現就讀于上海電力學院計算機科學與技術學院,主要從事工業控制系統信息安全研究。
翟 昊(1997-),男,上海人,本科,現就讀于上海電力學院計算機科學與技術學院。
劉 蔚(1988-),女,上海人,本科,現就職于上海云物信息技術有限公司,主要從事數據安全分析。
參考文獻:
[1] 劉烴, 孫鴻, 劉楊, 等. 智能電網安全實驗平臺: 設計、實現與仿真[J]. 武漢大學學報 ( 理學版 ), 2014, 60 (5) : 413 - 418.
[2] 芮新花. 電力系統繼電保護仿真實驗臺的研制[D]. 河海大學, 2007.
[3] 湯涌. 電力系統安全穩定綜合防御體系框架[J]. 電網技術, 2012, 36 (8) : 1 - 5.
[4] 戚宇林, 劉文穎, 楊以涵, 等. 電力信息的網絡化傳輸是電力系統安全的重要保證[J]. 電網技術, 2004, 28 (9) : 58 - 61.
[5] 山東工業大學, 鄒森. 電力系統安全分析與控制[M]. 水利電力出版社, 1995.
[6] 劉念, 謝馳, 滕福生. 電力系統安全穩定問題研究[J]. 四川電力技術, 2004, 27 (1) : 1 - 6.
[7] 焦紅日. 電力系統安全監控的理論及方法研究[J]. 工程技術: 全文版: 00142 - 00142.
[8] 唐桃波, 夏云非, 魯文, 等. 美國近年的停電事故及對我國電力系統安全穩定運行的啟示[J]. 電力建設, 2003, 24 (11) : 2 - 4.
[9] 許濤. 電力系統安全穩定的智能挖掘[D]. 華北電力大學, 2004.
[10] 張超. 電力系統安全穩定綜合防御體系框架[J]. 硅谷, 2014 (24) : 230 - 230.
[11] 賈長朱. 從美、加停電事故看我國電力系統安全[J]. 現代電力, 2004, 21 (3) : 70 - 73.
摘自《工業控制系統信息安全專刊(第五輯)》