武 婕,鄧 彬,郝 蛟,柳樂怡,李博威
(1.深圳供電局有限公司系統(tǒng)運(yùn)行部,廣東深圳 518000;2.興唐通信科技有限公司智能業(yè)務(wù)中心,北京 100191)
電力調(diào)度系統(tǒng)承擔(dān)著控制、監(jiān)測(cè)、調(diào)節(jié)電力生產(chǎn)過程的任務(wù)。電力調(diào)度系統(tǒng)數(shù)據(jù)的完整性破壞和精準(zhǔn)篡改,會(huì)嚴(yán)重影響系統(tǒng)的正常運(yùn)行和現(xiàn)場(chǎng)人員的最終決策[1-3]。隨著APT(Advanced Persistent Threat)的興起,針對(duì)電力調(diào)度系統(tǒng)的網(wǎng)絡(luò)攻擊呈現(xiàn)出時(shí)間和空間跨度大的特點(diǎn),傳統(tǒng)靜態(tài)的、基于規(guī)則匹配的入侵防護(hù)機(jī)制已經(jīng)無法適應(yīng)現(xiàn)階段的防護(hù)要求[4-6]。
該文針對(duì)電力調(diào)度系統(tǒng)入侵檢測(cè)手段靜態(tài)、單一的問題,提出基于行為分析的電力調(diào)度系統(tǒng)入侵檢測(cè)方法。通過Filebeat 工具收集終端行為序列;結(jié)合電力調(diào)度系統(tǒng)任務(wù)相對(duì)固定、行為相互關(guān)聯(lián)的特點(diǎn),創(chuàng)新性地將非結(jié)構(gòu)化日志轉(zhuǎn)化為結(jié)構(gòu)化日志,構(gòu)建調(diào)度系統(tǒng)行為序列預(yù)測(cè)模型,對(duì)入侵行為進(jìn)行檢測(cè)。
電力調(diào)度系統(tǒng)被入侵行為破壞的原因主要包括:
1)調(diào)度系統(tǒng)機(jī)密性被破壞[7-9]。電力系統(tǒng)信息流、控制流的頻繁交互,以及終端設(shè)備的廣泛部署,導(dǎo)致機(jī)密數(shù)據(jù)泄露。
2)調(diào)度系統(tǒng)的可用性被破壞。電力終端處于外部暴露環(huán)境中,容易被針對(duì)性地捕獲和攻破[10-12]。攻擊者能夠利用終端設(shè)備作為跳板,向電力調(diào)度系統(tǒng)內(nèi)聯(lián)網(wǎng)滲透,或通過與C&C(Command&Control)主機(jī)互聯(lián),進(jìn)行木馬感染或分布式拒絕服務(wù)攻擊。
電力調(diào)度系統(tǒng)入侵行為特點(diǎn)如下:
1)攻擊手段多樣
病毒、惡意代碼等威脅手段可以通過“多態(tài)”技術(shù),生成不同的病毒樣本,有效規(guī)避檢測(cè)手段。
2)攻擊速度快
在大數(shù)據(jù)的掩護(hù)和遮蔽下,攻擊者持續(xù)、精準(zhǔn)地發(fā)起網(wǎng)絡(luò)攻擊。從系統(tǒng)漏洞被發(fā)現(xiàn)到利用其進(jìn)行有針對(duì)性地攻擊,留給攻擊分析與安全防御的反應(yīng)時(shí)間極短[15]。當(dāng)前智能電網(wǎng)數(shù)據(jù)量級(jí)呈指數(shù)級(jí)增長,很容易導(dǎo)致攻擊行為漏檢。
現(xiàn)階段,電力調(diào)度系統(tǒng)的日志分布具有時(shí)間跨度較大的特征,靜態(tài)的、單一的、基于規(guī)則匹配的檢測(cè)方式無法將行為在時(shí)間維度上關(guān)聯(lián)起來,因此,該文使用長短期記憶(Long Short-Term Memory,LSTM)時(shí)序模型實(shí)現(xiàn)異常檢測(cè)。
LSTM 模型能夠根據(jù)當(dāng)前狀態(tài)對(duì)后續(xù)狀態(tài)進(jìn)行預(yù)測(cè)和判斷,在處理時(shí)序問題時(shí)有較好的表現(xiàn)。LSTM 解決了RNN 中的梯度爆炸和梯度消失問題。LSTM 的結(jié)構(gòu)如圖1 所示。
圖1 LSTM記憶單元的結(jié)構(gòu)
如圖1 所示,在t時(shí)刻模型的輸入數(shù)據(jù)為xt,ht表示隱藏層的輸出數(shù)據(jù),則前序輸出表述為ht-1。當(dāng)前模型整體信息的輸入和輸出狀態(tài)分別是和ct。計(jì)算ct和ht需要先計(jì)算模型三個(gè)門的信息狀態(tài):
輸入門it的信息輸出狀態(tài)計(jì)算公式如下:
遺忘門ft的信息輸出狀態(tài)計(jì)算公式如下:
輸出門ot的信息輸出狀態(tài)計(jì)算公式如下:
模型的整體信息輸入狀態(tài)計(jì)算公式為:
LSTM 模型經(jīng)過三個(gè)門的入侵檢測(cè)處理提高了處理效率,同時(shí)增強(qiáng)了檢測(cè)處理在時(shí)間維度上的關(guān)聯(lián),提高了檢測(cè)結(jié)果準(zhǔn)確率。
對(duì)電力調(diào)度系統(tǒng)異常行為進(jìn)行檢測(cè),本質(zhì)是將異常行為與正常行為進(jìn)行區(qū)分,映射到人工智能領(lǐng)域,屬于分類問題。該文通過對(duì)電力調(diào)度系統(tǒng)進(jìn)行日志采集、分析、特征化和模型訓(xùn)練,達(dá)到最終異常行為檢測(cè)的目的,其主要流程如圖2 所示。
圖2 電力調(diào)度系統(tǒng)入侵檢測(cè)流程
如圖2 所示,基于行為分析的電力調(diào)度系統(tǒng)入侵檢測(cè)方案主要分為以下步驟:
1)日志采集。由于電力調(diào)度系統(tǒng)通常部署在UNIX 系統(tǒng)中,承擔(dān)大量的任務(wù),其運(yùn)算和存儲(chǔ)的資源有限[16],為了通過系統(tǒng)日志文件達(dá)到獲取主機(jī)系統(tǒng)行為的目的,該方案中,利用日志采集工具,對(duì)電力主機(jī)系統(tǒng)中,感興趣的系統(tǒng)日志進(jìn)行采集,并以此為依據(jù)進(jìn)行后續(xù)的研究實(shí)驗(yàn)。
2)模板解析。電力調(diào)度系統(tǒng)中的系統(tǒng)日志、操作日志等為非結(jié)構(gòu)化日志,此類日志由不同規(guī)則定義,長度不統(tǒng)一,難以通過特定模板提取內(nèi)容信息,為了將系統(tǒng)中非結(jié)構(gòu)化日志轉(zhuǎn)換為結(jié)構(gòu)化日志,該文采用模板解析的方法對(duì)日志文件進(jìn)行處理,為后續(xù)特征提取提供基礎(chǔ)。
3)行為向量生成。使用機(jī)器學(xué)習(xí)的相關(guān)方法解決網(wǎng)絡(luò)安全問題,首先,需要將安全相關(guān)數(shù)據(jù)轉(zhuǎn)換成機(jī)器學(xué)習(xí)算法能夠理解的編碼格式,并盡可能地保留原始數(shù)據(jù)本身以及上下文的特征。根據(jù)模板解析的結(jié)果,對(duì)提取出的日志鍵進(jìn)行one-hot 編碼,將結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換生成行為向量。
4)模型訓(xùn)練。采用機(jī)器學(xué)習(xí)算法進(jìn)行異常行為檢測(cè),首先,構(gòu)造標(biāo)記數(shù)據(jù)的訓(xùn)練集和測(cè)試集;其次,結(jié)合數(shù)據(jù)特征和安全場(chǎng)景需求,采用適當(dāng)?shù)臋C(jī)器學(xué)習(xí)模型,在該文中,擬采用決策樹、隨機(jī)森林、SVM、OCSVM 和LSTM 五種方法進(jìn)行實(shí)驗(yàn)。
5)模型反饋。一方面,對(duì)模型的效果進(jìn)行評(píng)估,并結(jié)合參數(shù)進(jìn)行討論;另一方面,定時(shí)對(duì)模型進(jìn)行更新。
2.2.1 入侵?jǐn)?shù)據(jù)采集
對(duì)電力調(diào)度系統(tǒng)進(jìn)行入侵行為檢測(cè),首先要獲取電力調(diào)度系統(tǒng)的相關(guān)日志信息。該文采用部署日志采集工具的方式,對(duì)感興趣日志進(jìn)行采集,如圖3所示。
圖3 電力調(diào)度系統(tǒng)日志采集示意圖
該文采用Filebeat 工具用于對(duì)感興趣日志進(jìn)行查找和采集,在配置文件中配置感興趣日志的type、path 字段,設(shè)置索引名稱。最后將輸出地址設(shè)置為Logstash 的地址以及端口,對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
部署Logstash 組件,用于接收Filebeat 所提供的日志信息,由于Filebeat 監(jiān)控多個(gè)日志文件,因此需要對(duì)Logstash 進(jìn)行配置,用以對(duì)多種日志內(nèi)容進(jìn)行解析,并存儲(chǔ)在本地進(jìn)行后續(xù)分析。
如圖3 所示,為電力調(diào)度系統(tǒng)日志采集的示意圖。在采集過程中,該文采用離線采集的方式,獲取深圳供電局某站某電力調(diào)度系統(tǒng)在一段時(shí)間內(nèi)的日志內(nèi)容,并將其存儲(chǔ)在PC 端待后續(xù)分析。
2.2.2 特征提取
在對(duì)電力終端設(shè)備異常行為進(jìn)行檢測(cè)的過程,可以看作是一個(gè)機(jī)器學(xué)習(xí)二分類問題。在機(jī)器學(xué)習(xí)模型訓(xùn)練過程中,特征提取起著至關(guān)重要的作用,其本質(zhì)上承擔(dān)著安全問題映射二分類問題的任務(wù),提取準(zhǔn)確的特征能夠有效地區(qū)分電力調(diào)度系統(tǒng)正常行為和異常行為,同時(shí),準(zhǔn)確的特征向量能夠提高模型的分類效果。
通常情況下,電力調(diào)度系統(tǒng)異常主要包括以下兩個(gè)方面。
1)內(nèi)容錯(cuò)誤,即日志數(shù)據(jù)本身記錄的異常信息。如在日志信息中出現(xiàn)“error”信息,則可直接判定為異常。
2)序列錯(cuò)誤,即違背電力調(diào)度系統(tǒng)長期工作形成的行為基線的情況。日志中所記錄的動(dòng)作順序異常。
2.2.3 實(shí)現(xiàn)入侵檢測(cè)
針對(duì)上述異常情況,結(jié)合日志采集得到的非結(jié)構(gòu)日志數(shù)據(jù),提取相關(guān)行為向量。首先將非結(jié)構(gòu)化日志轉(zhuǎn)化為結(jié)構(gòu)化日志,該文采用SPELL 算法,該算法通過尋找日志之間長的公共子序列,對(duì)日志進(jìn)行結(jié)構(gòu)化解析,該算法將日志分解為事件模板和參數(shù)序列,該文使用該算法解析的事件模板的集合,即日志鍵序列進(jìn)行下一步處理。
在提取到相關(guān)日志鍵序列后,對(duì)于機(jī)器學(xué)習(xí)算法來說仍然不能訓(xùn)練,日志鍵序列仍是文本形式,對(duì)于機(jī)器學(xué)習(xí)算法來說,輸入應(yīng)為數(shù)值型,因此對(duì)日志鍵序列進(jìn)行one-hot 編碼,將日志鍵序列中每一個(gè)元素生成為行為向量。利用LSTM 對(duì)SPELL 算法獲得的入侵檢測(cè)模型進(jìn)行檢測(cè),本質(zhì)上是通過構(gòu)建分類模型解決行為向量的二分類問題,完成檢測(cè),獲得精確度最優(yōu)解。
該文以某電力調(diào)度系統(tǒng)采集的實(shí)際數(shù)據(jù)為基礎(chǔ)數(shù)據(jù),假設(shè)其全部為正常數(shù)據(jù),參考實(shí)際電網(wǎng)運(yùn)行過程中異常行為較少的情況,將其按照9∶1 的比例進(jìn)行分配,其中90%作為正樣本,其余的10%通過置換、替換等操作,構(gòu)造異常報(bào)文和序列,以此作為訓(xùn)練數(shù)據(jù)集,并以同樣的方式構(gòu)造測(cè)試集。最終的數(shù)據(jù)如表1 所示。
表1 數(shù)據(jù)樣本
同時(shí),針對(duì)二分類問題,該文采用多種二分類算法來進(jìn)行模型訓(xùn)練,主要包括決策樹、隨機(jī)森林、SVM、OCSVM 和LSTM 五種方法,驗(yàn)證該文使用的LSTM 模型的性能。
三個(gè)評(píng)價(jià)指標(biāo)精確率(Precision)、召回率(Recall)、F1-Score 的計(jì)算公式分別如下:
式中,TP 為真正例數(shù)量,F(xiàn)P 為假正例數(shù)量,F(xiàn)N為假負(fù)例數(shù)量。
實(shí)驗(yàn)中統(tǒng)計(jì)樣本分類正確率,采用10 次實(shí)驗(yàn)結(jié)果的平均值作為各個(gè)算法分類性能的評(píng)價(jià)指標(biāo)。各類算法實(shí)驗(yàn)結(jié)果對(duì)比如圖4 所示。
圖4 五種算法性能比較
在實(shí)際模型訓(xùn)練的過程中,訓(xùn)練數(shù)據(jù)的不平衡,導(dǎo)致依賴標(biāo)記數(shù)據(jù)比例的決策樹、隨機(jī)森林、SVM 三種算法的召回率較低,主要是因?yàn)樨?fù)樣本數(shù)量過少,機(jī)器學(xué)習(xí)模型學(xué)習(xí)到的特征也較少,而該文使用的LSTM模型在設(shè)計(jì)的過程中,充分考慮了序列之間的關(guān)聯(lián)關(guān)系,其分類效果較好,LSTM 的F1-Score 為96%。實(shí)驗(yàn)結(jié)果表明,使用LSTM 方法提高了在樣本不均衡情況下電力終端設(shè)備異常行為檢測(cè)的能力。
該文針對(duì)電力調(diào)度系統(tǒng)檢測(cè)手段靜態(tài)、單一的問題,提出基于行為分析的電力調(diào)度系統(tǒng)入侵檢測(cè)方法。解析調(diào)度系統(tǒng)的日志信息,提取異常行為特征,并構(gòu)建行為向量,采用LSTM 方法訓(xùn)練機(jī)器學(xué)習(xí)模型,進(jìn)行調(diào)度系統(tǒng)異常行為檢測(cè)。實(shí)驗(yàn)表明,該文采用的LSTM 模型的效果最優(yōu),有效解決了電力調(diào)度系統(tǒng)入侵檢測(cè)的時(shí)間維度關(guān)聯(lián)問題,提高了檢測(cè)結(jié)果準(zhǔn)確率。