專利名稱:一種釣魚網站的檢測方法及裝置的制作方法
技術領域:
本發(fā)明涉及互聯網技術領域,尤其涉及一種釣魚網站的檢測方法及裝置。
背景技術:
隨著互聯網的普及,越來越多的用戶開始通過互聯網進4亍交流和商務交 易,電子商務、電子銀行、網絡游戲等互聯網業(yè)務也隨之發(fā)展起來。用戶訪 問網站時,需要輸入賬號和密碼等信息,當輸入的賬號和密碼等信息正確時, 用戶可以進入網站進行網上操作。用戶的賬號和密碼是用戶ii7v這些網站進 行操作的唯一標識,如果有人盜用用戶的賬號和密碼,冒充用戶進入網站, 則可能對用戶的利益造成侵害。如圖l所示,在互聯網使用中,有些不法分 子通過釣魚網站方式,顯示給用戶類似真實網站的頁面,誘騙用戶輸入賬號 和密碼,對用戶的賬號和密碼進行盜用。釣魚網站一4殳只有一個或幾個頁面, 結構較為簡單,釣魚網站模仿真實網站的方式也多種多樣,最常見包括以下 幾種
1、 假冒真實網站的域名
非法盜用者通過注冊一個與真實網站域名相似的網站,模仿真實網站 URL (Uniform Resource Locator ,統(tǒng)一資源定位符),改變URL的大小寫或<吏 用特殊字符使得用戶誤認為是真實網站。如利用"paypal.com"假冒 "paypal.com ", 利用 "barclays.com ,, 4叚冒 "barclays.com ",矛J用 "www.lcbc.com.cn"假冒"www.icbc.com.cn"等。也可以是通過將真實域名 的一部分插入到假冒域名中,構成假冒域名。例如,利用"ebay-members-security.com" <叚冒"ebay.com",利用 "users-paypal.com" 4艮冒"paypal.com"。
2、 以IPi也址顯示
非法盜用者通過將釣魚網站的URL以IP地址的形式顯示,如 http:〃210.93.131.250,由于許多真實網站的URL的IP地址也包含一些不透明且不易理解的數字,以IP地址顯示的釣魚網站的URL不易#1發(fā)現。
由于互聯網中存在上述多種釣魚網站的攻擊方式,會對用戶的利益造成 損害,因此,為了保護用戶的利益,需要對眾多網站中的釣魚網站進行^r觀'J。 現有的釣魚網站^r測方法主要包括以下幾種
a、 基于網站的IP進行檢測,當釣魚網站的URL使用IP地址代替主機名, 時,這些主機通常沒有申請域名,因此,可以利用DNS( Domain Name System, 域名系統(tǒng))對網站的IP地址進行反向域名解析得到網站的域名,如果該網站 解析后沒有域名,則該網站可能為釣魚網站。
b、 基于網站的域名進行;險測,通過建立一個真實網站的地址列表,該列 表中包括所有真實網站的域名地址(該列表也稱為白名單),通過將網站的 域名與真實網站的地址列表中的域名地址進行比較,判別該網站是否為釣魚 網站。
c、 基于網站的端口進行檢測,80端口是為HTTP ( HyperText Transport Protocol,超文本傳輸協(xié)議)開放,主要用于WWW (World Wide Web,萬維 網)服務上傳輸信息的協(xié)議;ISP (Internet Service Provider,互聯網服務提供 商)為了防止私自架設網站,如架:&釣魚網站,關閉了個人用戶的URL端口, 而非法盜用者則通過非80端口架設釣魚網站,因此,通過4企測網站的端口號, 也可以判別該網站是否為釣魚網站,即如果網站的端口號為非80端口,則可 能是釣魚網站。
d、 基于網站的頁面信息的和視覺相似度進行檢測,基于網站的頁面信息 分析是通過獲取網頁的HTML (HyperText Mark-up Language,超文本鏈4妄標 識語言)中的網站名、所屬機構名等身份信息來進行檢測。通常在真實網站 中,包括網站名、所屬機構名等身份信息的HTML包括〈TITLE〉標記、<META NAMEyKEYWORDS7"DESCRIPTION7"COPYRIGHT"〉標記的CONTENT 屬性、〈IMG/INPUT/AREA/OBJEO標記的ALT屬性,釣魚網站為吸引用戶 訪問,釣魚網站會保留真實網站中的身份信息不變,引用真實網站的頁面信 息或將真實網站加以修改成為釣魚網站,因此,釣魚網站與真實網站的頁面 信息具有很大的相似度,通過判別網站的頁面信息檢測該網站是否為釣魚網站。對于與真實網站相似度較差的網站,用戶認為這些網站不是自己需要的 網站,對這些網站不進行操作。視覺相似度主要采用多指紋比較算法,即通 過計算出被測網站與真實網站的指紋組,比4交這兩個網站的指紋組,如果指 紋組的重疊度越高,則認為二者越相似,與真實網站頁面信息相似度越高的 網站越有可能為釣魚網站。
雖然有上述釣魚網站的檢測方式,但在實現本發(fā)明的過程中,發(fā)明人發(fā)
現現有技術至少存在以下問題基于網站的IP、基于網站的域名和基于網站 的端口進行檢測等方法,由于不能檢測網站的頁面信息,在實踐中可能會出 現誤報的現象。而現有的基于網站頁面信息的檢測方法也只是針對一些具體 問題進行檢測,不具備通用性,無法實時處理各種新出現的釣魚網站。
發(fā)明內容
本發(fā)明提供了一種釣魚網站的檢測方法及裝置,通過利用特征數據庫與模 型數據庫與需要查詢的網站進行匹配;^r測,判斷該網站是否為釣魚網站。
本發(fā)明提供了一種釣魚網站的檢測方法,包括以下步驟
a. 根據接收的統(tǒng)一資源定位符URL請求,獲取網站的最終頁面信息;
b. 將所述最終頁面信息解析成文檔對象才莫型DOM樹結構,并在所述DOM 樹中根據所述最終頁面信息的標簽建立索引;
c. 根據所述建立的索引,提取所述DOM樹中所述最終頁面信息的特征, 遍歷預先設置的特征數據庫,將所述最終頁面信息的特征與所述特征數據庫 中的參照特征進行匹配,輸出命中的所述參照特征;
d. 遍歷預先設置的模型數據庫,根據所述命中的參照特征在所述模型數據 庫查找命中的參照模型,確定所述網站是否為釣魚網站。
優(yōu)選的,頁面信息包括信息頭及信息體, 所述步驟a進一步包括
根據所述網站的所述頁面信息的信息頭及信息體,分析所述頁面信息具 有跳轉關系;
確定目的網站的URL,獲取所述目的網站的頁面信息,根據所述目的網站的頁面信息獲取所述最終頁面信息,所述目的網站為#4居所述網站頁面信 息所具有的跳轉關系跳轉后的網站。
優(yōu)選的,所述分析頁面信息具有跳轉關系,包括分析所述網站具有通過
meta標簽或30X消息的跳轉。 所述步驟a進一步包括
根據所述網站的頁面信息的信息頭及信息體,分析所述頁面信息中具有 包含關系;
確定所述包含關系中每一個子頁面的URL,獲取所述子頁面的頁面信息, 根據所述子頁面的頁面信息獲取所述最終頁面信息。
優(yōu)選的,所述頁面信息通過超文本鏈接標示語言HTML文檔描述,所述 HTML文檔包括組成所述網站的標簽,
所述分析頁面信息具有包含關系,包括分析具有通過iframe或frameset 標簽包含的子頁面。
優(yōu)選的,所述頁面信息通過HTML文檔進行描述,所述HTML文檔包括 組成所述網站的標簽,所述HTML文檔包括多種類型的頁面信息,
所述步驟b進一步包括
將包括所述頁面信息的HTML文檔解析成DOM樹,所述DOM樹包括 多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔中的 一種類型的頁面信息; 根據所述HTML文檔中每一種類型的頁面信息的標簽建立索引。 優(yōu)選的,在所述步驟c之前,還包括 建立所述特征數據庫,此步驟具體包括 提取已知釣魚網站的特征;
根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和占的比 重,確定所述已知釣魚網站的特征對應的權值;
將所述已知釣魚網站的特征以及所述對應的權值存儲到所述特征數據 庫,建立所述特征數據庫,所述存儲到所述特征數據庫中的特征為所述參照 特征,所述對應的權值為所述參照特征的權值。
優(yōu)選的,在所述步驟d之前,還包括將所述參照特征按照釣魚網站類型進行分類;
將每一類所述參照特征組成一個所述參照;^莫型; 根據所述參照模型建立所述釣魚網站的模型數據庫。
本發(fā)明還提供一種釣魚網站的檢測裝置,包括
頁面獲取模塊,用于根據接收的URL請求,獲取網站的最終頁面信息; 頁面信息處理模塊,與所述頁面獲取模塊連接,用于將所述最終頁面信 息解析成DOM樹結構,并在所述DOM樹中根據所述最終頁面信息的標簽建
立索引;
特征匹配模塊,與所述頁面信息處理模塊連接,用于根據所述建立的索
引,提取所述DOM樹中所述最終頁面信息的特征,遍歷預先設置的特征數據 庫,將所述最終頁面信息的特征與所述特征數據庫中的參照特征進行匹配, 輸出命中的所述參照特征;
模型匹配模塊,與所述特征匹配模塊連接,用于遍歷預先設置的模型數 據庫,根據所述命中的參照特征在所述模型數據庫查找命中的參照模型,確 定所述網站是否為釣魚網站。
優(yōu)選的,所述頁面信息包括信息頭及信息體,所述頁面獲^Mi塊還用于根
據所述網站的所述頁面信息的信息頭及信息體,分析所述頁面信息具有跳轉
關系,確定目的網站的URL,獲取所述目的網站的頁面信息,根據所述目的 網站的頁面信息獲取所述最終頁面信息,所述目的網站為根據所述網站頁面 信息所具有的跳轉關系跳轉后的網站。
優(yōu)選的,所述頁面獲^Mt塊還用于根據所述網站的頁面信息的信息頭及信
息體,分析所述頁面信息具有包含關系,確定所述包含關系中每一個子頁面
的URL,獲取所述子頁面的頁面信息,根據所述子頁面的頁面信息獲取所述 最終頁面信息。
優(yōu)選的,所述頁面信息通過HTML文檔進行描述,所述HTML文檔包括 組成所述網站的標簽,所述HTML文檔包括多種類型的頁面信息, 所述頁面信息處理模塊包括解析子模塊,用于將包括所述頁面信息的HTML文檔解析成DOM樹, 所述DOM樹包括多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔中的 一種 類型的頁面信息;
建立索引子模塊,與所述解析子模塊連接,用于根據所述HTML文檔中 每一種類型的頁面信息的標簽建立索引。 優(yōu)選的,還包括
特征數據庫建立模塊,與所述特征匹配才莫塊連接,用于建立所述釣魚網 站特征數據庫,所述特征數據庫建立模塊具體用于提取已知釣魚網站的特征, 根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和占的比重,確 定所述已知釣魚網站的特征對應的權值,將所述已知釣魚網站的特征以及所 述對應的權值存儲到所述特征數據庫,建立所述特征數據庫,所述存儲到所 述特征數據庫中的特征為所述參照特征,所述對應的權值為所述參照特征的 權值。
優(yōu)選的,還包括模型數據庫建立模塊,與所述模型匹配模塊和所述特征 建立模塊連接,用于將所述參照特征按照釣魚網站類型進行分類,將每一類 所述參照特征組成一個所述參照^t型,根據所述參照^t型建立所述釣魚網站 的模型數據庫。
與現有技術相比,本發(fā)明具有以下優(yōu)點本發(fā)明對網站的頁面信息進行 綜合評價,通過評價的結果判斷該網站是否為釣魚網站,避免由于現有檢測 方法中忽略對網站頁面信息的判斷而導致的誤報現象,提高釣魚網站的判斷 準確率。此外由于特征和模型的描述在配置文件中,使得系統(tǒng)具有較好的可 擴展性,可以對新出現的釣魚站點進行快速響應。
圖1為現有技術中釣魚網站仿冒真實網站示意圖2為本發(fā)明提供的釣魚網站檢測方法:^f呈圖3為實踐中本發(fā)明提供的釣魚網站檢測方法^4i圖;圖4為本發(fā)明的檢測裝置獲取頁面信息的流程圖5為本發(fā)明涉及的網站A跳轉與包含關系分析示意圖6為本發(fā)明涉及的DOM樹的結構示意圖7為本發(fā)明方法具體實施流程圖8為本發(fā)明涉及的頁面B視圖的示意圖9為本發(fā)明提供的一種釣魚網站4企測裝置的結構示意圖。
具體實施例方式
本發(fā)明提供的技術方案中,其核心思想為通過對網站的最終頁面信息進 行分析,而后提取網站的最終頁面信息并將之與預先建立的特征數據庫和模 型數據庫中的特征數據以及參照模型進行匹配,根據匹配的特征數據和參照 模型,判斷該網站是否為釣魚網站。
具體地,本發(fā)明提供的釣魚網站檢測方法,如圖2所示,包括以下步驟
步驟201,檢測裝置根據接收的統(tǒng)一資源定位符URL請求,獲取網站的 最終頁面信息,其中所述頁面信息包括信息頭及信息體,
所述獲取網站的最終頁面信息,進一步包括
根據所述網站頁面信息的信息頭及信息體,分析所述頁面信息具有跳轉 關系;
確定目的網站的URL,獲取所述目的網站的頁面信息,根據所述目的網 站的頁面信息獲取所述最終頁面信息,所述目的網站為根據所述網站頁面信 息所具有的跳轉關系跳轉后的網站。其中所述分析頁面信息具有跳轉關系, 包括分析所述網站具有通過meta標簽或30X消息的跳轉。
所述獲取網站的最終頁面信息,進一步包括
根據所述網站的頁面信息的信息頭及信息體,分析所述頁面信息中具有 包含關系;
確定所述包含關系中每一個子頁面的URL,獲取所述子頁面的頁面信息, 根據所述子頁面的頁面信息獲取所述最終頁面信息。其中所述頁面信息通過 超文本鏈接標示語言HTML文檔描述,所述HTML文檔包括組成所述網站的標簽,所述分析頁面信息具有包含關系,包括分析具有通過iframe或frameset 標簽包含的子頁面。
需要說明的是,如果所述網站的頁面信息不具有跳轉關系和包含關系, 則所述網站的頁面信息為最終頁面信息。
如果對獲取網站的頁面信息分析后進一步包括跳轉關系和/或包括關系, 則根據跳轉關系和/或包括關系獲取最終頁面信息,具體地
當網站的分析頁面信息僅具有跳轉關系,則根據跳轉關系獲取最終頁面 信息,或
當網站的分析頁面信息僅具有包含關系,根據包含關系獲取最終頁面信 息;或
當網站的分析頁面信息即包括跳轉關系又包括包含關系,則分析頁面信 息先分析跳轉關系,再分析跳轉后的頁面信息的包含關系,根據跳轉后的頁 面信息的包含關系獲取最終頁面信息;或先分析頁面信息具有包含關系,再 分析包含關系后的跳轉關系,根據包含關系后的跳轉關系獲取最終頁面信息。
對于上述跳轉關系或者包含關系較多的網站頁面,無論是先分析包含關 系,再分析包含關系后的跳轉關系,還是先分析跳轉關系,再分析跳轉后的 包含關系,從而獲取最終頁面信息的技術方案描述起來均較為繁瑣,因此在 本發(fā)明中不對此進行詳細介紹,但這種技術方案仍屬于本發(fā)明保護范圍。
步驟202,為了能夠在后續(xù)匹配過程中快速提取最終頁面信息的特征數
據,需要將描述最終頁面信息的HTML文檔轉換為DOM樹形結構,并對DOM 樹建立查詢索引,通過查詢索引,從DOM樹中獲取需要的特征。
該步驟包括將所述最終頁面信息解析成DOM樹結構,并在所述DOM 樹中根據所述最終頁面信息的標簽建立索引。其中所述頁面信息通過HTML 文檔進行描述,所述HTML文檔包括組成所述網站的標簽,所述HTML文檔 包括多種類型的頁面信息,具體地
所述DOM樹包括多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔中的 一種類型的頁面信息;根據所述HTML文檔中每一種類型的頁面信息的標簽建立索引。
步驟203,才艮據所述建立的索引,提取所述DOM樹中所述頁面信息的特 征數據,遍歷預先設置的特征數據庫,將所述最終頁面信息的特征與所述數 據特征庫中的參照特征進行匹配,輸出命中的所述參照特征;
為了使本步驟在實際應用中能夠使用,在步驟203之前,還包括事先建 立所述特征數據庫。通過建立特征數據庫,遍歷特征數據庫中的參照特征, 與最終頁面信息的特征進行匹配,輸出命中的參照特征。
所述建立所述特征數據庫具體包括
提取已知釣魚網站的特4i;
根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和占的比 重,確定所述已知釣魚網站的特征對應的權值;
將所述已知釣魚網站的特征以及所述對應的權值存儲到所述特征數據 庫,建立所述特征數據庫,所述存儲到所述特征數據庫中的特征為所述參照 特征,所述對應的權值為所述參照特征的權值。
步驟204、根據上述命中的參照特征以及所述參照特征對應的權值,在所 述模型數據庫中遍歷預先設置的模型數據庫,查找命中的參照模型。對于命 中的參照特征對應多個模型數據庫中的參照模型的情況,需要比較參照特征 的權值,選取與所述網站最接近的參照模型,并確定所述網站是否為釣魚網站。
其中,為使本步驟在實際使用中能夠得以使用,在步驟204之前,還應事 先建立參照模型庫,具體包括
將所述參照特征按照釣魚網站類型進行分類;
將每一類所述參照特征組成一個所述參照模型;
根據所述參照模型建立所述釣魚網站的模型數據庫。
本發(fā)明通過對網站的頁面信息進行綜合評價,并根據評價的結果判斷該 網站是否為釣魚網站,避免由于現有4企測方法中忽略對網站頁面信息的判斷 而導致的誤報現象,提高釣魚網站的判斷準確率。
基于本發(fā)明的上述實施方法,在實踐中本方法4企測釣魚網站的工作流程, 具體如圖3所示,包括以下步驟
1步驟300,用戶輸入需要檢測的網站的URL,請求對該網站進行檢測。
步驟301,檢測裝置根據接收的URL請求,獲取網站的頁面信息,
如圖4所示,在本步驟中,進一步包括
步驟3011、檢測裝置接收用戶發(fā)送的網站URL ;險測請求;
步驟3012、根據HTTP協(xié)議的要求,檢測裝置向互聯網WEB發(fā)送GET 請求消息,請求獲取該網站的頁面信息;
步驟3013、 WEB接收到該GET請求消息后,返回響應消息,該響應消 息中包含該網站的頁面信息。
具體地,頁面信息通過HTML (HyperText Markup Language,超文本鏈 接標示語言)文檔來描述,HTML文檔包括由HTML命令組成的描述性文本, 通過HTML命令組成的描述性文本對網站中的文字、圖形、動畫、聲音、表 格、鏈接進行說明。
HTML文檔結構則包括頭部(Head)、主體(Body), HTML文檔的頭部 用于描述瀏覽器所需的信息,對應頁面信息的信息頭,包括該頁面信息的協(xié) 議名、主機名、端口、對象路徑等,主體包括所要說明的具體內容,對應頁 面信息的信息體,如網站頁面查看源文件時的HTML代碼。HTML文檔包括 組成網站的一系列標簽,通過這些標簽組成HTML文本文檔,有些標簽用于 說明網站的頁面如何被格式化,有些標簽用于說明頁面中的文字顯示方式, 還有 一些標簽提供在頁面上不顯示的信息。HTML標簽都是以雙數出現的, 其中一個標簽用于使用,另一個標簽用于關閉該使用。
例如〈Hx〉為標題標簽,用于表示文檔的標題,根據標題的級別,分為第 一級文檔<111>、第二級文檔<112>,每一個標題標簽搭配有一個用于結束使用 該標簽的結束標簽,如</111>、 </h2>。
如第一級文檔的標題為"體育,,,第二級文檔標題為"奧運",則HTML 文檔中第一級文檔的標題描述為 <111>體育</111>
〈h2〉奧運〈/h2〉
HTML文檔包括以下標簽
基本標簽,用于創(chuàng)建HTML文檔,設置文檔標題以及其他不在WEB網頁上顯示的信息,設置文檔的可見部分; 標題標簽,用于設置文檔的題目;
文檔整體屬性標簽,用于對文檔的整體屬性進行-沒置,如設置背景顏色、 文本文字顏色、鏈接顏色、已使用的鏈接的顏色、正在被擊中的鏈接的顏色 等;
文本標簽,用于對網頁中的文本進行編輯,如創(chuàng)建文本、設置標題大小、 字體類型和顏色、創(chuàng)建引用等;
鏈接標簽,用于進行與網頁鏈接相關的操作,如創(chuàng)建超鏈接、電子郵件 自動發(fā)送鏈接、創(chuàng)建位于文檔內部的靶位、創(chuàng)建指向位于文檔內部靶位的鏈
接等;
格式排版標簽,用于對網頁進行排版,如創(chuàng)建新的段落、設置段落的對 齊方式、插入回車換行符、創(chuàng)建定義列表;
圖形元素標簽,用于對網頁設置圖形,如添加圖像、排列對齊圖像、設 圖像邊框等;
表格標簽,用于對網頁設置表格,包括創(chuàng)建表格、開始表格中的每一行、 開始一行中的每一個表格、設置表格頭等;
表格屬性標簽,用于對表格的具體屬性進行設置,包括設置表格邊框、 設置表格空間大小、設置表格寬度、設置表格的對齊方式、設置表格占的列 數和占的行數等;
窗框標簽,用于對窗框進行相應操作,包括設置窗框的位置,定義窗框 行數和列數、定義窗框區(qū)域、定義在不支持窗框的瀏覽器中如何顯示等,
窗框屬性標簽,用于對窗框的具體屬性進行設置,包括設置窗框顯示什 么HTML文檔、命名窗框或區(qū)域以便別的窗框可以指向它、定義窗框邊緣空 白大小、設置窗框是否有滾動欄、設置禁止用戶調整窗框大小等。
步驟302,根據該網站的頁面信息,分析該網站頁面的跳轉關系。跳轉是 指通過某種動作或代碼使一個網站的頁面自動進入到另 一個頁面的過程。根 據該網站的頁面信息,檢測裝置分析該網站頁面信息具有的跳轉關系,判斷 該網站的頁面信息的HTML文檔中是否包含跳轉標簽,如是否有通過meta標簽(一種用來描述HTML文檔屬性的標簽)或30X消息的跳轉。如果包含 跳轉標簽,則根據跳轉標簽進行跳轉,跳轉后轉步驟303;如果不包含跳轉標 簽,則不進行跳轉,轉步驟304。
步驟303,將該網站稱為源網站,該網站跳轉后的網站稱為目的網站,計 算跳轉后目的網站的URL。該檢測裝置根據跳轉標簽和源網站的URL計算出 目的網站的URL,接著轉步驟301,通過步驟301獲取目的網站的頁面信息。
步驟304,分析該網站的包含關系。檢測裝置通過分析該網站頁面信息的 HTML文檔中是否具有鏈接標簽確定該網站的包含關系,如分析通過iframe (文檔中的文檔)或frameset ( frame元素容器)標簽嵌套。如果具有鏈接標 簽,則該網站包含其他子頁面,轉步驟305;如果不具有鏈接標簽,則該網站 不包含其他子頁面,則轉步驟306。
步驟305,將該網站的頁面稱為父頁面,則該父頁面所包含的鏈4妄頁面稱 為子頁面,父頁面與子頁面之間是父子關系,保存該父頁面與子頁面的父子 關系,計算子頁面的URL。轉步驟301。通過步驟301獲取子頁面的頁面信 息。如果該網站具有多個子頁面,則需要分別計算每個子頁面的URL,獲得
所有子頁面的頁面信息。
步驟306,根據該網站頁面的跳轉關系以及跳轉后網站頁面的父子關系, 計算最終頁面信息。
具體地,所述最終頁面信息通過步驟301-305的窮盡遞歸后,計算獲取最 終的跳轉頁面以及該頁面的所有子頁面來實現。其中在跳轉關系中,最終頁 面信息包括目的網站的頁面信息,在跳轉后頁面的父子關系中,最終頁面信 息包括該目的網站頁面的所有子頁面的頁面信息,因此,根據該網站的跳轉 關系以及跳轉后頁面的父子關系,該檢測裝置計算所得的最終頁面信息包括 目的網站的頁面信息、以及該目的網站頁面包含子頁面的頁面信息。
為了更好地理解本步驟,舉例如圖5所示,網站A進行跳轉分析后,具 有跳轉頁面B,跳轉到頁面B,計算該頁面B的URL,繼續(xù)對跳轉頁面B進 行跳轉分析,進行窮盡跳轉遞歸后,確定最終的跳轉頁面為C,跳轉到頁面C 后,計算頁面C的URL,分析該頁面C具有子頁面Cl、 C2、 C3,獲取這些子頁面的頁面信息,根據跳轉關系和包含關系所得的最終頁面信息包括頁面C
的頁面信息和子頁面C1、 C2、 C3的頁面信息。
步驟307,將最終頁面信息解析成DOM樹結構,并建立標簽索引。
為了能夠在后續(xù)匹配過程中快速提取最終頁面信息的特征,避免直接使 用HTML文檔復雜的HTML源文件,需要將描述最終頁面信息的HTML文 檔轉換為DOM樹形結構,并對DOM樹建立查詢索引,通過查詢索引,從DOM 樹中獲取需要的特征。
由于DOM是一種基于API (Application Programming Interface,應用程序 接口)的具體應用,在應用程序中,DOM將HTML文檔轉換成一個對象模 型的集合,通過程序語言(如JavaScript, C十+等)調用該文檔對象,對HTML 文檔中的信息進行存取,并利用程序語言對獲取的信息做進一步的處理,如 圖6所示,這個對象模型的集合就稱為DOM樹。DOM樹包括父節(jié)點和位于 父節(jié)點下游的子節(jié)點,根據HTML文檔中最終頁面信息類型的不同,DOM樹 包括不同類型的節(jié)點與之相對應,即HTML文檔的每一種類型的最終頁面信 息分別對應DOM樹的一種節(jié)點。
節(jié)點類型主要包括
元素元素節(jié)點是HTML文檔的基本組成單元,用于描述HTML文檔 的基本信息。
屬性屬性節(jié)點包含關于元素節(jié)點的信息,用于描述元素的屬性。 文本文本節(jié)點包括元素節(jié)點和屬性節(jié)點的文本信息。 文檔文檔節(jié)點是整個文檔中其他所有節(jié)點的父節(jié)點,應用程序通過該 節(jié)點對HTML文檔進行操作。
注釋注釋節(jié)點用于對相關的其他節(jié)點進行描述和注釋。 在DOM樹中,整個文檔對應一個文檔節(jié)點,每個HTML標簽對應一個 元素節(jié)點,包含在HTML元素中的文本信息對應文本節(jié)點,每一個HTML 屬性對應一個屬性節(jié)點,HTML的注釋屬于注釋節(jié)點。DOM樹起始于文檔節(jié) 點,并由此延伸出DOM樹枝,直到延伸到文本節(jié)點為止,文本節(jié)點為DOM 樹中最低級別的節(jié)點。應用程序通過DOM樹結構來訪問HTML文檔中的最終頁面信息,并通過對DOM操作,動態(tài)創(chuàng)建HTML文檔,遍歷、增加、刪 除或修改文檔內容,實現對HTML文檔的操作。
由于DOM樹結構較為松散,每次提取DOM樹中部分節(jié)點的頁面信息時 都必須遍歷整個DOM樹,浪費時間。因此,需要根據HTML文檔的標簽建 立索引,通過查詢索引,縮小DOM樹查詢范圍,節(jié)省時間。
步驟308,將最終頁面信息的特征與特征數據庫中的參照特征進行匹酉己, 輸出命中的參照特征。
該步驟具體包括查詢DOM樹的索引,根據索引提取DOM樹中相應節(jié) 點包括最終頁面信息的特征;將特征數據庫中的參照特征轉存到檢測裝置的 內存中,將最終頁面信息的特征與轉存到內存中的參照特征進行匹配,輸出 命中的參照特征,并輸出命中的參照特征的權值。
為了使最終頁面信息的特征與參照特征進行匹配,在本步驟之前還包括 建立特征數據庫。具體地,
建立特征數據庫就是通過提取黑名單中所有的釣魚網站的URL,提取這 些釣魚網站頁面信息的特征。其中黑名單為包括現有已經檢測到的釣魚網站 的URL列表,與黑名單相對應的是白名單,白名單是包括現有真實網站的URL 列表;
另外,根據釣魚網站特征出現的頻率和這些特征在網站中的信息量比重, 確定該特征的權值,將這些特征及相應的權值按照排序存儲到特征數據庫中, 建立特征數據庫,這些特征就是進行匹配的參照特征,釣魚網站特征的權值 就是該參照特征的權值,參照特征出現的頻率越高,在釣魚網站中所占的信 息量越大,則該參照特征的權值就越高;為每個參照特征設置一個id標識值, 將參照特征按照id標識值進行排序。
舉例如某網站A,與參照特征(al, a2, a3, a4, a5 )進行——比較后, 網站A匹配的參照特征以及與這些參照特征相匹配的權值為
"al, 6), (a2, 1), (a3, 4), (a4, 8), (a5, 0) }
由此可知,與網站A匹配的參照特征中,權值最大的參照特征為a4,權 值為8,其次是al,特征a5的權值為0,說明沒有與該特征a5相匹配的參照特征。
在步驟308之前可能還包括遍歷預先設置的黑名單/白名單,將黑名單/ 白名單中的網站與該網站進行比較,如果黑名單中具有該網站,則該網站為 釣魚網站,如果黑名單中不具有該網站,則該網站不是現有的釣魚網站,該 網站可能為黑名單中沒有記載的釣魚網站,或為真實網站;如果白名單中具 有該網站,則該網站為真實網站,如果白名單中不具有該網站,則該網站不 是現有的真實網站,該網站可能為白名單中沒有記載的真實網站,或為釣魚 網站。通過遍歷預先設置的黑名單/白名單,如果該網站為黑名單/白名單上已 有的真實網站或釣魚網站,則不需要再進行后續(xù)的參照特征匹配和參照模型 匹配來判斷該網站是否為釣魚網站,簡化了操作步驟。需要說明的是,遍歷 預先設置的黑名單/白名單,將黑名單/白名單中的網站與該網站進行比較的步 驟屬于本發(fā)明方案的可選步驟,不具有該步驟并不影響本發(fā)明的保護范圍。
輸出命中的參照特征之后,還包括將命中的參照特征id標識值輸入到 與模型數據庫對應的哈希表中,供模型匹配時引用,哈希表用于建立特征數 據庫中的參照特征與模型數據庫中的參照模型的對應關系。
步驟309,根據命中的參照特征,選擇與該網站最接近的參照模型,比較 該網站模型與參照模型的特征關系的相似度。該步驟具體包括查詢哈希表 中的id標識值,獲取id標識值對應的參照特征,根據命中的參照特征以及參 照特征對應的權值,選取模型數據庫中與這些參照特征最相關的參照模型, 比較該參照模型與該網站的相似度。
為了本步驟在實際中能夠使用,在該步驟之前還包括建立模型數據庫, 具體包括根據釣魚網站的不同類型,分別設置一種與此類釣魚網站對應的 參照模型,該參照模型包括該類釣魚網站的參照特征。將所有這些包括某一 類釣魚網站參照特征的參照模型存儲到模型數據庫中,建立模型數據庫。參 照模型包括的參照特征可以為單一 的參照特征或一組參照特征,也可以包括 參照特征進行與、或計算形成的參照特征集合。
為使公眾更容易理解本發(fā)明,本處仍以上述實例為例加以說明,如果模 型數據庫中包括參照模型1和參照模型2,其中參照模型1包括的參照特征為(al, a2, a3),參照模型2包括的參照特征為(a2, a3, a4),由于網站A的 特征(a2, a3 )的權值相同,而al的權值小于a4的權值,因此參照模型2與 網站A的模型最為匹配,選用參照模型2與網站A進行比較,比較參照模型 2與網站A中相應特征關系。如果參照模型2包括的參照特征為(a2, a3, a4 或a5),由于該網站的特征命中了參照特征a2, a3, a4, a4和a5為或關系, 因此雖然沒有命中參照特征a5,參照模型2仍認為是命中的參照模型。
步驟310,根據匹配的參照模型,判定該網站為釣魚網站。如果該網站命 中的參照特征,在模型數據庫中具有對應命中的參照模型,則該網站為釣魚 網站。
另外,由于建立特征數據庫時,將參照特征以及對應的權值通過配置文 件進行描述,將包括參照特征以及對應的權值的配置文件存儲到特征數據中。 建立模型數據庫時,將參照模型通過配置文件進行描述,將包括參照模型的 配置文件存儲到模型數據庫中。因此,通過配置文件對參照特征和參照-漠型 進行描述,通過更新配置文件對特征數據庫以及^f莫型數據庫進行更新,使得 系統(tǒng)具有較好的可擴展性,因此,對新出現的釣魚站點能夠快速響應。
需要說明的是,本發(fā)明對于由于網站的頁面信息中包含關系或遞歸關系、 包含關系和遞歸關系進行遞歸而導致的網站遞歸死循環(huán)而無法確定最終頁面 信息在此不予考慮。
為了更好地理解本發(fā)明方法,下面則以仿冒QQ網站的釣魚網站為例, 對釣魚網站的檢測方法進行說明,如圖7所示,包括以下步驟
步驟701,用戶向檢測裝置輸入網站A的URL;
步驟702,檢測裝置接收到網站A的URL后,向互聯網發(fā)送GET請求 信息,請求獲取網站A的頁面信息;
步驟703,檢測裝置接收互聯網返回的包含有網站A頁面信息的POST 信息;
步驟704,檢測裝置根據該頁面信息,分析網站A的跳轉關系; 步驟705,檢測裝置分析結果為網站A具有通過meta標簽的跳轉,根據 meta標簽跳轉到頁面B,步驟706,對頁面B繼續(xù)進行跳轉分析,頁面B不具有跳轉。
步驟707,分析頁面B的包含關系,分析結果為頁面B具有1個子頁面Bl,
步驟708,計算子頁面Bl的URL值,并獲取子頁面Bl的頁面信息。對
子頁面Bl進行遞歸跳轉分析和包含關系分析后,分析結果為子頁面Bl不具
有跳轉頁面和其他子頁面。
步驟709,將子頁面B1的頁面信息與頁面B的頁面信息所組成的最終頁
面信息解析成DOM樹結構,并建立標簽索引。
步驟710,提取最終頁面信息的特征,將這些特征與特征數據庫中的參照
特征進行匹配,輸出命中的特征。
為了更好地理解本步驟,以下結合附圖對本步驟進行特征匹配的過程進
行詳細描述,如圖8所示為頁面B的示意圖,由圖中可以看出頁面B及其子
頁面包含5個特征,包括
1) 與QQ網站同樣的標題"QQ邀您加入,,;
2) 與QQ網站類似的"請輸入QQ號碼"文本,以及在該文本后的QQ 號碼輸入框;
3) 與QQ網站類似的"請輸入密碼,,文本,以及在該文本后的密碼輸入
框;
4) 與QQ網站同樣的QQ企鵝標志;
5) 礦泉水廣告。 假若數據庫中的參照特征包括
1. 與QQ網站類似的或同樣的標題,權值為5;
2. 與QQ網站類似的或同樣的"請輸入QQ號碼"文本,以及在該文本 后的QQ號碼輸入框,權值為8;
3. 與QQ網站類似的或同樣的"請輸入密碼"文本,以及在該文本后的 密碼輸入框,4又值為8;
4. 與QQ網站類似的或同樣的QQ企鵝標志,4又值為4;
5. 與QQ網站類似的或同樣的QQ游戲幣標志,權值為4;
6. 與QQ網站類似的或同樣的QQ游戲頭傳4示志,4又值為4。命中的參照特征為1, 2, 3, 4。
步驟711,遍歷模型數據庫中的參照模型,查找到參照模型l,參照模型 1包括參照特征的集合為(1, 2, 3, 4或5或6),最終頁面信息與參照模型l 匹配,確定網3占A為^/魚網i占。
本發(fā)明對網站的頁面信息進行綜合評價,通過評價的結果判斷該網站是 否為釣魚網站,避免由于現有^r測方法中忽略對網站頁面信息的判斷而導致 的誤報現象,提高釣魚網站的判斷準確率。
本發(fā)明還提供了 一種與本發(fā)明方法對應的檢測釣魚網站的檢測裝置,如圖9 所示,包括
頁面獲^Mt塊910,用于根據接收的URL請求,獲取網站的最終頁面信
自
,&,
所述頁面信息包括信息頭和信息體,所述頁面獲^Mt塊910還用于根據所
述網站的頁面信息的信息頭及信息體,分析所述頁面信息具有跳轉關系和或 包括關系,
當所述分析頁面信息具有跳轉關系時,確定所述目的網站的URL,所述 頁面獲f^莫塊910用于獲取目的網站的頁面信息,根據所述目的網站的頁面信 息獲取所述最終頁面信息,所述目的網站為根據所述網站頁面信息所具有的 跳轉關系跳轉后的網站。
當所述分析頁面信息具有包括關系時,所述頁面獲f^莫塊910用于根據所 述網站的頁面信息的信息頭及信息體,分析所述頁面信息具有包含關系,確 定所述包含關系中每一個子頁面的URL,獲取所述子頁面的頁面信息,根據 所述子頁面的頁面信息獲取所述最終頁面信息。
頁面信息處理模塊920,與所述頁面獲取模塊910連接,用于將所述最終 頁面信息解析成DOM樹結構,并在所述DOM樹中根據所述最終頁面信息的 標簽建立索引;
所述頁面信息通過HTML文檔進行描述,所述HTML文檔包括多種類型 的頁面信息,所述HTML文檔包括組成所述網站的標簽,其中標簽的形式和內容,由于前面已經說明,在此不贅述。
所述頁面信息處理模塊920進一步包括
解析子模塊921,用于將所述包括所述頁面信息的HTML文檔解析成 DOM樹,所述DOM樹包括多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔 中的一種類型的頁面信息;
建立索引子模塊922,與所述解析子模塊921連接,用于根據所述HTML 文檔中每一種類型的頁面信息的標簽建立索引。
特征匹配模塊930,與所述頁面信息處理模塊920連接,用于根據所述建 立的索引,提取所述DOM樹中所述最終頁面信息的特征,遍歷預先設置的特 征數據庫,將所述最終頁面信息的特征與所述特征數據庫中的參照特征進行 匹配,輸出命中的所述參照特征;
所述特征匹配模塊930還用于輸出所述命中的參照特征的權值,所述模 型匹配模塊940根據所述參照特征以及所述參照特征對應的權值在所述模型 數據庫中查找命中的參照模型。
模型匹配模塊940,與所述特征匹配模塊930連接,用于遍歷預先設置的 模型數據庫,根據所述命中的參照特征在所述模型數據庫查找命中的參照模 型,確定所述網站是否為釣魚網站。
將所述命中的參照特征的id標識值放入所述哈希表,所述特征數據庫中 的每個參照特征對應一個id標識值,所述哈希表用于將所述參照特征的id標
識值與所述參照模型相對應,模型匹配模塊940查詢所述哈希表,獲取所述id 標識值對應的參照特征。 所述裝置還包括
特征數據庫建立模塊950,與所述特征匹配模塊930連接,用于建立所述 釣魚網站特征數據庫,所述特征數據庫建立模塊950具體用于提取已知釣魚 網站的特征,根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和 占的比重,確定所述已知釣魚網站的特征對應的權值,將所述已知釣魚網站 的特征以及所述對應的權值存儲到所述特征數據庫,建立所述特征數據庫, 所述存儲到所述特征數據庫中的特征為所述參照特征,所述對應的權值為所述參照特征的權值。
所述裝置還包括
模型數據庫建立模塊960,與所述模型匹配模塊940和所述特征建立模塊 950連接,用于將所述參照特征按照釣魚網站類型進行分類,將每一類所述參 照特征組成一個所述參照模型,根據所述參照模型建立所述釣魚網站的模型 數據庫。
本發(fā)明對網站的頁面信息進行綜合評價,通過評價的結果判斷該網站是 否為釣魚網站,避免由于現有沖全測方法中忽略對網站頁面信息的判斷而導致 的誤報現象,提高釣魚網站的判斷準確率。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本
發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬
件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技
術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體
現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使
得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行 本發(fā)明各個實施例所述的方法。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
權利要求
1、一種釣魚網站的檢測方法,其特征在于,包括以下步驟a. 根據接收的統(tǒng)一資源定位符URL請求,獲取網站的最終頁面信息;b. 將所述最終頁面信息解析成文檔對象模型DOM樹結構,并在所述DOM樹中根據所述最終頁面信息的標簽建立索引;c. 根據所述建立的索引,提取所述DOM樹中所述最終頁面信息的特征,遍歷預先設置的特征數據庫,將所述最終頁面信息的特征與所述特征數據庫中的參照特征進行匹配,輸出命中的參照特征;d. 遍歷預先設置的模型數據庫,根據所述命中的參照特征在所述模型數據庫查找命中的參照模型,確定所述網站是否為釣魚網站。
2、 如權利要求1所述的方法,其特征在于,頁面信息包括信息頭及信息體, 所述步驟a進一步包括根據所述網站的頁面信息的信息頭及信息體,分析所述頁面信息具有跳 轉關系;確定目的網站的URL,獲取所述目的網站的頁面信息,根據所述目的網 站的頁面信息獲取所述最終頁面信息,所述目的網站為才艮據所述網站頁面信 息所具有的跳轉關系跳轉后的網站。
3、 如權利要求2所述的方法,其特征在于,所述分析頁面信息具有跳轉 關系,包括分析所述網站具有通過meta標簽或30X消息的跳轉。
4、 如權利要求1或2所述的方法,其特征在于,所述步驟a進一步包括 根據所述網站的頁面信息的信息頭及信息體,分析所述頁面信息中具有包含關系;確定所述包含關系中每一個子頁面的URL,獲取所述子頁面的頁面信息, 根據所述子頁面的頁面信息獲取所述最終頁面信息。
5、 如權利要求4所述的方法,其特征在于,所述頁面信息通過超文本鏈 接標示語言HTML文檔描述,所述HTML文檔包拮「組成所述網站的標簽,所述分析頁面信息具有包含關系,包括分析具有通過iframe或frameset 標簽包含的子頁面。
6、 如權利要求l所述的方法,其特征在于,所述頁面信息通過HTML文 檔進4于描述,所述HTML文檔包括組成所述網站的標簽,所述HTML文檔包 括多種類型的頁面信息,所述步驟b進一步包括將包括所述頁面信息的HTML文檔解析成DOM樹,所述DOM樹包括 多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔中的 一種類型的頁面信息; 根據所述HTML文檔中每一種類型的頁面信息的標簽建立索引。
7、 如權利要求l所述的方法,其特征在于,在所述步驟c之前,還包括 建立所述特征數據庫,此步驟具體包括提取已知釣魚網站的特征;根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和占的比 重,確定所述已知釣魚網站的特征對應的權值;將所述已知釣魚網站的特征以及所述對應的權值存儲到所述特征數據 庫,建立所述特征數據庫,所述存儲到所述特征數據庫中的特征為所述參照 特征,所述對應的斥又值為所述參照特征的纟又值。
8、 如權利要求l所述的方法,其特征在于,在所述步驟d之前,還包括 將所述參照特征按照釣魚網站類型進行分類; 將每一類所述參照特征組成一個所述參照4莫型; 根據所述參照模型建立所述釣魚網站的模型數據庫。
9、 一種釣魚網站的檢測裝置,其特征在于,包括頁面獲^Mt塊,用于根據接收的URL請求,獲取網站的最終頁面信息; 頁面信息處理才莫塊,與所述頁面獲取模塊連接,用于將所述最終頁面信息解析成DOM樹結構,并在所述DOM樹中根據所述最終頁面信息的標簽建立索引;特征匹配模塊,與所述頁面信息處理模塊連接,用于根據所述建立的索引,提取所述DOM樹中所述最終頁面信息的特征,遍歷預先設置的特征數據 庫,將所述最終頁面信息的特征與所述特征數據庫中的參照特征進行匹配,輸出命中的所述參照特征;模型匹配模塊,與所述特征匹配模塊連接,用于遍歷預先設置的模型數 據庫,根據所述命中的參照特征在所述模型數據庫查找命中的參照模型,確 定所述網站是否為釣魚網站。
10、 如權利要求9所述的裝置,其特征在于,頁面信息包括信息頭及信息 體,所述頁面獲^^莫塊,還用于根據所述網站的頁面信息的信息頭及信息體, 分析所述頁面信息具有跳轉關系,確定目的網站的URL,獲取所述目的網站 的頁面信息,根據所述目的網站的頁面信息獲取所述最終頁面信息,所述目 的網站為根據所述網站頁面信息所具有的跳轉關系跳轉后的網站。
11、 如權利要求9或IO所述的裝置,其特征在于,所述頁面獲取模塊,還 用于根據所述網站的頁面信息的信息頭及信息體,分析所述頁面信息具有包 含關系,確定所述包含關系中每一個子頁面的URL,獲取所述子頁面的頁面 信息,根據所述子頁面的頁面信息獲取所述最終頁面信息。
12、 如權利要求9所述的裝置,其特征在于,所述頁面信息通過HTML 文檔進行描述,所述HTML文檔包括組成所述網站的標簽,所述HTML文檔 包括多種類型的頁面信息,所述頁面信息處理模塊包括解析子模塊,用于將包括所述頁面信息的HTML文檔解析成DOM樹, 所述DOM樹包括多種節(jié)點,每一種節(jié)點分別對應所述HTML文檔中的 一種 類型的頁面信息;建立索引子模塊,與所述解析子模塊連接,用于根據所述HTML文檔中 每一種類型的頁面信息的標簽建立索引。
13、 如權利要求9所述的裝置,其特征在于,還包括 特征數據庫建立模塊,與所述特征匹配模塊連接,用于建立所述釣魚網站特征數據庫,所述特征數據庫建立模塊具體用于提取已知釣魚網站的特征, 根據所述已知釣魚網站的特征在所述釣魚網站中出現的頻率和占的比重,確 定所述已知釣魚網站的特征對應的權值,將所述已知釣魚網站的特征以及所 述對應的權值存儲到所述特征數據庫,建立所述特征數據庫,所述存儲到所述特征數據庫中的特征為所述參照特征,所述對應的斥又值為所述參照特征的 權值。
14、如權利要求13所述的裝置,其特征在于,還包括^^莫型數據庫建立模 塊,與所述模型匹配模塊和所述特征建立模塊連接,用于將所述參照特征按 照釣魚網站類型進行分類,將每一類所述參照特征組成一個所述參照模型, 根據所述參照模型建立所述釣魚網站的模型數據庫。
全文摘要
本發(fā)明公開了一種釣魚網站的檢測方法及裝置,其中方法包括檢測裝置根據接收的URL請求,獲取網站的最終頁面信息;將最終頁面信息解析成DOM樹結構,并在DOM樹中根據最終頁面信息的標簽建立索引;根據建立的索引,提取DOM樹中最終頁面信息的特征,遍歷預先設置的特征數據庫,將最終頁面信息的特征與特征數據庫中的參照特征進行匹配,輸出命中的所述參照特征;遍歷預先設置的模型數據庫,根據命中的參照特征在模型數據庫查找命中的參照模型,確定網站是否為釣魚網站。本發(fā)明通過對網站的頁面信息進行綜合評價進行檢測,避免由于現有檢測方法中忽略對網站頁面信息的判斷而導致的誤報現象,提高釣魚網站的判斷準確率。
文檔編號G06F17/30GK101534306SQ200910106559
公開日2009年9月16日 申請日期2009年4月14日 優(yōu)先權日2009年4月14日
發(fā)明者勇 楊, 林世飛, 歡 陳, 馬松松 申請人:深圳市騰訊計算機系統(tǒng)有限公司