韓 祥,吳 拓,李越曌
(中國(guó)船舶及海洋工程設(shè)計(jì)研究院,上海 200000)
近年來(lái),隨著各項(xiàng)智能化技術(shù)的崛起,船舶已成為大眾熱議的焦點(diǎn),它可以自主獲取船舶各項(xiàng)數(shù)據(jù),進(jìn)行統(tǒng)籌分析并作出最優(yōu)決策[1]。但是,隨著船舶物理層和信息層的復(fù)雜交融,使得電力系統(tǒng)各節(jié)點(diǎn)的交互通道經(jīng)常處于開(kāi)放的環(huán)境中,導(dǎo)致船舶電網(wǎng)信息層受到惡意信息攻擊的可能性增加,極大的威脅船舶電力系統(tǒng)的安全穩(wěn)定運(yùn)行。
虛假數(shù)據(jù)注入攻擊是新型惡意信息攻擊之一,專(zhuān)門(mén)針對(duì)電力系統(tǒng)狀態(tài)估計(jì)發(fā)起攻擊。攻擊者對(duì)傳感器節(jié)點(diǎn)注入設(shè)計(jì)合理的錯(cuò)誤數(shù)據(jù),控制端接收錯(cuò)誤數(shù)據(jù)后,可能對(duì)電力系統(tǒng)運(yùn)行狀態(tài)誤判斷、發(fā)出錯(cuò)誤指令、進(jìn)行錯(cuò)誤操作,進(jìn)行嚴(yán)重破壞船舶電力系統(tǒng)安全,造成難以估量的損失。因此對(duì)船舶電網(wǎng)中虛假數(shù)據(jù)注入攻擊開(kāi)展深入研究具有重大的現(xiàn)實(shí)意義。
文獻(xiàn)[2]提出用卡爾曼濾波器構(gòu)造的歐幾里德檢測(cè)法檢測(cè)FDIA,但受不確定因素影響較大,檢測(cè)效果欠佳。文獻(xiàn)[3]提出狀態(tài)可達(dá)集來(lái)檢測(cè)FDIA,但檢測(cè)結(jié)果易被實(shí)際噪聲干擾。文獻(xiàn)[4]使用多模型對(duì)kalman濾波進(jìn)行擴(kuò)展,能夠降低單模型引發(fā)的誤差,但仍忽略了噪聲帶來(lái)的不利影響,由此導(dǎo)致誤差增大,進(jìn)而使得濾波發(fā)散,因此噪聲統(tǒng)計(jì)特性的變化必須加以考慮。
鑒于此,本文綜合考慮系統(tǒng)非線性和噪聲統(tǒng)計(jì)特性未知情況,設(shè)計(jì)一種基于噪聲自適應(yīng)動(dòng)態(tài)估計(jì)卡爾曼濾波的檢測(cè)殘差法,并運(yùn)用該方法檢測(cè)FDIA。通過(guò)仿真,驗(yàn)證本文提出的改進(jìn)型檢測(cè)方法的優(yōu)越性。
狀態(tài)估計(jì)通過(guò)獲取傳感器的值來(lái)對(duì)電網(wǎng)運(yùn)行情況進(jìn)行估計(jì),狀態(tài)變量由船舶子電力系統(tǒng)的電壓模值和相角構(gòu)成。本文考慮一個(gè)由3節(jié)點(diǎn)組成的船舶電力網(wǎng)絡(luò),與之對(duì)應(yīng)的拓?fù)浣Y(jié)構(gòu)圖如圖1所示。式(1)所示的單測(cè)量節(jié)點(diǎn)的狀態(tài)空間模型由文獻(xiàn)[5]可得。
圖1 3節(jié)點(diǎn)電力系統(tǒng)模型
(1)
(2)
攻擊者通過(guò)破壞硬件設(shè)備攻擊傳感器的通信信息,篡改船舶電網(wǎng)的狀態(tài)估計(jì)值[6]。估計(jì)器運(yùn)用傳感器數(shù)據(jù)完成狀態(tài)估計(jì)后,檢測(cè)器再對(duì)估計(jì)值進(jìn)行檢測(cè)。假設(shè)使用電壓傳感器來(lái)測(cè)量狀態(tài)變量,若檢測(cè)器得到的電壓差值過(guò)大,便觸發(fā)警報(bào)。船舶電力系統(tǒng)遭受攻擊圖如圖2所示。
圖2 船舶電網(wǎng)遭受FDIA框圖
在隨機(jī)攻擊下,攻擊序列不是精心設(shè)計(jì)的,注入的隨機(jī)攻擊會(huì)被成功檢測(cè)。在FDIA下,攻擊者利用已掌握的電力系統(tǒng)信息,對(duì)攻擊序列進(jìn)行精心設(shè)計(jì),使其能夠不觸發(fā)檢測(cè)器的報(bào)警。
考慮數(shù)據(jù)注入攻擊模型可描述為:
za(k)=Hxa(k)+γ(k)+pya(k)
(3)
式(3)中:za(k) 和xa(k)為遭受攻擊的量,為攻擊序列,若是攻擊者精心設(shè)計(jì)的,為FDIA,否則為隨機(jī)攻擊。假設(shè)a為攻擊量,c為偏差向量。此時(shí),殘差ea為
(4)
當(dāng)a=Hc,即在遭受虛假數(shù)據(jù)注入攻擊后,ea仍在允許的誤差范圍內(nèi),系統(tǒng)無(wú)法檢測(cè)出FDIA,從而攻擊成功。
為實(shí)現(xiàn)虛假數(shù)據(jù)注入攻擊檢測(cè),首先要通過(guò)濾波器得到電力系統(tǒng)狀態(tài)估計(jì)值。標(biāo)準(zhǔn)kalman濾波器雖然能實(shí)現(xiàn)濾波的功能,但如果無(wú)法得知準(zhǔn)確的噪聲統(tǒng)計(jì)特性,就會(huì)出現(xiàn)狀態(tài)誤差較大的不利情況[7-9]。
因此基于上述分析,本文提出采用改進(jìn)型自適應(yīng)卡爾曼濾波算法,該算法將噪聲估計(jì)環(huán)節(jié)加入到無(wú)跡卡爾曼濾波算法中,獲取精確的噪聲統(tǒng)計(jì)特性,并動(dòng)態(tài)更新噪聲模型[10,11]。
考慮系統(tǒng)的噪聲統(tǒng)計(jì)特性是時(shí)變的,即滿足
(5)
由文獻(xiàn)[12]得到次優(yōu)無(wú)偏常值噪聲統(tǒng)計(jì)估計(jì)器。
(6)
(7)
(8)
(9)
選取加權(quán)系數(shù){βi}滿足
(10)
于是有
(11)
(12)
同理可得
k=dk[LkTkLTk+Pk-APk-1AT]+(1-dk)k-1
(13)
(14)
(15)
每一步都進(jìn)行迭代,勢(shì)必大大增加運(yùn)算量,效率不高。因此考慮只在濾波發(fā)生異常時(shí)進(jìn)行迭代,濾波正常時(shí)則采用上一步的估計(jì)值。
由文獻(xiàn)[13]得到濾波異常判據(jù)
(16)
式(16)中λ為異常因子,λ≥1;為矩陣的跡。若上式成立,濾波會(huì)發(fā)散,則需要對(duì)k和k進(jìn)行重新估計(jì)。反之,則處于正常情況,無(wú)需對(duì)k和k重新估計(jì),即k=k-1,k=k-1。
目前常用的虛假數(shù)據(jù)注入攻擊檢測(cè)方法主要是基于量測(cè)數(shù)據(jù)殘差的方法,包括常用的χ2檢測(cè)法、檢測(cè)殘差法和歐幾里得距離檢測(cè)法。
χ2檢測(cè)法(卡方檢驗(yàn))是以χ2分布為基礎(chǔ)的假設(shè)檢驗(yàn)方法,其基本公式為
(17)
式中,B為觀察值,G為理論值,P為數(shù)量。
歐幾里德距離檢測(cè)法首先獲取電力系統(tǒng)估計(jì)值和觀測(cè)值,如果二者之間的差值過(guò)大,檢測(cè)器就能觸發(fā)警報(bào),從而實(shí)現(xiàn)對(duì)FDIA的檢測(cè)[14]。其基本公式為
(18)
考慮式(4)中a=HC的情況,基于殘差的χ2檢測(cè)已不能成功檢測(cè)出虛假數(shù)據(jù)注入攻擊,因此,考慮基于電壓狀態(tài)分析的檢測(cè)殘差方法:
(19)
為驗(yàn)證改進(jìn)型kalman濾波和FDIA檢測(cè)方法的有效性,在MATLAB中進(jìn)行仿真。首先,分別采用改進(jìn)型自適應(yīng)和標(biāo)準(zhǔn)卡爾曼濾波器來(lái)對(duì)系統(tǒng)內(nèi)部狀態(tài)進(jìn)行估計(jì),通過(guò)對(duì)比,驗(yàn)證改進(jìn)型濾波算法的優(yōu)越性;其次,針對(duì)隨機(jī)攻擊和虛假數(shù)據(jù)注入及常見(jiàn)的χ2檢測(cè)法進(jìn)行檢測(cè),通過(guò)三者之間的對(duì)比,驗(yàn)證檢測(cè)殘差法的優(yōu)越性。帶高斯白噪聲的正弦電壓信號(hào)被用作為估計(jì)器的輸入,具體參數(shù)見(jiàn)表1。
表1 仿真參數(shù)
首先考慮將設(shè)計(jì)的改進(jìn)型自適應(yīng)的自適應(yīng)卡爾曼濾波器與常用的標(biāo)準(zhǔn)卡爾曼濾波器相對(duì)比,驗(yàn)證基于噪聲動(dòng)態(tài)估計(jì)卡爾曼濾波算法的優(yōu)越性。圖3、圖4給出了兩種濾波器在時(shí)變?cè)肼暤那闆r下,對(duì)系統(tǒng)內(nèi)部狀態(tài)進(jìn)行估計(jì)的結(jié)果。
圖3 時(shí)變?cè)肼暛h(huán)境無(wú)攻擊下,標(biāo)準(zhǔn)卡爾曼濾波器的狀態(tài)估計(jì)圖
圖4 時(shí)變?cè)肼暛h(huán)境無(wú)攻擊下,改進(jìn)型自適應(yīng)卡爾曼濾波器的狀態(tài)估計(jì)圖
從圖3和圖4可知,由于存在噪聲干擾,在剛開(kāi)始時(shí)存在一定誤差,之后估計(jì)值逐漸收斂于輸入信號(hào)。并且改進(jìn)型自適應(yīng)卡爾曼濾波器能夠?qū)崟r(shí)修正噪聲模型,對(duì)噪聲的估計(jì)更加準(zhǔn)確,可以更真實(shí)的觀測(cè)出系統(tǒng)內(nèi)部狀態(tài),為快速檢測(cè)虛假數(shù)據(jù)攻擊提供有利條件。
在可以精度估計(jì)出系統(tǒng)內(nèi)部狀態(tài)的前提下,再分別運(yùn)用三種檢測(cè)算法對(duì)FDIA和隨機(jī)攻擊進(jìn)行檢測(cè)。
圖5是時(shí)變?cè)肼暛h(huán)境隨機(jī)攻擊下,兩種檢測(cè)方法響應(yīng)圖。當(dāng)攻擊未出現(xiàn)時(shí),檢測(cè)殘差在0附近小幅度變化,而χ2檢測(cè)一直都處于0。隨機(jī)攻擊出現(xiàn)后,實(shí)際狀態(tài)和觀測(cè)狀態(tài)開(kāi)始發(fā)生偏離,兩種檢測(cè)算法均能在較短時(shí)間內(nèi)快速檢測(cè)出隨機(jī)攻擊。
圖5 時(shí)變?cè)肼暛h(huán)境隨機(jī)攻擊下,兩種檢測(cè)方法響應(yīng)圖
圖6為標(biāo)準(zhǔn)kalman濾波器下,虛假數(shù)據(jù)注入攻擊檢測(cè)響應(yīng)圖。從圖6可知,面對(duì)虛假數(shù)據(jù)注入攻擊,χ2檢測(cè)無(wú)法成功檢測(cè)出FDIA,和前文分析的一致。而基于標(biāo)準(zhǔn)卡爾曼濾波器構(gòu)建的歐幾里得殘差法,當(dāng)在t=60s時(shí),注入虛假數(shù)據(jù)攻擊,它很快發(fā)生變化。大約經(jīng)過(guò)60s后,超過(guò)設(shè)定的閾值檢測(cè)出虛假數(shù)據(jù)注入攻擊。但是使用標(biāo)準(zhǔn)濾波得到的殘差信號(hào)遭遇噪聲干擾,信號(hào)波動(dòng)較大,容易出現(xiàn)誤報(bào),而且檢測(cè)所需要的時(shí)間也較長(zhǎng)。
圖6 標(biāo)準(zhǔn)kalman濾波器下,虛假數(shù)據(jù)注入攻擊檢測(cè)響應(yīng)圖
如圖7為改進(jìn)型kalman濾波器下,虛假數(shù)據(jù)注入攻擊檢測(cè)響應(yīng)圖。由圖7可知,沒(méi)有注入攻擊時(shí),殘差信號(hào)穩(wěn)定在0 附近,極大降低了誤報(bào)率。當(dāng)虛假數(shù)據(jù)注入攻擊在t=60 時(shí)刻開(kāi)始注入電網(wǎng)系統(tǒng)時(shí),本文提出的檢測(cè)殘差函數(shù)法和歐幾里得檢測(cè)法都能夠發(fā)生變化,能夠在一定時(shí)間內(nèi)迅速超過(guò)所設(shè)定的先驗(yàn)閾值,然后觸發(fā)警報(bào),檢測(cè)出虛假數(shù)據(jù)注入攻擊的存在。檢測(cè)殘差函數(shù)法與歐幾里德檢測(cè)法相比,不僅縮短了約50秒檢測(cè)時(shí)間,而且對(duì)攻擊信號(hào)更加敏感,有效降低漏檢率和誤報(bào)率。這驗(yàn)證了本文提出的檢測(cè)殘差函數(shù)方法是切實(shí)可行的,能夠助力船舶電網(wǎng)的安全穩(wěn)定運(yùn)行。
圖7 改進(jìn)型kalman濾波器下,虛假數(shù)據(jù)注入攻擊檢測(cè)響應(yīng)圖
針對(duì)船舶電力系統(tǒng)易遭遇FDIA的問(wèn)題,本文設(shè)計(jì)了一種基于噪聲動(dòng)態(tài)估計(jì)卡爾曼濾波的檢測(cè)殘差函數(shù)算法,該方法能夠用于檢測(cè)FDIA。首先,建立船舶電網(wǎng)的狀態(tài)空間模型, 對(duì)FDIA進(jìn)行描述,考慮實(shí)際噪聲變化的影響,對(duì)基本卡爾曼濾波進(jìn)行改進(jìn),并運(yùn)用改進(jìn)型自適應(yīng)卡爾曼濾波器構(gòu)造的三種檢測(cè)法對(duì)FDIA進(jìn)行檢測(cè)。通過(guò)MATLAB對(duì)比仿真證明,本文提出的基于自適應(yīng)kalman濾波器的檢測(cè)殘差法不僅可以精準(zhǔn)檢測(cè)出FDIA,而且與歐幾里得檢測(cè)法相比,具備檢測(cè)時(shí)間更短,對(duì)攻擊信號(hào)更敏感,檢測(cè)殘差誤報(bào)率低等優(yōu)點(diǎn),能夠助力船舶電網(wǎng)的安全穩(wěn)定運(yùn)行。