本技術(shù)涉及日志檢測領(lǐng)域,具體而言,涉及一種日志處理方法、裝置及電子設(shè)備。
背景技術(shù):
1、現(xiàn)有的威脅檢測方法往往需要處理終端產(chǎn)生的海量日志數(shù)據(jù)。通常采用機器學習方法進行日志分析,嘗試通過訓練模型自動識別威脅特征。該方案通過收集大量的日志數(shù)據(jù),包含已知的威脅日志和正常日志,作為訓練集來訓練分類模型。通過對歷史數(shù)據(jù)的學習,嘗試逐步提升威脅檢測的準確率和效率,利用如決策樹、支持向量機(svm)、隨機森林等機器學習算法,模型學習區(qū)分威脅日志與正常日志的特征區(qū)別。但是,由于網(wǎng)絡威脅的多樣性及不斷演變,模型可能難以覆蓋所有類型的威脅,特別是針對零日攻擊的檢測能力不足,模型泛化能力有限,面對新興的威脅形式,模型需要重新訓練,無法即時反映最新的威脅特征,同時,這種方法需要大量人工對海量日志數(shù)據(jù)進行數(shù)據(jù)標注和預處理,耗時耗力且成本高。
2、針對相關(guān)技術(shù)中通過將海量日志輸入深度學習模型中檢測日志中的威脅信息,使得深度學習模型的檢測效率較低,導致日志檢測效率較低的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種日志處理方法、裝置及電子設(shè)備,以解決相關(guān)技術(shù)中通過將海量日志輸入深度學習模型中檢測日志中的威脅信息,使得深度學習模型的檢測效率較低,導致日志檢測效率較低的問題。
2、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的一個方面,提供了一種日志處理方法,該方法包括:獲取多個第一日志;針對所述多個第一日志中的每個第一日志,依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志,其中,所述第一詞語集合中每個詞語的詞頻均高于所述第二詞語集合中每個詞語的詞頻,所述第二詞語集合中每個詞語均設(shè)置有高于預設(shè)等級的風險等級;通過目標檢測模型確定每個第二日志的威脅概率,并對威脅概率大于預設(shè)概率的第二日志進行威脅檢測,得到威脅檢測結(jié)果。
3、進一步地,依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志,包括:將所述第一詞語集合中的詞語確定為第一詞語,并對所述第一日志中的第一詞語進行保留;將所述第二詞語集合中的詞語確定為第二詞語,并依據(jù)每個第二詞語在所述第二詞語集合中的風險等級替換所述第一日志中的所述第二詞語;將所述第一日志中除第一詞語、第二詞語以外的詞語確定為第三詞語,并采用預設(shè)字符串替換所述第一日志中的第三詞語,得到所述第一日志對應的第二日志。
4、進一步地,在依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志之前,所述方法還包括:獲取多個歷史日志,計算所述多個歷史日志中每個詞語的詞頻,得到每個詞語的詞頻;依據(jù)所述詞頻大于第一預設(shè)閾值的詞語生成所述第一詞語集合,并依據(jù)所述詞頻小于等于所述第一預設(shè)閾值且大于第二預設(shè)閾值的詞語生成第二詞語集合;計算所述第二詞語集合中的詞語在預設(shè)的威脅日志集合中所占的比例值,并依據(jù)所述第二詞語集合中的每個詞語的比例值確定所述第二詞語集合中每個詞語的風險等級。
5、進一步地,在計算所述多個歷史日志中每個詞語的詞頻,得到每個詞語的詞頻之前,所述方法還包括:通過正則表達式替換所述歷史日志中預設(shè)類型的字符串,得到替換后的歷史日志,其中,所述預設(shè)類型的字符串是與用戶行為無關(guān)的字符串;依據(jù)預設(shè)字符對所述替換后的歷史日志進行分割,得到所述歷史日志中的每個詞語。
6、進一步地,每個第二日志包括至少一個鍵值對,所述鍵值對中的鍵表征日志數(shù)據(jù)的屬性,所述鍵值對中的值包含所述第二日志中的詞語,所述值至少包括第一類值和第二類值,所述第一類值表征上下文之間存在語義關(guān)系的詞語,所述第二類值表征上下文之間不存在語義關(guān)系的詞語,通過目標檢測模型確定每個第二日志的威脅概率,包括:針對每個第二日志中每個鍵值對,采用第一轉(zhuǎn)換模型將所述第一類值轉(zhuǎn)換為嵌入式向量,采用全連接層分別將所述第二類值和所述鍵轉(zhuǎn)換為嵌入式向量,得到每個第二日志的鍵值對向量集合;針對每個第二日志,將所述第二日志的鍵值對向量集合輸入所述目標檢測模型的多頭注意力機制中,得到所述第二日志中每個鍵值對的威脅概率;依據(jù)所述第二日志中每個鍵值對的威脅概率確定所述第二日志的威脅概率。
7、進一步地,所述目標檢測模型由以下步驟訓練得到:獲取多個樣本日志,并依據(jù)所述第一詞語集合和所述第二詞語集合構(gòu)建所述多個樣本日志的鍵值對向量集合;基于所述多個樣本日志的鍵值對向量集合構(gòu)建訓練樣本集;基于所述訓練樣本集迭代訓練預設(shè)檢測模型,得到至少一個中間模型;依據(jù)所述至少一個中間模型確定所述目標檢測模型。
8、進一步地,在基于所述訓練樣本集迭代訓練預設(shè)檢測模型,得到至少一個中間模型之后,所述方法還包括:獲取所述至少一個中間模型中每個中間模型的預測結(jié)果,其中,所述中間模型的預測結(jié)果表征通過所述中間模型預測到的所述多個樣本日志中每個鍵值對的威脅概率;分別在每個中間模型的預測結(jié)果中確定所述威脅概率最高的鍵值對,得到鍵值對集合;依據(jù)所述鍵值對集合更新所述第二詞語集合。
9、進一步地,在對威脅概率大于預設(shè)概率的第二日志進行威脅檢測,得到威脅檢測結(jié)果之后,所述方法還包括:依據(jù)所述威脅檢測結(jié)果確定多個目標詞語,其中,所述多個目標詞語是威脅概率大于預設(shè)概率的第二日志中存在威脅的詞語;確定所述多個目標詞語中每個目標詞語的威脅次數(shù),其中,所述威脅次數(shù)表征所述目標詞語作為存在威脅的詞語的次數(shù);依據(jù)每個目標詞語的威脅次數(shù)更新每個目標詞語的風險等級,得到每個目標詞語更新后的風險等級;依據(jù)所述多個目標詞語和每個目標詞語更新后的風險等級更新所述第二詞語集合,得到更新后的第二詞語集合。
10、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的另一方面,提供了一種日志處理裝置,該裝置包括:第一獲取單元,用于獲取多個第一日志;處理單元,用于針對所述多個第一日志中的每個第一日志,依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志,其中,所述第一詞語集合中每個詞語的詞頻均高于所述第二詞語集合中每個詞語的詞頻,所述第二詞語集合中每個詞語均設(shè)置有高于預設(shè)等級的風險等級;檢測單元,用于通過目標檢測模型確定每個第二日志的威脅概率,并對威脅概率大于預設(shè)概率的第二日志進行威脅檢測,得到威脅檢測結(jié)果。
11、進一步地,所述處理單元包括:第一確定子單元,用于將所述第一詞語集合中的詞語確定為第一詞語,并對所述第一日志中的第一詞語進行保留;第一替換子單元,用于將所述第二詞語集合中的詞語確定為第二詞語,并依據(jù)每個第二詞語在所述第二詞語集合中的風險等級替換所述第一日志中的所述第二詞語;第二替換子單元,用于將所述第一日志中除第一詞語、第二詞語以外的詞語確定為第三詞語,并采用預設(shè)字符串替換所述第一日志中的第三詞語,得到所述第一日志對應的第二日志。
12、進一步地,所述裝置還包括:第一計算單元,用于在依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志之前,獲取多個歷史日志,計算所述多個歷史日志中每個詞語的詞頻,得到每個詞語的詞頻;生成單元,用于依據(jù)所述詞頻大于第一預設(shè)閾值的詞語生成所述第一詞語集合,并依據(jù)所述詞頻小于等于所述第一預設(shè)閾值且大于第二預設(shè)閾值的詞語生成第二詞語集合;第二計算單元,用于計算所述第二詞語集合中的詞語在預設(shè)的威脅日志集合中所占的比例值,并依據(jù)所述第二詞語集合中的每個詞語的比例值確定所述第二詞語集合中每個詞語的風險等級。
13、進一步地,所述裝置還包括:替換單元,用于在計算所述多個歷史日志中每個詞語的詞頻,得到每個詞語的詞頻之前,通過正則表達式替換所述歷史日志中預設(shè)類型的字符串,得到替換后的歷史日志,其中,所述預設(shè)類型的字符串是與用戶行為無關(guān)的字符串;分割單元,用于依據(jù)預設(shè)字符對所述替換后的歷史日志進行分割,得到所述歷史日志中的每個詞語。
14、進一步地,所述每個第二日志包括至少一個鍵值對,所述鍵值對中的鍵表征日志數(shù)據(jù)的屬性,所述鍵值對中的值包含所述第二日志中的詞語,所述值至少包括第一類值和第二類值,所述第一類值表征上下文之間存在語義關(guān)系的詞語,所述第二類值表征上下文之間不存在語義關(guān)系的詞語,所述檢測單元包括:轉(zhuǎn)換子單元,用于針對每個第二日志中每個鍵值對,采用第一轉(zhuǎn)換模型將所述第一類值轉(zhuǎn)換為嵌入式向量,采用全連接層分別將所述第二類值和所述鍵轉(zhuǎn)換為嵌入式向量,得到每個第二日志的鍵值對向量集合;計算子單元,用于針對每個第二日志,將所述第二日志的鍵值對向量集合輸入所述目標檢測模型的多頭注意力機制中,得到所述第二日志中每個鍵值對的威脅概率;第二確定子單元,用于依據(jù)所述第二日志中每個鍵值對的威脅概率確定所述第二日志的威脅概率。
15、進一步地,所述裝置還包括:第二獲取單元,用于獲取多個樣本日志,并依據(jù)所述第一詞語集合和所述第二詞語集合構(gòu)建所述多個樣本日志的鍵值對向量集合;構(gòu)建單元,用于基于所述多個樣本日志的鍵值對向量集合構(gòu)建訓練樣本集;訓練單元,用于基于所述訓練樣本集迭代訓練預設(shè)檢測模型,得到至少一個中間模型;第一確定單元,用于依據(jù)所述至少一個中間模型確定所述目標檢測模型。
16、進一步地,所述裝置還包括:第三獲取單元,用于在基于所述訓練樣本集迭代訓練預設(shè)檢測模型,得到至少一個中間模型之后,獲取所述至少一個中間模型中每個中間模型的預測結(jié)果,其中,所述中間模型的預測結(jié)果表征通過所述中間模型預測到的所述多個樣本日志中每個鍵值對的威脅概率;第二確定單元,用于分別在每個中間模型的預測結(jié)果中確定所述威脅概率最高的鍵值對,得到鍵值對集合;第一更新單元,用于依據(jù)所述鍵值對集合更新所述第二詞語集合。
17、進一步地,所述裝置還包括:第三確定單元,用于在對威脅概率大于預設(shè)概率的第二日志進行威脅檢測,得到威脅檢測結(jié)果之后,依據(jù)所述威脅檢測結(jié)果確定多個目標詞語,其中,所述多個目標詞語是威脅概率大于預設(shè)概率的第二日志中存在威脅的詞語;第四確定單元,用于確定所述多個目標詞語中每個目標詞語的威脅次數(shù),其中,所述威脅次數(shù)表征所述目標詞語作為存在威脅的詞語的次數(shù);第二更新單元,用于依據(jù)每個目標詞語的威脅次數(shù)更新每個目標詞語的風險等級,得到每個目標詞語更新后的風險等級;第三更新單元,用于依據(jù)所述多個目標詞語和每個目標詞語更新后的風險等級更新所述第二詞語集合,得到更新后的第二詞語集合。
18、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的一個方面,提供了一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述任意一項所述日志處理方法,所述計算機程序被處理器執(zhí)行時實現(xiàn)本技術(shù)各個實施例中所述日志處理方法的步驟。
19、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的一個方面,提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)包括存儲的計算機指令,其中,在所述計算機指令被處理器執(zhí)行時實現(xiàn)上述任意一項所述日志處理方法。
20、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的一個方面,提供了一種電子設(shè)備,包括一個或多個處理器和存儲器,存儲器用于存儲一個或多個程序,其中,當一個或多個程序被一個或多個處理器執(zhí)行時,使得一個或多個處理器實現(xiàn)上述任意一項所述日志處理方法。
21、通過本技術(shù),采用以下步驟:獲取多個第一日志;針對所述多個第一日志中的每個第一日志,依據(jù)第一詞語集合和第二詞語集合對所述第一日志中的詞語進行處理,得到所述第一日志對應的第二日志,其中,所述第一詞語集合中每個詞語的詞頻均高于所述第二詞語集合中每個詞語的詞頻,所述第二詞語集合中每個詞語均設(shè)置有高于預設(shè)等級的風險等級;通過目標檢測模型確定每個第二日志的威脅概率,并對威脅概率大于預設(shè)概率的第二日志進行威脅檢測,得到威脅檢測結(jié)果,解決了相關(guān)技術(shù)中通過將海量日志輸入深度學習模型中檢測日志中的威脅信息,使得深度學習模型的檢測效率較低,導致日志檢測效率較低的問題。通過預先準備好的第一詞語集合和第二詞語集合對待檢測的多個第一日志進行處理,有助于模型更好的理解日志數(shù)據(jù)中的上下文信息,同時通過目標檢測模型對海量日志數(shù)據(jù)進行過濾和篩選,顯著降低了對后續(xù)威脅檢測模型的數(shù)據(jù)輸入量,從而減少了因處理大量不必要日志而產(chǎn)生的額外計算資源消耗,降低了企業(yè)在數(shù)據(jù)處理、存儲及算力資源上的開銷,達到了提高了日志威脅檢測的效率的效果,從而使得威脅檢測系統(tǒng)能夠更快地進行響應,提高了整個安全監(jiān)控系統(tǒng)的響應速度,進一步達到了增強企業(yè)的安全防御體系,抵御未知威脅和減輕潛在風險的效果。