專(zhuān)利名稱(chēng):一種基于空間布局與視覺(jué)特征的釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種釣魚(yú)頁(yè)檢測(cè)的方法,主要從網(wǎng)頁(yè)視覺(jué)布局視覺(jué)相似性角度對(duì)釣魚(yú)網(wǎng)頁(yè)進(jìn)行匹配和識(shí)別,屬于信息安全領(lǐng)域。
背景技術(shù):
釣魚(yú)網(wǎng)站是隨著網(wǎng)絡(luò)普及和在線交易增加而變得異常猖獗的網(wǎng)絡(luò)詐騙行為。釣魚(yú)網(wǎng)站是犯罪分子做出的詐騙網(wǎng)站,釣魚(yú)網(wǎng)站通常與銀行網(wǎng)站或其他知名網(wǎng)站幾乎完全相同,從而引誘網(wǎng)站使用者在釣魚(yú)網(wǎng)站上提交出敏感信息(如用戶(hù)名、口令、銀行帳號(hào)或信用卡詳細(xì)信息等)[Zhang2007]。圖1是釣魚(yú)網(wǎng)站的體系結(jié)構(gòu)。最典型的網(wǎng)絡(luò)釣魚(yú)攻擊過(guò)程如下首先將用戶(hù)引誘到一個(gè)通過(guò)精心設(shè)計(jì)與目標(biāo)組織的網(wǎng)站非常相似的釣魚(yú)網(wǎng)站上,然后獲取用戶(hù)在該釣魚(yú)網(wǎng)站上輸入的個(gè)人敏感信息,例如銀行帳號(hào)、銀行密碼等。通常這個(gè)攻擊過(guò)程不會(huì)讓受害者警覺(jué)。這些個(gè)人信息對(duì)釣魚(yú)網(wǎng)站持有者具有非常大的吸引力,通過(guò)使用竊取到的個(gè)人信息,他們可以假冒受害者進(jìn)行欺詐性金融交易,獲得極大的經(jīng)濟(jì)利益,而受害者們卻因此而遭受到巨大的經(jīng)濟(jì)損失,非但如此,被竊取的個(gè)人信息還可能被用于其他非法活動(dòng)。如何識(shí)別釣魚(yú)網(wǎng)站,如何保證網(wǎng)站信息傳輸?shù)谋C芡暾?,愈發(fā)的顯示出其重要性和必要性。大多數(shù)用戶(hù)會(huì)受騙,很多時(shí)候是由于釣魚(yú)網(wǎng)頁(yè)總是與真實(shí)網(wǎng)頁(yè)有高度的相似性。 計(jì)算相似性的方法很多,文獻(xiàn)[Liu2005]、[Fu2006]、[Chen2009]、[Afroz2009]。正如[Dhamija2006]、[Jackson2007]、[Afroz2009]中提到的,由于人們一般都比較注重自己瀏覽網(wǎng)頁(yè)的主要目的,進(jìn)而忽視了安全性問(wèn)題的提示,并且視覺(jué)欺騙率很高。 由此人們想到從視覺(jué)角度來(lái)檢測(cè),基于視覺(jué)的檢測(cè)分為基于HMTL文本的檢測(cè)、基于布局 [Liu2005]、[Afroz2009]的檢測(cè)和基于圖像[Chen2009]的檢測(cè)。由于HMTL語(yǔ)言的靈活性和網(wǎng)頁(yè)元素的動(dòng)態(tài)性及豐富性,仿冒者可以輕易地做出視覺(jué)上一樣但是HMTL結(jié)構(gòu)不同的網(wǎng)頁(yè),這樣,基于HMTL的匹配將會(huì)失效?;诓季痔卣骱蛨D像特征的網(wǎng)頁(yè)相似檢測(cè)方法根據(jù)人的視覺(jué)原理,對(duì)網(wǎng)頁(yè)的相似性進(jìn)行計(jì)算,是一種通用的檢測(cè)方法,如2006年Fu等人提出了一種基于像素的EMD距離的匹配算法[Fu2006],這種算法是在像素水平上從視覺(jué)的相似性角度來(lái)察覺(jué)釣魚(yú)網(wǎng)頁(yè)的。從實(shí)驗(yàn)結(jié)果可以看出效果要明顯好于基于HTML內(nèi)容的檢測(cè),但也有其局限性,該算法只考慮了網(wǎng)頁(yè)圖像中的顏色及其分布特點(diǎn),沒(méi)有考慮網(wǎng)頁(yè)中不同部分之間的位置關(guān)系。根據(jù)格斯塔視覺(jué)原理,相對(duì)位置在人的視覺(jué)中占主要地位,特別是多個(gè)形體間的相對(duì)位置關(guān)系,相對(duì)位置關(guān)系的變化必然導(dǎo)致視覺(jué)上的區(qū)別,而該算法由于沒(méi)有考慮相對(duì)位置因素可能導(dǎo)致相似檢測(cè)的失效,所以這種方法只能檢測(cè)出與真實(shí)網(wǎng)頁(yè)在視覺(jué)上有相似性的網(wǎng)頁(yè)。[Cao2009]在Fu的基礎(chǔ)上解決了相對(duì)位置的問(wèn)題,首先對(duì)網(wǎng)頁(yè)進(jìn)行分塊,然后再用EMD算法計(jì)算相似度。空間數(shù)據(jù)庫(kù)是一種在地理信息方面應(yīng)用較多的空間查詢(xún)技術(shù),采用R樹(shù)為數(shù)據(jù)結(jié)構(gòu)。由于網(wǎng)頁(yè)布局特征信息需要查找視覺(jué)上靠近的所有矩形,這里結(jié)合空間數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)頁(yè)的特征,可以快速獲取特征庫(kù)中所有視覺(jué)上相似以及位置上靠近的布局特征。
[Zhang2007] Y. Zhang, J. Hong, and L. Cranor. Cantina :A content-based approach todetecting phishing websites. WWW,2007[Fu2006]Anthony Y. Fu, Wenyin Liu, Xiaotie Deng. Detecting Phishing Web Pages withVisual Similarity Assessment based on Earth Mover' s Distance (EMD). IEEETransactions on Dependable and Secure Computing, 2006, 3(4), pages 301-311[Dong2010]X. Dong, J. A. Clark, J. L. Jacob. Defending the weakest 1 ink :phishingwebsites detection by analysing user behaviours.Springer Science+Business Media, LLC 2010.[Liu2010]ff. Y. Liu, N. Fang, X. J. Quan, B. Qiu, G. Liu. Discovering phishing target based onsemantic link network. Future Generation Comp. Syst. ,2010 :381 388. [Cao2009] Jiuxin Cao, Bo Mao, Junzhou Luo, and Bo Liu. A Phishing Web Pages DetectionAlgorithm Based on Nested Structure of Earth Mover' s Distance (Nested-EMD). Chinese Journal of Computers. 2009, (05) -.922-929.(中文曹玖新,毛波,羅軍舟,劉波.基于嵌套EMD的釣魚(yú)網(wǎng)頁(yè)檢測(cè)算法.計(jì)算機(jī)學(xué)報(bào),2009,(05) 922-929.)
發(fā)明內(nèi)容
技術(shù)問(wèn)題本發(fā)明的目的是提供一種基于空間布局與視覺(jué)特征的釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法,以往釣魚(yú)網(wǎng)頁(yè)識(shí)別主要通過(guò)人工識(shí)別,目前現(xiàn)有的計(jì)算機(jī)識(shí)別的釣魚(yú)網(wǎng)頁(yè)檢測(cè)技術(shù)主要從網(wǎng)頁(yè)元素角度對(duì)檢測(cè)網(wǎng)頁(yè)進(jìn)行匹配檢測(cè),匹配速度往往無(wú)法達(dá)到實(shí)際使用的要求。本發(fā)明從網(wǎng)頁(yè)的布局角度進(jìn)行特征抽取、特征匹配,大大提高頁(yè)面匹配的速度,配合對(duì)應(yīng)圖塊之間的圖片視覺(jué)特征的相似性對(duì)比,在提高檢測(cè)速度的同時(shí)保證了高精度和低誤判率。技術(shù)方案本發(fā)明結(jié)合瀏覽器渲染引擎,對(duì)指定的可疑網(wǎng)頁(yè)進(jìn)行視覺(jué)布局特征抽取,再利用空間數(shù)據(jù)庫(kù)索引查找空間位置相近、視覺(jué)相似的布局特征,經(jīng)過(guò)統(tǒng)計(jì)分析找到樣本空間中最為相似的合法網(wǎng)頁(yè),比對(duì)兩者之間對(duì)應(yīng)圖塊的視覺(jué)特征相似度,從而達(dá)到釣魚(yú)網(wǎng)頁(yè)檢測(cè)的目的。該方法由5個(gè)模塊組成,其中最上層是用戶(hù)界面模塊,主要負(fù)責(zé)獲取用戶(hù)輸入并將結(jié)果反饋回用戶(hù),中間是控制模塊,負(fù)責(zé)調(diào)度所有功能模塊完成釣魚(yú)網(wǎng)站檢測(cè),下面是最核心的3個(gè)功能模塊,即布局特征抽取模塊、空間數(shù)據(jù)庫(kù)模塊、機(jī)器學(xué)習(xí)匹配模塊;其中布局特征抽取模塊抽取塊狀網(wǎng)頁(yè)布局特征,該布局特征在訓(xùn)練階段送交空間數(shù)據(jù)庫(kù)模塊建立索引或進(jìn)行查詢(xún),在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段該模塊抽取的布局特征送至空間數(shù)據(jù)庫(kù)模塊查詢(xún)相似特征;空間數(shù)據(jù)庫(kù)模塊在訓(xùn)練時(shí)期對(duì)數(shù)據(jù)特征建立空間索引,在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段進(jìn)行相似特征的快速查詢(xún),查詢(xún)所得相似特征交給機(jī)器學(xué)習(xí)匹配模塊進(jìn)行識(shí)別;機(jī)器學(xué)習(xí)匹配模塊在系統(tǒng)訓(xùn)練階段接收特征提取模塊傳來(lái)的特征數(shù)據(jù)進(jìn)行訓(xùn)練,優(yōu)化網(wǎng)頁(yè)相似性閥值的參數(shù);在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段,接收特征提取模塊傳來(lái)的特征數(shù)據(jù),與空間數(shù)據(jù)庫(kù)中相似特征,計(jì)算網(wǎng)頁(yè)之間的相似性,最后根據(jù)網(wǎng)頁(yè)相似性閥值判斷釣魚(yú)網(wǎng)頁(yè);在釣魚(yú)網(wǎng)頁(yè)檢測(cè)過(guò)程中通過(guò)瀏覽器內(nèi)核解析網(wǎng)頁(yè)源代碼并提取空間布局特征,以此作為釣魚(yú)網(wǎng)頁(yè)檢測(cè)的依據(jù),并在特征庫(kù)中結(jié)合空間數(shù)據(jù)庫(kù)提高查詢(xún)速度,具體實(shí)現(xiàn)步驟為 步驟1)訓(xùn)練階段數(shù)據(jù)準(zhǔn)備過(guò)程采集至少100個(gè)可能被釣魚(yú)網(wǎng)頁(yè)模仿的正規(guī)網(wǎng)站頁(yè)面,并抽取出布局特征組織成樣本數(shù)據(jù);將所有樣本數(shù)據(jù)的布局特征插入空間數(shù)據(jù)庫(kù); 采集至少100個(gè)釣魚(yú)網(wǎng)站頁(yè)面以及100個(gè)普通網(wǎng)頁(yè),并抽取特征組織成測(cè)試數(shù)據(jù);布局特征由以下四個(gè)數(shù)值屬性組成·文檔對(duì)象模型節(jié)點(diǎn)的高度這里的高度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及 Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在垂直方向上象素點(diǎn)個(gè)數(shù),·文檔對(duì)象模型節(jié)點(diǎn)的寬度這里的寬度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及 Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在水平方向上象素點(diǎn)個(gè)數(shù), 文檔對(duì)象模型節(jié)點(diǎn)的X坐標(biāo)設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在水平方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn), 文檔對(duì)象模型節(jié)點(diǎn)的Y坐標(biāo)設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在垂直方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn),步驟2)測(cè)試數(shù)據(jù)集的標(biāo)定過(guò)程將測(cè)試數(shù)據(jù)中的所有普通網(wǎng)頁(yè)標(biāo)注為“0”,表示非釣魚(yú)網(wǎng)頁(yè);再將測(cè)試數(shù)據(jù)中的所有釣魚(yú)網(wǎng)頁(yè)標(biāo)注為“1”,表示釣魚(yú)網(wǎng)頁(yè);步驟3)對(duì)所有測(cè)試網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征,并統(tǒng)計(jì)找到每一個(gè)測(cè)試網(wǎng)頁(yè)在庫(kù)中最相似的網(wǎng)頁(yè),計(jì)算它們的相似度作為測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度;步驟4)將所有測(cè)試網(wǎng)頁(yè)的標(biāo)注以及測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度送入機(jī)器學(xué)習(xí)匹配模 ±夬,遍歷所有可能的相似度閥值,找到一個(gè)值T使得相似度大于T的釣魚(yú)網(wǎng)頁(yè)數(shù)量與相似度小于T的釣魚(yú)網(wǎng)頁(yè)數(shù)量差值最大,T作為釣魚(yú)網(wǎng)頁(yè)布局相似度閥值;第二階段對(duì)相應(yīng)的圖塊進(jìn)行內(nèi)容圖片的特征提取和比對(duì)步驟5)分別對(duì)釣魚(yú)網(wǎng)頁(yè)和普通網(wǎng)頁(yè)之間對(duì)應(yīng)的相似圖塊進(jìn)行圖片特征的提取, 得到對(duì)應(yīng)圖片的特征向量;步驟6)對(duì)圖片的特征向量進(jìn)行處理,利用相關(guān)算法來(lái)計(jì)算對(duì)應(yīng)的圖片之間的相似度,看相似度結(jié)果是否超過(guò)設(shè)定的視覺(jué)特征相似度閾值P ;步驟7)對(duì)疑似釣魚(yú)網(wǎng)頁(yè)的檢測(cè)過(guò)程對(duì)可疑網(wǎng)頁(yè)采集布局特征;用可疑網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征的網(wǎng)頁(yè),將可疑網(wǎng)頁(yè)的圖像特征、布局特征與特征庫(kù)過(guò)濾后的網(wǎng)頁(yè)的圖像特征與布局特征進(jìn)行相似度計(jì)算,看相似度結(jié)果是否超過(guò)設(shè)定的視覺(jué)特征相似度閾值,如大于閾值則判定是否為釣魚(yú)網(wǎng)頁(yè),否則為普通網(wǎng)頁(yè)。有益效果由于基于網(wǎng)絡(luò)拓?fù)洳捎妹嫦嗾军c(diǎn)分析手段,本發(fā)明具有以下一些特殊優(yōu)點(diǎn)和有益成果高準(zhǔn)確率機(jī)器學(xué)習(xí)主要的評(píng)價(jià)指標(biāo)為精度(precision)和召回率(recall),在釣魚(yú)網(wǎng)站檢測(cè)識(shí)別中,精度表示機(jī)器判斷為釣魚(yú)網(wǎng)頁(yè)的所有頁(yè)面中,確實(shí)是釣魚(yú)網(wǎng)頁(yè)的比例,召回率表示所有釣魚(yú)網(wǎng)頁(yè)中被機(jī)器識(shí)別為釣魚(yú)網(wǎng)頁(yè)所占比例。顯然精度和召回率越高表示效果越好。經(jīng)過(guò)實(shí)驗(yàn)證明,本發(fā)明提出的釣魚(yú)網(wǎng)頁(yè)檢測(cè)采用機(jī)器學(xué)習(xí)模型進(jìn)行機(jī)器學(xué)習(xí)以后檢測(cè)精度和召回率分別為97. 9%和95%,該結(jié)果與目前最好的釣魚(yú)網(wǎng)頁(yè)自動(dòng)檢測(cè)技術(shù)不相上下。高速檢測(cè)本發(fā)明最大的優(yōu)勢(shì)在于大大縮短了檢測(cè)時(shí)間,由于結(jié)合空間數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)查詢(xún)做了一定的優(yōu)化改進(jìn),可以充分利用樹(shù)形結(jié)構(gòu)降低時(shí)間復(fù)雜度的特性,同時(shí)只對(duì)認(rèn)為是空間對(duì)應(yīng)的圖塊之間進(jìn)行圖片特征提取和對(duì)比,大大簡(jiǎn)化了圖片比對(duì)的計(jì)算量,提高了檢測(cè)速度。應(yīng)用領(lǐng)域廣泛由于本發(fā)明實(shí)際提出了一種網(wǎng)頁(yè)布局和圖片視覺(jué)相似性計(jì)算方案,所以在網(wǎng)頁(yè)相似性上用途廣泛。
圖1是釣魚(yú)網(wǎng)站的體系結(jié)構(gòu)示意圖。圖2是釣魚(yú)網(wǎng)頁(yè)檢測(cè)過(guò)程示意圖。
具體實(shí)施例方式本發(fā)明技術(shù)方案主要分為三大部分1.布局特征抽取部分。這里的布局特征是指網(wǎng)頁(yè)上所有可見(jiàn)信息的矩形邊界,比如網(wǎng)頁(yè)中的一段文字的矩形邊界,一副圖片的矩形邊界,或者視覺(jué)上靠近的元素組合的矩形邊界等。布局特征抽取模塊的主要工作就是結(jié)合瀏覽器內(nèi)核以及文檔對(duì)象模型樹(shù)分析工具抽取網(wǎng)頁(yè)中所有大小合適的矩形塊信息。所以該模塊的功能就是遍歷一個(gè)web頁(yè)面的文檔對(duì)象模型樹(shù),結(jié)合瀏覽器內(nèi)核中的布局渲染引擎分析該頁(yè)面的html,層疊樣式表,java頁(yè)面腳本源代碼,獲取每個(gè)節(jié)點(diǎn)所代表的標(biāo)簽的顯示位置和大小,并按照指定格式記錄下這些信息組成網(wǎng)頁(yè)布局特征信息。在特征庫(kù)采集階段,該模塊將采集到的可能被模仿的合法網(wǎng)頁(yè)布局特征數(shù)據(jù)交給空間數(shù)據(jù)庫(kù)模塊進(jìn)行數(shù)據(jù)存儲(chǔ);在釣魚(yú)網(wǎng)頁(yè)分析階段,該模塊將疑似頁(yè)面的布局特征數(shù)據(jù)傳給頁(yè)面布局分析模塊進(jìn)行綜合分析。2.空間數(shù)據(jù)庫(kù)部分空間數(shù)據(jù)庫(kù)采用R樹(shù)為數(shù)據(jù)結(jié)構(gòu),是一種在地理信息方面應(yīng)用較多的空間查詢(xún)技術(shù),由于網(wǎng)頁(yè)布局特征信息需要查找視覺(jué)上靠近的所有矩形,這里結(jié)合空間數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)頁(yè)的特征,可以快速獲取特征庫(kù)中所有視覺(jué)上相似以及位置上靠近的布局特征。下面簡(jiǎn)單介紹一下空間數(shù)據(jù)庫(kù)所采用的R樹(shù)數(shù)據(jù)結(jié)構(gòu)R樹(shù)是一種與B樹(shù)相似的樹(shù)形數(shù)據(jù)結(jié)構(gòu),但是主要用于空間數(shù)據(jù)的組建和獲取,比如可以使用空間數(shù)據(jù)庫(kù)“查找在當(dāng)前位置兩千米范圍內(nèi)的所有加油站”。該數(shù)據(jù)結(jié)構(gòu)使用層次聚合的方法分割空間,這些分割以后的空間可能會(huì)重疊,空間使用最小邊框矩形表示R 樹(shù)中的每一個(gè)節(jié)點(diǎn)都有一定數(shù)量的入口(數(shù)量有指定的上限),每一個(gè)非葉節(jié)點(diǎn)的入口存儲(chǔ)兩類(lèi)信息,一類(lèi)是該入口對(duì)應(yīng)的子節(jié)點(diǎn)的索引,另一類(lèi)信息則是該字節(jié)點(diǎn)的MBR。使用空間數(shù)據(jù)庫(kù)的這種樹(shù)形結(jié)構(gòu)以及最小邊框矩形的思想,可以快速地在海量數(shù)據(jù)中查詢(xún)地理上或者視覺(jué)上靠近的數(shù)據(jù)。這里使用空間數(shù)據(jù)庫(kù)的這種特性可以對(duì)特征庫(kù)中的所有布局信息進(jìn)行有效索引, 當(dāng)獲取到待檢測(cè)網(wǎng)頁(yè)的布局信息以后可以進(jìn)行快速查詢(xún),得到視覺(jué)上靠近的所有布局信肩、ο該模塊在組建特征庫(kù)時(shí)候建立空間數(shù)據(jù)索引,在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段進(jìn)行空間數(shù)據(jù)查詢(xún)。3.機(jī)器學(xué)習(xí)匹配部分。其核心任務(wù)就是根據(jù)待檢測(cè)頁(yè)面的布局信息以及特征庫(kù)中與待檢測(cè)頁(yè)面中相似的特征塊綜合統(tǒng)計(jì),根據(jù)指定的網(wǎng)頁(yè)相似性算法,找到相似程度最高的η個(gè)網(wǎng)頁(yè),如果相似性超過(guò)一定的閥值,則認(rèn)為待檢測(cè)網(wǎng)頁(yè)是需要進(jìn)一步進(jìn)行圖片特征提取和比對(duì)的網(wǎng)頁(yè),如果低于閥值,則認(rèn)為是正常網(wǎng)頁(yè)。其中閥值的確定需要使用訓(xùn)練階段的標(biāo)注數(shù)據(jù)根據(jù)我們的機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練所得。 4.圖片特征提取和比對(duì)部分其核心任務(wù)就是對(duì)機(jī)器學(xué)習(xí)匹配部分所得到的空間布局相似的網(wǎng)頁(yè),進(jìn)行對(duì)應(yīng)圖塊之間的圖片特征提取和比對(duì)。該模塊利用相應(yīng)的特征算法,提取圖片的特征向量,然后對(duì)可疑網(wǎng)頁(yè)和普通網(wǎng)頁(yè)進(jìn)行圖片特征向量的相似度計(jì)算,看得到的結(jié)果是否超過(guò)視覺(jué)相似度閾值,從而判定可疑網(wǎng)頁(yè)是否是釣魚(yú)網(wǎng)頁(yè)。 基于空間拓?fù)涞木W(wǎng)頁(yè)布局與視覺(jué)特征的釣魚(yú)網(wǎng)頁(yè)檢測(cè)及其實(shí)現(xiàn)方法所包含的步驟為主要可以分為三大部分1.機(jī)器學(xué)習(xí)模塊的訓(xùn)練步驟1)采集至少100個(gè)可能被釣魚(yú)網(wǎng)頁(yè)模仿的正規(guī)網(wǎng)站頁(yè)面,并抽取出布局特征組織成樣本數(shù)據(jù);步驟2)將所有樣本數(shù)據(jù)的布局特征插入空間數(shù)據(jù)庫(kù);步驟3)采集至少100個(gè)釣魚(yú)網(wǎng)站頁(yè)面以及100個(gè)普通網(wǎng)頁(yè),并抽取特征組織成測(cè)試數(shù)據(jù),將釣魚(yú)網(wǎng)站標(biāo)注為“1”,普通網(wǎng)站標(biāo)注為“0”;步驟4)對(duì)所有測(cè)試網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征,并按照Sim公式統(tǒng)計(jì)找到每一個(gè)測(cè)試網(wǎng)頁(yè)在庫(kù)中最相似的網(wǎng)頁(yè),計(jì)算它們的相似度作為測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度;步驟5)將所有測(cè)試網(wǎng)頁(yè)的標(biāo)注以及測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度送入機(jī)器學(xué)習(xí)匹配模塊,使用機(jī)器學(xué)習(xí)匹配部分的數(shù)據(jù)訓(xùn)練算法計(jì)算出釣魚(yú)網(wǎng)頁(yè)空間布局的相似度閥值。2.視覺(jué)特征的提取與相似度計(jì)算步驟1)根據(jù)網(wǎng)頁(yè)布局相似度檢測(cè)的結(jié)果,對(duì)判定為最相似的兩組網(wǎng)頁(yè)進(jìn)行對(duì)應(yīng)圖塊的圖片特征提取(可提取局部不變特征等),得到對(duì)應(yīng)圖片的特征向量;步驟2)對(duì)提取的圖片特征向量,利用相關(guān)算法進(jìn)行相似度計(jì)算(比如計(jì)算特征向量之間的歐式距離或者馬氏距離),得到相似度比對(duì)結(jié)果。步驟3)利用得到釣魚(yú)網(wǎng)站空間布局相似度閾值的方法,計(jì)算出釣魚(yú)網(wǎng)站圖片相似度的閾值。
3.釣魚(yú)網(wǎng)站檢測(cè) 步驟1)對(duì)可疑網(wǎng)頁(yè)采集布局特征步驟2)用可疑網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征,并按照Sim公式統(tǒng)計(jì)找到可疑網(wǎng)頁(yè)在庫(kù)中最相似的網(wǎng)頁(yè),計(jì)算它們的相似度作為可疑網(wǎng)頁(yè)與庫(kù)的相似度;步驟3)將待可疑網(wǎng)頁(yè)的與庫(kù)的相似度送入訓(xùn)練好的機(jī)器學(xué)習(xí)匹配模塊進(jìn)行預(yù)測(cè),預(yù)測(cè)所得結(jié)果作為是否需要進(jìn)行圖片特征相似度檢測(cè)的依據(jù)如果判定空間布局不一致,則認(rèn)為可疑網(wǎng)頁(yè)為普通網(wǎng)頁(yè);如果判定空間布局一致,則進(jìn)行對(duì)應(yīng)圖塊之間的圖片相似度比較。步驟4)對(duì)步驟3中認(rèn)為是空間布局一致的網(wǎng)頁(yè),提取對(duì)應(yīng)圖塊的圖片特征,得到圖片的特征向量,然后利用相關(guān)算法進(jìn)行特征向量的相似度計(jì)算。如果所得結(jié)果超過(guò)設(shè)定的閾值,則認(rèn)為是釣魚(yú)網(wǎng)頁(yè);否則,認(rèn)為是普通網(wǎng)頁(yè)。1.系統(tǒng)模塊之間的關(guān)系系統(tǒng)由6個(gè)模塊組成,其中最上層是用戶(hù)界面模塊,主要負(fù)責(zé)獲取用戶(hù)輸入并將結(jié)果反饋回用戶(hù),中間是控制模塊,負(fù)責(zé)調(diào)度所有功能模塊完成釣魚(yú)網(wǎng)站檢測(cè)。共有4個(gè)功能模塊布局特征抽取模塊,負(fù)責(zé)按照特征抽取算法抽取網(wǎng)頁(yè)布局特征,該布局特征在訓(xùn)練階段送交空間數(shù)據(jù)庫(kù)模塊建立索引或進(jìn)行查詢(xún),在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段該模塊抽取的布局特征送至空間數(shù)據(jù)庫(kù)模塊查詢(xún)相似特征。空間數(shù)據(jù)庫(kù)模塊,該模塊對(duì)以往的空間數(shù)據(jù)庫(kù)模塊進(jìn)行了改進(jìn),改進(jìn)算法參考下面的空間數(shù)據(jù)庫(kù)的索引和查詢(xún)算法,該模塊的功能是對(duì)訓(xùn)練數(shù)據(jù)特征建立空間索引,在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段進(jìn)行相似特征的快速查詢(xún),查詢(xún)所得相似特征交給機(jī)器學(xué)習(xí)匹配模塊進(jìn)行識(shí)別;機(jī)器學(xué)習(xí)匹配模塊,在系統(tǒng)訓(xùn)練階段接收特征提取模塊傳來(lái)的特征數(shù)據(jù)進(jìn)行訓(xùn)練,優(yōu)化網(wǎng)頁(yè)相似性閥值的參數(shù);在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段,接收特征提取模塊傳來(lái)的特征數(shù)據(jù),與空間數(shù)據(jù)庫(kù)中相似特征,計(jì)算網(wǎng)頁(yè)之間的相似性。圖片特征提取和比對(duì)模塊,在系統(tǒng)中接受機(jī)器學(xué)習(xí)匹配模塊傳來(lái)的結(jié)果,然后對(duì)網(wǎng)頁(yè)進(jìn)行對(duì)應(yīng)圖塊之間的圖片特征提取和圖片特征相似度進(jìn)行,最終判定可疑網(wǎng)頁(yè)與普通網(wǎng)頁(yè)之間的相似度,進(jìn)而判定是否為釣魚(yú)網(wǎng)頁(yè)。2.系統(tǒng)模塊的實(shí)現(xiàn)a)布局特征抽取模塊布局特征抽取模塊需要調(diào)用瀏覽器布局引擎,以及文檔對(duì)象模型源代碼分析工具,對(duì)制定URL的HTML文檔及其附屬圖片文件,層疊樣式表文件,Java頁(yè)面腳本文件進(jìn)行分析,最終抽取出布局特征。布局特征由以下四個(gè)數(shù)值屬性組成·文檔對(duì)象模型節(jié)點(diǎn)的高度這里的高度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及 Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在垂直方向上象素點(diǎn)個(gè)數(shù)。·文檔對(duì)象模型節(jié)點(diǎn)的寬度這里的寬度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及 Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在水平方向上象素點(diǎn)個(gè)數(shù)。
文檔對(duì)象模型節(jié)點(diǎn)的X坐標(biāo)設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在水平方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn)。 文檔對(duì)象模型節(jié)點(diǎn)的Y坐標(biāo) 設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在垂直方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn)。在理解Web瀏覽器工作原理的情況下,選擇一款主流的瀏覽器內(nèi)核,了解該瀏覽器內(nèi)核的API,并了解如何調(diào)用文檔對(duì)象模型源代碼分析工具分析網(wǎng)頁(yè)的HTML源代碼。該模塊的具體實(shí)施步驟如下步驟1)使用所選擇的Web瀏覽器解析需要抽取特征的網(wǎng)頁(yè);步驟2)獲取該頁(yè)面的HTML源代碼并使用文檔對(duì)象模型分析工具解析源代碼;步驟3)根據(jù)算法獲取所有文檔對(duì)象模型節(jié)點(diǎn)的布局特征。b)空間數(shù)據(jù)庫(kù)模塊該模塊結(jié)合空間數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)索引,并在此基礎(chǔ)上對(duì)傳統(tǒng)意義上的空間數(shù)據(jù)庫(kù)進(jìn)行算法上的改進(jìn),使之更適應(yīng)釣魚(yú)網(wǎng)頁(yè)檢測(cè)查詢(xún)。具體實(shí)施步驟如下步驟1)設(shè)計(jì)并實(shí)現(xiàn)一個(gè)以R樹(shù)為數(shù)據(jù)結(jié)構(gòu)的空間數(shù)據(jù)庫(kù)模塊,可以對(duì)輸入的任意形狀進(jìn)行插入、修改、刪除、查詢(xún),其中查詢(xún)應(yīng)可以進(jìn)行一般的空間查詢(xún),比如輸入一個(gè)矩形,查找數(shù)據(jù)庫(kù)中包含在該矩形內(nèi)的所有圖形,或者查找與該矩形中心距小于15的所有矩形;步驟2)按照相應(yīng)算法改進(jìn)空間數(shù)據(jù)庫(kù)的查詢(xún)過(guò)程;步驟3)所有查詢(xún)結(jié)果按照與查詢(xún)特征的中心距降序的標(biāo)準(zhǔn)進(jìn)行排序;c)機(jī)器學(xué)習(xí)匹配模塊根據(jù)被檢測(cè)網(wǎng)頁(yè)A的特征以及從空間數(shù)據(jù)庫(kù)中所得與所有A的特征相似的所有特征綜合分析,找到特征庫(kù)中與A最相似的網(wǎng)頁(yè)B,進(jìn)而計(jì)算A與B的相似度,如果這一相似度超過(guò)預(yù)定閥值,則認(rèn)為A是釣魚(yú)網(wǎng)頁(yè),反之則認(rèn)為A不是釣魚(yú)網(wǎng)頁(yè)。這一模塊需要根據(jù)前面抽取的布局特征計(jì)算兩個(gè)頁(yè)面之間的相似度,首先需要了解一個(gè)對(duì)應(yīng)特征塊的概念,即兩個(gè)網(wǎng)頁(yè)A與B中如果分別有兩個(gè)特征塊A-I與B-1,如果A-I 與B-I的中心距小于預(yù)定的中心距閥值D,并且A-I與B-I的寬度之比在預(yù)定范圍內(nèi),高度之比也在預(yù)定分為內(nèi),則認(rèn)為A-2塊與B-I塊相對(duì)應(yīng),根據(jù)實(shí)驗(yàn)所得結(jié)果,這里取D為50個(gè)像素點(diǎn),寬度比例范圍為W. 8,1.2],高度比例范圍為W. 8,1.2]。相似度計(jì)算公式如下Sim(nq,nr,ncor) = (\
max( , )nq-nr 表示A頁(yè)面中的特征塊總數(shù),nr表示B頁(yè)面中的特征塊總數(shù),ncor表示兩頁(yè)面對(duì)應(yīng)的特征塊總數(shù)。計(jì)算所得Sim為兩個(gè)網(wǎng)頁(yè)之間的相似值。
d)圖片特征的提取和相似度計(jì)算 對(duì)c)中得到的結(jié)果為布局一致的網(wǎng)頁(yè),進(jìn)行相應(yīng)圖塊之間的圖片特征提取,得到每幅圖片的特征向量,然后利用相應(yīng)的算法進(jìn)行向量之間的相似度計(jì)算,得到的結(jié)果與設(shè)定的閾值進(jìn)行比較。最終判定可疑網(wǎng)頁(yè)是否為釣魚(yú)網(wǎng)頁(yè)。
權(quán)利要求
1. 一種基于空間布局與視覺(jué)特征的釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法,其特征在于該方法由5個(gè)模塊組成,其中最上層是用戶(hù)界面模塊,主要負(fù)責(zé)獲取用戶(hù)輸入并將結(jié)果反饋回用戶(hù),中間是控制模塊,負(fù)責(zé)調(diào)度所有功能模塊完成釣魚(yú)網(wǎng)站檢測(cè),下面是最核心的3個(gè)功能模塊,即布局特征抽取模塊、空間數(shù)據(jù)庫(kù)模塊、機(jī)器學(xué)習(xí)匹配模塊;其中布局特征抽取模塊抽取塊狀網(wǎng)頁(yè)布局特征,該布局特征在訓(xùn)練階段送交空間數(shù)據(jù)庫(kù)模塊建立索引或進(jìn)行查詢(xún),在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段該模塊抽取的布局特征送至空間數(shù)據(jù)庫(kù)模塊查詢(xún)相似特征;空間數(shù)據(jù)庫(kù)模塊在訓(xùn)練時(shí)期對(duì)數(shù)據(jù)特征建立空間索引,在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段進(jìn)行相似特征的快速查詢(xún),查詢(xún)所得相似特征交給機(jī)器學(xué)習(xí)匹配模塊進(jìn)行識(shí)別;機(jī)器學(xué)習(xí)匹配模塊在系統(tǒng)訓(xùn)練階段接收特征提取模塊傳來(lái)的特征數(shù)據(jù)進(jìn)行訓(xùn)練,優(yōu)化網(wǎng)頁(yè)相似性閥值的參數(shù);在釣魚(yú)網(wǎng)頁(yè)檢測(cè)階段, 接收特征提取模塊傳來(lái)的特征數(shù)據(jù),與空間數(shù)據(jù)庫(kù)中相似特征,計(jì)算網(wǎng)頁(yè)之間的相似性,最后根據(jù)網(wǎng)頁(yè)相似性閥值判斷釣魚(yú)網(wǎng)頁(yè);在釣魚(yú)網(wǎng)頁(yè)檢測(cè)過(guò)程中通過(guò)瀏覽器內(nèi)核解析網(wǎng)頁(yè)源代碼并提取空間布局特征,以此作為釣魚(yú)網(wǎng)頁(yè)檢測(cè)的依據(jù),并在特征庫(kù)中結(jié)合空間數(shù)據(jù)庫(kù)提高查詢(xún)速度,具體實(shí)現(xiàn)步驟為步驟1)訓(xùn)練階段數(shù)據(jù)準(zhǔn)備過(guò)程采集至少100個(gè)可能被釣魚(yú)網(wǎng)頁(yè)模仿的正規(guī)網(wǎng)站頁(yè)面,并抽取出布局特征組織成樣本數(shù)據(jù);將所有樣本數(shù)據(jù)的布局特征插入空間數(shù)據(jù)庫(kù);采集至少100個(gè)釣魚(yú)網(wǎng)站頁(yè)面以及100個(gè)普通網(wǎng)頁(yè),并抽取特征組織成測(cè)試數(shù)據(jù); 布局特征由以下四個(gè)數(shù)值屬性組成 文檔對(duì)象模型節(jié)點(diǎn)的高度這里的高度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java 頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在垂直方向上象素點(diǎn)個(gè)數(shù), 文檔對(duì)象模型節(jié)點(diǎn)的寬度這里的寬度表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java 頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素在水平方向上象素點(diǎn)個(gè)數(shù), 文檔對(duì)象模型節(jié)點(diǎn)的X坐標(biāo)設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及Java頁(yè)面腳本源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在水平方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn), 文檔對(duì)象模型節(jié)點(diǎn)的Y坐標(biāo)設(shè)Web瀏覽器顯示區(qū)域最左上角的象素點(diǎn)坐標(biāo)為(0,0),這里的X坐標(biāo)表示瀏覽器引擎解析了網(wǎng)頁(yè)的HTML源代碼,層疊樣式表源代碼以及源代碼以后所得網(wǎng)頁(yè)元素的最左上角象素點(diǎn)相對(duì)于(0,0)坐標(biāo)在垂直方向上的距離,其中距離為1表示相差一個(gè)象素點(diǎn),步驟2)測(cè)試數(shù)據(jù)集的標(biāo)定過(guò)程將測(cè)試數(shù)據(jù)中的所有普通網(wǎng)頁(yè)標(biāo)注為“0”,表示非釣魚(yú)網(wǎng)頁(yè);再將測(cè)試數(shù)據(jù)中的所有釣魚(yú)網(wǎng)頁(yè)標(biāo)注為“1”,表示釣魚(yú)網(wǎng)頁(yè);步驟3)對(duì)所有測(cè)試網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征,并統(tǒng)計(jì)找到每一個(gè)測(cè)試網(wǎng)頁(yè)在庫(kù)中最相似的網(wǎng)頁(yè),計(jì)算它們的相似度作為測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度;步驟4)將所有測(cè)試網(wǎng)頁(yè)的標(biāo)注以及測(cè)試網(wǎng)頁(yè)與庫(kù)的相似度送入機(jī)器學(xué)習(xí)匹配模塊, 遍歷所有可能的相似度閥值,找到一個(gè)值T使得相似度大于T的釣魚(yú)網(wǎng)頁(yè)數(shù)量與相似度小于T的釣魚(yú)網(wǎng)頁(yè)數(shù)量差值最大,T作為釣魚(yú)網(wǎng)頁(yè)布局相似度閥值;第二階段對(duì)相應(yīng)的圖塊進(jìn)行內(nèi)容圖片的特征提取和比對(duì)步驟5)分別對(duì)釣魚(yú)網(wǎng)頁(yè)和普 通網(wǎng)頁(yè)之間對(duì)應(yīng)的相似圖塊進(jìn)行圖片特征的提取,得到對(duì)應(yīng)圖片的特征向量;步驟6)對(duì)圖片的特征向量進(jìn)行處理,利用相關(guān)算法來(lái)計(jì)算對(duì)應(yīng)的圖片之間的相似度, 看相似度結(jié)果是否超過(guò)設(shè)定的視覺(jué)特征相似度閾值P ;步驟7)對(duì)疑似釣魚(yú)網(wǎng)頁(yè)的檢測(cè)過(guò)程對(duì)可疑網(wǎng)頁(yè)采集布局特征;用可疑網(wǎng)頁(yè)的特征在空間數(shù)據(jù)庫(kù)中查找相似的特征的網(wǎng)頁(yè),將可疑網(wǎng)頁(yè)的圖像特征、布局特征與特征庫(kù)過(guò)濾后的網(wǎng)頁(yè)的圖像特征與布局特征進(jìn)行相似度計(jì)算,看相似度結(jié)果是否超過(guò)設(shè)定的視覺(jué)特征相似度閾值,如大于閾值則判定是否為釣魚(yú)網(wǎng)頁(yè),否則為普通網(wǎng)頁(yè)。
全文摘要
基于空間布局與視覺(jué)特征的釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法涉及了一種基于頁(yè)面視覺(jué)布局特征結(jié)合空間數(shù)據(jù)庫(kù)以及圖片特征相似度比較的設(shè)計(jì)方案,主要解決了基于網(wǎng)頁(yè)布局與視覺(jué)相似度角度進(jìn)行快速釣魚(yú)網(wǎng)頁(yè)檢測(cè)的問(wèn)題,系統(tǒng)由6個(gè)模塊組成,其中最上層是用戶(hù)界面模塊,主要負(fù)責(zé)獲取用戶(hù)輸入并將結(jié)果反饋回用戶(hù),中間是控制模塊,負(fù)責(zé)調(diào)度所有功能模塊完成釣魚(yú)網(wǎng)站檢測(cè)。最核心的是4個(gè)功能模塊,即布局特征抽取模塊、空間數(shù)據(jù)庫(kù)模塊、機(jī)器學(xué)習(xí)匹配模塊、圖片特征提取與比對(duì)模塊。經(jīng)大量實(shí)驗(yàn)數(shù)據(jù)檢驗(yàn)證明,該方法構(gòu)建了一種高速高精度釣魚(yú)網(wǎng)頁(yè)檢測(cè)系統(tǒng),在保證高準(zhǔn)確率的同時(shí),處理數(shù)據(jù)容量上有了重大提升,并顯著減小網(wǎng)頁(yè)檢測(cè)時(shí)間。
文檔編號(hào)H04L29/06GK102170446SQ201110112428
公開(kāi)日2011年8月31日 申請(qǐng)日期2011年4月29日 優(yōu)先權(quán)日2011年4月29日
發(fā)明者周?chē)?guó)強(qiáng), 張衛(wèi)豐, 張迎周, 曾兵, 許碧歡, 陸柳敏 申請(qǐng)人:南京郵電大學(xué)