NO.50 | 2018.12.28
banner
title開花結果 友善列印>>
【108年智慧城市展參展主題系列】應用於高速骨幹網路之入侵偵測系統_檢測暨網通技術組 高震宇副工程師



高速骨幹網路下的資安問題
    2017年12月6日,IEEE P802.3bs標準正式定案,意味著 200Gb與400Gb等級乙太網路準備正式投入商業佈署,巨大的網路頻寬更可靠、高速,可滿足各種不同領域與應用的連網需求。而網路頻寬的增長,代表同一時間內能夠傳輸的資料更多,這也意味著惡意攻擊行為的數量可能會提升,而遭受攻擊時所造成的衝擊程度也會擴大。因此,在高速骨幹網路下,阻擋惡意攻擊行為也變得更加困難。

入侵偵測系統簡介
    入侵偵測系統(Intrusion Detection System, IDS)可偵測潛在的入侵行為,將異常行為記錄下來並同時發出告警通知。入侵偵測系統依照佈署位置與檢測對象的不同,可分為網路型入侵偵測系統(Network-based IDS, NIDS)與主機型入侵偵測系統(Host-based IDS, HIDS),前者監控區域網路上的網路封包,後者則是運作在終端主機上監控是否有系統處理程序繞過安全機制存取系統資源;而依照偵測技術的不同做區分,則可分為錯誤偵測式入侵偵測系統(Misuse-based Detection)與異常偵測式入侵偵測系統(Anomaly-based Detection),說明如下表:
偵測技術 優點 缺點
錯誤偵測式入侵偵測系統:
也可稱為特徵偵測(Signature-based Detection),此為最常用於IDS上的偵測方式,系統會先針對入侵特徵建立特徵資料庫,只要偵測到封包與資料庫的某個特徵相符,系統就會將它視為入侵行為。
與異常偵測相比,誤報率(False Positive Rate)較低。 因為錯誤偵測是靠事先定義入侵行為的特徵做檢測,因此未知的新型入侵行為未建立在特徵資料庫時就無法被偵測。
異常偵測式入侵偵測系統:
也是本中心研發之「骨幹網路異常流量偵測系統」的基礎。此方法是對正常的使用者或網路流量先建立一個描述「正常」行為的行為資料庫,再對通過的封包去做比對,假如封包有某個特徵超出正常行為的門檻值,系統就會將它視為異常行為。
可以偵測未知型態的攻擊,且異常偵測並不會去解讀封包內容,因此被加密的封包也可以進行識別。 與錯誤偵測方式相比,誤報率(False Positive Rate)會較高,因為使用者的行為是千變萬化的,不同的網路服務以及使用方式可以組合出太多種行為模式,因此定義「正常行為」的難度非常高,進而導致誤報經常發生。


 
機器學習簡介
 
    機器學習為人工智慧的一個分支,傳統上實現人工智慧的方式需要人們將規則嵌入到系統,機器學習強調的是建置一個完整的體系或從巨量資料(Big Data)中找到規則,使用演算機制幫助電腦或系統自我學習,進而達到預測效果不斷提升的過程。機器學習系統由三個主要部分組成,包括:
  • 構造模型:用來預測或識別的系統。
  • 參數:模型做決定所使用的信號或因素。
  • 學習器:此系統通過檢查預測和實際輸出的差異來調整參數,再對模型進行調整。
    舉例來說,為了訓練機器,我們先蒐集了有入侵行為之封包資料樣本作為訓練資料,從訓練資料中擷取出資料的特徵幫助我們判讀出目標,例如來源IP、通訊協定或封包大小等,再將訓練資料樣本的所有流量紀錄加上正常流量與異常流量標記,由此讓電腦知道哪些流量具有入侵行為。隨著訓練的資料量夠大時,將測試用的資料輸入電腦中,例如特徵符合單一目標主機,同時對目標主機的多個通訊埠連線,系統即會判斷這組資料為入侵行為的機率有多高。

    由以上範例中,我們在訓練的過程中告訴電腦答案、也就是「有標籤」的資料,此種方法叫做「監督式學習」(Supervised Learning),除此之外還有「非監督式學習」(Unsupervised Learning),此方法的訓練資料沒有標準答案,不需要事先以人工將資料進行分類,故電腦在學習時並不知道其分類結果是否正確。訓練時僅須將資料輸入至電腦中,電腦會自動從這些資料中找出潛在的規則。

應用於入侵偵測的機器學習技術
    本中心研發之「骨幹網路異常流量偵測系統」(以下簡稱為本系統),以異常偵測式入侵偵測系統為基礎,結合機器學習技術與大量的模擬攻擊資料進行訓練,在保有未知攻擊類型偵測能力的前提下,改善異常偵測式入侵偵測系統高誤報率的缺點,同時結合分散式即時運算系統的運算效能與分層分流系統架構,在高速骨幹網路下仍能即時、精準地偵測與過濾異常流量。

圖1、骨幹網路異常流量偵測系統流程圖
 
    本系統總共設計兩層分流、三層過濾機制,在巨大流量通過的情況下,仍能即時偵測異常行為,具體的執行方式如下述:
1.分流機制1-封包分流:此為常見的基於流量之負載平衡機制,將骨幹網路流量均分到分散式即時運算系統的每個運算節點伺服器;比較特別的是這裡的輸出並不是原始網路封包,而是經過轉換後的流量統計資料,此舉可節省大量的頻寬(輸出的格式是Cisco Netflow V9)。
2.分流機制2-平行處理:分散式大數據處理系統的每一個運算節點皆有大量的處理程序同時運作,可平行處理大量的運算任務,提升整體的運算能力。而每個運算節點收到資料時會先將資料進行轉換,產生異常流量辨識模組所需的流量特徵資料集。
3.過濾機制1-已知來源過濾:本系統會建立「黑名單」與「白名單」兩種已知來源,當來自於黑名單來源或白名單來源的封包到達時,本系統會將這些封包直接丟棄。白名單為手動加入的信任來源,黑名單內為已知的異常流量來源IP位址,當某個來源在短時間內出現大量的異常流量時,本系統會將此來源IP位址儲存到黑名單內。
4.過濾機制2-異常流量辨識:辨識流量是否具有異常行為特徵,此階段將過濾掉正常流量,並將具有異常行為的流量送往下一層進行攻擊類型辨識。
5.過濾機制3-攻擊類型辨識:此階段將識別異常流量的攻擊類型,並將分析結果分別送往資料庫與大量異常流量分析模組。若上一層有正常流量被誤判為異常流量時,此階段會再用不同的演算法進行過濾,進一步降低錯誤警報的數量。

使用UNSW-NB15流量資料進行測試,原始流量總計約99.15GB,其中正常流量為2,218,755筆,異常流量為321,283筆,九種攻擊類型之辨識準確度介於80.33% ~ 99.32%,平均準確度為93.06%。
 
流量類型 數量 小計
Analysis 2,677 321,283
Backdoor 2,329
DoS 16,353
Exploit 44,525
Fuzzers 24,246
Generic 215,481
Reconnaissance 13,987
Shellcode 1,511
Worm 174
Normal 2,218,755
合計 2,540,038
表1、UNSW-NB15流量類型統計

圖2、異常流量辨識準確度測試結果
 
結語
    機器學習的應用面非常廣泛,近年機器學習應用於入侵偵測技術的相關研究與成果也越來越多,且都具有一定的水準。本系統將機器學習技術應用於異常偵測式入侵偵測系統,成功的改善誤報率過高的問題,同時結合分散式大數據處理系統強大的運算效能,使本系統不論佈署在中小企業、學術網路、電信網路或資料中心等各種不同規模的網路環境下,皆能即時地偵測異常行為及進行主動防禦,提供關鍵、有效的防護。

參考資料:The UNSW-NB15 data set description

備註:第一張圖片機器學習圖(引用自www.vpnsrus.com