文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.021
中文引用格式: 李俊,,郭嫻,,孫軍. 基于擴展Kalman濾波的工業(yè)控制系統(tǒng)DDoS攻擊檢測[J].電子技術應用,2016,,42(4):73-77.
英文引用格式: Li Jun,,Guo Xian,Sun Jun. The detection of DDoS attack for industrial control systems based on extended Kalman filtering[J].Application of Electronic Technique,,2016,,42(4):73-77.
0 引言
工業(yè)控制系統(tǒng)(Industrial Control System,,ICS)廣泛應用在工業(yè),、能源,、交通、水利以及市政等重點領域,,用于控制生產設備的運行,。典型的工業(yè)控制系統(tǒng)包括可編程邏輯控制器(Programmable Logic Controller,PLC),、分布式控制系統(tǒng)(Distribute Control System,,DCS)及數(shù)據(jù)采集與監(jiān)控系統(tǒng)(Supervisory Control And Data Acquisition,SCADA)等,。工業(yè)控制系統(tǒng)是國家關鍵基礎設施的重要組成部分,,其安全問題直接關系到國民經(jīng)濟的正常運行和社會穩(wěn)定[1]。
隨著我國“互聯(lián)網(wǎng)+”,、“中國制造2025”等戰(zhàn)略的推進實施,,互聯(lián)網(wǎng)、物聯(lián)網(wǎng),、云計算,、大數(shù)據(jù)等信息技術對工業(yè)生產的各環(huán)節(jié)和城市關鍵基礎設施建設的滲透越來越深,從而加劇了工業(yè)控制系統(tǒng)的信息安全風險,。
近年來,,工業(yè)控制系統(tǒng)信息安全事件不斷發(fā)生,從伊朗核電站感染Stuxnet病毒事件,,到Havex入侵了歐美1 000多家能源系統(tǒng),,再到烏克蘭電力系統(tǒng)被BlackEnergy惡意軟件攻擊等事件,充分反映了工業(yè)控制系統(tǒng)信息安全面臨的嚴峻形勢,。研究工業(yè)控制系統(tǒng)的攻擊檢測方法,,對及時發(fā)現(xiàn)并阻止黑客的入侵攻擊和避免造成物理損失具有重大意義。
1 背景
隨著計算機技術和網(wǎng)絡技術的發(fā)展及普及,,網(wǎng)絡安全問題越發(fā)凸顯,,尤其是拒絕服務攻擊(Denial of Service,DoS),,盡管方式簡單,,但是攻擊非常有效。它能夠短時間內使服務網(wǎng)絡中充斥大量的信息,,消耗帶寬或系統(tǒng)資源,,導致網(wǎng)絡趨于癱瘓而無法提供正常的網(wǎng)絡服務。其中,,分布式拒絕服務攻擊(Distributed Denial of Service,,DDoS)作為DoS的特殊形式,它采用一種分布,、協(xié)作方式對網(wǎng)絡進行攻擊,。在眾多的攻擊方式中,,分布式拒絕服務攻擊的危害最大,最易于達到攻擊效果,,并且最難進行抵御和追蹤,,同時它也是現(xiàn)今網(wǎng)絡面臨的主要威脅之一。
針對網(wǎng)絡DDoS攻擊的檢測研究由來已久,,目前的檢測方法大概可以分為兩大類,,大多數(shù)的檢測方法或采用其中一種,或兩種方法結合使用,。其中一種是對服務/控制網(wǎng)絡中流量進行建模分析,,利用網(wǎng)絡遭受DDoS攻擊時,與模型相關的參數(shù)變化來識別出DDoS攻擊,,如文獻[2-6],;另外一種是利用網(wǎng)絡在遭受DDoS攻擊時網(wǎng)絡表現(xiàn)出來的特性(如:IP地址集聚等)來進行攻擊判斷,如文獻[7-10],。
對于具體的研究方法,,文獻[2]利用網(wǎng)絡發(fā)生DDoS攻擊時,攻擊網(wǎng)絡的目的地址或者目的端口過于集中的特性,,以及發(fā)生DDoS攻擊時的協(xié)議特征建立基于聚集和協(xié)議分布防御分布式拒絕服務攻擊(Aggregat-based Protocal Analysis,,ATA-ANTI-DDoS)模型,來檢測DDoS攻擊,;文獻[3]利用網(wǎng)絡特性建立自回歸系統(tǒng)模型,,以此模型來估計參數(shù)分形維數(shù)和自相似系數(shù),同時利用基于最大似然估計的改變點檢測方法來檢測DDoS攻擊,;文獻[4]認為網(wǎng)絡數(shù)據(jù)包具有多位屬性,,提出使用利用主成份分析(Principal Component Analysis,PCA)來降低主干網(wǎng)絡的網(wǎng)絡數(shù)據(jù)采集維數(shù),,同時,,對網(wǎng)絡中的OD流量和物理鏈路流量進行建模和特征進行分析;文獻[5]在骨干網(wǎng)絡中,,在網(wǎng)絡應用層的DDoS攻擊(Application Distributed Denial of Service,,AL-DDoS)中,構造了一個實時變頻矢量,,并建立實時的業(yè)務模型,。通過檢查AL-DDoS攻擊流量的熵值,,實時業(yè)務模型可以設別出真實的AL-DDoS攻擊,;文獻[6]通過檢測網(wǎng)絡中的數(shù)據(jù)包地址來建立檢測矩陣模型,同時運用遺傳算法(Genetic Algorithm,,GA)來減少模型中的地址劃分沖突問題,,以此提高對DDoS攻擊的檢測效率,;文獻[7]提出的方法主要是針對網(wǎng)絡的物理層中的流量,利用數(shù)據(jù)包的維數(shù)來檢測DDoS攻擊,;文獻[8]提出從歷史網(wǎng)絡流量中抽取合法用戶的IP地址建立數(shù)據(jù)庫,,以檢查流經(jīng)路由器當前數(shù)據(jù)包中的源IP地址是否在合法的IP數(shù)據(jù)庫作為DDoS的檢測手段;文獻[9]使用累積和(Cumulative Sum,,CUSUM)方法來統(tǒng)計路由器中進出各端口的流量,,并以進出口流量比率作為檢測DDoS攻擊的統(tǒng)計量;文獻[10]提出一種基于卡爾曼濾波的低速率分布式拒絕服務攻擊(Low-rate Distribute Denial of Service,,LDDoS)攻擊檢測方法,,該方法根據(jù)網(wǎng)絡流量矩陣估算理論以及網(wǎng)絡在遭受DDoS攻擊時流量突然減小的事實,對流量矩陣進行有效的預測和估算,,然后通過比較預測與估算的誤差就可以有效地檢測LDDoS攻擊,。
本文在充分分析了工業(yè)系統(tǒng)中DDoS攻擊的特點和傳統(tǒng)DDoS檢測方法的基礎上,提出一種擴展Kalman濾波和控制系統(tǒng)的模型參數(shù)識別的算法來檢測DDoS的攻擊,。通過在搭建的SCADA工業(yè)控制仿真系統(tǒng)平臺中進行測試和實驗,,驗證了本文提出的算法可以有效識別出針對特定工業(yè)控制系統(tǒng)網(wǎng)絡的DDoS攻擊。
2 基于擴展Kalman濾波的工業(yè)控制系統(tǒng)DDoS攻擊檢測
2.1 典型的工業(yè)控制系統(tǒng)結構圖
典型的工業(yè)控制系統(tǒng)結構如圖1所示,。
在上述的常用工業(yè)控制系統(tǒng)中,,最具有代表性意義的當屬在石油石化、電力等能源行業(yè)應用最多SCADA系統(tǒng),。常見的SCADA系統(tǒng)的網(wǎng)絡體系構架如圖2所示,。
越來越多的工業(yè)控制系統(tǒng)的網(wǎng)絡采用基于TCP/IP的工業(yè)以太網(wǎng)協(xié)議。第一,,由于企業(yè)的信息管理網(wǎng)絡已經(jīng)廣泛采用了基于TCP/IP協(xié)議的以太網(wǎng)交互技術,,這使得控制系統(tǒng)更加集成化。第二,,控制網(wǎng)絡采用以太網(wǎng),,大大提高了信息傳輸速率。第三,,控制網(wǎng)絡采用以太網(wǎng),,大大提高了不同設備和系統(tǒng)之間的信息交換效率。下面以Modbus/TCP協(xié)議為例,,簡要說明工業(yè)控制系統(tǒng)使用的協(xié)議特點,。
Modbus協(xié)議廣泛使用在SCADA系統(tǒng)中,它通常負責人機交互界面和控制器等的數(shù)據(jù)通信?,F(xiàn)在Modbus已經(jīng)成為工業(yè)控制事實上的標準,,很多Modbus系統(tǒng)使用TCP作為通信層協(xié)議。Modbus/TCP使用了TCP/IP協(xié)議棧的五層,,分別為:物理層,、數(shù)據(jù)鏈路層,、網(wǎng)絡層、傳輸層和應用層,。在TCP/IP以太網(wǎng)上傳輸,,支持Ethernet II和802.3兩種幀格式,其數(shù)據(jù)幀包含報文頭,、功能碼和數(shù)據(jù)3部分,其使用的端口號是502,。
Modbus使用主從通信模式。主設備負責發(fā)起查詢任務,,從設備負責進行響應,。但同一時刻,只有一個設備作為主設備,。在異構型網(wǎng)絡拓撲結構中,,包含有Modbus/TCP和串口Modbus設備,常使用網(wǎng)關或網(wǎng)橋將其連接到IP網(wǎng)絡中,。
從使用最廣泛的Modbus/TCP協(xié)議的特征,,可以看到工業(yè)控制系統(tǒng)所使用的協(xié)議相對互聯(lián)網(wǎng)HTTP等協(xié)議較簡單,功能碼較少,,信息交互機制簡單,,處理高效,沒有加入加密等安全機制,??梢姡た叵到y(tǒng)的協(xié)議特點決定了工控系統(tǒng)對網(wǎng)絡攻擊的承受力很低,。
2.2 工業(yè)控制系統(tǒng)與傳統(tǒng)信息系統(tǒng)區(qū)別
根據(jù)美國國家標準技術研究院(National Institute of Standards and Technology, NIST)發(fā)布的《工業(yè)控制系統(tǒng)(ICS)信息安全指南》可以清楚地看到傳統(tǒng)信息系統(tǒng)與工業(yè)控制系統(tǒng)之間的區(qū)別,,如表1[11]所示。
通過表1中的對比可以看到,,工業(yè)控制系統(tǒng)因為需要更加安全,、可靠、平穩(wěn)的運行環(huán)境,,而對實時性和數(shù)據(jù)準確性要求更高,。由此,傳統(tǒng)的信息系統(tǒng)和工業(yè)控制系統(tǒng)對于DDoS攻擊的承受能力和防范要求是不一樣的,。工業(yè)控制系統(tǒng)因其獨特的特點,,就使得系統(tǒng)在檢測DDoS攻擊方面必須更加高效、準確,、實時,、高速和及時。同時,發(fā)生DDoS攻擊時,,要保證數(shù)據(jù)的有效和準確,特別是不能破壞控制系統(tǒng)的控制類數(shù)據(jù),。
2.3 擴展Kalman濾波算法
卡爾曼濾波是一種高效的遞歸濾波器,,它通過對輸入和輸出貫徹數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計,,同時通過去除一系列的噪聲來還原真實數(shù)據(jù),。擴展卡爾曼濾波算法是在標準卡爾曼濾波算法的基礎上發(fā)展起來的,它的基本思想是:在濾波值的附近使用泰勒展開式,,對于二階以上的高階項全部省去,,從而將原非線性系統(tǒng)近似為線性系統(tǒng),再利用標準的卡爾曼濾波算法對系統(tǒng)線性化型模型進行濾波,。
擴展Kalman濾波方程組包含了預測步驟和更新步驟,。對于離散系統(tǒng),控制過程可以用微分方程描述為:
通常,,在網(wǎng)絡流量采樣中,,U(k)為系統(tǒng)的控制量,如果沒有則為0,,W(k)和V(k)可以假設成白噪聲矩陣來近似處理,,它們的協(xié)方差矩陣分別是Q和R,卡爾曼濾波器可以結合k時刻的預測值和測量值,,得到下一時刻k+1的估計值,。
假設現(xiàn)在的時刻為k+1,利用k時刻的最優(yōu)估算,,記為:X(k|k),,可以得到k的先驗估計,記為:X(k+1|k),,則有:
其中,,HT是H的轉置矩陣,I為單位矩陣,,當系統(tǒng)是單系統(tǒng)模型時,,I=1;此時通過k時刻的觀測值和預估值即可使系統(tǒng)進入k+1的狀態(tài),,Φ和H分別是f和h的雅各比矩陣,,其雅各比矩陣的具體求導法則如下:
2.4 基于Kalman濾波的模型參數(shù)識別算法
網(wǎng)絡發(fā)生DDoS攻擊時,網(wǎng)絡中的很多性質都發(fā)生了變化,,如網(wǎng)絡的流量,、時延以及數(shù)據(jù)包量與IP地址的比值等。要想準確地判斷工業(yè)控制系統(tǒng)網(wǎng)絡是否發(fā)生了DDoS攻擊,只知道流量情況是不夠的,,如果知道網(wǎng)絡發(fā)生DDoS攻擊時的數(shù)據(jù)包和IP地址等的關系,,就能大大提高DDoS檢測的準確性。
在網(wǎng)絡中,,采樣時刻k與流量的關系描述函數(shù)f和h,,以及系統(tǒng)在發(fā)生DDoS攻擊時,IP與流量的擬合關系函數(shù)g等都是未知的,,它們都表征著網(wǎng)絡的性能特點,。并且,這些表征網(wǎng)絡性質的函數(shù)都與具體的網(wǎng)絡系統(tǒng)結構有關(如網(wǎng)絡帶寬,、端口數(shù)量,、路由能力等)。但不論這些函數(shù)是線性的還是非線性的,,均可以用泰勒級數(shù)來展開,,并可以對函數(shù)做近似處理:
將包含參數(shù)的函數(shù)f(x)和h(x)代入擴展卡爾曼濾波算法中,同時利用網(wǎng)絡的歷史數(shù)據(jù),,通過使用參數(shù)辨識的方法,,得到流量的具體模型參數(shù)ai、bi和ci(i=0,,1,,2)。
3 實驗平臺說明
3.1 實驗平臺概況
本實驗的驗證平臺是電子一所研究工業(yè)控制系統(tǒng)信息安全所搭建的一套模擬天然氣管道輸送的SCADA系統(tǒng),。除了仿真測試系統(tǒng)的天然氣用壓縮空氣來代替之外,,系統(tǒng)平臺的輸送控制流程和工藝均來自中國某油田的實際生產運行系統(tǒng),并且系統(tǒng)的控制器,、工作站,、數(shù)據(jù)庫等均與實際運行的一樣。圖3所示是簡化的仿真測試系統(tǒng)平臺的結構圖,。
該SCADA系統(tǒng)具有3個操作站(本地場,、工程師站、遠程中心),、若干個RTU(遠程設備終端,,協(xié)議是Modbus/TCP)、公司上層網(wǎng)以及一個中心服務器,。其中,,通過RTU將現(xiàn)場的實時數(shù)據(jù)傳遞到服務器中,各個操作站和管理網(wǎng)通過網(wǎng)絡進行實時數(shù)據(jù)通信和共享,;另外,,各個操作站將依據(jù)各自的控制權限將控制命令通過服務器發(fā)送到RTU,,實現(xiàn)對執(zhí)行機構的實時控制。
3.2 攻擊測試說明
本次攻擊測試針對的是SCADA系統(tǒng)在管道輸送過程中的降壓流程,。具體的DDoS攻擊手段是通過使用1臺高性能計算機控制10片刀片式服務器發(fā)生針對服務器服務端口進行的,。攻擊測試是在500 s的時間內隨機進行多次攻擊,持續(xù)時間5 s~10 s不等,,同時反復進行多次測試,。
4 實驗
4.1 實驗前數(shù)據(jù)預處理
實驗前,針對網(wǎng)絡進行數(shù)據(jù)采集,。針對該工業(yè)控制系統(tǒng)所使用的端口號進行數(shù)據(jù)統(tǒng)計,,采集時間隨機從30 min~24 h等分45組進行,,得到具體45組數(shù)據(jù),,如圖4。
對圖4得到的柱狀圖中的數(shù)據(jù)進一步處理,,得到如圖5所示數(shù)據(jù)包采樣的均值和平滑處理值,。
對系統(tǒng)的仿真測試平臺的數(shù)據(jù)包采集值與所采集的報文的IP地址進行處理,得到報文數(shù)據(jù)值與IP地址的比值關系,,如圖6所示,。
從圖4、圖5和圖6中,,可以看出工業(yè)控制系統(tǒng)網(wǎng)絡的流量數(shù)據(jù)基本是平穩(wěn)的,,這與傳統(tǒng)的IT互聯(lián)網(wǎng)的網(wǎng)絡流量忽高忽低不同;同時,,在正常的網(wǎng)絡運行中,,每個IP地址所對應的報文數(shù)基本也是恒定的。這些不同于傳統(tǒng)互聯(lián)網(wǎng)的網(wǎng)絡特性,,為本文提出的算法提供了很好的適用性和檢測的準確性,。
4.2 算法實驗
在仿真測試平臺中對所提出的DDoS的檢測算法進行實際的編程測試,得到圖7所示的實際攻擊檢測圖,。
在建立的仿真測試平臺中進行算法的測試,,可以看出在系統(tǒng)平臺發(fā)生DDoS攻擊時,系統(tǒng)的瞬時流量急劇增加,,同時數(shù)據(jù)包量與IP地址的比值也發(fā)生了顯著的變化,。實驗結果表明,在特定的控制系統(tǒng)網(wǎng)絡中,,本文提出的算法可以有效檢測出DDoS的攻擊,。
5 結語
隨著計算機和網(wǎng)絡技術的發(fā)展,工業(yè)控制系統(tǒng)產品越來越多采用通用協(xié)議,、通用硬件和通用軟件,,并以各種方式與互聯(lián)網(wǎng)等公共網(wǎng)絡連接,,以DDoS為代表的傳統(tǒng)網(wǎng)絡攻擊方式也正在向工業(yè)控制系統(tǒng)擴散。由于工業(yè)控制系統(tǒng)高實時性,、弱防護,、計算能力有限等特點,傳統(tǒng)信息系統(tǒng)中的入侵檢測方法不適合直接用于工業(yè)控制系統(tǒng),。本文根據(jù)工業(yè)控制網(wǎng)絡干擾小,、數(shù)據(jù)變化不大等特點,設計出適用于工業(yè)系統(tǒng)的入侵檢測方法,。實驗證明,,提出的基于擴展Kalman濾波和控制系統(tǒng)的模型參數(shù)識別算法可以較好地完成工業(yè)控制系統(tǒng)DDoS的攻擊檢測。
參考文獻
[1] 周雪.2013工業(yè)控制系統(tǒng)迎來“大考”[J].信息安全與通信保密,,2013(9):10-21.
[2] 孫知信,,姜舉良,焦琳.DDoS攻擊檢測和防御模型[J].軟件學報,,2007,,18(9):2245-2261.
[3] XIA Z,LU S,,LI J.DDoS flood attack detection based on fractal parameters[C].Processing of the 8th International Conference on Wireless Communications Networking and Mobile.Shanghai:IEEE,,2012:1-5.
[4] LAKHINA A,CROVELLA M,,DIOT C.Structural analysis of network traffic flow[C].Processing of the SIGMETRICS/Performance.New York:ACM,,2004:61-72.
[5] ZHOU W,WEI J,,SHENG W,,et al.Detection and defense of application-layer DDoS attacks in backbone web traffic[J].Future Generation Computer Systems,2014(38):36-46.
[6] LEE S,,KIM D,,LEE J,et al.Detection of DDoS attacks using optimized traffic matrix[J].Computers and Mathematics with Applications,,2012(63):501-510.
[7] LAKHINA A,,CROVELLA M,DIOT C.Diagnosing network-wide traffic anomalies[C].Processing of the SIGMETRICS’04.Portland:ACM,,2004:219-230.
[8] PENG T,,LECKIE C,RRAMAOHANARAO K.Protection from distributed denial of service attacks using history-based IP filtering[C].Anchorage:IEEE Computer Science,,2003:482-486.
[9] PU S.Choosing parameters for detecting DDoS attack[C].Chengdu:IEEE Computer Society,,2012:239-242.
[10] 吳志軍,岳猛.基于卡爾曼濾波的LDDoS攻擊監(jiān)測方法[J].電子學報,,2011(22):1590-1594.
[11] 美國國家標準和技術研究院.NIST-SP800-82,,《工業(yè)控制系統(tǒng)(ICS)安全指南》[S].北京:國家標準出版社,,2012:15-27.