夏飛 夏元軼
摘要:國網(wǎng)江蘇省電力公司信通分公司基于虛擬執(zhí)行技術(shù)的APT檢測模型,采用了最新的虛擬執(zhí)行技術(shù),對網(wǎng)絡(luò)內(nèi)的APT攻擊進(jìn)行監(jiān)測和分析,幫助公司了解自身網(wǎng)絡(luò)的脆弱性,并采取有效措施。
一. 背景
如今,企業(yè)面臨著一個不斷演變的網(wǎng)絡(luò)威脅環(huán)境。最初的黑客攻擊是為了獲得影響力及自我滿足去攻擊媒體網(wǎng)站,或者使用DoS方式來中斷網(wǎng)站的服務(wù);而現(xiàn)在已演變成為了經(jīng)濟(jì)、政治等目的的攻擊。攻擊者能夠通過竊取知識產(chǎn)權(quán)來直接獲取利益,也可以入侵、竊取客戶的個人金融信息,更有甚者破壞對方的服務(wù)以至國家的基礎(chǔ)設(shè)施。動機的變化,同時也帶來了攻擊方式的變化。
從過去廣泛、漫無目的的攻擊威脅,在數(shù)年內(nèi)迅速的轉(zhuǎn)化為針對受害者組織將造成嚴(yán)重后果的高級可持續(xù)威脅(Advanced Persistent Threat)。高級可持續(xù)威脅(APT)是由美國空軍的信息安全分析師與2006年創(chuàng)造的術(shù)語,一般來說,高級可持續(xù)威脅具備以下三個特點:
高級:攻擊者為黑客入侵技術(shù)方面的專家,能夠自主的開發(fā)攻擊工具,或者挖掘漏洞,并通過結(jié)合多種攻擊方法和工具,以達(dá)到預(yù)定攻擊目標(biāo)。
持續(xù)性滲透:攻擊者會針對確定的攻擊目標(biāo),進(jìn)行長期的滲透。在不被發(fā)現(xiàn)的情況下,持續(xù)攻擊以獲得最大的效果。
威脅:這是一個由組織者進(jìn)行協(xié)調(diào)和指揮的人為攻擊。入侵團(tuán)隊會有一個具體的目標(biāo),這個團(tuán)隊訓(xùn)練有素、有組織性、有充足的資金,同時有充分的政治或經(jīng)濟(jì)動機。
此類APT威脅往往可以繞過防火墻、IPS、AV以及網(wǎng)閘等傳統(tǒng)的安全機制,悄無聲息的從企業(yè)或政府機構(gòu)獲取高級機密資料。在2012年Verizon信息外泄調(diào)查報告中可以看到,2011年發(fā)生的重大信息數(shù)據(jù)外泄的受訪組織中,有59%是在相關(guān)執(zhí)法機構(gòu)告知后才知道信息外泄的情況。
Gartner在2012年的報告中說道:"越來越多的人同意APT攻擊是可以避開我們傳統(tǒng)的基于特征的安全檢測機制,并且存在與系統(tǒng)內(nèi)的時間越來越長,無法被偵測出來。威脅真的發(fā)生了,你已經(jīng)被入侵,只是你不知道而已"。高級可持續(xù)威脅(APT)已經(jīng)成為當(dāng)今公認(rèn)最具威脅的網(wǎng)絡(luò)攻擊類型。
為了對APT有一個更好的認(rèn)知,以更好的防護(hù),我們對基于虛擬執(zhí)行技術(shù)的APT檢測模型進(jìn)行了研究。
二. 模型原理
2.1 模型技術(shù)原理
基于虛擬執(zhí)行技術(shù)的APT檢測模型(簡稱AAS)通過新型的動態(tài)檢測和靜態(tài)檢測技術(shù)可以精確檢測通過網(wǎng)頁、電子郵件或文件共享方式試圖進(jìn)入內(nèi)部網(wǎng)絡(luò)的惡意軟件,包括零日攻擊及具有抗檢測能力的高級惡意軟件。當(dāng)前的惡意軟件大多具備強大的抗逃避能力,而APT攻擊還可能使用零日攻擊的方式,傳統(tǒng)的防病毒引擎很難發(fā)現(xiàn)它們。AAS可以有效發(fā)現(xiàn)這些攻擊行為,幫助客戶有效的遏制由此帶來的風(fēng)險,如敏感信息泄露、業(yè)務(wù)中斷等。
2.2 檢測原理
基于虛擬執(zhí)行技術(shù)的APT檢測模型(AAS)除了集成傳統(tǒng)的反病毒引擎,還有集成了虛擬執(zhí)行引擎。從不同的檢測深度來看,AAS的虛擬執(zhí)行引擎分為輕量級虛擬執(zhí)行引擎和系統(tǒng)級虛擬執(zhí)行引擎。輕量級虛擬執(zhí)行引擎實現(xiàn)快速檢測,系統(tǒng)級虛擬執(zhí)行引擎實現(xiàn)深度檢測。這種互補性提升了AAS引擎的檢測效果。
2.3 基于文件格式的深入檢測技術(shù)
基于文件格式的深入檢測技術(shù),是通過對文件進(jìn)行解析,提取其中的關(guān)鍵部分進(jìn)行惡意特征和惡意行為檢測。相對于直接將原始文件丟入引擎的做法,基于文件格式的深入檢測技術(shù)可以大大提高檢測效果。如從PDF中提取JS腳本、從SWF里面提取AS腳本,然后針對腳本進(jìn)行惡意檢測,這使得檢測引擎的檢測效果大大提升。
2.4 輕量級虛擬執(zhí)行技術(shù)
輕量級虛擬執(zhí)行技術(shù)基于一個指令模擬器,可以將一段數(shù)據(jù)作為二進(jìn)制指令流進(jìn)行模擬執(zhí)行,同時也支持對JS腳本進(jìn)行模擬執(zhí)行。通過觀察執(zhí)行過程中的指令行為,實現(xiàn)對惡意軟件的檢測。這種技術(shù)的優(yōu)點是執(zhí)行速度較快,部分情況下可以應(yīng)用到流式引擎中。但缺點在只能再指令、寄存器和內(nèi)存級別進(jìn)行模擬執(zhí)行,是無法模擬完整操作系統(tǒng)的。因此在模擬過程中只能執(zhí)行部分指令片段,對于大量依賴于第三方庫調(diào)用的指令序列則無法模擬。當(dāng)然,輕量級虛擬執(zhí)行本身就不是追求完整模擬整個軟件行為,而是從指令層面對惡意行為進(jìn)行捕獲。
輕量級虛擬執(zhí)行引擎可以作為一個普通的用戶態(tài)進(jìn)程,跑在操作系統(tǒng)上。為了提高檢測性能,可以在用戶態(tài)跑多個輕量級虛擬執(zhí)行引擎。每個引擎內(nèi)部集成了一個指令模擬器,將引擎接收的數(shù)據(jù)放在模擬器里面進(jìn)行模擬執(zhí)行。通過模擬器對外的API接口,可以獲取或控制模擬器執(zhí)行狀態(tài)和執(zhí)行過程。比如讓模擬器單步執(zhí)行、獲取當(dāng)前模擬器執(zhí)行指令EIP、獲取當(dāng)前寄存器狀態(tài)等等。
在實際應(yīng)用過程中,模擬執(zhí)行的效率仍然遠(yuǎn)低于簽名引擎,因此我們需要更多的技術(shù)來干預(yù)執(zhí)行過程。而不能將所有的網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)統(tǒng)放到模擬器中進(jìn)行執(zhí)行。一般做法是輕量級虛擬執(zhí)行引擎真正開始模擬運行之前,還是要通過一些反編譯技術(shù)來做前置過濾。
2.5 基于二進(jìn)制動態(tài)翻譯的系統(tǒng)級虛擬執(zhí)行技術(shù)
相較于傳統(tǒng)沙箱,基于動態(tài)二進(jìn)制翻譯的系統(tǒng)級虛擬執(zhí)行技術(shù)則具有更多優(yōu)勢。傳統(tǒng)沙箱一般是通過HOOK系統(tǒng)API的形式對惡意樣本的執(zhí)行行為進(jìn)行監(jiān)控和惡意判斷。因為這種監(jiān)控是API級別的,所以他只能監(jiān)控到惡意樣本調(diào)用了哪些系統(tǒng)API,而這些API調(diào)用中間的山下文指令則不能進(jìn)行檢測。而基于二進(jìn)制動態(tài)翻譯的系統(tǒng)級虛擬執(zhí)行技術(shù),則是在指令層面對整個系統(tǒng)進(jìn)行完整檢測。因此不但能夠檢測惡意樣本的關(guān)鍵API調(diào)用行為,還能夠檢測更多的惡意指令序列。比如一般虛擬機逃逸技術(shù)里面用到的特殊指令,則傳統(tǒng)沙箱是無法進(jìn)行檢測的。
一個通常的系統(tǒng)級虛擬執(zhí)行引擎的架構(gòu),我們可以看到虛擬機進(jìn)程跑在主操作系統(tǒng)之上,這是一種完全的軟件模擬技術(shù)。這種架構(gòu)的缺點就是執(zhí)行速度慢,模擬出來的硬件性能和物理硬件的性能相比會低很多。最新的虛擬執(zhí)行技術(shù)則更多的使用硬件加速技術(shù),讓指令直接映射到物理硬件上。
新增的內(nèi)核模塊在主操作系統(tǒng)中打開了一個通道,用來連接虛擬機和物理硬件,將虛擬機運行的指令映射到物理硬件上,以達(dá)到給虛擬機進(jìn)程提速的目的。雖然這種架構(gòu)提升了虛擬機的性能,但主操作系統(tǒng)仍然處于核心地位,虛擬機中的客戶操作系統(tǒng)對硬件資源的占用仍然受限很大。
為了讓客戶操作系統(tǒng)擁有更大的權(quán)限,出現(xiàn)了一種新的架構(gòu)。新的架構(gòu)在硬件和操作系統(tǒng)直接,新增一個薄薄的管理層,然后所有操作系統(tǒng)均跑在管理層上面。
因此不再存在主操作系統(tǒng)的概念,所以操作系統(tǒng)均跑在虛擬機管理層(Hypervisor)上面。其中有一個特權(quán)虛擬機系統(tǒng),可以整個系統(tǒng)進(jìn)行管理。因為特權(quán)虛擬機系統(tǒng)僅僅是做管理,因此可以分配很少的資源。然后將其余資源分配給其他虛擬機進(jìn)程。
對于AAS來說,選擇合適的虛擬執(zhí)行技術(shù)比較重要,目前綜合考慮性能和業(yè)務(wù)要求,采用了帶硬件加速的虛擬執(zhí)行技術(shù)。第一種速度太慢,第三種虛擬執(zhí)行技術(shù),適用于完全虛擬化的產(chǎn)品,也就是把整個系統(tǒng)的所有東西全部放入虛擬機里面。
作者簡介:
夏飛(1981-),江蘇南京人,江蘇省電力公司信息通信分公司,工程師,研究方向:信息安全。