專利名稱:一種釣魚網站的識別方法
技術領域:
本發明涉及網絡安全領域,尤其涉及一種釣魚網站的識別方法。
背景技術:
知名網站都有被釣魚網站攻擊所傷害的危險,這造成了被攻擊網站的信譽蒙受了很大的損害。在過去的一年中,光是被用戶舉報的釣魚網站數量就達到了 196097個,而且這個數字還有逐年遞增的趨勢,可見釣魚網站的危害對我們的影響正日益變大。APWG (Anti-Phishing Working Group)的報告中提到過一項有趣的數據,即釣魚網站的平均壽命為3. 8天,如此頻繁的替換速率是為了規避傳統的黑名單式的釣魚網站防范技術。具體釣魚網站給人帶來多大的損失我們并不得而知,因為相關受損的網站并不愿意公布他們的損失,根據一些研究機構的估計釣魚網站每年給人帶來的損失大概是10億到28億美元之間。釣魚網站的方法并不復雜,通常通過郵件來引誘用戶點擊進入欺詐網站,在國內, 主要是針對淘寶、騰訊、工行網站進行釣魚活動。釣魚頁面與原網站很相似,這種相似有兩部分的結構地址欄域名結構相似和頁面相似。如目前不少釣魚網站主要是通過郵件中 url隱藏(顯示是www. paypal. com,實際上是一連串假的網址),在假的網址中,實際內容與www. paypal. com幾乎相同,只是在輸入帳戶和密碼后的提交form中,提交到本地的域名指向的網頁中,而不是www. paypal. com中。而地址欄url相似也叫url高仿,如http:// www. taobao. com. maliciousurldsdsfdsdssd003232232. cn/index, html,以讓用戶感覺是在www. taobao. com的網站上。為了防范這種攻擊,很多軟件公司都發布了識別釣魚網站的工具。比如Google提供了一個免費的工具欄,在搜索的時候它可以幫助用戶識別欺詐性的網站。火狐瀏覽器通過與phishtank等惡意網址數據庫的合作可以阻止用戶訪問偽造站點。總之,不管是杜絕釣魚網站的建立還是防止用戶受到欺騙,在現在都已經是一項非常重要的研究項目。
發明內容
有鑒于現有技術的上述缺陷,本發明所要解決的技術問題是提供一種快速高效, 能夠應用于多種場合的實時檢測釣魚網站的方法,提高網絡安全,維護用戶利益。為實現上述目的,本發明提供了一種釣魚網站的識別方法,包括如下步驟步驟I,將輸入的URL與對比數據庫中已有的URL進行比較,所述對比數據庫中的每條URL帶有黑名單或者白名單的標記,若所述輸入的URL在所述數據庫中的標記為黑名單,則判定該URL為釣魚網站的URL,進行檢測報告,并進入步驟4,若所述輸入的URL在所述數據庫中的標記為白名單,則進入步驟2 ;
步驟2,對所述URL進行特征提取并形成特征向量,要提取的特征包括URL中的異常點數、URL中的Unicode、URL中的異常字符、URL中的異常數字的個數和分區數、字符編碼混編、URL中的關鍵字、域名申請時長和域名過期時間。
步驟3,用專用于測試的特征向量數組中的每一個特征向量對上述URL提取出的特征向量進行測試,若測試結果為是釣魚網站的URL,則進行檢測結果報告;步驟4,進行深度檢測,包括對所述URL的whois信息作一個分析,并將得到的完整結果反饋至步驟I中所述對比數據庫。進一步地,所述專用于測試的特征向量數組中的每一個特征向量對應地有一個在該特征向量的測試中用于比較和判定的預定閥值。進一步地,所述步驟3中用專用于測試的特征向量數組中的每一個特征向量對上述URL提取出的特征向量進行測試的方法具體為用專用于測試的特征向量數組中的每一個特征向量與所述URL提取出的特征向量做內積,并將所述內積的結果與參與該內積運算的所述特征向量數組E的特征向量所對應的乘定閥值作比較,若所述內積結果大于該預定閥值,則判定測試結果為 是釣魚網站的URL,若所述內積結果小于該預定閥值,則判定測試結果為不是釣魚網站的URL,最后,取所述專用于測試的特征向量數組中的所有特征向量對所述提取出的特征向量的測試結果中占多數的結果作為最后的判定結果。進一步地,所述專用于測試的特征向量數組中的特征向量與所述對應的預定閥值的初始值隨機產生,其中,所述特征向量與從URL中提取的特征組成的特征向量的結構相同。進一步地,所述專用于測試的特征向量數組中的數組成員的特征向量和其對應的預定閥值是由初始的隨機值經過一定次數的組合刷新步驟,訓練步驟和篩選步驟而形成的。進一步地,所述組合刷新步驟為在所述特征向量數組中隨機選取若干組特征向量,每組為兩個特征向量,分別對每組特征向量及其對應的預定閥值的數值取均值,然后在一定的范圍內隨機地變化該特征向量及預定閥值的數值,形成新的特征向量及與其對應的預定閥值,并將該新的特征向量追加到所述特征向量數組中。進一步地,所述訓練步驟為使用所述組合刷新步驟形成的特征向量數組中的每一個特征向量,分別對預先準備的用于訓練的URL提取特征向量數組中的每一個特征向量進行測試,并將測試結果與實際結果進行比較,測試結果正確的計數減去測試結果錯誤的計數的差值記為該特征向量的得分,并統計該特征向量數組中所有特征向量的得分之和。進一步地,所述篩選步驟為對所述特征向量數組中的所有特征向量的得分進行降序排序,刪除所述排序中排位靠后的特征向量,使得特征向量數組中數組成員的個數與未經過組合刷新步驟、訓練步驟和篩選步驟時的成員個數相同。進一步地,所述專用于測試的特征向量數組中的數組成員特征向量是由初始的隨機值開始,直到每次經過所述組合刷新步驟、訓練步驟和篩選步驟后所述專用于測試的特征向量數組中的所有特征向量的得分之和趨于相同的數值,則該專用于測試的特征向量數組可以開始用于測試。本發明的有益效果在于該釣魚網站的識別方法基于URL進行識別,具有良好的實時性,能夠應用于多種場合。同時深度檢測彌補了基于URL檢測的正確率不足的問題,并將深度檢測的結果返回到對比數據庫,提高了釣魚網站識別的正確率。同時,通過組合刷新步驟,訓練步驟和篩選步驟,專用于測試的特征向量數組可以不斷進化,也提高了釣魚網站識別的正確率。
以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發明的目的、特征和效果。
圖I是本發明的釣魚識別方法的流程具體實施例方式下面結合附圖來具體說明本發明的實施例。如圖I所示,一種釣魚網站的識別方法,包括對比數據庫檢測步驟、特征向量提取步驟、特征向量測試步驟和深度檢測及反饋步驟。對比數據庫檢測步驟將輸入的URL與對比數據庫中已有的URL逐一進行比較,其中對比數據庫中 的每條URL帶有黑名單或者白名單的標記,若輸入的URL在所述數據庫中的標記為黑名單,則判定該URL為釣魚網站的URL,進行檢測報告后直接進入深度檢測及反饋步驟,若所述輸入的URL在所述數據庫中的標記為白名單,則進入特征向量提取步驟。特征向量提取步驟對輸入的URL進行特征的提取,要提取的特征包括URL中的異常點數、URL中的Unicode、URL中的異常字符、URL中的異常數字的個數和分區數、字符編碼混編、URL中的關鍵字、域名時長和域名過期時間,然后用提取出的特征形成特征向量。例如輸入的 URL 為 http: //www. taobao. com. maliciousurldsdsfdsdssd003232232. cn/index. html,那么經過特征提取,主域名段部分有4個”,因此異常點數項置為4,沒有 Unicode編碼和異常字符,有9個數字,因此將數字位置9,有3個不同的連續字母或數字組成的分區,沒有字符編碼混編,有關鍵字因此設關鍵字值為1,這樣經過特征提取后形成的特征向量為(4,0,0,9,3,0,1)。特征向量測試步驟對提取出的特征向量用預先準備的專用于測試的特征向量數組中的每一個特征向量進行測試,若測試結果為是釣魚網站的URL,則進行檢測結果報告后進入深度檢測及反饋步驟,若測試結果不是釣魚網站的URL,則進入深度檢測及反饋步驟。
深度檢測及反饋步驟對所述URL的whois信息,即用來查詢域名的IP以及所有者等信息的傳輸協議,作一個分析,并將得到的完整結果反饋至對比數據庫,以完善對比數據庫的檢測功能。其中,特征向量測試步驟中所述的預先準備的專用于測試的特征向量數組是由一定個數的特征向量組成的,每個特征向量對應地有一個在該特征向量的測試中用于比較和判定的預定閥值。其中,上述特征向量測試步驟中用預先準備的專用于測試的特征向量數組中的每一個特征向量對從URL提取出的特征向量進行測試的方法具體為取專用于測試的特征向量數組中的一個特征向量,將該特征向量與從URL提取出的特征向量做內積運算,并將此運算的結果與該專用于測試的特征向量數組中的該特征向量所對應的預定閥值作比較,若運算結果大于該預定閥值,則判定該專用于測試的特征向量數組中的該特征向量對從URL 提取的特征向量的測試結果為是釣魚網站的URL,若運算結果小于該預定閥值,則判定該專用于測試的特征向量數組中的該特征向量對從URL提取的特征向量的測試結果為不是釣魚網站的URL。在用該專用于測試的特征向量數組中的每個特征向量對從URL提取的特征向量進行測試結束后,取該專用于測試的特征向量數組中的所有特征向量對從URL提取的特征向量的測試結果中數量占多數的測試結果為最后的判定結果。其中,上述專用于測試的特征向量數組中的特征向量與其對應的預定閥值的初始值隨機產生,其中,所述特征向量與從URL中提取的特征組成的特征向量的結構相同。并且,所述專用于測試的特征向量數組中的數組成員的特征向量和其對應的預定閥值是由初始的隨機值經過一定次數的組合刷新步驟,訓練步驟和篩選步驟而形成的。上述的組合刷新步驟具體為在特征向量數組中隨機選取若干組特征向量,每組為兩個特征向量,分別對每組特征向量及其對應的預定閥值的數值取均值,形成新的特征向量以及其對應的預定閥值,并將該新的特征向量追加到所述特征向量數組中。例如特征向量數組中有1000個特征向量,隨機地在該1000個特征向量中選取5000對特征向量,經過對該5000對特征向量及其對應的閥值取均值得到新的5000個特征向量,那么此時特征向量數組中有6000個特征向量。此處,所形成的新的特征向量和其對應的閥值也可以由在對每組特征向量及其對應的預定閥值的數值取均值的基礎上,在一定的范圍內隨機增加或者減小其均值而得到。 例如,某一參數取得的均值為O. 546,隨機產生
范圍內的隨機數t和p,若P小于O. 5, 則令該參數變異為O. 546 X (Ι+t)。
訓練的URL提取特征向量數據中的每一個進行測試,并將測試結果與該用于訓練的URL提取特征向量數據的實際結果進行比較,然后再用測試正確的計數減去測試錯誤的計數的差值記為該特征向量的得分,并統計特征向量數組中所有特征向量的得分之和。例如,某一特征向量,測試正確次數為231,測試錯誤的次數為82,因此, 得分為149。上述的篩選步驟具體為對上述特征向量數組中的所有特征向量的得分進行降序排序,刪除所述排序中排位靠后的特征向量,使得特征向量數組中數組成員的個數與未經過組合刷新步驟、訓練步驟和篩選步驟時的成員個數相同。例如上述特征向量數組中有 6000個特征向量,對這6000個特征向量的得分進行降序排列后,篩選出排序中的前1000個特征向量。至此,專用于測試的特征向量數組完成了一次組合刷新步驟、訓練步驟和篩選步驟。此專用于測試的特征向量數組中的數組成員特征向量是由初始的隨機值開始,經過多次組合刷新步驟、訓練步驟和篩選步驟,直到每次經過組合刷新步驟、訓練步驟和篩選步驟后該專用于測試的特征向量數組中的所有特征向量的得分之和趨于相同的數值,則該專用于測試的特征向量數組可以開始用于測試。以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術人員無需創造性勞動就可以根據本發明的構思做出諸多修改和變化。因此,凡本技術領域的技術人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的技術方案,皆應在由權利要求書所確定的保護范圍內。
權利要求
1.一種釣魚網站的識別方法,其特征在于,包括如下步驟 步驟1,將輸入的URL與對比數據庫中已有的URL進行比較,所述對比數據庫中的每條URL帶有黑名單或者白名單的標記,若所述輸入的URL在所述數據庫中的標記為黑名單,則判定該URL為釣魚網站的URL,進行檢測報告,并進入步驟4,若所述輸入的URL在所述數據庫中的標記為白名單,則進入步驟2 ; 步驟2,對所述URL進行特征提取并形成特征向量,要提取的特征包括URL中的異常點數、URL中的Unicode、URL中的異常字符、URL中的異常數字的個數和分區數、字符編碼混編、URL中的關鍵字、域名申請的時長和域名過期時間; 步驟3,用專用于測試的特征向量數組中的每一個特征向量對上述URL提取出的特征向量進行測試,若測試結果為是釣魚網站的URL,則進行檢測結果報告; 步驟4,進行深度檢測,包括對所述URL的whois信息作一個分析,并將得到的完整結果反饋至步驟2中所述對比數據庫。
2.如權利要求I所述的釣魚網站的識別方法,其中,所述專用于測試的特征向量數組中的每一個特征向量對應地有一個在該特征向量的測試中用于比較和判定的預定閥值。
3.如權利要求2所述的釣魚網站的識別方法,其中,所述步驟3中用專用于測試的特征向量數組中的每一個特征向量對上述URL提取出的特征向量進行測試的方法具體為用專用于測試的特征向量數組中的每一個特征向量與所述URL提取出的特征向量做內積,并將所述內積的結果與參與該內積運算的所述特征向量數組中的特征向量所對應的預定閥值作比較,若所述內積結果大于該預定閥值,則判定測試結果為是釣魚網站的URL,若所述內積結果小于該預定閥值,則判定測試結果為不是釣魚網站的URL,最后,取所述專用于測試的特征向量數組中的所有特征向量對所述URL提取出的特征向量的測試結果中占多數的結果作為最后的判定結果。
4.如權利要求3所述的釣魚網站的識別方法,其中所述專用于測試的特征向量數組中的特征向量與所述對應的預定閥值的初始值隨機產生,其中,所述特征向量與從U RL中提取的特征組成的特征向量的結構相同。
5.如權利要求4所述的釣魚網站的識別方法,其中所述專用于測試的特征向量數組中的數組成員的特征向量和其對應的預定閥值是由初始的隨機值經過一定次數的組合刷新步驟,訓練步驟和篩選步驟而形成的。
6.如權利要求5所述的釣魚網站的識別方法,其中,所述組合刷新步驟為在所述特征向量數組中隨機選取若干組特征向量,每組為兩個特征向量,分別對每組特征向量及其對應的預定閥值的數值取均值,然后在一定的范圍內隨機地變化特征向量及預定閥值的數值,形成新的特征向量及與其對應的新的預定閥值,并將該新的特征向量追加到所述特征向量數組中。
7.如權利要求6所述的釣魚網站的識別方法,其中,所述訓練步驟為使用所述組合刷新步驟形成的特征向量數組中的每一個特征向量,分別對預先準備的用于訓練的URL提取特征向量數組中的每一個特征向量進行測試,并將測試結果與實際結果進行比較,測試結果正確的計數減去測試結果錯誤的計數的差值記為該特征向量的得分,并統計該特征向量數組中所有特征向量的得分之和。
8.如權利要求7所述的釣魚網站的識別方法,其中,所述篩選步驟為對所述特征向量數組中的所有特征向量的得分進行降序排序,刪除所述排序中排位靠后的特征向量,使得特征向量數組中數組成員的個數與未經過組合刷新步驟、訓練步驟和篩選步驟時的成員個數相同。
9.如權利要求8所述的釣魚網站的識別方法,其中,所述專用于測試的特征向量數組中的數組成員特征向量是由初始的隨機值開始,直到每次經過所述組合刷新步驟、訓練步驟和篩選步驟后所述專用于測試的特征向量數組中的所有特征向量的得分之和趨于相同的數值,則該專用于測試的特征向量數組可以開始用于測試。
全文摘要
本發明公開了一種釣魚網站的識別方法,該釣魚網站的識別方法包括對比數據庫檢測步驟、特征向量提取步驟、特征向量測試識別步驟和深度檢測及反饋步驟,其中,特征向量測試識別步驟中使用的專用于測試的特征向量數組是由初始狀態通過組合刷新步驟,訓練步驟和篩選步驟后得到的。本發明的釣魚網站識別方法基于URL進行識別,具有良好的實時性,能夠應用于多種場合。同時深度檢測彌補了基于URL檢測的正確率不足的問題,并將深度檢測的結果返回到對比數據庫,提高了釣魚網站識別的正確率。同時,通過組合刷新步驟,訓練步驟和篩選步驟,專用于測試的特征向量數組可以不斷進化,也提高了釣魚網站識別的正確率。
文檔編號H04L29/06GK102708186SQ201210147470
公開日2012年10月3日 申請日期2012年5月11日 優先權日2012年5月11日
發明者張文迪, 易平, 賴駿堯, 鄒福泰 申請人:上海交通大學