本發明涉及網絡攻擊或網絡安全領域,具體涉及一種對鏈接進行惡意性檢測的方法及裝置,尤其涉及一種多維度、加權值的對鏈接進行惡意性檢測的方法及裝置。
背景技術:
隨著互聯網的發展,越來越多的不法分子利用網絡中存在著的各種漏洞,去惡意攻擊或者獲取別人的私密信息,導致用戶不同程度的受到財產或其他方面的損失。
現在很多公司都有提供對url(Uniform Resource Locator,統一資源定位符,其是指標準資源在互聯網上的地址,對該標準資源進行訪問方法和獲得位置的一種簡單表示)惡意性行為進行檢測的入口,其基本實現方案為:存在一個接口定時更新網絡中存在的惡意性的url,并將之存放在數據庫中,當用戶想要檢測某一條url是否為惡意性的url時,將該條url與數據庫中存放的數據進行對比分析,如果該url存放在數據庫中,判定該url為惡意性的,并返回該數據;如果不存在于數據庫中,將該url代入檢測接口再次進行檢測,并將最后的結果進行返回。
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
在進行惡意性行為判定的過程中,對比的數據庫比較單一,可能因為數據庫的單一性從而影響url檢測結果的準確性。
輸出的結果只顯示該url是否為惡意性的,并沒有標注是哪種惡意的url分類。
技術實現要素:
本發明實施例提供一種對鏈接進行惡意性檢測的方法及裝置,以提高惡意鏈接檢測的準確度和可信度,并明確惡意鏈接的具體類型。
為達上述目的,一方面,提供一種對鏈接進行惡意性檢測的方法,其包括:獲取待檢測鏈接;獲得多個來源數據庫分別對所述待檢測鏈接的多個初步檢測結果,所述初步檢測結果包括所述待檢測鏈接為安全鏈接、或者屬于相應分類的惡意鏈接;將各來源數據庫預分配的權值分別作為其初步檢測結果對應的權值,并將結果相同的各初步檢測結果的權值進行統計求和,選取權值統計和值最高的初步檢測結果作為所述待檢測鏈接的最終檢測結果。
為達上述目的,另一方面,提供一種對鏈接進行惡意性檢測的裝置,其包括:輸入模塊,用于獲取待檢測鏈接;查詢模塊,用于獲得多個來源數據庫分別對所述待檢測鏈接的多個初步檢測結果,所述初步檢測結果包括所述待檢測鏈接為安全鏈接、或者屬于相應分類的惡意鏈接;以及,檢測模塊,用于將各來源數據庫預分配的權值分別作為其初步檢測結果對應的權值,并將結果相同的各初步檢測結果的權值進行統計求和,選取權值計和值最高的初步檢測結果作為所述待檢測鏈接的最終檢測結果。
上述技術方案具有如下有益效果:
上術技術方案由于收集不同的數據庫的來源,在對鏈接進行惡意性行為分析的時候,對比多個數據庫,并根據數據來源的可靠性,分配不同的權值,從而得出更為準確的檢測結果。另外,檢測結果不僅僅反映安全鏈接或惡意鏈接,還能檢測出惡意鏈接的具體分類。上述方案實現了對鏈接進行多維度、加權值的惡意性檢測。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例的一種對鏈接進行惡意性檢測的方法的流程圖;
圖2是本發明的實施例的另一種對鏈接進行惡意性檢測的方法的流程圖;
圖3是本發明的實施例的利用更新接口進行數據庫更新的示意圖;
圖4是本發明的實施例的作為一個舉例的查詢數據庫的返回結果示意圖;
圖5是本發明的實施例的一種對鏈接進行惡意性檢測的裝置的邏輯功能框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例1
圖1是本發明實施例的一種對鏈接進行惡意性檢測的方法的流程圖。如圖1所示,該方法包括如下步驟:
步驟110:獲取待檢測鏈接。這里的鏈接包括url鏈接等。這里的鏈接可以是單一待檢測鏈接,也可以是多個待檢測鏈接,依序循環進行查詢和檢測,還可以是復合型的待檢測鏈接,即內嵌有其他鏈接的鏈接數據。
步驟120:獲得多個來源數據庫分別對該待檢測鏈接的多個初步檢測結果,各初步檢測結果包括該待檢測鏈接為安全鏈接、或者屬于相應分類的惡意鏈接。
在本實施例中,根據網絡攻擊或者目的的不同,可以將這些惡意攻擊分為釣魚、掛馬、欺詐、違規內容、業務作弊等不同分類。其中,釣魚:是指不法分子利用各種方式,仿造真實網站的地址及網頁內容,或利用網站中存在的漏洞插入有危害的代碼,用來獲取用戶的密碼、賬號等真實信息。掛馬:是指在網頁加載過程中能夠自動運行的由不法分子惡意構造的攻擊第三方插件或者瀏覽器的代碼。欺詐:是指欺騙用戶,可能存在使用戶泄露個人信息或者造成財產損失的行為,例如虛假的中獎信息等。違規內容:是指違反國家法律法規的內容,例如黃、賭、毒。業務作弊:是指對互聯網行業的運行造成嚴重干擾的行為,例如刷粉、刷信譽值、差評師、游戲外掛等。由于本步驟獲取的各初步檢索結果包括惡意鏈接的分類,增加了對惡意鏈接分類的標注或標識,從而相比于現有技術只顯示該鏈接是否為惡意性的,更有利于對惡意鏈接的分類處理和網絡安全管理。惡意鏈接分類標識可以是十進制數字、字母、數字字母的組合、二進制數字或者文字標識信息等。
單一數據庫的惡意鏈接檢測結果可能不夠全面、客觀,準確性與可信度無法有效保障。本步驟由于獲取多個來源數據庫對該待檢測鏈接的多個初步檢測結果,從而相比于現有技術的僅從單一數據庫獲取檢測數據,惡意性檢測分析結果更加準確,可信度更高。
在一示例性的實施例中,步驟120具體可包括如下步驟:在預先建立的鏈接數據庫中查詢,獲得多個來源數據庫分別對所述待檢測鏈接的多個初步檢測結果,該鏈接數據庫中記錄每一個疑似惡意鏈接、與多個來源數據庫分別對該疑似惡意鏈接的多個初步檢測結果之間的對應關系,該疑似惡意鏈接是指多個來源數據庫分別對該疑似惡意鏈接的多個初步檢測結果中,至少有一個初步檢測結果不為安全鏈接;或者,如果在預先建立的惡意鏈接數據庫中不存在該待檢測鏈接時,將該待檢測鏈接代入多個來源數據庫進行初步檢測,并獲得多個來源數據庫返回的多個初步檢測結果。
步驟130:將各來源數據庫預分配的權值分別作為其初步檢測結果對應的權值,并將結果相同的各初步檢測結果的權值進行統計求和,選取權值統計和值最高的初步檢測結果作為該待檢測鏈接的最終檢測結果。
在本實施例中,權值也稱為權數或者權重,是對加權平均數中的各個數的頻數的解釋。由于各數據來源(例如來源數據庫)的可靠程度不同,因此需要預先對各數據來源賦予不同的權值。權值的分配規則有許多種,例如根據歷史數據進行分析來分配權值,或者根據對各數據來源進行取樣分析,對檢測結果進行驗證以得到分配給各數據來源的可信度權值。本步驟通過收集不同的數據庫的來源,在對鏈接進行惡意性行為分析的時候,對比多個數據庫,并根據來數據庫來源的可靠性,分配不同的權值,從而可得出更為準確的惡意鏈接檢測結果。
在本步驟中,當具有兩個或以上的相同的初步檢測結果時,將這兩個或以上的相同初步檢測結果的權值相加,得到其權值和值。這相當于將相同的檢測結果對應的權值合并相加后再與其他檢測結果的權值進行大小比較。
本發明的實施例的上述技術方案,由于收集不同的數據庫的來源,在對鏈接進行惡意性行為分析的時候,對比多個來源數據庫,并根據數據來源的可靠性,分配不同的權值,從而得出更為準確的檢測結果。另外,檢測結果不僅僅反映安全鏈接或惡意鏈接,還能檢測出惡意鏈接的具體分類,檢測結果更加科學,有利于對惡意鏈接的分類處理或管理。
實施例2
圖2是本發明的實施例的另一種對鏈接進行惡意性檢測的方法的流程圖。圖2是基于圖1思想的一種更加具體和優化的實施方式。如圖2所示,其包括如下流程:
接受url作為參數(步驟201),將該url去預先建立的鏈接數據庫進行查詢(步驟203),判斷該url是否存在于該鏈接數據庫中(步驟204),如果存在于該鏈接數據庫中,則從該鏈接數據庫中獲得各來源數據庫的(初步)檢測結果,并賦予相應的權值(步驟205),綜合各來源數據庫的檢測結果及權值,得到該url的最終檢測結果,并還可以同時輸出各來源數據庫對該url的檢測結果(步驟207)。上述鏈接數據庫中記錄具體url、各來源數據庫對該url是否為惡意鏈接或安全鏈接的判定結果,或者為何種類型的惡意鏈接。
如果該鏈接數據庫中不存在作為參數輸入的url,則將該url作為參數,代入各來源數據庫(合作方)提供的檢測接口進行惡意性檢測,得到各檢測接口的輸出結果,匹配各權值之后,得到最終檢測結果予以輸出(步驟204-步驟206-步驟207)。
在接收接受url作為參數之后,如果發現該url包含內置鏈接,則篩選出該url請求頁面中存在的其他的url鏈接,同樣利用上述步驟203-步驟207對內置的url鏈接求解出結果集,并將結果作為子集進行輸出。在現有技術中,只針對該輸入的一條url進行判定,沒有對該url頁面中可能包含的內置的url鏈接進行判定,同樣會影響url檢測結果的準確性。而本申請通過對url進行分析,篩選出該url請求頁面內置的其他url鏈接,并進行惡意性檢測與分析,有利于提高鏈接惡意性檢測結果的準確性。
如果輸入的不是單一的待檢測url,而是一個包含大量待檢測url數據的文本,從所述文本中獲得各待檢測url鏈接,將所有的待檢測url讀入數組,依次循環進行上述惡意性檢測操作即可。通過這種方式可解決現有技術只針對某一條待檢測url數據進行檢測,無法對大量的含有待檢測url的數據進行檢測并返回結果的問題。
進一步地,本實施例還可包括周期性地或實時地更新惡意鏈接數據庫的步驟,即周期性地獲取各來源數據庫上報的更新鏈接,以及各來源數據庫對更新鏈接的初步檢測結果,針對任一更新鏈接,如果本周期內至少一個來源數據庫對其初步檢測結果不為安全鏈接,則將當前的更新鏈接確定為疑似惡意鏈接,并在鏈接數據庫中記錄當前的更新鏈接、與所有來源數據庫對當前的更新鏈接的各初步檢測結果之間的對應關系;對于鏈接數據庫中某一疑似惡意鏈接,如果本周期內所有來源數據庫對其初步檢測結果均為安全鏈接,則從鏈接數據庫中刪除該疑似惡意鏈接的記錄。具體地,可以定時獲取更新各合作方予以更新的惡意url,將該惡意url存入數據庫,并設置標志位標明該惡意url的來源,及各來源對該惡意url的檢測結果。圖3為利用該更新接口進行數據庫更新的示意圖。src1、src2、src3、src4、src5等分別代表不同的數據來源。
進一步地,以下舉具體的實例來詳述本發明的技術方案:
假設想要查詢:
url=786666.com/?uid=BDS_570875710950168-2e5eab1bb2c970d%7C2205061828&ua=BDS_320_480_android_2.0.1_a1&from=7300029a&ut=GN106_2.3.4_10&pkgname=com.baidu.searchbox_gionee是否為惡意性的鏈接,將該url作為檢測接口的參數進行傳遞,后端服務器接收該參數,并將該url作為值去數據庫中匹配,假設查詢數據庫的結果如圖4所示。
src1、src2、src3、src4、src5等分別代表不同的數據來源,其中不同來源分別對應的數字表示該url的檢測結果,數字對應的含義如表1所示。
表1數字對應結果表
因為各數據來源的可靠程度不同,需要對各數據來源賦予不同的權值,暫時使用的方法為:數據庫中隨機抽取100條數據,手工驗證數據的結果,經過比較,可賦予f1=1,f2=2,f3=5,f4=3,f5=3不同的權值,經過計算該階段的返回結果為{"result":"違規內容","probability":6,"src":[{"src1":"安全","probability":1},{"src2":"釣魚、欺詐","probability":2},{"src3":"賭博網站","probability":5},{"src4":"違規內容","probability":3},{"src5":"違規內容","probability":3}]}。
假設該url中含有內置的url1=www.baidu.com,經數據庫查找,沒有查找到該結果,將該url1作為參數引入各個來源提供的檢測接口,經過驗證,最后可形成的結果為{"result":"違規內容","probability":6,"src":[{"src1":"安全","probability":1},{"src2":"釣魚、欺詐","probability":2},{"src3":"賭博網站","probability":5},{"src4":"違規內容","probability":3},{"src5":"違規內容","probability":3}],"build_in":{"url":"www.baidu.com","result":"安全","probability":14,"src":[{"src1":"安全","probability":1},{"src2":"安全","probability":2},{"src3":"安全","probability":5},{"src4":"安全","probability":3},{"src5":"安全","probability":3}]}}。
本發明的實施例的上述技術方案帶來的有益技術效果如下:
可以對含有大量url數據的文本進行檢測并將結果返回。
收集不同的數據庫的來源,在對url進行惡意性行為分析的時候,對比多個數據庫,并根據數據的可靠性,分配不同的權值,從而可得出更為準確的結果。
在對url進行惡意性行為分析的時候,不再單一的對該一條數據進行分析,將該條url中內置的url鏈接取出,同樣對內置的url鏈接進行惡意性行為分析,賦予不同的權值。
實施例3
圖5是本發明的實施例的一種對鏈接進行惡意性檢測的裝置的邏輯功能框圖。該裝置可以為服務器,如圖5所示,該裝置包括:
輸入模塊310(輸入接口),用于獲取待檢測鏈接;
查詢模塊320,用于獲得多個來源數據庫分別對該待檢測鏈接的多個初步檢測結果,初步檢測結果包括該待檢測鏈接為安全鏈接、或者屬于相應分類的惡意鏈接;
檢測模塊330(檢測接口),用于將各來源數據庫預分配的權值分別作為其初步檢測結果對應的權值,并將結果相同的各初步檢測結果的權值進行統計求和,選取權值計和值最高的初步檢測結果作為該待檢測鏈接的最終檢測結果。
進一步地,查詢模塊320,具體用于在預先建立的鏈接數據庫中查詢,獲得多個來源數據庫分別對待檢測鏈接的多個初步檢測結果,該鏈接數據庫中記錄每一個疑似惡意鏈接、與多個來源數據庫分別對該疑似惡意鏈接的多個初步檢測結果之間的對應關系,疑似惡意鏈接是指多個來源數據庫分別對該疑似惡意鏈接的多個初步檢測結果中,至少有一個初步檢測結果不為安全鏈接;或者,如果在預先建立的惡意鏈接數據庫中不存在該待檢測鏈接時,將該待檢測鏈接代入多個來源數據庫進行初步檢測,并獲得多個來源數據庫返回的多個初步檢測結果。
進一步地,該裝置還包括更新模塊340(更新接口),用于周期性地獲取各來源數據庫上報的更新鏈接,以及各來源數據庫對更新鏈接的初步檢測結果,針對任一更新鏈接,如果本周期內至少一個來源數據庫對其初步檢測結果不為安全鏈接,則將當前的更新鏈接確定為疑似惡意鏈接,并在鏈接數據庫中記錄當前的更新鏈接、與所有來源數據庫對當前的更新鏈接的各初步檢測結果之間的對應關系;對于鏈接數據庫中某一疑似惡意鏈接,如果本周期內所有來源數據庫對其初步檢測結果均為安全鏈接,則從鏈接數據庫中刪除該疑似惡意鏈接的記錄。
進一步地,該裝置還包括篩選模塊350,用于在獲取待檢測鏈接之后,判斷該待檢測鏈接是否包含內置鏈接,如是則篩選出待檢測鏈接中的內置鏈接,將該內置鏈接作為另一待檢測鏈接并觸發所述查詢模塊320。需要說明的是,待檢測鏈接中包含的內置鏈接,作為另一待檢測鏈接,同樣由查詢模塊320和檢測模塊330對該內置鏈接進行惡意性檢測,得到該內置鏈接的最終檢測結果,內置鏈接的惡意性檢測方法與圖1、圖2所示方法相同,待檢測鏈接與其多個內置鏈接的最終檢測結果均會獨立存在并全部呈現給查詢方。
進一步地,輸入模塊310,可具體用于獲取輸入的單一的待檢測鏈接;或者,輸入包含大量待檢測鏈接的文本,從所述文本中獲得各所述待檢測鏈接,并將所有的待檢測鏈接讀入數組,以等候對數組中的各待檢測鏈接依次進行惡意性檢測。
該裝置的工作過程已在前面方法實施例中詳述,在此不再贅述。
上述裝置具有如下有益技術效果:
可以對含有大量url數據的文本進行檢測并將結果返回。
收集不同的數據庫的來源,在對url進行惡意性行為分析的時候,對比多個數據庫,并根據來源數據庫的可靠性,分配不同的權值,得出更為準確的惡意性檢測結果。
在對url進行惡意性行為分析的時候,不再單一的對該一條url進行分析,而是將該條url中內置的url取出,同樣對內置的url進行惡意性行為分析,賦予不同的權值。
本領域技術人員還可以了解到本發明實施例列出的各種說明性邏輯塊(illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結合進行實現。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經通用地描述了它們的功能。這樣的功能是通過硬件還是軟件來實現取決于特定的應用和整個系統的設計要求。本領域技術人員可以對于每種特定的應用,可以使用各種方法實現所述的功能,但這種實現不應被理解為超出本發明實施例保護的范圍。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。