能逃避機(jī)器學(xué)習(xí)檢測的 Cerber 勒索變種
摘要
CERBER勒索家族已經(jīng)被發(fā)現(xiàn)通過一種新技術(shù)來逃避檢測:使用了一種新的方法用加載出來的程序來逃避機(jī)器學(xué)習(xí)檢測技術(shù)。其被設(shè)計(jì)為把一個二進(jìn)制文件掏空,然后把CERBER的代碼替換進(jìn)去,再使用其他手段加載運(yùn)行。
行為分析
勒索軟件通常通過電子郵件傳播,這些新的CERBER變體也不例外。電子郵件里面可以用各種各樣的程序進(jìn)行勒索軟件的傳播 。
比如郵件里面包含一個鏈接指向一個自解壓的文件,該文件已經(jīng)上傳到攻擊者控制的一個Dropbox賬戶里面,被攻擊目標(biāo)接著就會自動下載然后打開里面的程序,將會入侵整個系統(tǒng)。
下面的流程圖大概說明了該變種的運(yùn)行過程。
下載下來的自解壓文件包含下面3個文件,VBS文件,DLL和1454KB的配置文件。在用戶電腦中三個文件名字都會不一樣,這里用他們的hash標(biāo)注。
自解壓文件是exe后綴,雙擊之后會自動做上面流程圖的事情,sfx*為關(guān)鍵參數(shù)
一開始vbs腳本是通過WSH運(yùn)行,腳本反過來通過rundll32.exe與DLL的名字文件8ivq.dll作為它的參數(shù)來加載DLL文件,寫的很簡單明了。
DLL文件非常的簡單明了。所有的操作都是為了讀1454KB的配置文件,先解密一部分配置文件,且無論解密與否都得一直運(yùn)行著。
下圖為DLL文件獲取同一目錄下文件名為“x”的配置文件,打開并讀取相關(guān)字段并解密
DLL文件沒有包含文件或加密;然而,配置文件x中的代碼在解密后是惡意的。
根據(jù)下圖可以判斷出x文件的開始地址
文件x含有加載各種配置設(shè)置,加載出來的程序會去查找是否在虛擬機(jī)中運(yùn)行,或者是否在沙箱中運(yùn)行,是否有分析工具在機(jī)子中運(yùn)行,或一些AV產(chǎn)品在運(yùn)行,只要檢測到就停止運(yùn)行。
下面是樣本的一些檢測產(chǎn)品名稱:
分析工具
- Msconfig
- Sandboxes
- Regedit
- Task Manager
- Virtual Machines
- Wireshark
殺毒軟件
- 360
- AVG
- Bitdefender
- Dr. Web
- Kaspersky
- Norton
- Trend Micro
一般主流的加載payload是注入代碼給另一個程序,而在這種情況下,注入代碼是整個Cerber的二進(jìn)制文件,并且其可以注入到下面的任何進(jìn)程
- C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
- C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe
- C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
- C:\Windows\SysWow64\WerFault.exe
- C:\Windows\System32\WerFault.exe
可以看一下雙擊自解壓文件后的效果,雙擊最左邊,出來右邊一堆東西,過了一會各種彈窗
很明顯的cerber勒索
機(jī)器學(xué)習(xí)和逃逸
接下來來到重點(diǎn),Cerber已經(jīng)被早一些的安全解決方案給阻止了,將Cerber運(yùn)行在一個正常程序(與加載程序的做法一樣)可以幫助逃避行為監(jiān)控,但是為什么重新將Cerber加入壓縮包并使用單獨(dú)一個加載器來變得更麻煩呢?Cerber的早期版本已經(jīng)有代碼注入的例子了,它可以模仿成一個普通程序,并且能更好的模仿程序的行為,所以為什么單獨(dú)加載是必要的呢?
答案在于通過機(jī)器學(xué)習(xí)行業(yè)來解決安全問題。機(jī)器學(xué)習(xí)行業(yè)已經(jīng)創(chuàng)造出一種基于特征而不是簽名的方法來主動防御惡意文件。重新打壓縮包和加載機(jī)制被Cerber利用后可以造成對于靜態(tài)機(jī)器學(xué)習(xí)方法出現(xiàn)問題——也就是說,該方法分析文件不會有任何的執(zhí)行或仿真。
自解壓文件和簡單明了的文件對于靜態(tài)機(jī)器學(xué)習(xí)方法來說是個問題。所有自解壓文件無論其內(nèi)容怎么樣,可能結(jié)構(gòu)看起來相似。僅僅只有解壓二進(jìn)制文件這樣的功能可能不足以判斷是惡意的,換句話說,Cerber被打壓縮包的行為可以說是用來設(shè)計(jì)成專門用來逃避機(jī)器學(xué)習(xí)文件檢測的。對于所有新的惡意軟件對抗技術(shù),等效的規(guī)避技術(shù)是很必要創(chuàng)建出來的。
這個新的逃避技術(shù)成功將使用多層防護(hù)的反惡意軟件給繞過了。Cerber有對其他技術(shù)的弱點(diǎn)。舉個例子,有解壓縮。DLL 文件將容易的給他創(chuàng)建一個對多模式;如果壓縮包是可疑的,那么如果壓縮內(nèi)容有存檔的話能夠更易于識別。有各種各樣的解決方案可以防止這類變種的危害,只要不是過度依賴機(jī)器學(xué)習(xí)的軟件,還是可以保護(hù)客戶免受這些威脅的。
樣本hash
- VBS:09ef4c6b8a297bf4cf161d4c12260ca58cc7b05eb4de6e728d55a4acd94606d4a61eb7c8D
- 配置文件:7a6bc9e3eb2b42e7038a0850c56e68f3fec0378b2738fe3632a7e4c
- DLL:e3e5d9f1bacc4f43af3fab28a905fa4559f98e4dadede376e199360d14b39153
- 自解壓:f4dbbb2c4d83c2bbdf4faa4cf6b78780b01c2a2c59bc399e5b746567ce6367dd