惡意軟件如何繞過最先進的安全措施?
譯文這年頭幾乎每周都會爆出新的報道,主題是某家財力雄厚的大型藍籌公司遭到數(shù)據(jù)泄密事件。這些公司通常購買并部署最先進的安全工具,可是攻擊者照樣能夠突破它們的層層防線。更不糟糕的是,許多攻擊常常長達數(shù)個月沒有被發(fā)現(xiàn)。不妨看看這種情況是如何發(fā)生的。
攻擊途徑
每次泄密事件必須利用至少一種攻擊途徑,才能將持續(xù)性惡意軟件安裝到受害組織的網(wǎng)絡上。手法老到的攻擊者經(jīng)常使用多階段惡意軟件,最初只是安裝小小的后門而已。這讓更復雜的工具之后得以部署到機器和網(wǎng)絡上。
可以使用幾種攻擊途徑,實現(xiàn)主惡意軟件的安裝,有時也被稱為感染。其目標始終是運行惡意代碼。一些最常見的攻擊途徑如下:
•基于瀏覽器的社會工程學伎倆:用戶受誘騙點擊貌似合法的URL,該URL利用了Java和Flash中瀏覽器或瀏覽器插件的安全漏洞,進而觸發(fā)代碼執(zhí)行操作。更先進的攻擊可以隱藏在合法流量當中,根本不需要任何用戶交互。這些通常被稱作路過式下載。
•基于電子郵件的社會工程學伎倆和魚叉式網(wǎng)絡釣魚:用戶收到含有隱藏或可見的二進制代碼的電子郵件,一旦用戶點開郵件,代碼就會執(zhí)行。
•登錄憑據(jù)盜竊:被猜中或被盜竊的登錄憑據(jù)被用來訪問遠程機器,并執(zhí)行(惡意)代碼,比如安裝后門。
規(guī)避手法
為了逃避檢測,惡意軟件會在安裝過程中及安裝之后采用五種主要的手法。
•包裝。這個過程將惡意載荷(安裝程序或惡意軟件本身)附加到合法文件上。合法文件被安裝后,惡意載荷一塊安裝(通常在合法文件安裝之前安裝)。利用靜態(tài)特征來檢測包裝文件基本上沒有效果,因為新的文件可輕松定期創(chuàng)建,而且常常生成誤報。通過盜版軟件和P2P網(wǎng)絡分發(fā)的Windows和OS X惡意軟件通常采用這種手法。IceFog是一種眾所周知的惡意軟件,它通常用貌似合法的CleanMyMac應用程序來包裝,用來攻擊OS X用戶。在Windows平臺上,OnionDuke與通過Tor網(wǎng)絡共享的合法的Adobe安裝程序結(jié)合使用,以感染機器。
•混淆。這是指篡改高級代碼或二進制代碼,并不影響代碼的功能,但是完全改變了其二進制特征?;煜畛跤脕肀Wo合法軟件避免反向工程和盜版。惡意軟件作者采用了這種手法來繞過反病毒引擎,擾亂手動安全研究。使用XOR編碼是實現(xiàn)混淆的方法之一。隱藏進程及文件名、注冊表項、URL以及其他有用信息,可以大大減慢對新的惡意軟件樣本進行調(diào)查/反向工程的進度。
•壓縮工具。這些軟件工具被用來壓縮和編碼二進制文件,這是另一種混淆手段。壓縮工具通常嵌有惡意二進制代碼,它在運行時會將載荷“解壓縮”到內(nèi)存中,并執(zhí)行它。如今使用幾種常見的壓縮機制,比如UPX、PECompact、Armadillo及其他此類工具。這種手法在規(guī)避靜態(tài)特征引擎方面極其有效。
•反調(diào)試。就像混淆那樣,反調(diào)試最初是軟件開發(fā)人員為了保護商用代碼避免反向工程而開發(fā)的。反調(diào)試可以防止二進制代碼在虛擬機、安全沙盒及其他仿真環(huán)境中被人分析。比如說,ZeroAccess惡意軟件采用了一種自調(diào)試手法,目的是為了阻止外部調(diào)試活動。另一個例子是惡意軟件企圖長時間地延遲執(zhí)行(或睡眠)。這一招適用于繞開沙盒解決方案,因為這種解決方案只能將二進制代碼在仿真環(huán)境下保持一段時間,然后將它們分類為良性代碼,將它們釋放到網(wǎng)絡上。
•瞄準。實施這種手法的前提通常是,惡意軟件旨在攻擊某種特定類型的系統(tǒng)(比如Windows XP SP 3)、應用程序(比如Internet Explorer 10)及/或配置(比如檢測到未運行VMWare工具的機器,這常常表明使用了虛擬化技術(shù))。瞄準手法確保只有在達到特定的條件時,才觸發(fā)并安裝惡意軟件,這讓惡意軟件能夠規(guī)避沙盒中的檢測,因為它們不像受到攻擊的主機。
正如惡意軟件的規(guī)避技術(shù)不斷發(fā)展,我們的安全措施也要與時俱進。如今業(yè)界在開展大量的工作,旨在從傳統(tǒng)的基于特征的靜態(tài)安全方法,改為基于行為的剖析、分析以及安全解決方案之間的實時信息共享。我們在研究分析上述惡意軟件手法后明白的一個道理是,我們讓落實的安全措施越靠近被瞄準的資產(chǎn),就越有可能檢測并阻止惡意軟件。
英文:How Malware Bypasses Our Most Advanced Security Measures