李 睿,賈 悠,焦 哲,葉常華
(中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著互聯網的飛速發(fā)展,網絡安全問題日益突出。基于特征庫的入侵檢測系統(tǒng),對于已知攻擊類型產生的異常網絡流量具有較好的檢測效果,對于攻擊特征超出特征庫范圍或是未知攻擊防范效果有限。因此,基于異常的檢測技術成為學術界和產業(yè)界研究的熱點[1-2]。
對于基于時間序列的網絡異常檢測,文獻[3-4]利用時間序列模型預測網絡流量,為網絡流量行為分析提供了借鑒和參考。文獻[5]利用改進的Holt-Winters 算法進行網絡流量異常檢測,取得了一定的效果。但是其僅對網絡整體流量進行檢測,提取的特征有限,無法較為全面地檢測網絡業(yè)務的變化。文獻[6]提出了一種基于多維時間序列的檢測方法,利用多維特征對網絡流量進行描述和異常檢測,對基于TCP 協(xié)議的流量檢測取得了較好的效果。但是其僅提取TCP 總的上下行流量、通信IP 數、連接數等特征,無法準確檢測單用戶的行為異常。
本文首先分析了用戶行為特征,提取多個網絡特征信息并建模,根據歷史行為預測置信區(qū)間,然后利用置信區(qū)間對用戶實際行為進行檢測,結果表明該方法能夠有效地檢測用戶的違規(guī)操作及網絡攻擊行為。
文獻[7]指出通常采用屬性向量對網絡用戶行為進行表示。例如,有n個屬性的某種用戶行為可表示為:<屬性1,屬性2,…,屬性n>。
通過對某公司內部用戶的實際流量統(tǒng)計分析,單用戶具有訪問業(yè)務有限、流量相對穩(wěn)定的特點。如果用戶訪問不常用的業(yè)務,可能是網絡違規(guī)行為;用戶訪問常用業(yè)務流量異常,可能是攻擊行為。本文對實測到的用戶流量屬性進行篩選后,采用向量:<用戶IP,業(yè)務目的IP,協(xié)議,端口號,上行流量,下行流量,上行數據包數,下行數據包數>描述單用戶行為。其中,用戶IP 是用戶網絡地址,業(yè)務目的IP 是用戶訪問的服務器或主機的網絡地址,協(xié)議和端口號描述具體應用,其余的屬性表示時間窗口t內上下行流量及上下行數據包數量的統(tǒng)計值。
ARMA 模型用于平穩(wěn)的時間序列,是AR 模型和MA模型的結合[8]。令{Yt}表示觀測到的時間序列,令{et}代表白噪聲序列。
如果滿足:
則稱{Yt}為自回歸滑動平均混合過程,AR 和MA 的階數分別為p和q,記為ARMA(p,q)。
如果一個時間序列{Yt}的d次差分Wt=?dYt是一個平穩(wěn)的ARMA 過程,則稱{Yt}為自回歸滑動平均求和模型。如果Wt服從ARMA(p,q)模型,稱{Yt}是ARIMA(p,d,q)過程。
定義季節(jié)周期為s的P階季節(jié)AR(P)模型如下:
定義季節(jié)周期為s的Q階季節(jié)MA(Q)模型如下:
定義季節(jié)周期為s的乘法季節(jié)ARMA(p,q)×(P,Q)s模型是AR 特征多項式為?(x)Φ(x)、MA 特征多項式為θ(x)Θ(x)的模型,其中
殘差是實際值和預測值間的偏差。根據文獻[6]的置信區(qū)間來設定殘差的閾值用于異常檢測,具體異常檢測方式如下:
(1)對于某一流量特征構成的時間序列{Yt},如果流量特征歷史不為0,首先確定ARIMA 模型參數,然后利用歷史數據{Yt-1,Yt-2,…,Yt-p}來預測未來的流量特征值yt;如果流量特征歷史為0,一旦產生了該類型流量,則認為是異常,跳過后續(xù)步驟。
(2)根據實際值和預測值計算殘差序列{ξt},設Yt為t時刻的實際值,yt是t時刻的預測值,令
(3)計算殘差序列{ξt-1}的均值和標準差σt-1。
(4)計算殘差ξt的置信區(qū)間:
其中α表示對殘差上界的容忍程度,β表示對殘差下界的容忍程度。如果殘差在置信區(qū)間外,則說明出現異常值,更新該處殘差為置信區(qū)間邊界值。
為驗證本文算法的有效性,對公司內部某用戶的流量進行采集,發(fā)現該用戶的業(yè)務集中在訪問公司HTTP 服務器,對其他業(yè)務沒有訪問流量。
圖1 至圖4 分別是對該用戶連續(xù)4 周在周一到周五每天9 點到17 點共160 小時,采樣間隔為1 小時訪問HTTP 服務的流量特征信息統(tǒng)計。
可以看出,用戶訪問HTTP 服務的網絡流量具有周期性,采用季節(jié)模型進行擬合。
對采樣數據進行1 階8 步差分后,發(fā)現序列具有平穩(wěn)性。根據擴展自相關函數[9]對模型定階,用戶的上下行流量、上下行數據包個數均采用ARIMA(0,1,9)×(0,1,0)8模型擬合。模型參數采用極大似然估計[10],得到參數值如表1 所示。
圖1 HTTP 服務下行流量信息
圖2 HTTP 服務上行流量信息
圖3 HTTP 服務下行數據包信息
圖4 HTTP 服務上行數據包信息
根據2.2 節(jié)的異常檢測方法,預測未來8 小時的用戶流量特征信息分別如表2 所示。
表1 參數估計
按照式(7)求出殘差序列,令式(8)的α和β均為3。
在用戶PC 機上執(zhí)行違規(guī)操作和網絡攻擊,異常類型和實驗結果如表3 所示。
表2 預測值
表3 異常類型和檢測結果
從表3 可以看出,用戶的違規(guī)操作和網絡攻擊行為會造成一個或多個特征值異常。
通過對真實用戶網絡流量進行觀測,構造描述單用戶行為的特征向量,通過對歷史流量進行建模,得到用戶行為的預測值,根據置信區(qū)間對用戶行為進行檢測,結果表明該方法可以有效地檢測用戶的違規(guī)操作和網絡攻擊行為。
本文提取的特征值有限,不能完全刻畫用戶行為,并且季節(jié)ARIMA 模型不能完全符合所有的用戶流量。下一步工作應對特征值進行擴展,研究更為有效的算法和模型,對用戶行為作全面刻畫。