基于深度學習的行為信號融合威脅檢測
將深度學習的各種行為檢測融合到決策模型中。該模型有助于檢測許多復雜的攻擊和惡意軟件運動。例如,該模型發現了Bondat蠕蟲的一種新變種,它試圖將受影響的計算機變成感染網絡的僵尸。Bondat利用感染網絡入侵網站,甚至進行加密貨幣挖掘而聞名。這個新版本使用USB設備傳播,在計算機上就可以實現無文件的持久性。接下來介紹捕獲此攻擊的檢測技術。
強大的分類模型處理各種數據
在Microsoft Defender ATP處理的大量數據中識別和檢測惡意活動需要智能自動化方法和AI。機器學習分類器處理大量歷史數據,并應用自動提取的洞察力對每個新數據點進行惡意或良性評分。基于機器學習的模型可能會查看例如注冊表活動并產生一個概率,這表明注冊表寫入與惡意活動相關聯的概率。為了將所有內容捆綁在一起,行為被組織到虛擬進程樹中,并且與每個進程樹相關聯的所有信號都被匯總并用于檢測惡意活動。
對于虛擬過程樹以及與這些樹相關聯的不同類型的信號,仍然有大量數據和嘈雜的信號需要篩選。由于每個信號都在流程樹的上下文中發生,因此有必要在流程樹中按執行的時間順序融合這些信號。以這種方式排序的數據需要強大的模型來對惡意樹和良性樹進行分類。
我們的解決方案包括多個深度學習構建塊,例如Convolutional Neural Networks(CNN)和Long Short-Term Memory Recurrent Neural Networks (LSTM-RNN)。神經網絡可以獲取在過程樹中按時間順序出現的行為信號,并將每批信號視為事件序列。這些序列可以由神經網絡以高精度和檢測范圍進行收集和分類。
基于行為和基于機器學習的信號
Microsoft Defender ATP研究人員可以檢測各種基于行為的信號。例如,信號可以用于在以下注冊表項中創建條目:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
機器啟動后,添加到該位置的文件夾和可執行文件名將自動運行。這會在計算機上產生持久性,因此可以視為危害(IoC)的指標。但是,此IoC通常不足以生成檢測,因為合法程序也使用此機制。
基于行為的信號的另一個示例是服務啟動活動。使用合法工具(例如net.exe)通過命令行啟動服務的程序不被視為可疑活動。但是,啟動由同一進程樹更早創建的服務以獲得持久性是一個IoC。
另一方面,基于機器學習的模型在可能的攻擊向量的不同樞軸上查看并生成信號。例如,對歷史數據進行訓練以區分良性和惡意命令行的機器學習模型將為每個處理的命令行生成分數。
考慮以下命令行:
cmd / c taskkill / f / im someprocess.exe
此行表示cmd.exe會引起taskill.exe終止具有特定名稱的進程。雖然命令不一定是惡意的,但是機器學習模型可能能夠識別正在終止的進程名稱中的可疑模式,并得出是惡意攻擊的概率,該概率與進程樹中的其他信號聚合在一起。結果是每個虛擬進程樹在特定時間段內發生一系列事件。
下一步是使用機器學習模型對事件序列進行分類。
數據建模
上一節中描述的事件序列可以幾種不同的方式表示,然后輸入到機器學習模型中。
第一種簡單方法是構造所有可能事件的“字典”,并為字典中的每個事件分配唯一的標識符(索引)。這樣,事件序列由向量表示,其中每個時隙構成事件序列中事件類型的出現次數(或其他相關度量)。
例如,如果系統中所有可能的事件都是X,Y和Z,則事件序列“ X,Z,X,X”由向量[3,0,1]表示,這意味著它包含三個事件類型表示X,沒有類型Y的事件,以及類型Z的單個事件。這種表示方案被廣泛稱為“ bag-of-words ”,適用于傳統的機器學習模型,并且已由機器使用了很長時間學習從業者。bag-of-words表示法的局限性在于,有關序列中事件順序的任何信息都會丟失。
第二種表示方案是按時間順序排列的。圖1顯示了一個典型的流程樹:流程A在時間t1引發事件X,流程B在時間t2引發事件Z,D在時間t3引發X,并且E在時間t4引發X。現在,整個序列“ X,Z,X,X”(或用其字典索引替換事件的[1,3,1,1])被賦予機器學習模型。

圖1.示例流程樹
在威脅檢測中,不同事件的發生順序是準確檢測惡意活動的重要信息。因此,希望采用保留事件順序的表示方案,以及能夠使用此類有序數據的機器學習模型。可以在下一部分描述的深度學習模型中找到此功能。
Deep CNN-BiLSTM
在情感分析和語音識別等自然語言處理的順序任務中,深度學習已顯示出巨大的希望。Microsoft Defender ATP使用深度學習來檢測各種攻擊者技術,包括惡意PowerShell。
對于信號序列的分類,我們使用結合了兩種類型的構造塊(層)的深度神經網絡: Convolutional Neural Networks(CNN)和Bidirectional Long Short-Term Memory Recurrent Neural Networks (BiLSTM-RNN)。
CNN用于許多與空間輸入有關的任務,例如圖像,音頻和自然語言。CNN的關鍵特性是能夠將輸入的寬視野壓縮為高級功能。在圖像分類中使用CNN時,高級功能表示網絡可以識別的部分或整個對象。在我們的用例中,我們希望對過程樹中的長信號序列建模,以為網絡的下一層創建高級和本地化的功能。這些功能可以表示信號序列,這些信號序列一起出現在數據中,例如,創建并運行文件,或者保存文件并創建注冊表項以在下次機器啟動時運行文件。由于這種壓縮和特征化,由CNN層創建的特征對于隨后的LSTM層更易于理解。
LSTM深度學習層以句子分類,翻譯,語音識別,情感分析和其他序列建模任務中的結果而聞名。雙向LSTM結合了兩層LSTM,它們以相反的方向處理序列。
已經證明,將兩種類型的神經網絡堆疊在一起的組合非常有效,并且可以對數百個及更多項目的長序列進行分類。最終模型是多個層的組合:一個嵌入層,兩個CNN和一個BiLSTM。該模型的輸入是數百個整數的序列,這些整數表示在一個時間單位內與單個過程樹關聯的信號。圖2顯示了模型的架構。

圖2. CNN-BiLSTM模型
由于系統中可能的信號數量非常多,因此輸入序列會通過嵌入層,該嵌入層將高維輸入壓縮為可由網絡處理的低維向量。另外,相似的信號在低維空間中獲得相似的矢量,這有助于最終分類。
網絡的初始層創建越來越高級的功能,而最后一層執行序列分類。最后一層的輸出是0到1之間的一個分數,表明信號序列被惡意攻擊的可能性。該分數與其他模型結合使用,以預測過程樹是否是惡意的。
捕捉真實的威脅
Microsoft Defender ATP的終結點檢測和響應功能使用此Deep CNN-BiLSTM模型來捕獲和發出有關實際威脅的警報。如前所述,該模型發現的一個值得注意的攻擊是Bondat蠕蟲的新變種,該蠕蟲已通過USB設備在多個組織中傳播。

圖3. Bondat惡意軟件攻擊鏈
即使采用了一種效率低下的傳播方法,隨著用戶繼續使用受感染的USB設備,該惡意軟件也可能在組織中持續存在。例如,在一個組織中的數百臺機器中都觀察到了該惡意軟件。盡管我們在感染期間檢測到了攻擊,但這種攻擊一直在蔓延,直到收集到所有惡意USB驅動器。圖4顯示了感染時間表。

圖4. 5個月內單個組織內的相遇時間表顯示了通過USB設備進行的重新感染
該攻擊將丟棄JavaScript payload,這將使用wscript.exe直接在內存中運行。JavaScript有效負載使用隨機生成的文件名來逃避檢測。但是,反惡意軟件掃描接口(AMSI)暴露了惡意腳本行為。
為了通過USB設備傳播,惡意軟件利用WMI通過調用“ SELECT * FROM Win32_DiskDrive”來查詢計算機的磁盤。當找到“ / usb”的匹配項時(參見圖5),它將JavaScript有效負載復制到USB設備,并在USB設備的根文件夾中創建一個批處理文件。所述批處理文件包含有效載荷的執行命令。作為其社會工程學技術的一部分,該技術誘使用戶在可移動設備中運行惡意軟件,它在USB上創建一個指向批處理文件的LNK文件。

圖5.感染技術
該惡意軟件會終止與防病毒軟件或調試工具有關的進程。對于Microsoft Defender ATP客戶,篡改保護可防止惡意軟件執行此操作。值得注意的是,終止進程后,惡意軟件會彈出一個窗口,該窗口模仿Windows錯誤消息,使其看起來像進程崩潰一樣(請參見圖6)。


圖6.規避技術
該惡意軟件通過實現Web客戶端(MSXML)與遠程命令和控制(C2)服務器通信。每個請求都使用隨機生成的密鑰用RC4加密,該密鑰在“ PHPSESSID” cookie值內發送,以允許攻擊者解密POST正文中的有效負載。
每個請求都會根據先前執行的命令的輸出發送有關計算機及其狀態的信息。響應將保存到磁盤,然后進行解析以提取HTML注釋標簽中的命令。有效負載中的前五個字符用作解密數據的密鑰,并且使用eval()方法執行命令。圖7和8顯示了C2通信和HTML注釋評估技術。
一旦由JavaScript引擎解析并評估了命令,便可以在受影響的計算機上執行任何代碼,例如,下載其他有效負載,竊取敏感信息以及泄露被盜數據。對于此Bondat活動,該惡意軟件運行硬幣挖掘或協作式分布式拒絕服務(DDoS)攻擊。

圖7. C2通信

圖8.評估技術(從html注釋解析命令)
惡意軟件的活動在整個攻擊鏈中觸發了多個信號。深度學習模型檢查了這些信號及其發生的順序,并確定流程樹是惡意的,并發出警報:
- 持久性 —惡意軟件將自身復制到“啟動”文件夾中,并放置一個指向計算機啟動時打開的惡意軟件副本的.lnk文件。
- 重命名已知的操作系統工具-惡意軟件將wscript.exe重命名為隨機文件名
- 刪除與合法工具具有相同文件名的文件-惡意軟件通過刪除與已知工具名稱相似的文件來冒充合法系統工具
- ** 可疑命令行**-惡意軟件嘗試使用由wscript.exe生成的進程執行的命令行從先前位置刪除自身
- 可疑的腳本內容-用于隱藏攻擊者意圖的模糊JavaScript負載
- 可疑的網絡通信 -惡意軟件連接到legitville [.] com域
結論
給定在不同時間發生的不同信號,對過程樹進行建模是一項復雜的任務。它需要強大的模型,這些模型能夠記住較長的序列,并且仍然能夠很好地泛化以產生高質量的檢測結果。Deep CNN-BiLSTM模型是一項強大的技術,可幫助Microsoft Defender ATP完成此任務。這種基于深度學習的解決方案使Microsoft Defender ATP能夠檢測到不斷變化的威脅(如Bondat)。