石祥建,劉瞳昌,程國棟,房康,陳川,文強
(1.南京南瑞繼保工程技術有限公司,江蘇南京 211002;2.華能瀾滄江水電股份有限公司,云南昆明 650214;3.西安熱工研究院有限公司,陜西西安 710054)
為了給水力發電提供調度輔助工具,設計并使用了水電廠網絡,利用該網絡能夠實現不同水電廠實時運行數據的共享,從而保證水力發電工作的有序進行。然而水電廠網絡在為其生產帶來推動作用的同時,也為水電廠的安全運行引入了一定的安全隱患。水電廠網絡環境中數據信息的產生、存儲、處理、傳輸等全過程均具有開放性特征,因此會受到安全的威脅,如竊取、竄改、破壞等[1]。非法用戶可以通過水電廠網絡偷取或竄改水電廠的運行數據,即對水電廠網絡實施入侵與攻擊操作,輕則導致國際電力數據泄露,嚴重時可能會導致水電廠運行故障,從而帶來較大的安全事故。為了實現對水電廠網絡入侵情況的有效防御,針對水電廠網絡的入侵問題,設計相應的檢測系統。
網絡入侵檢測系統IDS的工作內容是對網絡運行數據進行實時監測,并對其進行動態防護,極大地增強了網絡的安全性。IDS 具有事前預警、事中防御、事后取證等特性,是一種針對日益復雜的應用安全和混合攻擊而設計的一種旁路部署產品,其目的是順應當前攻防技術的發展趨勢,精確監控網絡中的各種數據流,及時發現各種安全隱患,幫助用戶及時抵御來自企業網絡外部的安全威脅。這些產品能夠提供動態、深度和主動的安全探測。
從現階段的研究情況來看,關于網絡入侵檢測的研究成果較多,但發展成熟的系統較少,且由于水電廠涉及的電磁環境較為復雜,容易干擾網絡入侵檢測系統的正常運行,進而導致現有網路入侵檢測方法應用到水電廠網絡環境中存在檢測精度低的問題。從當前發展較為成熟的研究成果來看,其吞吐率和并發性能也存在缺陷,針對上述問題,本文在傳統網絡入侵檢測系統的基礎上,結合水電廠網絡特征,利用威努特網絡威脅感知技術,實現檢測系統的優化設計。
威努特網路威脅感知技術是一種先進的持續威脅防御裝置,它能即時地對網路的流量進行分析,并將威脅情報資料與網路行為分析技術相結合,對一切可能的網路活動進行深層感知。該技術下網絡感知與文檔感知是同步的,在沙盒中執行不同的文件,對文檔的行為進行分析,并對未知的威脅進行識別,從而為企業的安全管理提供了一種先進的、可持續的安全防范機制。本研究將威努特網絡威脅感知技術應用到水電廠網絡入侵檢測系統的優化設計工作中,以期提高系統的入侵檢測功能以及運行性能。
為了保證水電廠網絡入侵檢測系統的優化效果,本文分別從硬件、數據庫和軟件三個部分進行具體優化。其中硬件系統采用了機架式結構,在此基礎上,為了優化硬件設備運行性能,同時為威努特網絡威脅感知技術提供運行環境,對部分硬件元件進行改裝優化。
在傳統水電廠網絡流量采集器的基礎上,加設一個流量數據過濾模塊和尋址模塊,數據過濾模塊可以實現無效網絡流量數據的自動過濾,而尋址模塊可以標注各個網絡流量數據的產生端口。在數據過濾模塊設計時,采用了流水線的思路,使系統按照流水線的方式進行排列。每個規則都會對數據包中的具體領域進行檢驗。在經過該模塊后,可以提取出能夠用于構建數據流的數據,并將其存儲在一個“先進后出”的緩存中[2]。最后,當符合特定的規則時,FIFO 中的資料將被傳送至下一單元,否則將會被拋棄。另外尋址模塊的設計結構如圖1所示。

圖1 網絡流量采集器內尋址模塊結構圖Fig.1 Structure of addressing module in network traffic collector
從圖1 中可以看出,尋址模塊能夠使用最低的9 比特來表示一個流的地址,實現網絡流量數據初始地址的標記。
在水電廠網絡的入侵檢測過程中,需要對網絡流量、日志以及協議等數據進行分析、處理,并將一些需要進一步分析的數據用串口通訊傳輸至無線模塊,再發送至其他端口。同時,對收到的控制指令進行處理,然后用來驅動溫度變送器,這些數據處理和指令的傳輸調度都要在處理器的協同下進行[3]。優化設計系統選用的核心處理器部件型號為LF2407A,集成了高性能的DSP 芯片和大量的外設,取代了傳統的處理器,保證所有指令均可以在25 ns 的單周期內完成。LF2407A 還提供了一個擴充的存儲界面,用于擴充程序、數據、I/O 地址,每一個空間的容量都是64 K,因此,它的外存空間可以擴展到360 K。ROM的啟動可以采用SCI/SPI。
威努特網絡威脅感知器設計與安裝的目的是為網絡威脅感知技術的運行提供運行環境,感知器由CC2530F64 芯片、CC2591 功率放大器、功率模塊等構成[4]。因為CC2591 內置RF匹配網絡,因此不需要在射頻輸入/輸出端添加附加的匹配網絡,威努特網絡威脅感應器的硬件設計中的主要部件連接結構如圖2所示。

圖2 威努特網絡威脅感知器結構圖Fig.2 Structure of winute network threat perception
從圖2中可以看出,當CC2591進入低功率模式時,EN 管腳和PA_EN管腳被設置為低電平,能夠減少功率消耗。
系統數據庫設計的目的是存儲水電廠網絡入侵檢測結果,并設置網絡入侵檢測的規則,為入侵檢測系統的軟件功能提供數據支持。優化設計數據庫的組成部分包括攻擊規則庫、應用識別規則庫、URL 過濾庫、病毒庫四種,且各個數據庫表均單獨分開[5]。以攻擊規則數據庫表為例,其存儲結構如表1所示。

表1 攻擊規則數據庫表Tab.1 Database table of attack rule
同理可以得出數據庫中其他數據庫表的構建結果,并根據數據之間的關系形成表與表之間的連接,方便數據的更新與交互。
以硬件和數據庫為基礎,對水電廠網絡的入侵檢測系統進行了優化,該系統具有深度入侵檢測、高級威脅防護、精細流量控制等功能,并具有深度入侵檢測能力。有效地保護系統和網絡體系結構,避免操作系統、應用軟件的故障[6]。而高級別的安全威脅防御,則是指通過對敏感信息的泄露、文件的識別、服務器的非法外聯等方式,來保護內部網絡的安全。同時,IDS應該根據TCP/IP協議對網絡協議異常攻擊進行檢測。
常見的水電廠網絡入侵類型包括端口掃描、安全漏洞攻擊、口令入侵、木馬程序、DOS 攻擊等,通過對被掃描的電腦進行端口掃描,可以發現被掃描的電腦打開的服務和端口,從而找到它的軟肋,即硬件的實現和安全策略的不足,這個漏洞會讓攻擊者無法進入或破壞系統,而密碼入侵則是非法獲得特定使用者的密碼后,進入到一個特定的主機中進行攻擊,當使用者不知道時,就會觸發大量信息,從而導致系統過載,導致系統癱瘓,無法正常使用[7]。根據上述不同網絡入侵攻擊類型的作用原理,設置對應攻擊入侵類型下網絡環境中流量、傳輸協議等模塊的運行特征,并以此作為判定待測水電廠網絡是否存在入侵性能的標準。
利用硬件系統中的流量采集器設備,按照圖3 表示流程實現實時水電廠網絡流量數據的捕獲。

圖3 水電廠網絡流量數據采集流程圖Fig.3 Flow of network flow data acquisition of hydropower plant
以初始采集的數據為基礎,針對流量數據中存在的缺失數據、重復數據進行處理,并通過數據融合輸出最終的數據捕獲結果[8]。缺失流量數據的補充結果可以表示為:

式中:xi-1和xi+1分別為缺失數據的前后數據。
在重復數據的處理過程中,首先判定當前流量數據采集結果中是否存在重復冗余數據,判定過程可以表示為:

將初始采集的數據逐一代入到公式(2)中,計算xi和xj之間的相似度,若公式(2)的計算結果為1.0,則任務xi和xj屬于同一數據,需要對xi或xj進行剔除處理。最終從數據、特征、決策等多個層面,實現捕獲數據的融合。
設置水電廠網絡流量密度、流量偏離程度等參數作為網絡流量數據的特征值,利用采集的流量數據,可以預先求出抽樣平均,并根據大數定律得出,該方法的平均隨概率而趨近于整體平均。最后,期望得到的平均概率分布與抽樣平均相符合。以最大熵原理為理論支持,將網絡流量特征提取可以等價為如下有約束的優化問題:

式中:b為常數系數;ρ(x)表示的是待提取的網絡流量特征值。
最終提取的網絡流量密度特征及其增益可以表示為:

式中:nchannel為水電廠網絡的信道數量;ρ(xt)和ρ(xt-1)對應的是t時刻和t-1時刻的網絡流量密度;Gain為網絡流量增益。
而網絡流量偏移值的提取則是將突變定義為滑動窗口內局部方差和全局方差的比值超過某個閾值,并將流量的超出量作為偏移值的提取結果。設置的閾值指標可以表示為:

最終將網絡流量密度、流量偏離程度等特征向量的提取結果進行整合,完成水電廠網絡流量數據特征的提取任務。
利用威努特網絡威脅感知技術,從服務級、主機級和系統級3 個方面計算當前網絡的威脅指數,從而確定當前網絡是否存在入侵事件。定義一個網絡服務級別的安全狀態值,它是指當一個服務受到多個攻擊時所反映的安全狀態。在給定的分析時間,受到威脅的攻擊狀態下的網絡服務態勢值可以表示為:

式中:ntype為分析時段內攻擊的種類數量;Cji和Dji分別為任意時刻網絡服務發生攻擊的次數和嚴重程度;參數Dji根據用戶手冊中的攻擊類型和優先級來確定。
主機安全狀況值是指多個不同等級的服務在特定時刻受到攻擊時的安全狀態[9];而系統級的安全態勢值是指在網絡系統受到外力襲擊時所表現出來的安全態勢狀況。t時刻網絡主機級和系統級的理論態勢值可以表示為:

式中:變量m為網絡主機開通的服務數量;vj為服務權重,其取值根據該主機提供服務的重要性決定;ωj表示主機在系統網絡中所占重要性的權重比。
最終得出水電廠網絡的綜合威脅態勢感知結果如下:

式中:符號“⊕”為態勢值融合符號,將公式(6)和公式(7)的計算結果代入到公式(8)中,便可得出水電廠網絡威脅態勢的感知結果,綜合威脅態勢值越大,證明水電廠網絡的威脅程度越高,進而識別當前網絡中存在的入侵事件。
除了網絡威脅態勢外,還需要檢測當前水電廠網絡協議是否正常,該系統可以對網絡報文中的協議特性進行動態分析,并將其提交到相應的協議解析引擎進行處理,不需要管理員的干預,就可以快速、準確地檢測到動態端口、智能隧道等惡意攻擊,并能準確地檢測到連接到任何端口的木馬、后門,以及使用Smart Tunnel 技術的軟件,可以準確地捕捉和分析當前主流的應用協議,并確定其是否處于異常運行狀態[10]。綜合考慮網絡威脅態勢和協議,可以直接得出最終的網絡入侵檢測結果,輸出結果包括:存在網絡入侵和不存在網絡入侵兩種。在此基礎上,利用公式(9)確定當前網絡入侵的類型。

式中:ψset(t)和ψextract(t)為設置和提取的網絡流量數據,并將δ最大值對應特征的網絡入侵類型作為當前網絡入侵類型的檢測結果。
最終將包含網絡態勢與入侵類型的監測結果,以可視化的形式輸出,實現系統的入侵檢測功能,在必要時可以采取防火墻或加密手段,在一定程度上實現網絡入侵的防御。
為了測試本文優化設計的基于威努特網絡威脅感知的水電廠網絡入侵檢測系統的兼容性和可行性,針對系統的網絡入侵檢測功能和運行性能兩個方面進行測試,并通過與傳統網絡入侵檢測系統(文獻[6]中的系統)的對比,體現出設計系統的功能與性能優勢。
此次實驗選擇某水電廠作為研究背景,并在此基礎上搭建水電廠網絡。水電廠網絡研究對象采用網狀拓撲結構,與環形、樹形拓撲結構相比,網狀拓撲結果的可靠性更高。水電廠網絡由集線器、中繼器、橋接器、路由器以及網關等硬件設備組成,根據路由器的虛擬分支網絡技術,可以將研究的水電廠網絡劃分為10 個網段,對應的IP 地址分別為192.167.1.0/26-192.167.1.10/26。每一網絡都仿真不同數量的網絡主機,并設置一個本地感知中心,進行網絡的分析、策略的實施、地址的統一分配,并在每個網絡上設置一個區域感知中心。目標主機的地址是“192.167.1.10”,它的主要功能是類似于網絡服務、FTP等。試驗中,對上述3 臺計算機進行了攻擊。常用的X-掃描-v3.3,adonai_v01,IWD_ICMP,pantherm,DDoSping,nthunter_v20,等等。本地流量是由Smartbit 軟件生成的,網絡流量設置為60 M左右,實驗研究水電廠網絡的帶寬僅為100M。
實驗中設置水電廠的網絡威脅與入侵方式包括特洛伊木馬、DDoS、Web攻擊和緩沖區溢出攻擊四種類型,并將上述網絡威脅與入侵方式編寫成計算機能夠直接讀取的程序代碼,并將其打包導入到實驗測試環境中。實驗選擇DARPA1896 作為試驗數據,首先是由于DARPA1896 的數據是tcpdump 的原始流量,其次,這些攻擊事件在DARPA1896 中所占的比重要低。從流量屬性的采集開始,一直到特征抽取,再到入侵檢測,整個系統的性能都得到了充分的支持。KDDCUP86 是一種基于DARPA1896 的入侵檢測,它不再含有原始的數據包,而采用了文字形式,并且由于DARPA1896 的攻擊數據很難被發現,所以故意加大了攻擊次數。在水電廠網絡威脅與入侵程序的影響下,生成實驗用例,部分用例設置情況如表2所示。

表2 水電廠網絡入侵用例Tab.2 Network intrusion case of hydropower plant
實驗中共設置水電廠網絡入侵用例共300 條,每次入侵任務執行過程中啟動的入侵用例數量以及執行次數均不相同。為了保證實驗結果的可信度,將設置的網絡入侵用例平均分為6 個組別,將設置結果作為判斷系統入侵檢測是否正確的對比標準。
設計的系統測試實驗分別從系統的網絡入侵檢測功能和運行性能兩個方面進行測試,同時啟動水電廠網絡和入侵網絡,在網絡正常運行20 min 后,啟動第一次網絡入侵程序,利用威努特網絡威脅感知技術得出網絡狀態感知結果,如圖4所示。

圖4 威努特網絡威脅感知結果Fig.4 Result of winute network threat perception
在此基礎上得出對應攻擊方式下水電廠網絡的入侵檢測結果,如圖5所示。

圖5 水電廠網絡入侵檢測結果Fig.5 Network intrusion detection result of hydropower plant
每隔20 min 停止當前網絡入侵程序,啟動下一次入侵攻擊,得出不同入侵類型下的網絡運行數據以及最終的檢測結果。為了體現出優化設計系統的優勢,實驗還設置了傳統的基于機器學習的網絡入侵檢測系統作為實驗的對比系統,將其以相同的方式配置到實驗環境中予以運行測試,最終得出相應的測試結果。
設置入侵次數檢測誤差和入侵類型檢測錯誤率作為系統功能的測試指標,其中入侵次數檢測誤差的數值結果為:

式中:nset和ntesting分別為設置的入侵次數和系統檢測得出的入侵次數;n為實驗組別次數。
而入侵類型檢測錯誤率的數值結果如下:

式中:Ncorrect和Nall分別為系統正確檢測的網絡入侵類型數量和設置的網絡用例總數量。
測試得出的ε和σcorrect的值越大,說明系統的網絡入侵檢測功能越差。另外,系統運行性能的測試指標為系統并發連接數和吞吐率,其中并發連接數可以通過采集防火墻實時數據直接得出,而吞吐率是指系統在單位時間內提供的產量,其數值結果為:

式中:num和τ分別為系統并發連接數和平均響應時間,計算得出的系統并發連接數和吞吐率越高,證明對應系統的運行性能越強。
4.5.1 系統網絡入侵檢測功能測試結果
通過相關數據的提取與統計,得出系統入侵檢測功能的測試結果,如表3所示。
將表3 中的數據代入到公式(10)和公式(11)中,可以得出兩個系統的平均入侵次數檢測誤差分別為3.8 和1.0,兩個系統入侵類型檢測錯誤率的測試平均值對應的是3.3%和1.0%。由此可見,優化設計系統的次數檢測誤差和類型檢測錯誤率均低于對比系統,即設計系統的入侵檢測性能更佳。

表3 系統入侵檢測功能測試結果Tab.3 System intrusion detection function test result
4.5.2 系統運行性能測試結果
提取系統后臺運行數據代入到公式(12)中,得出反映系統運行性能的測試結果,如圖6所示。

圖6 系統運行性能測試結果Fig.6 Performance test result of unified operation
從圖6 中可以直觀地看出,設計系統的最大并發連接數能夠保持在120 萬以上,整機吞吐率始終高于6 Gbps。與傳統系統相比,設計系統的最大并發連接數和吞吐率取值更高,由此證明設計系統的運行性能更優。
水電廠網絡是水電廠調度與控制信號傳輸的關鍵,對于維持水電廠正常工作秩序具有重要意義。從系統測試結果中可以看出,通過威努特網絡威脅感知技術的應用,水電廠網絡入侵檢測系統的檢測功能和運行性能均得到有效提升。然而設計系統未對網絡入侵檢測的時效性進行優化與測試,因此可能出現網絡入侵處理不及時的情況,針對這一問題還需要在今后的研究工作中進一步優化。