一種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法
【專利摘要】本發(fā)明涉及一種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,步驟為:1)對在線社交網(wǎng)絡(luò)中任意一個待檢測識別的網(wǎng)頁,統(tǒng)計(jì)該網(wǎng)頁中所有關(guān)鍵字的出現(xiàn)頻率;根據(jù)網(wǎng)頁中源代碼將網(wǎng)頁分成:HTML標(biāo)簽集合或JavaScript集合或URL集合中一種或者多種不同類型的集合;2)從上述不為空的集合中提取辨別混淆性質(zhì)得到網(wǎng)頁的關(guān)聯(lián)性特征;3)創(chuàng)建關(guān)聯(lián)信息數(shù)據(jù)庫并實(shí)時更新數(shù)據(jù)庫中的網(wǎng)頁的關(guān)聯(lián)性特征,根據(jù)關(guān)聯(lián)性特征提取得到網(wǎng)頁傳播速度;4)根據(jù)頁傳播速度,并結(jié)合統(tǒng)計(jì)得到的上述特征檢測識別出惡意網(wǎng)頁。本發(fā)明不但具有很好的普適性能夠較準(zhǔn)確的描述在線社交網(wǎng)絡(luò)惡意網(wǎng)頁的特征,而且對惡意網(wǎng)頁的檢測識別更加準(zhǔn)確、效率更高、分析成本更低。
【專利說明】—種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,涉及一種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁識別方法,特別涉及基于惡意網(wǎng)頁特征提取的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁識別方法。
【背景技術(shù)】
[0002]隨著在線社交網(wǎng)絡(luò)(Online Social Network, 0SN)的蓬勃發(fā)展,各大在線社交網(wǎng)絡(luò)平臺已擁有巨大的用戶量,再加上其隱藏的用戶私密信息和潛在的經(jīng)濟(jì)利益,使其成為了越來越多網(wǎng)絡(luò)黑客們的焦點(diǎn)。在針對在線社交網(wǎng)絡(luò)的攻擊中,跨站腳本攻擊(Cross-siteScripting,XSS)是一種常見的具有破壞力的攻擊方式之一,利用跨站腳本漏洞產(chǎn)生的網(wǎng)絡(luò)蠕蟲,可以在短時間內(nèi)感染大量的網(wǎng)絡(luò)用戶,甚至影響到服務(wù)器的正常運(yùn)行。因此,提取有效的網(wǎng)頁特征以提高對在線社交網(wǎng)絡(luò)惡意網(wǎng)頁的識別是當(dāng)前亟待解決的問題。
[0003]現(xiàn)有的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁分析大多采用復(fù)雜的靜態(tài)分析方法。通常,在網(wǎng)頁的源碼中包含了 HTML、CSS、URI, JavaScript等元素,網(wǎng)頁中惡意的HTML、CSS、URI,JavaScript可能導(dǎo)致網(wǎng)頁在瀏覽器端加載的時候產(chǎn)生惡意的行為,例如竊取cookie、打開釣魚網(wǎng)站等。在線社交網(wǎng)絡(luò)中,用戶可以從網(wǎng)頁的文本框中自由的輸入一定長度的內(nèi)容,包括HTML、CSS、URI, JavaScript等代碼,為了避免用戶輸入內(nèi)容中可能包含的惡意代碼,在對輸入框中的內(nèi)容提交時,需要對其進(jìn)行靜態(tài)分析,可以分別從HTML、CSS、UR1、JavaScript的角度,利用形式化的方法分析判斷這些元素結(jié)構(gòu)和內(nèi)容是否可能產(chǎn)生惡意行為。
[0004]在惡意網(wǎng)頁中,基于XSS漏洞的惡意代碼是最常見的一種網(wǎng)頁惡意代碼,針對這種類型的惡意代碼已經(jīng)有了許多成熟的分析手段。在非在線社交網(wǎng)絡(luò)(如:門戶網(wǎng)站、論壇網(wǎng)站等)的網(wǎng)頁分析過程中,從混淆代碼的角度切入,提取網(wǎng)頁中混淆代碼的特征,判斷網(wǎng)頁是否存在可疑的惡意代碼。提取的特征主要包括:關(guān)鍵字、JavaScript特征(包括長度、字符個數(shù)等)、URL特征等。
[0005]在已有的一系列在線社交網(wǎng)絡(luò)惡意網(wǎng)頁分析檢測識別方法中,靜態(tài)分析方法大多需要復(fù)雜的分析步驟,處理時間長,時效性不高,與動態(tài)分析方法相比,靜態(tài)分析方法本應(yīng)具有的低時間消耗并未得到完全的提現(xiàn),而復(fù)雜的分析和計(jì)算過程導(dǎo)致的網(wǎng)頁請求延遲也會對網(wǎng)絡(luò)應(yīng)用帶來負(fù)面影響。因此,針對在線社交網(wǎng)絡(luò)惡意網(wǎng)頁,提出一種簡單而有效的特征提取方法,減低分析成本,是目前亟需研究解決的問題。
【發(fā)明內(nèi)容】
[0006]針對在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別的問題,本發(fā)明的目的在于提出一種基于在線社交網(wǎng)絡(luò)惡意網(wǎng)頁特征提取的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法。在對在線社交網(wǎng)絡(luò)的網(wǎng)頁進(jìn)行分析之后,從以下惡意網(wǎng)頁特征進(jìn)行分析:關(guān)鍵字、JavaScript、HTML、URL及在線社交網(wǎng)絡(luò)自身特性的角度提取具有量化性質(zhì)的特征,利用提取的該些惡意網(wǎng)頁特征對在線社交網(wǎng)絡(luò)中的帶有XSS漏洞的惡意代碼的惡意網(wǎng)頁進(jìn)行識別。
[0007]本發(fā)明的技術(shù)方案如下:一種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其步驟包括:
[0008]I)對在線社交網(wǎng)絡(luò)中任意一個待檢測識別的網(wǎng)頁,統(tǒng)計(jì)該網(wǎng)頁中所有關(guān)鍵字的出現(xiàn)頻率;根據(jù)所述網(wǎng)頁中源代碼將網(wǎng)頁分成:HTML標(biāo)簽集合或JavaScript集合或URL集合中一種或者多種不同類型的集合;
[0009]2)從上述不為空的集合中提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征得到可疑字段,結(jié)合所述可疑字段出現(xiàn)的時間得到網(wǎng)頁的關(guān)聯(lián)性特征;
[0010]3)創(chuàng)建關(guān)聯(lián)信息數(shù)據(jù)庫用于儲存該網(wǎng)頁的關(guān)聯(lián)性特征并實(shí)時更新數(shù)據(jù)庫中的網(wǎng)頁的關(guān)聯(lián)性特征,根據(jù)所述關(guān)聯(lián)性特征提取得到網(wǎng)頁傳播速度;
[0011]4)根據(jù)所述頁傳播速度,并結(jié)合統(tǒng)計(jì)得到的關(guān)鍵字的出現(xiàn)頻率、檢測得到的可疑的JavaScript腳本、可疑的HTML標(biāo)簽、可疑的URL中一種或者多種特征檢測識別出惡意網(wǎng)頁。
[0012]更進(jìn)一步,從網(wǎng)頁中源代碼取出符合HTML標(biāo)簽的代碼段收集成HTML標(biāo)簽集合,所述HTML標(biāo)簽由開始標(biāo)簽和/或結(jié)束標(biāo)簽組成,所述開始標(biāo)簽是被括號包圍的元素名,結(jié)束標(biāo)簽是被括號包圍的斜桿和元素名。
[0013]更進(jìn)一步,網(wǎng)頁中源代碼的JavaScript腳本出現(xiàn)在的位置為:〈script>〈/script〉標(biāo)簽之間或者在“javascript: ”后;根據(jù)所述腳本出現(xiàn)位置取出JavaScript腳本,收集成集合。
[0014]更進(jìn)一步,從網(wǎng)頁中源代碼取出查找以HTTP、HTTPS、FTP協(xié)議名稱為開頭的一段有效字符串分離提取出URL后得到URL集合。
[0015]更進(jìn)一步,對所述HTML標(biāo)簽集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下:
[0016]統(tǒng)計(jì)HTML標(biāo)簽集合中所有標(biāo)簽的信息,提取集合中標(biāo)簽的最大長度、長標(biāo)簽的個數(shù),以及標(biāo)簽中所含JavaScript字符串的比例,作為HTML標(biāo)簽混淆程度的計(jì)量。
[0017]更進(jìn)一步,對所述JavaScript集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下:
[0018]統(tǒng)計(jì)JavaScript集合中所有腳本的信息,提取集合中腳本字符串的最大長度、腳本字符串中被編碼字符的比例以及集合中出現(xiàn)字符串連接的次數(shù),作為JavaScript腳本混淆程度的計(jì)量。
[0019]更進(jìn)一步,對所述URL集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下:
[0020]統(tǒng)計(jì)集合中所有URL的信息,提取集合中URL的最大長度、長URL的個數(shù),以及URL中編碼字符的比例,作為URL混淆程度的計(jì)量。
[0021]更進(jìn)一步,所述關(guān)鍵字是有在良性腳本和惡意腳本中出現(xiàn)的頻率存在著差異性的JavaScript 函數(shù)或者 HTML 標(biāo)簽,包括:eval, document, write, unescape, fromCharCode, createElement,createTextNode。
[0022]更進(jìn)一步,所述傳播速度為:單位時間內(nèi)可疑惡意代碼出現(xiàn)在網(wǎng)頁中的頻率,計(jì)算可疑字符串在網(wǎng)頁中傳播速度的步驟如下:
[0023]I)在關(guān)聯(lián)信息數(shù)據(jù)庫中統(tǒng)計(jì)網(wǎng)頁的〈可疑字段出現(xiàn)的時間,可疑字符串內(nèi)容 > 記錄;
[0024]2)通過查詢數(shù)據(jù)庫中字符串內(nèi)容相同,且時間在t以前一小時內(nèi)的所有記錄的個數(shù),統(tǒng)計(jì)每一條記錄中字符串內(nèi)容的傳播速度;
[0025]3)記錄所有傳播速度中的最大值,將其作為網(wǎng)頁的傳播速度。[0026]本發(fā)明的有益效果:
[0027]1.本發(fā)明提取一組在線社交網(wǎng)絡(luò)惡意網(wǎng)頁特征,具有很好的普適性。
[0028]2.本發(fā)明基于網(wǎng)頁結(jié)構(gòu)特點(diǎn),對網(wǎng)頁進(jìn)行預(yù)處理,從網(wǎng)頁元素類型角度,提取網(wǎng)頁特征,同時建立網(wǎng)頁間的關(guān)聯(lián)信息數(shù)據(jù)庫。
[0029]3.本發(fā)明充分考慮到了在線社交網(wǎng)絡(luò)中惡意代碼的傳播特點(diǎn),基于傳播特點(diǎn)提取一組對在線社交網(wǎng)絡(luò)具有針對性的特征。
[0030]綜上,本發(fā)明提出的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,能夠較準(zhǔn)確的描述在線社交網(wǎng)絡(luò)惡意網(wǎng)頁的特征,對惡意網(wǎng)頁的檢測識別更加準(zhǔn)確、效率更高、分析成本更低。
【專利附圖】
【附圖說明】
[0031]圖1為在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法的流程示意圖。
【具體實(shí)施方式】
[0032]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]實(shí)現(xiàn)本發(fā)明的一種【具體實(shí)施方式】如下,在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其步驟為:
[0034]I)對在線社交網(wǎng)絡(luò)中任意一個待檢測識別的網(wǎng)頁,統(tǒng)計(jì)該網(wǎng)頁中所有給定關(guān)鍵字的出現(xiàn)頻率;
[0035]2)解析網(wǎng)頁結(jié)構(gòu)根據(jù)網(wǎng)頁源代碼將網(wǎng)頁分成不同類型的集合,將網(wǎng)頁源碼分解成HTML 集合、JavaScript 集合、URL 集合;
[0036]3)從HTML集合、JavaScript集合、URL集合中提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征即可疑字段,結(jié)合可疑字段出現(xiàn)的時間得到網(wǎng)頁的關(guān)聯(lián)性特征;
[0037]4)儲存該網(wǎng)頁的關(guān)聯(lián)性特征,更新關(guān)聯(lián)信息數(shù)據(jù)庫,以更新最新的關(guān)聯(lián)性特征;根據(jù)記錄在線社交網(wǎng)絡(luò)網(wǎng)頁關(guān)聯(lián)性特征的數(shù)據(jù)庫信息,提取網(wǎng)頁的關(guān)聯(lián)性特征;
[0038]5)根據(jù)關(guān)聯(lián)性信息提取得到網(wǎng)頁傳播速度,并結(jié)合給定關(guān)鍵字、可疑JavaScript、可疑HTML、可疑URL,共五個特征,得到網(wǎng)頁的特征向量;
[0039]6)根據(jù)特征向量檢測識別出惡意網(wǎng)頁。
[0040]在本發(fā)明的一實(shí)施例中,關(guān)鍵字是指有一些JavaScript函數(shù)或者HTML標(biāo)簽,它們在良性腳本和惡意腳本中出現(xiàn)的頻率存在著差異性。這樣的一些關(guān)鍵字,它們在良性網(wǎng)頁中出現(xiàn)次數(shù)較少而在惡意網(wǎng)頁中出現(xiàn)的頻率較高,我們認(rèn)為這些字段可以成為網(wǎng)頁中的關(guān)鍵字,從而可以利用網(wǎng)頁中關(guān)鍵字出現(xiàn)的頻率判斷網(wǎng)頁是否是惡意的。
[0041]在本發(fā)明的一實(shí)施例中,根據(jù)解析網(wǎng)頁的結(jié)構(gòu)得到網(wǎng)頁的組成元素,我們對網(wǎng)頁進(jìn)行預(yù)處理,處理的目標(biāo)是將網(wǎng)頁分成不同類型的集合。由于我們提取的特征均來自于HTML標(biāo)簽、JavaScript腳本、URL,因此,在對網(wǎng)頁進(jìn)行預(yù)處理時,將網(wǎng)頁的源碼分成了 HTML標(biāo)簽集合、JavaScript腳本集合以及URL集合,在接下來的步驟中,我們只需要分別對這三個集合提取相關(guān)的信息即可,避免了每次都需要處理大量的數(shù)據(jù)而導(dǎo)致的處理時間過長,另外,對分類后的集合進(jìn)行分析提取特征,也能使得特征更加的準(zhǔn)確。
[0042]在本發(fā)明的一實(shí)施例中,提取網(wǎng)頁靜態(tài)特征,據(jù)是網(wǎng)頁中具有混淆性質(zhì)的特征,對三組集合,其提取方法為:
[0043](I)對HTML標(biāo)簽集合,統(tǒng)計(jì)集合中所有標(biāo)簽的信息,提取集合中標(biāo)簽的最大長度、長標(biāo)簽的個數(shù),以及標(biāo)簽中所含JavaScript字符串的比例,這些量化的統(tǒng)計(jì)值可以作為HTML標(biāo)簽混淆程度的計(jì)量。
[0044](2)對JavaScript腳本集合,統(tǒng)計(jì)集合中所有腳本的信息,提取集合中腳本字符串的最大長度、腳本字符串中被編碼字符的比例,以及集合中出現(xiàn)字符串連接的次數(shù),這些量化的統(tǒng)計(jì)值可以作為JavaScript腳本混淆程度的計(jì)量。
[0045](3)對URL集合,統(tǒng)計(jì)集合中所有URL的信息,提取集合中URL的最大長度、長URL的個數(shù),以及URL中編碼字符的比例,這些量化的統(tǒng)計(jì)值可以作為URL混淆程度的計(jì)量。
[0046]在本發(fā)明的一實(shí)施例中,根據(jù)在線社交網(wǎng)絡(luò)的特點(diǎn),惡意代碼在社交網(wǎng)絡(luò)中的傳播有別于一般網(wǎng)絡(luò)中的傳播,最直觀的特點(diǎn)是,社交網(wǎng)絡(luò)拓?fù)涞母呔奂群洼^小的平均最短距離,導(dǎo)致社交網(wǎng)絡(luò)中的惡意代碼傳播速度遠(yuǎn)高于一般網(wǎng)絡(luò)中的傳播速度。為了量化傳播速度的值,在本發(fā)明中定義傳播速度為:單位時間內(nèi),可疑惡意代碼出現(xiàn)在網(wǎng)頁中的頻率,即速度的統(tǒng)計(jì)需要依賴于服務(wù)器端在最近一個小時內(nèi)發(fā)送的網(wǎng)頁中可疑惡意代碼出現(xiàn)的次數(shù)。為了提取特征,需要知道過去的單位時間內(nèi)其被檢測的所有網(wǎng)頁,因此創(chuàng)建一個關(guān)聯(lián)信息數(shù)據(jù)庫并實(shí)時更新數(shù)據(jù)庫中的在線社交網(wǎng)絡(luò)網(wǎng)頁關(guān)聯(lián)性特征,從數(shù)據(jù)庫中,可以統(tǒng)計(jì)提取出需要的特征。
[0047]在本發(fā)明的一實(shí)施例中,關(guān)聯(lián)信息數(shù)據(jù)庫需要不斷的更新,數(shù)據(jù)庫需要保存所有網(wǎng)頁的關(guān)聯(lián)信息,因此,在得到網(wǎng)頁的關(guān)聯(lián)性特征后,將網(wǎng)頁的關(guān)聯(lián)性信息保存到數(shù)據(jù)庫中,更新關(guān)聯(lián)信息數(shù)據(jù)庫。為了提高更新效率只需要參考最近一小時內(nèi)的關(guān)聯(lián)信息,一小時前的所有信息實(shí)際上是不作為參考的,為了提高數(shù)據(jù)庫的訪問效率,每十分鐘維護(hù)一次數(shù)據(jù)庫條目,將一小時前的所有信息刪除。
[0048]如圖1所示是線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法的流程示意圖,包括步驟:
[0049]1.提取第I部分網(wǎng)頁特征,特征主要包括關(guān)鍵字特征。
[0050]惡意網(wǎng)頁在客戶端瀏覽器中加載時,會進(jìn)行一些攻擊行為,這些行為發(fā)生是通過一系列函數(shù)組合執(zhí)行實(shí)現(xiàn)的。在靜態(tài)分析網(wǎng)頁關(guān)鍵字時,利用關(guān)鍵字的出現(xiàn)的次數(shù)代替動態(tài)分析時關(guān)鍵字的執(zhí)行序列作為關(guān)鍵字的特征。從統(tǒng)計(jì)數(shù)據(jù)中發(fā)現(xiàn),一些腳本函數(shù),它可能出現(xiàn)在所有的網(wǎng)頁中,但是它們被使用的頻率卻大不相同。關(guān)鍵字可以包括但不限于:eval, document, write, unescape, fromCharCode, createElement, createTextNode 等,本令頁域清楚地明白如何針對惡意網(wǎng)頁漏洞進(jìn)行關(guān)鍵字的提取,所以上述關(guān)鍵字的類型并不對關(guān)鍵字進(jìn)行限制。如一個字符串執(zhí)行函數(shù)eval,它可以執(zhí)行一個以字符串形式存在的代碼,eval是一個合法的函數(shù),它存在于各種網(wǎng)頁中,但是它一般在網(wǎng)頁中出現(xiàn)的頻率較低。然而,在惡意網(wǎng)頁中,eval出現(xiàn)的次數(shù)會高于一般情況下出現(xiàn)的次數(shù),因此提取類似這樣關(guān)鍵字的特征,可以作為一種識別惡意網(wǎng)頁的標(biāo)示。
[0051]2.網(wǎng)頁預(yù)處理,將網(wǎng)頁源碼根據(jù)元素類型分類。
[0052]網(wǎng)頁源碼中有多種元素,最基本的包括了 HTML標(biāo)簽、JavaScript腳本、URL等。本發(fā)明的切入點(diǎn)之一是從HTML標(biāo)簽、JavaScript腳本、URL中查找惡意代碼存在的蛛絲馬跡,為了方便方法的實(shí)現(xiàn),在提取另外幾部分特征前,需要進(jìn)行一次網(wǎng)頁預(yù)處理,處理后得到三種元素的集合。
[0053]預(yù)處理過程如下:
[0054]DHTML標(biāo)簽是一組具有規(guī)范格式的,標(biāo)簽由開始標(biāo)簽和結(jié)束標(biāo)簽組成,開始標(biāo)簽是被括號包圍的元素名,結(jié)束標(biāo)簽是被括號包圍的斜桿和元素名,有些可能沒有結(jié)束標(biāo)簽,如<br/>。從網(wǎng)頁源碼中取出符合HTML標(biāo)簽的代碼段,收集成集合。
[0055]2)在網(wǎng)頁中,JavaScript腳本通常出現(xiàn)在<script>〈/script>標(biāo)簽之間,或者在“javascript: ”后。依據(jù)腳本出現(xiàn)的位置,分析網(wǎng)頁源碼,從其中取出JavaScript腳本,收集成集合。
[0056]3) URL是所有資源在Internet上的地址,它們遵循統(tǒng)一的標(biāo)準(zhǔn)網(wǎng)頁中可能存在著一些來自本域或者其他域的資源。URL格式的起始是一個協(xié)議名稱,并且Internet中常用的協(xié)議是有限的,包括了 HTTP、HTTPS、FTP等,在收集URL集合時,只需要查找以協(xié)議名稱為開頭的一段有效字符串即可以從網(wǎng)頁源碼中分離提取出URL。
[0057]3.提取第2部分特征,特征主要包括HTML標(biāo)簽特征。
[0058]HTML標(biāo)簽構(gòu)成了 web網(wǎng)頁的結(jié)構(gòu),標(biāo)簽可以通過腳本動態(tài)的添加和刪除,另外標(biāo)簽中的屬性可以利用腳本動態(tài)的修改(如:value),有些還可以自動執(zhí)行(如:src),因此,HTML標(biāo)簽成為了惡意腳本藏匿的好地方。一般的HTML標(biāo)簽長度有限,如果HTML標(biāo)簽中藏匿了惡意腳本,那么HTML標(biāo)簽長度可能大于良性網(wǎng)頁中標(biāo)簽的長度。
[0059]4.提取第3部分特征,特征主要包括JavaScript腳本特征。
[0060]XSS惡意代碼一般使用JavaScript腳本編寫,除了代碼的攻擊性外,很多情況下惡意代碼制造者為了迷惑受害者,會對腳本使用一些混淆手段,降低程序的可讀性,避免受害者察覺。一種普遍的混淆手段是對惡意代碼編碼。經(jīng)過編碼的腳本程序,長度明顯增加,并且字符串中編碼字符的比例也將增大。
[0061]5.提取第4部分特征,特征主要包括URL特征。
[0062]當(dāng)網(wǎng)頁中存在反射型XSS時,網(wǎng)頁源碼中會包含引起XSS的惡意URL,這些URL帶有惡意腳本。為了迷惑用戶點(diǎn)擊惡意URL,惡意代碼制造者會有意的對URL進(jìn)行處理變形,使得用戶無法區(qū)分出URL參數(shù)部分的內(nèi)容,欺騙用戶在無防備之下點(diǎn)擊網(wǎng)頁中的URL。
[0063]6.儲存網(wǎng)頁關(guān)聯(lián)性信息,更新關(guān)聯(lián)信息數(shù)據(jù)庫。
[0064]建立一個關(guān)聯(lián)信息數(shù)據(jù)庫,數(shù)據(jù)庫中保存著網(wǎng)頁的關(guān)聯(lián)性信息。所謂的關(guān)聯(lián)性信息,是指網(wǎng)頁中一些可疑的字段(如可疑的JavaScript腳本字符串、可疑的URL、可疑的HTML標(biāo)簽等),及可疑字段出現(xiàn)的時間。由于需要統(tǒng)計(jì)傳播的速度,而速度與時間直接相關(guān),因此時間是數(shù)據(jù)庫中的一個重要字段。
[0065]當(dāng)一個網(wǎng)頁被提取特征時,在進(jìn)行了前五步的處理之后,會得到一組該網(wǎng)頁中的一些可疑字符串,為了方便的計(jì)算網(wǎng)絡(luò)流中之后出現(xiàn)的網(wǎng)頁的傳播速度,需要保存該網(wǎng)頁中可疑字符串對后來網(wǎng)頁的關(guān)聯(lián)性信息,將網(wǎng)頁的〈可疑字段出現(xiàn)的時間,可疑字符串內(nèi)容〉這樣的一組記錄插入到數(shù)據(jù)庫中,另外,為了提高數(shù)據(jù)庫工作的效率,每十分鐘對數(shù)據(jù)庫的內(nèi)容進(jìn)行一次冗余處理,刪除一小時前的所有數(shù)據(jù)記錄,減小數(shù)據(jù)庫的規(guī)模,做到及時更新和維護(hù)關(guān)聯(lián)信息數(shù)據(jù)庫。
[0066]7.提取第5部分特征,特征主要包括網(wǎng)頁關(guān)聯(lián)性特征。[0067]在社交網(wǎng)絡(luò)中,類似基于XSS漏洞的惡意代碼在網(wǎng)頁中的傳播速度都較快,傳播速度是識別惡意網(wǎng)頁的一個有效特征,因此,需要通過一種方法從UTF-8編碼的網(wǎng)頁源碼中提取出反應(yīng)傳播速度的量化特征。
[0068]類似標(biāo)量速度的簡單定義(單位時間內(nèi)物體通過的路程),對傳播速度進(jìn)行定義,即單位時間內(nèi),字符串在網(wǎng)頁中出現(xiàn)的次數(shù)。計(jì)算可疑字符串在網(wǎng)頁中傳播速度的步驟如下:
[0069]I)統(tǒng)計(jì)步驟6中網(wǎng)頁的〈時間t,字符串內(nèi)容C〉記錄;
[0070]2)統(tǒng)計(jì)每一條記錄中字符串內(nèi)容的傳播速度,即查詢數(shù)據(jù)庫中字符串內(nèi)容相同,且時間在t以前一小時內(nèi)的所有記錄的個數(shù),該統(tǒng)計(jì)值為該條記錄的傳播速度;
[0071]3)記錄所有傳播速度中的最大值,將其作為網(wǎng)頁的傳播速度。
[0072]8.合并步驟1,3,4,5,7中得到的五部分特征,合并后得到網(wǎng)頁的特征向量。
[0073]在線社交網(wǎng)絡(luò)與一般網(wǎng)絡(luò)應(yīng)用相比具有獨(dú)特性。XSS惡意代碼在社交網(wǎng)絡(luò)中的傳播有別于一般網(wǎng)絡(luò)中的傳播,最直觀的特點(diǎn)是,社交網(wǎng)絡(luò)拓?fù)涞母呔奂群洼^小的平均最短距離,導(dǎo)致社交網(wǎng)絡(luò)中的XSS惡意代碼傳播速度遠(yuǎn)高于一般網(wǎng)絡(luò)中的傳播速度。以一個實(shí)際發(fā)生的例子佐證,與2003年的計(jì)算機(jī)病毒Blaster在20小時感染336,000相比,社交網(wǎng)絡(luò)XSS蠕蟲Samy在20小時內(nèi)感染了 I,000,000個用戶。從這樣的對比數(shù)據(jù)中可以發(fā)現(xiàn),平均單位時間內(nèi)惡意代碼感染的用戶數(shù),在線社交網(wǎng)絡(luò)的個數(shù)約為一般網(wǎng)絡(luò)的3倍,因此,若能夠?qū)鞑ニ俣葮?biāo)示出,就能更好的辨別網(wǎng)絡(luò)流中的惡意網(wǎng)頁。
[0074]實(shí)驗(yàn)數(shù)據(jù):
[0075]
【權(quán)利要求】
1.一種在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其步驟包括: 1)對在線社交網(wǎng)絡(luò)中任意一個待檢測識別的網(wǎng)頁,統(tǒng)計(jì)該網(wǎng)頁中所有關(guān)鍵字的出現(xiàn)頻率;根據(jù)所述網(wǎng)頁中源代碼將網(wǎng)頁分成:HTML標(biāo)簽集合或JavaScript集合或URL集合中一種或者多種不同類型的集合; 2)從上述不為空的集合中提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征得到可疑字段,結(jié)合所述可疑字段出現(xiàn)的時間得到網(wǎng)頁的關(guān)聯(lián)性特征; 3)創(chuàng)建關(guān)聯(lián)信息數(shù)據(jù)庫用于儲存該網(wǎng)頁的關(guān)聯(lián)性特征并實(shí)時更新數(shù)據(jù)庫中的網(wǎng)頁的關(guān)聯(lián)性特征,根據(jù)所述關(guān)聯(lián)性特征提取得到網(wǎng)頁傳播速度; 4)根據(jù)所述頁傳播速度,并結(jié)合統(tǒng)計(jì)得到的關(guān)鍵字的出現(xiàn)頻率、檢測得到的可疑的JavaScript腳本、可疑的HTML標(biāo)簽、可疑的URL中一種或者多種特征檢測識別出惡意網(wǎng)頁。
2.如權(quán)利要求1所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,從網(wǎng)頁中源代碼取出符合HTML標(biāo)簽的代碼段收集成HTML標(biāo)簽集合,所述HTML標(biāo)簽由開始標(biāo)簽和/或結(jié)束標(biāo)簽組成,所述開始標(biāo)簽是被括號包圍的元素名,結(jié)束標(biāo)簽是被括號包圍的斜桿和元素名。
3.如權(quán)利要求1所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,網(wǎng)頁中源代碼的JavaScript腳本出現(xiàn)在的位置為:〈script>〈/script>標(biāo)簽之間或者在“javascript: ”后;根據(jù)所述腳本出現(xiàn)位置取出JavaScript腳本,收集成集合。
4.如權(quán)利要求1所述的`在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,從網(wǎng)頁中源代碼取出查找以HTTP、HTTPS、FTP協(xié)議名稱為開頭的一段有效字符串分離提取出URL后得到URL集合。
5.如權(quán)利要求1或2所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,對所述HTML標(biāo)簽集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下: 統(tǒng)計(jì)HTML標(biāo)簽集合中所有標(biāo)簽的信息,提取集合中標(biāo)簽的最大長度、長標(biāo)簽的個數(shù),以及標(biāo)簽中所含JavaScript字符串的比例,作為HTML標(biāo)簽混淆程度的計(jì)量。
6.如權(quán)利要求1或3所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,對所述JavaScript集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下: 統(tǒng)計(jì)JavaScript集合中所有腳本的信息,提取集合中腳本字符串的最大長度、腳本字符串中被編碼字符的比例以及集合中出現(xiàn)字符串連接的次數(shù),作為JavaScript腳本混淆程度的計(jì)量。
7.如權(quán)利要求1或4所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,對所述URL集合提取辨別混淆性質(zhì)的網(wǎng)頁靜態(tài)特征方法如下: 統(tǒng)計(jì)集合中所有URL的信息,提取集合中URL的最大長度、長URL的個數(shù),以及URL中編碼字符的比例,作為URL混淆程度的計(jì)量。
8.如權(quán)利要求1所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,所述關(guān)鍵字是有在良性腳本和惡意腳本中出現(xiàn)的頻率存在著差異性的JavaScript函數(shù)或者HTML標(biāo)簽,包括:eval, document, write, unescape, fromCharCode, createElement, createTextNode0
9.如權(quán)利要求1所述的在線社交網(wǎng)絡(luò)惡意網(wǎng)頁檢測識別方法,其特征在于,所述傳播速度為:單位時間內(nèi)可疑惡意代碼出現(xiàn)在網(wǎng)頁中的頻率,計(jì)算可疑字符串在網(wǎng)頁中傳播速度的步驟如下:.1)在關(guān)聯(lián)信息數(shù)據(jù)庫中統(tǒng)計(jì)網(wǎng)頁的〈可疑字段出現(xiàn)的時間,可疑字符串內(nèi)容> 記錄; .2)通過查詢數(shù)據(jù)庫中字符串內(nèi)容相同,且時間在t以前一小時內(nèi)的所有記錄的個數(shù),統(tǒng)計(jì)每一條記錄中字符串內(nèi)容的傳播速度; . 3)記錄所有傳播速度中的最大值,將其作為網(wǎng)頁的傳播速度。
【文檔編號】G06F21/56GK103559235SQ201310507897
【公開日】2014年2月5日 申請日期:2013年10月24日 優(yōu)先權(quán)日:2013年10月24日
【發(fā)明者】李沁蕾, 王蕊, 賈曉啟, 張道娟 申請人:中國科學(xué)院信息工程研究所