OC-SVM在ddos攻擊中的應用

基於單類支持向量機的ddos檢測應用層

摘要

分佈式ddos攻擊利用網絡協議和服務的複雜性和多樣性來進行攻擊。這類攻擊相比於其他ddos攻擊更加難以防止。單類支持向量機只需要正例樣本進行訓練,適用於異常點檢測場景。在這種檢測策略下,從正常用戶的session中先抽取7個特徵,然後用OC SVM訓練模型,最後用模型預測。通過仿真實現展示檢測方法的數據結果。

引言

提出OC主要是解決不平衡分類問題,目的是找到包含最多正例的超球面。基於此觀點,OC判別測試點是不是屬於正常類。因爲只需要正常數據訓練,所以對於檢測ddos攻擊很有效。總結如下:

  1. 根據攻擊用戶和正常用戶的區別從用戶的session中抽取7個特徵
  2. 通過OC建立的正常用戶的瀏覽模型檢測ddos
  3. 根據真實網站展示結果

檢測模型和算法

檢測算法

使用oc建立正常用戶模型,然後新session如果脫離了正常用戶模型就被檢測成反常的。OC算法是通過非線性核函數的手段隱式的將數據從輸入空間映射到特徵空間。數據映射後,訓練數據會被歸屬於一個類。這樣在特徵空間中就找到了一個可以將測試數據分割開的邊界。

在訓練之前需要數據預處理,OC算法輸入是數據矩陣的數據結構。

X11...Xj1...Xn1...............X1k...Xjk...Xnk...............X1p...Xjp...Xnp

數據矩陣是正常數據集,是一個n行p列的矩陣,有n個樣本,p維特徵。

用戶session產生

對於用戶來說,瀏覽記錄是一個請求序列。我們假設客戶端IP,兩個連續請求間隔小於m(默認是1800)秒認爲是相同的session

特徵選擇

在正常用戶和攻擊者的session之間有許多不同,例如請求率,請求的資源,請求次序,session時間等。根據這些不同,可以選取特徵。

  1. 資源流行度:
    在網站中資源有不同的訪問頻率,這裏的資源具有靈活的意義:可以是網頁,圖片,視頻,音頻或者文字等。大約10%的網頁貢獻了80-90%的請求。
    定義資源流行度爲:

    popi=ACiACall

    其中,ACi 是資源i在一段時間內的訪問次數,ACall 是所有資源在一段時間內的訪問次數。如果A資源的訪問次數大於B資源,就說明A的流行度高於B。
  2. 轉移概率
    在一個網站中,兩個資源之間的轉移概率是不同的。如下公式表達瞭如何計算轉移概率:

    Pij=Transi>jTransi>all

    Transi>j 代表從資源i到資源j的轉移次數,Transi>all 代表資源i到其他所有資源的轉移次數。
  3. 歷史轉移矩陣
    歷史轉移矩陣記錄從一個資源到其餘所有資源的轉移次數,定義如下:
    t11...ti1...Xn1...............t1i...tii...Xni...............t1n...tin...Xnn

    tij 是資源i到資源j的轉移次數。

介紹瞭如上概念和定義後,介紹OC算法所選擇的特徵。這些特徵都可以從網頁服務日誌中獲取。
1. Nsession : 在1個session中所有的請求數。
session中需要有足夠多的請求容量才能抵禦ddos攻擊
2. POPsession :在一個session內所有請求的平均流行度。
因爲簡單實現,所以一些ddos使用隨機序列發起攻擊。隨機請求攻擊的檢測比簡單請求一次複雜。研究表明,大部分的資源都是相對的低流行度,隨機請求所產生的 POPsession 低於正常用戶session產生的 POPsession
3. Psession :session中所有鄰近請求的平均轉移概率。
對於隨機請求攻擊,它的請求序列是隨機產生的。對比與正常用戶的session,攻擊session的Psession 通常小於大部分正常session的Psession
4. Sizesession :session中所有請求的總大小。
攻擊者可能請求例如大視頻這種大型資源,就是說雖然是一個簡單的請求,但是會消耗很大的帶寬。本文認爲Sizesession 就是session負載。
5. Dsession :session 的持續時間
在一個session中,從第一次請求到最後一次請求的時間區間。通常,正常用戶不會在一個網站上待太長時間。對於隱蔽攻擊來說,或許需要較長的時間才能達到攻擊效果。
6. replycoden : http狀態碼:
  200 - 服務器成功返回網頁
  404 - 請求的網頁不存在
  503 - 服務器超時
統計學上講,從網站服務器上返回的http請求狀態嗎有不同的出現頻率。通常來說,爲了達到更好的攻擊效果需要更有效的網站請求。所以攻擊session會有更多的200回覆碼,除非它模仿正常用戶session中的代碼分佈,但反過來這會削弱攻擊效果。
7. 動態:動態頁面出現次數
正常情況下,動態頁面包括數據庫的查詢或者插入,複雜腳本的計算和其他具有高負載的操作。一些小規模的攻擊工具會攻擊這類易受損的網頁。

檢測過程

根據使用正常數據集訓練好的OC模型,預測新的session x,如果返回1,判爲正常;如果返回-1判爲異常,將請求IP加入黑名單。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章