• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
47
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

異常入侵偵測系統之新特徵探勘

New Feature Discovery on Anomaly Intrusion Detection System

系 所 別:資訊管理學系碩士班 學號姓名:M09410004 曾 本 涵 指導教授:王 偉 德 博士

中華民國 九十六 年 七 月

(2)

異常入侵偵測系統之新特徵探勘

研究生:曾本涵 指導教授:王偉德 博士

中華大學資訊管理學系

摘要

誤用入侵偵測系統是以規則偵測為辨識攻擊時之依據,具有準確率高與誤判 率低之特性,然而對於新型攻擊較無抵抗之能力,異常入侵偵測系統使用訓練模 組來辨識攻擊,可同時針對舊型與新型之攻擊進行偵測。在本篇論文中,我們試 圖使用支持向量機於異常入侵偵測系統,並提出新特徵加入訓練模組中,實驗實 際使用真實網路環境。在我們的實驗中,我們提出的特徵組合可以達到較高之準 確率並優於過往提出的一些方法。

(3)

New Feature Discovery on Anomaly Intrusion Detection System

Student : Pen-Han Tseng Adviser : Dr. Wai-Tak Wong

Department of Information management Chung-Hua University

Abstract

Misuse intrusion detection system recognizes attack by rule-based detection. It provides high accuracy and low alert. However, it has not enough ability against new attack. Anomaly intrusion detection system uses training model to recognize attacks.

It is able to detect old and new attacks. In this thesis, we attempt to use support vector machine on anomaly intrusion detection system. We add new features to the training model. The experiments are performed on the real environment. In our experiment, the proposed feature set can achieve higher accuracy than some of previously proposed methods.

(4)

誌謝

研究所兩年的時光,轉眼間竟已接近尾聲,在學期間由衷的感謝指導教授王 偉德博士,老師不厭其煩的教導使我得以順利的在入侵偵測的領域裡有著深刻的 收獲,並不時的討論指點我正確的方向,使我在兩年的研究所生涯裡獲益良多,

而老師對學問與做事的嚴謹指導更是我在往後的學習典範。

本論文的完成,要感謝的人不勝枚舉,如賴政揚同學於程式及實驗工具使用上 的幫助,黃文政同學於數學公式與原理的解說,使本論文得以順利的研究發展,

感謝建豪學長、劉蓉學姊於我新進入研究所時,對於作為研究生的經歷有眾多的 指導,也感謝彥廷學弟於研究繁忙時,對生活上的諸多幫助,感謝有太多人的體 諒及幫忙,使得本論文能夠更完整而嚴謹。

在兩年實驗室的共同生活點滴,學術上的討論、言不及義的閒扯、挑燈夜戰的 趕作業與實驗、遲到而溜進課堂教室的經歷...感謝眾位學長姐、同學、學 弟妹的共同砥礪,有你們的陪伴讓兩年的研究生活變得更加多采多姿。

最後要感謝的就是我的父母,有你們的照顧,才能使我順利的學習至今,沒有 你們默默的付出與支持,就沒有本論文的產生,謹以此文獻給我摯愛的父母和家 人。

曾本涵 中華大學資訊管理研究所 九十六年七月

(5)

目錄

摘要... I Abstract ... II 誌謝...III 目錄...IV 表目錄...VI

第一章 緒論...1

1.1 研究背景...1

1.2 研究動機...2

1.3 研究目的...3

1.4 研究流程與架構...3

第二章 相關研究...5

2.1 入侵偵測系統簡介...5

2.2 資料集與攻擊類型...8

2.2.1 KDDCup’99 資料集...8

2.2.2 攻擊型式分類...9

2.3 支持向量機...10

2.4 特徵相關研究...12

2.4.1 特徵偵測方式...12

2.4.2 特徵產生...12

第三章 實驗設計...14

3.1 實驗環境...14

3.2 實驗流程...15

3.3 特徵值...18

3.3.1 原始特徵值...18

3.3.2 新特徵值...22

3.4 資料集設定...25

3.4.1 攻擊工具...26

3.4.2 資料集製作...27

3.5 特徵選取驗證...29

第四章 實驗結果評估...31

第五章 結論與未來展望...35

5.1 結論...35

5.2 未來展望...36

第六章 參考文獻...37

(6)

圖目錄

圖 1-1.IDC國際數據統計資料 ...2

圖 1-2. 研究流程圖...4

圖 2-1. 支持向量機示意圖...11

圖 3-1. 實驗環境示意圖...14

圖 3-2. 攻擊辨識與資料集製作流程圖...16

圖 3-3. 實驗步驟流程圖...17

圖 3-4.KDDCUP’99 攻擊次數統計圖 ...28

(7)

表目錄

表 1-1.2000-2007CERT弱點攻擊回報統計 ...1

表 3-1. 封包主機資訊...15

表 3-2.KDDCUP’99 特徵值列表 ...18

表 3-3. 基本特徵(INTRINSIC FEATURES) ...19

表 3-4. 內容特徵(CONTENT FEATURES)...20

表 3-5. 時間基礎流量特徵(TIME-BASED TRAFFIC FEATURES) ...20

表 3-6. 實作之 13 個特徵值...22

表 3-7. 各式攻擊類型...23

表 3-8.5 個新特徵 ...25

表 3-9. 訓練模組設定表...28

表 3-10. 測試模組設定表...28

表4-1. 訓練與測試資料集連線筆數...31

表 4-2. 偵測率比較表...32

表 4-3. 多元迴歸分析模組...33

表 4-4. 最佳特徵組合...33

表 4-5. 區別分析模組...34

(8)

第一章 緒論

隨著電腦運用的普及與網際網路的蓬勃發展,帶給人類快速而方便的網路時 代,也改變了人類既有的生活模式。然而伴隨著資訊便利而來的卻是令人擔憂的 資訊安全問題,層出不窮的網路攻擊事件對使用者造成極大的威脅,攻擊手法不 停地精進與翻新,導致系統與軟體的弱點漏洞不停地增加,如表 1-1,比起過去,

目前的入侵及攻擊技術更具多樣性、快速與自動化,因此,能夠正確無誤的防範 網路攻擊所帶來的衝擊,已成為現今網路時代的首當要務之一。

表 1-1. 2000-2007 CERT弱點攻擊回報統計[1]

年份 2000 2001 2002 2003 2004 2005 2006 受害弱點 1,090 2,437 4,129 3,784 3,780 5,990 8,064

1.1 研究背景

約於 1985 年起,入侵偵測系統的研究與發展開始漸漸活躍且持續在進行 中,但是在商業領域上的廣泛採用則是到 1996 年才有較顯著的開始。在過去的 幾年之內,商業產品的入侵偵測系統使用規模一直持續的上升,未來並預估入侵 偵測系統的應用市場將會持續的擴大成長。

根據IDC國際數據資訊於 2006 年所發佈的一項報告指出[2],亞太地區企業 愈來愈重視資訊安全的議題。研究發現,亞洲企業網路使用率與電子商業計劃逐 年增加,顯示亞洲地區企業對於網路的依賴度日漸擴大,網路安全的重要性與日 俱增。調查結果也顯示,多數亞洲企業曾遭遇過安全入侵事件,因而增加網路安 全的相關設備,IDC並預測未來五年內,資訊安全應用市場將會有持續且強勁的 成長。

(9)

圖 1-1. IDC國際數據統計資料[2]

傳統上,一般企業主要採用防火牆作為防止駭客入侵的第一道防線。但隨著 近年來網路攻擊技術不斷的翻新及多樣化,單純使用防火牆來防堵網路攻擊,已 日漸略顯不足。因此,入侵偵測系統(Intrusion Detection System, IDS)遂成為企 業網路安全架構的新一項安全防堵方式。

除了商用領域外,在現今廣泛使用的個人電腦中,需要入侵偵測系統的功能 也日趨迫切,藉由監測網路行為、安全日誌或稽核資料等,防堵網路攻擊者入侵 或未經授權的存取電腦或網路的行為,以阻絕攻擊者透過掃瞄的方式,找出目標 電腦的弱點,入侵該目標電腦盜取資料及帳號密碼,或作為另一波網路攻擊的跳 板。網路安全乃至於個人隱私的保密,這類以往較不受重視的地方也逐漸因為越 來越多的網路攻擊(包括病毒及木馬程式等危害)而受到人們的重視,入侵偵測 系統的出現,就是對於網際網路上所有可疑的活動進行偵測及分析,以判斷是否 這類可疑的活動為攻擊手法的系統工具。

1.2 研究動機

入侵偵測系統能否正確檢測出網路攻擊事件,並及時採取回應措施,將代表 著此入侵偵測系統的良莠程度,因此在入侵偵測系統的研究上,無不朝著提高偵 測率、降低誤判率與提升系統效能等為主要的發展方向。

在過往的學術研究領域裡,較常見的方式大都以運用各類型的演算法

(10)

[6][7][8]及特徵組合的最佳化[9][10][11]來加強入侵偵測系統的整體效能,鮮少有 以增加新特徵值的方式,來對入侵偵測系統做進一步的改良,因此若原始的特徵 值出現次數稀少或不夠具備鑑別度時,其偵測率將面臨瓶頸且難以有效地發揮特 徵組合的優劣,使得在偵測率的提升上面,無法有較顯著之改良與增進,在查閱 相關研究文獻後,遂使我們興起了使用加入新特徵值的方法來做更深入的研究實 驗,以避免僅局限於即有特徵所能偵測之攻擊能力。

在一些關於入侵偵測的學術研究文獻中也指出[10][11][12],利用支持向量機

(Support Vector Machine, SVM)來處理入侵偵測的資料數據有著良好的成效及 處理速度。因此本研究將採用支持向量機來建立偵測網路攻擊的入侵偵測訓練模 組,期許能提供入侵偵測系統有較佳之辨識攻擊能力。

1.3 研究目的

本論文研究主要以KDDCup’99[13]之特徵資料集為基礎,並使用加入新 特徵值的方法,實驗環境將於真實網路流量中,實作新特徵資料訓練模組,並配 合支持向量機(Support Vector Machine, SVM)用於異常入侵偵測系統。研究中 將實際操作攻擊程式對目標網域進行攻擊,並以支持向量機為偵測工具來對攻擊 進行判斷,搭配KDDCup’99 原始特徵資料集與加入新特徵的新特徵資料集做比 對,期許透過加入新特徵值的方式來提升異常入侵偵測系統之偵測率,改善攻擊 之辨識能力。

1.4 研究流程與架構

本研究首先闡述現今的資訊安全環境背景及入侵偵測系統的研究近況,再經 由研究動機之啟發與期許研究目的的方法達成後,遂訂定以「異常入侵偵測系統 之新特徵探索」為研究主題,並參考眾多文獻的方法做進一步的實驗設計,實驗 部份將使用Snort[14]收集網路真實流量封包,搭配相關攻擊工具、網路設備及支

(11)

持向量機來進行,再以LIBSVM[15]來做偵測率之比較,研究流程如圖 1-2 所示。

本研究的論文架構第一章主要描述研究的背景與動機,進而形成的研究主題 與研究流程,第二章引述相關的研究文獻,簡介入侵偵測系統領域,並說明目前 的研究近況與方法,包含本研究相關的產生特徵值方法及支持向量機等研究探討 第三章詳述實驗設計中的各項做法與設計,將整個實驗流程有較深入的描述,第 四章的實驗結果評估,將實驗之數據結果做一分析評估,以驗證實驗之可行性,

第五章則是結論與未來展望。

圖 1-2. 研究流程圖

(12)

第二章 相關研究

2.1 入侵偵測系統簡介

最初入侵偵測系統(Intrusion Detection System, IDS)的概念,是由Dorothy Denning學者於 1987 年首度對入侵偵測系統模式做出基本的定義設計[16],當時 主要將入侵偵測系統規劃為六項架構,將如下描述

z Subjects – 系統最初的活動創始開端,如管理者、使用者。

z Objects – 管理的資源如系統檔案、指令、設備等等。

z Audit records – 由使用者於系統中所產生的行為資訊等,如使用者的登 入、指令的執行、檔案的存取等等,類似於現今系統中的日誌檔。

z Profiles – 將使用者的行為或活動的觀察形成一個模組,最初可由樣本 中產生。

z Anomaly records – 異常行為的連線偵測紀錄,如封包的異常連線等等。

z Activity rules – 相當於現今入侵系統中 rule-based 的方式,透過行為的 rule 條件來比較是否符合的部份。

入侵偵測系統發展至今,我們可以說他是一種網路安全監測工具,藉由解讀 系統稽核檔案或網路封包內容,即時偵測出對系統所進行的各項攻擊行為,並回 報給系統管理者,以加強維護系統之安全。

傳統上,我們可依入侵偵測系統的資料來源收集方式,將其分為兩大類型「網 路型入侵偵測系統」(Network-based IDS, NIDS)與「主機型入侵偵測系統」

(Host-based IDS, HIDS)。

(1) 網路型入侵偵測系統(Network-based IDS)

網路型入侵偵測系統一般使用混亂模式(promiscuous mode)來設定網路卡,

以擷取並分析每一個經過的網路封包。偵測器會檢查連接的網路區段中所傳送的 封包資料,因此可保護多個連到該網段的主機。通常 NIDS 會在重要的網路區段 或交換器等入口處設置,以檢查所有通過其子網路封包的資料來進行監測。

(13)

網路型入侵偵測系統會針對網路上的連線狀態及傳輸封包的內容進行監控 檢查,以便能偵測是否有攻擊行為正在進行。例如網路型入侵偵測系統能夠偵測 出網路上是否有可疑的活動(如 ping sweep 或 port mapping 等,表示有外部主機 正在收集網路上的資訊,可能就是攻擊行為的前兆)或是否有不正常的連線(如 UDP flood,可能正在進行阻斷服務攻擊等),藉此來判斷保護內部的網路連線,

以監控網路的安全。

目前較常見的網路型系統有DIDS[17]、BlackICE Defender[18]、Snort[14]等 等,DIDS是由美國加州大學Davis分校於 1990 年所提出,主要架構包括數個區 域網路監視器與數個主機監視器分別搜集網路通訊記錄與主機稽核記錄,然後將 相關資訊集中送往DIDS Director進行分析,BlackICE Defender系統則結合防火牆 和入侵攻擊行為偵測能力,用於保護網路使用者對於網路使用的安全無慮,並隨 時監控攔截各種的入侵攻擊行為,儲存相關攻擊證據,並分析及研究入侵攻擊行 為,而Snort是一套免費且開放原始碼的IDS系統,並允許任何組織、機關等能任 意採用其原始碼來發展其自己的IDS系統,此系統可將與監控端電腦同網域電腦 的所有封包接收下來,過濾所抓到的封包資訊,並分析此封包所載送的內容資 訊,進行特徵比對,在本篇的研究實驗中,即是搭配使用Snort強大的封包過濾 接收功能,來結合我們的異常入侵偵測系統。

(2) 主機型入侵偵測系統(Host-based IDS)

主機型入侵偵測系統一開始是從主機系統稽核日誌檔發展而來,這種系統的 軟體必須直接載入主機並加以監控。當此系統部署在主機時,此軟體會監測系統 檔案、程序與日誌檔中是否有可疑的活動,一些主機型的入侵偵測系統尚會監測 使用者權限是否有改變,當有事件發生時,主機型入侵偵測系統會對其行為做入 侵行為的比對,若有符合則由回應通知系統管理員,以對攻擊行為進行適當的反 應。

一般來說,主機型入侵偵測系統的發展,可補足網路型入侵偵測系統某些先 天上的不足,例如常見的遠端非法登入(Remote to Local, R2L)及使用者提升最

(14)

高權限(User to Root, U2R),偵測這種在主要伺服器上的非法行為是相當重要 的,而且這些資訊必須直接在其主機系統上進行監測才可得知,因此在大多數的 情況下,會將主機型及網路型的入侵偵測系統結合使用,以達到良好的安全防護 措施,避免非法的入侵行為發生。

在常見的主機型入侵偵測系統中,有可監視任何嘗試入侵系統主機的各種攻 擊行為的Rainbow系統[19]。每當此IDS系統發現異常行為時,系統及發出警告訊 息,同時紀錄此入侵攻擊行為於檔案,而另一著名的主機型系統IDES,主要是 採用統計分析和專家系統的方法來進行入侵偵測的工作。應用專家系統的技術,

針對攻擊知識庫中的規則來對紀錄做分析處理的工作,最後把結果通知系統安全 管理者。

此外,若依據入侵偵測系統的攻擊行為界定模式,又可分為「誤用偵測模式」

(Misuse Detection Model)及「異常偵測模式」(Anomaly Detection Model)。

(1) 誤用偵測模式(Misuse Detection Model)

誤用偵測模式是目前入侵偵測系統中最廣泛被使用的方式之一,其將接受到 的網路封包資料,與其系統預先定義好的攻擊規則進行資料比對。在攻擊規則 中,預先詳細定義好各種入侵攻擊規則模式,若符合其入侵攻擊定義的規則,便 發出警告判斷是一種攻擊入侵行為,此種偵測模式準確率高、誤判率低,但由於 判斷攻擊方式是以預先定義好的攻擊行為為基礎,因此對於新型攻擊的行為比對 時,將無法偵測出其攻擊行徑,常見的誤用偵測系統如Snort[14]、USTAT[20]等 等都是使用此概念的架構為主。

(2) 異常偵測模式(Anomaly Detection Model)

異常偵測模式則不以預先定義各種入侵攻擊規則為主,而是採用定義正常使 用行為的模式訓練比對,若某時段偵測到的行為模式不同於正常的使用行為時,

便將其視為異常行為。採用這類偵測模式可避免如誤用偵測在沒有更新入侵攻擊 規則時,將對新型攻擊無法判定的問題外,也可同時針對舊型及新型之攻擊做入 侵偵測,但由於是以界定正常與異常行為模式判斷為主,經常會造成過高的誤判

(15)

率,特別是在於 U2R 及 R2L 此類攻擊的行為模式,與正常行為的差異甚小,將 增加其偵測的困難度,因此異常偵測模式的正常行為訓練模組相當重要,將是其 辨識攻擊的主要依據。

2.2 資料集與攻擊類型 2.2.1 KDDCup’99 資料集

KDDCup是由SIGKDD(ACM Special Interest Group on Knowledge Discovery and Data Mining)組織[21]每年所舉辦一次的KDD競賽,和SIGKDD國際會議同 期舉行。顧名思義KDD(Knowledge Discovery in Databases),即是”知識發現和 資料挖掘”的意思,意指透過分析大量數據,挖掘和發現數據中隱藏的規律和知 識。目的希望能藉此找出最有創新性和最有效的數據挖掘方法。從 1997 年起,

每年皆會舉辦一屆至今。而在每年的 ACMSIGKDD會議舉行之前的三四個月,

會先於在網路上公布比賽任務,參賽者則將在指定日期前提交結果。經組織人員 評審後在SIGKDD會議上公布比賽結果,並邀請優勝者作分析探討研究。競賽題 目通常都是當前各個學科中實際的熱門資料挖掘問題,具有較高的挑戰性。往年 的題目有如 1997 的預測最可能的善款捐款人、1998 年的直銷名單最佳產生方 式,以及本篇所引用的 1999 年針對網路入侵偵測的效能測試競賽。

KDDCup’99 資料集[13]是由美國哥倫比亞大學(Columbia University)以麻 省理工學院林肯實驗室(MIT Lincoln)[22]於 1998 年收集模擬美國空軍的軍事 網路環境之DARPA’98 (Department of Defense's Advanced Research and Projects Administration美國國防部進階研究計劃署, DARPA)資料集為基礎,

在該資料集中,由麻省理工學院林肯實驗室負責模擬出美國空軍的軍事網路環 境,並於連線的電腦中實作此資料集,不論是正常的網路封包流量連線,或是異 常的攻擊網路連線,收集實際的網路運行狀況。並交由美國哥倫比亞大學來做後 續的維護及整理,並進行特徵選取及前置處理所產生而成,而後發佈至 UCI KDD

(16)

Archive(UCI Knowledge Discovery in Databases Archive)供專家學者用來做為入 侵偵測系統效能評估之用。

2.2.2 攻擊型式分類

攻擊分類的概念,早期是由RISOS project於 1976 年所提出[23],當時僅是以 入侵者的行為做了一個基礎的描述,而目前較廣泛被討論使用的攻擊分類型式,

則是由學者Daniel Weber於 1998 年所設計的分類架構為主要依據[24],其將使用 者的角色、使用方式、攻擊目標等等,做了完整的分類整理,並規劃出四大類型 的攻擊型式

(1) Denial Of Service

阻斷服務攻擊(Denial Of Service, DoS),主要是藉由傳送大量的封包或利用 通訊協定中的疏失等等,刻意消耗網路的頻寬及系統的資源,使其運作滿載無法 處理其他合法的使用需求,最後造成系統癱瘓無法正常運作,如 Ping Of Death、

Smurf 等等攻擊,都是使用此類的概念。

(2) Probe

探測行為通常使用 port scan 等等方式,搜集目標主機的各項資訊,如:探 測主機開放的連結埠、蒐集主機所提供之服務、了解目標主機所安裝的作業系 統、軟體版本及其主機可能存在的弱點資訊等,此類型的探測行為嚴格說來並不 算是攻擊行為,也不會對目標主機產生傷害,但這類行為卻相當有可能是入侵者 在欲攻擊前所做的前置動作,仍然有需加以監測控管的必要。

(3) User to Root

User to Root(U2R)一般是指攻擊者在已獲得目標主機的使用者帳戶後,企 圖以非法的方式提升權限至最高管理者(Root),取得可控管該主機的所有能力,

常見的攻擊有利用緩衝區溢位(Buffer Overflow)時所造成的漏洞,藉以切換成 其攻擊程式,竊取成最高使用者權限等。

(17)

(4) Remote to Local

遠端非法登入(Remote to local, R2L),攻擊者可利用目標主機的系統軟體 漏洞、管理者設定中的疏失、亦或攻擊程式,以取得目標主機的非法登入,如 Microsoft IIS4.0 及 5.0 時的 Unicode 漏洞或 SQL 的隱碼應用,都屬於此類型的攻 擊。

2.3 支持向量機

支 持 向 量 機 ( Support Vector Machine, SVM ) 是 一 種 使 用 監 督 式 學 習

(Supervised Learning)的方法,需事先定義出各分群的類型來做統計分類與迴 歸分析等,屬於一般化線性分類器。其發展主要由Vapnik[25]及其領導的AT&T Bell實驗室研究小組所維護,目前廣泛的應用於各類研究實驗中。

支持向量機的特點是它能夠同時最小化經驗誤差與最大化幾何邊緣區,其主 要是建立在統計理論中的 VC 維度理論與結構風險最小原理基礎上,對於解決小 樣本、非線性、高維度和局部極小點有較好的解決能力。支持向量機可藉由透過 輸入的資料來進行超平面(hyper-plane)分類(基本型態為兩類別),將訓練資 料模組(Train model)轉換成高維度空間,希望支持向量機能夠通過一個超平面 正確的把他們分開,超平面的數學式可以寫成如(1),在要求最大間隔的情況下, 我們需要知道支持向量機以及與最佳超平面(Optimal Hyperplane)平行並且離 支持向量機最近的超平面.這些平行超平面方程式可以如(2)(3)表示,示意圖 如圖 2-1 所示。

w.x - b = 0 (1) w.x - b = 1 (2) w.x - b = -1 (3)

(18)

圖 2-1. 支持向量機示意圖[26]

除此之外,在使用支持向量機的參數選擇上,也是相當重要的環節之一,由 於對支持向量機所給予設定的最佳參數,往往會影響其於分類學習上的表現,因 此專家學者也針對此問題,提出了一些解決的方法[5],其中台灣大學資工系林 智仁教授開發的LIBSVM[15],提供了一種利用交叉驗證(Cross-Validation)的 方式來選取最佳參數的方法,藉由使用者指定的參數組合,以交叉驗證的方式來 驗證每個參數組合的正確率,最後決定適合該資料樣本的最佳參數組合,由於研 究問題的資料樣本特性不同之故,參數值的設定也須多加考量,若將其範圍指定 過大,則可能造成運算資源及時間的浪費,而參數值範圍指定過小,則可能無法 計算出該研究問題之最佳化參數,由於參數範圍的指定難以單方面的做最佳化的 參數設定,因此我們於實驗中,對於資料樣本的參數是採取先測試一共 63 組所 有參數組合後的結果,其中參數C範圍為[1000、750、500、250、100、50、10、

2、1]與參數g範圍為[2、1、0.5、0.1、0.01、0.001、0.0001],選出最佳之參數組 合,並於其後使用於資料集的設定中。

根據使用支持向量機來進行入侵偵測的學者Mukkamala研究文獻[10]顯示,

支 持 向 量 機 普 遍 能 得 到 較 高 的 正 確 率 , 並 具 有 較 佳 的 訓 練 及 預 測 速 度 。 Mukkamala學者也使用類神經網路及支持向量機來對KDDCup’99 資料集進行分 類比較[11],也驗證了支持向量機能展現良好的執行效率。

(19)

2.4 特徵相關研究 2.4.1 特徵偵測方式

入侵偵測系統的特徵偵測方式,長期以來一直是被廣泛討論的議題之一,不 論是誤用偵測模式(Misuse Detection)或是異常偵測模式(Anomaly Detection),

特徵偵測方式的選擇都將是影響入侵偵測系統效能的主要因素,因此對於此類的 研究向來是熱門的領域之一。

在學術研究中關於特徵偵測方式,可將其大致分為六大類型[4]: 統計分析

(Statistic Analysis)、類神經網路(Neural Network)、入侵規則(Ruled-based Analysis)、貝氏網路(Bayesian Network)、有限狀態機器(Finite State machine)、

資料探勘(Data Mining),各類型的特徵偵測方式,對入侵系統偵測率的提高和 誤判率降低都有不少成效。偵測方法也並無好壞之分,而是必須根據所要偵測的 入侵型態,選取最適當的偵測方法。如入侵規則、貝氏網路、有限狀態分析,通 常適用於誤用偵測模式;而統計分析、類神經網路則適合於異常偵測模式;資料 探勘方法則都適用於誤用偵測和異常偵測模式。我們必須了解攻擊的特徵,再進 一步分析入侵偵測系統的建置環境等各項因素,才能選取最合適的偵測方式。

2.4.2 特徵產生

在入侵偵測系統的特徵產生中,主要也是依據六大類的特徵偵測方式而訂,

如入侵規則(Ruled-based),利用各種語法來描述訂定攻擊事件的特徵,以建立 規則攻擊資料庫,有限狀態機器(Finite State machine),利用攻擊時發生的各項 狀態轉移情形來描述攻擊事件的行為,這類型的特徵產生方式,主要應用於誤用 偵測入侵系統,以比對資料辨識攻擊的發生,而在異常偵測入侵系統中,有如統 計分析(Statistic Analysis)使用統計資料數據的研究方法來建立攻擊的規則或行 為模式,還有近年來相當熱門的資料探勘(Data Mining)技術[27],利用Data mining的方式,將資料分類整理並減少不必要的資料,藉以產生新的規則特徵,

以偵測未知的入侵行為。

(20)

資料探勘(Data Mining)大致來說就是為了發現有意義的模式或規則,以自 動或半自動的方式,來勘查、分析大量資料所進行的流程。一般的方法是將原始 收集到的資料轉換成我們需要的資料格式,再利用所採用的演算法去訓練成為我 們所需要的入侵偵測模型,來偵測已知或未知型態的入侵。常見的如Fuzzy Intrusion Recognition Engine(FIRE)[28]利用資料探勘(Data Mining)技術將所 需比對的資料事先做過分類,並取出有用且去除不必要的資料再進行比對,FIRE 並能根據網路上的傳輸資料找出一套規則,並且根據此規則來定義攻擊行為。

而在不少文獻中經常出現的RIPPER[29]工具,也使用於入侵偵測系統中,如 KDDCup’99[13]資料集的 41 個特徵值,產生方式可分為原始封包資料、資料探 勘模式、專家領域知識 3 方面,其中資料探勘模式的特徵值,即是使用RIPPER 的方式,來產生入侵偵測模組的特徵[30],RIPPER是一種資料探勘的分類學習工 具,能產生新的規則,因此可用於大量的連線資料中找出規則,並利用這些規則 來定義入侵行為,大致而言,資料探勘(Data Mining)技術用於入侵偵測系統中 的重點在於如何有效利用多種特徵之間的關聯性去選擇出正確且較符合實際情 形的特徵辨識,由於特徵選擇的好壞將會影響其於訓練模組中分類時的重要依 據,而一個良好的訓練模組對入侵偵測系統的偵測率與效能有著密不可分的關 聯。

(21)

第三章 實驗設計

3.1 實驗環境

在實驗環境的設計中,考量在實作上的可行性,將以研究實驗室本身來建構 實驗環境,環境架構如圖 3-1,我們以網路分流器Net Optics TAP)來實際監控 資料流封包,其可在不影響網路正常運作中進行實驗,將所流經的封包複製一份 到架設好的Snort[14]封包主機來收集,而原始的封包資料也將繼續傳送至底下集 線器連結的眾多台實驗室電腦,而在外部環境中,除了正常連線至本實驗室的封 包資料外,我們另於其中建構 2 台外部攻擊主機,做為發動網路攻擊製造異常連 線封包之用。

圖 3-1. 實驗環境示意圖

Snort 是一著名的開放原始碼入侵偵測系統,能夠在網路上進行即時的流量 分析與封包資料記錄,擁有眾多開放的入侵偵測規則,可讓使用者任意修改使 用,目前廣泛的應用於研究領域。

在本實驗中,我們選用CentOS Linux[31]為我們的主機架設平台,CentOS Linux是來自於著名的Redhat Enterprise Linux依照開放原始碼規定釋出的原始碼 所編譯而成,由於其具備伺服器所需之高度穩定性,且仍為主流開放原始碼軟

(22)

體,搭配使用的Snort入侵偵測系統,能有較高之效應,而Snort強大的封包紀錄 功能並配合Mysql資料庫,能將封包資料存於表單供運算特徵時使用,日後尚可 結合誤用偵測與異常偵測兩種方法於一身,實際的辨識攻擊方法則是採用支持向 量機配合特徵訓練模組,架設主機之軟體版本及硬體配備如表 3-1 所示。

表 3-1. 封包主機資訊 版本資訊

中央處理器 Pentium 4 1.6GMhz 記憶體 DDR2-512MB

作業系統 CentOS Linux 4.4 Final 資料庫 Mysql 4.1.20

收集封包 Snort 2.0.0

3.2 實驗流程

在實驗流程中,我們以Kddcup’99 資料集為基礎,並以研究文獻中,使用區 別分析的方法[32]從原始的 41 個特徵篩選出 9 個最佳特徵組合,並使用支持向 量機製作訓練模組,實際架設實驗環境收集網路封包,來判斷正常與異常之連線 資料。

如圖 3-2 所示之攻擊辨識與資料集製作流程圖,我們將先藉由 Snort 收集流 進本實驗室之封包網路流量,並透過 Mysql 與 Snort 連結之封包資料儲存表,將 所收集之封包資訊存於其中,再藉由程式從 Mysql 資料庫中取出相關之封包資料 進行特徵值之運算,並將運算後之連線特徵值,一筆筆接續送進預先以支持向量 機所製作之訓練模組來判定此連線為正常連線或異常連線,並於其後再將特徵值 存入我們建立的特徵值儲存表,一直重複至本次所收集之全部封包資料,因此製 作完之資料集已存於我們建於 Mysql 所儲存之特徵資料表,可由此取出資料集供 我們後續的研究實驗使用。

(23)

圖 3-2. 攻擊辨識與資料集製作流程圖

而為探索新特徵值加入訓練模組提升偵測率之可行性,除了運算特徵值之 外,我們尚使用三組不同的特徵組合來實作資料集,分別是由原始特徵選出目前 可實作的 13 個特徵及加入本研究提出的 5 個新特徵共 18 個特徵,來實作訓練資 料集和測試資料集,並以加入新特徵的 18 個特徵組合再使用多元迴歸分析

(Multiple Linear Regression, MLR)[33]的方式做特徵篩選最佳化出一組特徵,

最後並去除於資料集中的重覆項,使用五重交叉驗證(5-fold)的方法,對支持向 量機的參數C範圍[1000、750、500、250、100、50、10、2、1]與參數g範圍[2、

1、0.5、0.1、0.01、0.001、0.0001],經由交叉驗證計算取出最佳之參數組合,來 對資料集做一前置處理。

最後並以支持向量機做訓練與測試模組的預測實驗,以比較此 3 組的特徵組 合使用於入侵偵測系統偵測率之優劣,以驗證本篇提出的 5 個新加入特徵值方法 是否可行,實驗步驟流程如圖 3-3 所示。

(24)

圖 3-3. 實驗步驟流程圖

(25)

3.3 特徵值

3.3.1 原始特徵值

本研究使用Kddcup’99 資料集[13]的特徵值為原始特徵,Kddcup’99 資料集 是由DARPA’98 原始封包資料集經由前置處理所產生而成,共萃取 41 個特徵值,

如表 3-2,並依據網路連線特性整理出四類特徵值,分別為網路連線之基本特徵

(Intrinsic features)、內容特徵(Content features)、時間基礎流量特徵(Time-based Traffic features)、主機基礎流量特徵(Host-based Traffic features),其產生方 式也可分為原始封包資料、資料探勘模式、專家領域知識。

表 3-2. Kddcup’99 特徵值列表

1 Duration 23 Count

2 Protocol_type 24 Srv_count 3 Service 25 Serror_rate 4 Flag 26 Srv_serror_rate 5 Src_bytes 27 Rerror_rate 6 Dst_bytes 28 Srv_rerrot_rate

7 Land 29 Same_srv_rate

8 Wrong_flagment 30 Diff_srv_rate 9 Urgent 31 Srv_diff_host_rate 10 Hot 32 Dst_host_count 11 Num_failed_logins 33 Dst_host_srv_count 12 Logged_in 34 Dst_host_same_srv_rate 13 Num_compromised 35 Dst_host_diff_srv_rate 14 Root_shell 36 Dst_host_same_src_port_rate 15 Su_attempted 37 Dst_host_srv_diff_host_rate 16 Num_root 38 Dst_host_serror_rate

17 Num_file_creations 39 Dst_host_srv_serror_rate 18 Num_shells 40 Dst_host_rerror_rate 19 Num_access_files 41 Dst_host_srv_rerror_rate 20 Num_outbound_cmds

21 Is_host_login 22 Is_guest_login

(26)

(1) 基本特徵(Intrinsic features):

此一類型網路連線特徵主要關於網路封包之基本特性,如連線中使用的 Protocol、Service 等等基本封包資訊為主,如表 3-3 所示。

(2) 內容特徵(Content features):

某些網路掃描行為可能利用多個網路連線的方式來迴避入侵偵測系統 的檢測或是潛在的非法登入使用者及非法提升權限等,為此連線內容特徵之 主要偵測行為。如表 3-4 列出此類網路連線特徵之詳細資訊。

(3) 時間基礎流量特徵(Time-based traffic features):

以某段時間間隔(如此例 2 秒之間隔)內,Service 所提供之相同及不 同的網路服務等。由於某些網路掃描行為可能利用某個時間間隔來迴避入侵 偵測系統的檢測,因而以時間間隔為基礎的特徵將較能偵測出此類行為,如 表 3-5 所示。

表 3-3. 基本特徵(Intrinsic features)

feature name description type duration length (number of seconds) of the connection continuous protocol_type type of the protocol, e.g. tcp, udp, etc. discrete service network service on the destination, e.g., http,

telnet, etc. discrete src_bytes number of data bytes from source to

destination continuous dst_bytes number of data bytes from destination to

source continuous

flag normal or error status of the connection discrete land 1 if connection is from/to the same host/port; 0

otherwise discrete

wrong_fragment number of ``wrong'' fragments continuous urgent number of urgent packets continuous

(27)

表 3-4. 內容特徵(Content features)

feature name description type hot number of ``hot'' indicators continuous num_failed_logins number of failed login attempts continuous logged_in 1 if successfully logged in; 0 otherwise discrete num_compromised number of ``compromised'' conditions continuous root_shell 1 if root shell is obtained; 0 otherwise discrete su_attempted 1 if ``su root'' command attempted; 0

otherwise discrete

num_root number of ``root'' accesses continuous num_file_creations number of file creation operations continuous num_shells number of shell prompts continuous num_access_files number of operations on access control files continuous num_outbound_cmds number of outbound commands in an ftp

session continuous

is_hot_login 1 if the login belongs to the ``hot'' list; 0

otherwise discrete

is_guest_login 1 if the login is a ``guest'' login; 0 otherwise discrete 表 3-5. 時間基礎流量特徵(Time-based Traffic features)

feature name description type number of connections to the same host as the

current connection in the past two seconds count

Note: The following features refer to these same-host connections.

continuous

serror_rate % of connections that have ``SYN'' errors continuous rerror_rate % of connections that have ``REJ'' errors continuous same_srv_rate % of connections to the same service continuous diff_srv_rate % of connections to different services continuous

number of connections to the same service as the current connection in the past two seconds srv_count

Note: The following features refer to these same-service connections.

continuous srv_serror_rate % of connections that have ``SYN'' errors continuous srv_rerror_rate % of connections that have ``REJ'' errors continuous srv_diff_host_rate % of connections to different hosts continuous

根據學者Mukkamala與Sung的研究文獻[34]中,針對實驗結果之正確率、花 費的訓練與測試時間作為衡量準則,可將 41 個特徵值評為重要、次要、無關三 種層級,學者Luca的研究文獻裡也提出封包三大類型的特徵集中分析與個別分析 對偵測率效能的影響[35],由此可見,特徵值並非全然可用,有許多特徵值會因

(28)

為發生頻率次數很低,亦或本身即較不具備鑑別度等問題,無法有效提升偵測 率,因此大量的使用特徵值並不能代表有相對功效的偵測率,反而可能造成處理 速度較慢,影響使用效率,有不少的研究文獻即針對此問題,對 41 個特徵值使 用各式不同的特徵篩選方法,以找出最佳的特徵組合,研究結果也大都顯示可在 大幅縮減特徵值的情況下,保持相同或相近之偵測率,而本研究所採用的是學者 文獻中使用的區別分析(Discriminant Analysis, DA)方法[32],其透過區別分析對 Kddcup’99 資料集的 41 個特徵值做篩選,僅取出少量的 9 個特徵值即能有良好 的偵測表現,我們將以此 9 個特徵值為辨識異常連線之基礎,並使用支持向量機 將 9 個特徵資料集製作訓練模組,用於偵測網路連線之異常攻擊。

而在客觀的條件環境下,為避免 9 個特徵值過少會於新加入的特徵篩選中產 生 的 偏 差 , 因 此 我 們 將 增 加 較 多 之 特 徵 值 使 用 於 篩 選 特 徵 中 , 而 在 原 始 Kddcup’99 資料集的 41 個特徵值中,有部份特徵值的運算需以主機型入侵偵測 系統中之資訊才可取得,由於本實驗是以網路型入侵偵測系統為主,尚無法得知 此類特徵值,因此並無選用,而其餘的特徵值在目前的架構下可取得用於實作的 特徵,經衡量後一共有 13 個特徵,我們將以此 13 個特徵為主,並與新特徵一併 進行篩選,來比較不同特徵組合之偵測率,也將於其後做特徵篩選分析,實作之 13 個特徵如表 3-6。

(29)

表 3-6. 實作之 13 個特徵值 編號 特徵

1 Protocol_type 2 Logged_in 3 Count 4 Srv_count 5 Same_srv_rate 6 Srv_diff_host_rate 7 Dst_host_count

8 Dst_host_same_src_port_rate 9 Dst_host_srv_serror_rate 10 Service

11 Diff_srv_rate 12 Dst_host_srv_count 13 Dst_host_same_srv_rate 3.3.2 新特徵值

在近年來的研究文獻中我們可以發現,經由特徵選取組合最佳化、去除低貢 獻度特徵的方法,以漸漸邁入瓶頸,由於原始特徵值只有 Kddcup’99 資料集所製 作出的 41 個特徵,在特徵值不變的情況下,篩選出的特徵組合較無法有效的提 升偵測率,遂興起我們提出加入新特徵值的方法來加強訓練模組的偵測率。

在新特徵中,考量到我們的資料集目前主要實作於網路型入侵偵測系統,攻 擊發送以 DoS 與 Probe 為主,遂將提出的新特徵以 Kddcup’99 裡,對於針對此 型態的特徵 Time-based Traffic 及 Host-based Traffic 類別為基礎來做延伸應用。我 們以實際分析攻擊行為的方式,研究在此類攻擊行為中所可能出現的特徵徵兆,

來針對原始 Kddcup’99 特徵值裡所缺乏的部份,提出一些可輔助及加強的特徵值 應用,期許能透過新加入的特徵值,來結合原始之特徵,製作出較佳之訓練模組,

提升入侵偵測能力。

在 Time-based Traffic 及 Host-based Traffic 的特徵類別中,原始特徵都僅以在 兩秒之內具有相同目的端連線數為統計特徵值的依據,並無任何針對來源端連線

(30)

異常做為統計特徵的考量,而實際的真實網路攻擊中,則存在著各式各樣的攻擊 方式,包含來源端及目的端等各式不同的攻擊情況,如表 3-7 所示,○代表可判 斷,△代表不易判斷。

表 3-7. 各式攻擊類型

來源端 目的端

一對一 ○ ○

一對多 ○ △

多對一 △ ○

多對多 △ △

在表 3-8 中我們可以看到,現今攻擊手法雖然多樣複雜而精密,但不論再怎 麼變化,主要還是以這四類一對一、一對多、多對一、多對多為主,而在網路發 生異常封包流量時,異常入侵偵測系統遂根據既有的特徵值為依據來做攻擊的判 斷,在來源端方面,可針對一對一及一對多的情況做異常辨識,目的端方面,則 可辨識一對一及多對一的情形。

上述的依據主要是單以統計來源端或目的端的相同主機連線數為主,並且是 以單端點偵測為考量,若是於多端點偵測的情況,單以各端主機連線數通常是較 不易準確的偵測判斷攻擊的發生,這是由於在多方發送或多方接收的入侵攻擊情 況下,若其眾多發送電腦皆僅以少量的封包處理,再透過多台電腦的集合攻擊,

會增加辨識攻擊時之困難點,影響的因素在於其使用的”封包量與時間比為多 少”,同樣一台端點其可發送少量封包與大量封包,而判斷是否為正常與異常的 依據,並非以”多少量”的封包來衡量,而是以其異常的情形嚴重性來判定,舉例 來說,在多對一及多對多的情況下,眾多台電腦發送攻擊,若其於 2 秒內即進入 大量的封包,訓練模組可較容易的判斷出異常行為,但若僅有極少量的封包或是 相同大量的封包,但長於 2 秒、5 秒甚或 10 秒時進入,此時訓練模組在判定上 就很有可能出現誤判,而透過來源端及目的端的特徵同時判斷,可較優於原本單

(31)

以目的端來衡量封包之異常情形,提供訓練模組更多的資訊,以判斷衡量此連線 情形是否為異常之攻擊行為。

在實際的網路環境中,隱藏著各式各樣的攻擊者,特別是具備高度電腦資訊 能力的駭客,能應用各類工具及程式或不同的入侵手法,將異常之連線隱匿於其 中,如利用多個跳板進行 DDoS 攻擊、減緩掃瞄次數及頻率、非法登入消除日誌 檔等等各式規避偵測的手法,若單以各主機端連線數為辨識依據早已不敷使用,

尚需要搭配多種其他辨識特徵,如使用之協定(Protocol)、服務(Service)等等,

才能有較佳的辨識能力,因此我們遂針對此種情形,共提出 5 個新特徵值來提升 訓練模組之偵測率,如表 3-8。

前 三 個 Src_count 、 Src_same_srv_rate 、 Src_diff_srv_rate 特 徵 , 即 是 以 Kddcup’99 的原始特徵值做加強,增加統計分析來源端異常連線的可能,以補足 原始特徵值僅以目的端連線數為依據,其中 Src_same_srv_rate、Src_diff_srv_rate 特徵,輔以 Service 的變化做統計,可分析連線中使用相同或不同目的 port 所出 現 的 攻 擊 徵 兆 , 即 可 能 使 用 的 攻 擊 工 具 或 服 務 , 而 後 兩 個 Same_protohost_srv_diff_rate、Dst_Same_protohost_srv_same_rate 新特徵,則是在 Time-based Traffic 及 Host-based Traffic 的原始特徵中,再加入協定(Protocol)

做統計。

在攻擊行為發生的判斷依據中,使用協定(Protocol)及服務(Service),向 來是相當重要的一環,這是由於許多的攻擊只會發生於某種 Protocol 或某種 Service 中,如著名的典型 DoS 攻擊 Smurf,即是使用 icmp 的方式發送封包,因 此在判斷中,除了各式特徵的搭配外,再結合 Protocol 的辨識,即能更加準確有 效的提升偵測率,在 Kddcup’99 的基本特徵(Intrinsic features)類型中,即有單 獨的 Protocol 及 Service 特徵來搭配做攻擊行為的偵測,而我們提出的新特徵,

則是更進一步的將 Protocol 及 Service 結合進 Time-based Traffic 及 Host-based Traffic 的原始特徵中,來做統計分析之用,以改良原始特徵裡,需以搭配特徵的 方式來做偵測辨識,期許提升入侵偵測之準確率。

(32)

表 3-8. 5 個新特徵 編號 新特徵 解釋

14 Src_count 計 算 在 過 去 的 兩 秒 鐘 之 內 , 有 多 少 個 和 目 前 connection 來自相同 host 的連線

15 Src_same_srv _rate

在兩秒內有來自相同 host 的 connection 之中,相同 service 的比率

16 Src_diff_srv_r ate

在兩秒內有來自相同 host 的 connection 之中,不同 service 的比率

17 Same_protoho st_srv_diff_ra te

在兩秒內目的 host 及 protocol 皆相同的連線中, 不同 service 的比率

18 Dst_Same_pr otohost_srv_s ame_rate

在過去 100 筆連線裡,host 及 protocol 皆相同的連 線中,相同 service 的比率

3.4 資料集設定

在過往的異常入侵偵測系統研究中,主要是以 Kddcup’99 資料集為主要的研 究資料,由於其乃是 1999 年由 SIGKDD(ACM Special Interest Group on Knowledge Discovery and Data Mining)組織所舉辦的一次公開競賽實驗用資料,

並且是由麻省理工學院林肯實驗室(MIT Lincoln)模擬美國空軍的軍事網路環 境之 DARPA’98 資料集為基礎,資料集具備公信力且廣泛使用於眾多研究文獻 中,但基於本研究主要以探索異常入侵偵測系統之新特徵為主,而新特徵並不內 含於 Kddcup’99 資料集中,因此我們將另實作一新特徵資料集來驗證提出的新特 徵可行性,而原始 Kddcup’99 資料集則用於區別分析 9 特徵的訓練模組中,以偵 測實際攻擊的發生。

資料集的製作設計裡,我們以每天 3 次,一次收一小時,一共兩天,分為早 上、下午、晚上三個時段,實際收集實驗室所接收之外部封包流量,包含攻擊之 異常連線,來實作訓練資料(Train Data),而測試資料(Test Data)則設定每天 3 次,一次收半小時,也分為早上、下午、晚上三個時段。

(33)

訓練資料使用 2 種 DoS 攻擊及 1 種 Probe 攻擊,測試資料使用 4 種 DoS 攻 擊及 2 種 Probe 攻擊,測試資料由於使用於測試訓練資料,一般都將設定較少的 資料筆數及較多之攻擊類型,以判斷資料集用於衡量入侵偵測系統對於偵測未知 或是新型攻擊時之效能應用。而在原始 Kddcup’99 資料集裡一共採用了 4 種攻擊 類型 DoS、Probe、U2R、R2L,由於我們目前實驗是以網路型入侵偵測系統收集 網路封包為主,對於 U2R,R2L 以主機型入侵偵測系統的攻擊並無選用,主要 實作於網路環境中。

3.4.1 攻擊工具

在攻擊工具的挑選中,主要以 DoS 及 Probe 攻擊為主,並且需可於 Kddcup’99 的區別分析 9 特徵可偵測出之攻擊為主要考量挑選方式,此乃因若原始 9 特徵即 無法偵測之攻擊,將於加入新特徵後的偵測測試中,缺乏衡量參考比較之依據,

經實際測試近 50 種攻擊工具後,共選出 6 種較具代表性的攻擊工具,其中含有 4 種 DoS 攻擊與 2 種 Probe 攻擊,將詳述如下

(1) DoS 攻擊

z Smurf – 為一典型之 DoS 攻擊,手法簡單而有效,其透過 icmp 協定主 要用於錯誤處理及傳遞控制訊息,不斷地發送 Echo Request 請求封包,

造成主機資源的濫用。

z Echok – 同為使用 icmp 協定之攻擊,通過發送高速大量的 Echo Reply 封包,消耗對方頻寬,阻擾合法之正常連線使用。

z UDPFlood – 為 UDP 之封包發送器,可控制發送速度比率,對設定 IP 及 port 發送 UDP 封包,並且封包可由任意的測試字串或 byte 位元組成,

增加偵測之困難度。

z DDoSPing – 分散式 DoS 攻擊器,可選擇 Trinoo、Stacheldraht、Tribe Flood Network 三類攻擊模式,可設定 IP 發送範圍及封包發送速度,並 可改變發送的來源及目的 port。

(34)

(2) Probe 攻擊

z Scanline – 常見的 Port 掃瞄器,使用指令列的方式設定掃瞄,可使用 icmp、tcp、udp 協定,處理大量 port 及 IP 範圍掃瞄,速度快且不佔資 源之攻擊工具。

z SuperScan – 功能強大之掃瞄器,可使用多種探測方式查看目標主機情 形,並可控制掃瞄速度及功能,透過精密的調控發送掃瞄攻擊,幾乎所 有目前掃瞄 IP 之相關方法都可使用。

3.4.2 資料集製作

一般而言,在正常網路環境底下,絕大多數的封包流量是屬於正常連線,真 正是攻擊連線的部份僅佔相對的極小部份,但由於製作之資料集主要是使用於評 估入侵偵測系統的效能,因此將會設定較多之攻擊封包產生,在原始 Kddcup’99 資料集中,攻擊之發送建置相當的不平衡,如圖 3-4 所示,正常之連線由於是評 估使用,僅佔約 20%外,其餘範圍 Smurf 攻擊佔了 57%、neptune 佔了 21%,僅 剩餘近 1%的量屬於其他攻擊,攻擊樣本極端不平衡,亦造成支持向量機於訓練 學習時,缺乏分類辨識之依據,使預期正確率低落的情況產生,因此本資料集在 實作時,考慮可能之情形,將以攻擊平均分配考量為設定方式之一,並依據設定 好的資料集發送表格,持續的發動攻擊。

針對資料集之製作,除了一般收發之正常連線外,在攻擊的發送中,我們將 預先建立發送設定表,依循攻擊之分配發送,如表 3-9 的訓練模組及表 3-10 的 測試模組,在訓練資料的一小時(60 分)中,前 01-10 分裡,我們將發送 Probe 類的 Scanline 攻擊及 DoS 類的 Smurf 攻擊各 10 次,其中 DoS 類攻擊每次的封包 量將依序發送 10、50、100、150、200,Probe 類是以掃瞄探測為主,並無依據 封包量發送,將於每次發動掃瞄目標端單一主機或多台主機探測,針對不同的 Port 也就是 Service 進行攻擊,而在測試模組中,將增加 DoS 類的 UDPFlood 及 DDoSPing 攻擊,Probe 類的增加 SuperScan 攻擊,發送方式都將如表中所設定,

(35)

以避免攻擊樣本過於不平衡之問題。

Attack Breakdown

smurf.

57.32215%

neptune.

21.88491% portsweep.

0.21258%

land.

0.00043%

warezmaster.

0.00041%

buffer_overflow.

0.00061%

teardrop.

0.01999%

warezclient.

0.02082%

back.

0.04497%

nmap.

0.04728%

imap.

0.00024%

rootkit.

0.00020%

ftp_write.

0.00016%

guess_passwd.

0.00108%

pod.

0.00539%

multihop.

0.00014%

phf.

0.00008%

spy.

0.00004%

perl.

0.00006%

loadmodule.

0.00018%

normal.

19.85903%

ipsweep.

0.25480%

Other 0.93391%

satan.

0.32443%

smurf.

neptune.

normal.

satan.

ipsweep.

portsweep.

nmap.

back.

warezclient.

teardrop.

pod.

guess_passwd.

buffer_overflow.

land.

warezmaster.

imap.

rootkit.

loadmodule.

ftp_write.

multihop.

phf.

perl.

spy.

圖 3-4. Kddcup’99 攻擊次數統計圖[3]

表 3-9. 訓練模組設定表

時間 Probe DoS 次數 封包量 01-10 分 Scanline Smurf 10 10-200 10-20 分 Scanline Echok 10 10-200 20-30 分 Scanline Smurf+Echok 10 10-200 30-45 分 Scanline 10 10-200

45-60 分 Smurf+Echok 10 10-200 表 3-10. 測試模組設定表

時間 Probe DoS 次數 封包量

01-10 分 SuperScan+Scanline Smurf+DDoSPing 5 10-200 SuperScan+Scanline Echok+UDPFlood 5 10-200

10-20 分 SuperScan+Scanline Smurf+Echok 5 10-200 SuperScan+Scanline DDoSPing+UDPFlood 5 10-200

20-30 分 SuperScan+Scanline Smurf+DDoSPing+Echok+UDPFlood 10 10-200

(36)

3.5 特徵選取驗證

在特徵選取的使用上,主要是希望能藉由各式不同之分類演算法來對特徵於 資料集中之關聯與重要性做一分析研究,選取出最佳之特徵組合,可在最小特徵 集合中,仍能保有原始屬性所需之必要資訊,達到高效率、低負擔的可能性,提 升訓練模組偵測率,並降低系統資源的負載。

在本實驗中,為求能了解探索之新特徵可行性為主,若單比較各特徵組合之 偵測率,僅能代表某特徵組合具備較高之辨識攻擊偵測率,尚無法較明確的探索 新特徵於特徵組合之重要性,並且由於本實驗使用之訓練及測試資料集屬於自製 資料集,不同於Kddcup’99 資料集乃經過公開測試實驗使用,較具備公信力及衡 量標準,為避免在實驗中主觀及客觀之條件因素影響下,對於新特徵值之優劣較 無判斷之能力,遂決議再加入於研究文獻[33]中,對於特徵篩選分析具有良好功 效的多元迴歸分析方法,以驗證新特徵於訓練模組之優劣。

多元迴歸分析(Multiple Linear Regression, MLR)方法屬於一種統計學上對 數據進行分析的方式,主要是藉由探討兩組數據之間是否存在著一種特定之關 係。目的在於瞭解兩個或多個變量間是否有相關、相關方向與強度之關聯,並建 立數學模型以便觀察特定變量來預測研究者感興趣的變量,在本實驗中,主要是 將其應用於特徵篩選分析上,因此對於多元迴歸分析的內容較無深入之探討,實 際使用乃套用於著名之統計軟體SPSS[36],藉由其中多元迴歸的分析方法,將製 作出的新特徵訓練資料集,送入SPSS做特徵篩選分析,對新特徵之重要性做進 一步的測試驗證。

而除了多元迴歸分析的篩選外,為求實驗結果更加準確,以避免自製資料集 中所產生的誤差,我們尚再加入原本使用於Kddcup’99 訓練模組篩選用的區別分 析(Discriminant Analysis, DA)[32]方法,區別分析是一種統計分析相依方法,

其主要的判斷變數為事先已知訂定的類別或組別,在本研究中就是指正常與異常 行為的分類,確定在兩個以上事先界定之群體的一組變數上,樣本資料所推導出

(37)

的一個或一組區別函數,用於確定判別樣本的所屬類別,實驗中我們也是使用 SPSS軟體將製作完成之資料集送入其中,並已事先訂定出分類依據,供其分類 運算使用。

而在特徵篩選分析上,我們需要加入篩選之特徵組合,乃為加入 5 個新特徵 與原始 13 個特徵共 18 特徵的特徵組合,進行多元迴歸分析與區別分析的篩選驗 證實驗,我們將於實驗結果中詳述其篩選後之特徵分析與統計結果。

(38)

第四章 實驗結果評估

經由上述之實驗設計所得之訓練及測試資料集,我們將使用台灣大學資訊工 程學系林智仁教授所開發的LIBSVM[15]軟體來進行支持向量機最佳參數之挑 選,與資料集預測分類比較,對訓練資料集做進一步的測試實驗。

在我們收集的 2 天訓練資料集裡,去除資料重覆項後,共有 49840 筆連線資 料,3 次的測試資料集裡,則分別有第一天 21164 筆、第二天 21673 筆、第三天 21138 筆連線資料,第四天 21578 筆、第五天 17603 筆、如表 4-1。

4-1 訓練與測試資料集連線筆數 連線筆數 2Days Train Data 49840 筆

Day1 Test Data 21164 筆 Day2 Test Data 21673 筆 Day3 Test Data 21138 筆 Day4 Test Data 21578 筆 Day5 Test Data 17603 筆

在偵測率的比較上面,對於我們製作的兩天訓練資料集先使用去除資料重覆 項與交叉驗證方式,測試 63 種的參數組合以取得支持向量機之最佳參數,在 13 個特徵資料集之最佳參數為[C=750,g=0.5],18 個特徵資料集為[C=750,

g=0.001],實驗並對五天的測試資料集進行支持向量機的測試實驗,以驗證加入 新特徵後之訓練模組的偵測率,如表 4-2。

在對 5 天的測試資料中,我們製作出加入新特徵後的訓練資料集,可以從表 中看出,皆能比僅有原始 13 個特徵的資料集有著較高之偵測率,而透過多元迴 歸分析方法特徵篩選後的資料集,可以僅以較少之特徵數,達到高於原始 13 特 徵資料集之偵測率,其中在第二、三、四天的測試資料裡,尚能對於 18 個新特 徵組合的資料集,有著小幅的提升。

(39)

表 4-2. 偵測率比較表 Train Data

原始 13 個特徵 原始+新特徵 18 特徵 18 特徵做 MLR Day1 Test Data 98.85% 99.22% 99.14%

Day2 Test Data 89.25% 96.72% 96.75%

Day3 Test Data 95.84% 98.44% 98.46%

Day4 Test Data 95.11% 98.40% 98.43%

Day5 Test Data 92.11% 98.18% 98.13%

而由於單以各特徵組合的偵測率比較外,較難以清楚的了解在加入新特徵後 的新特徵資料集,其各特徵於偵測時之鑑別度,因此我們使用多元迴歸分析的方 法驗證新特徵於資料集中之鑑別度,以說明加入新特徵後能提供訓練模組較佳之 偵測率。

表 4-3 所示為多元迴歸分析的 Model Summary 表,在表中我們可以藉由 R.Square 值來了解各特徵於訓練模組的鑑別度,14、15、16、17 為我們提出的 新特徵值,其中 14 特徵值在此特徵組合篩選中,有著最高之鑑別能力,其後依 序是 4、1、7、3、6、17、12、8、16、15、5,而隨著鑑別能力比對逐漸的降低,

到第 8 特徵值時,後續之鑑別能力就較為不顯著,但在經我們使用支持向量機實 際測試資料集時,雖然後列之特徵值鑑別能力已低落,但對偵測率仍能有些微的 提升,因此我們仍將後列之特徵值選入最佳特徵組合,僅去除未於多元迴歸分析 篩 選 入 測 試 的 特 徵 值 , 其 中 我 們 提 出 的 第 18 特 徵 值 Dst_Same_protohost_srv_same_rate 無選入多元迴歸分析篩選,為本研究提出的 5 個新特徵裡較不具鑑別度之特徵,表 4-4 為多元迴歸分析所選取出的最佳特徵組 合。

(40)

表 4-3. 多元迴歸分析模組 特徵 R.Square

14 .468 4 .744 1 .931 7 .937 3 .940 6 .945 17 .948 12 .952 8 .953 16 .953 15 .953 5 .953 表 4-4. 最佳特徵組合

最佳特徵組合

1、3、4、5、6、7、8、12、14、15、16、17

除了多元迴歸分析篩選外,我們也使用了區別分析的方法,來對 18 個特徵 組合做各特徵的鑑別度測試,如表 4-5 區別分析裡的 Structure Matrix 表,雖然不 同的統計方法,產生的特徵組合與功效皆有所不同,但我們提出的新特徵也都能 有較具鑑別度的表現,在區別分析的篩選表中,我們提出的新特徵值中,僅有第 15 特徵值低於 0.1 以下,其餘新特徵大都能有 0.2 以上之鑑別度,可提供訓練模 組於偵測時有着較佳的辨識能力。

(41)

表 4-5. 區別分析模組 特徵 function

10 .931 12 .931 14 .284

3 .270 4 .257 8 .254 13 .220 18 .220

17 .220 16 .127 15 .057

7 .036 6 .022 5 .007 11 .007

經由 5 天的測試資料集使用支持向量機做 predict 測試偵測率比較,與多元 迴歸分析及區別分析篩選特徵實驗,可以驗證出我們提出之新特徵實際用於正常 與異常之網路流量封包資料中,能搭配原始之特徵組合提供較佳之攻擊辨識能 力,而透過不同的統計方法用於特徵篩選後,也能在偵測率的比較之外得知我們 的新特徵於特徵組合之重要性,由各項實驗數據顯示,使本研究所提出的加入新 特徵值方法與 5 個新特徵,能有較具體之說明與分析,以達到理想中的效果。

(42)

第五章 結論與未來展望

5.1 結論

網路的蓬勃發展,帶給人們便利的時代,但伴隨而來的網路攻擊,卻使大眾 備感憂心,入侵偵測系統的出現,就是期許能在網路安全的路上,提供更深一層 的使用保障,將網路攻擊的威脅降至最低,並帶給使用者更加健全而完善的網路 環境。

在過往的許多學術研究中,提出相當多的改良方式,不斷地研究增進攻擊辨 識能力的方法,在異常入侵偵測系統上,常見的如各演算法的精進,亦或特徵組 合的最佳化,對於攻擊的偵測上,都能有較佳的提升偵測率,但目前隨著研究數 量的擴展,也陸續演進至較難突破的階段,由於原始特徵的固定沒有改變,使得 提升之功效無法有顯著大幅的增加,一直是目前研究中所面臨的問題。

在本研究中,我們藉由跨越以往局限於 Kdddcup’99 資料集固定的原始特 徵,提出加入新特徵值的方法,試圖從中找出能提供更加良好辨識能力之新特 徵,以改良原始特徵中所缺乏之辨識方式,並將實驗用之特徵實際用於真實網路 環境中,以驗證其可行性。

實驗使用實際接收正常流量封包與異常流量封包的方式,真實發送網路攻 擊,製作新特徵訓練資料集與測試資料集,並以支持向量機來辨識與驗證其偵測 率,實驗結果也顯示,透過加入新特徵值之方法的新特徵資料集實驗中,對於偵 測率大都能有小幅的進步,而將原始特徵與新特徵結合之特徵組合篩選過程中,

經過多元迴歸分析與區別分析的篩選驗證,本研究提出的 5 個新特徵值,也大都 能具備良好之辨識攻擊能力,可提升支持向量機於入侵偵測分類時,取得較佳之 表現,以驗證新特徵之可行性。

(43)

5.2 未來展望

本研究提出之新特徵雖然仍有一個特徵不符合預期之功效,但藉由新特徵的 加入,確實能有增進支持向量機進行分類時之能力,提升入侵偵測率,在未來的 研究中,尚可依此方法加入更多新型之特徵值,以補足原始特徵中其他較缺乏的 辨識攻擊能力,並可藉由特徵篩選方法,持續加入新特徵之篩選演進,萃取出最 佳之新特徵組合。

其次,本實驗架構主要實作於網路型入侵偵測系統中,在攻擊的選用與新特 徵的加入上,也都以網路型為主要考量依據,未來也可結合主機型之入侵偵測系 統,收集主機日誌檔中之資訊,實作主機型之新特徵,並可增加 U2R 與 R2L 兩 類主要用於主機型入侵之攻擊方式,以增加攻擊之複雜度,更加貼近實際的真實 網路環境中。

除此之外,結合網路型與主機型入侵偵測系統的架構,也可用於誤用入侵偵 測系統中,將此兩類之攻擊辨識方式做一合併應用,增進偵測攻擊時之依據,相 信若能結合此相關之應用,對於偵測率之提升將能有更進一步的發展,上述之方 法,也將是本研究未來朝向之目標。

(44)

第六章 參考文獻

[1] CERT電腦危機處理中心,http://www.cert.org/stats/ 。

[2] IDC國際數據資訊,http://www.idc.com.tw/report/News/news_060406.htm 。 [3] 張育政,”結合約略集合理論與基因演算法於支持向量機之入侵偵測研究”,

中華大學碩士論文,2005。

[4] 李駿偉、田筱榮、黃世昆,入侵偵測分析方法評估與比較,資訊安全通訊,

第二期第八卷,21-37 頁,2002 年。

[5] Y. Grandvalet, S. Canu, “Adaptive scaling for feature selection in SVMs,”

Neural Information Processing System, vol.15, 2002 .

[6] S.L. Scott, “Detecting Network Intrusion Using a Markov Modulated Nonhomogeneous Poisson Process,” University of Southern California, 2000 . [7] A.H. Sung and S. Mukkamala, “Identifying important features for intrusion

detection using support vector machines and neural networks,” Proceedings of Application and the Internet, pp.209-216, 2003 .

[8] S.Y. Ohn, H.N. Nguyen, D.S. Kim and J.S. Park, “Determining Optimal Decision Model for Support Vector Machine by Genetic Algorithm,”

Computational and Information Science: First International Symposium, vol.3314, 2004 .

[9] T. Ambwani, “Multi class support vector machine implementation to intrusion detection,” Proceedings of the International Joint Conference of Neural Networks, vol.3, pp.2300-2305, 2003 .

[10] A.H. Sung and S. Mukkamala, “A comparative study of techniques for intrusion detection,” Proceedings of 15th IEEE International Conference of Tools with Artificial Intelligence, pp.570-577, 2003 .

[11] A.H. Sung, S. Mukkamala and G.. Janoski, “Intrusion detection using neural

(45)

networks and support vector machines,” Proceedings of the International Joint Conference on Neural Networks, vol.2, pp.1702-1707, 2002 .

[12] J. Mill and A. Inoue, “Support vector classifiers and network intrusion detection,” Proceedings of IEEE International Conference on Fuzzy Systems, vol.1, pp. 407-410, 2004 .

[13] Kddcup’99, http://kdd.ics.uci.edu/databases/kddcup99/task.html . [14] Snort, http://www.snort.org .

[15] C. Chang and J. Lin, “LIBSVM: a library for support vector machines,”

http://www.csie.ntu.edu.tw/~cjlin/libsvm , 2003 .

[16] D. E. Denning, “An Intrusion Detection Model,” IEEE Transactions On Software Engineering, vol.SE-13, no.2, pp.222-232, 1987 .

[17] S.R. Snapp, J. Brentano and G.V. Dias, “ A system for distributed intrusion detection,” Proceedings of the IEEE COMPCON 91, pp.170-176, 1991 .

[18] BlackICE Defender ,

http://www.networkice.com/html/blackice_de--fender.html , 2000 .

[19] Rainbow Diamond Information Security, “Rainbow,”

http://www.brd.ie/ , 1999 .

[20] K. llgun, ”USTAT : A Real Time Intrusion Detection System for UNIX,”

Proceedings of the IEEE Symposium on Research in Security and Privacy, pp.16-28, 1993 .

[21] http://www.acm.org/sigs/sigkdd/kddcup/index.php . [22] http://www.ll.mit.edu/IST/ideval/data/data_index.html .

[23] R.P. Abbott, J.S Chin and J.E. Donnelley, W.L. Konigsfore, S. Tokubo, and D.A.

Webb, “Security analysis and enhancements of computer operating systems,”

Technical report, 1976 .

[24] D. Weber, “A Taxonomy of Computer Intrusions,” Massachusetts Institute of Technology, 1998 .

(46)

[25] C. Cortes and V. Vapnik, “Support-Vector networks,” Machine learning, vol.20, pp. 275-297, 1995.

[26] A.A. AnAj, http://en.wikipedia.org/wiki/Image:SVM_margins.png.

[27] J. Han and M. Kamber, ”Data Mining Concepts and Techniques,” Published by John Wiley & Sons, 1997 .

[28] J.E. Dickerson and J.A. Dickerson, “Fuzzy network profiling for intrusion detection,” Fuzzy Information Processing Society, NAFIPS 19th International Conference of the North American, pp.301-306, 2000 .

[29] W.W. Cohen, “Fast Effective Rule Induction,” Machine Learning : Proceedings of the Twelfth International Conference, pp115-123, 1995 .

[30] W. Lee, S.J. Stolfo, K.W. Mok, ”A data mining framework for building intrusion detection models,” IEEE Symposium on Security and Privacy, Proceedings of the 1999, pp.120-132, 1999 .

[31] CentOS, http://www.centos.org/ .

[32] W.-T. Wong and C.-Y, Lai, ”Identifying Important Features For Intrusion Detection Using Discriminant Analysis And Support Vector Machine,” Fifth International Conference on Machine Learning and Cybernetics, vol.6, pp.3563-3567, 2006 .

[33] W.-T. Wong and W.-C. Huang, ”Toward the Best Feature Model for Network Intrusion Detection Using Stepwise Regression and Support Vector Machine,”

International Computer Symposium, vol.2, pp.843-848, 2006 .

[34] A.H. Sung and S. Makkamala, “Feature ranking and selection for intrusion detection systems using support vector machines,” Proceedings of the International Conference on Information and Knowledge Engineering, 2002 . [35] L. Didaci, G. Giacinto and F. Roli, “Ensemble learning for intrusion detection

computer networks,” Department of EEE, University of Cagliari, NEC Research,

(47)

2002 .

[36] SPSS, http://www.spss.com/ .

參考文獻

相關文件

Proceedings of the 19th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval pp.298-306.. Automatic Classification Using Supervised

A dual coordinate descent method for large-scale linear SVM. In Proceedings of the Twenty Fifth International Conference on Machine Learning

in Proceedings of the 20th International Conference on Very Large Data

Lange, “An Object-Oriented Design Method for Hypermedia Information Systems”, Proceedings of the Twenty-seventh annual Hawaii International Conference on System Sciences, 1994,

[23] Tiantong You, Hossam Hassanein and Chi-Hsiang Yeh, “PIDC - Towards an Ideal MAC Protocol for Multi-hop Wireless LANs,” Proceedings of the IEEE International Conference

Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan kaufmann Publishers, San Mateo, California, pp.110~117, 1996. Horn, J., “Finite Markov Chain Analysis

[2] Baba N., Inoue N., Asakawa H., Utilization of neural networks and GAs for constructing reliable decision support systems to deal stocks, IJCNN 2000 Proceedings of

F., “A neural network structure for vector quantizers”, IEEE International Sympoisum, Vol. et al., “Error surfaces for multi-layer perceptrons”, IEEE Transactions on