新四季網

一種基於機器學習的異常行為分析方法和裝置與流程

2024-04-13 20:22:05



1.本發明涉及網絡安全領域,具體涉及一種基於機器學習的異常行為分析方法和裝置。


背景技術:

2.在工業生產中,工業網際網路逐漸從概念提出快速發展到在工廠等重要生產場所中落地應用,很多工業設備也逐步更新並接入網際網路。面對急劇增加的網絡通信量,工業生產所面臨的外部安全威脅也日益增多,因此,為了防止攻擊者通過網絡對工業系統發起攻擊,web應用防火牆(waf)、基於機器學習的流量檢測方法等工具得到了大規模應用。
3.然而,基於規則的傳統waf和有監督的機器學習檢測方法只能檢測到已知的網絡攻擊請求,而對新型的未知攻擊請求束手無策。此外,基於無監督學習訓練得到的機器學習方法雖然能夠檢測到部分未知攻擊,但仍存在準確率欠佳、誤報率較高的問題。同時,在工業硬體資源受限的情況下,深度神經網絡等資源消耗大的機器學習模型存在處理效率較低的問題,導致在大流量情況下輸出檢測結果存在延遲。


技術實現要素:

4.本發明所要解決的技術問題是:提出一種基於機器學習的異常行為分析方法和裝置,解決現有異常行為分析方法存在誤報較多的問題,整體準確率不高,在硬體資源受限的情況下,異常行為分析方法的處理效率不高的問題。
5.本發明解決上述技術問題採用的技術方案是:
6.一種基於機器學習的異常行為分析方法,包括以下步驟:
7.s1、獲取期望到達工業伺服器http請求;
8.s2、判斷該http請求是否在白名單中,若是,則執行步驟s4,否則執行步驟s3;
9.s3、基於預先訓練的異常流量檢測模型判斷該http請求是否為異常請求,若是,執行步驟s5,否則,執行步驟s4;所述異常流量檢測模型包括聯合部署的有監督學習模型和無監督學習模型;
10.s4、放行該http請求,結束流程;
11.s5、阻止該http請求並存檔,供後續人工對該請求進行審核,若審核通過,則將該請求加入白名單中。
12.進一步的,所述異常流量檢測模型中的有監督學習模型和無監督學習模型採用並聯方式進行聯合部署,或者將監督學習模型和無監督學習模型採用串聯方式進行聯合部署。
13.進一步的,當異常流量檢測模型採用有監督學習模型和無監督學習模型以並聯方式聯合部署時,判斷該http請求是否為異常請求的方法包括:
14.有監督學習模型和無監督學習模型分別對該http請求進行判斷,然後對兩個模型的判斷結果分別採用預設的不同權重值進行融合,最後根據融合結果判斷該http請求是否
為異常請求。
15.進一步的,當異常流量檢測模型採用有監督學習模型和無監督學習模型以串聯方式聯合部署時,判斷該http請求是否為異常請求的方法包括:
16.該http請求先經過有監督學習模型進行判斷,再經過無監督學習模型進行判斷,僅當兩個模型判斷均為正常請求時,則該http請求被判定為正常請求,否則,該http請求被判定為異常請求。
17.進一步的,所述有監督學習模型的訓練方式包括:收集帶有標籤的已知攻擊請求樣本和帶有標籤的正常請求樣本組成訓練數據集,提取訓練數據集中的每個請求中的特徵並利用有監督學習的方式訓練機器學習模型。
18.進一步的,所述無監督學習模型的訓練方式包括:
19.收集有監督學習模型篩選通過的樣本,構建訓練樣本集;
20.對訓練樣本集中的http請求進行預處理,並轉換為詞向量序列;
21.在模型訓練過程中,通過計算一條請求中的每個詞向量和其它詞向量的相似性得到歸一化後的權重,即當前詞向量對應的注意力值,利用反向傳播方式和訓練樣本集中的所有樣本訓練模型。
22.進一步的,步驟s5還包括:當人工審核未通過則判定該http請求為新的未知攻擊時,將其加入未知攻擊請求樣本集,以定期或定量採用所述未知攻擊請求樣本集中的數據對有監督模型進行重新訓練或增量訓練。
23.進一步的,步驟s4中在放行http請求以及步驟s5中在阻止該http請求時,均記錄從該http請求提取的詞向量序列和對該http請求的處理結果;
24.步驟s2中,還包括:若判斷該http請求不在白名單中,再判斷從該http請求提取的詞向量序列是否已經被處理過,如果已被處理過,則直接查詢當前請求對應的處理結果並執行,不再進入步驟s3。
25.另一方面,本發明還提供了一種基於機器學習的異常行為分析裝置,包括:
26.數據採集模塊,用於獲取期望到達工業伺服器的網絡流量數據,將採集到的數據保存到文件中,以進行異常流量檢測模型的訓練,或者,將採集的數據以數據流的形式發送給數據處理模塊,以進行實時異常行為檢測;
27.數據處理模塊,用於處理送入數據採集模塊傳送的原始請求,並將每一條請求按照有監督和無監督學習模型的要求進行相應的處理,並將處理後的數據送入異常檢測模塊;
28.異常檢測模塊,用於基於聯合部署的有監督學習模型和無監督學習模型綜合判斷數據處理模塊傳送的請求是否為異常請求,將判斷結果傳入結果處理模塊;
29.結果處理模塊,用於根據異常檢測模塊傳入的判斷結果執行相應處理策略:若為異常請求,則阻止該請求並保存至數據存儲模塊,若為正常請求,則放行該請求,並根據需求決定是否將該請求保存至數據存儲模塊;
30.數據存儲模塊,用於保存異常請求、重複檢查部件、白名單、模型數據信息和需要存儲的正常請求,以供其它模塊調用;
31.模型優化模塊,用於供安全工程師讀取存儲在數據存儲模塊中的異常請求集合,經過審查後將新增誤報的請求保存至白名單和正常請求集合中,將新增的異常請求用於更
新有監督學習模型。
32.進一步的,所述模型優化模塊,還用於根據既定的周期或數量讀取數據存儲模塊中的正常請求集合以對無監督學習模型進行重新訓練或增量訓練。
33.本發明的有益效果是:
34.(1)通過結合有監督學習模型和無監督學習模型的異常流量檢測模型能夠檢測出已知和未知的攻擊請求,引入注意力機制增強了模型的準確率、降低誤報;
35.(2)通過重複檢查部件降低了異常檢測模型所需要處理的請求總數,從而在硬體資源受限的情況下提升了系統的整體處理效率,以滿足實時性的要求;
36.(3)通過引入人工審核,對於誤報的請求在審核後將其加入白名單中,後續該請求再次訪問伺服器時能夠快速放行,從而實現糾錯,提高處理的準確性。
附圖說明
37.圖1是本發明中的基於機器學習的異常行為分析原理圖。
具體實施方式
38.本發明旨在提出一種基於機器學習的異常行為分析方法和裝置,解決現有異常行為分析方法存在誤報較多的問題,整體準確率不高,在硬體資源受限的情況下,異常行為分析方法的處理效率不高的問題。本發明中的基於機器學習的異常行為分析的核心是由有監督學習模型和無監督學習模型聯合部署組成的異常流量檢測模型,如圖1所示,當一條http請求到達伺服器所在系統時,有監督學習模型和無監督學習模型分別判斷當前請求是否可能為異常請求,這兩個模型的判斷結果將通過用戶選定的結果融合方式得到最終的異常判斷結果。只有被判斷為正常的請求才能夠到達伺服器,而被判斷為異常的請求都將被阻攔並存檔,以便專業的安全工程師對其進行分析並及時更新相應的防護措施。
39.實施例:
40.本實施例中提供的基於機器學習的異常行為分析方法以訓練好的異常流量檢測模型為基礎,其中,異常流量檢測模型包括有監督學習模型和無監督學習模型。
41.具體而言,有監督學習模型主要用於檢測已知的攻擊請求,因此該模型主要基於已知的攻擊樣本來構建:收集大量帶有標籤的已知攻擊請求樣本和同樣帶有標籤的正常樣本,提取每個請求中的特徵並利用有監督學習的方式訓練機器學習模型,可選的模型包括但不限於決策樹、隨機森林、支持向量機、神經網絡模型等,訓練好的機器學習模型具有區分正常請求和特定攻擊類型的異常請求的能力。當有新的請求到來時,將請求輸入訓練好的機器學習模型並得到預測結果(對應正常請求或某種類型的攻擊)。
42.對於已知的攻擊手段,利用訓練全面的有監督學習模型基本能夠將其全部檢測出來,然而事先未知的攻擊方式可能含有模型訓練樣本中未曾出現過的攻擊特徵,因此新型的未知攻擊請求可能被有監督學習模型誤判為正常請求。
43.為了進一步保障工業系統的安全性,本實施例在有監督學習模型之外增加一個無監督學習模型。理論上經過有監督學習模型篩選後的流量中絕大多數都是正常流量,因此可以利用這些正常流量結合無監督學習的方式來訓練一個異常檢測模型,該模型能夠掌握正常流量的絕大部分特徵,對特徵差異較大的請求十分敏感並將這些請求判斷為未知攻擊
請求。
44.本實施例中的無監督學習模型可以採用編碼器-解碼器框架(encoder-decoder),在文字處理時編碼器和解碼器可選擇但不限於循環神經網絡(recurrent neural network,rnn)、長短期記憶人工神經網絡(long short-term memory,lstm)、門控循環單元(gate recurrent unit,gru)等。
45.結合自然語言處理和文字翻譯的思想,訓練該模型使其在處理正常樣本時儘可能輸出與輸入訓練樣本一樣的內容。如果將經過有監督學習模型篩選後的正常請求看作一門「語言」,使用大量正常請求作為訓練樣本訓練模型後,模型便能理解並準確翻譯或還原這門「語言」中的語句。當出現未知的攻擊請求時,由於攻擊請求與正常的業務請求在內容和語義結構上可能存在多處不同,因此模型輸出的「翻譯結果」(重構請求)與原始攻擊請求之間會存在明顯差異。基於上述分析,對於無監督學習模型可以通過比較原始請求和經模型處理後輸出的重構請求之間的相似性來判斷請求的屬性:如果原始請求和對應的重構請求之間的相似度高,則說明當前請求可能是正常請求,反之則說明當前請求可能是攻擊請求。
46.由於無監督學習是訓練模型學習正常樣本的特徵分布的一種方法,在實際應用過程中當正常的業務請求特徵發生變化時,也可能被無監督學習模型錯誤判斷為攻擊請求。針對此類準確率欠佳、誤報較多的問題,本實施例在無監督學習模型的訓練和應用過程中引入了注意力機制和人工審核機制,通過對模型本身以及模型輸出結果的優化處理改進異常檢測模型的性能。
47.基於上述,異常檢測模型中的無監督學習模型的訓練過程主要包含以下幾個步驟:
48.1、數據採集:收集有監督學習模型篩選通過的樣本(可視作正常樣本)作為訓練樣本,並劃分成訓練集、驗證集和測試集,以在訓練過程中調試模型性能。
49.2、數據處理:對請求進行分詞並去掉非文本部分、空格、停用詞、特殊符號等內容,將每一條請求轉換成模型可接受的詞向量序列。
50.3、模型訓練:在模型訓練過程中,通過計算一條請求中的每個詞向量和其它詞向量的相似性得到歸一化後的權重,即當前詞向量對應的注意力值,利用反向傳播方式和訓練集中的所有樣本訓練模型。注意力機制的主要計算流程如下:
51.1)輸入樣本信息x=[x1,x2,x3,...,xn],其中每一個元素代表輸入樣本的一個信息;
[0052]
2)通過下列方式計算輸入樣本中的注意力分布:
[0053]
αi=softmax(s(xi,q))
[0054]
其中,s(xi,q)可選擇加性模型、點積模型、縮放點積模型、雙線性模型等,注意力分布αi可看作為在上下文查詢某一元素q時,第i個信息受關注的程度。
[0055]
3)結合輸入樣本和各個信息對應的注意力分布對輸入樣本加權平均後編碼:
[0056][0057]
在部署應用過程中,帶有注意力的模型對一條請求中的個別詞向量具有更高的關注度,因此能夠更準確地對和訓練樣本相似的請求進行重構,同時可能將未知攻擊請求重構成與原始請求差異更大的樣本。
[0058]
在實際應用過程中,安全工程師的加入可以幫助異常流量檢測模型和整個系統進行持續的優化,具體過程如下:
[0059]
1、由結果融合階段後輸出的異常請求由安全工程師進行進一步的審核和檢測,當發現有新的未知攻擊時,安全工程師會基於該攻擊的特徵生成相應的訓練樣本,並重新訓練有監督學習模型使其能夠在後續應用過程中具有識別當前未知攻擊的能力,以提高系統的綜合安全性能。
[0060]
2、對於被誤報的請求,本系統採用白名單機制避免後續的相同誤報:安全工程師將被誤報的請求保存在白名單中,有新的請求到來時可以先在白名單中進行查找。已存在於白名單中的請求可以直接被送到伺服器而不經過異常流量檢測模型的處理,在避免被錯誤拒絕的同時可以降低機器學習模型的處理負載。
[0061]
3、由人工審查並去除真實的攻擊請求之後,可以定期或定量採用最新的真實數據樣本對模型進行重新訓練或增量訓練,以增加模型對容易被誤判的樣本的學習,從而降低後續檢測過程中的模型誤報。
[0062]
由於異常流量檢測模型可能對硬體資源有較高要求,在資源受限的條件下模型的處理效率可能偏低而不能滿足系統的實時性要求。為了進一步提高系統的異常檢測效率,可以在異常檢測模型之前增加一個重複檢查部件,用於檢查某一請求提取出的詞向量序列是否已經被處理過了,如果已被處理過,則直接查詢當前請求對應的判斷結果。根據實際的硬體條件和內存大小,可選擇如哈希表、布隆過濾器、布穀鳥過濾器等具有高效存儲和查詢的工具。
[0063]
另一方面,本實施例提供了一種基於機器學習的異常行為分析裝置,其中主要包含數據採集模塊、數據處理模塊、異常檢測模塊、結果處理模塊、數據存儲模塊、模型優化模塊等,各個模塊具體實現說明如下:
[0064]
數據採集模塊:主要用於獲取期望到達工業伺服器的網絡流量數據,採集到的數據可以分別用於系統構建和實時檢測:用於系統構建時,數據採集模塊將收集到的原始請求保存到文件中,用於基於機器學習的異常流量檢測模型的訓練;此外,在實際應用過程中數據採集模塊還可直接將接收到的請求以數據流的形式發送給數據處理模塊,以進行下一步的操作。
[0065]
數據處理模塊:主要用於處理送入異常檢測系統的原始請求,並將每一條請求按照有監督和無監督學習模型的要求進行相應的處理,並將數據處理結果送入異常檢測模塊。
[0066]
異常檢測模塊:主要包含了有監督學習模型和無監督學習模型兩部分,兩個主要部分可以按照圖1中的並聯形式進行部署,由結果融合部分輸出最終的判斷結果(如利用不同權重計算兩個模型的重構請求和原始請求之間的綜合相似度,通過比較該相似度值與預設閾值的大小能夠判斷出當前請求是否為異常);也可以將二者串聯使用,先利用有監督學習模型對請求中的已知攻擊進行檢測,再進一步將被判斷為正常的請求送入無監督學習模型,以檢測其中是否可能包含未知的攻擊內容,只有兩個模型均判斷通過的請求才能夠到達目標伺服器。得到一條請求的判斷結果之後,異常檢測模塊將結果發送給結果處理模塊。在異常檢測模塊處理請求之前,可以在數據存儲模塊的重複檢查部件中查詢當前請求是否已經被處理過,如果已被處理過,則直接從中調取當前請求的預測結果,送入結果處理模
塊。
[0067]
結果處理模塊:主要用於根據異常檢測的結果執行相應的處理策略。如果異常檢測模塊的輸出結果為正常,則結果處理模塊將允許該請求到達伺服器,同時可以根據用戶需求將請求信息保存至數據存儲模塊中。如果一條請求被判斷為異常,則阻止該請求到達伺服器,並將異常請求保存至數據存儲模塊,以供模型優化模塊的後續操作。
[0068]
數據存儲模塊:主要用於分別保存檢測到的正常請求(可選)、異常請求、重複檢查部件(哈希表、布隆過濾器或布穀鳥過濾器)、白名單、模型數據等信息,以供其它模塊調用。
[0069]
模型優化模塊:主要包含人工審查和模型優化訓練兩大功能。安全工程師可以通過模型優化模塊讀取存儲在數據存儲模塊中的異常請求集合,經過審查後將新增誤報的請求保存至白名單和正常請求集合中,將新增的攻擊請求用於更新有監督學習模型。此外,模型優化模塊還可以根據既定的周期或數量讀取數據存儲模塊中的正常請求集合以對無監督學習模型進行重新訓練或增量訓練。
[0070]
最後應當說明的是,上述實施例僅是優選實施方式,並不用以限制本發明。應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明宗旨和權利要求所保護的範圍情況下,還可以做出若干修改,等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀