作者:高漸離 ultrain @墨攻安全實驗室
本篇文章感謝todaro@安全狗和宋超提供勒索軟件樣本。感謝killer總在應用層終止惡意進程方面的指導。感謝PT提供的非常棒的powertool,讓我們能很好的分析國外軟件的操作。
近年勒索軟件形式愈演愈烈,尤其是 WannaCry 讓人印象深刻。近期 Badrabbit 又肆虐歐洲。目前云主機上的防護大多是云廠商自研的防護軟件。企業內部終端安全防護,鑒于信息安全的需要,也不會直接使用個人PC上流行的防護軟件。在這些防護軟件上,對使用內核模塊都保持著較為謹慎的態度。如果要做勒索軟件檢測模塊并盡快上線,最好是提供能在應用層就直接實現的方式。同時,目前大家推崇的態勢感知方案其實對勒索軟件收效甚微。等看見了,傷害已經造成了。而大多數防護方案則是針對勒索軟件所利用的漏洞進行防護,當換了一種漏洞利用方式了,原先的防護就會立馬失效。在這種情況下,我們該如何做到未知的勒索軟件防護呢?
墨攻安全實驗室通過對國外知名主機端防護軟件進行研究,發現了一個比較好的應用層的勒索軟件檢測方案:通過創建隱藏的誘餌文件,實時攔截對誘餌文件的加密操作,從而有效應對未知的勒索軟件。
下面我們以 windows 為例,給出應用層勒索軟件檢測代碼原型。
1.創建誘餌文件
關鍵點:
a. 在每個盤的根目錄、Users目錄、Users/Administrator/Documents目錄創建誘餌。
b. 每次創建誘餌,都創建兩個目錄,一個是文件夾名按字母序能排到第一位,一個是文件夾名按字母序能排到最后一個
c. 創建的誘餌文件種類涵蓋要盡量全。包括 doc、docx、pem、jpeg 等
a點保證了勒索軟件試圖加密的目錄里面都有誘餌。b點則保證了無論文件夾訪問順序是正序還是逆序,誘餌文件都能被最先訪問到。c點保證了誘餌屬于勒索軟件感興趣的文件。
以上誘餌文件都是隱藏文件。
2.應用層監控文件加密操作
在 windows 下面,如果使用文件過濾驅動,其實很容易做到文件加密行為的攔截。但鑒于目前的安全防護現狀,對大多數公司以及云廠商而言,使用驅動帶來的穩定性的擔憂會遠遠超過它帶來的未知勒索軟件防護這種好處。
做安全防護的都知道,寧大家都查不出來,也不能搞死用戶機器啊!
如果不能找到穩定的應用層的解決方案,我們最終保衛地球、為國為民的愿望就會流產。
這部分有兩個關鍵點:
a.應用層文件系統監控
Windows 提供了 FindFirstChangeNotification 和 ReadDirectoryChangesW?兩種方法。參見https://msdn.microsoft.com/en-us/library/windows/desktop/aa365261(v=vs.85).aspx。只有 ReadDirectoryChangeW 才能獲得具體變動的文件信息。

b.進程攔截
此處有個蛋疼的地方在于,應用層文件系統監控發現變動的時候,我們獲得的僅僅是文件名信息和變動的操作,并不能獲得當前導致變動的進程信息。就是說,我們知道對哪個文件有加密行為,但是不知道是誰干的。
只能去查找哪個進程持有該變動文件的句柄。Windows 下有兩種方式,一種是通過 NtQuerySystemInformation 來查詢的。一種可以通過 RestartManager 來查找。
主要區別在于 NtQuerySystemInformation 隨時會被干掉。而 RestartManager 是微軟欽定的api。

查找到有問題的進程,直接 OpenProcess,Suspend 即可。(我原來對不hook不加驅動攔截進程操作總覺得很不解。思維定勢啊)

完整代碼參見https://github.com/mogongtech/RansomDetection
測試方式:
1.找一臺干凈的虛擬機,我的環境是 win2008。目前 RestartManager 的支持是 vista+,故建議環境是 win7,win2008 這種。如果你要支持 winxp,請將查找句柄的函數用 NtQuerySystemInformation 來實現。建議你不設置網絡以及共享文件夾。
2.虛擬機里面創建以下目錄,并把github上breadcrumb目錄下的蜜罐文件放進去。(別問我為啥目錄是這幾個,因為我硬編碼的) C:\Cversions245 C:\Xdata229 C:\Users\Acly09pk C:\Users\Qtua C:\Users\Administrator\Documents\Lmirror147 C:\Users\Administrator\Documents\Nsetup158
3.編譯 RansomDetection 代碼,放到虛擬機里面運行
4.解壓 github上test 目錄下的樣本并運行(這是 locker,不是隨便造的勒索軟件)

綜上,歡迎云廠商和甲方安全團隊在終端安全防護和主機入侵防護軟件中加入該檢測模塊并完善,共同對抗未知勒索軟件。大家一起做點實事。
最后,http://drops.mogong.org,我們將不定期分享威脅分析檢測回溯方面的經驗。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/431/
暫無評論