TWI797808B - 機器學習系統及方法 - Google Patents
機器學習系統及方法 Download PDFInfo
- Publication number
- TWI797808B TWI797808B TW110140836A TW110140836A TWI797808B TW I797808 B TWI797808 B TW I797808B TW 110140836 A TW110140836 A TW 110140836A TW 110140836 A TW110140836 A TW 110140836A TW I797808 B TWI797808 B TW I797808B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- local
- node sequence
- local model
- client device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
- Information Transfer Between Computers (AREA)
- Electrically Operated Instructional Devices (AREA)
- Computer And Data Communications (AREA)
Abstract
一種機器學習系統及方法。該機器學習系統包含複數個客戶端裝置,該等客戶端裝置包括一第一客戶端裝置及一或多個第二客戶端裝置。該第一客戶端裝置傳送一模型更新需求至該一或多個第二客戶端裝置,該模型更新需求對應至一惡意程式類型。該第一客戶端裝置自每一該一或多個第二客戶端裝置,接收對應該一或多個第二客戶端裝置各者的一第二本地模型。該第一客戶端裝置基於一第一本地模型及每一該第二本地模型,產生複數個節點序列。該第一客戶端裝置基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合。
Description
本案係關於一種機器學習系統及方法。具體而言,本案係關於一種整合各客戶端裝置的模型,以達到共享模型之機器學習系統及方法。
近年來,企業或單位本身所維護的資安偵防模型已不足夠應付快速發展的惡意程式的種類及數量,而需要結合不同異質場域的資安偵防模型來提升整體聯防的成效,同時也需要兼顧隱私的資料保護。
因此,需要一種機制使得資安偵防模型能在客戶終端分別進行訓練,並將不同場域訓練之資安偵防模型,回饋到某一端點進行模型和專家知識整合,並將整合結果反饋回各個終端,達到安全有效率的偵防模型與專家知識分享之目的。
有鑑於此,如何提供一種可整合各客戶端裝置之模型之技術,乃業界亟需努力之目標。
本案之一目的在於提供一種機器學習系統。該機器學習系統包含複數個客戶端裝置,該等客戶端裝置通訊連結至一加密網路。該等客戶端裝置包括一第一客戶端裝置及一或多個第二客戶端裝置。該第一客戶端裝置儲存一第一本地模型。該一或多個第二客戶端裝置中的各者儲存一第二本地模型,其中該第一本地模型及每一該第二本地模型對應至一惡意程式類型。該第一客戶端裝置傳送一模型更新需求至該一或多個第二客戶端裝置,其中該模型更新需求對應至該惡意程式類型。該第一客戶端裝置自每一該一或多個第二客戶端裝置,接收對應該一或多個第二客戶端裝置各者的該第二本地模型。該第一客戶端裝置基於該第一本地模型及每一該第二本地模型,產生複數個節點序列。該第一客戶端裝置基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合。
本案之另一目的在於提供一種機器學習方法,該機器學習方法用於一機器學習系統,該機器學習系統包含複數個客戶端裝置,該等客戶端裝置通訊連結至一加密網路,其中該等客戶端裝置包括一第一客戶端裝置及一或多個第二客戶端裝置,該第一客戶端裝置儲存一第一本地模型。該一或多個第二客戶端裝置中的各者儲存一第二本地模型,其中該第一本地模型及每一該第二本地模型對應至一惡意程式類型,該機器學習方法由該第一客戶端裝置所執行且包含下列步驟:基於一模型更新需求,自每一該一或多個第二客戶端裝置接收對應該一或多個第二客戶端裝置各者的該第二本地模型,其中該模型更新需求對應至該惡意程式類型;基於該第一本地模型及每一該第二本地模型,產生複數個節點序列;以及基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合。
本案所提供之機器學習技術(至少包含系統及方法),藉由傳送模型更新需求至加密網路中的其他客戶端裝置,且自該等客戶端裝置接收對應該等客戶端裝置各者的該本地模型。接著,基於該等本地模型(例如:第一本地模型及第二本地模型),產生複數個節點序列。最後,基於該等節點序列,合併該等本地模型以產生一本地模型集合。本案所提供之機器學習技術,以聯邦式學習共享模型框架共享區域模型的學習經驗,且透過專家知識進行強化式學習,整合各客戶端裝置之本地模型,提升區域聯防的效果。
以下結合圖式闡述本案之詳細技術及實施方式,俾使本案所屬技術領域中具有通常知識者能理解所請求保護之發明之技術特徵。
以下將透過實施方式來解釋本案所提供之一種機器學習系統及方法。然而,該等實施方式並非用以限制本案需在如該等實施方式所述之任何環境、應用或方式方能實施。因此,關於實施方式之說明僅為闡釋本案之目的,而非用以限制本案之範圍。應理解,在以下實施方式及圖式中,與本案非直接相關之元件已省略而未繪示,且各元件之尺寸以及元件間之尺寸比例僅為例示而已,而非用以限制本案之範圍。
先說明本實施方式的適用場景,其示意圖係描繪於第1圖。如第1圖所示,機器學習系統1包含了複數個客戶端裝置A、B、C及D。於該場景中,該等客戶端裝置A、B、C及D通訊連結至加密網路2 (Encrypted network),且該等客戶端裝置A、B、C及D各自包含對應至至少對應一惡意程式類型的本地模型M
A、M
B、M
C及M
D(例如:用以偵測木馬程式的資安偵防模型)。
應理解,客戶端裝置A、B、C及D可以例如是不同企業或不同單位之資訊安全伺服器,客戶端裝置A、B、C及D在各自的場域收集本地端資料並進行本地模型的訓練,且透過加密網路2共享來自不同場域的本地模型訓練成果,例如:模型及其模型相關參數等等,而本地端資料仍可保留隱私性不會進行共享。
須說明者,本案未限制機器學習系統1所具有之客戶端裝置之數目,以及各個客戶端裝置所包含之本地模型之數目(即,各個客戶端裝置可包含對應至多種惡意程式類型的複數個本地模型)。為便於說明,以下將以各個客戶端裝置具有一個本地模型為例說明,但本案所屬技術領域中具有通常知識者依據以下說明應能理解當一個客戶端裝置有多個本地模型時之運作方式。
以下將詳細說明本案之第一實施方式的具體運作,請參考第1圖。為便於說明,以下段落將以該等客戶端裝置A、B、C及D中的客戶端裝置A作為本次主導整合本地模型運作的裝置(即,第一客戶端裝置)。應理解,於其他實施方式中,亦可由客戶端裝置B、C或D(即,一或多個第二客戶端裝置)實施同樣的整合運作,故不贅言。
本案之第一實施方式中的客戶端裝置,其架構示意圖係描繪於第2圖(以客戶端裝置A為例)。客戶端裝置A包含一儲存器21、收發介面23及處理器25,處理器25電性連接至儲存器21及收發介面23。儲存器21可為記憶體、通用串列匯流排(Universal Serial Bus;USB)碟、硬碟、光碟、隨身碟或本案所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體或電路。收發介面23為可接收及傳輸資料之介面或本案所屬技術領域中具有通常知識者所知悉之其他可接收及傳輸資料之介面,收發介面23可透過例如:外部裝置、外部網頁、外部應用程式等等來源接收資料。處理器25可為各種處理單元、中央處理單元(Central Processing Unit;CPU)、微處理器或本案所屬技術領域中具有通常知識者所知悉之其他計算裝置。
於本實施方式中,如第1圖所示,客戶端裝置A、B、C及D各自包含對應至一惡意程式類型的本地模型M
A、M
B、M
C及M
D。
首先,於本實施方式中,客戶端裝置A判斷其儲存的本地模型M
A需要進行更新,因此客戶端裝置A對於加密網路2中的客戶端裝置B、C及D發出模型更新需求。具體而言,客戶端裝置A(或稱為第一客戶端裝置)傳送一模型更新需求至該等客戶端裝置B、C及D(或稱為第二客戶端裝置),其中該模型更新需求對應至該惡意程式類型。
須說明者,模型更新需求的發起時機,可透過例如:客戶端裝置A或是具有專家知識(Domain Knowledge)的資訊安全人員判斷客戶端裝置A目前之本地模型已不足夠預測惡意程式,需要進行本地模型的更新。舉例而言,當本地模型版本已過舊或是有新類型的惡意程式出現,都可能造成客戶端裝置A目前的本地模型對於惡意程式的預測準確率過低。
接著,客戶端裝置A將本地模型M
A、M
B、M
C及M
D中的特徵值判斷規則進行分解,以產生複數個節點序列,該節點序列將用於後續的合併運作。具體而言,客戶端裝置A基於該等本地模型(即,本地模型M
B、M
C及M
D,或稱第二本地模型)及該第一本地模型(即,本地模型M
A),產生複數個節點序列(Node Sequence;NS)。值得一提的是,於此實施例中,客戶端裝置A對於加密網路2中的客戶端裝置B、C及D發出模型更新需求,此情況下的客戶端裝置A被視為第一客戶端裝置(儲存有第一本地模型),其他裝置則屬於第二客戶端裝置(儲存有第二本地模型)。於另一些情況下,舉例而言,若客戶端裝置C對於加密網路2中的客戶端裝置A、B及D發出模型更新需求,則此時客戶端裝置C被視為第一客戶端裝置,其他裝置則屬於第二客戶端裝置。
須說明者,本地模型M
A、M
B、M
C及M
D可由具有樹狀結構(Tree-based)的決策樹 (Decision tree)組成,而決策樹是由複數個判斷式組成。具體而言,由於在樹狀結構中,每個節點(node)都具有特徵值的判斷,因此可將本地模型中的各節點及其特徵判斷值,拆分成複數個節點序列。
為便於理解,以一實際範例舉例而言,如第3A圖所示。第3A圖例示了,具有二層樹結構的模型300。在第一層的節點中,包含了節點項目「col_i」及特徵判斷值「col_i < 100」,在第二層的節點中,包含了節點項目「col_j」及「col_k」以及其分別對應的特徵判斷值「col_j > 50」及「col_k > 70」。因此,在本範例中,基於模型300可產生二個節點序列「(col_i < 100, col_j > 50)」以及「(col_i >= 100, col_k < 70)」。
須說明者,第3A圖僅用於例示,而非用以限制本案之範圍。本案所屬技術領域中具有通常知識者依據以上說明應能理解當模型具有更多層結構時節點序列的產生方式,故不贅言。
最後,客戶端裝置A將判斷哪些節點序列類似,且將類似的節點序列進行合併,且基於合併後的節點序列產生本地模型,以完成本地模型M
A、M
B、M
C及M
D間的合併。具體而言,客戶端裝置A基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合。
於某些實施方式中,該等節點序列的各者包含複數個節點項目及對應該等節點項目各者之一特徵判斷值,且客戶端裝置A更針對該等節點序列中的任二者(即,由本地模型M
A、M
B、M
C及M
D所產生的複數個節點序列中任選二者),執行以下運作:比對一第一節點序列及一第二節點序列所對應之該等節點項目,以產生一相似度;當判斷該相似度大於一第一預設值時,合併該第一節點序列及該第二節點序列成為一新節點序列,且調整該新節點序列所對應之該特徵判斷值;以及當判斷該相似度小於一第二預設值時,保留該第一節點序列及該第二節點序列。
於某些實施方式中,其中客戶端裝置A更執行以下運作:當判斷該相似度介於該第一預設值及該第二預設值時,刪除該第一節點序列及該第二節點序列中的至少一部分之該等節點項目,合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。於一些實施例中,第一預設值大於第二預設值。
舉例而言,判斷相似度可分為三種狀況,分別為「類似」(即,相似度大於第一預設值(例如:0.9))、「不類似」(即,相似度小於第二預設值(例如:0.1))及「其他」(即,相似度介於第一預設值及第二預設值之間(例如:介於0.9~0.1之間)),以下將依序舉例說明。此外,相似度判斷可透過習知的相似度演算法運作,例如:序列比對(Sequence alignment)演算法。於某些實施方式中,由於節點序列長度可能不一樣,客戶端裝置A亦可透過比對局部的序列判斷相似度。
為便於理解請參考第3B圖。第3B圖例示了4個不同的節點序列NS1、NS2、NS3及NS4。具體而言,節點序列NS1為「(col_i < 100, col_j > 50, col_k < 90)」,節點序列NS2為「(…, col_i < 100, col_j < 100, col_k < 70, …)」,節點序列NS3為「(col_l < 100, col_m > 50, col_n < 90)」,節點序列NS4為「(col_k < 100, col_m < 40, col_n > 70, col_p < 5)」。為方便表示,其中NS2僅列出部分之節點序列,其他無關於本次比對的層則以「…」省略。
以下將說明相似度為「類似」的情況,請參考第3B圖中的節點序列NS1及NS2。於本範例中,客戶端裝置A比對節點序列NS1及NS2的節點項目,由於NS1及NS2的節點項目均為為「col_i」、「col_j」及「col_k」,因此客戶端裝置A判斷節點序列NS1及NS2的相似度程度極高(意即,二者所對應之本地模型中對於某部分節點項目的特徵判斷雷同),將節點序列NS1及NS2進行合併,且對於共同之節點項目調整其特徵判斷值。
於本實施方式中,合併後調整特徵判斷值的方式有三種方式,分別為聯集(union)、交集(intersect)及專家知識設定,不同方式對於特徵判斷值的調整幅度不同。以本範例而言,若將NS1及NS2的節點項目「col_k」以聯集方式進行合併,則合併後的節點項目「col_k」所對應的特徵判斷值為「col_k<90」(即,選擇範圍較大者)。
以本範例而言,若將NS1及NS2的節點項目「col_j」以交集方式進行合併,則合併後的節點項目「col_j」所對應的特徵判斷值為「50 < col_j <100」。
於某些實施方式中,客戶端裝置A亦可對於特徵重要性(feature importance)較低的節點,透過專家知識設定來進一步改變特徵的判斷範圍。須說明者,特徵重要性是在訓練本地模型時產生的資訊(例如:信息增益(gain information)),其用以代表該節點對於模型的影響程度(即,特徵重要性越大即表示對於模型的預測結果的影響最大)。
以本範例而言,若將NS1及NS2的節點項目「col_i」以專家知識設定方式進行合併,則合併後的節點項目「col_i」所對應的特徵判斷值可能為「col_i < 80」(原應為col_i < 100),因為經由專家判斷後認為「col_i < 80」更能改善模型的準確度。須說明者,透過專家知識設定方式的調整可能將原先的特徵判斷值設定為更高或更低,視專家基於不同類型或經驗的判斷。
應理解,於本案的所有合併運作中,客戶端裝置A可視其設定或需求,基於前述三種方式(即,聯集、交集及專家知識設定)調整合併後的特徵判斷值。
以下將說明相似度為「不類似」的情況,請參考第3B圖中的節點序列NS1及NS3。於本範例中,客戶端裝置A比對節點序列NS1及NS3的節點項目,由於NS1的節點項目為「col_i」、「col_j」及「col_k」,而NS3的節點項目為「col_l」、「col_m」及「col_n」,客戶端裝置A判斷二者的節點項目明顯不同且相似度程度極低(意即,二者所對應之本地模型中對於某部分節點項目的判斷完全不同),因此保留節點序列NS1及NS3,不進行合併。
以下將說明相似度為「其他」的情況,請參考第3B圖中的節點序列NS1及NS4。於本範例中,客戶端裝置A比對節點序列NS1及NS4的節點項目,由於NS1的節點項目為「col_i」、「col_j」及「col_k」,而NS4的節點項目為「col_k」、「col_m」、「col_n」及「col_p」,客戶端裝置A判斷二者僅具有共同之節點項目「col_k」,因此判斷其相似度程度為「其他」,將節點序列NS1及NS2進行合併,並對於共同之節點項目「col_k」調整特徵判斷值。
於某些實施方式中,其中客戶端裝置A更執行以下運作:基於該等節點項目各者所對應之一特徵重要度,排序該第一節點序列及該第二節點序列的該等節點項目;刪除該特徵重要度小於一第三預設值之該等節點項目;以及合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
以第3B圖中的節點序列NS1及NS4舉例而言,客戶端裝置A先將NS3及NS4中的節點序列依特徵重要度排序,且客戶端裝置A判斷節點項目「col_p」的特徵重要度小於第三預設值,因此將NS4中的節點項目「col_p」刪除後,繼續進行NS3及NS4的合併運作。由於客戶端裝置A將特徵重要性小於預設值之節點刪除,可避免過度擬合(over fitting)的問題。
於某些實施方式中,客戶端裝置A更基於本地端的資料對於新的本地模型集合進行訓練,且透過新的本地模型集合對於的產生新的預測結果。具體而言,客戶端裝置A先將複數個本地資料集輸入至該本地模型集合,以訓練該本地模型集合。接著,客戶端裝置A基於該本地模型集合產生一預測結果,其中該預測結果包含一信心區間(confidence interval)(例如:信心分數)。
舉例而言,該預測結果可透過平均或是投票的方式,由客戶端裝置A統計新的本地模型集合中的各個本地模型的預測結果而產生。
須說明者,一般的資安伺服器只採用入侵偵測系統(Intrusion Prevention System;IPS)及入侵防禦系統(Intrusion Detection System;IDS)的規則來過濾資料。然而,IDS/IPS的規則僅能預測制式的惡意程式(例如:當出現包含某檔案名稱為123.txt的檔案,即判定為惡意程式)。本案的本地模型則是能進一步分析資料運作的行為,從運作行為判斷是否可能為惡意程式,因此相較IDS/IPS的規則於能進一步預測更多可能的惡意行為。
於某些實施方式中,客戶端裝置A除了由IDS/IPS的規則產生事件(event),更透過本地模型產生事件的預測(即,判斷是否為惡意程式),且透過專家知識比對二者的預測結果,提供回饋給本地模型,以使本地模型可進一步跟去該回饋進行修正。
於某些實施方式中,客戶端裝置A亦可透過計算偽陽性(False positive)或偽陰性(False Negative)的比例判斷本地模型的準確率效果。舉例而言,若偽陽性的比例過高,可能代表本地模型的版本過舊,需要進行模型的更新。若偽陰性的比例過高,代表可能出現新種類的惡意程式,需要產生對應於新種類的惡意程式的本地模型。
於某些實施方式中,客戶端裝置A更基於本地端的資料,產生對應該新種類惡意程式的本地模型。具體而言,客戶端裝置A產生一新本地模型,其中該新本地模型用以判斷一新惡意程式類型。
於某些實施方式中,客戶端裝置A更將本地模型集合傳送給加密網路2中的客戶端裝置B、C及D,以達到資訊安全資訊共享的目的。具體而言,客戶端裝置A將該本地模型集合傳送給客戶端裝置B、C及D,以使客戶端裝置B、C及D基於該本地模型集合更新客戶端裝置B、C及D各者的本地模型M
B、M
C及M
D。
於某些實施方式中,客戶端裝置B、C及D可計算從客戶端裝置A接收的本地模型集合中,其可偵測惡意程式類型的模型數量,以判斷是否需要新增本地模型。舉例而言,原先僅有偵測10種惡意程式類型的模型,若客戶端裝置B、C及D判斷自客戶端裝置A接收的本地模型集合中包含可偵測11種惡意程式類型的模型,則客戶端裝置B、C及D基於新增的惡意程式模型更新該本地模型。
由上述說明可知,本案所提供之機器學習系統1,藉由傳送模型更新需求至加密網路中的其他客戶端裝置,且自該等客戶端裝置接收對應該等客戶端裝置各者的該本地模型。接著,基於該等本地模型(例如:第一本地模型及第二本地模型),產生複數個節點序列。最後,基於該等節點序列,合併該等本地模型以產生一本地模型集合。本案所提供之機器學習技術,以聯邦式學習共享模型框架共享區域模型的學習經驗,且透過專家知識進行強化式學習,整合各客戶端裝置之本地模型,提升區域聯防的效果。
本案之第二實施方式為一機器學習方法,其流程圖係描繪於第4圖。機器學習方法400適用於一機器學習系統,該機器學習系統包含複數個客戶端裝置,例如:第一實施方式所述之機器學習系統1及客戶端裝置A、B、C及D。該等客戶端裝置通訊連結至一加密網路,例如:第一實施方式之加密網路2。該等客戶端裝置包括一第一客戶端裝置及一或多個第二客戶端裝置,該第一客戶端裝置儲存一第一本地模型,該一或多個第二客戶端裝置中的各者儲存一第二本地模型,其中該第一本地模型及每一個該第二本地模型對應至一惡意程式類型,例如:第一實施方式之本地模型M
A、M
B、M
C及M
D。機器學習方法400由該第一客戶端裝置所執行,機器學習方法400透過步驟S401至步驟S405產生本地模型集合,該本地模型集合可用以判斷惡意程式。
於步驟S401,由該第一客戶端裝置基於一模型更新需求,自每一該一或多個第二客戶端裝置接收對應該一或多個第二客戶端裝置各者的該第二本地模型,其中該模型更新需求對應至該惡意程式類型。
接著,於步驟S403,由該第一客戶端裝置基於第一本地模型及每一第二本地模型,產生複數個節點序列。
最後,於步驟S405,由該第一客戶端裝置基於該等節點序列,合併第一本地模型及每一第二本地模型以產生一本地模型集合。
於某些實施方式中,其中該等節點序列的各者包含複數個節點項目及對應該等節點項目各者之一特徵判斷值。此外,機器學習方法400更包含下列步驟:該第一客戶端裝置更針對該等節點序列中的任二者,執行以下步驟:比對一第一節點序列及一第二節點序列所對應之該等節點項目,以產生一相似度;當判斷該相似度大於一第一預設值時,合併該第一節點序列及該第二節點序列成為一新節點序列,且調整該新節點序列所對應之該特徵判斷值;以及當判斷該相似度小於一第二預設值時,保留該第一節點序列及該第二節點序列。
於某些實施方式中,機器學習方法400更包含下列步驟:當判斷該相似度介於該第一預設值及該第二預設值時,刪除該第一節點序列及該第二節點序列中的至少一部分之該等節點項目,合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
於某些實施方式中,機器學習方法400更包含下列步驟:基於該等節點項目各者所對應之一特徵重要度,排序該第一節點序列及該第二節點序列的該等節點項目;刪除該特徵重要度小於一第三預設值之該等節點項目;以及合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
於某些實施方式中,機器學習方法400更包含下列步驟:將複數個本地資料集輸入至該本地模型集合,以訓練該本地模型集合;以及基於該本地模型集合產生一預測結果,其中該預測結果包含一信心區間。
於某些實施方式中,機器學習方法400更包含下列步驟:產生一新本地模型,其中該新本地模型用以判斷一新惡意程式類型。
於某些實施方式中,機器學習方法400更包含下列步驟:將該本地模型集合傳送給該一或多個第二客戶端裝置,以使該一或多個第二客戶端裝置基於該本地模型集合更新該一或多個第二客戶端裝置各者的該第二本地模型。
除了上述步驟,第二實施方式亦能執行第一實施方式所描述之機器學習系統1之所有運作及步驟,具有同樣之功能,且達到同樣之技術效果。本案所屬技術領域中具有通常知識者可直接瞭解第二實施方式如何基於上述第一實施方式以執行此等運作及步驟,具有同樣之功能,並達到同樣之技術效果,故不贅述。
需說明者,於本案專利說明書及申請專利範圍中,某些用語(包含:客戶端裝置、本地模型、預設值及節點序列)前被冠以「第一」或「第二」,該等「第一」及「第二」僅用來區分不同之用語。例如:第一節點序列及第二節點序列中之「第一」及「第二」僅用來表示使用不同的節點序列。
綜上所述,本案所提供之機器學習技術(至少包含系統及方法),藉由傳送模型更新需求至加密網路中的其他客戶端裝置,且自該等客戶端裝置接收對應該等客戶端裝置各者的該本地模型。接著,基於該等本地模型(例如:第一本地模型及第二本地模型),產生複數個節點序列。最後,基於該等節點序列,合併該等本地模型以產生一本地模型集合。本案所提供之機器學習技術,以聯邦式學習共享模型框架共享區域模型的學習經驗,且透過專家知識進行強化式學習,整合各客戶端裝置之本地模型,提升區域聯防的效果。
上述實施方式僅用來例舉本案之部分實施態樣,以及闡釋本案之技術特徵,而非用來限制本案之保護範疇及範圍。任何本案所屬技術領域中具有通常知識者可輕易完成之改變或均等性之安排均屬於本案所主張之範圍,而本案之權利保護範圍以申請專利範圍為準。
1:機器學習系統
2:加密網路
A、B、C、D:客戶端裝置
M
A、M
B、M
C、M
D:本地模型
21:儲存器
23:收發介面
25:處理器
300:模型
NS1、NS2、NS3、NS4:節點序列
S401、S403、S405:步驟
第1圖係描繪第一實施方式之機器學習系統之架構示意圖;
第2圖係描繪第一實施方式之客戶端裝置之架構示意圖;
第3A圖係描繪第一實施方式之模型示意圖;
第3B圖係描繪第一實施方式之節點序列示意圖;以及
第4圖係描繪第二實施方式之機器學習方法之部分流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
400:機器學習方法
S401、S403、S405:步驟
Claims (10)
- 一種機器學習系統,包含:複數個客戶端裝置,用以通訊連結至一加密網路,其中該等客戶端裝置包括:一第一客戶端裝置,儲存一第一本地模型;以及一或多個第二客戶端裝置,其中該一或多個第二客戶端裝置中的各者儲存一第二本地模型,其中該第一本地模型及每一該第二本地模型對應至一惡意程式類型,其中該第一客戶端裝置用以執行以下運作:傳送一模型更新需求至該一或多個第二客戶端裝置,其中該模型更新需求對應至該惡意程式類型;自每一該一或多個第二客戶端裝置,接收對應該一或多個第二客戶端裝置各者的該第二本地模型;基於該第一本地模型及每一該第二本地模型,產生複數個節點序列;以及基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合;其中該等節點序列的各者包含複數個節點項目及對應該等節點項目各者之一特徵判斷值,且該第一客戶端裝置更針對該等節點序列中的任二者,執行以下運作:比對一第一節點序列及一第二節點序列所對應之該等節點項目,以產生一相似度;當判斷該相似度大於一第一預設值時,合併該第一節點序列及該第二節點序列成為一新節點序列,且調整該 新節點序列所對應之該特徵判斷值;當判斷該相似度小於一第二預設值時,保留該第一節點序列及該第二節點序列;以及當判斷該相似度介於該第一預設值及該第二預設值時,刪除該第一節點序列及該第二節點序列中的至少一部分之該等節點項目,合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
- 如請求項1所述之機器學習系統,其中該第一客戶端裝置更執行以下運作:基於該等節點項目各者所對應之一特徵重要度,排序該第一節點序列及該第二節點序列的該等節點項目;刪除該特徵重要度小於一第三預設值之該等節點項目;以及合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
- 如請求項1所述之機器學習系統,其中該第一客戶端裝置更執行以下運作:將複數個本地資料集輸入至該本地模型集合,以訓練該本地模型集合;以及基於該本地模型集合產生一預測結果,其中該預測結果包含一信心區間。
- 如請求項1所述之機器學習系統,其中該第一客戶端裝置更執行以下運作:產生一新本地模型,其中該新本地模型用以判斷一新惡意程式類型。
- 如請求項1所述之機器學習系統,其中該第一客戶端裝置更執行以下運作:將該本地模型集合傳送給該一或多個第二客戶端裝置,以使該一或多個第二客戶端裝置基於該本地模型集合更新該一或多個第二客戶端裝置各者的該第二本地模型。
- 一種機器學習方法,用於一機器學習系統,該機器學習系統包含複數個客戶端裝置,該等客戶端裝置通訊連結至一加密網路,其中該等客戶端裝置包括一第一客戶端裝置及一或多個第二客戶端裝置,該第一客戶端裝置儲存一第一本地模型,以及該一或多個第二客戶端裝置中的各者儲存一第二本地模型,其中該第一本地模型及每一該第二本地模型對應至一惡意程式類型,該機器學習方法由該第一客戶端裝置所執行且包含下列步驟:基於一模型更新需求,自每一該一或多個第二客戶端裝置接收對應該一或多個第二客戶端裝置各者的該第二本地模型,其中該模型更新需求對應至該惡意程式類型;基於該第一本地模型及每一該第二本地模型,產生複 數個節點序列;以及基於該等節點序列,合併該第一本地模型及每一該第二本地模型以產生一本地模型集合;其中該等節點序列的各者包含複數個節點項目及對應該等節點項目各者之一特徵判斷值,且該第一客戶端裝置更針對該等節點序列中的任二者,執行以下步驟:比對一第一節點序列及一第二節點序列所對應之該等節點項目,以產生一相似度;當判斷該相似度大於一第一預設值時,合併該第一節點序列及該第二節點序列成為一新節點序列,且調整該新節點序列所對應之該特徵判斷值;當判斷該相似度小於一第二預設值時,保留該第一節點序列及該第二節點序列;以及當判斷該相似度介於該第一預設值及該第二預設值時,刪除該第一節點序列及該第二節點序列中的至少一部分之該等節點項目,合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
- 如請求項6所述之機器學習方法,其中該第一客戶端裝置更執行以下步驟:基於該等節點項目各者所對應之一特徵重要度,排序該第一節點序列及該第二節點序列的該等節點項目;刪除該特徵重要度小於一第三預設值之該等節點項目; 以及合併該第一節點序列及該第二節點序列成為該新節點序列,且調整該新節點序列所對應之該特徵判斷值。
- 如請求項6所述之機器學習方法,其中該第一客戶端裝置更執行以下步驟:將複數個本地資料集輸入至該本地模型集合,以訓練該本地模型集合;以及基於該本地模型集合產生一預測結果,其中該預測結果包含一信心區間。
- 如請求項6所述之機器學習方法,其中該第一客戶端裝置更執行以下步驟:產生一新本地模型,其中該新本地模型用以判斷一新惡意程式類型。
- 如請求項6所述之機器學習方法,其中該第一客戶端裝置更執行以下步驟:將該本地模型集合傳送給該一或多個第二客戶端裝置,以使該一或多個第二客戶端裝置基於該本地模型集合更新該一或多個第二客戶端裝置各者的該第二本地模型。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110140836A TWI797808B (zh) | 2021-11-02 | 2021-11-02 | 機器學習系統及方法 |
CN202111331598.9A CN116089941A (zh) | 2021-11-02 | 2021-11-11 | 机器学习***及方法 |
US17/456,560 US20230138458A1 (en) | 2021-11-02 | 2021-11-24 | Machine learning system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110140836A TWI797808B (zh) | 2021-11-02 | 2021-11-02 | 機器學習系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI797808B true TWI797808B (zh) | 2023-04-01 |
TW202319941A TW202319941A (zh) | 2023-05-16 |
Family
ID=86145727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110140836A TWI797808B (zh) | 2021-11-02 | 2021-11-02 | 機器學習系統及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230138458A1 (zh) |
CN (1) | CN116089941A (zh) |
TW (1) | TWI797808B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
CN110929260A (zh) * | 2019-11-29 | 2020-03-27 | 杭州安恒信息技术股份有限公司 | 一种恶意软件检测的方法、装置、服务器及可读存储介质 |
TWI732557B (zh) * | 2019-12-09 | 2021-07-01 | 大陸商支付寶(杭州)信息技術有限公司 | 基於區塊鏈的模型聯合訓練方法及裝置 |
CN113312619A (zh) * | 2021-04-23 | 2021-08-27 | 浙江大学 | 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11343156B2 (en) * | 2014-09-08 | 2022-05-24 | Pivotal Software, Inc. | Compute intensive stream processing with context data routing |
US10726128B2 (en) * | 2017-07-24 | 2020-07-28 | Crowdstrike, Inc. | Malware detection using local computational models |
US11164108B2 (en) * | 2018-04-20 | 2021-11-02 | International Business Machines Corporation | Transfer learning without local data export in multi-node machine learning |
US11615208B2 (en) * | 2018-07-06 | 2023-03-28 | Capital One Services, Llc | Systems and methods for synthetic data generation |
US20210334679A1 (en) * | 2018-08-20 | 2021-10-28 | Newton Howard | Brain operating system infrastructure |
US20200272945A1 (en) * | 2019-02-21 | 2020-08-27 | Hewlett Packard Enterprise Development Lp | System and method of decentralized model building for machine learning and data privacy preserving using blockchain |
US20210012196A1 (en) * | 2019-07-11 | 2021-01-14 | The Regents Of The University Of California | Peer-to-peer training of a machine learning model |
US11157776B2 (en) * | 2019-09-20 | 2021-10-26 | International Business Machines Corporation | Systems and methods for maintaining data privacy in a shared detection model system |
US11188791B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Anonymizing data for preserving privacy during use for federated machine learning |
US20230004776A1 (en) * | 2019-12-05 | 2023-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Moderator for identifying deficient nodes in federated learning |
GB2595849A (en) * | 2020-06-02 | 2021-12-15 | Nokia Technologies Oy | Collaborative machine learning |
US20220043920A1 (en) * | 2020-08-06 | 2022-02-10 | Fujitsu Limited | Blockchain-based secure federated learning |
US20220114475A1 (en) * | 2020-10-09 | 2022-04-14 | Rui Zhu | Methods and systems for decentralized federated learning |
US20220237508A1 (en) * | 2021-01-28 | 2022-07-28 | Kiarash SHALOUDEGI | Servers, methods and systems for second order federated learning |
US20220414661A1 (en) * | 2021-06-23 | 2022-12-29 | Accenture Global Solutions Limited | Privacy-preserving collaborative machine learning training using distributed executable file packages in an untrusted environment |
-
2021
- 2021-11-02 TW TW110140836A patent/TWI797808B/zh active
- 2021-11-11 CN CN202111331598.9A patent/CN116089941A/zh active Pending
- 2021-11-24 US US17/456,560 patent/US20230138458A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
CN110929260A (zh) * | 2019-11-29 | 2020-03-27 | 杭州安恒信息技术股份有限公司 | 一种恶意软件检测的方法、装置、服务器及可读存储介质 |
TWI732557B (zh) * | 2019-12-09 | 2021-07-01 | 大陸商支付寶(杭州)信息技術有限公司 | 基於區塊鏈的模型聯合訓練方法及裝置 |
CN113312619A (zh) * | 2021-04-23 | 2021-08-27 | 浙江大学 | 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230138458A1 (en) | 2023-05-04 |
CN116089941A (zh) | 2023-05-09 |
TW202319941A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438383B2 (en) | Controlling permissible actions a computing device can perform on a data resource based on a use policy evaluating an authorized context of the device | |
US11916944B2 (en) | Network anomaly detection and profiling | |
US11830004B2 (en) | Blockchain transaction safety | |
US10356094B2 (en) | Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history | |
Pang et al. | Verifying completeness of relational query results in data publishing | |
US20190166162A1 (en) | Message Validation Using Distributed Ledger | |
Vatsalan et al. | An evaluation framework for privacy-preserving record linkage | |
US10277608B2 (en) | System and method for verification lineage tracking of data sets | |
Squicciarini et al. | PriMa: an effective privacy protection mechanism for social networks | |
US11343101B2 (en) | Authentication through verification of an evolving identity credential | |
CN114128214A (zh) | 用于配置区块链的安全层 | |
CN104883356A (zh) | 一种基于目标模型的网络攻击检测方法 | |
CN115004625A (zh) | 用于区块链分类账的索引结构 | |
WO2023093638A1 (zh) | 异常数据识别方法、装置、设备和存储介质 | |
JP2023527713A (ja) | ブロックチェーントランザクションのフィルタリング | |
Yi et al. | Privacy protection method for multiple sensitive attributes based on strong rule | |
US11070575B2 (en) | Verifying accuracy of ML pipelines using third party co-ordination | |
AU2012100470B4 (en) | Anonymous whistle blower system with reputation reporting of anonymous whistle blowers | |
WO2022057525A1 (zh) | 一种数据找回方法、装置、电子设备及存储介质 | |
TWI797808B (zh) | 機器學習系統及方法 | |
JP2012159939A (ja) | 情報処理装置、および方法、プログラム、記録媒体、並びに情報処理システム | |
CN116094808A (zh) | 基于RBAC模式Web应用安全的访问控制漏洞检测方法及*** | |
Moreaux et al. | Blockchain assisted near-duplicated content detection | |
Ismaila et al. | An intelligent crypto-locker ransomware detection technique using support vector machine classification and grey wolf optimization algorithms | |
Schoenebeck et al. | Sybil detection using latent network structure |