專利名稱:Url洗白裝置和洗白方法
技術領域:
本發明涉及計算機軟件領域,尤其涉及一種對曾經被識別為惡意 網址的URL進行洗白的裝置和方法。
背景技術:
利用網頁掛馬傳播惡意程序,是惡意程序傳播的一種重要渠道。 一個網頁連接(URL)被識別為惡意網址的時候,帶安全警告的搜索引 擎、瀏覽器、以及帶網頁瀏覽安全防護的軟件會攔截對這個URL的 訪問。多數情況,URL的所有者也是受害者,黑客攻擊了這個網站 并植入了惡意程序或惡意代碼,網站的所有者發現后,會對其進行清 除。問題是,當該網站已經安全后,而上述工具(搜索引擎、瀏覽器、 以及帶網頁瀏覽安全防護的軟件等)還會在較長一段時間內認為其是 惡意網站。因為,搜索引擎、瀏覽器等一旦將某個URL識別為惡意 網址后,搜索引擎、瀏覽器等要經過固定的一個周期以后才會再次訪 問該URL,如果訪問結果顯示該URL已經安全,則將其洗白,本文 中所說的URL洗白就是將該URL設置為非惡意的網址,將URL的 狀態由惡意改為非惡意。上述周期一般很長,因此,延緩了用戶對已 經及時清除了網頁掛馬的URL的訪問。上述周期之所以比較長,原 因是,在搜索引擎、瀏覽器等的服務器端有URL訪問嘗試模塊,該 模塊不斷循環地訪問所有URL,然后返回URL是否為惡意的結果。由于全球網站數量眾多,也受到服務器的工作能力的限制,必然這種 嘗試周期會很長。
綜上,有必要提供一種能夠及時將已經清除了網頁掛馬的URL 洗白的裝置和方法。本方法要解決的就是縮短這些受害網站的洗白時 間。
發明內容
本發明克服了現有技術中的不足,本發明的第一目的是提供一種 縮短受害URL的洗白時間的裝置。
本發明的第二目的是提供一種縮短受害URL的洗白時間的方法。
為了實現上述第一目的,本發明采用如下技術方案-URL洗白裝置,包括服務器端和多個客戶端; 服務器端包括
通信模塊,其用于與各個客戶端的通信模塊共同實現服務器端與 客戶端的信息交互;
URL狀態列表,其具體包括每個被收集的URL的收集時間、最 早發現時間、最后發現時間、發現次數、鏈接狀態、鏈接狀態被修改 為惡意的次數;
URL狀態列表修改模塊,其用于修改URL狀態列表中的各種信
息;
URL狀態列表輪詢模塊,其輪詢URL狀態列表中的各個鏈接狀 態為惡意的URL; 客戶端包括
通信模塊,其用于與服務器端的通信模塊共同實現服務器端與客 戶端的信息交互;惡意URL檢測模塊,其用于檢測用戶所訪問的URL是否為惡意 URL,如果用戶所訪問URL為惡意URL,將通過客戶端的通信模塊和 服務器端的通信模塊將此URL發送到服務器端;如果為非惡意URL, 則不做任何操作。
為了實現上述第二目的,本發明采用如下技術方案
使用上述URL洗白裝置進行的URL洗白方法,其包括URL狀 態收集整理過程和URL洗白過程,這兩個過程分別進行;
URL狀態收集整理過程的具體步驟如下;
a. 惡意URL檢測模塊檢測到惡意URL,通過客戶端的通信模塊 和服務器端的通信模塊把該URL發送到服務器端;
b. 如果該URL尚未存在于URL狀態列表中,進入步驟c;如果 該URL已經存在于URL狀態列表中,進入步驟山
c. URL狀態列表修改模塊增加這個URL到URL狀態列表,設 定該URL的收集時間為當前時間,最早發現時間為當前時間,最后 發現時間為當前時間;發現次數設為1,鏈接狀態設置為惡意,鏈接 狀態被修改為惡意次數設為1,返回步驟a;
d. 如果該URL在狀態列表中的狀態為惡意,URL狀態列表修 改模塊將該URL的最后發現時間改為當前時間,發現次數加1;如 果該URL在狀態列表中的狀態為非惡意,URL狀態列表修改模塊將 該URL的最早發現時間改為當前時間,最后發現時間改為當前時間, 發現次數設為1,鏈接狀態改為惡意,鏈接狀態被修改為惡意次數加 1,返回步驟a;
URL洗白過程的具體步驟是,
URL狀態列表輪詢模塊輪詢URL狀態列表中的各個鏈接狀態為 惡意的URL,對同時滿足下列兩個條件的URL進行鏈接狀態修改, 將鏈接狀態修改為非惡意第一、該URL的發現次數大于或等于2, 第二、(當前時間-最后發現時間)> k * ((最后發現時間-最
7早發現時間)/發現次數),其中,k為大于1的實數。
上述裝置和方法根據服務器端不斷對URL的訪問而獲得該URL 的一般訪問頻率,如果在k倍正常的訪問時間間隔內,該URL沒有 被當做惡意URL而收集入服務器端的URL狀態列表,則可以說明該 URL已經被洗白(被認為是非惡意URL),大大縮短了受害URL的 洗白時間。另外,不需要服務器端另外設置進行URL訪問試探的模 塊,降低了服務器的工作壓力。
具體實施例方式
URL洗白裝置,包括服務器端和多個客戶端。 服務器端包括
通信模塊,其用于與各個客戶端的通信模塊共同實現服務器端與
客戶端的信息交互;
URL狀態列表,其具體包括每個被收集的URL的收集時間、最早 發現時間、最后發現時間、發現次數、鏈接狀態、鏈接狀態被修改為 惡意的次數;
URL狀態列表修改模塊,其用于修改URL狀態列表中的上述各種 信息;
URL狀態列表輪詢模塊,其輪詢URL狀態列表中的各個鏈接狀態 為惡意的URL;
系數k取值列表,該系數k取值列表中列出了在不同時間段內系 數k的取值,其中,k為大于l的實數。 客戶端包括
通信模塊,其用于與服務器端的通信模塊共同實現服務器端與客 戶端的信息交互;
惡意URL檢測模塊,其用于檢測用戶所訪問的URL是否為惡意 URL,如果用戶所訪問URL為惡意URL,將通過客戶端的通信模塊和服 務器端的通信模塊將此URL發送到服務器端;如果為非惡意URL,則不做任何操作。
下面介紹使用上述URL洗白裝置進行URL洗白的方法,該方法包 括URL狀態收集整理過程和URL洗白過程,這兩個過程分別進行; URL狀態收集整理過程的具體步驟如下;
a. 惡意URL檢測模塊檢測到惡意URL,通過客戶端的通信模塊 和服務器端的通信模塊把該URL發送到服務器端;
b. 如果該URL尚未存在于URL狀態列表中,進入步驟c;如果該 URL已經存在于URL狀態列表中,進入步驟d;
c. URL狀態列表修改模塊增加這個URL到URL狀態列表,設定 該URL的收集時間為當前時間,最早發現時間為當前時間,最后發現 時間為當前時間;發現次數設為l,鏈接狀態設置為惡意,鏈接狀態 被修改為惡意次數設為l,返回步驟a;
d. 如果該URL在URL狀態列表中的鏈接狀態為惡意,URL狀態 列表修改模塊將該URL的最后發現時間改為當前時間,發現次數加1; 如果該URL在URL狀態列表中的鏈接狀態為非惡意,URL狀態列表修 改模塊將該URL的最早發現時間改為當前時間,最后發現時間改為當 前時間,發現次數設為1,鏈接狀態改為惡意,鏈接狀態被修改為惡 意次數加l,返回步驟a;
URL洗白過程的具體步驟是,
URL狀態列表輪詢模塊輪詢URL狀態列表中的各個鏈接狀態為惡 意的URL,對同時滿足下列兩個條件的URL進行鏈接狀態修改,將鏈 接狀態修改為非惡意第一、該URL的發現次數大于或等于2,第二、 (當前時間-最后發現時間)> k * ((最后發現時間-最早發 現時間)/發現次數),其中,k為大于l的實數。"(最后發現時 間-最早發現時間)/發現次數"代表該惡意URL先前被客戶端訪 問的平均時間間隔,上述公式表示,在k倍的平均時間間隔內,仍然 沒有客戶端反映該URL為惡意URL,則認為該URL已經被修復,變為
9非惡意URL,因此,進行URL洗白操作。
還有一種情況是,有一部分URL被訪問的頻率非常低,其首次被 確定為惡意URL以后,可能經過很長一段時間都再也無客戶端訪問, 這樣,上述URL洗白過程就不能對其洗白。針對這種情況,URL狀態 列表輪詢模塊輪詢URL狀態列表中的各個鏈接狀態為惡意的URL,對 同時滿足下列兩個條件的URL也進行鏈接狀態修改,將鏈接狀態修改 為非惡意第一、該URL的發現次數等于1,第二、(前時間-最 后發現時間)> Max,其中,Max為在服務端設置的最長洗白周期, 一般可以設置為28-40天。當然,Max值也可以根據客戶端的分布廣 度不同,由編程者設定為其他值。
在上述方法中,k為修正系數,修正系數由兩個因素決定
A. 客戶端分布規模規模越大,k值越小。客戶端規模越大, 其收集數據越接近真實情況,所以k的修正需求就越小。
B. 客戶端分布時區規律和當前時間在該時區規律中客戶端活躍 程度。如果客戶端時區分布窄,在較窄的時區里,所有客戶端的活躍 情況和該時區的作息時間密切相關。所以,窄時區分布的客戶端,期 k值根據當前時間跟作息時間表對應修改。因為,對于同一時區(例 如中國來說),在白天客戶端訪問URL的頻率一般會比凌晨時段要高, 因此,作為修正系數的k值在白天一般應該比凌晨時段要小。同樣的 道理,周末、休假等作息規律也會影響到k的取值。如果客戶端分布 的時區比較廣,比如在絕大多數國家都有分布,則可以不考慮作息時 間的而變化,即不考慮此時間段內客戶端的活躍程度。
當然,k的具體取值可以由編程人員根據實際情況設定,上面只 是給出影響k值設定的一些常見因素。k值越大,洗白URL的正確性 越高,但卻可能影響到URL應該被洗白的時間。 一般,k取大于或等 于2的值比較安全、實用。K值可以是一個定值。也可以把k值放入 系數k取值列表中,該系數k取值列表中列出了在不同時間段內系數k的取值,在不同時段,根據列表取不同的k值,這樣進行URL洗白 操作的準確性更高。
以上實施例描述僅用以說明而非限制本發明的技術方案。不脫離
本發明精神和范圍的任何修改或局部替換,應涵蓋在本發明的權利要
求范圍當中。
權利要求
1、URL洗白裝置,其特征在于,包括服務器端和多個客戶端;服務器端包括通信模塊,其用于與各個客戶端的通信模塊共同實現服務器端與客戶端的信息交互;URL狀態列表,其具體包括每個被收集的URL的收集時間、最早發現時間、最后發現時間、發現次數、鏈接狀態、鏈接狀態被修改為惡意的次數;URL狀態列表修改模塊,其用于增加URL到URL狀態列表以及修改URL狀態列表中的各種信息;URL狀態列表輪詢模塊,其輪詢URL狀態列表中的各個鏈接狀態為惡意的URL;客戶端包括通信模塊,其用于與服務器端的通信模塊共同實現服務器端與客戶端的信息交互;惡意URL檢測模塊,其用于檢測用戶所訪問的URL是否為惡意URL,如果用戶所訪問URL為惡意URL,將通過客戶端的通信模塊和服務器端的通信模塊將此URL發送到服務器端;如果為非惡意URL,則不做任何操作。
2、 根據權利要求1所述的URL洗白裝置,其特征在于, 服務器端還包括一系數k取值列表,該系數k取值列表中列出了不同 時間段內系數k的取值,其中,k為大于l的實數。
3、 使用權利要求1所述URL洗白裝置進行的URL洗白方法,其特征 在于,包括URL狀態收集整理過程和URL洗白過程,這兩個過程分別 進行;URL狀態收集整理過程的具體步驟如下;a. 惡意URL檢測模塊檢測到惡意URL,通過客戶端的通信模塊和服 務器端的通信模塊把該URL發送到服務器端;b. 如果該URL尚未存在于URL狀態列表中,進入步驟c;如果該URL 已經存在于URL狀態列表中,進入步驟d;c. URL狀態列表修改模塊增加這個URL到URL狀態列表,設定該URL 的收集時間為當前時間,最早發現時間為當前時間,最后發現時間為 當前時間;發現次數設為1,鏈接狀態設置為惡意,鏈接狀態被修改 為惡意次數設為l,返回步驟a;d. 如果該URL在URL狀態列表中的鏈接狀態為惡意,URL狀態列表 修改模塊將該URL的最后發現時間改為當前時間,發現次數加l;如 果該URL在URL狀態列表中的鏈接狀態為非惡意,URL狀態列表修改 模塊將該URL的最早發現時間改為當前時間,最后發現時間改為當前 時間,發現次數設為1,鏈接狀態改為惡意,鏈接狀態被修改為惡意 次數加l,返回步驟a;URL洗白過程的具體步驟是,URL狀態列表輪詢模塊輪詢URL狀態列表中的各個鏈接狀態為惡意的 URL,對同時滿足下列兩個條件的URL進行鏈接狀態修改,將鏈接狀 態修改為非惡意第一、該URL的發現次數大于或等于2,第二、(當 前時間-最后發現時間)>k* ((最后發現時間-最早發現時間) /發現次數),其中,k為大于l的實數。
4、 根據權利要求3所述的URL洗白方法,其特征在于,URL洗白過程還包括,對同時滿足下列兩個條件的URL進行鏈接狀態 修改,將鏈接狀態修改為非惡意第一、該URL的發現次數等于l, 第二、(前時間-最后發現時間)> Max,其中,Max為在服務端 設置的最長洗白周期。
5、 根據權利要求4所述的URL洗白方法,其特征在于, 所述k值的設定與客戶端的數量有關,客戶端的數量越多,k值越小。
6、 根據權利要求5所述的URL洗白方法,其特征在于,所述k值的設定與所有客戶端分布的時區規律及當前時間客戶端的 活躍程度有關;如果客戶端在各個時區規律中分布均勻,則不考慮當前時間客戶端的 活躍程度;如果客戶端在較窄的時區內分布,則k值根據作息時間進行修正。
7、 根據權利要求6所述的URL洗白方法,其特征在于, 所述Max值為28-40天。
8、 根據權利要求7所述的URL洗白方法,其特征在于, K=2。
9、 根據權利要求3-8中任意一項所述的URL洗白方法,其特征在于, 所述k值存在于系數k取值列表中,該系數k取值列表中列出了不同 時間段內系數k的取值。
全文摘要
本發明涉及一種對曾經被識別為惡意網址的URL進行洗白的裝置和方法。URL洗白裝置,包括服務器端和多個客戶端;服務器端包括通信模塊、URL狀態列表、URL狀態列表修改模塊、URL狀態列表輪詢模塊;客戶端包括通信模塊、惡意URL檢測模塊。上述裝置根據服務器端不斷對URL的訪問而獲得該URL的一般訪問頻率,如果在k倍正常的訪問時間間隔內,該URL沒有被當做惡意URL而收集入服務器端的URL狀態列表,則可以說明該URL已經被洗白(被認為是非惡意URL),大大縮短了受害URL的洗白時間。另外,不需要服務器端另外設置進行URL訪問試探的模塊,降低了服務器的工作壓力。
文檔編號H04L29/06GK101547197SQ200910039168
公開日2009年9月30日 申請日期2009年4月30日 優先權日2009年4月30日
發明者劉桂峰, 梅銀明, 勇 陳 申請人:珠海金山軟件股份有限公司