統一資源定位符(URL)攻擊檢測方法、裝置以及電子設備
本說明書涉及電腦應用領域,尤其涉及一種統一資源定位符(URL)攻擊檢測方法、裝置、以及電子設備。
在網際網路的應用場景中,每天都會產生大量的對於網址的URL存取請求。在這些大量的URL存取請求中,也不乏不法分子試圖通過不合法的URL存取請求而發起的URL攻擊;例如,常見的URL攻擊如木馬攻擊、結構化查詢語言(SQL)注入攻擊、跨站腳本攻擊(XSS)等。這一類非法的URL存取請求,通常會與普通的URL存取請求存在一定的區別;因此,在構建線上系統的同時,通過一些安全手段對非法用戶發起的URL攻擊進行快速的識別檢測是不可忽視的問題。
本說明書提出一種URL攻擊檢測方法,所述方法包括: 從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於正樣本和無標記學習(PU- Learning)機器學習算法訓練得到的機器學習模型; 基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 可選的,所述URL攻擊檢測模型為基於代價敏感的PU-Learning機器學習算法訓練得到的機器學習模型。 可選的,所述方法還包括: 從若干URL存取請求樣本中攜帶的域名資訊中提取若干維度的域名特徵;其中,所述若干URL存取請求樣本包括被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本;所述樣本標籤表徵所述URL存取請求樣本為URL攻擊請求; 基於提取到的域名特徵構建訓練樣本; 基於代價敏感的PU-Learning機器學習算法對所述若干URL存取請求樣本進行訓練得到所述URL攻擊檢測模型。 可選的,與被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本對應的損失函數,分別被配置了代價敏感權重;其中,與被標記了樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重,大於與未標記樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重。 可選的,所述URL攻擊檢測模型包括基於PU-Learning機器學習算法訓練得到的多個機器學習模型; 將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分,包括: 將所述域名特徵分別輸入所述多個機器學習模型進行預測計算,得到多個風險評分;對所述多個風險評分進行加權計算得到所述URL存取請求的風險評分。 可選的,提取出的所述若干維度的域名特徵包括以下域名特徵中的多個的組合: 域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數。 本說明書還提出一種URL攻擊檢測裝置,所述裝置包括: 第一提取模組,從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 預測模組,將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於PU-Learning機器學習算法訓練得到的機器學習模型; 確定模組,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 可選的,所述URL攻擊檢測模型為基於代價敏感的PU-Learning機器學習算法訓練得到的機器學習模型。 可選的,所述裝置還包括: 第二提取模組,從若干URL存取請求樣本中攜帶的域名資訊中分別提取若干維度的域名特徵;其中,所述若干URL存取請求樣本包括被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本;所述樣本標籤表徵所述URL存取請求樣本為URL攻擊請求; 構建模組,基於提取到的域名特徵構建訓練樣本; 訓練模組,基於代價敏感的PU-Learning機器學習算法對所述若干URL存取請求樣本進行訓練得到所述URL攻擊檢測模型。 可選的,與被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本對應的損失函數,分別被配置了代價敏感權重;其中,與被標記了樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重,大於與未標記樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重。 可選的,所述URL攻擊檢測模型包括基於PU-Learning機器學習算法訓練得到的多個機器學習模型; 將預測模組進一步: 將所述域名特徵分別輸入所述多個機器學習模型進行預測計算,得到多個風險評分;對所述多個風險評分進行加權計算得到所述URL存取請求的風險評分。 可選的,提取出的所述若干維度的域名特徵包括以下域名特徵中的多個的組合: 域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數。 本說明書還提出一種電子設備,包括: 處理器; 用於儲存機器可執行指令的儲存器; 其中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使: 從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於PU-Learning機器學習算法對若干URL存取請求樣本進行訓練得到的機器學習模型; 基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 本說明書實施例提供的技術方案,通過將從URL存取請求中攜帶的域名資訊中提取出的域名特徵輸入至基於PU-Learning機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
機器學習,根據訓練樣本是否有標記資訊,通常被劃分為有監督學習、無監督學習、半監督學習這三大類。其中,半監督學習,是指用於訓練機器學習模型的訓練樣本中,僅部分訓練樣本是有標記樣本,而其餘的訓練樣本為無標記樣本,利用無標記樣本來輔助有標記樣本的學習過程。 傳統的半監督學習,通常存在多種類型的標記樣本;例如,對於應用極為廣泛的二分類問題,有標記的訓練樣本通常被劃分為有標記的正樣本和負樣本; 然而,在實際場景中,建模一方收集到的訓練樣本中的有標記樣本,很可能只包含一個類別的標記;比如,可能只有少量有標記的正樣本,其餘的樣本均為無標記樣本。而針對於這場景的機器學習,通常稱之PU Learning (Positive and Unlabeled Learning,正樣本和無標記學習),即針對有標記的正樣本和無標記樣本的機器學習過程。 在傳統的進行URL攻擊檢測的安全系統中,通常會沉澱大量的被標記為URL攻擊的URL存取請求,和大量無標記的URL存取請求;因此,如何利用傳統的安全系統中沉澱的這些攜帶標記和未被標記的URL存取請求,通過機器學習的方式來提前發現那些潛在的URL攻擊(比如URL木馬攻擊),對於URL攻擊的識別檢測和及時防護,則具有十分重要的意義。 有鑑於此,本說明書提出一種基於PU-Learning機器學習算法對同時包含大量被標記為URL攻擊和未被標記的URL存取請求樣本進行機器學習訓練,來構建URL攻擊檢測模型,並使用該URL攻擊檢測模型對正常的URL存取請求進行攻擊檢測,來發現潛在的URL攻擊的技術方案。 在實現時,可以預先準備若干URL存取請求樣本;其中,在這些URL存取請求樣本中同時包含若干被標記為URL攻擊的正樣本和若干無標記樣本。然後,可以對這些URL存取請求樣本進行資料切分,提取出這些URL存取請求樣本中攜帶的域名資訊;比如,URL存取請求中攜帶的主域名和對應的域名後綴。 進一步,可以從這些域名資訊中分別提取出若干個維度的域名特徵,並對這些域名特徵進行歸一化處理,然後將歸一化處理後的域名特徵作為建模特徵來構建訓練樣本。當訓練樣本構建完成後,可以基於PU-Learning機器學習算法對這些訓練樣本進行訓練,來構建URL攻擊檢測模型;例如,可以採用基於代價敏感的PU-Learning機器學習算法對訓練樣本進行訓練。 最後,當URL攻擊檢測模型訓練完成後,可以按照相同的方式,從需要進行攻擊檢測的URL存取請求攜帶的域名資訊中分別提取出若干維度的域名特徵,並基於提取出的域名特徵來構建預測樣本,將構建完成的預測樣本輸入至上述URL攻擊檢測模型中進行預測計算,得到該URL存取請求的風險評分(比如該URL存取請求為URL攻擊請求的風險概率),然後可以基於該風險評分來確定該URL存取請求是否為URL攻擊請求。 通過以上技術方案,通過將從URL存取請求中攜帶的域名資訊中提取出的域名特徵輸入至基於PU-Learning機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。 下面通過具體實施例並結合具體的應用場景對本說明書進行描述。 請參考圖1,圖1是本說明書一實施例提供的一種URL攻擊檢測方法,執行以下步驟: 步驟102,從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 步驟104,將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於PU-Learning機器學習算法訓練得到的機器學習模型; 步驟106,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 在本說明書中,建模方可以預先收集大量的被標記為URL攻擊的URL存取請求作為正樣本,和大量未進行標記的URL存取請求作為無標記樣本,並基於收集到的這些URL存取請求樣本來構建訓練樣本集,然後基於PU-Learning機器學習算法對該訓練樣本集進行訓練,來構建上述URL攻擊檢測模型。 請參見圖2,圖2為本說明書示出的一種構建訓練樣本集訓練PU-Learning模型的流程圖。 如圖2所示,首先,可以對收集到的這些原始的URL存取請求樣本分別進行資料切分,提取出這些URL存取請求樣本中攜帶的域名資訊;例如,在實現時,上述域名資訊具體可以包括URL存取請求中攜帶的主域名和與主域名對應的域名後綴。 當提取出這些URL存取請求樣本中攜帶的域名資訊後,可以從這些域名資訊中篩選出已知的URL攻擊請求中較為常見的那一部分域名資訊,用以構建機器學習模型。即篩選出最能夠表徵URL攻擊請求的特徵的域名資訊,來參與建模。 例如,在實際應用中,對於部分只在個別的URL存取請求中出現的特殊域名資訊,由於這部分域名資訊並不能真實反映出URL攻擊請求的特徵,參與建模會對模型的結果造成干擾,因此對於這部分域名資訊可以進行過濾處理。 進一步的,對於篩選出的域名資訊,可以從這些域名資訊中分別提取出若干個維度的域名特徵,來作為建模特徵。 其中,從這些域名資訊中提取出的域名特徵,在本說明書中不進行特殊限定,在實際應用中,任意形式的能夠表徵URL攻擊請求中攜帶的域名資訊的特徵以及規律的域名特徵,都可以被選定作為建模特徵。 例如,在實際應用中,參與建模的本領域技術人員,可以基於經驗從這些域名資訊對應的參數取值中提取出若干個維度的域名特徵,然後基於這些域名特徵進行嘗試建模,並對建模結果進行評估,來從中篩選出對模型的貢獻度最高的若干個維度的域名特徵作為建模特徵。 在示出的一種實施方式中,從這些域名資訊中提取出的域名特徵,可以包括域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數等8個維度。在實際應用中,本領域技術人員可以將以上8個維度進行組合作為建模特徵,或者從以上8個維度進一步篩選出多個維度進行組合作為建模特徵。 當然,以上示出的8個維度的域名特徵僅為示例性的;顯然,在實際應用中,本領域技術人員也可以從這些域名資訊中提取出以上8個維度以外的其它維度的域名特徵作為建模特徵,在本說明書中不再進行一一列舉。 請繼續參見圖2,當從篩選出的域名資訊中分別提取出若干個維度的域名特徵後,由於不同的域名特徵的取值範圍可能並不統一,因此還可以對這些維度的域名特徵進行歸一化處理,將不同的域名特徵的取值範圍歸一化到一個統一的數值區間,從而來消除由於域名特徵的取值範圍不同對建模精度造成的影響。 當對提取出的域名特徵歸一化處理完成之後,可以基於從各URL存取請求樣本攜帶的域名資訊中提取出的域名特徵,為各URL存取請求樣本分別創建一個對應的特徵向量作為訓練樣本;其中,創建的特徵向量的維度,與提取出的域名特徵的維度相同。 當為各URL存取請求樣本構建了對應的特徵向量後,此時可以基於為各URL存取請求樣本構建的特徵向量,創建一個目標矩陣;例如,假設共計收集到N條URL存取請求樣本,從每一個URL存取請求樣本提取出M維的域名特徵,那麼該目標矩陣具體可以是一個N*M維的目標矩陣。 此時,創建的該目標矩陣,即為最終參與機器學習模型訓練的訓練樣本集。 請繼續參見圖2,當訓練樣本集訓練完畢,此時可以基於PU-Learning機器學習算法對這些訓練樣本進行訓練,來構建上述URL攻擊檢測模型。 其中,對於PU-Learning機器學習算法而言,通常可以包含多種機器學習策略;例如,PU-Learning機器學習算法包含的典型的機器學習策略,通常包括兩階段法(two-stage strategy)和代價敏感法(cost-sensitive strategy)兩類。 所謂兩階段法,算法首先基於已知的正樣本和無標記樣本,在無標記樣本中挖掘發現潛在的可靠負樣本(Reliable Negative),然後基於已知的正樣本和挖掘出來的可靠負樣本,將問題轉化為傳統的有監督的機器學習的過程,來訓練分類模型。 而對於代價敏感的策略而言,算法假設無標記樣本中正樣本的比例極低,可以直接將無標記樣本作為負樣本,為正樣本設置一個相對於負樣本更高的代價敏感權重;例如,通常會在基於代價敏感的PU-Learning機器學習算法的目標方程中,為與正樣本對應的損失函數,設置一個更高的代價敏感權重。 通過給正樣本設置更高的代價敏感權重,使得最終訓練出的分類模型分錯一個正樣本的代價遠遠大於分錯一個負樣本的代價,如此一來,可以直接通過利用正樣本和無標記樣本(當作負樣本)學習一個代價敏感的分類器,來對未知的樣本進行分類。 在示出的一種實施方式中,可以選擇代價敏感的PU-Learning機器學習算法作為建模算法,對上述訓練樣本集進行訓練,來構建上述URL攻擊檢測模型。 以下對基於代價敏感的PU-Learning機器學習算法對上述訓練樣本集進行訓練的過程進行詳細。 其中,需要說明的是,在本說明書中以基於代價敏感的PU-Learning機器學習算法對上述訓練樣本集進行訓練僅為示例性的,並不用於限定;顯然,本領域技術人員在結合本說明書中披露的技術細節,對本說明書的方案進行實施時,也可以採用PU-Learning機器學習算法中其它的機器學習策略(比如兩階段法),在本說明書中不再一一詳述。 在本說明書中,假設上述訓練樣本集中的正樣本被標記為1,表示與該訓練樣本對應的URL存取請求,為已知的URL攻擊請求;無標記樣本被作為負樣本標記為-1,表示該訓練樣本對應的URL存取請求為正常的URL存取請求。 基於代價敏感的PU-Learning機器學習算法的目標方程可以用如下公式進行表徵:
其中,在以上公式中:
,即為最終需要訓練的機器學習模型的函數表達式,表示學習到的模型對訓練樣本
的預測結果(即最終輸出的風險評分)。其中,
和b即為最終需要訓練出的模型參數。
表示與標記為1的正樣本對應的損失函數,用於表徵模型對正樣本的預測結果
和真實標記
=1之間的誤差損失;
表示與標記為-1的負樣本對應的損失函數,用於表徵模型對負樣本的預測結果
和真實標記
= -1之間的誤差損失;通常來說,
和
的差別越大,帶來的損失越大。
表示為正樣本對應的損失函數配置的代價敏感權重。
表示為正樣本對應的損失函數配置的代價敏感權重。其中,
取值大於
,在實際應用中,可以將
的取值設置為一個遠大於
的取值,表示最終訓練出的URL攻擊檢測模型分錯一個正樣本的代價大於分錯一個負樣本的代價。 其中,上述損失函數
)的具體類型,在本說明書中不進行特別限定;例如,在實際應用中,可以選擇常見的log-loss函數或者hinge-loss函數。 其中,當上述損失函數
採用log-loss函數,表達式為:
當上述損失函數
採用hinge-loss函數,表達式為:
上述
表示
為正則化項,用於控制模型的複雜度;例如,上述正則化項的通常可以用L1範數或L2範數來標識;上述
為正則化超參數,在實際應用中可以靈活設置。 例如,假設選擇log-loss函數作為損失函數,選擇L2范數作為正則化項,那麼基於代價敏感的PU-Learning機器學習算法的目標方程可以表示成如下公式的形式:
在本說明書中,可以將上述訓練樣本集中的訓練樣本,輸入以上目標方程中進行迭代運算,計算出預測結果
和真實標記
=1以及
=-1之間的誤差損失最小時的模型參數
和b。其中,具體的迭代運算以及求解過程,本說明書中不再進行詳述,本領域技術人員在將本說明書的技術方案付諸實踐時,可以參考相關技術中的記載。 當計算出預測結果
和真實標記
=1以及
=-1之間的誤差損失最小時的模型參數
和b後,此時上述目標方程算法收斂,上述URL攻擊檢測模型訓練完畢。 在本說明書中,當上述URL攻擊檢測模型訓練完畢後,可以按照如圖2示出的相同的特徵提取方式,從需要進行攻擊檢測的URL存取請求提取域名資訊名、從提取到的域名資訊中篩選域名資訊、從篩選出的域名資訊中提取若干個維度的域名特徵(與模型訓練階段的域名特徵一致),然後基於提取到的域名特徵構建預測樣本,並將預測樣本輸入至上述URL攻擊檢測模型進行預測計算,得到該URL存取請求的風險評分。 當通過上述URL攻擊檢測模型預測出該URL存取請求的風險評分後,可以進一步基於該URL風險評分,來確定該URL存取請求是否為URL攻擊請求; 例如,將預測樣本輸入至URL攻擊檢測模型後,模型通常會對應於正樣本(即URL攻擊請求)和負樣本(即正常URL存取請求)分別輸出一個風險評分; 在一種實現方式中,可以通過比較這兩個風險評分之間的大小,來確定該URL存取請求為URL攻擊請求,還是普通的正常URL存取請求;如果與正樣本對應的風險評分大於與負樣本對應的風險評分,則表明該URL存取請求為URL攻擊請求;反之,表明該URL存取請求為正常URL存取請求。 在另一種實現方式中,為了提升判定結果的準確度,除了直接比較這兩個風險評分以外,還可以將這兩個風險評分與預設的風險閾值進行比較,來確定該URL存取請求的具體類型;如果與正樣本對應的風險評分大於與負樣本對應的風險評分,並且與正樣本對應的風險評分大於預設的風險閾值,則表明該URL存取請求為URL攻擊請求;反之,如果與負樣本對應的風險評分大於與正樣本對應的風險評分,並且與負樣本對應的風險評分大於預設的風險閾值,則表明該URL存取請求為正常URL存取請求。 請繼續參見圖2,在本說明書中,為了提升訓練出的URL攻擊檢測模型的穩定性和預測能力,可以採用集成學習的方式,訓練出多個URL攻擊檢測模型,並在該多個URL攻擊檢測模型訓練完畢後,通過集成(融合)該多個攻擊檢測模型輸出的風險評分,來確定該URL存取請求的具體類型。 其中,在通過上述集成學習的方式,來訓練多個URL攻擊檢測模型時,所採用的訓練樣本、訓練樣本中包含的建模特徵、目標方程都可以存在差異,在實際應用中,本領域技術人員可以基於實際的建模需求進行靈活的控制。 例如,在一種實現方式中,可以通過對上述訓練樣本集中的訓練樣本所包含的建模特徵進行採樣,將上述訓練樣本集按照所包含的建模特徵,劃分為多個訓練樣本子集,然後針對每一個訓練樣本子集分別進行訓練,來構建上述URL攻擊檢測模型。當然,在實際應用中,也可以不對上述訓練樣本集進行採樣,而是需要訓練的多個URL攻擊檢測模型共用一個訓練樣本集,在本說明書中不進行別限定。 在另一種實現方式中,在通過上述集成學習的方式,來訓練多個URL攻擊檢測模型時,各URL攻擊檢測模型的目標方程也可以存在差異;例如,仍以以上示出的基於代價敏感的PU-Learning機器學習算法的目標方程為例,在實際應用中,在通過集成學習的方式,訓練各個URL攻擊檢測模型時,與各URL攻擊檢測模型對應的目標方程中,所採用的損失函數的類型、以及正則化項可以互不相同;比如,以通過集成學習訓練兩個URL攻擊檢測模型為例,第一攻擊檢測模型對應的目標方程中,可以採用log-loss函數;而第二攻擊檢測模型對應的目標方程中,可以採用hinge-loss函數;或者,第一攻擊檢測模型的目標方程中的正則化項,可以採用L1範數;而第二攻擊檢測模型對應的目標方程中的正則化項,可以採用L2範數,等等。 在這種情況下,當需要使用訓練完成的URL攻擊檢測模型,對需要進行攻擊檢測的URL存取請求進行攻擊檢測時,可以基於同樣的方式,構建多個預測樣本,然後分別輸入至該多個URL攻擊檢測模型進行預測計算,得到多個對應於該URL存取請求的風險評分。此時,可以對該多個風險評分進行加權計算,然後將加權計算結果作為該URL存取請求最終的風險評分,來進一步確定該URL存取請求的具體類型。 其中,對上述多個風險評分進行加權計算的具體方式,在本說明書中不進行特別限定;例如,在一種實現方式中,可以採用加權平均的方式,將每一個風險評分的權重值設置為0.5進行求和,利用多個URL攻擊建模模型進行預測計算得到的風險評分的平均值,來作為該URL存取請求最終的風險評分。 通過以上實施例可知,在本說明書中,通常將安全系統中沉澱大量的被標記為URL攻擊的URL存取請求,和大量無標記的URL存取請求作為正樣本和無標記樣本,利用PU-Learning機器學習算法訓練來構建URL攻擊檢測模型,並使用該URL攻擊檢測模型對URL存取請求進行攻擊檢測,與傳統的由安全人員在安全系統中手工配置的檢測規則進行URL攻擊檢測的方式相比,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。而且,由於上述URL攻擊檢測模型能夠在日常的URL存取請求中,提前發現潛在的威脅,因此可以指導安全人員及時的對安全系統中的檢測規則及時的進行完善和補充,能夠提升整個安全系統的安全等級。 與上述方法實施例相對應,本說明書還提供了一種URL攻擊檢測裝置的實施例。本說明書的URL攻擊檢測設備的實施例可以應用在電子設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在電子設備的處理器將非易失性儲存器中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書的URL攻擊檢測裝置所在電子設備的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路接口、以及非易失性儲存器之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。 圖4是本說明書一示例性實施例示出的一種URL攻擊檢測裝置的框圖。 請參考圖4,所述URL攻擊檢測裝置40可以應用在前述圖3所示的電子設備中,包括有:第一提取模組401、預測模組402和確定模組403。 其中,第一提取模組401,從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 預測模組402,將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於PU-Learning機器學習算法訓練得到的機器學習模型; 確定模組403,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 在本實施例中,所述URL攻擊檢測模型為基於代價敏感的PU-Learning機器學習算法訓練得到的機器學習模型。 在本實施例中,所述裝置40還包括: 第二提取模組404(圖4中未示出),從所述若干URL存取請求樣本中攜帶的域名資訊中提取若干維度的域名特徵;其中,所述若干URL存取請求樣本包括被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本;所述樣本標籤表徵所述URL存取請求樣本為URL攻擊請求; 構建模組405(圖4中未示出),基於提取到的域名特徵構建訓練樣本; 訓練模組406(圖4中未示出),基於代價敏感的PU-Learning機器學習算法對所述若干URL存取請求樣本進行訓練得到所述URL攻擊檢測模型。 在本實施例中,與被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本對應的損失函數,分別被配置了代價敏感權重;其中,與被標記了樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重,大於與未標記樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重。 在本實施例中,所述URL攻擊檢測模型包括基於PU-Learning機器學習算法對若干URL存取請求樣本進行訓練得到的多個機器學習模型; 將預測模組402進一步: 將所述域名特徵分別輸入所述多個機器學習模型進行預測計算,得到多個風險評分;對所述多個風險評分進行加權計算得到所述URL存取請求的風險評分。 在本實施例中,提取出的所述若干維度的域名特徵包括以下域名特徵中的多個的組合: 域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數。 上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。 對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦芯片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。 與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的儲存器;其中,處理器和儲存器通常通過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部接口,以能夠與其他設備或者部件進行通訊。 在本實施例中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使: 從URL存取請求中攜帶的域名資訊中提取若干維度的域名特徵; 將所述域名特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於PU-Learning機器學習算法訓練得到的機器學習模型; 基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。 在本實施例中,所述URL攻擊檢測模型為基於代價敏感的PU-Learning機器學習算法對所述若干URL存取請求樣本進行訓練得到的機器學習模型。 在本實施例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使: 從所述若干URL存取請求樣本中攜帶的域名資訊中提取若干維度的域名特徵;其中,所述若干URL存取請求樣本包括被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本;所述樣本標籤表徵所述URL存取請求樣本為URL攻擊請求; 基於提取到的域名特徵構建訓練樣本; 基於代價敏感的PU-Learning機器學習算法對所述若干URL存取請求樣本進行訓練得到所述URL攻擊檢測模型。 在本實施例中,與被標記了樣本標籤的URL存取請求樣本和未標記樣本標籤的URL存取請求樣本對應的損失函數,分別被配置了代價敏感權重;其中,與被標記了樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重,大於與未標記樣本標籤的URL存取請求樣本對應的損失函數的代價敏感權重。 在本實施例中,所述URL攻擊檢測模型包括基於PU-Learning機器學習算法對若干URL存取請求樣本進行訓練得到的多個機器學習模型; 在本實施例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使: 將所述域名特徵分別輸入所述多個機器學習模型進行預測計算,得到多個風險評分;對所述多個風險評分進行加權計算得到所述URL存取請求的風險評分。 在本實施例中,提取出的所述若干維度的域名特徵包括以下域名特徵中的多個的組合: 域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數。 本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。 應當理解的是,本說明書並不局限於上面已經描述並在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。 以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
40:URL攻擊檢測裝置 102:步驟 104:步驟 106:步驟 401:第一提取模組 402:預測模組 403:確定模組
圖1是本說明書一實施例示出的URL攻擊檢測方法的流程圖; 圖2是本說明書一實施例示出的一種構建訓練樣本集訓練PU-Learning模型的流程圖; 圖3是本說明書一實施例提供的承載一種URL攻擊檢測裝置的電子設備所涉及的硬體結構圖; 圖4是本說明書一實施例提供的一種所述URL攻擊檢測裝置的邏輯框圖。