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