李佳瑋, 吳克河,張波
(1.華北電力大學控制與計算機工程學院, 北京市 102206;2.國網北京市電力公司,北京市 100031;3.全球能源互聯網研究院有限公司,南京市210003)
現代智能電網高度結合信息和通信技術,監控電力網絡運行情況,以達到節約能源,增強電網可靠性的目的。隨著智能電網的復雜性增加,信息系統與物理系統深度耦合,導致現有信息系統所存在的安全隱患給物理系統的運行造成影響。隨著物聯網的快速發展,攻擊者可以通過互聯網利用這些安全風險和漏洞進行遠程攻擊,進而破壞物理電力系統的穩定運行。例如2010年發生的震網(Stuxnet)病毒針對伊朗核設施進行破壞性攻擊,進一步表明工業控制環境下的信息系統安全問題會對工業系統穩定運行造成致命影響。隨著信息技術的深入發展,現有物理電力系統對信息系統的依賴性也不斷加深,這必然導致網絡攻擊會干擾控制系統的正常運行甚至使系統崩潰。因此,及時檢測和評估電網信息系統的各種安全風險,對于電力信息系統設計、控制和運行至關重要。
近年來,應用于信息安全系統的風險評估技術已被廣泛應用到電力系統的許多方面[1]。風險評估是一種對安全威脅事件發生可能性的量化評估技術,它通過對信息系統和網絡中的信息資產遭受攻擊破壞從而對整個系統造成的損失進行定量分析,來對整體系統的安全風險實現量化等級評估。電網信息安全的風險評估實際上就是尋找影響系統安全因素與安全風險等級之間的函數關系模型,并依據該模型來判斷當前系統的安全風險大小。
文獻[2]從拓撲結構、交互風險和系統運行等層面對電力系統可能面臨的動態風險進行識別和傳遞仿真。文獻[3]從系統脆弱性角度對信息系統建立風險評估模型。文獻[4]采用故障后負荷控制代價評價監控設備和通信鏈路故障對電網的影響。文獻[5]基于通信延遲和通信中斷的概率評估電力系統在靜態和動態下的脆弱性。文獻[6]基于路徑分析方法來解決多步跨域類攻擊對電力信息物理系統的危害問題。文獻[7]分析了網絡攻擊下的電子網絡物理系統脆弱性。文獻[8]研究了系統性能與系統可靠性之間的關聯問題。
由于安全風險評估具有復雜性、非線性和不確定性,這些評估方法通常都具有一定的局限性,并且存在主觀上的任意性和模糊性。近年來,人工智能算法(如決策樹、模式識別、模糊邏輯、人工神經網絡和專家系統)被逐步應用于電力網絡信息系統安全風險評估領域[9-12]。文獻 [9]提出了一種基于決策樹算法的智能信息安全風險評估方法。文獻[10]提出了基于改進的小波神經網絡的信息安全風險評估方法。 文獻[11]提出了基于灰色分析網絡過程的信息安全風險評估方法。文獻[12] 提出了基于模糊專家系統的電力系統信息安全風險評估方法。但是,由于電力信息系統中存在很多安全風險因素,這些方法容易導致計算量高、準確性低以及安全風險評估復雜等問題。安全風險評估過程中的基本工作是構建風險等級分類模型。
綜上所述,現有的電力系統風險評估方法主要是根據樣本數據進行分類求解,從而得出安全風險等級,但無法得到將風險等級和安全風險因素聯系在一起的分類數學模型。為了更好地解決這些問題,同時降低高維度數據集下的運算量,本文提出一種改進的基因表達式編程(gene expression programming, GEP)算法用于電網信息安全風險評估。該算法結合歸因約簡和樣本優化思路,首先利用分辨函數求解最優屬性對數據樣本進行約簡降低樣本維度,再利用小生境模型提高樣本個體的多樣性以改善收斂效果,最后通過遺傳算法實現全局搜索并得到安全風險等級評估結果。
本文采用分辨函數實現屬性約簡,在進行屬性約簡時,首先利用分辨函數將原有的屬性約簡問題等價為布爾邏輯表達式求解問題,進一步通過對布爾邏輯表達式約束來實現屬性約簡。在求解過程中,用條件屬性表示系統信息分辨能力,以此表達對象間的分辨關系[13]。
影響電網信息安全風險評估的因素眾多,利用GEP直接進行高維數據集的風險評估函數挖掘是一件非常困難的事,為了更好地對這些高維數據集進行有效挖掘,本文采用分辨函數對樣本數據進行屬性約簡,在不改變約簡后數據的決策規則基礎上,提高決策效率。
GEP算法屬于進化算法,基于生物基因結構和功能實現自適應演化。像所有自然或人工進化算法一樣,GEP使用個體種群(模型或解決方案的集合),根據適應性進行選擇和繁殖,并使用一種或多種遺傳算子(例如突變、重組、交叉或其他遺傳)引入遺傳變異[14]。GEP在復制選定的模型時,會在一定程度上進行遺傳變異,從而創建下一代新模型。通過重復此過程,可以找到解決方案的近似最優解。GEP算法使用固定長度的線性染色體編碼實現多個表達樹或子程序,可以將其組織成一個更加復雜的程序。因此,GEP算法使用的基因樹結構可以快速全局搜索整個樣本數據空間。
GEP算法由染色體和表達樹構成。染色體是編碼信息,表達樹則是染色體編碼遺傳信息的一種表達。本質上,信息解碼的過程稱為翻譯。這種翻譯顯然意味著一種代碼和一組規則。GEP的遺傳密碼為基因符號,與它們在樹中代表的節點之間是一對一的關系。規則包括空間組織以及空間組織和表達樹之間的交互關系。在GEP中,使用基因語言表述遺傳信息,使用表達樹語言表示規則信息。這意味著可以選擇以其緊湊的基因組表示一個非常復雜的程序,而不會失去意義。因此,GEP基因通常在終止點下游具有非編碼區。這些非編碼區顯然不會干擾表達,但是它們在進化中起著至關重要的作用。
在GEP中,采用等長的多個基因構成一個染色體。選擇不同的基因數量和長度來表示不同的問題或者是某個運行程序。每種基因都采用一個子表達樹表示其基因表碼,用子表達樹之間的相互作用關系來構成整個表達樹。
在生物進化領域,最常見的一種進化類型是相似的物種往往會在一個較為封閉的特定區域內進行演化競爭,這稱為小生境模型。文獻[15]提出將小生境模型運用到基因表達式編程中,其基本思路是將樣本進行聚類,將每個分類看作是一個小生境環境,在每個小生境環境中選取適應度較大的樣本進行雜交演變,變異出下一代個體群。然后在下一代群體中選取適應度大的代表樣本重復進行雜交演變。不同的小生境環境之間也進行雜交變異以形成新的個體群。通過這樣的方式來生成實際問題的最優解。
傳統的進化算法在雜交演變過程中,個體結合方式采用隨機選擇,這導致容易出現在進化后期個體樣本大多聚集在局部極值點上,僅能獲得局部最優解而難以獲得全局最優解。而基于小生境模型的進化算法中,不僅考慮了同一小生境環境下的種群雜交演化,同時還在不同種群之間完成雜交演化。個體結合方式并不是隨機選擇,而是選擇適應度較大的個體作為小生境環境下的代表樣本進行雜交,這就保證了全局搜索能力。也就是說,基于小生境的進化算法,其核心思想是不僅采用小生境環境下的最優個體實時雜交演變,同時通過不同小生境環境之間的雜交保證樣本的多樣性。因此基于小生境環境的進化算法有較好的全局搜索能力,并保持較快的收斂速度。
本文提出的基于小生境遺傳算法的電網信息安全風險評估模型的整體流程如圖1所示,右半部分為本文提出的優化流程,左半部分是傳統的操作流程。
傳統的GEP算法在挖掘電網信息安全風險評估函數模型時,易出現大量重復個體,導致算法早熟收斂。為了解決這些問題,本文提出了一種改進的基因表達式編程算法。其主要步驟如下:1)首先利用分辨函數求解最優屬性對數據樣本進行約簡,降低樣本維度;2)利用小生境模型提高樣本個體的多樣性以改善收斂效果;3)通過遺傳算法實現全局搜索并得到安全風險的等級評估結果。

圖1 安全風險評估模型算法流程圖Fig.1 Algorithm flowchart of security risk assessment model
定義1風險評估樣本決策表:設數據集D=[U,AT=A∪B,VAT,f],U={u1,u2,…,un}是風險評估樣本組成的集合;AT代表屬性集合,且AT=A∪B,其中A={a1,a2,…,am}是條件屬性集合,即信息和物理安全風險要素;B={b1,b2,…,bl}是決策屬性集合,即安全風險要素集中的風險等級集合。VAT表示屬性AT的值域。f:U×AT→VAT代表信息函數,用來確定U中每一對象uj的屬性值,即?r∈AT,uj∈U,有f(uj,r)∈VAT。則稱D為風險評估樣本決策表。
定義2不可分辨性: 在風險評估樣本數據集D=[U,AT=A∪B,VAT,f]中,對于任意子集C?AT,若ui,uj∈U,?r∈C,當且僅當f(ui,r)=f(uj,r)時,稱樣本數據對象ui,uj是不可分辨的,簡記為DIN(C),即DIN(C)={(ui,uj)∈U| ?r∈C,f(ui,r)=f(uj,r)}。
設矩陣W=(wij)n×n。
(1)
稱矩陣W為分辨矩陣,其中元素wij是能夠區別對象ui和uj的所有對象屬性的元素。
分辨矩陣W表示信息系統屬性間的不可分辨關系,通過對分辨矩陣進行求解找到所有約簡的值,進而可以獲得約簡的最優解。
假設上述風險評估樣本決策表D=[U,AT=A∪B,VAT,f]為布爾函數,該布爾函數是wij的合取,而wij是分辨矩陣W中各個元素的析取。則g=∧(∨wij), 1≤j
每一個屬性約簡即為分辨函數析取范式中的對應合取式。而其核是矩陣中所有元素的集合,即:
Ccore(AT)={a∈AT:wij=a,1≤j
(2)
從析取范式中提取的每一個合取式都為一個約簡,最終得到約簡集合。記約簡后的風險評估樣本決策表為D′。
在上述定義的基礎上,整個樣本數據屬性約簡算法描述如下:
1)初始階段:
設置風險評估樣本決策表D=[U,AT=A∪B,VAT,f]。
2)運行階段:
步驟1:構造分辨矩陣W=(wij)n×n,i,j=1,2,…,n;
步驟2:構造分辨函數:g=∧(∨wij), 1≤j
步驟3:利用式(2)對分辨函數g進行化簡,使之成為析取范式,析取范式中每一個合取式都為一個約簡;
步驟4:輸出約簡后的風險評估樣本決策表為D′。
屬性約簡其本質是對高維數據集進行降維,通常會帶來信息損失。但基于分辨函數求解的屬性約簡,由于屬性約簡函數的自身特性,這種降維處理不會改變原有數據固有的決策屬性和能力。因此在基于分辨函數求解的屬性約簡基礎上,基于GEP進行電網信息安全風險評估模型挖掘和直接利用GEP進行模型挖掘的效果是一致的。但單一的GEP易陷于局部最優,因此本文將小生境技術應用到GEP中,通過小生境來增加GEP種群中個體的多樣性,從而極大地提高單一GEP的全局收斂速度,最終得到風險評估函數。
定義3設運算集F={+,-,×,÷,sin,cos,log},表示運算操作符號集合;終端風險要素集T={d1,d2,…,dp},其中p表示影響電力信息安全風險要素的屬性個數。則T×F為基于風險要素和運算規則建立的安全風險評估基因(security risk assessment gene, SRA)[16]。
定義4設fmax為當前GEP種群中實際的最優適應度值,Fmax為當前GEP種群中理論的最優適應度值,若fmax/Fmax>0.95,則稱當前GEP已全局收斂。
整個算法過程描述如下。
1)初始階段:
輸入2.1節約簡后得到的電網風險評估決策表D′,設種群大小為SPop,最大迭代次數為GMax;迭代終止的適應值為fMaxFitness,設置小生境半徑R和小生境容量V的值。
2)運行階段:
步驟1:計算群體中所有個體的適應度值。
步驟2:根據適應度值對個體進行降序排列。
步驟3:當個體大于R值時,將該個體指定為一個新的小生境中心,且標記為winner;否則當小生境容量足夠時將該個體加入到對應小生境中,對應小生境的容量總數加1。若小生境容量達到V則將該個體標記為loser。
步驟4:所有winner的適應度值不變,所有loser的適應度值為0。
步驟6:重復步驟1至步驟5直至適應度值達到fMaxFitness或是迭代次數達到GMax。
步驟7:返回最優的風險評估函數。
本文實驗設計如下,其中屬性約簡程序通過Rosetta實現,風險評估模型挖掘通過Java實現,實驗平臺為Win10 + Eclipse 3.2+Java1.8。在性能對比上本文和文獻[16]提出的基于表達式編程算法的信息安全風險評估模型進行性能對比。
本實驗的數據主要來源于國家電網有限公司某省級電網公司信息系統。首先分析該電網目前的資產,目前接入該公司管理信息大區的物聯網業務系統30種,設備終端131種,共計669.83萬臺。該公司業務主要為國家電網有限公司傳統信息業務,主要涉及車輛管理、基建工程、倉儲物資、電動汽車、電力繳費、輸配變電線路在線監測、電能質量在線監測、用電信息采集、供電電壓采集、電力巡檢/應急搶修、配電自動化等。
其次分析該電網公司信息系統安全風險,得到相應的安全風險要素集,并通過該安全風險要素集中所有的值構造信息安全風險決策表。整個決策表中條件屬性(也即安全風險要素) 19個,決策屬性(也即安全風險等級) 5個(分別為較高、高、中、低、較低),數據為40組,對其進行量化和歸一化預處理后,取其中前30組數據組成訓練數據集,剩下的10組數據組成測試數據集。
為了評價本文提出算法的優劣,本文給出相關的性能評價指標定義。
定義5屬性約簡率: 令|A|表示約簡前電網風險評估決策表中包含的安全風險要素個數,|A′|表示約簡后的電網風險評估決策表中包含的安全風險要素個數,則稱α=|A′|/|A|為當前電網風險評估決策表的屬性約簡率。
由定義5可知,0<α<1,α越小,說明屬性約簡算法越有效。
定義6適應度損失率:定義Floss=1-fmax/Fmax為當前基于小生境遺傳算法的適應度損失率。
首先,微商、個人代購經營行為需要合法合規。一般來說,代購指在境外購買商品、在境內銷售并從中賺取差價的行為。根據將于2019年1月1日開始實施的《電子商務法》,電子商務經營者從事跨境電子商務,需要取得采購國和中國雙方的營業執照,還要依法足額納稅。而實際上,很多代購者并沒有取得法定的經營許可證,而是私下從事代購活動,且無相關資質,這不僅加大了消費者維權難度,也破壞了國家對外貿易管理規定,擾亂了跨境貿易秩序。
由定義6可知,適應度損失率Floss越低則算法的結果越接近真實情況。
定義7全局收斂率:設N為基于小生境遺傳算法運行的總次數,M為每一次基于小生境遺傳算法運行結果滿足全局收斂定義的次數,則稱β=M/N為基于小生境遺傳算法的全局收斂率。
由定義7可知,全局收斂率越高,則說明基于小生境遺傳算法的性能越好。
針對實驗數據集內容,其遺傳算法所用參數如下:函數集設定為F={+,-,×,÷,sin,cos,log};變量集根據基于分辨函數的屬性約簡(attribute reduction based on discernible function,AR-DF)算法得出;遺傳函數選用基因個數為3;基因頭長為9;其種群大小設為1 000;變異率定義為0.044,對應的一點交叉率、兩點交叉率以及Gene交叉率分別設定為0.3、0.3和0.1。適應度函數采用常用的相對誤差適應度函數[15],其定義為:
(3)
式中:R為小生境半徑;Pij為第i個染色體對第j個適應實例的預測值;Tj為第j個適應實例的真實值;fi是第i個染色體對環境的適應度值。選取不同的小生境半徑和小生境容量,其適應度損失率如圖2所示。
當小生境半徑定為0.1,小生境容量定為3時,可以在保證較好的適應度損失率時同時兼顧運算性能。進一步在R=0.1,V=3的情況下,對本文采用的算法和原始GEP算法的適應度損失率進行了比較,如圖3所示。

圖2 小生境算法適應度損失率Floss和參數R, V關系Fig.2 Relationship between niche algorithm fitness loss rate and parameter selection R, V

圖3 原始GEP算法和本文算法的適應度損失率比較Fig.3 Comparison of fitness loss rate between original GEP algorithm and proposed algorithm
由圖3可知,隨著學習的深入,2種算法的適應度損失率均快速下降,但本算法始終要優于原始GEP算法。上述結果表明了本模型對于原GEP的優化操作有效降低了GEP運算的適應度損失率。
圖4給出本文采用的AR-DF算法與常見的兩種屬性約簡算法,即主成分分析算法(principal components analysis,PCA)[17]和奇異值分解算法(singular value decomposition, SVD)[18]的屬性約簡率比較。圖5給出了在算法運行4次的情形下,AR- DF、PCA以及SVD在求解最優屬性約簡的4次耗時和平均耗時比較。
從圖4中可以看出,AR-DF、PCA和SVD算法的屬性約簡率分別為26.3%,47.4%和52.6%。與PCA和SVD算法相比,基于AR-DF算法的屬性約簡率分別提高約80%和100%。實驗結果表明了AR-DF算法的屬性約簡率明顯高于傳統的PCA和SVD算法,且AR-DF算法基于粗糙集理論實現,理論上可以保證在約簡后依然保留原有樣本數據的信息。而PCA是從統計學角度進行降維處理,SVD是采用矩陣分解原理進行降維處理,都有一定的信息損失。圖5顯示本文算法的屬性約簡效率是最高的, AR-DF比PCA的平均耗時少約59.83%,比SVD少約64.54%。這是因為AR-DF算法的時間復雜度最大為O(|U|×|AT|),而PCA和SVD的時間復雜度約為O(|AT|3)。從時間復雜度可以看出,條件屬性值越大,AR-DF算法的計算效率優勢越明顯。

圖4 AR-DF、PCA以及SVD算法的屬性約簡率比較Fig.4 Comparison of attribute reduction rate among AR-DF, PCA and SVD

圖5 AR-DF、PCA以及SVD算法在求解最優屬性約簡的耗時比較Fig.5 Time-consumption comparison among AR-DF, PCA and SVD
對約簡后的電網信息安全風險決策表進一步進行風險評估建模時的全局收斂率比較。 實驗過程重復進行4組,每組實驗運行算法50次,最大運行代數為30 000。
圖6給出了本文采用基于小生境遺傳算法的風險評估函數生成算法和文獻[19]采用的基因表達式編程算法對屬性約簡前后的電力信息安全風險數據集進行風險評估建模時的全局收斂率比較結果。圖7給出了運用本文算法進行風險評估時在屬性約簡計算過程中的耗時。圖8和圖9給出了本文算法挖掘得到的風險評估模型在訓練集和測試集上的真實值與模型計算值的比對結果。

圖6 屬性約簡前后本文算法和傳統算法的全局收斂率比較Fig.6 Comparison of convergence rates between proposed and traditional algorithm and T_GEP

圖7 屬性約簡前后本文算法的風險評估耗時比較Fig.7 Comparison of risk assessment time-consumption of proposed algorithm before and after attribute reduction
由圖6可知,在樣本數據集全局收斂率方面,本文提出的算法在屬性約簡前后都優于文獻[19]所采用算法。實驗數據屬性約簡前,本文算法的全局收斂率比文獻[19]所采算法提高約22.58%;實驗數據屬性約簡后,本文算法的全局收斂率比文獻[19]所采用算法提高約15.38%。同時,針對約簡后的實驗數據集,本文算法和文獻[19]所采用算法的全局收斂率都要比各自約簡前高。這表明,本文算法中采用的屬性約簡方法在高維數據集下的表現良好,其全局收斂率較高同時不影響決策分析。同時,小生境技術大大提高了GEP算法的全局收斂性。圖7結果顯示,針對表1中的實驗數據集,屬性約簡大大降低了安全風險評估模型挖掘的計算耗時。與屬性約簡前相比,屬性約簡后4次相同參數的實驗中本文算法的平均耗時最大減少約52.4%。其原因在于,屬性約簡大大簡化了種群的復雜度,進一步加快了種群中各類遺傳操作和計算,從而大大減少了計算耗時。

圖8 針對訓練數據集的基于本文算法的風險評估真實值與模型值比較Fig.8 Comparison of the real value of risk assessment and model value based on proposed algorithm for training data set

圖9 針對測試數據集的基于本文算法的風險評估真實值與模型值比較Fig.9 Comparison between real value and model value of risk assessment based on proposed algorithm for test data set
圖8和圖9反映了電網信息安全風險評估決策表中訓練和測試數據真實值與模型計算值之間的擬合程度。圖8表明針對訓練數據集,在屬性約簡情況下,其得到的模型計算值與真實值之間最大誤差為0.291 3,最小為0.001 9,平均誤差為0.075 0。圖9顯示在測試數據集上,本文所提的屬性約簡算法所得的模型計算值與原有真實值之間誤差很小,其平均誤差為0.060 0,最大誤差為0.130 0,最小誤差為0.004 0。因此,本文所提方法具有較高的預測精度。
圖10為本文算法和傳統遺傳算法的風險評估準確率比較結果。參與比較的遺傳算法有:量子遺傳算法(quantum genetic algorithm,QGA)[19]和基于長短期記憶的遺傳算法(genetic algorithm with long short term memory,GA-LSTM)[20]。由圖10可知,針對本文選用的數據集,本文算法的準確率達到了97.62%,優于其余2種傳統遺傳算法。

圖10 本文算法和傳統遺傳算法評估結果比較Fig.10 Comparison of the evaluation results among three genetic algorithms
隨著信息通信技術在電網中的不斷深入應用,信息系統的各類安全風險勢必會影響到物理系統的正常運作,及時發現和評估電力信息物理系統的安全風險,對其安全穩定運行至關重要。本文提出了一種改進的基因表達式編程算法,該算法包括樣本降維處理、樣本多樣化泛化以及全局搜索3個過程。首先利用分辨函數求解算法對數據樣本實現屬性約簡降低樣本維度;接著利用小生境模型提高樣本個體的多樣性以改善收斂效果;最后通過遺傳算法實現全局搜索并得到安全風險的有效評估等級。仿真實驗表明,本文所提算法與現有基于基因表達式編程算法的信息安全風險評估模型相比,平均耗時最大減少約52.4%,預測值模型精度平均誤差為0.06,算法的準確率達到了97.62%,為未來電力信息物理系統安全風險及時準確的評估預測奠定了良好地算法基礎。