沈陽理工大學自動化與電氣工程學院 安攀峰
基于SVM的工業控制網絡入侵檢測方法應用研究
沈陽理工大學自動化與電氣工程學院 安攀峰
入侵檢測在工控網絡的安全防護中具有重要的作用。本文基于支持向量機(SVM)的通信行為入侵檢測方法,首先介紹工控網絡信息安全和入侵檢測要求的特殊性,分析了檢測特征的提取方法,研究幾種SVM算法的入侵檢測建模與應用,以提高對異常攻擊行為的檢測率,增強工控網絡系統安全防御能力。
工業控制網絡;入侵檢測;SVM
隨著網絡化與信息化的深度融合,工業控制系統已經發展成為一個開放式的網絡環境。工控網絡技術的應用促進了生產效率的提高,同時也帶來了信息安全風險,容易遭受傳統的IT系統網絡攻擊[1]。入侵檢測是一種主動的信息安全防護技術,能夠根據攻擊行為的操作模式,分析產生的數據特征變化,以實現對異常攻擊的有效檢測。針對工控系統的網絡攻擊行為,主要是入侵者利用系統存在的安全漏洞,根據采用的工控通信協議規約,傳輸惡意的攻擊數據,對控制器、終端設備等進行攻擊。本文結合機器學習算法SVM的數據分類優勢,從實際應用的角度分析存在的安全問題,研究通信行為的特征提取和入侵檢測方法,最后根據具體的安全防護目標,設計了幾種SVM算法的入侵檢測建模和應用方法。
工業控制系統的網絡化發展導致了面臨的安全風險和入侵威脅不斷增加,特別是與企業網和互聯網的相連接,使得各種針對工控系統關鍵基礎設施的攻擊操作,能夠對工業生產設備進行攻擊。異常攻擊者通過利用在操作系統、上位機軟件等的安全漏洞進入到工控通信網絡,冒充正常的用戶進行不合法的操作。
目前,在IT信息系統的入侵檢測技術應用相對成熟,但由于與工控網絡系統結構、功能和安全要求的差異性,不能直接應用于工控系統的安全防護。如何建立高效的工控網絡入侵檢測系統,需要對提取反映通信行為模式差異的檢測特征和設計適應工控網絡復雜環境的檢測算法進行研究,其中,檢測算法是工控網絡入侵系統的核心,檢測特征是有效實現異常行為判別的基礎和關鍵。SVM是基于統計學習的機器學習算法,在傳統IT系統入侵檢測、故障診斷、圖像識別等領域都有大量的理論研究,結合實際的工業控制網絡信息安全問題,本文研究相關SVM算法的工業通信行為檢測應用。
在工業控制網絡的傳輸流量數據中,包含了基于通信協議和基于主機的通信行為數據。
工控系統網絡的入侵檢測實際上是對通信行為的預測判別,以實時檢測出異常攻擊操作。由于工業控制系統環境的復雜性,工控網絡包含了各種數據讀取、信息查詢、設備控制的等實際通信行為,如何根據通信行為的特征進行操作模式分析,對提高入侵檢測算法的實際應用能力非常重要。
由于工控系統主要為控制生產設備的工藝流程,并根據功能需求進行數據信息的傳輸,正常的工業通信行為具有一定的周期性和有限性。入侵檢測系統為利用通信行為的檢測特征,對數據進行分析處理,并利用設計的檢測算法進行異常行為的分類判別。根據SVM算法的分類原理,特征提取需要深度解析異常行為的操作模式,并從通信網絡的流量數據中,選擇或構造能夠反映正常行為和異常攻擊操作模式差異的行為特征。
3.1 標準C-SVM的入侵檢測方法
針對工業控制網絡入侵檢測技術的研究,實際上是對工業通信行為進行預測分類的模式識別問題,入侵檢測系統的建立是根據數據樣本的特點,利用入侵檢測算法對通信行為進行分析和判別。標準的C-SVM是對數據樣本的二分類算法,能夠適用于對正常行為和異常攻擊的檢測判別,主要的入侵檢測建模過程如下:
Step1:獲取通信行為數據,構造入侵檢測建模的訓練和測試樣本集;
Step2:設定懲罰因子參數和核函數參數;
Step3:根據訓練數據樣本集,訓練入侵檢測模型;
Step4:利用測試數據樣本對訓練模型進行測試;
Step5:如果訓練模型滿足測試樣本的檢測性能要求,求得通信行為的決策函數,否則重新設定訓練參數,以獲得滿足要求的入侵檢測模型。
在對以上標準C-SVM算法的入侵檢測建模中,核函數的選擇是一個關鍵的環節,決定著對數據樣本的非線性映射,影響最終的通信行為檢測率。同時,懲罰因子參數也非常重要,能夠減小的數據樣本噪聲造成的分類性能缺陷,對檢測模型的泛化能力具有重要的作用[2]。
3.2 基于OCSVM的入侵檢測方法
由于標準的C-SVM算法是對兩類平衡樣本的數據分類方法,如果兩類訓練數據樣本具有較大的差異,將使得分類模型難以滿足實際領域的應用需求,如在入侵檢測、故障診斷等分類的模式識別問題中,難以獲取異常的數據樣本或具有很少的異常數據樣本。單類支持向量機(OCSVM)只需要一類數據樣本,即只利用正常的通信行為數據就可以建立入侵檢測模型[3],通過對周期性和有限性的行為數據樣本進行學習,訓練模型能夠識別不同于正常模式的異常攻擊操作。利用OCSVM算法的入侵檢測建模過程如下:
Step1:根據獲取的通信行為數據,構造只包含正常行為樣本的訓練數據集和包含兩類數據樣本的測試數據樣本集;
Step2:設定OCSVM訓練模型的參數;
Step3:訓練正常行為的檢測模型;
Step4:對測試數據樣本集進行檢測判別;
Step5:如果兩個通信行為的檢測率達到設定目標,則輸出OCSVM的入侵檢測判別函數,否則重新設定訓練參數,并訓練入侵檢測模型。
根據OCSVM分類算法的原理,可以解決工控網絡系統異常行為樣本少和難以獲取的問題。但是不同類型的攻擊行為數據,特別是新型異常攻擊,對實時增強入侵檢測系統的檢測能力非常重要。如果訓練模型不利用已有的異常行為信息,對建立高效的通信行為檢測系統本身是一種缺陷。
3.3 加權SVM的入侵檢測方法
工控網絡通信行為具有數據樣本不平衡的特點,而標準的C-SVM算法在處理樣本類別差異較大的分類問題中,分類錯誤率偏向于小樣本數據;對OCSVM的分類算法只需利用正常行為數據樣本,但缺少對異常攻擊數據信息的利用。基于加權SVM的入侵檢測方法,通過對數據類和樣本的加權處理,減少數據樣本不平衡及數據噪聲對分類精度的影響[4]。加權SVM算法的入侵檢測建模過程如下:
Step1:根據實際的通信行為數據樣本,構造相應的訓練和測試數據集;
Step2:設定算法的訓練模型參數;
Step3:分析兩個數據樣本的規模和重要類型的數據樣本,并設定對不平衡數據類的加權參數和對重要樣本的加權參數;
Step4:訓練加權SVM的入侵檢測模型;
Step5:對測試數據集進行檢測判別;
Step6:入侵檢測檢測結果符合系統設計要求,則獲得對通信行為的決策函數,否則修改訓練模型和加權處理參數,進行新的模型訓練。
在利用SVM算法的入侵檢測建模中,不僅要考慮對通信行為的檢測率,也要分析具體漏報率和誤報率。同時,由于工控網絡設備對通信實時性的要求,入侵檢測方法的應用需要充分考慮檢測時間的指標,并對冗余的檢測數據信息進行處理,以適應工控系統復雜環境的特點。
工業控制網絡的信息安全問題越來越多地引起到社會關注,與此同時,對工控通信行為入侵檢測方法的研究也將得到更大的發展。本文針對工業通信行為的入侵檢測,說明了通信行為的檢測特征提取方法,進一步的對標準C-SVM、OCSVM和加權SVM算法的入侵檢測建模進行介紹,以促進SVM算法在工控網絡入侵檢測中的應用。
[1]彭勇,江長清,謝豐,等.工業控制系統信息安全研究進展[J].清華大學學報(自然科學版),2012,52(4):1396-1408.
[2]譚愛平,陳浩,吳伯橋.基于SVM的網絡入侵檢測集成學習算法[J].計算機科學,2014,41(2):197-200.
[3]張云貴,張偉,薛向榮,楊小軍.基于自學習半監督單類支持向量機的SCADA入侵檢測系統[J].冶金自動化,2013,37(02):1-5.
[4]廖明.加權支持向量機若干算法的研究及其應用[D].長沙:湖南大學,2011.