惡意網頁發現方法及裝置與流程
2023-08-03 16:34:16
本發明涉及網絡安全技術領域,特別是涉及一種惡意網頁發現方法及裝置。
背景技術:
為了保護用戶的計算機免受惡意網站攻擊,現有技術中瀏覽器往往採用內置惡意網址列表的方法為用戶提供安全服務。這類安全服務的原理簡單且易於實現,因此在工業界被廣泛應用。然而,隨著網際網路的發展和網絡攻擊方式的層出不窮,這種方法逐漸面臨一些新的挑戰,包括:在大規模的網絡數據環境下,由於惡意網址列表的更新速度遠遠跟不上惡意網頁的更新速度,容易出現漏判的情況;隨著惡意網頁隱匿技術的逐步應用,惡意網頁的發現難度也越來越大;由於不均衡數據集特點,少量惡意網頁往往淹沒在海量的正常網頁中,如果對每個網頁都進行分析,資源利用率將十分低下。因此,如何快速準確地從大量正常網頁中篩選出新出現的惡意網頁成為一個迫切需要解決的問題。
而針對惡意網頁分類問題,隨著存儲技術的不斷提升,惡意網頁的檢測方法也不斷發展。按照檢測思路可以大致分為:基於黑名單的方法、基於深度包檢測的方法和基於機器學習的方法等三種思路。基於黑名單的方法相對比較簡單,易於實現。它首先對惡意網頁url進行標註,然後利用字符串匹配等技術惡意網頁url的識別。而惡意網頁url的人工標註需要標註人員有專業的領域知識,且耗時較長,只適合低速、小規模的網絡環境。自動標註多利用啟發式的網絡爬蟲技術進行標註,可以進行並行化處理,但不夠準確。為了解決基於黑名單方法存在的網站漏判問題,w.pak等提出基於深度包檢測的分類方法。但在執行內容檢測時,由於分析處理的網頁內容較多,數據格式複雜,這一方法需要消耗很多計算資源和時間。為了降低計算資源的消耗和減少對領域知識的依賴,justin.ma等利用機器學習方法以惡意網頁url詞彙特徵和主機特徵為基礎建立統一的分類模型(例如,svm模型等),進而根據已有標註集合識別惡意網頁url。但該方法的分類準確性依賴於樣本集的選取,且部分主機特徵受網絡延遲影響較大。
技術實現要素:
為了克服上述現有技術的缺陷,本發明要解決的技術問題是提供一種惡意網頁發現方法及裝置,用以解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題。
為解決上述技術問題,本發明中的一種惡意網頁發現方法,包括:
確定每個預先選取的低可信度用戶的網頁資源訪問集合;
從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集;
對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁。
可選地,所述確定每個預先選取的低可信度用戶的網頁資源訪問集合,包括:
從訪問日誌中提取用戶與網頁資源之間訪問關係;
根據所述訪問關係,確定每個預先選取的低可信度用戶的網頁資源訪問集合。
可選地,所述對所述訪問交集中網頁資源進行惡意網頁檢測,包括:
根據預先獲取的非惡意網頁資源,對所述訪問交集中網頁資源進行過濾;
對過濾後的網頁資源進行惡意網頁檢測。
可選地,所述確定每個預先選取的低可信度用戶的網頁資源訪問集合之前,還包括:
對訪問種子的各用戶進行用戶行為可信度計算;所述種子為預先獲得的惡意網頁集合;
根據計算結果,按照從小到大的順序,從最低用戶行為可信度開始,選取預設數量的低可信度用戶。
具體地,所述用戶行為可信度的計算方式包括:
在預設的計算時間區間確定用戶訪問網頁資源的訪問次數;
根據每次訪問的網頁資源對應的網頁類型,確定每次訪問評價值;
根據各訪問評價值和訪問次數,確定用戶行為可信度。
為解決上述技術問題,本發明中的一種惡意網頁發現裝置,其特徵在於,所述裝置包括:
低可信度用戶追蹤模塊,用於確定每個預先選取的低可信度用戶的網頁資源訪問集合;
可疑url收集模塊,用於從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集;
分析模塊,用於對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁。
可選地,所述低可信度用戶追蹤模塊,具體用於從訪問日誌中提取用戶與網頁資源之間訪問關係;
根據所述訪問關係,確定每個預先選取的低可信度用戶的網頁資源訪問集合。
可選地,所述分析模塊,具體用於根據預先獲取的非惡意網頁資源,對所述訪問交集中網頁資源進行過濾;
對過濾後的網頁資源進行惡意網頁檢測;
根據檢測結果,確定惡意網頁。
可選地,所述低可信度用戶追蹤模塊,還用於對訪問種子的各用戶進行用戶行為可信度計算;所述種子為預先獲得的惡意網頁集合;
根據計算結果,按照從小到大的順序,從最低用戶行為可信度開始,選取預設數量的低可信度用戶。
具體地,所述用戶行為可信度的計算方式包括:
在預設的計算區間確定用戶訪問網頁資源的訪問次數;
根據每次訪問的網頁資源對應的網頁類型,確定每次訪問評價值;
根據各訪問評價值和訪問次數,確定用戶行為可信度。
本發明有益效果如下:
本發明中發現方法及裝置,通過確定每個預先選取的低可信度用戶的網頁資源訪問集合,從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集,然後對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁,從而可以有效解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題。
附圖說明
圖1是本發明實施例中一種惡意網頁發現方法的流程圖;
圖2是實施本發明實施例中訪問關係示意圖;
圖3是本發明實施例中惡意網頁發現方法的系統架構示意圖;
圖4是本發明實施例中濃度、擴展度實驗對比示意圖;
圖5是本發明實施例中一種惡意網頁發現裝置的結構示意圖。
具體實施方式
為了至少解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題,本發明提供了一種惡意網頁發現方法及裝置,以下結合附圖以及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不限定本發明。
如圖1所示,本發明第一實施例提出一種惡意網頁發現方法,包括:
s101,確定每個預先選取的低可信度用戶的網頁資源訪問集合;
s102,從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集;
s103,對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁。
其中,惡意網頁是一類以網頁木馬、釣魚網站為代表的網頁。不同於正常網頁,惡意網頁通過偽裝成合法網站或在頁面中嵌入惡意腳本等方式,在用戶訪問時對其網絡安全構成威脅。通常惡意網頁的表單內容和url會呈現出很強的特徵,如表1所示。
表1
如圖2所示,其中訪問集合是指訪問者所訪問的所有網頁資源所構成的集合,它包含了訪問者訪問過的所有網頁資源。訪問者a的訪問集合ua={p1,p2}。
訪問交集是指兩個或多個訪問集合的交集。一般地,對於給定的兩個訪問集合a和b的交集是指含有所有既屬於a又屬於b的元素,而沒有其他元素的訪問集合。
訪問關係是一種建立在訪問者和網頁資源之間的關係,是訪問者通過訪問網頁資源產生的一種對應關係。訪問者a和網頁資源p1的訪問關係r=。
本發明實施例通過確定每個預先選取的低可信度用戶的網頁資源訪問集合,從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集,然後對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁,從而可以有效解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題。
簡述本發明實施原理。
針對現有技術的問題,本發明第一實施例提出了一種基於用戶訪問行為的惡意網頁發現uvbm(uservisitbehaviorminingapproach)方法。本方法將存儲在訪問日誌中的訪問關係引入網頁信譽評價問題中,以彌補惡意網頁漏判和錯判可能產生的不良影響。
詳細說,如圖3所示,uvbm方法可以包括:
步驟1,可以預先確定一些種子;種子為預先獲得的惡意網頁集合。在具體實現時,可以通過直接讀取現有的惡意網頁集合,也可以通過預先檢測獲得惡意網頁集合。例如,採用分析技術對日誌中出現的每個網頁進行深入分析,如dpi(deeppacketinspection)深度包檢測、關鍵詞掃描等檢測方式,基於此積累一些惡意網頁作為「種子」。
步驟2,從這些「種子」出發,對訪問過這些已知惡意網頁的用戶的可信度進行打分。對這些用戶進行分類篩選出一部分可信度較低的用戶,利用他們的訪問日誌以發現潛在的惡意網頁。
也就是說,在本發明的一個實施例中,在s101之前還可以包括:
對訪問種子的各用戶進行用戶行為可信度計算;所述種子為預先獲得的惡意網頁集合;
根據計算結果,按照從小到大的順序,從最低用戶行為可信度開始,選取預設數量的低可信度用戶。
其中,所述用戶行為可信度的計算方式包括:
在預設的計算時間區間確定用戶訪問網頁資源的訪問次數;
根據每次訪問的網頁資源對應的網頁類型,確定每次訪問評價值;
根據各訪問評價值和訪問次數,確定用戶行為可信度。
具體說,用戶行為可信度是指惡意網頁識別系統對訪問用戶根據用戶此前訪問記錄而產生的信任程度。通常來說,從不訪問惡意網頁的用戶行為可信度較高,經常訪問惡意網頁的用戶行為可信度較低。
因此,可以通過用戶過去一段時間內的訪問記錄來預測用戶未來行為的可信任程度。例如在計算時間區間t(t視具體應用而定,如3個月)內,假設用戶i的訪問次數為n,則用戶i行為可信度可通過公式(1)進行計算:
其中,v(i,pk)表示用戶i第k次訪問的網頁p的評價結果,它通過公式(2)進行計算:
進一步說,為了獲取種子集合,可以在網絡流量捕包平臺中設置表1中的url(uniformresourcelocator,統一資源定位符)特徵,然後,通過特徵匹配從流量中獲取對應的url並進行過濾、去重處理,獲得疑似惡意網頁url。接著,採用webdriver自動化驗證工具模擬訪問這些疑似惡意網頁,並根據訪問返回結果判定其有效性。將有效的惡意網頁加入到種子集合中,並通過分析這些低可信度用戶的訪問日誌,發現潛在的惡意網頁。
步驟3,確定每個預先選取的低可信度用戶的網頁資源訪問集合。
具體說,低可信度用戶往往訪問過已知的惡意網頁並且具有較高概率訪問類似網頁。因此,將低可信度用戶集合提交至可疑url收集器(也稱之為可疑url收集器)中。通過在網絡流量中標識低可信度的用戶,uvbm方法就有可能發現它們的訪問歷史並識別出其他惡意網頁。
通過在設置的低可信度用戶追蹤器(也稱之為低可信度用戶追蹤模塊)輸入種子(包含惡意網頁的集合)以及「多對多」的訪問關係。
基於對已知惡意網頁和訪問關係的分析,低可信度用戶追蹤器產生低可信度用戶的集合,如圖3所示的過程①。用戶的可信度可以通過公式(1)計算得到。
也就是說,在本發明的一個實施例中,所述確定每個預先選取的低可信度用戶的網頁資源訪問集合,包括:
從訪問日誌中提取用戶與網頁資源之間訪問關係;
根據所述訪問關係,確定每個預先選取的低可信度用戶的網頁資源訪問集合。
步驟4,從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集。
例如,通過設置的可疑url收集器基於低可信度用戶集合對他們的訪問交集進行收集,即只有多個低可信度的用戶訪問的url才會被收集從而產生一個可疑url的集合,並將它們發送給一組分析器。
步驟5,對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁。
在具體實現時,可以選擇由google提供的safebrowsing黑名單組成的分析器(分析模塊)。這個黑名單已經被google用來實時處理數以億計的網頁,並有api提供給外部調用者使用。此外,它不斷更新並且其誤判率很低。
當然,在本步驟中也可以對輸入分析器的url中的已知非惡意網頁資源進行過濾,從而進一步提高發現效率。
也就是說,所述對所述訪問交集中網頁資源進行惡意網頁檢測,包括:
根據預先獲取的非惡意網頁資源,對所述訪問交集中網頁資源進行過濾;
對過濾後的網頁資源進行惡意網頁檢測。
本發明實施例通過用戶惡意網頁訪問日誌中訪問關係的概念,提出了一種新的惡意網頁發現uvbm方法。uvbm方法從已有的惡意網頁集合出發,自動發現可信度低的用戶和對應的訪問關係,從而進一步利用低可信度用戶對其他網頁的訪問關係來發現未知的惡意網頁集合。
本發明實施例通過混合使用惡意網頁黑名單以及「用戶-網站」間的訪問關係,實現了惡意網頁的輕量級分類,並且有效提高黑名單的可擴展性,使其能夠應用於動態網絡環境中。主要包含兩個方面:一是從已有的惡意網頁集合出發,自動發現可信度低的用戶和對應的訪問關係;二是利用低可信度用戶對其他網頁的訪問關係來發現未知的惡意網頁集合。
本發明實施例與人工報告和啟發式爬蟲相比,提供了一種更好的動態黑名單的產生方法。一方面,它通過使用訪問關係,限制了惡意網頁的檢測範圍,避免了對訪問流中所有未知urls的詳細檢測。另一方面,和人工報告相比,它避免了更多的人為幹預。此外,該方法通過保存部分訪問日誌,可以有效地縮小內容檢測範圍並幫助發現潛在的惡意網頁。
基於上述的uvbm方法,在中國網站排名上選取了10類共6353個網址,並將它們作為網頁訪問的代表。本發明設計了兩個實驗來分別驗證uvbm方法的濃度、擴展度和時間性能。
第一個實驗通過和傳統檢查方法進行對比來驗證uvbm方法發現惡意網頁url的能力。首先,對很小的一部分網址進行深入分析和檢查,得到一部分惡意網頁url(又稱「種子」,下同,本文中為67個url)。其次,充分使用「種子」來識別可信度低的用戶並繼續產生新的惡意網頁url,如表2所示實驗組別1-3。最後,將uvbm方法同其他傳統檢測半數檢查和全面檢查方法進行比較,見實驗組別4-5。其中半數檢查是指檢查一半的訪問日誌以發現惡意網頁網址,全面檢查是指檢查全部訪問日誌以發現惡意網頁網址。
表2
如表2所示,初始階段,uvbm從濃度為1.06%的url庫裡,分析並識別出67個惡意網頁url作為「種子」。在對「種子」分析的基礎上,uvbm提交了18440條url給分析器,其中254條url被最終認定為惡意網頁。由表2可知,其濃度由1.29%提高到1.94%。此外,與全面檢查訪問記錄相比,只對可信度低的用戶的訪問日誌進行分析,其惡意網頁url濃度分別上升7.1%-51.14%。即用戶的可信度越低,其訪問日誌中包含濃度更高的惡意網頁url。
擴展度實驗。如表2和濃度擴展度實驗對比圖4所示,只分析低可信度用戶的日誌,其實際產生惡意網頁url的數量初始惡意網頁url數量的3.25倍以上。
表3比較了不同方法的時間性能。
表3
如表3所示,檢查低可信度用戶訪問記錄是發現惡意網頁url的一種有效方法。採用這種方法可以減少約33.89%的平均檢測時間。特別地,如果系統選取惡意用戶的比例較小,其用於發現一個惡意網頁url的平均時間將大大縮短。這種情況出現的可能原因是每次實驗進行前,將用戶按照可信度從低到高進行了排序。
實驗結果顯示,相比於全部檢查,uvbm方法可以顯著提高惡意網頁url的濃度,從而大大降低平均檢測時間。此外,給定一定數量的惡意網頁,uvbm方法能夠發現大量額外的惡意網頁。相比全面檢查,檢查同樣數量的url,uvbm可以發現3倍以上的惡意網頁。這一對比結果顯示,uvbm在提高url濃度,降低平均檢測時間方面具有較大優勢。同時,該方法需要部分惡意網頁作為「種子」以產生更多的惡意網頁。因此可以擴大「種子」惡意網頁的選取範圍,或者提升「種子」惡意網頁質量,即可更進一步解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題。
基於本發明提出的uvbm方法,本發明進一步提出一種惡意網頁發現裝置,所述裝置包括:
低可信度用戶追蹤模塊510,用於確定每個預先選取的低可信度用戶的網頁資源訪問集合;
可疑url收集模塊520,用於從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集;
分析模塊530,用於對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁。
在本發明的一個實施例中,所述低可信度用戶追蹤模塊510,具體用於從訪問日誌中提取用戶與網頁資源之間訪問關係;
根據所述訪問關係,確定每個預先選取的低可信度用戶的網頁資源訪問集合。
在本發明的另一個實施例中,所述分析模塊530,具體用於根據預先獲取的非惡意網頁資源,對所述訪問交集中網頁資源進行過濾;
對過濾後的網頁資源進行惡意網頁檢測;
根據檢測結果,確定惡意網頁。
在本發明的又一個實施例中,所述低可信度用戶追蹤模塊510,還用於對訪問種子的各用戶進行用戶行為可信度計算;所述種子為預先獲得的惡意網頁集合;
根據計算結果,按照從小到大的順序,從最低用戶行為可信度開始,選取預設數量的低可信度用戶。
進一步說,所述用戶行為可信度的計算方式包括:
在預設的計算區間確定用戶訪問網頁資源的訪問次數;
根據每次訪問的網頁資源對應的網頁類型,確定每次訪問評價值;
根據各訪問評價值和訪問次數,確定用戶行為可信度。
本發明實施例通過確定每個預先選取的低可信度用戶的網頁資源訪問集合,從確定的訪問集合中確定出所有低可信度用戶的網頁資源訪問交集,然後對所述訪問交集中網頁資源進行惡意網頁檢測,根據檢測結果,確定惡意網頁,從而可以有效解決現有惡意網頁分類技術易漏判、準確率低和效率低的問題。
雖然本申請描述了本發明的特定示例,但本領域技術人員可以在不脫離本發明概念的基礎上設計出來本發明的變型。
本領域技術人員在本發明技術構思的啟發下,在不脫離本發明內容的基礎上,還可以對本發明做出各種改進,這仍落在本發明的保護範圍之內。