本發明涉及大數據,尤其涉及一種基于聯邦學習的用戶行為檢測方法、設備及系統。
背景技術:
1、隨著企業安全事件的大量曝光,保障企業的正常運行越來越受到管理者的重視,而異常事件復雜多變的表現形式給檢測工作帶來了很大的困難。現在大型企業內部的日常安全工作,對于外部安全威脅以防范為主,對于內部安全問題以分析審計為主。但很多外部安全問題的根源都來自于內部的違規操作。往往內網用戶有相當高的系統權限,一旦出現異常情況,就可能會造成極其嚴重的損失。越來越多的企業發現,檢查人的相關數據比檢查機器日志更容易發現系統風險。如何對內部員工行為進行分析,發現其中的異常點,一直是人們關注的焦點。
2、然而,現有的用戶行為異常檢測方法大多基于傳統算法進行分析,一般都需要多次對數據進行全量遍歷才能獲得結果,算法的時間復雜度較高。并且,用戶行為通常需要從多個設備或實體中進行數據抽取,然后匯總到某服務器中進行計算。傳統算法沒有考慮到數據傳輸過程中可能發生的用戶隱私泄露問題,數據提供方與數據運算方的數據頻繁交流增大了用戶隱私泄露的可能性。
技術實現思路
1、本發明提供一種基于聯邦學習的用戶行為檢測方法、設備及系統,用以解決現有技術中用戶隱私數據在傳輸過程中泄露的可能性較大、且算法的時間復雜度較高的缺陷。
2、第一方面,本發明提供一種基于聯邦學習的用戶行為檢測方法,應用于協調方設備,所述方法包括:
3、循環執行以下步驟,每循環一次,頻繁項集的長度加一,直至所述頻繁項集的長度達到最長項集長度:
4、分別向多個參與方設備發送攜帶候選項集的計數請求,并接收每個所述參與方設備返回的所述候選項集中每個項集元素在所述參與方設備的本地行為數據集中的出現次數;
5、在所述項集元素對應的各所述出現次數的總和大于最小支持度的情況下,將所述項集元素添加至所述頻繁項集中;
6、將所述頻繁項集中的各項集元素進行組合,得到下一候選項集;
7、在所述頻繁項集的長度達到所述最長項集長度后,分別向各所述參與方設備發送攜帶所述頻繁項集的打分請求,接收各所述參與方設備基于所述頻繁項集返回的各用戶行為的分數;所述用戶行為的分數用于表征所述用戶行為的威脅程度;
8、基于各所述參與方設備返回的所述各用戶行為的分數,確定所述各用戶行為中的用戶異常行為。
9、根據本發明提供的一種基于聯邦學習的用戶行為檢測方法,所述將所述頻繁項集中的各項集元素進行組合,得到下一候選項集,包括:
10、將所述頻繁項集中的各項集元素中的每兩個不同的所述項集元素進行組合,得到下一候選項集。
11、根據本發明提供的一種基于聯邦學習的用戶行為檢測方法,所述基于各所述參與方設備返回的所述各用戶行為的分數,確定所述各用戶行為中的用戶異常行為,包括:
12、針對每個所述用戶行為,將各所述參與方設備返回的所述用戶行為的分數進行相加,得到所述用戶行為的目標分數;
13、按照從大到小的順序,將所述各用戶行為的所述目標分數進行排序,得到排序結果;
14、將所述排序結果中排序靠前的預設比例的用戶行為確定為用戶異常行為。
15、第二方面,本發明還提供一種基于聯邦學習的用戶行為檢測方法,應用于參與方設備,所述方法包括:
16、循環執行以下步驟,直至接收到協調方設備在頻繁項集的長度達到最長項集長度后發送的攜帶所述頻繁項集的打分請求:
17、響應所述協調方設備發送的攜帶候選項集的計數請求,統計所述候選項集中每個項集元素在所述參與方設備的本地行為數據集中的出現次數;
18、將統計的所述出現次數返回所述協調方設備;所述協調方設備用于在所述候選項集中每個項集元素在各所述參與方設備的本地行為數據集中的出現次數的總和大于最小支持度的情況下,將所述項集元素添加至所述頻繁項集中;將所述頻繁項集中的各項集元素進行組合,得到下一候選項集,每循環一次,頻繁項集的長度加一;
19、響應所述打分請求,基于所述頻繁項集對各用戶行為進行打分,得到所述各用戶行為的分數;所述用戶行為的分數用于表征所述用戶行為的威脅程度;
20、將所述各用戶行為的分數返回所述協調方設備;所述各用戶行為的分數用于所述協調方設備確定所述各用戶行為中的用戶異常行為。
21、根據本發明提供的一種基于聯邦學習的用戶行為檢測方法,所述基于所述頻繁項集對各用戶行為進行打分,包括:
22、從所述參與方設備的本地行為數據集中提取多個用戶行為;
23、針對每個所述用戶行為,從規則庫中每條威脅規則的多個行為槽中篩選出與所述用戶行為匹配的行為槽;所述規則庫為所述頻繁項集;
24、在篩選出的所述行為槽的數量大于預設數量的情況下,獲取威脅權重表中所述威脅規則對應的威脅分數;
25、將獲取的各所述威脅分數進行相加,得到所述用戶行為的總威脅分數;
26、將所述用戶行為的總威脅分數進行歸一化處理,得到所述用戶行為的分數。
27、第三方面,本發明還提供一種基于聯邦學習的用戶行為檢測裝置,應用于協調方設備,所述裝置包括:
28、計數請求模塊,用于分別向多個參與方設備發送攜帶候選項集的計數請求;
29、次數接收模塊,用于接收每個所述參與方設備返回的所述候選項集中每個項集元素在所述參與方設備的本地行為數據集中的出現次數;
30、元素添加模塊,用于在所述項集元素對應的各所述出現次數的總和大于最小支持度的情況下,將所述項集元素添加至頻繁項集中;
31、元素組合模塊,用于將所述頻繁項集中的各項集元素進行組合,得到下一候選項集;
32、第一循環模塊,用于循環調用所述計數請求模塊、所述次數接收模塊、所述元素添加模塊和所述元素組合模塊,每循環一次,所述頻繁項集的長度加一,直至所述頻繁項集的長度達到最長項集長度;
33、打分請求模塊,用于分別向各所述參與方設備發送攜帶所述頻繁項集的打分請求;
34、分數接收模塊,用于接收各所述參與方設備基于所述頻繁項集返回的各用戶行為的分數;所述用戶行為的分數用于表征所述用戶行為的威脅程度;
35、異常檢測模塊,用于基于各所述參與方設備返回的所述各用戶行為的分數,確定所述各用戶行為中的用戶異常行為。
36、第四方面,本發明還提供一種基于聯邦學習的用戶行為檢測裝置,應用于參與方設備,所述裝置包括:
37、次數統計模塊,用于響應協調方設備發送的攜帶候選項集的計數請求,統計所述候選項集中每個項集元素在所述參與方設備的本地行為數據集中的出現次數;
38、次數返回模塊,用于將統計的所述出現次數返回所述協調方設備;所述協調方設備用于在所述候選項集中每個項集元素在各所述參與方設備的本地行為數據集中的出現次數的總和大于最小支持度的情況下,將所述項集元素添加至頻繁項集中;將所述頻繁項集中的各項集元素進行組合,得到下一候選項集,每循環一次,所述頻繁項集的長度加一;
39、第二循環模塊,用于循環調用所述次數統計模塊和所述次數返回模塊,直至接收到所述協調方設備在所述頻繁項集的長度達到最長項集長度后發送的攜帶所述頻繁項集的打分請求;
40、行為打分模塊,用于響應所述打分請求,基于所述頻繁項集對各用戶行為進行打分,得到所述各用戶行為的分數;所述用戶行為的分數用于表征所述用戶行為的威脅程度;
41、分數返回模塊,用于將所述各用戶行為的分數返回所述協調方設備;所述各用戶行為的分數用于所述協調方設備確定所述各用戶行為中的用戶異常行為。
42、第五方面,本發明還提供一種協調方設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如上述第一方面任一種所述的基于聯邦學習的用戶行為檢測方法。
43、第六方面,本發明還提供一種參與方設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如上述第二方面任一種所述的基于聯邦學習的用戶行為檢測方法。
44、第七方面,本發明還提供一種基于聯邦學習的用戶行為檢測系統,包括一個如第五方面所述的協調方設備和多個如第六方面所述的參與方設備,所述協調方設備分別與多個參與方設備通信連接,各所述參與方設備相互之間通信隔離。
45、第八方面,本發明還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如上述第一方面任一種所述的基于聯邦學習的用戶行為檢測方法,或實現如上述第二方面任一種所述的基于聯邦學習的用戶行為檢測方法。
46、本發明還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現如上述第一方面任一種所述的基于聯邦學習的用戶行為檢測方法,或實現如上述第二方面任一種所述的基于聯邦學習的用戶行為檢測方法。
47、本發明提供的一種基于聯邦學習的用戶行為檢測方法、設備及系統,首先協調方設備循環執行以下步驟,每循環一次,頻繁項集的長度加一,直至頻繁項集的長度達到最長項集長度:分別向多個參與方設備發送攜帶候選項集的計數請求,并接收每個參與方設備返回的候選項集中每個項集元素在參與方設備的本地行為數據集中的出現次數;在項集元素對應的各出現次數的總和大于最小支持度的情況下,將項集元素添加至頻繁項集中;將頻繁項集中的各項集元素進行組合,得到下一候選項集;也即,簡化了挖掘頻繁項集的步驟,可以降低算法的時間復雜度;而后,在頻繁項集的長度達到最長項集長度后,分別向各參與方設備發送攜帶頻繁項集的打分請求,接收各參與方設備基于頻繁項集返回的各用戶行為的分數;用戶行為的分數用于表征用戶行為的威脅程度;基于各參與方設備返回的各用戶行為的分數,確定各用戶行為中的用戶異常行為。也即,協調方設備和參與方設備之間傳輸的數據為候選項集、出現次數、頻繁項集和用戶行為的分數等中間數據,可以避免用戶隱私數據在傳輸過程中泄露的可能性。