Microsoft Defender 使用 ML.NET 來阻擋惡意程式碼
Microsoft Defender 進階威脅防護 (ATP) 是 Microsoft 的統一安全性平台,可提供智慧預防性防護、外洩後偵測、自動化調查及回應; 它會保護端點免於網路威脅、偵測進階攻擊及資料外洩、自動化安全性事件,並且結合雲端、行為分析與機器學習功能來改善安全性態勢。
商務問題
Microsoft Defender ATP 每日處理萬億個訊號,每單月大約都可找到 50 億件新威脅。這些威脅範圍從包含嘗試網路釣魚使用者認證的 PDF、含有已武裝巨集的文件檔案、到具有多型惡意程式碼可執行檔之受密碼保護的 ZIP 檔案。
第一眼就能預測及停止這些威脅,對用戶端安全與安全性至關重要。然而,人類一次只能查看並在腦海中保存這麼多資訊。若要手動瀏覽其中每個屬性,需要花費大量的時間,而且速度不夠快到足以防禦傳入的威脅。由於每個月出現的新威脅規模,由人類完成的手動流程無法一直隨之調整,這使得機器學習不僅值得擁有,而且對於保護使用者而言是有必要的。此外,有人可能會查看惡意程式碼,並找出幾個使其成為惡意的屬性,但實際上,惡意程式碼可能有數以千計的其他屬性,顯示會有某種人類無法花時間理解的威脅。
另一方面,電腦的容量更大,回應時間更快; 它們可以立即查看所有 (可能有數十萬個) 潛在威脅的屬性,並挑選出會將威脅標示為惡意程式碼的所有屬性。然後,電腦即可使用所找到的屬性來探索人類可能無法只使用少量屬性即預測出的新惡意程式碼。
因此,Microsoft Defender ATP 決定利用機器學習與 ML.NET (嚴格來說是 ML.NET 衍生出來的 TLC,也就是 Microsoft 使用超過 10 年的內部機器學習架構),以提升即時防範惡意軟體的能力,這樣他們就能更容易且準確地預測訊號是否為惡意,並且封鎖傳入威脅,以保護使用者電腦的安全性。
ML.NET 的影響
Microsoft Defender ATP 使用分類演算法來標幟和呈現威脅,包括先前未察覺的威脅,否則在數十億個正常事件中仍不會注意到這些威脅,而且第一代感應器無法對不熟悉和輕微的刺激做出反應。Microsoft Defender ATP 的模型可最佳化對 Microsoft Defender ATP 大量資料和計算資源的使用。此外,根據 Microsoft Defender ATP 對實際警示的分析,所使用的機器學習技術比手動製作的啟發學習法精確至少 20%。ML.NET 受監督的機器學習演算法在入侵前層級可停止 35% 的威脅,這可防範來自惡意 URL、電子郵件附件和其他新興威脅的惡意程式碼。
解決方案架構
資料處理和功能選取
對於 Microsoft Defender ATP,在定型資料集中擁有一組包含乾淨資料和惡意程式碼的標籤定型資料非常重要,如此一來,它才能模擬實際案例,並示範真正的客戶每天看到的內容。在平均定型週期中,Microsoft Defender ATP 中的模型可能會耗用大約 1 億列的資料,每個資料列有 19 萬個特徵。
訓練偵測惡意軟體的模型時,功能選取非常重要。研究人員和電腦會尋找兩種類型的功能: 靜態檔案屬性與行為元件。靜態檔案屬性包括諸如檔案是否已簽署、誰簽署檔案和各種模糊雜湊等事物。行為屬性則包含諸如檔案是否與另一個檔案相關、此檔案是否從其他檔案注入、檔案連接到哪些 IP,以及檔案對系統進行了哪些變更。訓練資料集可能包含數千到數百萬種功能。
模型定型
Microsoft Defender ATP 有各種可提供多種用途的模型。例如,它們有專注於第一次出現的 PE 威脅、巨集威脅和指令碼型攻擊的模型。也有專注於基礎資料的模型; 例如,某些模型會專門在檔案的模糊雜湊上訓練。除了這些模型之外,它們還有另一層集成模型,會接收來自這些個別分類器的訊號,以再次確認是否為惡意的系統活動。
Microsoft Defender ATP 會每天訓練這些模型有關最新的資料。模型定型後即會儲存,而且工程管線會將其載入到 Defender 雲端基礎結構,用戶端會在此進行查詢。
[模型的]多元化真的是強健機器學習系統的關鍵。」
使用 ML.NET 的演算法,Microsoft Defender ATP 已經能夠產生多種機器學習模型,以更有效地保護其使用者免受潛在威脅,讓 5 億使用者的電腦不受惡意程式碼的攻擊。
準備開始了嗎?
我們的逐步教學課程可協助您讓 ML.NET 在電腦上執行。