王玉璽++卞鳳++周文軍
摘要:Web應(yīng)用型惡意代碼對網(wǎng)絡(luò)環(huán)境造成了極大的安全威脅,針對該類惡意代碼種類繁雜、檢測防御困難等問題,對其攻擊原理進(jìn)行了分類描述;并以靜態(tài)、動態(tài)檢測方法為基礎(chǔ),先后分析了靜態(tài)特征碼和動態(tài)行為兩種常用Web惡意代碼檢測技術(shù)的檢測機(jī)制,指出了兩種技術(shù)的優(yōu)缺點;最后對動靜結(jié)合檢測技術(shù)的研究方向進(jìn)行了展望。
關(guān)鍵詞:Web惡意代碼 攻擊原理 靜態(tài)檢測 動態(tài)檢測
中圖分類號:TP309.5 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)12-0218-02
1 Web惡意代碼的威脅現(xiàn)狀
Web應(yīng)用作為一種常見的網(wǎng)絡(luò)應(yīng)用方式被廣泛使用,而針對Web應(yīng)用的惡意代碼問題對互聯(lián)網(wǎng)的安全構(gòu)成了嚴(yán)重威脅。根據(jù)2016年1月發(fā)布的《2015年度互聯(lián)網(wǎng)安全報告》,2015年新發(fā)現(xiàn)的惡意代碼數(shù)為1.45億個,較2014年增加了5%;從惡意代碼類型分析,前十位的如廣告推廣類木馬、惡意下載器、間諜程序等均與Web應(yīng)用相關(guān)。360互聯(lián)網(wǎng)安全中心在2015年12月公布的《2015年度中國網(wǎng)站安全報告》數(shù)據(jù)中指出,其網(wǎng)站安全檢測平臺2015年共掃描各類網(wǎng)站231.2萬個,掃出存在漏洞的網(wǎng)站101.5萬個,占比為43.9%,較2014年增長了64.5%;從攔截漏洞攻擊次數(shù)最多的漏洞類型來看,大部分仍是針對Web應(yīng)用。
以傳播惡意代碼為目的的Web惡意鏈接遍布網(wǎng)絡(luò),用戶訪問這些惡意鏈接時,主機(jī)被惡意代碼感染。攻擊者利用這些惡意代碼盜取用戶主機(jī)私密信息,如賬號、密碼、網(wǎng)銀信息等;此外,攻擊者還會利用大量受感染的主機(jī)發(fā)起分布式拒絕服務(wù)攻擊。以上行為導(dǎo)致了嚴(yán)重的安全后果,因此,實現(xiàn)對Web應(yīng)用惡意代碼的快速分析檢測,對于保護(hù)互聯(lián)網(wǎng)安全具有重要意義。而攻擊者常變換代碼傳播、攻擊的方法以應(yīng)對現(xiàn)有的防火墻和入侵檢測技術(shù),給惡意代碼的檢測防御帶來困難。
2 Web惡意代碼的攻擊原理
惡意代碼又被稱作惡意軟件,主要是指在未經(jīng)系統(tǒng)使用者授權(quán)的情況下運(yùn)行,以破壞系統(tǒng)可用性、竊取系統(tǒng)信息為目的的計算機(jī)程序或代碼,主要的存在形式如病毒、木馬、蠕蟲、后門等[1]。而針對Web應(yīng)用的惡意代碼是惡意代碼家族的一種特殊表現(xiàn)形式,該類惡意代碼存在于Web應(yīng)用中,當(dāng)用戶通過網(wǎng)絡(luò)訪問這些Web應(yīng)用時,惡意代碼被下載到客戶端執(zhí)行,以完成攻擊者的入侵目的。由以上定義可知,在一次完整的Web惡意代碼傳播過程中,涉及三個關(guān)鍵角色:包含惡意代碼的Web站點、用戶、攻擊者;以這三個角色出發(fā)分析Web惡意代碼的攻擊原理。
2.1 基于社會工程學(xué)的攻擊方式
攻擊者借助社會工程學(xué)原理[2],利用Web用戶好奇、貪心等人性弱點,誘騙用戶下載并安裝惡意代碼軟件,以達(dá)到入侵目的。例如攻擊者在Web站點中添加某些免費的熱門軟件鏈接,此鏈接的目標(biāo)是包含惡意代碼的文件,用戶出于需要下載并安裝了該鏈接目標(biāo)文件,攻擊者輕而易舉的完成了入侵過程。社會工程學(xué)攻擊的另一種典型方式是使用釣魚網(wǎng)站,攻擊者通過鏈接誘騙用戶訪問與真實網(wǎng)站相似度極高的釣魚網(wǎng)站,以竊取用戶機(jī)密信息或自動安裝惡意代碼軟件等?;谏鐣こ虒W(xué)的攻擊方式最典型的特點是利用用戶的認(rèn)知偏差,而非利用系統(tǒng)本身漏洞完成攻擊過程。
2.2 基于路過式下載的攻擊方式
路過式下載國外稱為Drive-by download[3],在典型的路過式下載的攻擊方式中,攻擊者針對用戶瀏覽器或系統(tǒng)漏洞,將包含惡意代碼的腳本寫入Web站點中,當(dāng)用戶訪問包含惡意代碼的網(wǎng)頁時,會在不知情的情況下自動下載并安裝惡意代碼軟件,從而完成攻擊者的入侵目的。一次完整的路過式下載攻擊可分為三個階段。
2.2.1 攻擊者植入惡意代碼
攻擊者首先通過Web服務(wù)器漏洞將準(zhǔn)備好的惡意代碼植入到具有較高訪問量的Web站點頁面中。被植入惡意代碼的主要功能是通過iframe、網(wǎng)頁重定向等技術(shù)將用戶自動引導(dǎo)至惡意軟件宿主頁,這種自動引導(dǎo)可能是直接引導(dǎo)至宿主頁,也可能是經(jīng)過多次跳轉(zhuǎn)后到達(dá)宿主頁。
2.2.2 掃描并利用用戶漏洞
當(dāng)用戶訪問Web站點中包含惡意代碼的頁面時,站點服務(wù)器將該頁面發(fā)送到用戶瀏覽器執(zhí)行,執(zhí)行過程中惡意代碼會掃描當(dāng)前用戶系統(tǒng)可利用漏洞,從而得到所需的系統(tǒng)權(quán)限,為下載、安裝惡意軟件做準(zhǔn)備。常見可利用的漏洞有瀏覽器API型漏洞、瀏覽器解析型漏洞、內(nèi)存溢出型漏洞等,攻擊者常會針對系統(tǒng)、瀏覽器、插件版本的多個漏洞編寫惡意代碼,已實現(xiàn)攻擊效果的最大化。
2.2.3 下載并安裝惡意代碼軟件
攻擊者通過用戶系統(tǒng)漏洞得到相應(yīng)的系統(tǒng)權(quán)限后,惡意代碼的核心部分得以運(yùn)行,用戶被自動引導(dǎo)至宿主站點,在不知情的情況下下載、安裝惡意代碼軟件,惡意代碼軟件常見的類型有木馬、病毒、后門程序、間諜軟件等。攻擊者使用這些惡意軟件竊取用戶的私密信息,或?qū)⒂脩糁鳈C(jī)加入僵尸網(wǎng)絡(luò),進(jìn)行其它類型的網(wǎng)絡(luò)攻擊。
綜合以上攻擊原理分析,與社會工程學(xué)攻擊方式相比,路過式下載攻擊方式是利用用戶系統(tǒng)漏洞,在用戶不知情的情況下自動完成,具有較高的隱蔽性和更大的危害性,也是攻擊者普遍使用的一種惡意代碼傳播方式,以這種攻擊方式為基礎(chǔ),分析Web惡意代碼的檢測技術(shù)。
3 Web惡意代碼的檢測技術(shù)
Web惡意代碼的種類數(shù)量日益增多,快速有效地檢測出被植入惡意代碼的網(wǎng)頁并及時清除惡意內(nèi)容,可有效阻止攻擊者對用戶的入侵。國內(nèi)外針對惡意代碼主流的檢測技術(shù)主要可以分為兩類:靜態(tài)檢測和動態(tài)檢測[4]。下面以這兩類中較為常用的檢測技術(shù)進(jìn)行分析。
3.1 靜態(tài)特征碼檢測技術(shù)
目前,大部分主流反惡意代碼軟件對Web惡意代碼的檢測廣泛使用靜態(tài)特征碼檢測技術(shù)[5]。攻擊者一般用腳本語言生成Web惡意代碼,這部分代碼從機(jī)器角度觀察就是一段二進(jìn)制字符串序列,而同一類型Web惡意代碼入侵手段相同,其部分特征代碼也相同。對包含惡意代碼的Web頁面進(jìn)行逆向分析,歸類提取出該惡意行為所對應(yīng)的字符串序列,即可作為此類Web惡意代碼的特征標(biāo)識,不同類型的Web惡意代碼提取出的特征字符串共同組成惡意代碼特征碼庫。當(dāng)對未知網(wǎng)頁進(jìn)行檢測時,只需將網(wǎng)頁源碼與特征碼庫中的特征字符串進(jìn)行比對,若匹配成功,則可判斷被檢測的Web頁面中包含惡意代碼。
靜態(tài)特征碼技術(shù)對已知的Web惡意代碼檢測快速簡單、準(zhǔn)確性高、誤報率低。但根據(jù)原理可知,其檢測的過程完全依賴于特征碼庫,如果某種惡意代碼的特征碼并未加入特征碼庫,那么該檢測方法失效。由于新類型的Web惡意代碼不斷出現(xiàn),攻擊者常使用的多態(tài)、變形、混淆技術(shù)使得同一類型Web惡意代碼也具有不同的特征碼,從而導(dǎo)致靜態(tài)特征碼技術(shù)對未知惡意代碼的檢測效果較差。
3.2 動態(tài)行為檢測技術(shù)
從Web惡意代碼攻擊行為分析,與其它類型的惡意代碼對比呈現(xiàn)行為的特殊性。Web惡意代碼一般通過客戶端瀏覽器完成植入,此過程中會盡可能的利用客戶端系統(tǒng)漏洞,如用戶瀏覽器漏洞、ActiveX控件漏洞,PDF對象漏洞、Flash播放插件漏洞等,而在利用漏洞時會針對性地調(diào)用某些典型函數(shù)以達(dá)到入侵目的;此外,在入侵后的執(zhí)行階段會調(diào)用所需的dll庫以完成修改注冊表、關(guān)閉殺毒軟件、后臺傳輸信息、遠(yuǎn)程控制等操作。以上入侵、執(zhí)行過程中所表現(xiàn)出的行為特征可應(yīng)用于Web惡意代碼檢測與分析,將這些具有共性的行為特征匯集組成Web惡意行為規(guī)則庫,同時定義Web應(yīng)用程序的合法行為規(guī)則庫,在Web應(yīng)用執(zhí)行過程中,實時監(jiān)控其行為,綜合多種行為所歸屬的規(guī)則庫,進(jìn)而判斷該應(yīng)用中是否包含Web惡意代碼。對惡意行為特征的動態(tài)實時監(jiān)控可以通過虛擬機(jī)或沙盒系統(tǒng)實現(xiàn),虛擬機(jī)和沙盒系統(tǒng)提供的虛擬環(huán)境是對真實客戶端系統(tǒng)的仿真,能像真實操作系統(tǒng)一樣運(yùn)行Web應(yīng)用程序,并動態(tài)跟蹤、收集應(yīng)用程序的運(yùn)行狀態(tài)及產(chǎn)生的行為,作為判斷程序是否惡意的基礎(chǔ)。
動態(tài)行為檢測的一種典型實現(xiàn)方法是通過高交互客戶端蜜罐[6]。此類蜜罐系統(tǒng)中安裝了真實的客戶端操作系統(tǒng)和瀏覽器,存在Web惡意代碼入侵所需要的各種安全漏洞;結(jié)合網(wǎng)絡(luò)爬蟲技術(shù),蜜罐系統(tǒng)可以通過瀏覽器主動訪問各種Web應(yīng)用,并監(jiān)視和記錄訪問過程中客戶端系統(tǒng)中的所有行為和狀態(tài)變化;訪問完成后,對記錄的行為和系統(tǒng)狀態(tài)變化進(jìn)行分析,以行為特征判斷Web應(yīng)用中是否存在惡意代碼。
動態(tài)行為技術(shù)重點關(guān)注Web惡意代碼運(yùn)行時的行為特性,而非代碼本身的編碼序列,所以相對于靜態(tài)特征碼技術(shù),不受多態(tài)、變形、混淆技術(shù)的影響,對已知或未知類型的Web惡意代碼都可以檢測,具有直觀、快速等特點。但該檢測技術(shù)需要依托一個真實的計算機(jī)系統(tǒng)實現(xiàn),因此系統(tǒng)代價和時間代價較高;同時,由于操作系統(tǒng)、瀏覽器、插件的漏洞版本眾多,如果檢測環(huán)境中安裝的漏洞版本與惡意代碼入侵所需利用的漏洞對象不匹配,就會使得該惡意代碼無法運(yùn)行,檢測不出其行為特征,從而導(dǎo)致漏報。如何有效降低動態(tài)行為檢測技術(shù)的漏報率是該領(lǐng)域研究的重點。
4 結(jié)語
Web惡意代碼的各類檢測技術(shù)原理不同,優(yōu)缺點各異。靜態(tài)檢測技術(shù)準(zhǔn)確性高、誤報率低,但對未知惡意代碼的檢測效果差;動態(tài)檢測技術(shù)對可快速識別未知類型惡意代碼,但漏報率高,檢測效率低;兩種檢測技術(shù)都存在較為明顯的缺陷。近年來,動靜結(jié)合的混合檢測技術(shù)成為研究熱點,它結(jié)合了靜態(tài)、動態(tài)兩類檢測技術(shù)的優(yōu)點,改進(jìn)了兩類檢測技術(shù)存在的缺陷,有效提高了檢測的準(zhǔn)確率和檢測效率。Web惡意代碼處于不斷地發(fā)展變化中,更多新型的植入和隱藏技術(shù)被應(yīng)用于反檢測領(lǐng)域,因此,應(yīng)綜合運(yùn)用多種檢測技術(shù)才能達(dá)到全面防御目的。
參考文獻(xiàn)
[1]Egele M,Scholte T,Kirda E,et al.A survey on automated dynamic malware-analysis techniques and tools[J].ACM Computing Surveys,2012,44(02):6.1-6.42.
[2]Kevin Mitnick. The Art of Deception:Controlling the Human Element of Security[M].New York:Wiley,2005.
[3]M Cova,C Kruegel,G Vigna.Detection and analysis of drive-by-download attacks and malicious JavaScript code [J].International Conference on World Wide Web,2010,26(01):281-290.
[4]李陽.惡意代碼檢測及其行為分析[D].西安:西安電子科技大學(xué),2010.
[5]劉旭.惡意代碼的檢測技術(shù)研究[D].長春:吉林大學(xué),2014.
[6]諸葛建偉,唐勇,韓心慧,等.蜜罐技術(shù)研究與應(yīng)用進(jìn)展[J].軟件學(xué)報,2103,24(4): 825-842.