• 沒有找到結果。

偵測程式

在文檔中 中 華 大 學 (頁 54-70)

第 4 章、 IPES 系統實作

4.3 偵測程式

本章節說明 IPES 系統的偵測程式部份,其中包括 IPES 預設的四個偵測程式。

4.4 通報模組,本章節說明如何透過通報管道,告知網路安全管理員。

4.1 系統設定操作介面

圖 4.1 登入畫面

圖 4.1 為使用者登入畫面,確保資料的安全,使用者等級分為 Administrator 及 Expert 兩個等級。

圖 4.2 主畫面

圖 4.2 為系統主畫面,其上方的下拉式選單分為兩個模組,第一個是系統設 定、第二個是規則產生。系統會依使用者等級,分配模組給使用者使用,以維護 系統的資料安全, Administrator 是系統管理員可以看到所有的功能模組,並可 以進行操作。Expert 可以使用規則產生模組。

圖 4.3 使用者資料設定畫面

圖 4.3 為系統管理者(Administrator)的設定介面,系統管理者可以控制系統設 定模組並設定專家(Expert)成員,而專家只能使用知識擷取暨整合模組。畫面顯 示可以對使用者個人資料資料進行新增、修改、刪除。如果使用者個人資料已被 建立過,系統管理人員只需在使用者姓名的欄位中鍵入資料,則系統會自動帶出 原有建立資料。另外電子郵件欄位的建立,未來發送系統錯誤訊息時可以加以利 用,等級欄位可利用下拉式選單選擇使用者等級,以便於系統管理,在使用者登 入時可以顯示出適當的功能模組給使用者操作,而操作區的下拉式選單讓系統管 理人員選擇對帳號進行新增、修改、刪除等處理,選擇完成之後按下執行按鈕即 可執行所選擇的工作,並將資料寫入資料庫當中。

圖 4.4 專家權數計算畫面

圖 4.4 為專家權值設定的介面,這項工作是由系統管理員依據主管的考評,

填入專家的特質,系統會自動計算專家權值並儲存於知識庫當中。每一位專家因 其特質及個人專業領域的不同,提供的知識也會有不同的權重。畫面上方的下拉 式選單顯示系統登錄的專家名單,系統管理人員選定後,在下方專家權值計算 區,按照資訊安全工作熟悉程度(50%)、資訊危安事件處理結果(30%)、資訊安全 相關課程受訓時間(15%) 、資訊工作年資(5%)等項目選擇 0.1 至 1 的數值,選擇 完成後按下執行按鈕,系統會執行專家權數計算的工作並將計算結果存入資料庫 當中已備未來進行知識擷取時作為計算參數使用。

圖 4.5 選擇錯誤通知人員畫面

圖 4.5 為選擇警訊通知人員的介面,這個畫面式設定不同的警訊類別需要通 不同的網路安全管理人員。在使用者資料設定中所設定的使用者都會出現在右邊 的文字框當中,利用下拉式選單選擇網路安全可能發生的問題,再選擇知會人員 按下確定即可完成設定。未來系統如果偵測到網路安全所發生問題,可自動依目 前畫面所設定的人員名單自動發出通知。

4.2 知識擷取暨整合模組

知識擷取暨整合模組為設定警訊的介面,知識擷取必須先找出目標,系統可 由專家依其專門管理知識指定目標。

圖 4.6 設定錯誤問題畫面

圖 4.6 也就是網路安全可能發生的問題,系統除了會將所有參予知識擷取的 專家所選擇的問題列出外,也提供了新增問題的功能,讓專家的知識更趨向完 整。此模組由專家自行設定網路安全問題,如果問題已經設定,則選擇既有問題 並按下向右按鈕將問題移至右邊的文字框中,如果沒有設定可在上方文字何中鍵 入問題再按下加入按鈕即可加入文字框中,如果發現想移除已選擇的問題只需按 下向左按鈕即可移除已選擇問題,專家完成選擇後按下執行按鈕會自動儲存目標 於知識庫中,並自動跳至下一步驟。

圖 4.7 設定概念問題畫面

圖 4.7 為設定導致問題原因的介面,此步驟可由專家自行設定描述問題的原 因,專家完成選擇後按下執行按鈕系統會自動儲存原因於知識庫中,並自動跳至 下一步驟。在這個畫面中專家可針對第一步所設定的問題選擇,並且進行發生原 因的設定,如同上一步,可選擇既有原因或自行鍵入原因,這個畫面所設定的資 料可移作下一步所需的概念,產生共同觀念表格進行評等使用。

圖 4.8 概念語意選擇畫面

圖 4.8 為共同概念表格介面,表格中的項目是用來敘述概念的屬性。本畫面 如同設定資料庫的 Meta-Data 一般,它的用意在於利用自然語言及數值資料對網 路安全可能發生問題的原因作出解釋及定義,釐清原因並讓系統可以進行協調的 工作,讓原因達成一致的狀態讓知識的輪廓能夠更清楚的呈現。專家在這個階段 利用表格中的下拉式選單選擇適合的語意型態來形容概念。

圖 4.9 概念相關權數畫面

圖 4.9 為計算概念相關權數介面,系統自動將專家們的概念整合起來,列於 畫面中的表格,評等的專家們可以利用下拉式選單選擇模糊值,模糊值由 5 至 0.2,對角線儲存格會自動轉為倒數,按下執行按鈕會自動進行概念權數的計算 並儲存於知識庫中。利用模糊變量成對比較矩陣計算出警訊發生原因的幾何平均 數及權數,再乘上前面步驟中所設定的專家權數,即可得到概念相關權數。此階 段所計算出的權數將在下一階段中用來作為計算的參數。位於下方的操作說明欄 記錄了使用系統的方法,專家使用本系統時只需依照說明即可進行概念相關權數 計算工作。

圖 4.10 對談式互動畫面

圖 4.10 為對談式互動介面,以互動式的交談介面選擇確定度及語意強度,

確定度由 1 至 0.1 的刻度組成,完成後即將後方整合模糊知識產生規則表格填 滿。為了專家能夠迅速且方便的使用本功能,減少系統學習時間,因此利用互動 式對談介面,讓專家依矩陣的內容自行給予影響程度與確定程度的評等。

圖 4.11 整合模糊知識產生規則畫面

圖 4.11 為整合模糊知識產生規則的介面,經由上一步互動式交談介面,表 格會被填滿。將先前專家們所選擇的概念與目標,由系統自動形成表格,專家利 用下拉式選單選擇確定值與模糊值,選擇完成後按下執行按鈕即自動進行計算並 儲存於知識庫當中並自動產生管理規則儲存於規則庫之中。

圖 4.12 顯示結論畫面

圖 4.12 為結論顯示的介面,系統整合模糊知識之後,自動轉為文字模式將 所擷取出的規則,顯示出來,以便於專家可再次進行確認的工作。

4.3 偵測程式

偵測程式(Detective Module)是在 Linux 系統上實作,為考量效能問題,所以 不使用 Linux 的圖形介面(X Window),全程使用文字介面設定操作,使用的工具 分別有:防火牆(iptables)、入侵偵測(snort)、專家系統(CLIPS),並利用 Linux 的 BASH script 機制整合前述三項工具。

z 啟動防火牆(iptables)及入侵偵測(snort)工具:

在 Linux 系統啟動程序中防火牆已是內建工具,無需另行啟動;而入侵偵測 工具的啟動指令,如圖 4.13:

圖 4.13 入侵偵測工具的啟動指令 snort -A fast -D -i eth0 -l /var/log/snort -h 192.168.220.0/24

z 啟動例行性命令 crond

將主要的執行程序(/IPES/main.sh)及系統校時機制(ntpdate)加入例行程式 中,使其每分鐘執行一次。如圖 4.14

圖 4.14 例行性命令

主要的執行程序(/IPES/main.sh)的工作包含:取得系統目前時分、取得入侵 偵測紀錄檔這一分鐘的紀錄資料、將紀錄資料正規化、執行專家系統(CLIPS)、

結束專家系統、移除紀錄檔。主要執行程序(/IPES/main.sh)如圖 4.15

圖 4.15 主要執行程序 logtime=`date "+%m/%d-%H:%M"`

logfile=`date "+%m%d%H%M.log"`

cat /var/log/snort/alert|grep $logtime > $logfile normalize $logfile

clips < batch &

kill -9 `ps aux|grep clips|cut -d " " -f6`

rm -f $logfile SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

*/1 * * * * root sh /var/www/cgi-bin/snort/snortsnarf.sh

*/1 * * * * root /IPES/main.sh

*/10 * * * * root ntpdate tick.stdtime.gov.tw

*/10 * * * * root hwclock -w

z 資料正規化:

資料正規化是為了將入侵偵測工具產生的紀錄檔格式轉化成專家系統可以 使用的格式,正規化的程序由 Linux 的 BASH script 中完成,入侵偵測紀錄檔格 式如圖 4.16:

圖 4.16 入侵偵測紀錄檔格式

經正規化後的形式如圖 4.17

圖 4.17 正規化後的形式

z 執行專家系統

本研究的專家系統 CLIPS 是將原始程式重新在 Linux 上解譯(compile),使其 能在 Linux 上執行,CLIPS 指令中包含 load 及 load-facts 兩個指令,可將規則及 事實自動化輸入。以本研究為例,只要將規則及事實依格式另行儲存檔案(分別 為 IPES_rules 及 IPES_facts),即可以自動化的程序執行載入「發出警訊」、「封 鎖來源 IP」、「封鎖目標 IP」、「封鎖服務埠」、「封鎖伺服主機連線」、「封 鎖所有對外連線」等規則,load 執行範例如圖 4.18:

07/10-20:01:39.163732 [**] [1:469:3] ICMP PING NMAP [**] [Classification: Attempted Information Leak] [Priority: 2] {ICMP} 192.168.220.1 -> 192.168.220.128

07/10-20:01:39.163732 [**] [1:384:5] ICMP PING [**] [Classification: Misc activity] [Priority:

3] {ICMP} 192.168.220.1 -> 192.168.220.128

07/10-20:01:39.163802 [**] [1:408:5] ICMP Echo Reply [**] [Classification: Misc activity]

[Priority: 3] {ICMP} 192.168.220.128 -> 192.168.220.1

07/10-20:01:51.222256 [**] [1:469:3] ICMP PING NMAP [**] [Classification: Attempted Information Leak] [Priority: 2] {ICMP} 192.168.220.1 -> 192.168.220.128

(“ICMP PING NMAP” ICMP 192.168.220.1 192.168.220.1) (“ICMP PING” ICMP 192.168.220.2 192.168.220.1)

(“ICMP Echo Reply” ICMP 192.168.220.1 192.168.220.1) (“ICMP PING NMAP” ICMP 192.168.220.1 192.168.220.1)

圖 4.18 CLIPS 指令--load 執行範例

以 load-facts 導入 snort 紀錄檔正規化後的資料,作為專家系統「事實」,導 入方式如圖 4.19 CLIPS 指令—load-facts 執行範例:

圖 4.19 CLIPS 指令—load-facts 執行範例

以圖 3.4「網路安全停止服務規則設定」的範例,當 FrontPage 權限測試頻 [root@localhost IPES]# clips

CLIPS (V6.10 07/01/98) CLIPS> (load IPES_rule.clp)

Defining defrule: Alert +j+j+j+j+j+j+j+j+j+j

Defining defrule: Block_SrcIP =j=j=j=j=j=j=j=j=j+j Defining defrule: Block_DisIP =j=j=j=j=j=j=j=j=j+j Defining defrule: Stop_Service =j=j=j=j=j=j=j=j=j+j Defining defrule: Stop_Host =j=j=j=j=j=j=j=j=j+j Defining defrule: Stop_Any =j=j=j=j=j=j=j=j=j+j TRUE

CLIPS> (rules) Alert

Block_SrcIP Block_DisIP Stop_Service Stop_Host Stop_Any

For a total of 6 defrules.

CLIPS>

CLIPS> (load-facts IPES_facts.clp) TRUE

CLIPS> (facts)

f-0 (“ICMP PING NMAP” ICMP 192.168.220.1 192.168.220.1) f-1 (“ICMP PING” ICMP 192.168.220.2 192.168.220.1)

f-2 (“ICMP Echo Reply” ICMP 192.168.220.1 192.168.220.1) For a total of 3 facts.

CLIPS>

率非常高,且資料庫隱碼攻擊頻率高,且網路芳鄰密碼猜測頻率高,且資料庫密 碼猜測頻率高,且 Samba 溢滿封包頻率高,且 IIS 萬國碼漏洞頻率高,且資料 庫溢滿封包頻率高,且 OpenSSL 溢滿封包頻率非常高,且 Apache 網頁伺服器溢 滿封包頻率非常高,且 IIS 網頁伺服器溢滿封包頻率非常高,則 CLIPS 透過 system 指令執行外部程式,利用防火牆功能將網路安全狀態設定為 ‘封鎖服務埠’。詳 如圖 4.20 CLIPS 規則格式範例:

圖 4.20 CLIPS 規則格式範例

經由專家系統推論出的結果產生圖 4.21 防火牆(iptables)管制條例,這條例管 制任何網頁伺服器進出的服務埠,以達到封鎖服務埠之目的,如黑體所示:

(defrule Stop-Service (FP-Pri Frq-Very-High) (SQL-Inj Frq-High) (Netbuei-PW Frq-High) (SQL-PW Frq-High) (Samba-BO Frq-High) (IIS-Uni Frq-High) (SQL-BO Frq-High)

(OSSL-BO Frq-Very-High) (Apache-BO Frq-Very-High) (IIS-BO Frq-Very-High)

=>

;(system “sh /IPES/ClearIptables.sh”)

(system “iptables -A INPUT -p tcp --dport ?Dport -j DROP”))

圖 4.21 防火牆(iptables)管制條例

在文檔中 中 華 大 學 (頁 54-70)

相關文件