• 沒有找到結果。

SSH字典攻擊偵測模組實證評估

為建立圖 3-2 的 SSH 字典攻擊偵測模組,本研究以 t 分鐘為樣本取樣時間間隔週期 (t = 1, 3, 5),彙整高雄大學管理學院路由器一個月內的 NetFlow 資料,時間從 2008 年 7 月 1 日至 2008 年 7 月 31 日。SSH 字典攻擊 NetFlow 資料與正常 SSH 連線 NetFlow 彙 整後資料各 2500 筆。利用伺服器日誌檔驗證收集高雄大學管理學院網路中的 SSH 字典 攻擊 NetFlow 資料與正常 SSH 流量資料。

本研究收集實際 SSH 字典攻擊與正常 SSH 連線網路流量,整理為本研究所提出的 十七個流量變數後,使用貝式機率演算法、決策樹演算法與支援向量機演算法進行分 類,並且使用十摺交叉驗證法(10-Fold Cross Validation)。十摺交叉驗證方法為將正常 SSH 連線資料與 SSH 字典攻擊資料分為資料個數相同的十組資料,以九組資料做為訓練資 料,剩下一組做測試資料,稱為一摺資料組。且將十組資料依序做為測試資料,故共有 十摺資料組,並計算十摺資料組驗證評估結果平均值得平均實證評估數據。十摺交叉驗 證法為較嚴謹分類資料驗證評估方式。

關於評估分類效能指標本研究採用準確率(Precision Rate)、召回率(Recall Rate)、正 確率(Accuracy Rate)與 F-measure 來進行評估,這四項效能評估指標可使用 2x2 的混合 矩陣(Confusion Matrix)解釋,如表 5-1。

表 5-1. 混合矩陣(Confusion Matrix) 分類預測類別

C1 C2

C1 True Positives (TP) False Negatives (FN) 實際類別

C2 False Positives (FP) True Negatives (TN)

表 5-1 中的混合矩陣代表分類結果,C1與C2代表分類類別,在本研究就為SSH字典 攻擊與正常SSH連線,而Positives資料欄位為主要專注分類的部份,例如本研究即為SSH 字典攻擊,Negatives 資料欄位在本研究即為正常SSH連線資料。True Positives為資料實 際類別為C1類別,分類預測結果也正確地分類為C1類別。False Positives為實際類別是C2 類別,分類預測結果卻不正確地分類為C1類別。False Negatives為實際類別為C1類別,

分類預測結果卻不正確地分類為C2類別。True Negatives為實際類別為C2類別,分類預測 結果也正確地分類為C2類別。

而準確率計算公式定義如下:

Precision Rate = TP

TP + FP

準確率於本研究意指辨識結果為 SSH 字典攻擊中,每次的偵測判斷能準確辨識出 SSH 字典攻擊的資料正確性之比例。

而召回率計算公式定義如下:

Recall Rate = TP

TP + FN

召回率於本研究意指透過貝式機率演算法在實驗樣本中對於所有 SSH 字典攻擊紀錄,

有多少比例的 SSH 字典攻擊資料都能被正確地發現出來。

而正確率計算公式定義如下:

TP + TN Accuracy Rate =

TP + TN + FP + FN

2 Precision Rate Recall Rate F-meaurse =

Precision Rate + Recall Rate

× ×

表 5-2 中的準確率、召回率與 F-measure 討論貝式機率、決策樹與支援向量機演算 分配,為左偏分配(Skew to the right),大部分的資料數值較小,僅有少部份的資料數值 較大,正常 SSH 字典連線資料假設數值為常態分配做為機率函數模型並不適切。此外,

貝式機率演算法中的變數需假設為彼此獨立,而本研究所使用的流量變數彼此之間有其 相關性,如伺服器流向客戶端的 Byte 數/Package 數比值平均與伺服器流向客戶端的 Byte 數平均與伺服器流向客戶端的 Package 數平均有相關性,變數之間關係非獨立。流量變

與五分鐘的貝式機率演算法、決策樹演算法與支援向量機演算法三次十摺共三十組資料 的正確率結果,兩兩進行 t 檢定,判斷各演算法一分鐘、三分鐘與五分鐘的取樣時間間 隔的正確率結果是否有顯著差異。t 檢定結果為三種演算法的不同取樣時間間隔正確率 兩兩之間均有顯著差異。但不同取樣時間間隔的正確率差異都在 4% 的範圍內,如支 援向量機的一分鐘、三分鐘與五分鐘三次十摺資料平均正確率為 85.28、86.03 與 87.49。

針對取樣時間間隔,以平均正確率而言,五分鐘取樣時間間隔的訓練資料訓練 SSH 偵

2 c_octs_pkts_ratio_mean 客戶端流向伺服器的 Byte 數/Package 數比值平均

3 s_c_octs_mean 伺服器流向客戶端的 Byte 數平均 4 s_c_pkts_mean 伺服器流向客戶端的 Package 數平均 5 c_s_pkts_mean 客戶端流向伺服器的 Package 數平均 6 c_s_octs_ratio_mean 雙向流量的 Byte 數比值平均

7 s_octs_pkts_ratio_mean 伺服器流向客戶端的 Byte 數/Package 數比值平均 8 c_s_pkts_ratio_mean 雙向流量的 Package 數比值平均

9 c_port_count 客戶端使用的 Port 數 16 s_c_pkts_sum 伺服器流向客戶端的 Package 數總和 17 c_s_pkts_sum 客戶端流向伺服器的 Package 數總和

表 5-3 中,排名數字越小代表分類效力程度越高。其中最重要的分類流量變數為客

彙整的流量變數上。因此,Byte 數與 Package 數以標準差與總和彙整的流量變數在 SSH 字典攻擊偵測模組中較無法正確分辨 SSH 字典攻擊與正常 SSH 連線資料。這與一般認 為在網路攻擊事件發生時,會產生較大數量 Byte 數與 Package 數的認知並不一致。對於 SSH 字典攻擊在本研究的驗證中,其他的流量變數資訊具有較高的分類預測效力。

相關文件