本技術涉及網絡安全,尤其涉及一種攻擊檢測方法、裝置及設備。
背景技術:
1、cc(challenge?collapsar)攻擊是一種常見的分布式拒絕服務(distributeddenial?of?service,ddos)攻擊,其主要通過向目標服務器發送大量請求來消耗服務器資源,導致目標服務器無法處理正常用戶的請求,從而實現拒絕服務的目的。
2、為了確保正常用戶的訪問需求,通常通過判斷目標服務器在一段時長內的訪問請求的數量是否超過預設閾值,以此來判斷目標服務器是否正在遭受cc攻擊。但由于預設閾值通常是人為經驗設定或基于歷史訪問行為統計分析得到,存在一定的誤差,導致cc攻擊檢測的準確性較低。
技術實現思路
1、本技術提供一種攻擊檢測方法、裝置及設備,用于提高cc攻擊檢測的準確性。
2、第一方面,本技術實施例提供一種攻擊檢測方法,包括:對來自目標服務器的第一流量數據進行解析,得到第一特征信息,所述第一特征信息用于指示所述第一流量數據的來源信息和所述目標服務器對所述第一流量數據的處理情況;根據所述第一特征信息和預訓練的檢測模型,確定所述第一流量數據是否異常,所述檢測模型是根據樣本數據集對初始檢測模型訓練得到的,所述樣本數據集是從各個服務器的實時流量數據中解析得到的;根據第一時長范圍內經所述檢測模型檢測后的流量數據集中異常流量數據所占的比例,確定所述目標服務器是否被攻擊,所述流量數據集包括所述第一流量數據。
3、在本技術實施例中,通過檢測模型結合第一流量數據的第一特征信息對第一流量數據的第一特征信息進行檢測,由于檢測模型在訓練過程中已學習得到樣本數據集中異常流量數據和正常流量數據的特征,進而在檢測時可準確地對第一流量數據進行異常檢測分類,即確定第一流量數據是否異常,即提高了對第一流量數據異常檢測的準確性。進一步地,基于異常流量數據在流量數據集所占的比例確定目標服務器是否被攻擊,有效避免了傳統的閾值判斷方式中閾值設定準確性低且無法適應動態變化的業務環境的情況,提高了攻擊檢測的準確性。
4、在一種可能的實施方式中,所述第一特征信息包括所述第一流量數據的應用程序編程接口api資產、用戶標識和訪問時延;根據所述第一特征信息和預訓練的檢測模型,確定所述第一流量數據是否異常,包括:將所述api資產、所述用戶標識和所述訪問時延輸入所述檢測模型,以使所述檢測模型確定與所述api資產、所述用戶標識匹配的訪問類型對應的參考訪問時延,并根據所述參考訪問時延與所述訪問時延之間的差異,輸出對所述第一流量數據的檢測結果,所述檢測結果指示所述第一流量數據是否異常。
5、在一種可能的實施方式中,所述第一特征信息還包括返回碼;在得到所述檢測模型對所述第一流量數據的檢測結果之后,所述方法還包括:若所述檢測結果指示所述第一流量數據異常,則根據返回碼驗證所述第一流量數據是否異常;若所述返回碼與預設異常返回碼集合中的任一異常返回碼匹配,則確定所述第一流量數據異常;若所述返回碼與預設異常返回碼集合中的每個異常返回碼均不匹配,則將所述第一流量數據的異常檢測結果變更為正常。
6、在一種可能的實施方式中,在根據所述第一特征信息和預訓練的檢測模型,確定所述第一流量數據是否異常之前,所述方法還包括:通過消息隊列實時接收來自所述各個服務器的實時流量數據;對所述實時流量數據進行解析,獲得所述實時流量數據中的第二特征信息;根據所述第二特征信息和所述實時流量數據的請求發生時間,確定在第二時長范圍內所述各個服務器中每個服務器的疑似異常流量數據集合;根據所述各個服務器的資源使用情況和所述疑似異常流量數據集合中每個疑似異常流量數據的返回碼,從所述疑似異常流量數據集合中確定出異常流量數據;對異常流量數據和所述各個服務器的實時流量數據的正常流量數據進行分類標識,并將標識后的異常流量數據和標識后的正常流量數據作為所述樣本數據集。
7、在一種可能的實施方式中,所述疑似異常流量數據集合至少滿足以下一種情況:所述請求發生時間位于所述第二時長范圍內的實時流量數據的訪問頻率超過預設頻率;所述第二時長范圍內的同一用戶標識的實時流量數據的訪問數量超過第一預設數量;所述第二時長范圍內的同一api資產的實時流量數據的訪問數量超過第二預設數量。
8、在一種可能的實施方式中,根據第一時長范圍內經所述檢測模型檢測后的流量數據集中異常流量數據所占的比例,確定所述目標服務器是否被攻擊,包括:若所述異常流量數據所占的比例超過預設比例,則確定所述目標服務器被攻擊;若所述異常流量數據所占的比例未超過預設比例,則確定所述目標服務器未被攻擊。
9、第二方面,本技術實施例提供一種攻擊檢測裝置,包括:解析模塊,用于對來自目標服務器的第一流量數據進行解析,得到第一特征信息,所述第一特征信息用于指示所述第一流量數據的來源信息和所述目標服務器對所述第一流量數據的處理情況;檢測模塊,用于根據所述第一特征信息和預訓練的檢測模型,確定所述第一流量數據是否異常,所述檢測模型是根據樣本數據集對初始檢測模型訓練得到的,所述樣本數據集是從各個服務器的實時流量數據中解析得到的;確定模塊,用于根據第一時長范圍內經所述檢測模型檢測后的流量數據集中異常流量數據所占的比例,確定所述目標服務器是否被攻擊,所述流量數據集包括所述第一流量數據。
10、在一種可能的實施方式中,所述第一特征信息包括所述第一流量數據的應用程序編程接口api資產、用戶標識和訪問時延;所述檢測模塊,具體用于:將所述api資產、所述用戶標識和所述訪問時延輸入所述檢測模型,以使所述檢測模型確定與所述api資產、所述用戶標識匹配的訪問類型對應的參考訪問時延,并根據所述參考訪問時延與所述訪問時延之間的差異,輸出對所述第一流量數據的檢測結果,所述檢測結果指示所述第一流量數據是否異常。
11、在一種可能的實施方式中,所述第一特征信息還包括返回碼;所述檢測模塊,還用于在得到所述檢測模型對所述第一流量數據的檢測結果之后,若所述檢測結果指示所述第一流量數據異常,則根據返回碼驗證所述第一流量數據是否異常;若所述返回碼與預設異常返回碼集合中的任一異常返回碼匹配,則確定所述第一流量數據異常;若所述返回碼與預設異常返回碼集合中的每個異常返回碼均不匹配,則將所述第一流量數據的異常檢測結果變更為正常。
12、在一種可能的實施方式中,所述解析模塊,還用于:在根據所述第一特征信息和預訓練的檢測模型,確定所述第一流量數據是否異常之前,通過消息隊列實時接收來自所述各個服務器的實時流量數據;對所述實時流量數據進行解析,獲得所述實時流量數據中的第二特征信息;根據所述第二特征信息和所述實時流量數據的請求發生時間,確定在第二時長范圍內所述各個服務器中每個服務器的疑似異常流量數據集合;根據所述各個服務器的資源使用情況和所述疑似異常流量數據集合中每個疑似異常流量數據的返回碼,從所述疑似異常流量數據集合中確定出異常流量數據;對異常流量數據和所述各個服務器的實時流量數據的正常流量數據進行分類標識,并將標識后的異常流量數據和標識后的正常流量數據作為所述樣本數據集。
13、在一種可能的實施方式中,所述疑似異常流量數據集合至少滿足以下一種情況:所述請求發生時間位于所述第二時長范圍內的實時流量數據的訪問頻率超過預設頻率;所述第二時長范圍內的同一用戶標識的實時流量數據的訪問數量超過第一預設數量;所述第二時長范圍內的同一api資產的實時流量數據的訪問數量超過第二預設數量。
14、在一種可能的實施方式中,所述確定模塊,具體用于:若所述異常流量數據所占的比例超過預設比例,則確定所述目標服務器被攻擊;若所述異常流量數據所占的比例未超過預設比例,則確定所述目標服務器未被攻擊。
15、第三方面,本技術實施例提供一種攻擊檢測設備,包括:至少一個處理器,以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述至少一個處理器通過執行所述存儲器存儲的指令實現如第一方面及任一可能的實施方式所述的方法。
16、第四方面,本技術實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機指令,當所述計算機指令在計算機上運行時,使得計算機執行如第一方面及任一可能的實施方式所述的方法。
17、第五方面,本技術實施例提供一種計算機程序產品,包含有計算機指令,當其在計算機上運行時,使得上述如第一方面及任一可能的實施方式所述的方法被實現。
18、關于第二方面至第五方面的有益效果可對應參照前文第一方面所述的內容,此處不再贅述。