沙盒模擬分析經常是傳統端點防護與網路防護的最後一道防線。所謂沙盒模擬分析正如其名所言,就是讓惡意程式或可疑檔案在虛擬化的控制環境當中毫無顧忌地執行,然後分析其行為,藉此判斷檔案是否安全。此方法有助於確保端點安全,將不信任的檔案隔離,以免對系統造成損害,甚至危害企業基礎架構。
然而,如果惡意程式找到了可以避開沙盒模擬分析的方法呢?如果惡意程式可以知道自己正在沙盒模擬環境當中執行呢?如果惡意程式刻意隱藏自己的惡意行為,讓沙盒模擬環境看不出來呢?
以下探討當前一些知名的惡意程式,看看它們如何騙過傳統資安防護、如何在系統上暢行無阻,以及新的「進階」沙盒模擬分析技巧如何解決這些問題。
不怕沙盒模擬分析技巧的知名惡意程式
Locky 勒索病毒家族 (趨勢科技命名為:RANSOM_LOCKY) 是最經典的範例,它最著名的就是能夠利用多種方法來感染系統,包括: 加密的 DLL、 Windows 腳本檔以及社交工程 垃圾郵件附件檔案 (暗藏惡意巨集的文件檔、.RAR 壓縮檔,以及JavaScript 和 VBScript 腳本),或者利用漏洞攻擊套件 (例如之前收錄了 Flash 零時差漏洞的某個攻擊套件)。
Locky 在 2016 年因為使用了系統核心漏洞攻擊套件而備受矚目。其攻擊程序使用了一個木馬程式 (TROJ_LOCKY.DLDRA) 來當作檔案下載工具,該木馬程式會利用一個本機權限升級漏洞 (CVE-2015-1701:早在 2015 年 5 月 12 日即已修補),偽裝成一個系統執行程序來騙過沙盒模擬分析。藉由系統核心漏洞,駭客就能透過系統核心機制 (如:工作項目、系統執行緒、非同步程序呼叫) 來連線至幕後操縱 (C&C) 伺服器並下載勒索病毒。所以,駭客不需在系統上產生檔案就能讓系統感染惡意程式。此技巧通常會配合當年 Magnitude 漏洞攻擊套件所收錄的某個零時差漏洞 (CVE-2016-1019:2016 年 4 月 5 日已修補)。
最近較新的 勒索病毒家族 也開始積極利用某些技巧來判斷自己是否在虛擬機器 (VM) 或沙盒模擬環境當中執行。例如 Locky 的變種就會利用層層編碼的惡意 JavaScript 來下載並執行壓縮的 DLL 檔案,內含偵測虛擬機器和執行環境的程式碼。KeRanger (OSX_KERANGER) 是一個暗藏在檔案分享軟體與惡意 Mach-O 檔案的 Mac 平台勒索病毒,可在被感染的系統上蟄伏三天之後再開始加密系統上的檔案。
Shamoon/Disttrack (WORM_DISTTRACK 家族) 最早發現於 2012 年,通常出現在針對性攻擊當中,主要攻擊對象為中東地區知名機構。它會將系統主開機磁區 (MBR) 清除,讓受害機構網域下的電腦和伺服器無法開機。當它在 2016 年 12 月重出江湖時,開始多了一個反制沙盒模擬分析環境的技巧,感染當下不會出現惡意行為,而是設定了一個定時炸彈在特定日期和時間觸發,此時才會在系統上植入惡意元件。
無檔案式惡意程式如何避開沙盒模擬分析?
對於無檔案式攻擊來說,元件越少越好。因為這類攻擊一般並無實際的檔案,也不會下載檔案到受害電腦或寫入硬碟,惡意程式通常直接在系統記憶體中執行。對駭客來說,沒有實體可分析的檔案就不會留下太多痕跡,有助於反制傳統的沙盒模擬分析。 繼續閱讀