第七章 入侵偵測防禦系統

26
國國國國國國國國 國國國 國國國國 國國國 國國國國國國國國 國國國國國國國國國國國國國國國 國國國國國國國國國國國國

description

教育部資通訊人才培育先導型計畫 寬頻有線教學推動聯盟中心. 第七章 入侵偵測防禦系統. 隨著網路入侵手法不斷更新,使得網路安全遭受到更嚴厲的挑戰,在目前各種防禦機制中,入侵偵測系統 (Intrusion Detection System ,簡稱 IDS) 能偵測出可能的入侵行為,並發出警報通知網管人員,提高系統的防禦能力。 - PowerPoint PPT Presentation

Transcript of 第七章 入侵偵測防禦系統

Page 1: 第七章 入侵偵測防禦系統

國立雲林科技大學自由軟體研發中心

第七章 入侵偵測防禦系統教育部資通訊人才培育先導型計畫 寬頻有線教學推動聯盟中心

Page 2: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

2國立雲林科技大學 自由軟體研發中心

前言 隨著網路入侵手法不斷更新,使得網路安全遭受到更嚴厲的挑戰,在目前各種防禦機制中,入侵偵測系統 (Intrusion Detection Syste

m ,簡稱 IDS) 能偵測出可能的入侵行為,並發出警報通知網管人員,提高系統的防禦能力。 本章先介紹入侵偵測系統的技術與方法,接著說明二種入侵偵測的基本架構 : 網路型入侵偵測系統 (Network-based IDS ,簡稱 NI

DS) 與主機型入侵偵測系統 (Host-based IDS ,簡稱 HIDS) ;最後我們會介紹如何在 Router 上啟動入侵偵測功能。

7.1 Detection Technology

7.2 Host-Based Intrusion Detection Systems

7.3 Network-Based Intrusion Detection Systems

7.4 Configure Intrusion Prevention on a Router

Page 3: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

3國立雲林科技大學 自由軟體研發中心

7.1 Detection Technology and Techniques

Intrusion Detection (入侵偵測)的定義為「偵測不適當、不正確或是異常活動的技術」。入侵偵測系統可以補強防火牆不足的功能,一般防火牆只能對某個服務存取進行限制,但是無法偵測通過的封包是否異常。而 IDS 可以分析通過的封包或系統的日誌檔,並根據所建立好的入侵特徵資料庫作比對,以偵測出異常事件並發出警報。 如左圖所示,入侵偵測系統依照佈署位置及檢查重點的不同,可分為下列兩種:

網路型入侵偵測系統 (Network-based Intrusion Detection System ,簡稱 NIDS) , NIDS 通常佈署在一個網段 (Segment) 上,監看及分析流經此網段的網路封包,以偵測出可能帶有入侵行為的封包。

主機型入侵偵測系統 (Host-based Intrusion Detection System ,簡稱 HIDS) , HIDS 則是佈署在主機或是伺服器上,主要的功能在於分析主機 (Host) 或是伺服器 (Server) 上被呼叫或執行的指令,由此偵測出可能帶有惡意的系統呼叫 (System Call) 指令。入侵偵測系統佈署之範例

Page 4: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

4國立雲林科技大學 自由軟體研發中心

7.1 Detection Technology and Techniques

入侵偵測如果依照偵測的技術做分類,則可以分成,錯誤偵測 (Misuse-based Detection) 與異常偵測 (Anomaly-based Detection) 錯誤偵測 ( 如左上圖所示 ) :

此為最常用於 IDS 上的偵測方式,它又稱為特徵偵測( Signature-based Detection )」,顧名思義就是系統會先針對入侵特徵建立一個資料庫,只要偵測的封包與資料庫的某個特徵相符,系統就會將它視為入侵。優點:與異常偵測方式相比,誤報率 (False Positive Rate) 較低。缺點:因為未知型態的入侵行為並未建立在特徵資料庫中,故新型態的入侵行為無法偵測出來。

異常偵測 ( 如左下圖所示 ) :此方法則是對正常的使用者或網路流量先建立一個描述「正常」行為的行為資料庫,再對通過的封包去做比對,假如超過正常行為的門檻值就可視為異常。優點:可以偵測未知型態的入侵。缺點:與錯誤偵測方式相比,誤報率 (False Positive Rate) 會較高,因為我們很難去正確定義何謂「正常」 ? 況且使用者的行為也經常在變,導致誤報經常發生。

Page 5: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

5國立雲林科技大學 自由軟體研發中心

7.1 Detection Technology and Techniques

目前常用來實現 IDS 的技術 (Techniques) 大致可分為下列幾種: 專家系統 (Expert System) :雇請專家來分析攻擊行為,並將其轉換成系統可用之「攻擊特徵碼」或攻擊規則, IDS便依照此攻擊特徵碼來判斷是否有攻擊發生。 統計分析 (Statistical Measure) :此種方式會蒐集網路的歷史封包記錄,建立屬於正常連線或行為的 Model ,往後只要當網路封包或使用者的流量超過 Model 所定義的範圍時,將認為發生異常事件或是有入侵行為產生。 類神經網路 (Neural Network) :此種方式需先蒐集正常或攻擊的封包,並將這些封包丟給神經網路做訓練 (training) ,讓神經網路學習何為正常,何為攻擊,再將訓練完成的神經網路拿來當做偵測引擎,當神經網路認為是入侵行為時,則發出警報。 資料探勘 (Data Mining) :此種方式可在一群正常或是攻擊的封包中,去尋找出最經常出現的正常 ( 或是攻擊 ) 特徵;若是對攻擊封包做探勘,則可以得到此攻擊的攻擊特徵碼。在偵測階段,只要偵測引擎發現封包與攻擊特徵碼相同時,則發出警報。

資料來源: http://www.snort.org/vrt/

Page 6: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

6國立雲林科技大學 自由軟體研發中心

7.1 Detection Technology and Techniques

在 IDS 系統中,我們以下列幾個項目來檢視 IDS 的好壞: 偵測率 (Detection Rate) :說明此 IDS 可以承受多少封包流量,但這可以隨著硬體的提升,而增加偵測能力,通常可以用完成判斷 (IDS 有監控、完成比對 ) 的封包佔所有流經封包的百分比 (%) 作為評估的標準。 誤報率 (False Positive Rate) :被判斷成攻擊行為的正常封包 ( 或正常連線 ) ,占所有正常封包 ( 正常連線 ) 的百分比 (%) 。一般來說若採用異常偵測 (Anomaly Detection)時,此誤報率會比較高,因為系統有時會將正常行為當做攻擊。 漏報率 (False Negative Rate) :被判斷成正常行為的攻擊封包 ( 或攻擊連線 ) ,占所有攻擊封包 ( 或攻擊連線 ) 的百分比 (%) 。一般來說若採用錯誤偵測 (Misuse Detection)時,漏報率會比較高,因為系統無法偵測未知的攻擊。

Page 7: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

7國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

主機型入侵偵測系統 (Host-based Intrusion Detection System ,簡稱 HIDS) :

主機式入侵偵測系統發展始於 80年代早期,通常只觀察、稽核系統日誌檔是否有惡意的行為,用以防止類似事件再度發生。在 Windows NT/2000 的環境下,通常可以藉由監測系統、事件及安全日誌檢視器中所記載的內容來加以分析、比對,從中發現出可疑的攻擊行為;在 UNIX環境下,則監測系統日誌。當有事件發生時,主機式入侵偵測系統即做入侵行為的比對,若有符合,則由回應模組通知系統管理員,或自動對攻擊行為進行適當的反應。

如左圖所示,現行的主機型 IDS 除了稽核系統紀錄檔以外,也會定時 (ref: time trap, event trap)對重要的系統設定檔、執行檔進行計算摘要值 (checksum hash, md5) 的比對,以確定重要的檔案未受到惡意的更改。

IDS 的反應速度決定於所訂定的檢查頻率、或 event trap產生 ( 例如 open or modify a file) 的反應時間。當發現攻擊行為時,可以有結束使用者連線,停止使用者權限等反制動作。

現行的主機型 IDS 也有在特定的 port 上進行網路封包檢查,算是結合主機型與網路型 IDS 功能的一種方式,而網路型與主機型的功能相互結合是未來 IDS 發展的趨勢。

資料來源: http://la-samhna.de/samhain/

Page 8: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

8國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

OpenSource 的主機型入侵偵測系統: OSSEC (http://www.ossec.net/)

Open HIDS - Windows Host Intrusion Detection System (Http://www.securiteam.com/tools/5HP072AFPK.html)

The SAMHAIN file integrity / intrusion detection system (http://la-samhna.de/samhain/)

OSIRIS (http://osiris.shmoo.com/index.html)

AIDE (http://sourceforge.net/projects/aide)

SID (http://sid.sourceforge.net/ )

HIDS 的優缺點 ( 與 NIDS 比較 ) : 對於攻擊事件的影響有較詳盡的紀錄 : 因為 HIDS 是將攻擊者所造成的系統改變紀錄下來,因此可以得知更多關於攻擊者對特定主機入侵事件造成的影響,及更準確的紀錄攻擊行動的成敗。 HIDS 通常有個別使用者的上線紀錄,重要檔案的增刪、修改紀錄,使用者權限改變的紀錄,使用者連線到哪裡的紀錄,系統對外開啟的 p

ort 紀錄等等細項紀錄資訊,都是 NIDS很難做到的。 點對點連線的防護 : 目前有許多的點對點連線因為採取加密處理,而無法在 NIDS上做到完全的檢查,此時就可以在 HIDS上對連線資料做稽核檢察。 不需另外新增主機硬體 : HIDS 只需要在主機上另外安裝新的軟體,而不像 NIDS需要另外新增主機硬體設備。

左圖所示為可從其網站下載的各種主機型入侵偵測系統,以下小節將介紹 OSSEC 主機型入侵偵測系統。

Page 9: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

9國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

OSSEC HIDS 是一個開放原始碼的主機型入侵偵測系統。 OSSEC HIDS 所提供的功能如下所示:

Log 的分析與關聯 檔案完整性的查核 可偵測 rootkit Active Response Windows Integration Nmap Integration

參考資料 : http://www.ossec.net/main/downloads/

Page 10: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

10國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

OSSEC HIDS 佈署方式可分為 針對單一台主機進行監控 ( 如左上圖所示, Stand-

alone模式 ) :只需要在欲監控的主機上安裝 OSSEC HIDS即可。

同時對幾台主機進行監控 ( 如下圖所示, Server-Agent模式 ) :需要先選出一台主機當 OSSEC server ,其他的主機則成為 OSSEC agent ,這也成為 OSSEC HIDS 的最大優點,比起其他 HIDS 更具有延展性與擴充性。管理者可以由一台 OSSEC server 對多個 OSSEC agent 進行監控。

Server - Agent

Stand - alone

參考資料http://www.ossec.net/ossec-docs/ossec-hids_oahmet_eng.pdf

Page 11: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

11國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

OSSEC Rule Library Log 的分析與關聯 (ossec-logcollector模組 ) Rule採用 XML 的格式記錄,其提供的 rule librar

y 如左圖所示 Time based Alerting 大量的規則資料庫 有支援的 log 檔

Syslog Apache Squid Snort-full / Snort-fast Windows Eventlog / IIS Log (OSSEC Agent only)

檔案完整性的查核 (ossec-syscheckd模組 ) :提供 SHA-1 或 MD5 來對檔案的權限、擁有人、大小進行 check sum 的記錄,並且可設定定時進行查核。 可偵測 rootkit (ossec-syscheckd模組 )

Rootkit/ 特洛依木馬偵測 (signature and anomaly based)

系統處理程序的控管 通訊連接埠的控管

Page 12: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

12國立雲林科技大學 自由軟體研發中心

7.2 Host-Based Intrusion Detection System

OSSEC Architecture Active Response (ossec-execd模組 ) firewall-drop

iptables ipfilter ipfw aix-ipsec

host-deny disable-account

與 Windows 進行整合,但 Windows OS 上只能安裝 OSSEC Agent ,其整合後可監控的部份包含 Event Log 檔案完整性 Windows註冊表 IIS Log Web/Ftp/SMTP Log

左圖說明當只要監控單一台 host時只需安裝 OSSEC Local 模組,若要同時監控多台 hosts 則需要採用 OSSEC Server 與 OSSEC Agent 的組合,在 Server 與 Agent 的連線通道可以是明文訊息傳送,也可以是加密訊息,若要監控沒有安裝 Agent 的 host時,可以設定該 host 啟動事件紀錄功能,並定時分析 log 檔。

參考資料http://www.ossec.net/ossec-docs/OSSEC-Presentation-mw.swf

Page 13: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

13國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

網路型入侵偵測系統 (Network-based Intrusion Detection System ,簡稱 NIDS) :

網路型入侵偵測系統收集網路封包作為入侵偵測的資料來源,若 NIDS 安裝在主機上,需將主機的網路卡設定為“ promiscuous mode”(混亂模式 )來收集所有過往的網路封包,以進行偵測及分析。一般的檢測方式都會檢查網路封包內的標頭 (headers) 及部份資料內容,從中判定是否包含駭客行為,若偵測到有攻擊行為的同時, NIDS 就可進行反制動作或提早預警。

NIDS 可以在網路的必經節點上收集所有封包,並即時將這些封包加以分析比對,比如分析封包 header 的資料時,可以偵測到如 source route 、 out of band 、 fragmented packet (teardrop) 、 same source and destination ip addresses, port numbers (land)等攻擊,在分析封包內容時,可以偵測到如木馬程式的特定指令、如含有 shellcode 的攻擊程式、含有特定 cgi/php/asp 程式漏洞的特殊指令。

以下所列為 NIDS 的分析比對模組用來執行攻擊特徵比對的方法 : 特殊的位元組、模式比對。 事件發生頻率,及頻率是否超過所設的門檻值。 可疑事件的關聯性。 統計結果上的異常例外數值。

佈置網路型入侵偵測系統之示意圖

Page 14: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

14國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

OpenSource 的網路型入侵偵測系統: Firestorm

(http://www.scaramanga.co.uk/firestorm/)

BRO (http://bro-ids.org/)

Snort (http://www.snort.org)

SHADOW (http://www.nswc.navy.mil/ISSEC/CID/)

Shoki (http://shoki.sourceforge.net/)

SPADE (http://freshmeat.net/projects/spade/)

NIDS 的優缺點 ( 與 HIDS 比較 ) : 集中佈署於一網路節點 : NIDS 只需設置在一網路的必經節點上不須設置於網路上的每一台主機,在管理和成本的考量上都是較理想的。但若只靠

NIDS 則需要冒較高的風險, ( 如:無法監看有加密的點對點連線 ) 攻擊者進行攻擊後會留下封包證據 : 因為網路型

IDS 所採取的是即時的收集封包,攻擊者要抹滅曾進行的攻擊證據是有困難度的;但是在主機型IDS 上的紀錄檔或是稽核檔案,有可能會被攻擊者入侵後修改,造成 HIDS失效。 但是 IP Spoofing 的問題會造成 NIDS難以找出真正的攻擊者。

即時反應 : 因為 NIDS 所採取的是即時收集封包,即時進行反制,可以在第一時間通知、反應,避免給與攻擊者過多時間進行攻擊行動。比如當一個惡意的 tcp連線被偵測到時, NIDS 可以隨即送出一個 tcp reset 封包以截斷這個連線。而 HIDS因為是採定時檢查的方式,較易遭受到阻斷攻擊而導致主機當機、無法繼續運作。 較大的彈性空間 : NIDS 可以選擇佈署在防火牆外部,這點是 HIDS 無法做到的; NIDS 佈署在防火牆外部的好處是無論成功通過防火牆或被防火牆擋下的攻擊封包,都會被 NIDS 偵測、紀錄下來,以獲得更多關於攻擊者的資訊。除此之外,

NIDS 也不需要像 HIDS 要考慮到主機平台是否支援此 HIDS 的因素。 匿蹤、隱形的能力 : 相對於 HIDS , NIDS 可以不設定網路介面的位址 (IP address) ,也就是達到隱形於網路,同時又能收集所有網路封包的資訊;而 HIDS 可能就是攻擊者的攻擊目標之一,攻擊者可能針對 HIDS 重要的檔案進行移除或更改 。

Page 15: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

15國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

Snort 系統架構示意圖

Snort 為一開放原始碼的 NIDS ,並採用錯誤偵測 (Misuse detection) 的方式,其架構如左圖所示, Snort 有一封包擷取的模組 (Sniffer module) ,負責線上 (On-line)即時擷取網路封包,並將擷取到的封包資料送給 Snort 的入侵偵測器(Snort Detection Engine) ;入侵偵測器會即時將該封包的特徵與 Snort 的偵測規則 (Snort Rule)作比對,若發現該封包特徵符合某規則時,則依據該規則上的設定做出警報 (Alert) 、記錄 (Log) 或通過 (Pass)等動作。

Snort 主要提供了三個操作模式,分別為: 封包擷取模式 (Sniffer mode) :顯示目前網路上所有封包資料。 封包記錄模式 (Packet Logger mode) :記錄目前網路上封包資料。 網路入侵偵測模式 (Network Intrusion Detecting

mode) :依據 Snort 的偵測規則,比對網路封包,當有入侵封包時則發出警報。

Page 16: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

16國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

Snort Detection Rules : snort 官方網站上會持續更新各種不同 snort 版本的 detection rules ,但是 snort2.4 、 2.5已經停止更新,此二版的最後一次更新皆為 2007年 9月 11 日,目前最新的 snort版本為 2.8.0.2 。

如左圖所示, Snort 會針對使用者的權限提供不同的 detection rules ,他們將使用者分成三種: Subscriber :可以取得最新最即時更新的 rules Registered :能取得更新時間超過 30天的 rules Unregistered :只能得到幾個較重要的 rules

Snort 的 Detection Rules 是由 Sourcefire Vulnerability Research Team 在維護,這是由一群入侵偵測與防禦的專家所組成,他們會定時去發現(discover) 、評估 / 分析 (assess) 與回報 (response) 最新的入侵行為與各種弱點,並且製作相對應的測偵規則 (detection rules) 。參考資料: http://www.snort.org/pub-bin/downloads.cgi

Page 17: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

17國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

在 Snort 官方網站下載的 2.4 版 detection rules (2007/09/11) 包含 50 個 rules 檔,其壓縮檔中包含一個 Snort.conf ,裡面預設會使用的 rules 檔如左圖所示,有 36項。

下列 13 個 rules 檔 Snort 預設是不使用,但管理者若需要使用時,可自行設定啟用。 web-attacks.rules backdoor.rules shellcode.rules policy.rules porn.rules info.rules icmp-info.rules virus.rules chat.rules multimedia.rules p2p.rules spyware-put.rules specific-threats.rules

local.rules tftp.rules misc.rules

bad-traffic.rules web-cgi.rules attack-responses.rules

exploit.rules web-coldfusion.rules oracle.rules

scan.rules web-iis.rules mysql.rules

finger.rules web-frontpage.rules snmp.rules

ftp.rules web-misc.rules smtp.rules

telnet.rules web-client.rules imap.rules

rpc.rules web-php.rules pop2.rules

rservices.rules sql.rules pop3.rules

dos.rules x11.rules nntp.rules

ddos.rules icmp.rules other-ids.rules

dns.rules netbios.rules experimental.rules

Snort預設的 detection rules

Page 18: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

18國立雲林科技大學 自由軟體研發中心

7.3 Network-Based Intrusion Detection Systems

如下圖所示, Snort Detection Rules 的格式可分為二個部份,規則表頭 (Rule header) 與規則功能選項 (Rule Option) 。 Snort規則表頭 (Rule header) 包含五個欄位:

規則作用 (Rule Action) :規定被偵測的封包符合此規則時,系統所要採取的動作。例如: 警報 (alert) :發出警報。 記錄 (log) :記錄封包資料。 通過 (pass) :讓該封包通過。 活動 (activate) :啟動一個動態規則。 動態 (dynamic) :一般為關閉狀態,當被某活動規則啟動後才有作用。

規則通訊協定 (Protocol) :規定被偵測的封包為 tcp 、 udp 、 icmp 或 ip 通訊協定的封包。

IP1 and Port1 :存放 IP 位置和埠值,此欄位的 IP位置可用 CIDR mask表示,若不限定特定值時以any表示。

傳輸方向 (Direction Operator) :規定被偵測的封包是由 IP1傳送到 IP2(-> ) 、或是由 IP2傳送到IP1(< -) 、或是 IP1 與 IP2雙向傳送 (<> ) 。

IP2 and Port2 :存放 IP 位置和埠值。

至於規則功能 (Rule Option) , Snort 提供了相當多的選項,以下列出幾個常用的選項: 封包內容樣本 (content) :偵測封包內容是否符合本欄位所定義之值。 訊息 (message) :當有封包滿足該規則且規則作用是發出警報或記錄時,所要列印出的訊息。 規則編號 (sid) :偵測規則的編號。 封包內容長度 (dsize) :偵測封包內容的長度是否符合本欄位所定義之值,單位為 B

yte 。 旗號 (flags) :偵測封包的 TCP表頭 Flag欄位資料。

Snort Detection Rules 的格式

Page 19: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

19國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

在某些 Cisco router 的 IOS 中,有提供 in-line Intrusion Prevention System (IPS) 的功能,如左圖所示,讓路由器在轉送封包之前,能夠監看流經的封包是否帶有入侵行為,以即時的對可疑的封包進行處理。

Cisco IOS IPS 目前支援超過 740組的入侵特徵碼,並且可以讓管理者執行路由器上資料庫入侵特徵碼的更新與替換,以偵測新型的攻擊。 Cisco IOS in-line IPS除了能夠對流經的封包封包做檢測以外,也可以對一個會談 (session) 進行檢測。管理者可以針對各個特徵碼設定 IPS需要執行的反制動作,通常 IPS 偵測到封包行為與某入侵特徵碼相符時,可以執行下列的反制動作 :

讓 router 進行封包丟棄 (Drop) 的動作。 對此可疑的 session 進行連線中斷 (Reset Connecti

on) 。 配合 syslog 或是其它安全裝置 ( 例如 Security Dev

ice Event Exchange ,簡稱 SDEE) 發出警報。路由器執行入侵偵測之示意圖

Page 20: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

20國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

RouterP> enablePassword: passwordRouterP# configure terminalRouterP(config)#RouterP(config)# ip ips sdf builtinRouterP(config)# ip ips name SECURIPSRouterP(config)# interface fastEthernet 0/1RouterP(config-if)# ip ips SECURIPS inRouterP(config-if)# exit

在 Cisco 路由器上設定執行 IPS 功能的步驟如下:1. 載入 IPS 用來檢查封包是否有入侵行為的特徵定義檔 (Signature Definition File ,簡稱 SDF)2. 使用 Syslog 或 SDEE 來存放 log 3. 驗證 IPS 的設定是否正確。

載入 IPS 會使用的特徵檔 ( 如左圖所示 ) : 先進入 Global Configuration模式。 使用 ip ips sdf builtin 指令將 IOS預設 (bu

ilt-in) 的 SDF 檔載入,做為執行 IPS 用來判斷入侵的依據。 接著用 ip ips name SECURIPS 將這個 IP

S命名為 SECURIPS 。 假設此 IPS 要用來監控所有流進路由器上

FastEthernet 0/1界面的封包,使用 interface fastEthernet 0/1 進入 interface 的設定模式。

再用 ip ips SECURIPS in 指令,將這名為SECURIPS 的 ips 掛載在 fastEthernet 0/1的界面上,監控所有流進此界面的封包。

在 Cisco 路由器設定 IPS 之範例

Page 21: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

21國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

RouterP(config)# logging 10.0.1.12RouterP(config)# logging trap warningsRouterP(config)# logging onRouterP(config)# ^Z

使用 Syslog 或 SDEE 來存放 log( 如左圖所示 ) : 假設有一台主機,其 IP 位址為 10.0.1.12 ,已經安裝好成為 Syslog server等相關軟體

( 如 http://www.kiwisyslog.com/ kiwi syslog daemon) ,負責接收 log 資訊;管理者可以進入路由器的 Global configure mode 下輸入 logging 10.0.1.12 指令,設定路由器的 Syslog server 其 IP 位址為 10.0.1.12 ,之後當路由器上的 IPS 有偵測出異常封包時,皆會發送訊息到 10.0.1.12 的 Syslog server 上。

管理者可以透過 logging trap 指令設定當發生事件的等級 (level) 在那一個層次之上才需要產生 log 的訊息送給 Syslog server ;左圖的例子設定為 logging trap warnings ,表示當發生事件的 level 大於 4(warnings)時,路由器才會發送 log 訊息。 接著使用 logging on 指令啟動路由器上的

log 機制。

在 Cisco 路由器設定 SysLog Server 之範例

Page 22: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

22國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

驗證 IPS 的設定是否正確 ( 如左圖所示 ) : 管理者可以用 show ip ips configuration 指令,來觀看 ips 的設定是否正確。 show ip ips configuration 會顯示下列資訊 :

SDF 的位置,左圖的例子 SDF 是採用 built-in ,因此畫面上 configured SDF Locations 會是 none 。

此 SDF 被載入的時間。 IPS fail closed 的執行狀態,左圖的例子是沒有啟動 IPS fail closed 的功能,

IPS fail closed 若有啟用的話,表示在 IPS 正式運作之前,任何經過此 router 的封包都會被 drop 。

事件通知的執行狀態,左圖的例子是啟動 syslog 的方法來執行事件通知。 SDF 中啟用 / 未啟用的 Signature 個數,左圖的例子啟用 / 未啟用的 Sign

ature 個數分別為 132 個 /0 個。 指出此 router 中有哪些 IPS Rules ,其名稱為何,左圖的例子顯示 IPS R

ules 名稱為 SECURIPS 。 指出此 router 中有哪些 Interfaces 有被設定執行 IPS 功能。

路由器執行 show ip ips configuration 指令的畫面

Page 23: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

23國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

特徵定義檔 (SDF)也可以使用 TFTP從其它主機載入,稱為非 built-in SDF 檔,以下簡述載入非 built-in SDF 檔的方式 : 首先管理者可以用 show flash 指令,來觀看路由器的 IOS 是否存有 SDF 檔。 接著管理者可以在路由器上輸入 copy tftp:

//10.0.1.12/attack-drop.sdf flash:attack-drop.sdf 指令將主機 ( 其 IP 位址為 10.0.1.12) 上的 sdf 檔存至路由器的 flash 。

接著管理者進入 Global Configure mode ,輸入 ip ips name SECURIPS 指令。 接著管理者可以決定路由器上的 IPS 要用哪個 sdf 檔作為入侵偵測的依據,如左圖所示,管理者輸入 ip ips sdf location flash:

attack-drop.sdf 指令,讓此 IPS 使用剛剛存到 flash 中的 attack-drop.sdf 檔做為入侵偵測的特徵碼。

show flashRouterP# copy tftp://10.0.P.12/attack-drop.sdf flash:

attack -drop.sdfRouterP# configure terminalRouterP(config)# ip ips name SECURIPSRouterP(config)# ip ips sdf location flash:attack-dro

p.sdfRouterP# show ip ips configuration

在 Cisco 路由器載入非 built-in SDF 檔

Page 24: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

24國立雲林科技大學 自由軟體研發中心

7.4 Configure Intrusion Prevention on a Router

將下載的 SDF 檔與路由器內建 built-in SDF 檔整合的方式 :

假設 Router 的 flash 中已存在之前下載的SDF 檔, 稱為 attack-drop.sdf 。

如左圖所示,管理者可以在路由器上輸入copy flash:attack-drop.sdf ips-sdf 指令將之前下載的 attack-drop.sdf整合到內建的 sdf 。

接著管理者可以用 copy ips-sdf flash:my-signatures.sdf 指令,將整合好的 sdf 檔存在 flash 中,並且命名為 my-signatures.sdf 。

最後管理者使用整合過後的 my-signatures.sdf 作為路由器 IPS 入侵偵測的依據,管理者輸入 ip ips sdf location flash:my-signatures.sdf 指令,讓此 IPS 使用剛剛整合好並存放在 flash 中的 my-signatures.sdf 檔做為入侵偵測的特徵碼。

RouterP# copy flash:attack-drop.sdf ips-sdfRouterP# copy ips-sdf flash:my-signatures.sdfRouterP(config)# ip ips sdf location flash:my-signatu

res.sdf

在 Cisco 路由器整合兩個 SDF 檔

Page 25: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

25國立雲林科技大學 自由軟體研發中心

總結 入侵偵測系統依照佈署位置的不同,可分為網路型入侵偵測系統 (Network-based Intrusion

Detection System ,簡稱 NIDS) 與主機型入侵偵測系統 (Host-based Intrusion Detection System ,簡稱 HIDS) ;依照其偵測的技術做分類,則可以分成錯誤偵測 (Misuse-based Detection) 與異常偵測 (Anomaly-based Detection) ,每一做法皆有其優缺點,管理者必需依據企業的需求來決定要使用哪一種系統。

本章介紹一套 HIDS : OSSEC ,與一套 NIDS : Snort ,二者皆為 OpenSource 之入侵偵測系統。 OSSEC 可佈署在一台或多台主機上,主要是觀察主機上的各種 Log 資訊來偵測攻擊行為;而 Snort 則是觀察整個網段上的封包 (Packets) 。此二套系統,均需定期更新 detection rules ,以降低被駭客入侵而無人發現之可能性。

入侵偵測防禦系統不單單只能裝在主機上,也可以在網路設備上執行。例如:某些 Cisco router 的 IOS ,有提供 Intrusion Prevention System (IPS) 的功能,除了能夠監看流經的封包是否帶有入侵行為外,也能夠即時的對可疑封包進行處理, 7.4節介紹如何啟動網路設備 router 執行 IPS 功能的相關設定。

Page 26: 第七章 入侵偵測防禦系統

第七章 入侵偵測防禦系統

26國立雲林科技大學 自由軟體研發中心

參考資料 SAMHAIN Lab, http://www.la-samhna.de/samhain/. OSSEC, http://www.ossec.net/. Open HIDS - Windows Host Intrusion Detection System, Http://www.securiteam.com/ tools/5HP

072AFPK.html. Snort, http://www.snort.org/vrt. BASE project, http://sourceforge.net/projects/secureideas. Analysis Console for Intrusion Databases (ACID), http://acidlab.sourceforge.net/. BRO, http://bro-ids.org/. Cisco IOS Intrusion Prevention System, CISCO, http://www.conft.com/en/US/docs/ios/12_3t /12

_3t8/feature/guide/gt_fwids.html. Wuu, L.C., Hung, C.H., and Chen, S.F., 2007, "Building Intrusion Pattern Miner for Snort Networ

k Intrusion Detection System", Journal of Systems and Software, 80, pp 1699-1715. 伍麗樵,陳少鋒,”在 Snort 網路型入侵偵測系統上建立入侵樣本探勘器 “。 資通安全資訊網, http://ics.stpi.org.tw/ 。 資安人科技網, http://www.isecutech.com.tw/ 。 資安之眼, http://www.itis.tw/ 。