中文字幕无码日韩视频无码三区

一種電力二次系統僵尸網絡的檢測方法

文檔序號:10615994閱(yue)讀(du):488來源(yuan):國知局(ju)
一種電力二次系統僵尸網絡的檢測方法
【專利摘要】本發明公開一種電力二次系統僵尸網絡的檢測方法,抓包模塊抓包并時序化報文,協議識別模塊解析報文協議并按預設的白名單匹配協議,組流模塊對報文按五元組組流生成流記錄,流序列拼裝模塊將流記錄按規則序列化成流序列,流序列特征提取模塊提取流序列特征并生成僵尸特征庫,特征匹配模塊判斷待測流序列的特征是否符合僵尸特征庫中的某種僵尸網絡。此種檢測方法可降低計算資源的消耗,具有良好的適應性和檢測準確率。
【專利說明】
-種電力二次系統僵尸網絡的檢測方法
技術領域
[0001] 本發明屬于電力系統自動化通信技術和網絡安全技術領域,特別設及一種電力系 統網絡分析儀和僵尸網絡檢測技術。
【背景技術】
[0002] 僵尸網絡是指通過各種手段在多臺設備中植入惡意程序,使僵尸控制者能相對方 便和集中地控制運些設備,向運些受控制的設備發布各種指令進行相應惡意活動的攻擊網 絡。隨著全球電力系統和互聯網技術的高速發展,電力二次系統的規模和復雜性越來越高, 智能化設備和W太網通信的普及在帶來更加豐富功能的同時,也為僵尸網絡的部署和傳播 創造了有利的條件。
[0003] 僵尸網絡檢測方法主要分為兩種,第一種基于分析可疑二進制可執行文件,運種 方法一般是通過蜜罐捕獲可疑二進制文件,分析攻擊記錄和活動記錄,發現并摧毀僵尸網 絡,運種方法分析周期長,消耗資源大,實時性差;第二種基于分析網絡流,通過深度包檢測 方法分析網絡報文的字段特征或者是分析流量的行為特征與關聯特征,從而找出僵尸流量 與正常流量的差異性,W此發現僵尸網絡,但由于網絡流量的復雜性,運種方法的準確性相 對較低。
[0004] 現有的廣域網中的僵尸網絡檢測方法對于電力二次網絡的僵尸網絡檢測并沒有 針對性,電力二次系統中使用的網絡協議相對較為固定,W站控層網絡為例,通常是103、 61850、DNP,少數情況下會有網絡形式的101和104,除此之外的所有協議報文都可W認為是 非常規協議,都可能由僵尸程序產生,所W可W用協議識別的方法檢測僵尸網絡。但當僵尸 程序使用103、61850等規約進行傳播和活動時,協議識別方法將失效,此時需要具有更廣泛 的應用范圍的流量行為分析方法補充檢測,但流量行為分析方法設及大量的計算,需要消 耗相當大的CPU和內存資源。
[0005] 因此需要一種能針對電力二次系統的特點,將協議識別方法、流量行為分析方法 相結合,在大大降低計算資源消耗的基礎上也擁有良好的適應性和檢測準確率的僵尸網絡 檢測手段,本案由此產生。

【發明內容】

[0006] 本發明的目的,在于提供一種電力二次系統僵尸網絡的檢測方法,其可降低計算 資源的消耗,具有良好的適應性和檢測準確率。
[0007] 為了達成上述目的,本發明的解決方案是:
[000引一種電力二次系統僵尸網絡的檢測方法,包括如下步驟:
[0009] 步驟一:抓包模塊將僵尸惡意代碼產生的報文時序化后,輸出至組流模塊;
[0010] 步驟二:組流模塊對輸入報文按協議、源端口、目的端口、源IP和目的IP組流,得到 流記錄集合,每條流記錄至少包含該流的流開始時間、流結束時間、報文總數及字節總數, 流記錄集合輸出至流序列拼裝模塊;
[0011] 步驟=:流序列拼裝模塊將流記錄集合中的每條流記錄拼裝成流序列,輸出至流 序列特征提取模塊;
[0012] 步驟四:流序列特征提取模塊提取每個流序列的平均流時間間隔、平均流持續時 間和平均流字節數;
[0013] 步驟五:流序列特征提取模塊對流序列進行Ol序列化,使用循環自相關方法計算 Ol序列的最顯著頻率,并計算Ol序列的能量譜密度函數的最顯著頻率;
[0014] 步驟六:流序列特征提取模塊使用X-means聚類算法對平均流時間間隔、平均流持 續時間、平均流字節數、Ol序列的最顯著頻率和能量譜密度函數的最顯著頻率運五個流序 列特征分別聚類,并計算每個類別的均值、標準差和聚類質量;
[0015] 步驟屯:循環執行步驟一到步驟六,流序列特征提取模塊輸出各個僵尸惡意代碼 的流量指紋,包含平均流時間間隔、平均流持續時間、平均流字節數、Ol序列的最顯著頻率、 能量譜密度函數的最顯著頻率運五個流序列特征的類別均值、類別標準差、聚類質量W及 特征匹配個數闊值和特征相似度得分闊值,使用預設步長自動調整特征匹配個數闊值和特 征相似度得分闊值,使總的誤報率和漏報率在調整范圍內達到最小值;
[0016] 步驟八:抓包模塊接收待分析報文做為輸入,時序化后輸出至協議識別模塊;
[0017] 步驟九:協議識別模塊將待分析報文輸出至組流模塊組流,按照步驟二到步驟五 處理后,將生成的待分析流序列特征輸入至特征匹配模塊;
[0018] 步驟十:特征匹配模塊比對待分析流序列特征與"流量指紋"庫,若特征匹配個數 超過特征匹配個數闊值,且特征相似度得分超過特征相似度得分闊值,則將待分析流序列 處理為該僵尸網絡流序列,若符合多條指紋,則將特征相似度得分最大的流序列處理為該 僵尸網絡流序列,記錄并產生告警。
[0019] 上述步驟一的詳細內容是:收集已知僵尸惡意代碼樣本,在實驗環境中逐個部署 惡意代碼樣本,實驗環境模擬電力二次系統網絡結構,提取特征時,每次部署一種,任由其 運行和傳播,經過足夠長時間后,記錄網絡中所有報文,并進行時序化后,輸出至組流模塊。
[0020] 上述步驟=中,將流記錄拼裝成流序列的方法是:將流記錄按照協議、源IP、目的 IP及目的端口拼裝成流序列,協議、源IP、目的IP及目的端口相同的流記錄按時間順序排列 成一條流序列。
[0021] 上述步驟五中,對流序列進行Ol序列化的過程是:指用一個較小的時間間隔t分割 一個流序列,設流序列總持續時間為T,T =化,N為正整數,在一個t內,若有流開始,則置為 1,否則置0,得到一個長度為N的Ol序列。
[0022] 上述步驟九中,在流序列特征檢測之前,先用協議識別模塊進行協議白名單的檢 ,按照協議結構解析輸入報文,與預定義白名單中的協議比較,若不屬于白名單,則處理 為屬于異常報文,記錄并產生告警,若屬于白名單,則將待分析報文輸出至組流模塊組流。
[0023] 采用上述方案后,本發明的有益效果是:
[0024] (1)針對電力二次網絡的特點,即電力二次系統中使用的網絡協議相對較為固定, W站控層網絡為例,通常是103、61850、0胖,少數情況下會有網絡形式101和104,除此之外 的所有協議報文都可W認為是非常規協議,都可能由僵尸程序產生,因此使用協議識別的 方法,在檢測程序中預先配置協議白名單,可W有效的檢測僵尸網絡。
[0025] (2)當僵尸程序使用103、61850等規約進行傳播和活動時,協議識別方法將失效, 所W流量行為分析方法具有更廣泛的應用范圍,但流量行為分析方法設及大量的計算,需 要消耗相當大的CPU和內存資源,針對電力二次系統的特點,本發明使用了協議識別方法和 基于流序列特征的行為分析方法相結合的手段,在大大降低計算資源的消耗的基礎上也擁 有良好的適應性和檢測準確率。
[0026] (3)本發明在描述流序列周期性時,使用循環自相關最顯著頻率和能量譜密度最 顯著頻率相結合的手段來描述,與其他方法如功率譜密度相比,具有計算量小,資源消耗低 的優點。
[0027] (4)本發明所述的檢測程序集成于電力二次系統中已有設備網絡分析儀中,不需 要添加新設備,也不需要改動現有網絡架構,有利于具體實施。
【附圖說明】
[0028] 圖1是本發明各模塊的整體架構圖;
[0029] 圖2是本發明中僵尸流序列特征指紋的建立過程示意圖;
[0030] 圖3是本發明對站控層報文鏡像的檢測過程示意圖。
【具體實施方式】
[0031] W下將結合附圖,對本發明的技術方案進行詳細說明。
[0032] 本發明提供一種電力二次系統僵尸網絡的檢測方法,圖1描述了本發明各模塊的 整體架構,由六個模塊組成,分別是抓包模塊、協議識別模塊、組流模塊、流序列拼裝模塊、 流序列特征提取模塊和特征匹配模塊,其中,抓包模塊抓包并時序化報文,協議識別模塊解 析報文協議并按預設的白名單匹配協議,組流模塊對報文按五元組組流生成流記錄,流序 列拼裝模塊將流記錄按規則序列化成流序列,流序列特征提取模塊提取流序列特征并生成 僵尸特征庫,特征匹配模塊判斷待測流序列的特征是否符合僵尸特征庫中的某種僵尸網 絡。
[0033] 圖2描述了本發明的僵尸流序列特征指紋的建立過程,各個僵尸惡意代碼的"流量 指紋"由平均流時間間隔、平均流持續時間、平均流字節數、循環自相關最顯著頻率fi、能量 譜密度最顯著頻率f2運五個流序列特征的類別均值、類別標準差、聚類質量W及特征匹配 個數闊值Olmax和特征相似度得分闊值組成,其中,特征匹配個數闊值是指,對于平均流 時間間隔、平均流持續時間、平均流字節數、循環自相關最顯著頻率、能量譜密度最顯著頻 率五個特征,待測流序列特征與已知僵尸流序列特征相匹配的特征的最小個數;特征相似 度得分闊值是指,待測流序列的每一個特征,與已知僵尸流序列特征的相匹配程度,用一個 值描述,所有特征的匹配值累加和的最小值;只有同時達到或超過特征匹配個數闊值和特 征相似度得分闊值時,待測流序列才會被認為是對應僵尸網絡產生的流序列。
[0034] 圖3描述了本發明對站控層報文鏡像的檢測過程,使用了協議識別方法和基于流 序列特征的行為分析方法相結合的手段,在大大降低計算資源的消耗的基礎上也擁有良好 的適應性和檢測準確率。
[0035] 本發明包含的步驟如下:
[0036] 步驟一:抓包模塊將僵尸惡意代碼產生的報文時序化,具體是收集已知僵尸惡意 代碼樣本,如Blac陸nergy、S抓Ot、Zbot等,但不局限于此,在實驗環境中逐個部署惡意代碼 樣本,實驗環境模擬電力二次系統網絡結構,可W由多個虛擬機實現,也可W由實裝置實 現,提取特征時,每次部署一種,任由其運行和傳播,經過足夠長時間后,記錄網絡中所有報 文,并進行時序化,記為G,并輸出至組流模塊;
[0037]步驟二:組流模塊將G中的報文按協議、源端口、目的端口、源IP、目的IP組流,得到 流記錄集合Gi,每條流記錄至少應包含該流的流開始時間、流結束時間、報文總數及字節總 數,流記錄集合輸出至流序列拼裝模塊;其中,流是指在一段時間內,一個源地址和目的地 址間傳輸單向報文流,所有報文具有相同的傳輸層源、目的端口號、協議號和源端口、目的 地址,即五元組內容相同,流描述的是兩個端系統之間一次特定的通信活動;
[00測步驟二:將Gi組成流序列,記流序列集合為G2;
[0039] 步驟流序列拼裝模塊將流記錄集合Gi中的每條流記錄按照協議、源IP、目的 IP、目的端口拼裝成流序列,協議、源IP、目的IP、目的端口相同的流記錄按時間順序排列成 一條流序列,記流序列集合為G2,所有流序列輸出至流序列特征提取模塊;其中,流序列是 指在一段時間內,一個特定源地址與一個特定目的地址及特定目的端口之間通信所產生的 流的序列,流序列描述的是一段時間內兩個端系統之間同種通信活動的整體特性,如端系 統A請求端系統B的80端口,一段時間內連續請求多次,AB產生多個流,則運些流按流開始時 間排序組成的序列為一個流序列;
[0040] 步驟四:對于G2中的每個流序列,流序列特征提取模塊提取每個流序列的平均流 時間間隔、平均流持續時間和平均流字節數;
[0041] 步驟五:流序列特征提取模塊對G2中的每個流序列進行Ol序列化,使用循環自相 關方法計算Ol序列的最顯著頻率,并計算Ol序列的能量譜密度函數的最顯著頻率,使用Ol 序列的能量譜密度函數的最顯著頻率描述Ol序列周期性;其中,Ol序列化是指用一個較小 的時間間隔t分割一個流序列,設流序列總持續時間為T,t取平均流時間間隔的1/4,T =化, N為正整數,在一個t內,若有流開始,則置為1,否則置0,得到一個長度為N的Ol序列。
[0042] 設Ol序列集合為S,使用循環自相關方法計算S中每個序列的最顯著頻率fi,計算 方法如W下公式:
[0043] 將Ol序列f的項數標準化為2的整數次幕,選取序列f的前P個元素構成的子序列, 滿足:
[0044] P = 2n,P《M,2n+i>M nGQ
[0045] 其中,P為Ol序列f標準化后的元素個數,M為Ol序列f原始的元素個數,Q為自然數 集。
[0046] Ol序列f的離散自相關函數:
[0047]
[004引 [0049]
[(K)加 ]
[0化1 ]
[0化2]
[0053] 對于S中每個序列計算能量譜密度函數?,根據〇可W得到序列的能量譜密度函 數的最顯著頻率f2,計算方法如W下公式:
[0054] Ol序列f的離散傅里葉變換:
[0化5]
[0化6]
[0化7]
[0058] 將Ol序列f的項數標準化為2的整數次幕,選取序列f的前P個元素構成的子序列, 滿足:
[0059] P = 2n,P《M,2n+i>M nGQ
[0060] 其中,P為Ol序列f標準化后的元素個數,M為Ol序列f原始的元素個數,Q為自然數 集。
[0061 ] 九化玄'哈b旦^並概#萬.A化)后,選取巫最大的k化聲0 ),計算得到頻率f 2 :
[0062]
[0063] 步驟巧:上步驟甲包昔平均流時間間隔、平均流持續時間、平均流字節數、01序 列的最顯著頻率fi、能量譜密度函數的最顯著頻率f2共5個流序列特征,使用x-means聚類算 法,對每個特征分別聚類,每個特征可W得到數個聚類集,在實際站控層環境中采集正常流 量與步驟一中的僵尸流量混合,對于混合流量重復步驟二到步驟五,對于每一個流序列的 特征向量T[i],分別與每個特征的每個聚類集比較,若T[i]在[c-2sd,c+2sd]內,C為該聚類 集的均值,Sd為標準差,則特征匹配個數Ol增加1,特征相似度得分02增加 Qc*Qti,其中Qc為命 中類別的聚類質量,QTi是流序列T在i屬性上的質量,即流序列特征質量,質量QTi = exp (-0* sd/c),0為2.5,表示調節參數,流序列的fi的質量由循環自相關最大比值代替,f2質量由平 均流時間間隔的質量代替,若Ol達到特征匹配個數闊值Olmax, 02達到特征相似度得分闊值 〇2max,則認為該流序列屬于對應的僵尸流序列,自動調整Olmax和〇2max的值,Olmax從0~5逐個 實驗,步長1,從0~5逐個實驗,步長0.1,使誤報率和漏報率均達到最低;
[0064] 步驟屯:重復步驟一到步驟六,可得到各個僵尸惡意代碼的"流量指紋",由平均流 時間間隔、平均流持續時間、平均流字節數、頻率fl、頻率f2各個聚類類別的均值、標準差、聚 類質量W及Olmax和組成,使用預設步長自動調整特征匹配個數闊值和特征相似度得分 闊值,使總的誤報率和漏報率在調整范圍內達到最小值;其中,特征匹配個數闊值是指,對 于平均流時間間隔、平均流持續時間、平均流字節數、Ol序列的最顯著頻率、能量譜密度函 數的最顯著頻率五個特征,待測流序列特征與已知僵尸流序列特征相匹配的特征的最小個 數;特征相似度得分闊值是指,待測流序列的每一個特征,與已知僵尸流序列特征的相匹配 程度,用一個值描述,所有特征的匹配值累加和的最小值;只有同時達到或超過特征匹配個 數闊值和特征相似度得分闊值時,待測流序列才會被認為是對應僵尸網絡產生的流序列;
[0065] 步驟八:步驟一到步驟屯為僵尸網絡"流量指紋"的提取過程,將指紋庫與檢測程 序部署于站內網絡分析儀中,網絡分析儀需要連接核屯、交換機鏡像口,采集全站報文鏡像; 抓包模塊接收待分析報文做為輸入,時序化后輸出至協議識別模塊;
[0066] 步驟九:配置協議白名單,將現有站控層網絡中可能出現的協議配置進檢測程序, 如IEC60870-5-103、IEC61850、DNP等;協議識別模塊按照協議結構解析輸入報文,與預定義 白名單中的協議比較,若不屬于白名單,則處理為屬于異常報文,記錄并產生告警,若屬于 白名單,則將待分析報文輸出至組流模塊組流,按照步驟二到步驟五處理后,將生成的待分 析流序列特征輸入至特征匹配模塊;
[0067] 步驟十:對于每一條待分析的流序列,特征匹配模塊比對待分析流序列特征與"流 量指紋"庫,計算指紋庫中每條指紋的特征匹配個數Oi和征相似度得分02,若Oi達到指紋中 的曰lmax,〇2達到指紋中的〇2max,則認為待分析的流序列屬于該僵尸網絡,處理為該僵尸網絡 流序列,若符合多條指紋,則將02最大的流序列處理為僵尸網絡流序列,記錄并產生告警。
[0068] 綜上所述,本發明使用了協議識別方法和基于流序列特征的行為分析方法相結合 的手段,在大大降低計算資源的消耗的基礎上也擁有良好的適應性和檢測準確率。本發明 針對電力二次系統協議單一、流序列模式相對固定的特點,一是檢測網絡中的異常協議報 文,二是檢測網絡中的流序列特征是否和事先已知的僵尸程序產生的流序列特征相匹配, W此判斷電力二次網絡中是否存在僵尸網絡,兩種手段相結合,在大大降低計算資源的消 耗的基礎上也擁有良好的適應性和檢測準確率,為電力二次系統的安全運行提供保障。
[0069] W上實施例僅為說明本發明的技術思想,不能W此限定本發明的保護范圍,凡是 按照本發明提出的技術思想,在技術方案基礎上所做的任何改動,均落入本發明保護范圍 之內。
【主權項】
1. 一種電力二次系統僵尸網絡的檢測方法,其特征在于包括如下步驟: 步驟一:抓包模塊將僵尸惡意代碼產生的報文時序化后,輸出至組流模塊; 步驟二:組流模塊對輸入報文按協議、源端口、目的端口、源IP和目的IP組流,得到流記 錄集合,每條流記錄至少包含該流的流開始時間、流結束時間、報文總數及字節總數,流記 錄集合輸出至流序列拼裝模塊; 步驟三:流序列拼裝模塊將流記錄集合中的每條流記錄拼裝成流序列,輸出至流序列 特征提取模塊; 步驟四:流序列特征提取模塊提取每個流序列的平均流時間間隔、平均流持續時間和 平均流字節數; 步驟五:流序列特征提取模塊對流序列進行01序列化,使用循環自相關方法計算01序 列的最顯著頻率,并計算01序列的能量譜密度函數的最顯著頻率; 步驟六:流序列特征提取模塊使用X-means聚類算法對平均流時間間隔、平均流持續時 間、平均流字節數、01序列的最顯著頻率和能量譜密度函數的最顯著頻率這五個流序列特 征分別聚類,并計算每個類別的均值、標準差和聚類質量; 步驟七:循環執行步驟一到步驟六,流序列特征提取模塊輸出各個僵尸惡意代碼的流 量指紋,包含平均流時間間隔、平均流持續時間、平均流字節數、01序列的最顯著頻率、能量 譜密度函數的最顯著頻率這五個流序列特征的類別均值、類別標準差、聚類質量以及特征 匹配個數閾值和特征相似度得分閾值,使用預設步長自動調整特征匹配個數閾值和特征相 似度得分閾值,使總的誤報率和漏報率在調整范圍內達到最小值; 步驟八:抓包模塊接收待分析報文做為輸入,時序化后輸出至協議識別模塊; 步驟九:協議識別模塊將待分析報文輸出至組流模塊組流,按照步驟二到步驟五處理 后,將生成的待分析流序列特征輸入至特征匹配模塊; 步驟十:特征匹配模塊比對待分析流序列特征與"流量指紋"庫,若特征匹配個數超過 特征匹配個數閾值,且特征相似度得分超過特征相似度得分閾值,則將待分析流序列處理 為該僵尸網絡流序列,若符合多條指紋,則將特征相似度得分最大的流序列處理為該僵尸 網絡流序列,記錄并產生告警。2. 如權利要求1所述的一種電力二次系統僵尸網絡的檢測方法,其特征在于所述步驟 一的詳細內容是:收集已知僵尸惡意代碼樣本,在實驗環境中逐個部署惡意代碼樣本,實驗 環境模擬電力二次系統網絡結構,提取特征時,每次部署一種,任由其運行和傳播,經過足 夠長時間后,記錄網絡中所有報文,并進行時序化后,輸出至組流模塊。3. 如權利要求1所述的一種電力二次系統僵尸網絡的檢測方法,其特征在于:所述步驟 三中,將流記錄拼裝成流序列的方法是:將流記錄按照協議、源IP、目的IP及目的端口拼裝 成流序列,協議、源IP、目的IP及目的端口相同的流記錄按時間順序排列成一條流序列。4. 如權利要求1所述的一種電力二次系統僵尸網絡的檢測方法,其特征在于:所述步驟 五中,對流序列進行01序列化的過程是:指用一個較小的時間間隔t分割一個流序列,設流 序列總持續時間為T,T=Nt,N為正整數,在一個t內,若有流開始,則置為1,否則置0,得到一 個長度為N的01序列。5. 如權利要求1所述的一種電力二次系統僵尸網絡的檢測方法,其特征在于:所述步驟 九中,在流序列特征檢測之前,先用協議識別模塊進行協議白名單的檢測,按照協議結構解 析輸入報文,與預定義白名單中的協議比較,若不屬于白名單,則處理為屬于異常報文,記 錄并產生告警,若屬于白名單,則將待分析報文輸出至組流模塊組流。
【文檔編號】H04L29/06GK105978897SQ201610488613
【公開日】2016年9月28日
【申請日】2016年6月28日
【發明人】張陽, 胡紹謙, 湯震宇
【申請人】南京南瑞繼保電氣有限公司, 南京南瑞繼保工程技術有限公司
網(wang)友詢(xun)問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1