楊 明,王軼駿,薛 質(zhì)
(上海交通大學 信息安全工程學院,上海200240)
根據(jù)Sophos公司2013年的安全報告所稱,網(wǎng)頁木馬仍然是現(xiàn)今惡意軟件的主要擴散來源[1]。而Web全自動攻擊工具 (Web exploit kit)[2]又是最近發(fā)展迅速的網(wǎng)絡(luò)自動化攻擊手段,是高混淆網(wǎng)頁木馬的主要存在形式。這些工具往往提供多個漏洞甚至是0-day漏洞的利用支持,主要通過網(wǎng)頁掛馬來感染目標主機。它們所采用的高級別代碼混淆算法定期變化并且能夠逃避當前任何的網(wǎng)絡(luò)層檢測技術(shù)。因此對于高混淆網(wǎng)頁,傳統(tǒng)的反病毒引擎和特征碼的檢測方式已經(jīng)不能滿足需求。
目前國內(nèi)外的網(wǎng)頁木馬檢測方法主要可分為 “動態(tài)檢測”和 “靜態(tài)檢測”這2種?!皠討B(tài)檢測”主要依賴客戶端蜜罐技術(shù),在虛擬環(huán)境中模擬通信,通過對系統(tǒng)行為 (文件、進程和注冊表等)的監(jiān)控來鑒別惡意網(wǎng)頁。目前動態(tài)檢測的主要有Jose Nazario的PhoneyC[3]、Honeynet項目組 的 Capture-HPC[4], 以 及 University of Mannheim 的Monkey-Spider[5]等?!办o態(tài)檢測”技術(shù)則通過分析網(wǎng)頁源代碼來檢測是否有掛馬特征或者異常情況,目前主要有2種常用的技術(shù)手段:基于靜態(tài)解密的檢測分析與基于概率統(tǒng)計的異常分析。這方面具有代表性的是加州大學圣塔芭芭拉分校的 Wepawet[6]項目和 Prophiler[7]項目。
“動態(tài)檢測”和 “靜態(tài)檢測”技術(shù)各有自己的優(yōu)勢和劣勢,采用任何一種單一技術(shù)都無法滿足現(xiàn)今高混淆網(wǎng)頁掛馬的檢測分析需求。因此,針對高混淆掛馬網(wǎng)頁,本文設(shè)計了一種動態(tài)和靜態(tài)相結(jié)合的網(wǎng)頁木馬檢測模型,并在此基礎(chǔ)上開發(fā)了一套檢測系統(tǒng),最后通過實驗驗證了該檢測系統(tǒng)相對其它系統(tǒng)能夠更準確地識別高混淆掛馬網(wǎng)頁,具有檢測率高、誤報率低、速度快等優(yōu)勢。此外,該系統(tǒng)部署方便,開銷較少,具有很好的實際應(yīng)用價值。
目前主流的高混淆掛馬網(wǎng)頁使用的工具被稱為Exploit Kit。它是一個預(yù)打包的軟件的合集,包括安裝程序,控制面板和一定數(shù)量的漏洞利用 (甚至包含0Day漏洞)。Exploit Kit采用主機托管來躲避網(wǎng)頁審查,采用動態(tài)域名生成來對抗安全廠商的黑名單技術(shù)?;钴S的Exploit Kit有Black Hole Exploit Kit,RedKit Exploit Kit,Cool exploit kits,Sweet Orange Exploit Kit,Sakura exploit kit,Nuclear Pack等。
近來Exploit Kits還有一個明顯的特征就是大量Java漏洞的利用。根據(jù)Sophos公司的調(diào)查報告[8]統(tǒng)計,包含Java漏洞利用的網(wǎng)頁木馬比例達到了76.76%,包括JVM溢出漏洞 (CVE-2013-0422,CVE-2010-3552等),Java沙箱繞過漏洞 (CVE-2012-4681,CVE-2011-3554等)。這些的漏洞的觸發(fā)較為容易、影響范圍廣,因此成為Java漏洞被網(wǎng)頁木馬利用較多的主要原因。
在網(wǎng)馬攻擊過程中,攻擊者首先利用漏洞入侵合法網(wǎng)站,然后在合法網(wǎng)站中嵌入惡意腳本代碼,使得用戶訪問后被重定向到掛馬站點后下載惡意程序運行 (drive-by download[9])。而這些掛馬頁面往往都經(jīng)過了高度混淆,代碼混淆的特征在很多文獻中被提及。文獻 [10]詳細介紹了JavaScript的各種混淆方式,主要有字符串混淆、escape加密、eval執(zhí)行加密等等。文獻 [11]通過JavaScript特征、HTML特征、以及URL特征等方面來對頁面代碼進行檢測,并利用機器學習和數(shù)據(jù)挖掘技術(shù)來分析數(shù)據(jù)。這種方法已經(jīng)被廣泛利用在掛馬網(wǎng)頁的靜態(tài)檢測上。文獻[12,13]所設(shè)計的掛馬檢測系統(tǒng)也采用了這種思路。
隨著靜態(tài)檢測的應(yīng)用逐漸廣泛,高混淆木馬也出現(xiàn)了新的變化。比如JavaScript匿名函數(shù)和閉包的應(yīng)用、專業(yè)的JavaScript加密工具和操作系統(tǒng)指紋識別等。
匿名函數(shù)指的是沒有定義函數(shù)名的函數(shù),而閉包則是用匿名函數(shù)來實現(xiàn)的一個受到保護的變量空間,其由內(nèi)嵌函數(shù)所生成。圖1就是一個利用匿名函數(shù)和閉包形式編寫的掛馬網(wǎng)頁代碼片段,在這個片段中沒有 “eval”、“document”、 “escape”等JavaScript特征,也沒有 “iframe”等HTML特征,而動態(tài)檢測卻可以得到較好的結(jié)果。
高混淆掛馬網(wǎng)頁也經(jīng)常通過專業(yè)的JavaScript加密工具來完成,如Dean Edwards Packer,YUI Compressor等。如圖2中的例子所示,經(jīng)過這些工具混淆后的代碼不僅進行了多層次的混淆,且代碼中每一段都使用了不同的加密方式,因此異常統(tǒng)計所依賴的特征已經(jīng)非常不明顯。文獻[14]也指出了靜態(tài)特征正逐漸在減少這一現(xiàn)象。此外這些加密方式往往是自定義的多層循環(huán)排序,而不是傳統(tǒng)的單一base64或進制編碼類加密方式,加上函數(shù)入口點隱蔽,使用靜態(tài)解密技術(shù)解密的難度也很大。
操作系統(tǒng)指紋/瀏覽器指紋識別是高混淆網(wǎng)馬的另一主要特征之一。PluginDetect是一個開源的JavaScript庫,用來檢測系統(tǒng)信息,包括操作系統(tǒng),瀏覽器的名稱、版本號,Adobe Flash版本號,Adobe Reader版本號,Java版本號,以及支持各類播放器等ActiveX插件的版本。PluginDetect主要被Black Hole Exploit Kit、Cool exploit kits和Sakura exploit kit等所使用。Exploit Kit通過判斷相應(yīng)的信息選擇相應(yīng)的漏洞進行攻擊或者忽略以避免不必要的網(wǎng)馬行為泄露。這無疑加重了傳統(tǒng)動態(tài)檢測的難度,因為只有在搭建了符合觸發(fā)條件的操作系統(tǒng)和存在相應(yīng)漏洞的ActiveX插件的環(huán)境后才能觸發(fā)惡意代碼下載,從而需要配置多臺虛擬機來對可疑網(wǎng)頁依次進行檢測,這帶來了很大的檢測時間和空間開銷。
如引言所述,傳統(tǒng)的檢測技術(shù)包括 “動態(tài)檢測”和“靜態(tài)檢測”兩大類。其中,動態(tài)檢測雖然對于含有加密、混淆的惡意代碼檢測存在優(yōu)勢,但是其缺陷也是明顯的:動態(tài)檢測需要花費大量時間,效率較低;很多惡意代碼漏洞觸發(fā)條件苛刻,存在漏報率較高等問題;帶漏洞的虛擬環(huán)境還可能存在一些安全隱患。而靜態(tài)檢測雖然系統(tǒng)開銷較低,但靜態(tài)解密技術(shù)存在解密難度大、容易被欺騙、誤報率高、檢測特征庫龐大等問題;異常統(tǒng)計技術(shù)則存在閥值設(shè)定難、誤報率高等問題。
通過大量的研究和實驗,本文所設(shè)計實現(xiàn)的系統(tǒng)通過動靜結(jié)合的方式來檢測高混淆網(wǎng)馬,檢測模型結(jié)構(gòu)如圖3所示。動態(tài)檢測部分使用真實的全補丁的Internet Explorer瀏覽器作為腳本引擎,以掛鉤瀏覽器內(nèi)部關(guān)鍵函數(shù)的方式來獲取惡意代碼反混淆后的結(jié)果。這種方式的最大優(yōu)勢在于檢測過程不依賴于漏洞的觸發(fā),也不會對檢測環(huán)境造成污染和破壞,也不需要反復(fù)還原檢測環(huán)境。隨后我們使用動態(tài)仿真的方式檢測Shellcode,同時使用基于特征碼的靜態(tài)檢測方式作為輔助檢測手段,最后綜合得到網(wǎng)馬檢測的結(jié)果。
基于上述檢測模型,本文設(shè)計和實現(xiàn)了一套檢測系統(tǒng),該系統(tǒng)搭建運行在Linux平臺之上,整體架構(gòu)如圖4所示,主要分為用戶Web交互前段、URL檢測引擎、檢測結(jié)果分析和后臺數(shù)據(jù)存儲等模塊。
(1)用戶Web交互前端模塊提供用戶輸入檢測地址和查看檢測結(jié)果的可視化界面。
(2)URL檢測引擎模塊由掛鉤了核心函數(shù)的IE瀏覽器引擎,Sandboxie沙箱和Vbox虛擬機所組成。修改過的IE瀏覽器引擎運行在Vbox虛擬機的Windows Sandboxie沙箱內(nèi),Vbox虛擬機內(nèi)相應(yīng)的控制以及數(shù)據(jù)傳輸通過Vbox API完成。檢測系統(tǒng)中的Vbox虛擬機保證了訪問模塊和外部其它模塊的隔離,而Sandboxie沙箱所占的系統(tǒng)開銷很小、恢復(fù) (即倒沙)快,相比于其它文獻中直接對虛擬機鏡像進行恢復(fù)的優(yōu)勢較為明顯。
(3)檢測結(jié)果分析模塊用于對URL檢測引擎返回的格式化數(shù)據(jù)進行分析,判斷是否為惡意網(wǎng)頁。
(4)后臺數(shù)據(jù)存儲模塊存儲網(wǎng)頁木馬檢測的靜態(tài)特征以及檢測的詳細結(jié)果。
從上面可以看出,本系統(tǒng)核心的URL檢測引擎模塊,采用了Vbox虛擬機結(jié)合Sandboxie沙箱的基礎(chǔ)架構(gòu),在提供了高效運行環(huán)境的同時還提供了雙重的系統(tǒng)安全性保證。
2.2.1 瀏覽器掛鉤
現(xiàn)今,大部分網(wǎng)頁木馬在用戶訪問開始都會進行瀏覽器類型和真實度的識別,所以傳統(tǒng)動態(tài)檢測中的模擬引擎可能不會觸發(fā)惡意代碼的跳轉(zhuǎn)或執(zhí)行。因此,本文擬使用真實的全補丁的IE瀏覽器來訪問待檢測網(wǎng)頁,從而避免被網(wǎng)頁惡意代碼繞過的風險,然后我們通過掛鉤IE關(guān)鍵解碼函數(shù)來獲取反混淆后的原始代碼。
我們使用Microsoft Detours[15]庫對IE瀏覽器進行關(guān)鍵API函數(shù)的掛鉤來構(gòu)建我們的檢測分析引擎。其中,Detours的實現(xiàn)原理是修改目標函數(shù)的前幾個字節(jié)指令來跳轉(zhuǎn)到我們自己的函數(shù)地址,以此接管對目標函數(shù)的調(diào)用,并插入自己的處理代碼。采用這種掛鉤方式的好處在于,我們可以獲取網(wǎng)頁惡意代碼的反混淆結(jié)果,但不會使其在系統(tǒng)中真正執(zhí)行和感染系統(tǒng)。
我們構(gòu)建了一個基于Detours的DLL注入程序來攔截IE瀏覽器中的所有和網(wǎng)頁代碼執(zhí)行以及反混淆相關(guān)的關(guān)鍵函數(shù),包括 CWindow_execScript,CDocument_write,JsEval,JsUnescape,VbsEval,VbsExecute,VbsUnescape等,此外我們還掛鉤了重定向函數(shù),各類ActiveX插件。
以JsEval函數(shù)為例,掛鉤后的函數(shù)調(diào)用如圖5所示。
這樣,當瀏覽器解析網(wǎng)頁代碼執(zhí)行到需要調(diào)用JsEval這個目標函數(shù) (即True_JsEval)時,將直接跳轉(zhuǎn)到我們的攔截函數(shù)中去執(zhí)行我們自己的My_JsEval攔截函數(shù) (步驟1)。攔截函數(shù)接著調(diào)用trampoline函數(shù) (步驟2),trampoline函數(shù)保存了JsEval目標函數(shù)前幾個指令以及一個無條件轉(zhuǎn)移。trampoline函數(shù)隨后調(diào)用JsEval目標函數(shù) (步驟3),而JsEval目標函數(shù)調(diào)用結(jié)束后會返回到我們的攔截函數(shù) (步驟4)。攔截函數(shù)最后向最初的調(diào)用函數(shù)返回執(zhí)行結(jié)果 (步驟5)。
在具體的實現(xiàn)過程當中,關(guān)鍵在于攔截函數(shù)的函數(shù)聲明和變量格式必須要同目標函數(shù)保持一致。而我們對于Internet Explorer 9瀏覽器的關(guān)鍵組件進行了大量的逆向分析工作,掌握了其中解碼和反混淆相關(guān)函數(shù)的參數(shù)格式及變量類型。My_JsEval攔截函數(shù)的代碼如圖6所示。
因此當觸發(fā)鉤子時,DLL將被掛鉤的函數(shù)的運行內(nèi)容轉(zhuǎn)入我們重寫的detour攔截函數(shù)中執(zhí)行并得到反混淆結(jié)果,同時以JSON格式保存以用于下一步分析。掛鉤執(zhí)行后的反混淆結(jié)果包括腳本源代碼,完整的腳本解析操作,DOM樹操作,加載的插件和有效載荷 (payload)等內(nèi)容,具體格式如下:
CONTENT:= {“Hook”:HOOK,“Tree”:TREE} //文件的內(nèi)容
HOOK:= {HCONTENT}| {}
HCONTENT:= HVT|HVT,HCONTENT
HVT:= “HOOKNAME”:VTPAIR
HOOKNAME:=ExecScript|JsEval|JsUnescape|Redirect|VbsEval|
VbsExecute|VbsExecuteGlobal| VbsUnescape| Write //掛鉤類型
VTPAIR:= {VTCONTENT}| {}
VTCONTENT:=VT|VT,VTCONTENT
VT:= “VALUE”:TIMES //表示網(wǎng)頁腳本執(zhí)行的源碼和相應(yīng)腳本執(zhí)行的次數(shù)
TREE:= {NODE}
NODE:= “URL”:[SOURCE,SUBTREES]//DOM Tree的節(jié)點URL和源碼
SUBTREES:= {NODES}| {}
NODES:=NODE|NODE,NODES
圖6 My_JsEval攔截函數(shù)的代碼
2.2.2 Shellcode檢測
在網(wǎng)馬執(zhí)行環(huán)節(jié)中,攻擊者往往通過在內(nèi)存中注入Shellcode來達到下載惡意程序的目的。Shellcode是網(wǎng)馬利用漏洞進行攻擊的關(guān)鍵部分,因此Shellcode的檢測也尤為重要。
我們采用了Pylibemu[16]對反混淆后類似Shellcode的代碼部分進行動態(tài)仿真。Pylibemu在封裝了Libemu的基礎(chǔ)上提供了更多的檢測功能。它基于對x86匯編語言的解析和模擬執(zhí)行,通過對內(nèi)存和CPU的模擬來測試字符串能否作為一段匯編語言動態(tài)執(zhí)行,以此來檢測源碼中是否含有Shellcode。
另一方面我們在Pylibemu原有基礎(chǔ)上進行了改進。在動態(tài)仿真同時會監(jiān)測內(nèi)存分配的大小,若內(nèi)存分配空間巨大,如幾百 MB,則很有可能是Shellcode堆噴射 (heap spray)的結(jié)果。堆噴射技術(shù)通過在堆中連續(xù)分配由NOP指令和Shellcode組成的代碼來繞過內(nèi)存地址分布隨機化機制 (ASLR),以此來達到執(zhí)行Shellcode的目的。
有些網(wǎng)頁木馬 (比如現(xiàn)今流行的Java網(wǎng)頁木馬)所利用的漏洞屬于邏輯型漏洞,觸發(fā)時不需要在內(nèi)存中動態(tài)執(zhí)行Shellcode,因此本文采用了靜態(tài)特征碼匹配作為輔助檢測手段,彌補了動態(tài)檢測的不足。
我們根據(jù)大量樣本與典型特征創(chuàng)建自定義的邏輯特征碼數(shù)據(jù)庫。除了一些常見的加密解密、讀寫操作之外,高混淆木馬還存在一些特有的特征碼,包括特定的源碼字符,函數(shù)調(diào)用,特殊判斷語句等,部分特征碼示例見表1。這些特征碼需要聯(lián)合判斷,當滿足其中多個特征條件時可以斷定為惡意代碼。如對于Sakura exploit kit 1.1,當解析后的代碼中出 現(xiàn) “PluginDetect”或 “Java”且 “<applet”、“document.write”、“param”和 “Main.class”等關(guān)鍵字出現(xiàn)次數(shù)滿足一定條件時,就可以認為是惡意代碼。
表1 高混淆木馬特征碼示例
本系統(tǒng)的靜態(tài)檢測使用基于ClamAV[17]的開源殺毒引擎,特征碼格式如下所示:
“SignatureName;TargetDescriptionBlock;LogicalExpression;Subsig0;Subsig1;Subsig2...”
其中SignatureName為特征碼的唯一名稱,Target DescriptionBlock為目標類型參數(shù),LogicalExpression字段包含了邏輯表達式,Subsig是特征碼,以十六進制表述。如對于只含有邏輯漏洞利用的Sakura exploit kit,它的特征碼匹配字符串可以為:
(PluginDetect"|"Java") & (((" <applet" =2) & ("document.write" =2) & ("param">4)) |"Main.class")
使用邏輯特征碼語法,上述特征碼表述為下列匹配規(guī)則:
Sakura exploit kit;Target:0;(0 & 1) & (((2=2) & (3=2) & (4>4))|5);
506C7567696E446574656374 ;4A617661;3C6170706C 6574;646F63756D656E742E7772697465;706172616D;4D 61696E2E636C617373
最后我們將上述規(guī)則加入特征碼數(shù)據(jù)庫中即可應(yīng)用到靜態(tài)檢測引擎。由于這里是對反混淆后的代碼進行特征碼匹配,因此不存在特征碼被加殼或者混淆的問題。
為了驗證本文所設(shè)計實現(xiàn)的系統(tǒng)對高混淆網(wǎng)頁木馬的檢測效果,我們進行了實驗測試并和Wepawet項目,Virus Total[18]等檢測網(wǎng)站進行了對比驗證。我們使用的惡意樣本庫來源于上海交通大學網(wǎng)絡(luò)中心,urlQuery.net、Malware-DomainList、MalwareBlacklist.com.等著名網(wǎng)馬發(fā)布站點,共有500多條,涵蓋了目前流行的絕大多數(shù)網(wǎng)頁木馬,主要是高混淆惡意代碼。此外,我們還通過正常網(wǎng)頁的測試來驗證系統(tǒng)的誤報率。實驗測試的結(jié)果見表2和表3。
圖7 是本系統(tǒng)和 Wepawet、VirusTotal系統(tǒng)檢測率的對比結(jié)果。
從圖7中可以看出,本文所設(shè)計實現(xiàn)的系統(tǒng)對各類網(wǎng)馬樣本的識別達到了接近90%的檢測率,比Wepawet和VirusTotal取得了更理想的網(wǎng)馬檢測效果。在誤報率方面,本系統(tǒng)的誤報率較低,Wepawet的誤報數(shù)也較低,而VirusTotal由于使用了黑名單機制,對于曾經(jīng)掛馬現(xiàn)在已經(jīng)恢復(fù)或失效的網(wǎng)站會存在誤報,因此誤報率較高。
表2 針對流行高混淆網(wǎng)馬樣本庫的檢測結(jié)果
表3 針對正常網(wǎng)頁樣本庫的檢測結(jié)果
在我們檢測的樣本中,大部分為Blackhole Exploit kit和Redkit Exploit kit,這也是符合目前高混淆網(wǎng)頁木馬的流行趨勢。從檢測結(jié)果來看,針對這些類型的網(wǎng)頁木馬,本系統(tǒng)能夠達到很好的檢測效果。而某些類別的網(wǎng)頁木馬及其載體Exploit Kit,由于樣本數(shù)較少 (比如最新的G01pack exploit kit,樣本數(shù)目小于5個),或者頁面存活期短,對訪問要求限制較高等原因,本系統(tǒng)對它們的檢測還存在不足,這也是本系統(tǒng)今后改進的方向。
面對日益更新的網(wǎng)頁木馬混淆和躲避手段,本文提出了一種新穎的檢測方法:通過對受保護環(huán)境中IE瀏覽器的關(guān)鍵函數(shù)進行掛鉤,讓其訪問待檢測的網(wǎng)頁URL地址,從而獲取反混淆后的原始代碼,且不會真正觸發(fā)漏洞,無需頻繁恢復(fù)檢測環(huán)境;隨后在上述動態(tài)檢測基礎(chǔ)上添加了靜態(tài)特征碼檢測方式,以此實現(xiàn)了一套動靜結(jié)合的網(wǎng)頁木馬檢測系統(tǒng)。本系統(tǒng)具有檢測率高,誤報率低和資源開銷小等優(yōu)點。因此,本系統(tǒng)稍加改進完善之后,可用來定期性主動檢測掛馬網(wǎng)站,尤其是利用Exploit Kit生成的高混淆掛馬頁面;也可用來部署在企業(yè)網(wǎng)關(guān)處,檢測現(xiàn)今流行企業(yè)APT攻擊中的隱蔽網(wǎng)頁掛馬攻擊。
[1]Sophos.Security threat report 2013 [R/OL].[2013-01-13].http://www.sophos.com.
[2]Kotov V,Massacci F.Anatomy of exploit kits [M].Engineering Secure Software and Systems.Springer Berlin Heidelberg,2013:181-196.
[3]Nazario J.PhoneyC:A virtual client honeypot [C]//Proceedings of the 2nd USENIX Conference on Large-Scale Exploits and Emergent Threats:Botnets, Spyware, Worms,and More.USENIX Association,2009.
[4]Seifert C,Steenson R.Capture-h(huán)oneypot client(capture-h(huán)pc)[R/OL].[2008-8-14].https://projects.honeynet.org/capture-h(huán)pc.
[5]Ikinci A,Holz T,F(xiàn)reiling F C.Monkey-spider:Detecting malicious websites with low-interaction honeyclients [C]//Sicherheit,2008:407-421.
[6]Cova M,Kruegel C,Vigna G.Detection and analysis of driveby-download attacks and malicious JavaScript code [C]//Proceedings of the 19th International Conference on World Wide Web.ACM,2010:281-290.
[7]Canali D,Cova M,Vigna G,et al.Prophiler:A fast filter for the large-scale detection of malicious Web pages [C]//Proceedings of the 20th International Conference on World Wide Web.ACM,2011:197-206.
[8]Sophos.Inside a black hole:Part 2 [R/OL].[2012-12-12].http://www.sophos.com/en-us/why-sophos/our-people/technical-papers/inside-a-black-h(huán)ole-part-2.aspx.
[9]Provos N,Mavrommatis P,Rajab MA,et al.All your iframes point to us [C]//17th USENIX Security Symposium,2008:1-16.
[10]Curtsinger C,Livshits B,Zorn B G,et al.ZOZZLE:Fast and precise in-browser JavaScript malware detection [C]//USENIX Security Symposium,2011:33-48.
[11]Canali D,Cova M,Vigna G,et al.Prophiler:A fast filter for the large-scale detection of malicious Web pages [C]//Proceedings of the 20th International Conference on World Wide Web.ACM,2011:197-206.
[12]Invernizzi L,Comparetti P M,Benvenuti S,et al.EVILSEED:A guided approach to finding malicious Web pages[C]//IEEE Symposium on Security and Privacy.IEEE,2012:428-442.
[13]Choi J,Kim G,Kim T G,et al.An efficient filtering method for detecting malicous Web pages[M]//Information Security Applications.Springer Berlin Heidelberg,2012:241-253.
[14]Kapravelos A,Shoshitaishvili Y,Cova M,et al.Revolver:An automated approach to the detection of evasive Web-based malware [C]//USENIX Security Symposium, 2013:637-653.
[15]Qu B,Shu J,Huang Y,et al.Memory leak dynamic monitor based on hook technique [C]//International Conference on Computational Intelligence and Software Engineering.IEEE,2009:1-4.
[16]Jason Jones.Shellcode detection using python [R/OL].[2011-12-05].https://github.com/buffer/pylibemu.
[17]Kojm T,Cathey M,Cordes C.Clamav anti-virus [R/OL].[2008-04-14].http://www.clamav,net.
[18]Hispasec Sistemas S L.Virustotal malware intelligence service[R/OL].https://www.virustotal.com/,2013.