專利名稱:基于匈牙利匹配算法的釣魚網(wǎng)頁檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種釣魚網(wǎng)站檢測的方法,主要從相近性檢測角度利用匈牙利匹配算法對釣魚網(wǎng)頁進(jìn)行分析和識別,屬于信息安全與信息獲取的交叉領(lǐng)域。
背景技術(shù):
“釣魚網(wǎng)站”是隨著網(wǎng)絡(luò)普及和在線交易增加而變得異常猖獗的網(wǎng)絡(luò)詐騙行為。 “釣魚網(wǎng)站”是犯罪分子做出的詐騙網(wǎng)站,“釣魚網(wǎng)站”通常與銀行網(wǎng)站或其他知名網(wǎng)站幾乎 完全相同,從而引誘網(wǎng)站使用者在“釣魚網(wǎng)站”上提交出敏感信息(如用戶名、口令、帳號 ID, ATM PIN碼或信用卡詳細(xì)信息等)。最典型的網(wǎng)絡(luò)釣魚攻擊過程如下首先將用戶引誘 到一個通過精心設(shè)計與目標(biāo)組織的網(wǎng)站非常相似的釣魚網(wǎng)站上,然后獲取用戶在該釣魚網(wǎng) 站上輸入的個人敏感信息,例如銀行帳號、銀行密碼等。通常這個攻擊過程不會讓受害者警 覺。這些個人信息對釣魚網(wǎng)站持有者具有非常大的吸引力,通過使用竊取到的個人信息,他 們可以假冒受害者進(jìn)行欺詐性金融交易,獲得極大的經(jīng)濟利益,而受害者們卻因此而遭受 到巨大的經(jīng)濟損失,非但如此,被竊取的個人信息還可能被用于其他非法活動。如何識別釣 魚網(wǎng)站,如何保證網(wǎng)站信息傳輸?shù)谋C芡暾裕l(fā)的顯示出其重要性和必要性。當(dāng)前釣魚網(wǎng)站識別主要靠計算機自動識別和人工識別兩種方式,人工識別采用黑 名單機制,用戶對某個網(wǎng)站進(jìn)行舉報,通過人工鑒定是否為釣魚網(wǎng)站,這樣顯然速度太慢。 [Jackson2007]通過實驗來分析人工檢測釣魚網(wǎng)頁的效果。它首先將參加實驗的人員分 成三組(訓(xùn)練過的組、未訓(xùn)練過的組和未看過釣魚網(wǎng)頁驗證技術(shù)的小組)。實驗結(jié)果顯示 用戶比較難于處理視覺相似的釣魚網(wǎng)頁,另外,驗證技術(shù)培訓(xùn)并未幫助用戶辨別網(wǎng)頁的真 假。計算機自動識別目前主要是基于頁面視覺相似性檢測方式判斷是否為釣魚網(wǎng)站,電腦 通過抽取網(wǎng)頁的視覺,文字特征與大多數(shù)主要的合法網(wǎng)站頁面進(jìn)行相似度對比或進(jìn)行機器 學(xué)習(xí),從而判斷是否為釣魚網(wǎng)站。Liu等提出利用DOM樹之間的相似性來檢測釣魚網(wǎng)頁[Liu2005,Liu2006],該方法 認(rèn)為釣魚網(wǎng)頁為了欺騙用戶,往往展現(xiàn)比較相近的界面,否則不易欺騙用戶,所以真實網(wǎng)頁 與釣魚網(wǎng)頁在布局上應(yīng)該非常接近。Liu等利用釣魚網(wǎng)站與真實網(wǎng)站之間的視覺相似性來 檢測釣魚網(wǎng)站[Liu2005,Liu2006],該方法首先提取真實網(wǎng)頁與待檢測網(wǎng)頁的圖像特征,然 后計算相似性,當(dāng)相似性大于某一設(shè)定閥值時,則認(rèn)為待檢測網(wǎng)頁為釣魚網(wǎng)頁;Angelo等 通過比較網(wǎng)頁HTML標(biāo)記之間的相似性計算網(wǎng)頁間相似性[ROSiellO2007]。Zhang在2007年提出了一種新穎的基于內(nèi)容的檢測釣魚網(wǎng)頁的方法—— CANTINA[Zhang2007]。該方法通過借助第三方的工具(比如搜索引擎)來檢測釣魚網(wǎng)頁, 它首先統(tǒng)計網(wǎng)頁中的TF-IDF JETF-IDF排序靠前的幾個詞條利用搜索引擎檢索,如果該網(wǎng) 頁不出現(xiàn)在搜索結(jié)果的前面30個結(jié)果中,則認(rèn)為是釣魚網(wǎng)頁。該方法具有較高的精度和較 小的FP。但是該方法的效果值得商榷。我們做了對應(yīng)的實驗,結(jié)果發(fā)現(xiàn)很多釣魚網(wǎng)頁可以 在搜索引擎中搜索到,并且結(jié)果比較靠前。這可能跟釣魚網(wǎng)頁制作者做了搜索引擎優(yōu)化有 關(guān)。另外,這種方法不具有實際的可行性,一方面,Google搜索已經(jīng)不提供用戶通過API來訪問其搜索服務(wù),意味著這樣的檢測不能通過程序自動實現(xiàn);另外,Google對來自同一 IP 的每天的搜索次數(shù)進(jìn)行了限制,意味著不能應(yīng)付大量的釣魚網(wǎng)頁檢測。由此看來,這種寄生 于第三方服務(wù)的方法正失去其意義。此外,Nimeh2007從釣魚網(wǎng)頁傳播的角度提出了一種特征提取方法 [Nimeh2007]。該方法主要比較了六種機器學(xué)習(xí)方法在郵件特征分類上的效果=Logistic Regression (LR), Classification and Regression Trees(CART), BayesianAdditive Regression Trees (BART),Support Vector Machines (SVM), Random Forests (RF),and Neural Networks (NNet);數(shù)據(jù)集采用1171個包含phishing內(nèi)容的郵件和1718個合法郵 件,對于每個郵件提取43個特征。這種方法拓展了釣魚網(wǎng)頁的特征,在一定程度上進(jìn)一步 提高了釣魚網(wǎng)頁檢測的精度,但是這種方法仍然在抽取釣魚網(wǎng)頁特征時仍然只是采用了單 個網(wǎng)頁的信息,因而容易被釣魚網(wǎng)頁制作者欺騙?,F(xiàn)有方法主要將單個網(wǎng)頁請求作為比較對象,另外在計算網(wǎng)頁相似度過程中沒有 選擇合適的特征對就行比較,導(dǎo)致網(wǎng)頁相似度的計算精度低,直接影響釣魚網(wǎng)頁檢測的精 度和召回率。我們提出基于匈牙利匹配算法的釣魚網(wǎng)頁檢測方法。本方法利用瀏覽器采集 一次顯示過程中的網(wǎng)頁集合,提取該集合的文本特征和圖像特征;采集渲染后的網(wǎng)頁的整 體圖像,提取圖像特征。在此基礎(chǔ)上設(shè)計出基于logistic回歸的釣魚網(wǎng)頁檢測方法。[Zhang2007] Y. Zhang,J. Hong, and L. Cranor. Cantina :A content-based approach to detectingphishing websites. WWW,2007[Jackson2007]Collin Jackson,Daniel R. Simon, Desney S. Tan, and Adam Barth. An Evaluation ofExtended Validation and Picture-in-Picture Phishing Attacks. Proceedings of Usable Security (USECr 07),F(xiàn)ebruary 2007[Fu2006]Anthony Y. Fu, Wenyin Liu, Xiaotie Deng. Detecting Phishing Web Pages with VisualSimilarity Assessment based on Earth Mover' s Distance (EMD). IEEE Transactions onDependable and Secure Computing,2006,3(4), pages 301-311[Nimeh2007]S. Abu-Nimeh, D. Nappa, X.Wang, and S. Nair. A comparison of machine learningtechniques for phishing detection. Proceedings of the eCrime Researchers Summit,2007.[Liu2005] W. Liu, G. Huang, X. Liu, M. Zhang, and X. Deng. Detection of Phishing Web Pages Basedon Visual Similarity. Proc. 14th Int’l World Wide Web Conf.,2005, pp. 1060-1061.[Liu2006]W. Liu, X.Deng, G. Huang, and A. Y. Fu. An Anti-Phishing Strategy Based on VisualSimilarity Assessment. IEEE Internet Computing,2006,vol. 10(2), pp. 58_65.[Rosiello2007]A. Rosiello, E. Kirda, C. Kruegel, and F. Ferrandi. A layout-similarity-based approachfor detecting phishing pages. International Conference on Security and Privacy in CommunicationNetworks,200
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的目的是提供一種基于匈牙利匹配算法的釣魚網(wǎng)頁檢測方法。該方法能夠全面刻畫渲染后網(wǎng)頁的文本特征、圖像特征和全局圖像特征,能夠確定合理的 文本特征、圖像特征和全局圖像特征內(nèi)部的權(quán)重和外部權(quán)重,具有正確率高、可擴展性強及 速度快的特點。技術(shù)方案本發(fā)明首先利用瀏覽器插件技術(shù),通過javascript代碼訪問網(wǎng)頁DOM 樹來提取網(wǎng)頁文本特征簽名;同時通過javascript代碼訪問瀏覽器視窗以提取全局圖像 特征;然后對于兩個網(wǎng)頁的簽名特征中的文本特征簽名和圖像特征簽名采用匈牙利匹配算 法來計算相似性;最后把文本特征相似性、圖像特征相似性以及全局圖像特征相似性綜合 起來,計算出兩個網(wǎng)頁的相似性,該相似性將作為識別釣魚網(wǎng)頁的依據(jù)。在釣魚網(wǎng)頁檢測過程中通過爬蟲預(yù)取一定數(shù)量的網(wǎng)頁,在此基礎(chǔ)上提取網(wǎng)站拓?fù)?特征,以此作為釣魚網(wǎng)頁檢測的依據(jù),分類器采用增量學(xué)習(xí)方法,保證分類器的及時更新, 具體實現(xiàn)步驟為一、采用基于匈牙利算法的文本特征簽名及圖像簽名的相似度計算方法來分別計 算網(wǎng)頁簽名之間的相似性,1)文本節(jié)點相似性計算實現(xiàn)對網(wǎng)頁中的每個文本節(jié)點特征的對比功能,每個節(jié) 點的特征是一個6維向量 文字內(nèi)容計算Ll距離, 前景色 計算曼哈頓距離, 背景色 計算曼哈頓距離, 字體大小計算Ll距離, 字體名字相同為0,否則為1, 該文本節(jié)點在網(wǎng)頁中的位置計算歐氏距離;2)圖像節(jié)點相似性計算實現(xiàn)對網(wǎng)頁中的每個圖片節(jié)點特征的對比功能,每個節(jié) 點的特征是一個5維向量 圖片的src屬性值計算Ll距離, 圖片的面積計算歐氏距離, 顏色直方圖計算歐氏距離, 二維哈爾小波變換計算歐氏距離, 該圖片節(jié)點在網(wǎng)頁中的位置計算歐氏距離;3)全局圖像特征相似性計算實現(xiàn)對網(wǎng)頁的全局圖片特征的對比功能,特征向量 是一個2維向量 顏色直方圖計算歐氏距離, 二維哈爾小波變換計算歐氏距離;4)網(wǎng)頁簽名相似性的計算步驟1)利用節(jié)點間相似性計算方法計算兩兩節(jié)點之間的相似性;步驟2)構(gòu)造二分圖G= (X,Y,E),其中X與Y分別表示兩個網(wǎng)頁簽名,E表示X中所有節(jié)點與Y中所有節(jié)點之間的邊;步驟3)如果X與Y的簽名長度相同,則轉(zhuǎn)步驟5 ;步驟4)生成二分圖G的擴展二分完全圖;步驟5)使用匈牙利匹配算法獲得G的最佳匹配M ;
步驟6)根據(jù)M中的邊的權(quán)重相加取平均即為X與Y的相似度;二、采用“曲線下面積”方法來確定文本特征權(quán)重及圖像特征內(nèi)部權(quán)重1)計算每組參數(shù)“曲線下面積”的過程步驟21)構(gòu)造特征庫及樣本庫將100個被釣魚的網(wǎng)頁作為比較對象特征庫,與之對應(yīng)的100個釣魚網(wǎng)頁正例與其它100個一般網(wǎng)頁反例構(gòu)成容量為200的樣本庫;步驟22)將每個樣本與特征庫中的每個網(wǎng)頁進(jìn)行相似性計算,取相似度的最大值 作為樣本與特征庫之間的相似度;步驟23)記錄每個樣本計算得到的相似度;步驟24)對于樣本集合計算得到的每個相似度,統(tǒng)計計算“曲線下面積”值,即按 照區(qū)間
遍歷閥值,計算得到對應(yīng)的“真正例率”和“假正例率”值,得到對應(yīng)的“真正 例率-假反例率曲線”,該曲線下的面積即為“曲線下面積”值;2)最優(yōu)參數(shù)的確定步驟221)對于文本特征、圖像特征以及全局圖像特征每組參數(shù)通過以上方法得 到對應(yīng)的“曲線下面積”值;步驟222)選擇“曲線下面積”最大的那組參數(shù)作為最優(yōu)的內(nèi)部參數(shù),分別得到最 優(yōu)的文本特征權(quán)重、圖像特征權(quán)重以及全局圖像特征權(quán)重;三、采用自然對數(shù)回歸分析法來確定文本特征權(quán)重、圖像特征權(quán)重及整體圖像特 征權(quán)重1)構(gòu)造數(shù)據(jù)集步驟31)利用確定的文本特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的 文本特征簽名相似性;步驟32)利用確定的圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的 圖像特征簽名相似性;步驟33)利用確定的全局圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之 間的全局圖像特征簽名相似性;步驟34)將以上計算得到的相似性值按照對應(yīng)的樣本放在一行,在行的最后根據(jù) 是否為釣魚網(wǎng)頁來填寫對應(yīng)的值。對于釣魚網(wǎng)頁,填寫“真”;對于正常網(wǎng)頁,填寫“假”;步驟35)通過以上過程分別構(gòu)造包含200個樣本的訓(xùn)練集,和包含80個樣本的測 試集;2)基于自然對數(shù)回歸的訓(xùn)練及分類過程步驟321)將訓(xùn)練數(shù)據(jù)集輸入到自然對數(shù)回歸分類器中;步驟322)將訓(xùn)練好的分類器保存下來;步驟323)利用訓(xùn)練好的分類器對測試集進(jìn)行預(yù)測,并將預(yù)測結(jié)果記錄;步驟324)根據(jù)預(yù)測結(jié)果與真實結(jié)果的對比,統(tǒng)計對應(yīng)的精度和召回率;四、利用以上步驟確定好的內(nèi)部權(quán)重、外部權(quán)重以及自然對數(shù)回歸方程來檢測釣 魚網(wǎng)頁步驟41)將待保護(hù)的網(wǎng)頁通過步驟一來提取每個網(wǎng)頁的特征簽名,這些特征簽名 組合在一起構(gòu)成特征庫;步驟42)對于待檢測的網(wǎng)頁,提取其特征簽名;
步驟43)對于特征庫中的每個特征簽名,利用網(wǎng)頁簽名相似性的計算,計算其與 待檢測網(wǎng)頁的特征簽名之間的相似性;步驟44)取步驟43)中相似性的最大值作為待檢測網(wǎng)頁與特征庫的相似性;步驟45)如果待檢測網(wǎng)頁與特征庫的相似性大于設(shè)定的閥值0. 9,則認(rèn)為待檢測 網(wǎng)頁為釣魚網(wǎng)頁;否則為非釣魚網(wǎng)頁。有益效果由于基于匈牙利算法的釣魚網(wǎng)頁檢測方法采用瀏覽器提取渲染后網(wǎng)頁 的特征以及利用匈牙利算法計算特征簽名之間的相似性,本發(fā)明具有以下一些特殊優(yōu)點和 有益成果高準(zhǔn)確率分類問題主要的評價指標(biāo)為精度(precision)和召回率(recall),在 釣魚網(wǎng)頁檢測識別中,精度表示判斷為釣魚網(wǎng)頁的所有網(wǎng)頁中,確實是釣魚網(wǎng)頁的比例,召 回率表示所有釣魚網(wǎng)頁中被識別為釣魚網(wǎng)頁所占比例。顯然精度和召回率越高表示效果越 好。經(jīng)過實驗證明,本發(fā)明提出的釣魚網(wǎng)頁檢測采用Logistic分類器進(jìn)行機器學(xué)習(xí)以后精 度為97. 9%和召回率為95%,比其它幾種釣魚網(wǎng)頁特征簽名匹配方法效果有明顯提升。較強的可擴展性可擴展性體現(xiàn)在兩個方面,一、基于相近性的釣魚網(wǎng)頁檢測方法 可以和其它基于分類的方法結(jié)合使用;二、特征庫可以根據(jù)需要不斷擴充,除了用戶可以自 己添加需要保護(hù)的網(wǎng)頁,另外也可以通過在線特征庫的形式由廣大用戶所共享。較快的檢測速度在網(wǎng)頁與特征庫的相似性計算過程中,首先,網(wǎng)頁和特征庫中保 存的是抽取的特征,所以信息量大大減少;其次,特征庫利用分層聚類方式建立了高維索 弓丨,便于快速定位;再次,根據(jù)當(dāng)前網(wǎng)頁的特征從特征庫中檢索出少量的待比較網(wǎng)頁。從而 提高了檢測速度。
圖1釣魚網(wǎng)頁檢測流程圖。
具體實施例方式本發(fā)明主要分為三大部分1.網(wǎng)頁渲染特征模型。瀏覽器在訪問網(wǎng)頁過程中,根據(jù)網(wǎng)頁內(nèi)部的鏈接以及腳本語言來決定是否發(fā)出其 它URL請求,在該網(wǎng)頁所包含的資源返回后,瀏覽器將把這些資源(文字、圖片等)按照各 自的屬性渲染在瀏覽器中,最終形成圖文并茂的網(wǎng)頁。釣魚網(wǎng)頁是為了讓人們在通過瀏覽 器訪問時相信其就是那些被仿冒的網(wǎng)頁,其仿冒主要體現(xiàn)在渲染特征的相似性。因此釣魚 網(wǎng)站的基本檢測過程分為如下三步步驟1)獲取釣魚網(wǎng)頁及其所需要的其它相關(guān)資源,記為url ;步驟2)獲取釣魚網(wǎng)頁渲染后的特征(也可稱為簽名),記為S (url);步驟3)將S(url)與保存的對應(yīng)釣魚目標(biāo)網(wǎng)頁(釣魚網(wǎng)頁所要模仿的網(wǎng)頁)的簽 名S(urlT)進(jìn)行比較,如果兩者的相似度大于某一設(shè)定的閥值,則認(rèn)為網(wǎng)頁url是以網(wǎng)頁 urlT為目標(biāo)的釣魚網(wǎng)頁,發(fā)出報警。瀏覽器在下載網(wǎng)頁及相關(guān)圖片后,把網(wǎng)頁解析成HTML DOM樹。網(wǎng)頁中的可見文本 保存在DOM樹的葉節(jié)點上。
步驟1)網(wǎng)頁url的文本特征,由多個六元組向量組成,記為<t1;t2,. . . ,tn(tjUrl)>, ti —〈tn,ti2,ti3,ti4,ti5,ti6〉, 其中tn為對應(yīng)文本內(nèi)容;ti2為文本的前景色;ti3為文本的 背景色;ti4為文本的字體大小;ti5為文本的字體名稱;ti6表示文本在網(wǎng)頁中的位置;n(t, url)表示網(wǎng)頁url中文本特征的數(shù)量。抽取的網(wǎng)頁中的文本可見特征,網(wǎng)頁除了包含文本,圖片也是最常見的一種元素, 定義網(wǎng)頁中每個圖片的特征如下步驟2)網(wǎng)頁url中圖片特征,由多個五元組向量組成,記為〈π^π^,· · . ,mn(ffl,url)>, Hii = <mn,mi2,mi3,mi4,mi5>,其中mn為圖片的src屬性;mi2為圖片的面積;mi3為圖片的顏色 直方圖;mi4為文本在網(wǎng)頁中的位置;mi5為小波特征。文字特征和圖片特征從局部反應(yīng)了網(wǎng)頁的特征,這些文字和圖片由標(biāo)記語言標(biāo) 記,瀏覽器通過這些標(biāo)記語言來布局文字和圖片,最終呈現(xiàn)給用戶渲染后的網(wǎng)頁。渲染后的 網(wǎng)頁可以看成全局圖像,這樣可以從全局圖像的角度來提取渲染后網(wǎng)頁的特征。步驟3)網(wǎng)頁url的全局圖像(Overall)特征,表示為《Q,Cent1, Ncl>,
<C2, Cent2, Nc2>, . . .,<CND, Centm,Nc· ,其中 C1, C2,...,Cnd 表示不同的顏色;
— ^ wt-7* ‘
Centr—Y^coord{k,i) , coord (k,i)表示具有顏色Ci的第k個像素的坐標(biāo),Centi即表
示具有顏色Ci的像素點的中心點坐標(biāo);Ncd表示具有顏色Ci的像素點個數(shù)。Overall特征根據(jù)每種顏色的數(shù)量來選擇一些顏色作為Overall的簽名特征,即 不同的圖片所選擇的顏色可能不同,簽名特征的長度也可能不同。步驟4)根據(jù)以上定義,可以進(jìn)一步計算網(wǎng)頁簽名。網(wǎng)頁簽名 S(url) = t1 t2, ... , tn(t,url)>,<mi; m2,…,mn(m,url)>,<<Csl, Centsl, Ncsl>,<Cs2, Cents2, Ncs2>, ... , <Csn,Centsn, Ncsn》>,其中 Ncsl 彡 Ncs2. · ·彡 Ncsn,網(wǎng)頁 url 的 Overall特征選取出現(xiàn)頻率最高的前sn種顏色。在提取網(wǎng)頁渲染特征的基礎(chǔ)上,可以計算網(wǎng)頁簽名相似性,網(wǎng)頁簽名相似性由文 本簽名特征相似性、圖片簽名特征相似性以及全局圖像簽名特征相似性組成。提高這些相 似性計算的精度將直接影響釣魚網(wǎng)頁的檢測效果。2.基于匈牙利匹配算法的Web網(wǎng)頁相似性度量。本發(fā)明將網(wǎng)頁簽名之間的相似性計算建立在匹配的特征對基礎(chǔ)上,即首先將不同 簽名的特征進(jìn)行匹配,得到匹配的特征對,然后通過匹配的特征對之間的相似性計算網(wǎng)頁 簽名的相似性。發(fā)明中將網(wǎng)頁簽名特征的匹配問題建模成求二分圖的最佳匹配問題,二分 圖的最佳匹配問題可以利用匈牙利算法(KM match,簡記為KM)計算。下文給出該模型。步驟1)網(wǎng)頁簽名匹配問題。給定兩個網(wǎng)頁簽名X = <χι; x2, ... , xm>和Y = <yi; y2,...,yn>,Sim(x,y)表示特征χ與特征y的相似性(x e X,y e Y),則網(wǎng)頁簽名匹配問題 可以定義為求一個X與Y的子集X'與V,使得存在X'到Y(jié)'的雙射f,滿足
Σ&>(χ,/(χ))取得最大值。
難辦ITT β iVn師 珥步驟2)為了求解網(wǎng)頁簽名匹配問題,我們借鑒二分圖的概念,將網(wǎng)頁簽名匹配問 題建模成一個二分圖G= (X,Y,E),X和Y分別對應(yīng)兩個網(wǎng)頁的簽名;邊集E按照如下規(guī)則 構(gòu)造如果Sim(X,y) > 0,X e X,y e Y,則在二分圖G中對應(yīng)的兩個頂點χ與y之間連一條邊(x,y),并設(shè)置該邊的權(quán)重wxy = Sim(x,y)。通過該二分圖模型,網(wǎng)頁簽名的匹配問題就轉(zhuǎn)化為在求二分圖G上的從頂點X到Y(jié)的匹配問題。步驟3)給定一個二分圖G,在G的一個子圖M中,M的邊集中的任意兩條邊都不 依附于同一個頂點,則稱M是一個匹配。選擇這樣的邊數(shù)最大的子集稱為圖的最大匹配問 題。二分圖的最大匹配問題可以通過Kuhn-Mimkres(KM)算法來求解,該算法是一個經(jīng)典求 解二分圖的最佳匹配的算法。3.基于Logistic回歸的分類器學(xué)習(xí)部分。其核心任務(wù)就是從樣本中推理,學(xué)習(xí)模塊事先使用標(biāo)注的實例數(shù)據(jù)訓(xùn)練分類器, 以確定文本特征內(nèi)部的參數(shù)和圖像特征內(nèi)部的參數(shù),并優(yōu)化文本特征相似度、圖像特征相 似以及全局圖像特征的相對權(quán)重。在得到訓(xùn)練好的分類器以后,對于由特征抽取模塊產(chǎn)生 的實例數(shù)據(jù)可以首先計算與特征庫之間的相似性,然后這些相似性直接輸入分類器模塊, 分類器模塊依照優(yōu)化的分類器模型判斷當(dāng)前網(wǎng)頁是否為釣魚網(wǎng)站。參數(shù)訓(xùn)練過程主要可以分為兩大部分(1)文本特征、圖像特征及全局圖像特征內(nèi)部參數(shù)(權(quán)重)的確定步驟1)采集m個正規(guī)網(wǎng)站(非釣魚網(wǎng)站)的數(shù)據(jù)(m>= 200),并抽取出特征量 組織成實例數(shù)據(jù);步驟2)采集η個釣魚網(wǎng)站及其所模仿的網(wǎng)站的數(shù)據(jù)(η >= 200),并抽取出特征 量組織成實例數(shù)據(jù),其中釣魚網(wǎng)站所模仿的網(wǎng)站構(gòu)成特征庫;步驟3)將m個正規(guī)網(wǎng)站和η個釣魚網(wǎng)站放在一起構(gòu)成數(shù)據(jù)集;步驟4)只采用文本特征,根據(jù)等概率分布,生成各種權(quán)重組合ο組(ο >= 200), 然后為每組特征計算數(shù)據(jù)集中每個數(shù)據(jù)與特征庫的相似性。步驟5)只采用圖像特征,根據(jù)等概率分布,生成各種權(quán)重組合P組(P > = 200), 然后為每組特征計算數(shù)據(jù)集中每個數(shù)據(jù)與特征庫的相似性。步驟6)只采用全局圖像特征,根據(jù)等概率分布,生成各種權(quán)重組合q組(q> = 100),然后為每組特征計算數(shù)據(jù)集中每個數(shù)據(jù)與特征庫的相似性。步驟7)對于每種特征所計算得到的相似度,計算其AUC值,然后選出最大AUC所 對應(yīng)的參數(shù)作為該種特征所對應(yīng)的最優(yōu)參數(shù)。(2)文本特征、圖像特征及全局圖像特征相對權(quán)重的確定步驟1)將數(shù)據(jù)集中每個實例根據(jù)計算得到的最優(yōu)內(nèi)部權(quán)重分別計算與特征庫的 相似度,得到文本相似度、圖像相似度和全局相似度,然后所有正規(guī)網(wǎng)頁實例數(shù)據(jù)中分類屬 性(Class Attribute)全部填寫為“false”,表示非釣魚網(wǎng)站;而將所有釣魚網(wǎng)站實例數(shù)據(jù) 中分類屬性(Class Attribute)全部填寫為“true”,表示釣魚網(wǎng)站;構(gòu)成新的訓(xùn)練集步驟2)將訓(xùn)練集的數(shù)據(jù)傳入機器學(xué)習(xí)模塊;步驟3)選取一種機器學(xué)習(xí)算法(Logistic)算法進(jìn)行訓(xùn)練;步驟4)保存訓(xùn)練好的分類器(包含優(yōu)化的參數(shù)文本特征、圖像特征及全局圖像 特征的相對權(quán)重)。(3)釣魚網(wǎng)頁檢測步驟1)對于用戶當(dāng)前訪問的網(wǎng)頁,如果需要輸入用戶名和口令,則通過插件提取 其文本特征、圖像特征和全局圖像特征;
步驟2)將抽取出的特征首先從特征庫中檢索出可能相近的幾個網(wǎng)頁;步驟3)計算當(dāng)前網(wǎng)頁與步驟2中抽取出的網(wǎng)頁進(jìn)行相近性計算(利用最優(yōu)的內(nèi) 部權(quán)重和外部權(quán)重),取其中的最大值,然后與閥值進(jìn)行比較,如大于則為釣魚網(wǎng)頁,否則為 非釣魚網(wǎng)頁。步驟4)根據(jù)分類結(jié)果給出警告信息(釣魚網(wǎng)頁)或通過(正常網(wǎng)頁)。實例1.網(wǎng)頁渲染特征提取(1)實現(xiàn)對網(wǎng)頁中的每個文本節(jié)點的特征的提取,每個節(jié)點的特征是一個6維向 量,有如下6個分量 文字內(nèi)容,通過 JavaScript 的 chiIdNode. nodeValue. trim()功能獲取 前景色 背景色 字體大小 字體名字 該文本節(jié)點在網(wǎng)頁中的位置(2)實現(xiàn)對網(wǎng)頁中的每個圖片節(jié)點的特征的提取,每個節(jié)點的特征有 圖片的src屬性值,調(diào)用JavaScript的imgNode. src方法獲取 圖片的面積,調(diào)用JavaScript的圖片屬性img. width和img. height,相乘得到 面積值 顏色直方圖 二維哈爾小波變換 該圖片節(jié)點在網(wǎng)頁中的位置(3)將整個網(wǎng)頁變換為一張圖片,將其當(dāng)作一個圖片節(jié)點,進(jìn)而提取該圖片的特 征 顏色直方圖 二維哈爾小波變換2.基于匈牙利匹配算法的Web網(wǎng)頁相似性度量(1)文本節(jié)點相似性計算。實現(xiàn)對網(wǎng)頁中的每個文本節(jié)點特征的對比功能,每個節(jié) 點的特征是一個6維向量 文字內(nèi)容計算Ll距離 前景色 計算曼哈頓距離 背景色計算曼哈頓距離 字體大小計算Ll距離 字體名字相同為0,否則為1 該文本節(jié)點在網(wǎng)頁中的位置計算歐氏距離(2)圖像節(jié)點相似性計算。實現(xiàn)對網(wǎng)頁中的每個圖片節(jié)點特征的對比功能,每個節(jié) 點的特征是一個5維向量 圖片的src屬性值計算Ll距離 圖片的面積計算歐氏距離
顏色直方圖計算歐氏距離 二維哈爾小波變換計算歐氏距離 該圖片節(jié)點在網(wǎng)頁中的位置計算歐氏距離(3)全局圖像特征相似性計算。實現(xiàn)對網(wǎng)頁的全局圖片特征的對比功能,特征向量 是一個2維向量 顏色直方圖計算歐氏距離 二維哈爾小波變換計算歐氏距離(4)網(wǎng)頁簽名相似性的計算步驟1)利用節(jié)點間相似性計算方法計算兩兩節(jié)點之間的相似性;步驟2)構(gòu)造二分圖G= (X,Y,E),其中X與Y分別表示兩個網(wǎng)頁簽名;步驟3)如果X與Y的簽名長度相同,則轉(zhuǎn)步驟5 ;步驟4)生成G的擴展二分完全圖;步驟5)使用KM “匈牙利匹配”算法獲得G的最佳匹配M ;步驟6)根據(jù)M中的邊的權(quán)重相加取平均即為X與Y的相似度;步驟7)結(jié)束。3.文本特征、圖像特征及全局圖像特征內(nèi)部參數(shù)(權(quán)重)的確定(1)生成權(quán)重組合步驟1)利用java根據(jù)廣度優(yōu)先搜索根據(jù)等概率分布為6維的文本特征生成230 個等間距的權(quán)重值;步驟2)利用java根據(jù)廣度優(yōu)先搜索根據(jù)等概率分布為5維的圖像特征生成200 個等間距的權(quán)重值;步驟3)利用java根據(jù)廣度優(yōu)先搜索根據(jù)等概率分布為2維的全局圖像特征生成 100個等間距的權(quán)重值;(2)構(gòu)造特征庫的預(yù)處理過程步驟 1) hKMf^ (http//www. phishtank. com/phish_archive. php) Μ_#:φ,i亥 網(wǎng)站是一個免費的反釣魚網(wǎng)站,Web用戶提交可疑的釣魚網(wǎng)頁。步驟2)采集其中的部分網(wǎng)頁,通過手工檢查,去除合法網(wǎng)頁,以及其它一些噪音 網(wǎng)頁,總共收集100對釣魚網(wǎng)頁和對應(yīng)的合法網(wǎng)頁的URL,把釣魚網(wǎng)頁內(nèi)容和合法網(wǎng)頁內(nèi)容 保存下來;步驟3)另外根據(jù) Yahoo 分類目錄 bank、credit union、online services 等采集 100個一般網(wǎng)頁。步驟4)對于這些網(wǎng)頁利用編寫的firefox插件來遍歷網(wǎng)頁中的文本和圖 片,以及獲得網(wǎng)頁整體圖片,在此基礎(chǔ)上提取網(wǎng)頁簽名(包括文本特征、圖片特征和網(wǎng)頁整 體圖片特征),保存在特征表中。(3)計算每組參數(shù)曲線下面積(AUC)的過程步驟1)構(gòu)造特征庫及樣本庫。將100個被釣魚的網(wǎng)頁作為比較對象(特征庫), 與之對應(yīng)的100個釣魚網(wǎng)頁(正例)與其它100個一般網(wǎng)頁(反例)構(gòu)成樣本庫(容量為 200)。步驟2)將每個樣本與特征庫中的每個網(wǎng)頁進(jìn)行相似性計算,取相似度的最大值 作為樣本與特征庫之間的相似度;
步驟3)記錄每個樣本計算得到的相似度。
步驟4)對于樣本集合計算得到的每個相似度,統(tǒng)計計算AUC值,即按照一定的區(qū) 間遍歷閥值,計算得到對應(yīng)的tpr和fpr值,得到對應(yīng)的ROC曲線,該曲線下的面積即為AUC值。(4)最優(yōu)參數(shù)的確定步驟1)對于文本特征、圖像特征以及全局圖像特征每組參數(shù)通過以上方法得到 對應(yīng)的AUC值;步驟2)選擇AUC最大的那組參數(shù)作為最優(yōu)的內(nèi)部參數(shù),分別得到最優(yōu)的文本特征 權(quán)重、圖像特征權(quán)重以及全局圖像特征權(quán)重。這樣意味著每個樣本要與特征庫中每個特征網(wǎng)頁進(jìn)行相似度計算,這樣樣本庫遍 歷比較一次總共需要做100X200次比較,這無疑將是個很大的開銷。為了提高匹配的速 度,同時又不降低精度,在實驗過程中利用一些特征進(jìn)行快速過濾,比如網(wǎng)頁標(biāo)題相似性、 網(wǎng)頁文件大小、網(wǎng)頁中圖片個數(shù)、網(wǎng)頁Overall圖像的面積等,記為Sim_Title(P1, P2)網(wǎng)頁 P1 與 P2 的標(biāo)題相似性;Sim_Size(P1, P2)網(wǎng)頁P1與P2的文件大小相似性;Sim_Images(P1, P2)網(wǎng)頁P1與P2圖片個數(shù)相似性;Sim_OveralIArea(P1, P2)網(wǎng)頁P1與P2整體網(wǎng)頁圖片面積的相似性;(5)對于樣本P,遍歷特征庫中的每一個特征網(wǎng)頁PL,獲得候選的特征樣本集合 SelectedLib 如下步驟DSelectedLib = NULL ;步驟2)對于特征庫中的每一個可能相近的網(wǎng)頁,如果(Sim_Title(P,PL) > Threshold)轉(zhuǎn)步驟 6 ;步驟3)對于特征庫中的每一個可能相近的網(wǎng)頁,如果Sim_Size(P,PL) > Threshold)轉(zhuǎn)步驟 6 ;步驟4)對于特征庫中的每一個可能相近的網(wǎng)頁,如果(Sim_ImageS(P,PL) > Threshold)轉(zhuǎn)步驟 6 ;步驟5)對于特征庫中的每一個可能相近的網(wǎng)頁,如果(Sim_OverallArea(P,PL) > Threshold)轉(zhuǎn)步驟 6 ;步驟6) SelectedLib+ = PL ;步驟7)輸出 SelectedLib ;步驟8)終止。其中,Threshold為設(shè)定的閥值,在實驗中根據(jù)過濾效果我們設(shè)定其為0. 8。通過 快速過濾,對于一個樣本基本上可以控制特征樣本集合SelectedLib的大小在10個以下, 從而大大提高了整體實驗的速度。4.文本特征、圖像特征及全局圖像特征相對權(quán)重的確定(1)構(gòu)造數(shù)據(jù)集步驟1)利用確定的文本特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的文 本特征簽名相似性;步驟2)利用確定的圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的圖像特征簽名相似性;步驟3)利用確定的全局圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的全局圖像特征簽名相似性;步驟4)將以上計算得到的相似性值按照對應(yīng)的樣本放在一行,在行的最后根 據(jù)是否為釣魚網(wǎng)頁來填寫對應(yīng)的值。對于釣魚網(wǎng)頁,填寫“true”;對于正常網(wǎng)頁,填寫 “false”;步驟5)通過以上過程分別構(gòu)造包含200個樣本的訓(xùn)練集,和包含80個樣本的測試集。(2)基于logistic (自然對數(shù))的訓(xùn)練及分類過程步驟1)將訓(xùn)練數(shù)據(jù)集輸入到logistic分類器;步驟2)將訓(xùn)練好的分類器保存下來;步驟3)利用訓(xùn)練好的分類器對測試集進(jìn)行預(yù)測,并將預(yù)測結(jié)果記錄;步驟4)根據(jù)預(yù)測結(jié)果與真實結(jié)果的對比,統(tǒng)計對應(yīng)的精度和召回率。
權(quán)利要求
一種基于匈牙利匹配算法的釣魚網(wǎng)頁檢測方法,其特征在于在釣魚網(wǎng)頁檢測過程中通過爬蟲預(yù)取一定數(shù)量的網(wǎng)頁,在此基礎(chǔ)上提取網(wǎng)站拓?fù)涮卣?,以此作為釣魚網(wǎng)頁檢測的依據(jù),分類器采用增量學(xué)習(xí)方法,保證分類器的及時更新,具體實現(xiàn)步驟為一、采用基于匈牙利算法的文本特征簽名及圖像簽名的相似度計算方法來分別計算網(wǎng)頁簽名之間的相似性,1)文本節(jié)點相似性計算實現(xiàn)對網(wǎng)頁中的每個文本節(jié)點特征的對比功能,每個節(jié)點的特征是一個6維向量●文字內(nèi)容 計算曼哈頓距離,●前景色計算曼哈頓距離,●背景色計算曼哈頓距離,●字體大小 計算曼哈頓距離,●字體名字 相同為0,否則為1,●該文本節(jié)點在網(wǎng)頁中的位置計算歐氏距離;2)圖像節(jié)點相似性計算實現(xiàn)對網(wǎng)頁中的每個圖片節(jié)點特征的對比功能,每個節(jié)點的特征是一個5維向量●圖片的來源屬性值 計算曼哈頓距離,●圖片的面積 計算歐氏距離,●顏色直方圖 計算歐氏距離,●二維哈爾小波變換 計算歐氏距離,●該圖片節(jié)點在網(wǎng)頁中的位置 計算歐氏距離;3)全局圖像特征相似性計算實現(xiàn)對網(wǎng)頁的全局圖片特征的對比功能,特征向量是一個2維向量●顏色直方圖 計算歐氏距離,●二維哈爾小波變換 計算歐氏距離;4)網(wǎng)頁簽名相似性的計算步驟1)利用節(jié)點間相似性計算方法計算兩兩節(jié)點之間的相似性;步驟2)構(gòu)造二分圖G=(X,Y,E),其中X與Y分別表示兩個網(wǎng)頁簽名,E表示X中所有節(jié)點與Y中所有節(jié)點之間的邊;步驟3)如果X與Y的簽名長度相同,則轉(zhuǎn)步驟5;步驟4)生成二分圖G的擴展二分完全圖G;步驟5)使用匈牙利匹配算法獲得G的最佳匹配M;步驟6)根據(jù)M中的邊的權(quán)重相加取平均即為X與Y的相似度;二、采用曲線下面積AUC方法來確定文本特征權(quán)重及圖像特征內(nèi)部權(quán)重1)計算每組參數(shù)“曲線下面積”的過程步驟21)構(gòu)造特征庫及樣本庫將釣魚的網(wǎng)頁作為比較對象特征庫,與之對應(yīng)的釣魚網(wǎng)頁正例與其它一般網(wǎng)頁反例構(gòu)成樣本庫;步驟22)將每個樣本與特征庫中的每個網(wǎng)頁進(jìn)行相似性計算,取相似度的最大值作為樣本與特征庫之間的相似度;步驟23)記錄每個樣本計算得到的相似度;步驟24)對于樣本集合計算得到的每個相似度,統(tǒng)計計算曲線下面積AUC值,即按照區(qū)間
遍歷閥值,計算得到對應(yīng)的“真正例率”和“假正例率”值,得到對應(yīng)的“真正例率-假反例率曲線”,該曲線下的面積即為“曲線下面積”值;2)最優(yōu)參數(shù)的確定步驟221)對于文本特征、圖像特征以及全局圖像特征每組參數(shù)通過以上方法得到對應(yīng)的“曲線下面積”值;步驟222)選擇“曲線下面積”最大的那組參數(shù)作為最優(yōu)的內(nèi)部參數(shù),分別得到最優(yōu)的文本特征權(quán)重、圖像特征權(quán)重以及全局圖像特征權(quán)重;三、采用自然對數(shù)回歸分析法來確定文本特征權(quán)重、圖像特征權(quán)重及整體圖像特征權(quán)重1)構(gòu)造數(shù)據(jù)集步驟31)利用確定的文本特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的文本特征簽名相似性;步驟32)利用確定的圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的圖像特征簽名相似性;步驟33)利用確定的全局圖像特征內(nèi)部權(quán)重計算樣本集中每個樣本與特征庫之間的全局圖像特征簽名相似性;步驟34)將以上計算得到的相似性值按照對應(yīng)的樣本放在一行,在行的最后根據(jù)是否為釣魚網(wǎng)頁來填寫對應(yīng)的值。對于釣魚網(wǎng)頁,填寫“真”;對于正常網(wǎng)頁,填寫“假”;步驟35)通過以上過程分別構(gòu)造訓(xùn)練集和測試集;2)基于自然對數(shù)回歸的訓(xùn)練及分類過程步驟321)將訓(xùn)練數(shù)據(jù)集輸入到自然對數(shù)回歸分類器中;步驟322)將訓(xùn)練好的分類器保存下來;步驟323)利用訓(xùn)練好的分類器對測試集進(jìn)行預(yù)測,并將預(yù)測結(jié)果記錄;步驟324)根據(jù)預(yù)測結(jié)果與真實結(jié)果的對比,統(tǒng)計對應(yīng)的精度和召回率;四、利用以上步驟確定好的內(nèi)部權(quán)重、外部權(quán)重以及自然對數(shù)回歸方程來檢測釣魚網(wǎng)頁步驟41)將待保護(hù)的網(wǎng)頁通過步驟一來提取每個網(wǎng)頁的特征簽名,這些特征簽名組合在一起構(gòu)成特征庫;步驟42)對于待檢測的網(wǎng)頁,提取其特征簽名;步驟43)對于特征庫中的每個特征簽名,利用網(wǎng)頁簽名相似性的計算,計算其與待檢測網(wǎng)頁的特征簽名之間的相似性;步驟44)取步驟43)中相似性的最大值作為待檢測網(wǎng)頁與特征庫的相似性;步驟45)如果待檢測網(wǎng)頁與特征庫的相似性大于設(shè)定的閥值0.9,則認(rèn)為待檢測網(wǎng)頁為釣魚網(wǎng)頁;否則為非釣魚網(wǎng)頁。
全文摘要
基于匈牙利匹配的釣魚網(wǎng)頁檢測方法首先提取渲染后網(wǎng)頁的文本特征簽名、圖像特征簽名以及網(wǎng)頁整體特征簽名,比較全面地刻畫了網(wǎng)頁訪問后的特征;然后通過匈牙利算法計算二分圖的最佳匹配來尋找不同網(wǎng)頁簽名之間匹配的特征對,在此基礎(chǔ)上能夠更加客觀地度量網(wǎng)頁之間的相似性,從而提高釣魚網(wǎng)頁的檢測效果。在方法中還利用曲線下面積值來確定文本特征、圖像特征以及全局圖像特征的內(nèi)部權(quán)重;利用對數(shù)回歸分析法確定了網(wǎng)頁相似性計算中的文本相似性、圖像相似性和全局圖像相似性之間的相對權(quán)重。本發(fā)明提出的基于匈牙利匹配的釣魚網(wǎng)頁檢測方法,在精度、召回率上都有了很大提高。
文檔編號G06F17/30GK101826105SQ201010139929
公開日2010年9月8日 申請日期2010年4月2日 優(yōu)先權(quán)日2010年4月2日
發(fā)明者周國強, 張衛(wèi)豐, 張迎周, 彭寅, 曾兵, 李濤賢, 田先桃, 許碧娣, 貢亮, 陸柳敏, 陸柳青 申請人:南京郵電大學(xué)