一種風電機組控制軟體異常行為檢測與導向安全方法
2023-07-25 05:29:06
專利名稱:一種風電機組控制軟體異常行為檢測與導向安全方法
技術領域:
本發明涉及風力發電機組安全與保護技術領域,尤其涉及風電機組控制軟體運行時安全性檢測與處理。
背景技術:
隨著風能開發利用的不斷深入,我國風電場建設朝高海拔、海上等風速變化劇烈、強雷電地區拓展。劇烈變化的風速使風電機組發電系統輻射強度更大的電磁波;強雷電直接形成強大的電磁幹擾。儘管風電機組控制計算機系統進行了抗電磁幹擾方面的處理,但是由於電場耦合、磁場耦合、公共阻抗耦合難於消除,強電磁幹擾將使控制電腦程式跑飛的概率增加,控制程序跑飛後,將引起控制行為的混亂。同時,由於監控、調度的需要,風電機組控制計算機系統普遍接入網絡,出於競爭、利益、好事、情緒發洩等原因,風電機組控制器面臨各種在線攻擊。儘管可以通過通信與數據安全手段進行一定強度的防禦,但由於系統安全缺陷與軟體漏洞總會存在,在計算機領域,目前尚不能有效防範攻擊者利用這類安 全脆弱點取得系統控制權。一旦攻擊者成功入侵機組控制系統,將可能運行惡意代碼,幹擾機組的控制,使機組的控制陷入紊亂。無論是機組控制電腦程式跑飛,還是運行惡意指令,均是偏離控制源程序意圖,是異常行為。現有風電機組應對軟體異常行為主要依賴看門狗技術,程序如果不能在規定的時間內輸出信號使看門狗復位,看門狗輸出信號觸發機組安全鏈,通過緊急停機對機組進行保護。但大型機組緊急停機,將會對機組的制動系統、齒輪箱、主軸和葉片以及塔架產生強烈的衝擊,增加部件的載荷和疲勞,影響部件壽命,需要儘量避免。更為嚴峻的是,看門狗只能檢測出控制軟體執行周期異常,粒度過粗,檢出蓄意破壞的能力薄弱。因而需要考慮引入新的機制檢測並應對軟體異常行為,為機組安全提供保障。從理論上說,可以在風電機組控制計算機中部署檢測軟體進行異常行為檢測與處理。但實際上,一方面,出於可靠性考慮,機組控制普遍採用PLC控制系統,其計算資源有限,難於實現自身安全的檢測軟體平臺,當控制程序被破壞時,檢測程序本身有可能已被破壞,失去功能;另一方面,需要控制軟體配合(如函數籤名,插裝)才能實現檢測功能,須要對已有的機組控制軟體進行改寫,而風電機組對安全的苛求,控制軟體更改後需要經過嚴格的測試與驗證才能應用,代價十分高昂,需要儘量避免。隨著技術的發展與進步,目前越來越多的PLC主控制器都能輸出本身所執行的指令流,這為本發明提供了契機。
發明內容
本發明的目的在於提出一種風電機組控制軟體異常行為檢測與導向安全方法,該方法可以檢測風電機組主控制器軟體跑飛或執行計劃外代碼的異常行為,並在這類異常發生時將機組導向安全。為達此目的,本發明採用以下技術方案構建獨立於機組控制器的軟體異常行為檢測與應對系統,與機組控制器並行運行。首先由異常檢測模塊檢出控制軟體運行期的異常行為,其檢測方法是,將主控制器交付運行的指令逐條與機組控制軟體二進位原始碼進行比對,如果主控制器輸出的指令違背控制流圖或者不符合基本塊內部指令順序關係,則是發生異常行為。然後導向安全模塊收到異常檢出信號,由通信通路管理模塊切斷主控制器與通信模塊的通信,建立導向安全模塊與通信模塊的通信,採用導向安全方法將風電機組按正常停機模式停機。整個過程和各個模塊獨立於機組主控制器自治運行,控制軟體正常運行時裝置對主控系統無幹擾。本發明的有益效果是,首先軟體異常行為檢測的各個模塊獨立於機組控制軟體,這樣不需要對機組控制軟體做任何改動。然後軟體異常行為檢測方法能有效地檢測出軟體的異常行為。最後導向安全方法能夠在檢測出機組控制軟體行為異常時,實時地將機組導向安全。
圖I是本發明具體實施方式
中軟體異常行為檢測與應對系統的體系結構。圖I中, ①表示指令流;②表示異常檢出信號;③表示主機關機信號;④表示傳感器信號表示通路切換信號表示機組控制信號。圖2是本發明具體實施方式
中軟體異常行為檢測原理。圖3是本發明具體實施方式
中通信通路切換原理圖。
具體實施例方式下面結合附圖並通過具體實施方式
來進一步說明本發明的技術方案。圖I是本發明具體實施方式
中軟體異常行為檢測與應對系統的體系結構。如圖I所示,該結構包括機組主控制器101,異常行為檢測與應對系統102,通信模塊103,其中異常行為檢測與應對系統進一步包括異常檢測模塊121,通信通路管理模塊122,導向安全模塊 123。通信模塊103對應PLC的通信板卡,通信功能自治;機組主控制器101和異常行為檢測與應對系統102是PLC主機板卡的核心部件;異常行為檢測與應對系統102獨立於機組主控制器101,與之並行運行。異常行為檢測與應對系統102在主機控制器運行期實時檢測機組控制軟體是否發生行為異常,檢測具體表現為機組主控制器101在控制軟體運行期間時刻向異常檢測模塊121發出指令流①。未檢出異常時,異常檢測模塊121不發出任何指令,這樣達到異常行為檢測與應對系統102對系統控制不進行任何幹預的目的。如果檢測出異常,異常檢測模塊121嚮導向安全模塊123發送異常檢出信號②;導向安全模塊123在收到異常檢出信號②後,按照事先定義的異常應對方法,向機組各執行器件發送控制指令,向主控制器101發送主機關機信號③,向通信通路管理模塊122發送通路切換信號⑤和機組控制指令⑥;這時通信通路管理模塊122向機組主控制器101和通信模塊103發出機組控制指令⑥,屏蔽機組主控制器101對機組的控制,由異常行為檢測與應對系統102接管機組控制,同時接收機組主控制器101、通信模塊103收集的傳感器信號④,再將傳感器信號④發送給導向安全模塊123,由導向安全模塊123根據傳感器信號④的實時信息制定相應的停機策略,將機組導向安全。
實現異常行為檢測與應對系統102對控制的接管。在正常情況下,機組主控制器101與通信模塊103之間的通信保持暢通,而切斷異常行為檢測與應對系統102與通信模塊103之間的通信,機組主控制器101控制機組;在軟體發生異常行為的情況下,切斷主控制器101與通信模塊103之間的通信,而導向安全模塊123與通信模塊103之間的通信保持暢通,異常行為檢測與應對系統102控制機組。圖2是本發明具體實施方式
中軟體異常行為檢測原理。如圖所示,該原理圖包括二進位原始碼201,靜態分析202,基本塊與控制流圖文件203,文件格式化204,異常檢測模塊205,機組控制計算機206,導向安全模塊207。其中異常檢測模塊進一步包括動態指令偵聽模塊251,指令格式化252,參照文件253,比對邏輯254。預處理離線進行,對控制軟體的二進位代碼201進行靜態分析202,生成控制流圖文件203,同時給出每個節點(基本塊)的具體內容;為配合檢測系統的實現,使檢測系統能兼容各種系統,將基本塊與控制流圖文件203進行文件格式化204轉換,無論系統採取何種指令集,轉換後用統一的格式表達基本塊之間的轉移關係,用統一的格式表達基本塊內的指令,形成比對參照文件253。文件格式化模塊204對基本塊與控制流圖文件203進行 格式轉換與封裝,使比對邏輯254能理解程序控制流圖,同時抑制比對邏輯的複雜性。由於異常檢測模塊基於FPGA實現,如果直接將主控制器輸出的32位長的指令與原始碼對比,異常檢測模塊的邏輯將十分複雜。異常檢測的本質是獲知控制器執行的指令順序是否符合預期,對指令的具體內容不敏感,只要能區分指令順序就能滿足檢測需要,可以替代表達。用X=hash_4 (instruction)表示對指令instruction進行哈希值位長為4的哈希運算,其結果是X,那麼用X置換對應的指令是一種等效置換,置換後的基本塊稱為等效基本塊。異常檢測模塊205是獨立於機組控制計算機206的裝置,與機組控制計算機206並行運行,在線進行機組控制計算機206非預期行為檢測。動態指令偵聽模塊251實時獲取機組控制計算機處理器輸出的指令流,並實現與後繼處理過程的同步。指令格式化252實現將來自機組控制計算機的每條指令instruction進行hash_4 (instruction)運算,將得到的4位組數據流送往比對邏輯254。比對邏輯254以參照文件253為模板,對指令格式化252交付的指令逐條進行合法性判斷,如果發現不符合控制流圖或基本塊內容,異常檢測模塊254嚮導向安全模塊207輸出異常檢出信號,由導向安全進行後繼處理。為了確保異常檢測模塊205能捕獲機組控制計算機206運行的首條指令,在異常檢測模塊205就緒後向機組控制計算機206發送「允許啟動信號」,允許機組控制計算機206啟動。在檢出機組軟體行為異常時,通過正常停機將機組導向安全。為了避免緊急停機給風電機組造成巨大衝擊,在異常檢測模塊檢出機組控制軟體行為發生異常時,實現機組按正常停機模式停機。當異常檢測模塊輸出「異常檢出信號」時,導向安全模塊按以下步驟將機組導向安全。第一步,向通信通路管理模塊發出通信通路切換信號,以屏蔽主控制器與通信模塊的通信,建立異常應對模塊與通信模塊的雙向通信;與此同時,向機組主控制器發主機控制信號,使主控制器停機;第二步,異常應對模塊向機組傳感器取當前節距角、主軸轉速(發電機轉速)、剎車位置傳感數據,為正常停機提供必要參數;第三步,執行機組正常停機流程。針對具體機型,異常應對模塊實現具體的正常停機流程;第四步,異常行為檢測與應對模塊復位,主機控制器與通信模塊通信鏈路接通,使主機控制器下一次啟動時能正確控制機組。通過這些步驟的操作,機組按正常停機模式停機,並為下次開機做好準備。整個過程,不需要主控制器幹預,獨立於機組主控制器及其軟體。圖3是本發明具體實施方式
中通信通路切換原理圖。如圖3所示,該結構主要包括機組主控制器301,異常行為檢測與應對系統302,通信卡板303,開關邏輯1304和開關邏輯2305開關邏輯,異常行為檢測與應對系統還包括異常檢測模塊321,導向安全模塊322和通信通路管理模塊323。系統運行中,機組的控制需要在機組主控制器301和異常行為檢測與應對系統302間切換。為使切換過程與機組主控制器301無關,以保證機組控制軟體無須更改,通過對通信通路管理模塊323的調用來實現控制切換。機組主控制器中軟體運行正常的情況下,導向安全模塊322靜默,通信通路管理模塊323輸出開關控制信號使開關邏輯1304中的「開關」閉合,開關邏輯2305中的「開關」斷開,機組主控制器301與通信板卡303的通信鏈路暢通,異常行為檢測與應對系統302與通信板卡303通信鏈路斷開,由機組主控制器301控制機組;機組主控制器中的軟體行為異常時,在導向安全模塊322輸出的通信通路切換信號激勵下,通信通路管理模塊323輸出控制信號使開關邏輯1304中的「開 關」斷開,開關邏輯2305中的「開關」閉合,機組主控制器301與通信板卡303的通信鏈路斷開,異常行為檢測與應對系統302與通信板卡303通信鏈路暢通,由異常行為檢測與應對系統302控制機組;系統復位時,等效於機組主控制器中軟體運行正常的情況,通信通路配置為機組主控制器控制機組。
權利要求
1.一種風電機組控制軟體異常行為檢測與導向安全方法,其特徵在於,包括以下步驟A、取機組主控制器實時輸出的自身所執行的指令流到異常行為檢測與應對系統,該系統通過指令路徑分析而檢出軟體異常行為;B、異常行為檢出後,異常行為檢測與應對系統進行通信通路切換,實現對機組控制的接管;C、異常行為檢測與應對系統接管機組控制後,通過安全停機方法,將機組導向安全。
2.根據權利要求I步驟A、B、C所述的異常行為檢測與應對系統,其特徵在於,異常行為檢測與應對系統是硬體上獨立於風電機組主控制器的計算機系統,與風電機組主控制器並行運行。
3.根據權利要求I步驟A所述的指令路徑分析,其特徵在幹,將風電機組主控制器執行的指令逐條與機組控制器軟體ニ進位原始碼按順序進行指令比對,如果發現主控制器執行的指令不是機組控制軟體ニ進位源碼給出的可能的程序執行路徑之一,判斷為軟體異常行為。
4.根據權利要求I步驟B所述的通信通路切換,其特徵在幹,由異常行為檢測與應對系統切斷機組主控制器與機組控制執行機構的通信,並建立異常行為檢測與應對系統與機組控制執行機構的通信。
5.根據權利要求I步驟C所述的安全停機方法,其特徵在於,首先由異常行為檢測與應對系統令風電機組主控制器停機,然後由異常行為檢測與應對系統令風電機組按正常停機模式停機。
全文摘要
本發明公開了一種風電機組控制軟體異常行為檢測與導向安全方法,用於機組主控制器軟體運行時安全性檢測與處理。該方法要點是1)首先,取機組主控制器實時輸出的自身所執行的指令流到獨立於風電機組主控制器的異常行為檢測與應對系統,該系統通過發現機組主控制器執行的指令偏離控制軟體二進位源碼而檢出軟體異常行為;2)異常行為檢出後,異常行為檢測與應對系統通過對通信通路的切換實現對機組控制的接管;3)異常行為檢測與應對系統接管機組控制後,首先令機組主控制器停機,然後令風電機組按正常停機模式停機。採用本發明的技術方案,能實時檢出機組主控制器軟體跑飛或執行計劃外代碼的異常行為,並將機組導向安全。
文檔編號G06F11/36GK102831050SQ201110158128
公開日2012年12月19日 申請日期2011年6月14日 優先權日2011年6月14日
發明者蘇永新, 羅培嶼, 段斌 申請人:湘潭大學