System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于日志異常檢測領域,具體的說是涉及一種基于gpt2-pca的網絡安全日志異常檢測方法及系統。
技術介紹
1、高級持續威脅(apt)是一種復雜的網絡攻擊模式,由高度技術化的攻擊者執行,旨在長期潛伏于目標網絡內部,進行持續的情報收集或數據竊取。想要對apt進行攻擊調查,需要分析無數日志。企業部署的入侵檢測系統會生成很多可疑事件的威脅情報。安全人員需要分析這些告警是否是攻擊事件的一部分,但是由于日志數量龐大,安全人員很容易產生警報疲勞,忽略大量告警并錯過真正的攻擊事件。
2、現有的方法主要是利用無監督學習在良性日志文件上訓練深度學習模型。現有的方法將采集的多種設備及應用日志合并,根據日期和時間為日志消息生成時間戳,并按照時間戳排序,使用正則表達式處理日志消息中的數字等變量,形成結構化日志序列。使用良性日志預訓練bert模型以特征提取,形成嵌入向量。使用深度學習模型或機器學習模型進行異常檢測。
3、然而,現有的技術有以下局限性:
4、1.對于日志的預處理粒度過大。將不同種類的日志按照時間戳排序可能會導致誤報和漏報,不同的日志記錄的來源設備不同,記錄的事件也不同,簡單的按照時間戳進行排序,可能會向日志中引入大量噪聲,破壞原有的日志結構。
5、2.使用bert模型對日志進行特征提取。該方法主要針對單條日志消息自身是否異常。bert在序列上捕獲異常的能力較弱,不能發現日志序列層面的異常。
6、3.使用深度學習和機器學習模型進行異常檢測。深度學習模型在面對生產環境中的日志時
技術實現思路
1、專利技術目的:為了解決日志的預處理粒度過大、不能發現日志序列層面的異常、處理速度慢以及分類性能下降的問題,本專利技術提供一種基于gpt2-pca的網絡日志異常檢測方法,能夠針對apt攻擊調查的日志進行細粒度分析,在更長的上下文中捕獲日志的正常行為模式,并提高異常的檢測準確率和速度,并且方案結構簡單,易于實現。
2、技術方案:為實現上述目的,本專利技術采用的技術方案為:
3、一種基于gpt2-pca的網絡日志異常檢測方法,包括以下步驟:
4、步驟s1、采集日志消息。將日志消息進行預處理得到日志消息集合。
5、步驟s2、根據日志消息集合將日志消息進行結構化表示得到結構化日志集合。
6、步驟s3、根據結構化日志集合將日志消息進行序列化得到序列化日志集合。
7、步驟s4、通過序列化日志集合預訓練gpt-2模型,使用訓練好的gpt-2模型對日志消息進行特征提取,得到日志嵌入向量集合。
8、步驟s5、根據日志嵌入向量集合訓練基于pca的分類模型,使用訓練好的基于pca的分類模型進行異常檢測。
9、優選的:步驟s4中通過序列化日志集合預訓練gpt-2模型,使用訓練好的gpt-2模型對日志消息進行特征提取的方法是,使用大量無標簽日志對gpt-2模型進行訓練,然后使用訓練好的gpt-2模型對待檢測日志序列進行特征提取。
10、預訓練gpt-2模型的目標函數定義如下:
11、
12、其中,表示目標損失函數,n是日志序列的數量,t是每個序列的長度,表示在給定序列的情況下,gpt-2在第t+1個位置預測的日志鍵的概率,表示第t+1個位置為日志鍵ki,表示給定序列i的1至t個日志鍵。
13、經過預訓練后,gpt-2模型能夠基于給定的日志序列片段生成一個日志序列表示預測的第t個位置的日志鍵為ki,t表示序列的長度。
14、將待檢測的序列化日志s,輸入預訓練后的gpt-2模型,獲取gpt-2模型輸出的最后一層隱藏層,然后提取每個序列si的最后一個token的向量vi,作為語義向量,形成日志嵌入向量集合v,v={v1,v2,…,vn},n表示日志序列的數量。
15、優選的:gpt-2模型的結構如下:
16、
17、其中,表示使用transformer解碼器對進行解碼,表示從transformer解碼器中導出的隱藏層表示。表示對隱藏狀態經過權重矩陣w變換后生成的分數應用歸一化函數softmax,從而得到一個概率分布。表示在給定序列的情況下,gpt-2在第t+1個位置預測的日志鍵的概率。是語言模型的頭部參數,表示實數域,d表示向量的長度,表示包含所有可能日志鍵的集合。
18、優選的:步驟s5中使用訓練好的基于pca的分類模型進行異常檢測的方法是,構建一個正常樣本空間sn和一個異常樣本空間sa,然后將每個日志序列向量vi通過公式投影到正常空間sn上,其中,p=[e1,e2,…,ek],e1,e2,…ek表示具有前k大特征值的特征向量,k為日志序列主成分數量,為vi在正常空間sn上的投影。同樣的,將vi通過公式投影到異常空間sa上,其中i為標準單位矩陣。使用平方預測誤差來確定傳入的日志序列vj在異常空間中是否是離群點。vj的spe值通過公式來計算,通過與給定的閾值θ進行比較,如果spe值大于θ,則vj被預測為異常日志序列。
19、優選的:步驟s1中將日志消息進行預處理的方法是,將原始日志內容按照日志格式進行解析,提取出半結構化日志消息,形成日志消息集合l,l={l1,l2,…,ln},n表示日志消息集合的大小,ln表示第n條半結構化日志消息。
20、優選的:所述步驟s2中將日志消息進行結構化表示的具體方法是,包括以下步驟:
21、步驟s2.1,通過超參數r對日志消息進行一定比例的下采樣,形成采樣日志lsample。
22、步驟s2.2,對采樣日志lsample使用drain3日志解析器進行日志解析,提取日志模板集合ksample,并保存未匹配的日志集合lunmatch。
23、步驟s2.3,再次對未匹配的日志集合lunmatch進行模板解析得到新提取到的模板,并將新提取到的模板加入ksample形成新的日志模板集合k,k={k1,k2,…,km},m表示日志模板集合的大小,km表示第m個日志模板。
24、步驟s2.4,使用日志模板集合k對全量日志集合l進行模板匹配,形成結構化日志集合d,d={d1,d2,…,dn},n表示結構化日志集合的大小,dn表示第n條結構化日志。
25、優選的:所述步驟s3中將日志消息進行序列化的具體方法是,使用滑動時間窗口方法,通過窗口大小w和步長s將結構化日志序列分組為事件序列。長度為n的結構化日志集合d,d={d1,d2,…,dn},則第i個窗口可表示為:
26、si={dis+1,dis+2,…,d(is+w)}
27、其中,i表示窗口索引,i從0開始。
28、最后形成序列化日志集合s,s={s1,s2,…,sn},本文檔來自技高網...
【技術保護點】
1.一種基于GPT2-PCA的網絡日志異常檢測方法,其特征在于,包括以下步驟:
2.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:步驟S4中通過序列化日志集合預訓練GPT-2模型,使用訓練好的GPT-2模型對日志消息進行特征提取的方法是,使用大量無標簽日志對GPT-2模型進行訓練,然后使用訓練好的GPT-2模型對待檢測日志序列進行特征提取;
3.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:GPT-2模型的結構如下:
4.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:步驟S5中使用訓練好的基于PCA的分類模型進行異常檢測的方法是,構建一個正常樣本空間Sn和一個異常樣本空間Sa,然后將每個日志序列向量vi通過公式投影到正常空間Sn上,其中,P=[e1,e2,…,ek],e1,e2,…ek表示具有前k大特征值的特征向量,k為日志序列主成分數量,為vi在正常空間Sn上的投影;同樣的,將vi通過公式投影到異常空間Sa上,其中I為標準單位矩陣;使用平方預測誤差來確定傳入的
5.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:步驟S1中將日志消息進行預處理的方法是,將原始日志內容按照日志格式進行解析,提取出半結構化日志消息,形成日志消息集合L,L={l1,l2,…,ln},n表示日志消息集合的大小,ln表示第n條半結構化日志消息。
6.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:
7.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:所述步驟S3中將日志消息進行序列化的具體方法是,使用滑動時間窗口方法,通過窗口大小w和步長s將結構化日志序列分組為事件序列;長度為n的結構化日志集合D,D={d1,d2,…,dn},則第i個窗口可表示為:
8.根據權利要求1所述基于GPT2-PCA的網絡日志異常檢測方法,其特征在于:所述日志消息包括操作系統日志、應用日志和其他日志,所述操作系統日志指由操作系統本身生成的日志;應用日志指在操作系統上運行的應用或其他相關程序產生的日志;其他日志指不包含異常信息,但包含其他重要信息的日志。
9.一種基于GPT2-PCA的網絡日志異常檢測系統,其特征在于,用于實現權利要求1-6任一所述的基于GPT2-PCA的網絡日志異常檢測方法,包括采集單元、預處理單元、結構化日志單元、序列化日志單元、GPT-2模型單元、基于PCA的分類模型單元、輸出單元,其中:
10.一種計算機系統,其特征在于,包括存儲器和處理器,所述存儲器用于存儲計算機程序/指令;所述處理器用于執行所述計算機程序/指令以實現權利要求1-8任一所述的基于GPT2-PCA的網絡日志異常檢測方法。
...【技術特征摘要】
1.一種基于gpt2-pca的網絡日志異常檢測方法,其特征在于,包括以下步驟:
2.根據權利要求1所述基于gpt2-pca的網絡日志異常檢測方法,其特征在于:步驟s4中通過序列化日志集合預訓練gpt-2模型,使用訓練好的gpt-2模型對日志消息進行特征提取的方法是,使用大量無標簽日志對gpt-2模型進行訓練,然后使用訓練好的gpt-2模型對待檢測日志序列進行特征提取;
3.根據權利要求1所述基于gpt2-pca的網絡日志異常檢測方法,其特征在于:gpt-2模型的結構如下:
4.根據權利要求1所述基于gpt2-pca的網絡日志異常檢測方法,其特征在于:步驟s5中使用訓練好的基于pca的分類模型進行異常檢測的方法是,構建一個正常樣本空間sn和一個異常樣本空間sa,然后將每個日志序列向量vi通過公式投影到正常空間sn上,其中,p=[e1,e2,…,ek],e1,e2,…ek表示具有前k大特征值的特征向量,k為日志序列主成分數量,為vi在正常空間sn上的投影;同樣的,將vi通過公式投影到異常空間sa上,其中i為標準單位矩陣;使用平方預測誤差來確定傳入的日志序列vj在異常空間中是否是離群點;vj的spe值通過公式來計算,通過與給定的閾值θ進行比較,如果spe值大于θ,則vj被預測為異常日志序列。
5.根據權利要求1所述基于gpt2-pca的網絡日志異常檢測方法,其特征在于:步驟s1中將日志消息進行預處理的方法是,將原始日志內容按照日志格式進行解析,...
【專利技術屬性】
技術研發人員:陳偉,高子昂,李青蕓,尹圳,吳禮發,苗春雨,范淵,
申請(專利權)人:南京郵電大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。