吳克河 李夢雪 張曉良 李 為
(華北電力大學控制與計算機工程學院 北京 102206)
近年來,隨著國家電網提倡的全球能源互聯網的發展,工業控制系統間也開始形成大規模的互聯[1],因此變電站網絡的安全風險隨之增加。與傳統網絡相比,現在的信息化網絡存在大量漏洞,黑客也借此漏洞開始對變電站網絡展開攻擊,造成變電站網絡的癱瘓,耗費了大量的人力與財力。2010年發生的“震網”事件,黑客注入的病毒攻破了整個伊朗核電站;2015年,烏克蘭國家電網發生了大規模的停電[2],經調查是一種名為“BlackEnergy”的病毒侵入了電網,清除了電力系統大量的存儲數據,造成系統癱瘓;2016年在以色列同樣發生了一起網絡攻擊,造成了嚴重的經濟損失。以上事件向全世界電力系統敲響了警鐘,為確保變電站控制系統安全穩定的運行[3],本文提出了基于工控網絡協議的分析,發現潛在的安全威脅,為提高電力工控系統的安全穩定運行提供支持。
目前,隨著網絡信息化的發展,我們已跨入大數據時代,也正是因為海量數據的增加,網絡通訊數據中會存在惡意流量,對網絡設備、通訊設備產生安全威脅。為此,需要實時檢測海量通訊數據中存在的異常,深度包檢測(Deep Packet Inspection)技術是在傳統數據包檢測的基礎上對應用層協議進行深度解析,傳統數據包檢測只是分析了數據包中源地址、目的地址、源端口、目的端口、協議類型,深度包檢測技術不僅僅局限于傳輸層和網絡層數據包頭,而是深入到應用層數據包的有效載荷所封裝的內容中,并且通過與特征庫中的規則進行對比,數據包中哪些內容與特征庫中的不符,將丟棄非法的數據包,圖1為深度包檢測過程。DPI技術主要分為以下三種關鍵技術。
1)“特征字”識別技術
“特征字”識別技術通常來講是用于識別某種應用,不同的應用都依賴于不同的協議,每種協議都有不同的特征字,就相當于人類特有的“指紋”一樣,通過這些“指紋”,包括字符串、特定的端口、特定的編碼序列等來識別特有的應用協議[4]。“指紋”信息升級時,基于特征字的識別技術可實現對新協議的檢測,方便進行功能擴展。

圖1 深度包檢測過程
2)應用層網關識別技術
應用層網關識別技術是針對業務流和控制流分離的某些業務,因為這些業務中業務流沒有特征[4],因此采用應用層網關技術先識別控制流的協議,根據控制流的協議通過特定的應用層網關對其進行解析,從控制流協議的內容中識別相應的業務流。不同的協議都有特定的應用層網關對其進行分析。
3)行為模式識別技術
行為模式識別技術通過對終端已經實施的行為進行分析,對用戶正在實施的動作或即將實施的動作做一個預判[5],可以通過分析上下行流量的比例、發送/接收數據包的頻率、應用的連接數等識別應用類型。這種技術通常用于無法根據協議判斷的業務的識別。
變電站網絡在邏輯上分為三層兩網的網絡結構,三層包括站控層、間隔層、網絡層。站控層設備包括監控主機、數據服務器、操作員站、數據通信網關等終端;間隔層設備包括繼電保護裝置、測控裝置、網絡記錄分析儀等;過程層包括合并單元、智能終端等。兩網主要為站控層網絡、間隔層網絡、過程層網絡,全站通信采用高速工業以太網組成。站控層網絡主要實現站控層與網絡層之間的數據傳輸,采用MMS通信協議;過程層網絡實現間隔層與過程層之間的數據傳輸,包括GOOSE網和SV網;間隔層網絡實際上起到了承上啟下的作用,在物理上可以映射到站控層網絡,也可以映射到過程層網絡[6~10]。

圖2 三層兩網架構
隨著智能變電站在國內的逐步發展,與傳統變電站相比,變電站控制系統中存在較大的網絡安全隱患,因此,通過對變電站網絡中所使用的通信規約進行分析,包括IEC61850、IEC104、用電信息采集等規約[11],實現對變電站控制系統操作的分析,對于網絡中的設備操作進行分析,檢測變電站控制系統是否存在異常操作并及時作出阻斷,由此保障變電站控制系統的安全穩定運行[12~13]。
在對實時數據進行分析前,需要獲取變電站網絡中的數據來源,將數據采集裝置分布式部署在變電站站控層網絡中,每臺設備配有采集口、管理口、大容量存儲介質,并與交換機端口進行連接,交換機端口為千兆網口,鏡像網絡數據,采用libpacp()函數包捕獲數據包[14],包括通過站控層網絡的所有通信數據流量,如IEC61850,用電采集協議等以及調度數據網中的IEC104規約(過程層SV和GOOSE采用直采直跳,暫不需要采集),分析所采集的網絡數據包,按照相應協議標準對網絡數據包進行解析,采集裝置部署如圖3所示。

圖3 采集裝置部署
工控協議深度解析主要用DPI(深度包檢測)技術分析采集到的網絡數據包(此網絡數據包是由變電站主站發送到從站的數據),根據端口號和特征字段識別出工業控制系統各類私有協議,如變電站網絡通信協議中通常使用的的協議包括IEC61850、IEC104規約、用電采集信息、MODBUS等,通信協議分析流程如圖4所示。

圖4 通信協議分析流程圖
本文主要以解析站控層網絡MMS(制造報文規范)通信協議為例,MMS是解決設備之間實現實時數據交換與監控信息的國際報文規范,站控層和間隔層的通信采用抽象通信服務接口ASCI映射到MMS[15]。
1)首先確定MMS協議的格式,如圖5所示,其中ASN.1是表示層的抽象語法描述,MMS與ASN.1采用了基本編碼規則BER的編碼格式:標識域(Tag)+長度域(Length)+值域(Value)。MMS定義了一組專用的tag值[16],通過MMS PDU的ASN.1定義和對應的數據結構的分析取出一對標簽和值,調用相應的編碼函數進行具體的編碼。從接收的8位位組中依次取出MMS PDU的標簽,產生一個空結構用來存放解碼產生的值。然后根據整個MMS PDU的長度依次取出標簽和長度,進行具體的解碼,獲得的信息填入結構中
2)按照相應MMS協議標準對獲取的數據進行逐層解析,提取出關鍵的數據字段,匹配的主要字段為MAC(源地址-目的地址)、VLAN地段、APPID字段、APDU等。

圖5 MMS通信協議格式

表1 MMS定義的相關類標記(Tag)值
(1)數據鏈路層通過網口抓取的MMS報文,獲取接收方和發送方的MAC地址。
(2)網絡層對部分數據內容進行解析,獲取IC?MP協議、IP協議、ARP協議類型。
(3)傳輸層根據端口號2404識別MMS傳輸層協議TCP。
(4)會話層根據MMS協議建立面向會話的鏈接。
(5)表示層是MMS協議中ASN.1的抽象語言描述,根據相應的編碼規則進行具體的編解碼。

圖6 AC算法工作流程
(6)應用層是根據IP五元組、端口號識別MMS協議,解析MMS協議頭部,根據基本編碼規則,判斷功能標識符、數據長度及域值是否符合。根據協議中主要字段,用多模式字符串匹配(Aho-Cora?sick)算法對數據內容進行匹配[17]。
AC算法解析流程需要一個預處理過程,將待處理的匹配串輸入到構造的字典樹中,根據suc?cess函數構造success表,檢查并創建失效函數,如果當前字符串匹配失敗,將跳轉前綴為前一個字符串匹配成功的節點繼續匹配,直到輸出函數不為空,輸出匹配成功的字符串[18]。
通過解析獲取的數據,基于工控協議的分析,實時上傳當前監測的網絡數據流量,對變電站網絡中的設備信息、網絡通信等進行收集、形成電力工業控制系統特征指紋,并根據特征指紋建立策略規則。如網絡通信流量閾值、黑/白名單、異常報文檢測等策略。
1)基于流量閾值的異常檢測
變電站工業控制系統中每臺設備通信是會產生一定的通信流量,假設每臺設備是一個節點,IP地址是每個節點的標識,記錄兩兩節點之間的實時連接情況、實時流量、實時連接數、根據正常通信流量建立基線,實時監控節點通訊的最大帶寬、最大實時連接數量、最大通訊間隔、最大外發流量和接收流量、發包頻率和接收包頻率是否超過設定的基線值,當超過基線值時,說明該設備正在進行異常操作,產生實時告警。
2)基于黑/白名單的異常檢測
通過對變電站網絡通信協議進行解析,分析應用層協議的關鍵操作信息,設置黑/白名單機制。每個應用層協議都有不同的功能碼,每個功能碼都象征不同的操作指令,黑名單指通信過程中存在的非法指令操作,如設置參數(0×04)、控制命令(0×05)、身份認證(0×06)、請求終端配置(0×09)、數據轉發(0×10)、請求任務數據(0×0B)等重要操作指令,在通信過程中,將獲取的數據包與黑名單的規則進行比對,若符合黑名單中的非法指令操作,說明該通信協議發出的操作指令為異常操作,將該數據包過濾掉。與之相對的則是白名單的設置,白名單是指可以通過的數據包所具有的特征,包括MAC地址、源/目的IP地址、源/目的端口、單元標識符以及功能碼等,將獲取的數據包與白名單的規則進行比對,若符合白名單的特征規則,則認為該數據包可以通過。
3)異常報文檢測
由于變電站工業控制系統中的攻擊日益復雜并且對系統的危害越來越大,如果完全通過流量特征或黑/白名單的設置來監測工業控制系統中存在的威脅不僅一直處于被動狀態,還無法有效避免工業系統遭受攻擊而帶來的嚴重危害,因此需要對通信過程中異常報文的檢測來提升系統的安全。
IEC61850協議畸形報文攻擊,對協議報文不符合規約規定的格式進行檢測并告警。
TCP/IP協議層風暴攻擊,基于IP地址的閾值檢測Syn Flood、Ping Flood、UDP Flood攻擊。
IEC61850協議層風暴攻擊,基于IP地址某工控協議的接收報文速率閾值檢測。
IP無流量事件檢測,在設定的時間內,單IP某服務的接收報文為零。
針對IEC61850協議的攻擊,監測IEC61850協議異常檢測規則。
變電站工業控制系統的網絡安全存在多種威脅,本文主要通過對變電站網絡通信協議進行分析,及時發現通信過程中存在的異常操作并實時告警,保證變電站工業控制系統的安全穩定運行。
本次測試主要將實驗室的服務器和交換機作為通信裝置與采集裝置。服務器軟硬件配置如表所示。1臺服務器作為采集裝置,負責采集數據,1臺服務器作為監控平臺,將分析數據展現給管理員,平臺內裝有數據庫,用于存儲數據,2臺服務器通過交換機連接,測試環境部署如圖所示。

表2 服務器軟硬件配置

圖7 測試環境部署
本文測試過程中下載IEC61850模擬數據包,通過tcpreplay重放發送該數據包,采集裝置抓取數據包,解析當前抓取數據包的協議內容,并與當前設置的策略規則進行匹配,如設置流量閾值為10,獲取實時流量已超過10,違反策略規則,產生異常告警,將結果上傳到監控平臺,展示給管理員,以便管理員更好地觀察變電站工業控制系統的是否安全運行,測試結果如圖所示。

圖8 發送IEC61850數據包

圖9 識別IEC61850 MMS協議類型

圖10 IEC61850 MMS流量

圖11 異常告警
本文主要介紹了變電站工業控制系統存在的網絡安全威脅,通過分析該類威脅,提出一種基于DPI技術的變電站網絡異常檢測研究。首先介紹了DPI技術的廣泛應用,同時將DPI技術應用到識別變電站網絡的工控協議上,其次根據主要的網絡安全威脅設置了策略規則,將深度解析的協議內容與策略進行比對,從而發現其存在的異常操作。最后,通過實驗驗證了該方法的有效性,一方面及時發現潛在的網絡攻擊或威脅并發出告警,在攻擊發生前提前采取應對措施,防止對關鍵電力基礎設施造成破壞。另一方面,在攻擊發生后,能夠還原攻擊路徑,追蹤攻擊源,發現脆弱點,有效地保證了工控系統的安全穩定運行。