端點防病毒軟件沒什么用,目前這個秘密已經公開:最近業界最大的防病毒供應商被發現未能檢測和阻止高級持續性攻擊。當然,對于真正的信息安全從業者而言,這并不是什么秘密。而對于很多消費者以及一些C級管理人員來說,這個事件表明,如果沒有額外的安全技術,防病毒軟件幾乎無法抵御現在的網絡攻擊。但這個事件的好處是暴露了攻擊者現在用于輕松地規避反惡意軟件產品的高級方法。
簡要地回顧一下,在今年1月下旬,紐約時報報道了源自中國的網絡攻擊,該攻擊至少持續了4個月而未被發現。據稱,攻擊者首先通過魚叉式釣魚攻擊獲取初步網絡訪問權限,然后使用有效的登錄信息進入網絡,甚至侵入到幾十名員工的計算機中,他們試圖找尋涉及中國總理文章的記者的消息來源。
紐約時報報道,攻擊者在其網絡上至少安裝了45個自定義惡意軟件,而系統中安裝了賽門鐵克反惡意軟件產品只檢測到其中一個。隨后,賽門鐵克作出回應,指出額外安全層的重要性,例如基于信譽的技術和基于行為的阻止。賽門鐵克聲明的最后一行有些抱怨:“單靠防病毒軟件是不夠的。”
賽門鐵克是對的,單靠防病毒軟件并不能保護私有網絡免受惡意軟件的攻擊,無論啟發理論多么復雜或者多么高級。任何企業都不能單純依靠防病毒軟件,因為現在攻擊者有很多不同的辦法來修改可執行文件。在本文中,我們將研究攻擊者使用的一些高級技術,以證明企業要檢測高級惡意軟件攻擊是多么困難。但所有安全專業人員還應該繼續研究攻擊者使用的新方法,并且記住,惡意軟件編寫者使用的技術不斷地在演變。
模糊處理以規避檢測
攻擊者用以規避防病毒檢測的技術之一是壓縮。應用開發人員使用壓縮的最初目的是縮小其程序文件以方便分發,而惡意軟件編寫者則使用壓縮來模糊可執行文件的內容。通過使用壓縮技術,惡意軟件編寫者發現他們可以修改其代碼來規避基于簽名的防病毒軟件。有很多應用可以用于壓縮,其中最流行的是針對可執行文件的Ultimate Packer(UPX),這是一個開源應用,可通過Sourceforge下載。
筆者使用該技術來對付已知的惡意軟件樣本,用以證明通過壓縮技術的模糊處理的有效性。我發現收集多年來遇到的惡意軟件樣本有助于測試新的防御方法和驗證檢測策略,我選擇了收集樣本中兩個最臭名昭著的惡意軟件,其中一個是Zeus木馬的變體,該變體在2012年5月成功規避了防病毒系統的檢測。第二個是獲得巨大成功的勒索軟件的變體,它類似于假的防病毒軟件,一直在禍害著世界各地的IT部門。
目前市場上任何有最新簽名的防病毒產品都能夠很容易分辨出這兩個較舊的惡意軟件樣本。筆者將這兩個惡意軟件放到virustotal.com的免費web服務來測試,該網站通過多達46種不同的防病毒引擎來分析可疑文件和網址。結果是46個防病毒引擎中的43個引擎檢測到了Zeus,而42個檢測到假的防病毒軟件。
隨后筆者通過可執行封裝機來封裝這兩個文件,并通過virustotal.com掃描,然后比較兩次的結果。
封裝后的Zeus木馬能夠規避另外12個防病毒檢測引擎,這是意料之中的。然而,令人意外的是,幾個主流防病毒引擎對該木馬的識別不一樣,微軟的引擎沒注意到該壓縮文件,而賽門鐵克引擎則將其重新分類為“可疑工具”。
并不只有賽門鐵克重新分類該惡意軟件類型,下面的列表顯示,除了McAfee,大多數知名防病毒引擎也對該惡意軟件重新分類。盡管該惡意軟件進行了修改,McAfee仍然能夠檢測出來。下一個測試將驗證McAfee是否同樣能夠檢測出另一個封裝后的惡意軟件樣本。
封裝的假冒防病毒勒索軟件的測試結果甚至比封裝的Zeus木馬的結果更差。另外3個防病毒引擎沒有檢測到該勒索軟件,總共有15個防病毒廠商沒有檢測到。而賽門鐵克竟然完全無法檢測出封裝的勒索軟件可執行文件中的任何惡意軟件,但賽門鐵克肯定不是唯一。
McAfee和微軟在這個測試中表現都不錯。然而,這并不意味著這些防病毒引擎比其他方法提供的保護更好。該測試僅使用相同壓縮工具封裝的兩個不同文件,如果使用不同惡意軟件樣本或壓縮工具,測試結果肯定完全不同。這項結果只是表明,攻擊者可能使用這種方法繞過防病毒引擎,但攻擊者也可以利用很多其他方法來繞過所有引擎。
使用滲透測試框架封裝漏洞
筆者的下一個測試使用了流行的Metasploit社區版滲透測試框架。該工具因其開放貢獻式的開發和靈活性而聞名。封裝漏洞或進入文件的后門程序功能是幾年前增加的關鍵功能,該功能可以應用到滲透測試中。很多流行的文件格式可以通過該工具來創建,包括PDF和所有標準微軟Office格式。該工具還可以從默認微軟windows程序文件中獲取模板,生成可執行文件。毫無戒心的用戶很可能會運行“notepad.exe”,并不會發現它已經被修改。這就是滲透測試者如何規避防病毒引擎,以及模擬惡意軟件編寫者如何生成逼真的惡意代碼。
筆者通過以下命令運行了幾個標準微軟Windows可執行文件來測試防病毒軟件檢測率:
這被輸送到編碼器,它使用shikata ga nai編碼器輸送五次,在日語中是“沒辦法”的意思,在這里也指Metasploit用以創建可執行文件的多態XOR添加反饋編碼器。最后的notepad2.exe通過使用notepad.exe作為模板來生成。受害者將執行notepad2.exe以及創建到192.167.1.75的C&C服務器的后門連接。
然后我們上傳和掃描notepad2.exe來測試前面測試中的相同防病毒引擎的檢測功能。Virustotal.com的所有46個防病毒引擎都完全沒有通過這個測試,沒有任何一個引擎(包括微軟、賽門鐵克和McAfee)檢測出編碼在該文件中的后門程序。但這并不奇怪。這個結果是我們意料之中的,它證明了基于簽名的防病毒引擎的局限性—防病毒引擎必須之前看過惡意軟件才可能檢測出它。
請注意,這些測試都是非科學性的,這并不意味著防病毒軟件無法抵御惡意軟件攻擊。但這表明,防病毒軟件只是用以保護企業計算資產的整個深度防御戰略的一部分,正如賽門鐵克在對紐約時報文章的回應聲明中所寫的。
不止反惡意軟件 還要增加其它技術
最后首席信息安全官現在應該采取行動,讓企業考慮除了反惡意軟件系統,還要增加額外的安全技術。例如,反惡意軟件可以結合白名單,這樣只有經批準的程序可以在客戶端機器上運行。下一代防火墻、IPS/IDS和web過濾系統都可以用于檢測異常網絡流量,因為異常流量幾乎總是伴隨著惡意軟件感染。當然,如果沒有人的干預,沒有哪個系統能夠保證其效力,所以企業需要部署一個專業的安全人員來負責監控企業所使用的安全系統。
最近防病毒軟件已經飽受批評,這使人們開始質疑防病毒軟件是不是沒用。防病毒軟件是有用的,但它只是整體防御戰略的一部分。即使是最基本的攻擊都可以輕而易舉的有效模糊化,正如上面所述,這進一步證明,有效的信息安全永遠不應該只是依賴于一種產品或者安全層,而應該依賴于多層和多種技術來進行全面的風險管理。紐約時報事件和其他類似事件應該作為催化劑,推動企業部署新出現的反惡意軟件。