TW201931187A - 統一資源定位符(url)攻擊檢測方法、裝置及電子設備 - Google Patents
統一資源定位符(url)攻擊檢測方法、裝置及電子設備 Download PDFInfo
- Publication number
- TW201931187A TW201931187A TW107136689A TW107136689A TW201931187A TW 201931187 A TW201931187 A TW 201931187A TW 107136689 A TW107136689 A TW 107136689A TW 107136689 A TW107136689 A TW 107136689A TW 201931187 A TW201931187 A TW 201931187A
- Authority
- TW
- Taiwan
- Prior art keywords
- url
- access request
- features
- training
- attack detection
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本說明書提供一種統一資源定位符(URL)攻擊檢測方法,包括:從URL存取請求中攜帶的資訊中提取若干維度的特徵;將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於孤立森林(Isolation Forest)機器學習算法訓練得到的機器學習模型;基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
Description
本說明書涉及電腦應用領域,尤其涉及一種統一資源定位符(URL)攻擊檢測方法、裝置、以及電子設備。
在網際網路的應用場景中,每天都會產生大量的對於網址的URL存取請求。在這些大量的URL存取請求中,也不乏不法分子試圖通過不合法的URL存取請求而發起的URL攻擊;例如,常見的URL攻擊如木馬攻擊、結構化查詢語言(SQL)注入攻擊、跨站腳本攻擊(XSS)等。這一類非法的URL存取請求,通常會與普通的URL存取請求存在一定的區別;因此,在構建線上系統的同時,通過一些安全手段對非法用戶發起的URL攻擊進行快速的識別檢測是不可忽視的問題。
本說明書提出一種URL攻擊檢測方法,所述方法包括:
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於孤立森林(Isolation Forest)機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
可選的,所述方法還包括:
從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
基於提取到的特徵構建若干訓練樣本;
基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
可選的,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型,包括:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
可選的,所述將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分,包括:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
可選的,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
可選的,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
本說明書還提出一種URL攻擊檢測裝置,所述裝置包括:
第一提取模組,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
計算模組,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
確定模組,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
可選的,所述裝置還包括:
第二提取模組,從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
構建模組,基於提取到的特徵構建若干訓練樣本;
訓練模組,基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
可選的,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述訓練模組:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
可選的,所述計算模組:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
可選的,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
可選的,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的儲存器;
其中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使:
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
本說明書實施例提供的技術方案,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於孤立森林(Isolation Forest)機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
可選的,所述方法還包括:
從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
基於提取到的特徵構建若干訓練樣本;
基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
可選的,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型,包括:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
可選的,所述將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分,包括:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
可選的,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
可選的,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
本說明書還提出一種URL攻擊檢測裝置,所述裝置包括:
第一提取模組,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
計算模組,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
確定模組,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
可選的,所述裝置還包括:
第二提取模組,從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
構建模組,基於提取到的特徵構建若干訓練樣本;
訓練模組,基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
可選的,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述訓練模組:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
可選的,所述計算模組:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
可選的,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
可選的,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
本說明書還提出一種電子設備,包括:
處理器;
用於儲存機器可執行指令的儲存器;
其中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使:
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
本說明書實施例提供的技術方案,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
本說明書旨在提出一種基於Isolation Forest(孤立森林)機器學習算法對均未被標記風險標籤的URL存取請求樣本進行機器學習訓練,來構建URL攻擊檢測模型,並使用該URL攻擊檢測模型對正常的URL存取請求進行攻擊檢測,來發現潛在的URL攻擊的技術方案。
在實現時,可以預先準備若干URL存取請求樣本;其中,這些URL存取請求樣本均未被標記風險標籤。然後,可以對這些URL存取請求樣本進行資料切分,從這些URL存取請求樣本中攜帶的資訊中提取出若干維度的特徵;
例如,在實際應用中,上述資訊具體可以包括域名資訊、URL參數,在這種情況下,可以對URL存取請求樣本進行資料切分,提取出URL存取請求與樣本中攜帶的域名資訊(比如主域名和對應的域名後綴)、URL參數(比如URL參數名和對應的參數取值),然後從提取出的域名資訊、URL參數中提取出若干個維度的特徵。
進一步,當從URL存取請求樣本中,分別提取出若干個維度的特徵後,可以對這些特徵進行歸一化處理,然後將歸一化處理後的特徵作為建模特徵來構建訓練樣本。
當訓練樣本構建完成後,可以基於Isolation Forest機器學習算法對這些訓練樣本進行訓練,來構建URL攻擊檢測模型;例如,可以採用Isolation Forest機器學習算法對訓練樣本進行二叉樹分類,構建出多顆隨機二叉樹。
最後,當URL攻擊檢測模型訓練完成後,可以按照相同的方式,從需要進行攻擊檢測的URL存取請求攜帶的資訊中分別提取出若干維度的特徵,並基於提取出的特徵來構建預測樣本,將構建完成的預測樣本輸入至上述URL攻擊檢測模型中進行預測計算,得到該URL存取請求的風險評分,然後可以基於該風險評分來確定該URL存取請求是否為URL攻擊請求。
在以上技術方案中,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
下面通過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖1,圖1是本說明書一實施例提供的一種URL攻擊檢測方法,執行以下步驟:
步驟102,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
步驟104,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
步驟106,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本說明書中,建模方可以預先收集大量的未進行標記的URL存取請求作為無標記樣本,並基於收集到的這些無標記樣本來構建訓練樣本集,然後基於Isolation Forest機器學習算法對該訓練樣本集進行無監督的機器學習訓練,來構建上述URL攻擊檢測模型。
請參見圖2,圖2為本說明書示出的一種構建訓練樣本集訓練Isolation Forest模型的流程圖。
如圖2所示,首先,可以對收集到的這些未進行標記的原始的URL存取請求樣本分別進行資料切分,提取出這些URL存取請求樣本中攜帶的資訊。
其中,上述URL存取請求中攜帶的資訊是指那些能夠從中提取出,可以反映URL存取請求是否存在風險的特徵的資訊。
在示出的一種實施方式中,上述資訊具體可以包括URL存取請求中攜帶的URL參數和域名資訊等。上述URL參數,可以包括URL參數名(ParamName)以及對應的參數取值(ParamValue);而上述域名資訊,可以包括主域名和與主域名對應的域名後綴。
例如,以上述資訊為URL存取請求中攜帶的URL參數為例,可以對原始的URL存取請求樣本進行資料切分,提取出這些URL存取請求樣本中攜帶的URL參數名(ParamName)以及對應的參數取值(ParamValue);
又如,以上述資訊為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攻擊請求中攜帶的資訊的特徵以及規律的特徵,都可以被選定作為建模特徵。
例如,在實際應用中,參與建模的本領域技術人員,可以基於經驗從這些資訊中提取出若干個維度的特徵,然後基於這些特徵進行嘗試建模,並對建模結果進行評估,來從中篩選出對模型的貢獻度最高的若干個維度的特徵作為建模特徵。
在示出的一種實施方式中,從這些資訊中提取出的特徵,可以包括資訊的字符總數、資訊的字母總數、資訊的數字總數、資訊的符號總數、資訊的不同字符數、資訊的不同字母數、資訊的不同數字數、資訊的不同符號數等8個維度。
例如,如果建模方採用URL存取請求樣本中攜帶的域名資訊作為上述資訊,最終提取到的特徵可以包括域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數等8個維度;
如果建模方採用URL存取請求樣本中攜帶的URL參數作為上述資訊,最終提取到的特徵可以包括URL參數的字符總數、URL參數的字母總數、URL參數的數字總數、URL參數的符號總數、URL參數的不同字符數、URL參數的不同字母數、URL參數的不同數字數、URL參數的不同符號數等8個維度;
如果建模方同時採用URL存取請求樣本中攜帶的URL參數和域名資訊作為資訊,最終提取到的特徵可以包括URL參數的字符總數、URL參數的字母總數、URL參數的數字總數、URL參數的符號總數、URL參數的不同字符數、URL參數的不同字母數、URL參數的不同數字數、URL參數的不同符號數、域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數等16個維度。
其中,需要說明的是,在實際應用中,本領域技術人員可以將以上8個基礎維度進行組合作為建模特徵,或者從以上8個基礎維度中進一步篩選出多個維度進行組合作為建模特徵,在本說明書中不進行特別限定。
當然,以上示出的8個維度的特徵僅為示例性的;顯然,在實際應用中,本領域技術人員也可以從這些資訊中提取出以上8個維度以外的其它維度的特徵作為建模特徵,在本說明書中不再進行一一列舉。
請繼續參見圖2,當從篩選出的資訊中分別提取出若干個維度的特徵後,由於不同的特徵的取值範圍可能並不統一,因此還可以對這些維度的特徵進行歸一化處理,將不同的特徵的取值範圍歸一化到一個統一的數值區間,從而來消除由於特徵的取值範圍不同對建模精度造成的影響。
當對提取出的特徵歸一化處理完成之後,可以基於從各URL存取請求樣本攜帶的資訊中提取出的特徵,為各URL存取請求樣本分別創建一個對應的特徵向量作為訓練樣本;其中,創建的特徵向量的維度,與提取出的特徵的維度相同。
當為各URL存取請求樣本構建了對應的特徵向量後,此時可以基於為各URL存取請求樣本構建的特徵向量,創建一個目標矩陣;例如,假設共計收集到N條URL存取請求樣本,從每一個URL存取請求樣本提取出M維的特徵,那麼該目標矩陣具體可以是一個N*M維的目標矩陣。
此時,創建的該目標矩陣,即為最終參與機器學習模型訓練的訓練樣本集。
請繼續參見圖2,當訓練樣本集訓練完畢,可以基於Isolation Forest機器學習算法對這些訓練樣本進行訓練,來構建上述URL攻擊檢測模型。其中,Isolation Forest算法是一種通過構建多個隨機二叉樹,從原始的資料集中挖掘出異常資料樣本的算法。所謂隨機二叉樹,是指基於隨機生成的分類特徵,以及隨機生成的與分類特徵的取值對應的分類臨界值構建而成的二叉樹。即在構建隨機二叉樹時,所使用的分類特徵以及與分類特徵的取值對應的分類臨界值均為隨機生成的。
而利用Isolation Forest算法對構建完成的訓練樣本集進行訓練,來構建URL異常檢測模型的過程,即為利用Isolation Forest算法對訓練樣本集中的訓練樣本進行分類,構建M棵隨機二叉樹的過程。
在初始狀態,建模方在基於Isolation Forest算法對上述訓練樣本集進行訓練之前,需要對Isolation Forest算法進行參數配置,為Isolation Forest算法配置需要構建的隨機二叉樹個數M,以及在構建單棵隨機二叉樹時需要從訓練樣本集中抽樣的訓練樣本數N。
其中,上述M和N的取值,可以採用工程經驗值,或者基於建模方實際的需求進行自定義設置;例如,Isolation Forest算法默認需要構建的隨機二叉樹個數為100,每一刻隨機二叉樹需要採樣的訓練樣本數為256。
當建模方完成對Isolation Forest算法的參數配置後,建模方可以通過在搭建的計算平臺(比如伺服器集群)中運行Isolation Forest算法,對構建完成的訓練樣本集進行訓練,來構建最終的URL異常檢測模型。
以下對利用Isolation Forest算法對訓練樣本集中的訓練樣本進行分類,來構建隨機二叉樹的流程,進行詳細描述。
首先,可以基於建模方配置的上述N值,針對訓練樣本集進行M次的均勻抽樣。其中,所述均勻抽樣,是指在執行的M次抽樣中,每一次從訓練樣本集中抽樣出的訓練樣本集的數量都相同。
當完成訓練樣本的均勻抽樣後,可以基於抽樣出的訓練樣本,來構建出M個訓練樣本子集,然後針對每一個訓練樣本子集中的訓練樣本分別進行分類,來構建出M棵隨機二叉樹。
進一步的,在針對一個訓練樣本子集中的訓練樣本進行分類,來構建隨機二叉樹時,首先可以從構成訓練樣本的若干維度的特徵中,為該訓練樣本子集隨機選擇一個特徵作為分類特徵,並將該分類特徵作為根節點;以及,確定該分類特徵當前在該訓練樣本子集中的最大取值和最小取值,然後在該最大取值和最小取值構成的取值區間中,為該訓練樣本集隨機選取一分類臨界值。
當選定了作為根節點的分類特徵以及分類臨界值後,此時可以針對該訓練樣本子集執行第一級的分類,將該訓練樣本子集中各個訓練樣本的上述分類特徵的取值,分別與上述分類臨界值進行比較,然後基於比較結果將該訓練樣本子集中的訓練樣本分類為,上述分類特徵的取值大於上述分類臨界值的訓練樣本,和上述分類特徵小於上述分類臨界值的訓練樣本兩類,並將分類出的這兩類訓練樣本,分別作為上述根節點的葉節點。
例如,在實現時,可以將該訓練樣本子集中上述分類特徵的取值小於上述分類臨界值的訓練樣本,分類到二叉樹的左樹分支,將這一類訓練樣本作為上述根節點在二叉樹上的左樹葉節點;而將該訓練樣本子集中上述分類特徵的取值大於上述分類臨界值的訓練樣本,分類到二叉樹的右樹分支,將這一類訓練樣本作為上述根節點在二叉樹上的右樹葉節點。
此時針對該訓練樣本子集的第一級分類完成。
進一步,當第一級分類完成後,可以繼續完成針對上述訓練樣本子集的第二級分類。
此時,可以將已經分類得到的兩個葉節點中的訓練樣本,分別作為新的訓練樣本子集,然後針對上述新的訓練樣本子集,來迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止;
例如,仍然可以採用相同的方式,為各新的訓練樣本子集隨機選擇分類特徵以及分類臨界值,然後將各新的訓練樣本子集中的訓練樣本分類為,上述分類特徵的取值大於上述分類臨界值的訓練樣本,和上述分類特徵小於上述分類臨界值的訓練樣本兩類,並將分類出的這兩類訓練樣本,分別作為上一級的葉節點的下一級葉節點,以此類推,直到在執行某一級的分類後,得到的下一級的葉節點中的訓練樣本不可再分時停止;比如,葉節點中只剩一個訓練樣本,或者葉節點中的訓練樣本完全相同,表明得到的葉節點中的訓練樣本已經不可以再繼續分類。
其中,需要說明的是,為根節點以及各級子節點隨機選擇的分類特徵,需要保持不同;例如,在一種實現方式中,在將某一個特徵選擇為隨機二叉樹中某一節點的分類特徵後,可以將該特徵移除,後續在為其它節點選擇分類特徵時,將在該特徵以外的其它特徵中過來進行隨機選擇。
另外,以上示出的Isolation Forest算法的迭代分類的停止條件,默認情況下可以是得到的葉節點中的訓練樣本已經不可以再繼續分類,在實際應用中,建模方也可以在為Isolation Forest算法配置算法參數時,可以為得到的隨機二叉樹配置一個最大的二叉樹深度(即從根節點開始節點的最大層數)。在這種情況下,上述停止條件,也可以是當通過上述迭代分類的過程,得到的隨機二叉樹的深度達到為算法配置的最大的二叉樹深度時,算法可以立即停止(此時得到的各葉節點中的訓練樣本可能仍然可以再繼續分類)。
以上示出的為針對其中一個訓練樣本子集中的訓練樣本進行迭代分類,構建單棵隨機二叉樹的過程。
相似的,可以針對每一個訓練樣本子集重複執行以上分類過程,最終可以基於上述M個訓練樣本子集,構建出M棵隨機二叉樹,此時針對上述的訓練樣本集的訓練完成,得到的上述M棵隨機二叉樹,即為最終構建出的URL異常該檢測模型。
在本說明書中,當上述URL攻擊檢測模型訓練完畢後,可以按照如圖2示出的相同的特徵提取方式,從需要進行攻擊檢測的URL存取請求提取資訊,從提取到的資訊中篩選資訊、從篩選出的資訊中提取若干個維度的特徵(與模型訓練階段的特徵一致),然後基於提取到的特徵構建預測樣本,並將預測樣本輸入至上述URL攻擊檢測模型進行預測計算,得到該URL存取請求的風險評分。
以下對利用訓練完成的URL攻擊檢測模型對URL存取請求進行風險評分的流程,進行詳細描述。
在計算構建出的預測樣本的風險評分時,首先需要估算出該預測樣本在每顆隨機二叉樹中的路徑深度h(x);
具體的,可以基於該預測樣本中各特徵的取值,從各棵隨機二叉樹的根節點開始,按照由上至下的順序遍歷整棵隨機二叉樹,來查找該預測樣本在隨機二叉樹中對應的葉節點;
例如,首先可以確定該預測樣本中與根節點的分類特徵對應的取值,然後基於該取值,來查找該預測樣本所在的第一級葉節點。在查找到第一級葉節點後,可以繼續確定該預測樣本中與該第一級葉的分類特徵對應的取值,然後基於該取值,繼續查找該預測樣本所在的第二級葉節點,以此類推,可以通過逐級遍歷,直到查找到該預測樣本對應的葉節點時停止。
當查找到與上述預測樣本對應的葉節點後,此時可以記錄在遍歷隨機二叉樹的過程中,從根節點到查找到的該葉節點之間一共經過的邊的數目e,以及與上述預測樣本對應的葉節點中的訓練樣本數n。
此時最終得到的路徑深度h(x),可以用如下公式來表徵:
其中,C(n)為修正值,可以用如下公式來表徵:
其中,H(n-1)可用ln(n-1)+0.5772156649估算,這裡的常數是歐拉常數。
當通過以上公式,估算出該預測樣本在每顆隨機二叉樹中的路徑深度h(x)後,可以進一步求解該預測樣本在每顆隨機二叉樹的路徑深度的平均值,然後對得到的平均值進行歸一化處理,將計算結果量化到0~1之間,得到該URL存取請求的風險評分;
最終得到的風險評分可以用如下公式進行表徵:
其中,Score(x)表示預測樣本X最終的風險評分;E{h(x)}表示預測樣本在每顆隨機二叉樹中的路徑深度h(x);φ表示單棵隨機二叉樹的訓練樣本數;C(φ)表示用φ條訓練樣本構建的二叉樹的平均路徑長度,在上述公式中用來對計算結果作歸一化處理。
當通過上述URL攻擊檢測模型預測出該URL存取請求的風險評分後,可以進一步基於該URL風險評分,來確定該URL存取請求是否為URL攻擊請求;
例如,在一種實現方式中,可以將該風險評分與預設的風險閾值進行比較,來確定該URL存取請求的具體類型;如果該風險評分大於或者等於預設的風險閾值,則表明該URL存取請求為URL攻擊請求;反之,如果該風險評分小於該預設的風險閾值,則表明該URL存取請求為正常URL存取請求。
通過以上實施例可知,在本說明書中,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測:
一方面,通過這種方式,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
另一方面,由於Isolation Forest算法是一種無監督的機器學習算法,在訓練模型時所需的訓練樣本可以不再需要標記樣本標籤,因此對於建模方而言,可以省去為訓練樣本打標而造成的大量人力成本。
與上述方法實施例相對應,本說明書還提供了一種URL攻擊檢測裝置的實施例。本說明書的URL攻擊檢測設備的實施例可以應用在電子設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在電子設備的處理器將非易失性儲存器中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書的URL攻擊檢測裝置所在電子設備的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路接口、以及非易失性儲存器之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖4是本說明書一示例性實施例示出的一種URL攻擊檢測裝置的框圖。
請參考圖4,所述URL攻擊檢測裝置40可以應用在前述圖3所示的電子設備中,包括有:第一提取模組401、計算模組402和確定模組403。
第一提取模組401,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
計算模組402,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
確定模組403,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本例中,所述裝置40還包括:
第二提取模組404(圖4中未示出),從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
構建模組405(圖4中未示出),基於提取到的特徵構建若干訓練樣本;
訓練模組406(圖4中未示出),基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
在本例中,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述訓練模組406:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
在本例中,所述計算模組403:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
在本例中,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
在本例中,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦芯片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的儲存器;其中,處理器和儲存器通常通過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部接口,以能夠與其他設備或者部件進行通訊。
在本實施例中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使:
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
基於提取到的特徵構建若干訓練樣本;
基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
在本實施例中,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
在本例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
在本例中,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
在本例中,提取出的所述若干維度的特徵包括以下特徵中的多個的組合:資訊的字符總數、資訊的字母總數、資訊的數字總數、資訊的符號總數、資訊的不同字符數、資訊的不同字母數、資訊的不同數字數、資訊的不同符號數。
本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
在實現時,可以預先準備若干URL存取請求樣本;其中,這些URL存取請求樣本均未被標記風險標籤。然後,可以對這些URL存取請求樣本進行資料切分,從這些URL存取請求樣本中攜帶的資訊中提取出若干維度的特徵;
例如,在實際應用中,上述資訊具體可以包括域名資訊、URL參數,在這種情況下,可以對URL存取請求樣本進行資料切分,提取出URL存取請求與樣本中攜帶的域名資訊(比如主域名和對應的域名後綴)、URL參數(比如URL參數名和對應的參數取值),然後從提取出的域名資訊、URL參數中提取出若干個維度的特徵。
進一步,當從URL存取請求樣本中,分別提取出若干個維度的特徵後,可以對這些特徵進行歸一化處理,然後將歸一化處理後的特徵作為建模特徵來構建訓練樣本。
當訓練樣本構建完成後,可以基於Isolation Forest機器學習算法對這些訓練樣本進行訓練,來構建URL攻擊檢測模型;例如,可以採用Isolation Forest機器學習算法對訓練樣本進行二叉樹分類,構建出多顆隨機二叉樹。
最後,當URL攻擊檢測模型訓練完成後,可以按照相同的方式,從需要進行攻擊檢測的URL存取請求攜帶的資訊中分別提取出若干維度的特徵,並基於提取出的特徵來構建預測樣本,將構建完成的預測樣本輸入至上述URL攻擊檢測模型中進行預測計算,得到該URL存取請求的風險評分,然後可以基於該風險評分來確定該URL存取請求是否為URL攻擊請求。
在以上技術方案中,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
下面通過具體實施例並結合具體的應用場景對本說明書進行描述。
請參考圖1,圖1是本說明書一實施例提供的一種URL攻擊檢測方法,執行以下步驟:
步驟102,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
步驟104,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
步驟106,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本說明書中,建模方可以預先收集大量的未進行標記的URL存取請求作為無標記樣本,並基於收集到的這些無標記樣本來構建訓練樣本集,然後基於Isolation Forest機器學習算法對該訓練樣本集進行無監督的機器學習訓練,來構建上述URL攻擊檢測模型。
請參見圖2,圖2為本說明書示出的一種構建訓練樣本集訓練Isolation Forest模型的流程圖。
如圖2所示,首先,可以對收集到的這些未進行標記的原始的URL存取請求樣本分別進行資料切分,提取出這些URL存取請求樣本中攜帶的資訊。
其中,上述URL存取請求中攜帶的資訊是指那些能夠從中提取出,可以反映URL存取請求是否存在風險的特徵的資訊。
在示出的一種實施方式中,上述資訊具體可以包括URL存取請求中攜帶的URL參數和域名資訊等。上述URL參數,可以包括URL參數名(ParamName)以及對應的參數取值(ParamValue);而上述域名資訊,可以包括主域名和與主域名對應的域名後綴。
例如,以上述資訊為URL存取請求中攜帶的URL參數為例,可以對原始的URL存取請求樣本進行資料切分,提取出這些URL存取請求樣本中攜帶的URL參數名(ParamName)以及對應的參數取值(ParamValue);
又如,以上述資訊為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攻擊請求中攜帶的資訊的特徵以及規律的特徵,都可以被選定作為建模特徵。
例如,在實際應用中,參與建模的本領域技術人員,可以基於經驗從這些資訊中提取出若干個維度的特徵,然後基於這些特徵進行嘗試建模,並對建模結果進行評估,來從中篩選出對模型的貢獻度最高的若干個維度的特徵作為建模特徵。
在示出的一種實施方式中,從這些資訊中提取出的特徵,可以包括資訊的字符總數、資訊的字母總數、資訊的數字總數、資訊的符號總數、資訊的不同字符數、資訊的不同字母數、資訊的不同數字數、資訊的不同符號數等8個維度。
例如,如果建模方採用URL存取請求樣本中攜帶的域名資訊作為上述資訊,最終提取到的特徵可以包括域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數等8個維度;
如果建模方採用URL存取請求樣本中攜帶的URL參數作為上述資訊,最終提取到的特徵可以包括URL參數的字符總數、URL參數的字母總數、URL參數的數字總數、URL參數的符號總數、URL參數的不同字符數、URL參數的不同字母數、URL參數的不同數字數、URL參數的不同符號數等8個維度;
如果建模方同時採用URL存取請求樣本中攜帶的URL參數和域名資訊作為資訊,最終提取到的特徵可以包括URL參數的字符總數、URL參數的字母總數、URL參數的數字總數、URL參數的符號總數、URL參數的不同字符數、URL參數的不同字母數、URL參數的不同數字數、URL參數的不同符號數、域名資訊的字符總數、域名資訊的字母總數、域名資訊的數字總數、域名資訊的符號總數、域名資訊的不同字符數、域名資訊的不同字母數、域名資訊的不同數字數、域名資訊的不同符號數等16個維度。
其中,需要說明的是,在實際應用中,本領域技術人員可以將以上8個基礎維度進行組合作為建模特徵,或者從以上8個基礎維度中進一步篩選出多個維度進行組合作為建模特徵,在本說明書中不進行特別限定。
當然,以上示出的8個維度的特徵僅為示例性的;顯然,在實際應用中,本領域技術人員也可以從這些資訊中提取出以上8個維度以外的其它維度的特徵作為建模特徵,在本說明書中不再進行一一列舉。
請繼續參見圖2,當從篩選出的資訊中分別提取出若干個維度的特徵後,由於不同的特徵的取值範圍可能並不統一,因此還可以對這些維度的特徵進行歸一化處理,將不同的特徵的取值範圍歸一化到一個統一的數值區間,從而來消除由於特徵的取值範圍不同對建模精度造成的影響。
當對提取出的特徵歸一化處理完成之後,可以基於從各URL存取請求樣本攜帶的資訊中提取出的特徵,為各URL存取請求樣本分別創建一個對應的特徵向量作為訓練樣本;其中,創建的特徵向量的維度,與提取出的特徵的維度相同。
當為各URL存取請求樣本構建了對應的特徵向量後,此時可以基於為各URL存取請求樣本構建的特徵向量,創建一個目標矩陣;例如,假設共計收集到N條URL存取請求樣本,從每一個URL存取請求樣本提取出M維的特徵,那麼該目標矩陣具體可以是一個N*M維的目標矩陣。
此時,創建的該目標矩陣,即為最終參與機器學習模型訓練的訓練樣本集。
請繼續參見圖2,當訓練樣本集訓練完畢,可以基於Isolation Forest機器學習算法對這些訓練樣本進行訓練,來構建上述URL攻擊檢測模型。其中,Isolation Forest算法是一種通過構建多個隨機二叉樹,從原始的資料集中挖掘出異常資料樣本的算法。所謂隨機二叉樹,是指基於隨機生成的分類特徵,以及隨機生成的與分類特徵的取值對應的分類臨界值構建而成的二叉樹。即在構建隨機二叉樹時,所使用的分類特徵以及與分類特徵的取值對應的分類臨界值均為隨機生成的。
而利用Isolation Forest算法對構建完成的訓練樣本集進行訓練,來構建URL異常檢測模型的過程,即為利用Isolation Forest算法對訓練樣本集中的訓練樣本進行分類,構建M棵隨機二叉樹的過程。
在初始狀態,建模方在基於Isolation Forest算法對上述訓練樣本集進行訓練之前,需要對Isolation Forest算法進行參數配置,為Isolation Forest算法配置需要構建的隨機二叉樹個數M,以及在構建單棵隨機二叉樹時需要從訓練樣本集中抽樣的訓練樣本數N。
其中,上述M和N的取值,可以採用工程經驗值,或者基於建模方實際的需求進行自定義設置;例如,Isolation Forest算法默認需要構建的隨機二叉樹個數為100,每一刻隨機二叉樹需要採樣的訓練樣本數為256。
當建模方完成對Isolation Forest算法的參數配置後,建模方可以通過在搭建的計算平臺(比如伺服器集群)中運行Isolation Forest算法,對構建完成的訓練樣本集進行訓練,來構建最終的URL異常檢測模型。
以下對利用Isolation Forest算法對訓練樣本集中的訓練樣本進行分類,來構建隨機二叉樹的流程,進行詳細描述。
首先,可以基於建模方配置的上述N值,針對訓練樣本集進行M次的均勻抽樣。其中,所述均勻抽樣,是指在執行的M次抽樣中,每一次從訓練樣本集中抽樣出的訓練樣本集的數量都相同。
當完成訓練樣本的均勻抽樣後,可以基於抽樣出的訓練樣本,來構建出M個訓練樣本子集,然後針對每一個訓練樣本子集中的訓練樣本分別進行分類,來構建出M棵隨機二叉樹。
進一步的,在針對一個訓練樣本子集中的訓練樣本進行分類,來構建隨機二叉樹時,首先可以從構成訓練樣本的若干維度的特徵中,為該訓練樣本子集隨機選擇一個特徵作為分類特徵,並將該分類特徵作為根節點;以及,確定該分類特徵當前在該訓練樣本子集中的最大取值和最小取值,然後在該最大取值和最小取值構成的取值區間中,為該訓練樣本集隨機選取一分類臨界值。
當選定了作為根節點的分類特徵以及分類臨界值後,此時可以針對該訓練樣本子集執行第一級的分類,將該訓練樣本子集中各個訓練樣本的上述分類特徵的取值,分別與上述分類臨界值進行比較,然後基於比較結果將該訓練樣本子集中的訓練樣本分類為,上述分類特徵的取值大於上述分類臨界值的訓練樣本,和上述分類特徵小於上述分類臨界值的訓練樣本兩類,並將分類出的這兩類訓練樣本,分別作為上述根節點的葉節點。
例如,在實現時,可以將該訓練樣本子集中上述分類特徵的取值小於上述分類臨界值的訓練樣本,分類到二叉樹的左樹分支,將這一類訓練樣本作為上述根節點在二叉樹上的左樹葉節點;而將該訓練樣本子集中上述分類特徵的取值大於上述分類臨界值的訓練樣本,分類到二叉樹的右樹分支,將這一類訓練樣本作為上述根節點在二叉樹上的右樹葉節點。
此時針對該訓練樣本子集的第一級分類完成。
進一步,當第一級分類完成後,可以繼續完成針對上述訓練樣本子集的第二級分類。
此時,可以將已經分類得到的兩個葉節點中的訓練樣本,分別作為新的訓練樣本子集,然後針對上述新的訓練樣本子集,來迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止;
例如,仍然可以採用相同的方式,為各新的訓練樣本子集隨機選擇分類特徵以及分類臨界值,然後將各新的訓練樣本子集中的訓練樣本分類為,上述分類特徵的取值大於上述分類臨界值的訓練樣本,和上述分類特徵小於上述分類臨界值的訓練樣本兩類,並將分類出的這兩類訓練樣本,分別作為上一級的葉節點的下一級葉節點,以此類推,直到在執行某一級的分類後,得到的下一級的葉節點中的訓練樣本不可再分時停止;比如,葉節點中只剩一個訓練樣本,或者葉節點中的訓練樣本完全相同,表明得到的葉節點中的訓練樣本已經不可以再繼續分類。
其中,需要說明的是,為根節點以及各級子節點隨機選擇的分類特徵,需要保持不同;例如,在一種實現方式中,在將某一個特徵選擇為隨機二叉樹中某一節點的分類特徵後,可以將該特徵移除,後續在為其它節點選擇分類特徵時,將在該特徵以外的其它特徵中過來進行隨機選擇。
另外,以上示出的Isolation Forest算法的迭代分類的停止條件,默認情況下可以是得到的葉節點中的訓練樣本已經不可以再繼續分類,在實際應用中,建模方也可以在為Isolation Forest算法配置算法參數時,可以為得到的隨機二叉樹配置一個最大的二叉樹深度(即從根節點開始節點的最大層數)。在這種情況下,上述停止條件,也可以是當通過上述迭代分類的過程,得到的隨機二叉樹的深度達到為算法配置的最大的二叉樹深度時,算法可以立即停止(此時得到的各葉節點中的訓練樣本可能仍然可以再繼續分類)。
以上示出的為針對其中一個訓練樣本子集中的訓練樣本進行迭代分類,構建單棵隨機二叉樹的過程。
相似的,可以針對每一個訓練樣本子集重複執行以上分類過程,最終可以基於上述M個訓練樣本子集,構建出M棵隨機二叉樹,此時針對上述的訓練樣本集的訓練完成,得到的上述M棵隨機二叉樹,即為最終構建出的URL異常該檢測模型。
在本說明書中,當上述URL攻擊檢測模型訓練完畢後,可以按照如圖2示出的相同的特徵提取方式,從需要進行攻擊檢測的URL存取請求提取資訊,從提取到的資訊中篩選資訊、從篩選出的資訊中提取若干個維度的特徵(與模型訓練階段的特徵一致),然後基於提取到的特徵構建預測樣本,並將預測樣本輸入至上述URL攻擊檢測模型進行預測計算,得到該URL存取請求的風險評分。
以下對利用訓練完成的URL攻擊檢測模型對URL存取請求進行風險評分的流程,進行詳細描述。
在計算構建出的預測樣本的風險評分時,首先需要估算出該預測樣本在每顆隨機二叉樹中的路徑深度h(x);
具體的,可以基於該預測樣本中各特徵的取值,從各棵隨機二叉樹的根節點開始,按照由上至下的順序遍歷整棵隨機二叉樹,來查找該預測樣本在隨機二叉樹中對應的葉節點;
例如,首先可以確定該預測樣本中與根節點的分類特徵對應的取值,然後基於該取值,來查找該預測樣本所在的第一級葉節點。在查找到第一級葉節點後,可以繼續確定該預測樣本中與該第一級葉的分類特徵對應的取值,然後基於該取值,繼續查找該預測樣本所在的第二級葉節點,以此類推,可以通過逐級遍歷,直到查找到該預測樣本對應的葉節點時停止。
當查找到與上述預測樣本對應的葉節點後,此時可以記錄在遍歷隨機二叉樹的過程中,從根節點到查找到的該葉節點之間一共經過的邊的數目e,以及與上述預測樣本對應的葉節點中的訓練樣本數n。
此時最終得到的路徑深度h(x),可以用如下公式來表徵:
其中,C(n)為修正值,可以用如下公式來表徵:
其中,H(n-1)可用ln(n-1)+0.5772156649估算,這裡的常數是歐拉常數。
當通過以上公式,估算出該預測樣本在每顆隨機二叉樹中的路徑深度h(x)後,可以進一步求解該預測樣本在每顆隨機二叉樹的路徑深度的平均值,然後對得到的平均值進行歸一化處理,將計算結果量化到0~1之間,得到該URL存取請求的風險評分;
最終得到的風險評分可以用如下公式進行表徵:
其中,Score(x)表示預測樣本X最終的風險評分;E{h(x)}表示預測樣本在每顆隨機二叉樹中的路徑深度h(x);φ表示單棵隨機二叉樹的訓練樣本數;C(φ)表示用φ條訓練樣本構建的二叉樹的平均路徑長度,在上述公式中用來對計算結果作歸一化處理。
當通過上述URL攻擊檢測模型預測出該URL存取請求的風險評分後,可以進一步基於該URL風險評分,來確定該URL存取請求是否為URL攻擊請求;
例如,在一種實現方式中,可以將該風險評分與預設的風險閾值進行比較,來確定該URL存取請求的具體類型;如果該風險評分大於或者等於預設的風險閾值,則表明該URL存取請求為URL攻擊請求;反之,如果該風險評分小於該預設的風險閾值,則表明該URL存取請求為正常URL存取請求。
通過以上實施例可知,在本說明書中,通過將從URL存取請求中提取出的特徵輸入至基於Isolation Forest機器學習算法訓練出的URL攻擊檢測模型進行預測計算,來對URL存取請求進行攻擊檢測:
一方面,通過這種方式,可以提前發現潛在的URL攻擊,從而有助於對潛在的異常URL存取及時的進行安全防護。
另一方面,由於Isolation Forest算法是一種無監督的機器學習算法,在訓練模型時所需的訓練樣本可以不再需要標記樣本標籤,因此對於建模方而言,可以省去為訓練樣本打標而造成的大量人力成本。
與上述方法實施例相對應,本說明書還提供了一種URL攻擊檢測裝置的實施例。本說明書的URL攻擊檢測設備的實施例可以應用在電子設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在電子設備的處理器將非易失性儲存器中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書的URL攻擊檢測裝置所在電子設備的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路接口、以及非易失性儲存器之外,實施例中裝置所在的電子設備通常根據該電子設備的實際功能,還可以包括其他硬體,對此不再贅述。
圖4是本說明書一示例性實施例示出的一種URL攻擊檢測裝置的框圖。
請參考圖4,所述URL攻擊檢測裝置40可以應用在前述圖3所示的電子設備中,包括有:第一提取模組401、計算模組402和確定模組403。
第一提取模組401,從URL存取請求中攜帶的資訊中提取若干維度的特徵;
計算模組402,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
確定模組403,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本例中,所述裝置40還包括:
第二提取模組404(圖4中未示出),從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
構建模組405(圖4中未示出),基於提取到的特徵構建若干訓練樣本;
訓練模組406(圖4中未示出),基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
在本例中,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
所述訓練模組406:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
在本例中,所述計算模組403:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
在本例中,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
在本例中,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦芯片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的儲存器;其中,處理器和儲存器通常通過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部接口,以能夠與其他設備或者部件進行通訊。
在本實施例中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使:
從URL存取請求中攜帶的資訊中提取若干維度的特徵;
將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型;
基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
在本例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤。
基於提取到的特徵構建若干訓練樣本;
基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
在本實施例中,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹;
通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集;
從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值;
將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及,
將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
在本例中,通過讀取並執行所述儲存器儲存的URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器還被促使:
基於提取到的特徵構建預測樣本;
基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點;
計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
在本例中,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
在本例中,提取出的所述若干維度的特徵包括以下特徵中的多個的組合:資訊的字符總數、資訊的字母總數、資訊的數字總數、資訊的符號總數、資訊的不同字符數、資訊的不同字母數、資訊的不同數字數、資訊的不同符號數。
本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在圖式中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
40‧‧‧URL攻擊檢測裝置
102‧‧‧步驟
104‧‧‧步驟
106‧‧‧步驟
401‧‧‧第一提取模組
402‧‧‧計算模組
403‧‧‧確定模組
圖1是本說明書一實施例示出的URL攻擊檢測方法的流程圖;
圖2是本說明書一實施例示出的一種構建訓練樣本集訓練Isolation Forest模型的流程圖;
圖3是本說明書一實施例提供的承載一種URL攻擊檢測裝置的電子設備所涉及的硬體結構圖;
圖4是本說明書一實施例提供的一種所述URL攻擊檢測裝置的邏輯框圖。
Claims (13)
- 一種統一資源定位符(URL)攻擊檢測方法,所述方法包括: 從URL存取請求中攜帶的資訊中提取若干維度的特徵; 將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於孤立森林(Isolation Forest)機器學習算法訓練得到的機器學習模型; 基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
- 根據請求項1所述的方法,所述方法還包括: 從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤; 基於提取到的特徵構建若干訓練樣本; 基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
- 根據請求項2所述的方法,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹; 所述基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型,包括: 基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集; 從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值; 將各訓練樣本子集中所述分類特徵的取值大於等於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及, 將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
- 根據請求項3所述的方法,所述將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分,包括: 基於提取到的特徵構建預測樣本; 基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點; 計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
- 根據請求項1所述的方法,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
- 根據請求項5所述的方法,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
- 一種URL攻擊檢測裝置,所述裝置包括: 第一提取模組,從URL存取請求中攜帶的資訊中提取若干維度的特徵; 計算模組,將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型; 確定模組,基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
- 根據請求項7所述的裝置,所述裝置還包括: 第二提取模組,從若干URL存取請求樣本攜帶的資訊中分別提取若干維度的特徵;其中,所述若干URL存取請求樣本均未被標記樣本標籤; 構建模組,基於提取到的特徵構建若干訓練樣本; 訓練模組,基於Isolation Forest機器學習算法對所述若干訓練樣本進行訓練得到所述URL攻擊檢測模型。
- 根據請求項8所述的裝置,所述URL攻擊檢測模型包括基於Isolation Forest機器學習算法訓練得到的M棵隨機二叉樹; 所述訓練模組: 基於從所述若干訓練樣本中均勻抽樣出的訓練樣本構建出M個訓練樣本子集; 從所述若干維度的特徵中為各訓練樣本子集隨機選擇一分類特徵作為根節點,以及在所述分類特徵的最大取值和最小取值構成的取值區間中,為各訓練樣本子集隨機選取一分類臨界值; 將各訓練樣本子集中所述分類特徵的取值大於所述分類臨界值的訓練樣本,和所述分類特徵的取值小於所述分類臨界值的訓練樣本,分別分類為所述根節點的葉節點;以及, 將各葉節點中的訓練樣本作為新的訓練樣本子集,迭代執行以上分類過程,直到得到的各葉節點中的訓練樣本不可再分類時停止。
- 根據請求項9所述的裝置,所述計算模組: 基於提取到的特徵構建預測樣本; 基於所述預測樣本中各特徵的取值,從根節點開始遍歷各棵隨機二叉樹查找與所述預測樣本對應的葉節點; 計算查找到的葉節點在各棵隨機二叉樹中的路徑深度的平均值,並對所述平均值進行歸一化處理,得到所述URL存取請求的風險評分。
- 根據請求項7所述的裝置,所述資訊包括:域名資訊,和/或URL參數;所述若干維度的特徵包括:從URL存取請求中攜帶的域名資訊中提取出的特徵;和/或從URL存取請求中攜帶的URL參數中提取出的特徵。
- 根據請求項11所述的裝置,所述特徵包括以下特徵中的多個的組合:字符總數、字母總數、數字總數、符號總數、不同字符數、不同字母數、不同數字數、不同符號數。
- 一種電子設備,包括: 處理器; 用於儲存機器可執行指令的儲存器; 其中,通過讀取並執行所述儲存器儲存的與URL攻擊檢測的控制邏輯對應的機器可執行指令,所述處理器被促使: 從URL存取請求中攜帶的資訊中提取若干維度的特徵; 將提取到的特徵輸入預設的URL攻擊檢測模型進行預測計算,得到所述URL存取請求的風險評分;其中,所述URL攻擊檢測模型為基於Isolation Forest機器學習算法訓練得到的機器學習模型; 基於所述風險評分確定所述URL存取請求是否為URL攻擊請求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463325.3 | 2017-12-28 | ||
CN201711463325.3A CN108229156A (zh) | 2017-12-28 | 2017-12-28 | Url攻击检测方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201931187A true TW201931187A (zh) | 2019-08-01 |
TWI706273B TWI706273B (zh) | 2020-10-01 |
Family
ID=62645792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107136689A TWI706273B (zh) | 2017-12-28 | 2018-10-18 | 統一資源定位符(url)攻擊檢測方法、裝置及電子設備 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10785241B2 (zh) |
EP (1) | EP3651043B1 (zh) |
CN (1) | CN108229156A (zh) |
ES (1) | ES2878330T3 (zh) |
PL (1) | PL3651043T3 (zh) |
SG (1) | SG11202001369TA (zh) |
TW (1) | TWI706273B (zh) |
WO (1) | WO2019128529A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI729861B (zh) * | 2020-01-21 | 2021-06-01 | 四零四科技股份有限公司 | 處理異常檢測的裝置及方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229156A (zh) * | 2017-12-28 | 2018-06-29 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
CN108366071B (zh) | 2018-03-06 | 2020-06-23 | 阿里巴巴集团控股有限公司 | Url异常定位方法、装置、服务器及存储介质 |
CN108769079A (zh) * | 2018-07-09 | 2018-11-06 | 四川大学 | 一种基于机器学习的Web入侵检测技术 |
CN110912861B (zh) * | 2018-09-18 | 2022-02-15 | 北京数安鑫云信息技术有限公司 | 一种深度追踪团伙攻击行为的ai检测方法和装置 |
CN109714341A (zh) * | 2018-12-28 | 2019-05-03 | 厦门服云信息科技有限公司 | 一种Web恶意攻击识别方法、终端设备及存储介质 |
US11368486B2 (en) * | 2019-03-12 | 2022-06-21 | Fortinet, Inc. | Determining a risk probability of a URL using machine learning of URL segments |
CN110398375B (zh) * | 2019-07-16 | 2021-10-19 | 广州亚美信息科技有限公司 | 车辆冷却***工作状态的监测方法、装置、设备和介质 |
CN111162961B (zh) * | 2019-12-05 | 2021-12-31 | 任子行网络技术股份有限公司 | 发现移动应用主控服务器的方法、***及可读存储介质 |
CN113032774B (zh) * | 2019-12-25 | 2024-06-07 | 中移动信息技术有限公司 | 异常检测模型的训练方法、装置、设备及计算机存储介质 |
CN111371794B (zh) * | 2020-03-09 | 2022-01-18 | 北京金睛云华科技有限公司 | 阴影域检测模型、检测模型建立方法、检测方法及*** |
US11768945B2 (en) * | 2020-04-07 | 2023-09-26 | Allstate Insurance Company | Machine learning system for determining a security vulnerability in computer software |
CN111970272A (zh) * | 2020-08-14 | 2020-11-20 | 上海境领信息科技有限公司 | 一种apt攻击操作识别方法 |
CN114257565B (zh) * | 2020-09-10 | 2023-09-05 | ***通信集团广东有限公司 | 挖掘潜在威胁域名的方法、***和服务器 |
CN112398875B (zh) * | 2021-01-18 | 2021-04-09 | 北京电信易通信息技术股份有限公司 | 视频会议场景下基于机器学习的流数据安全漏洞探测方法 |
KR102682746B1 (ko) * | 2021-05-18 | 2024-07-12 | 한국전자통신연구원 | 비휘발성 메모리 공격 취약점 탐지 장치 및 방법 |
CN113361597B (zh) * | 2021-06-04 | 2023-07-21 | 北京天融信网络安全技术有限公司 | 一种url检测模型的训练方法、装置、电子设备和存储介质 |
TWI774582B (zh) | 2021-10-13 | 2022-08-11 | 財團法人工業技術研究院 | 惡意超文本傳輸協定請求的偵測裝置和偵測方法 |
CN114499917B (zh) * | 2021-10-25 | 2024-01-09 | ***股份有限公司 | Cc攻击检测方法及cc攻击检测装置 |
CN114416972B (zh) * | 2021-12-10 | 2022-10-14 | 厦门市世纪网通网络服务有限公司 | 一种基于密度改善不平衡样本的dga域名检测方法 |
CN114338593B (zh) * | 2021-12-23 | 2023-07-04 | 上海观安信息技术股份有限公司 | 利用地址解析协议进行网络扫描的行为检测方法及装置 |
CN114553496B (zh) * | 2022-01-28 | 2022-11-15 | 中国科学院信息工程研究所 | 基于半监督学习的恶意域名检测方法及装置 |
CN117494185B (zh) * | 2023-10-07 | 2024-05-14 | 联通(广东)产业互联网有限公司 | 数据库访问控制方法及装置、***、设备、存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306942B2 (en) * | 2008-05-06 | 2012-11-06 | Lawrence Livermore National Security, Llc | Discriminant forest classification method and system |
TWI439095B (zh) * | 2010-01-22 | 2014-05-21 | Univ Nat Taiwan Science Tech | 網路攻擊偵測裝置以及方法 |
US8521667B2 (en) * | 2010-12-15 | 2013-08-27 | Microsoft Corporation | Detection and categorization of malicious URLs |
US9491187B2 (en) * | 2013-02-15 | 2016-11-08 | Qualcomm Incorporated | APIs for obtaining device-specific behavior classifier models from the cloud |
US9178901B2 (en) * | 2013-03-26 | 2015-11-03 | Microsoft Technology Licensing, Llc | Malicious uniform resource locator detection |
US9904893B2 (en) * | 2013-04-02 | 2018-02-27 | Patternex, Inc. | Method and system for training a big data machine to defend |
US9635050B2 (en) * | 2014-07-23 | 2017-04-25 | Cisco Technology, Inc. | Distributed supervised architecture for traffic segregation under attack |
CN104537303B (zh) * | 2014-12-30 | 2017-10-24 | 中国科学院深圳先进技术研究院 | 一种钓鱼网站鉴别***及鉴别方法 |
CN104735074A (zh) * | 2015-03-31 | 2015-06-24 | 江苏通付盾信息科技有限公司 | 一种恶意url检测方法及其实现*** |
CN106341377A (zh) * | 2015-07-15 | 2017-01-18 | 威海捷讯通信技术有限公司 | 一种Web服务器免受攻击的方法及装置 |
CN105357221A (zh) * | 2015-12-04 | 2016-02-24 | 北京奇虎科技有限公司 | 识别钓鱼网站的方法及装置 |
US9838407B1 (en) * | 2016-03-30 | 2017-12-05 | EMC IP Holding Company LLC | Detection of malicious web activity in enterprise computer networks |
WO2017223294A1 (en) * | 2016-06-22 | 2017-12-28 | Invincea, Inc. | Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning |
CN106789888B (zh) * | 2016-11-18 | 2020-08-04 | 重庆邮电大学 | 一种多特征融合的钓鱼网页检测方法 |
JP6782679B2 (ja) * | 2016-12-06 | 2020-11-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 情報処理装置、情報処理方法及びプログラム |
CN106960358A (zh) * | 2017-01-13 | 2017-07-18 | 重庆小富农康农业科技服务有限公司 | 一种基于农村电子商务大数据深度学习的金融欺诈行为量化检测*** |
US10909471B2 (en) * | 2017-03-24 | 2021-02-02 | Microsoft Technology Licensing, Llc | Resource-efficient machine learning |
CN107346388B (zh) * | 2017-07-03 | 2020-06-02 | 四川无声信息技术有限公司 | Web攻击检测方法及装置 |
CN107577945B (zh) * | 2017-09-28 | 2021-03-23 | 创新先进技术有限公司 | Url攻击检测方法、装置以及电子设备 |
CN107992741B (zh) * | 2017-10-24 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 一种模型训练方法、检测url的方法及装置 |
CN108111489B (zh) * | 2017-12-07 | 2020-06-30 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
CN108229156A (zh) * | 2017-12-28 | 2018-06-29 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
US11521108B2 (en) * | 2018-07-30 | 2022-12-06 | Microsoft Technology Licensing, Llc | Privacy-preserving labeling and classification of email |
-
2017
- 2017-12-28 CN CN201711463325.3A patent/CN108229156A/zh active Pending
-
2018
- 2018-10-18 TW TW107136689A patent/TWI706273B/zh active
- 2018-11-19 ES ES18893619T patent/ES2878330T3/es active Active
- 2018-11-19 PL PL18893619T patent/PL3651043T3/pl unknown
- 2018-11-19 EP EP18893619.9A patent/EP3651043B1/en active Active
- 2018-11-19 WO PCT/CN2018/116100 patent/WO2019128529A1/zh unknown
- 2018-11-19 SG SG11202001369TA patent/SG11202001369TA/en unknown
-
2020
- 2020-02-26 US US16/802,147 patent/US10785241B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI729861B (zh) * | 2020-01-21 | 2021-06-01 | 四零四科技股份有限公司 | 處理異常檢測的裝置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US10785241B2 (en) | 2020-09-22 |
WO2019128529A1 (zh) | 2019-07-04 |
EP3651043B1 (en) | 2021-04-14 |
SG11202001369TA (en) | 2020-03-30 |
CN108229156A (zh) | 2018-06-29 |
PL3651043T3 (pl) | 2021-10-04 |
EP3651043A1 (en) | 2020-05-13 |
ES2878330T3 (es) | 2021-11-18 |
EP3651043A4 (en) | 2020-07-08 |
TWI706273B (zh) | 2020-10-01 |
US20200195667A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI706273B (zh) | 統一資源定位符(url)攻擊檢測方法、裝置及電子設備 | |
TWI673625B (zh) | 統一資源定位符(url)攻擊檢測方法、裝置以及電子設備 | |
US11856021B2 (en) | Detecting and mitigating poison attacks using data provenance | |
CN107577945B (zh) | Url攻击检测方法、装置以及电子设备 | |
CN110311902B (zh) | 一种异常行为的识别方法、装置及电子设备 | |
JP2020505707A (ja) | 侵入検出のための継続的な学習 | |
CN111382434B (zh) | 用于检测恶意文件的***和方法 | |
JP6697123B2 (ja) | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム | |
JP6835703B2 (ja) | サイバー攻撃検知システム、特徴量選定システム、サイバー攻撃検知方法、及びプログラム | |
CN113469366B (zh) | 一种加密流量的识别方法、装置及设备 | |
US20110271118A1 (en) | Password generation methods and systems | |
Drichel et al. | Analyzing the real-world applicability of DGA classifiers | |
US20230126692A1 (en) | System and method for blocking phishing attempts in computer networks | |
US11206277B1 (en) | Method and apparatus for detecting abnormal behavior in network | |
WO2020082763A1 (zh) | 基于决策树的钓鱼网站检测方法、装置及计算机设备 | |
CN108156127B (zh) | 网络攻击模式的判断装置、判断方法及其计算机可读取储存媒体 | |
TWI703846B (zh) | Url異常定位方法、裝置、伺服器及儲存媒體 | |
CN110855635A (zh) | Url识别方法、装置及数据处理设备 | |
CN115277065B (zh) | 一种物联网异常流量检测中的对抗攻击方法及装置 | |
CN111541687A (zh) | 一种网络攻击检测方法及装置 | |
Luz et al. | Data preprocessing and feature extraction for phishing URL detection | |
CN115001763B (zh) | 钓鱼网站攻击检测方法、装置、电子设备及存储介质 | |
JP7052879B2 (ja) | 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム | |
Rathod et al. | AI & ML Based Anamoly Detection and Response Using Ember Dataset | |
CN112580027A (zh) | 恶意样本的确定方法、装置、存储介质及电子设备 |