4.3 OLAP 系統實作
4.3.2 系統實作步驟
在本節系統實作步驟裡,將分成 DataSource 部份、ETL 資料轉換部份、Data Cube、
Data Mining 決策樹模型建立臨界值運用於線上即時分析報表以及 Web 查詢報表等五大部 份,以下將一一詳細說明:
Data Source 部份
由 Cisco Router dump 出來的 NetFlow 資料封包原始格式;如圖 18 所示:
圖 18 由 Cisco Router dump 出的 NetFlow 格式
圖 18 的資料格式為 Cisco Router dump 出來的 netflow 資料,而框框內的資料才是 我們需要的 netflow 格式,其中包括了 SrcIf、SrcIPaddress、DestIf、DestIPaddress、
Pr、SrcP、DetP 以及 pkts。
ETL (資料擷取與轉換至資料庫)
由 Data Source 之資料轉入資料庫,我們必須先在資料庫為其建構一個 netflow 資料 表格,netflow 資料表結構請參考前章節之表 3。
在有了資料表的結構後,我們必需使用 SQL 指令,將其建立於資料庫中,以儲存資料。
建立 netflow 資料表格之 SQL 指令:
圖 19 建立 netflow 資料表格之 SQL 指令
在原始資料表的部份,除了歷史資料外,其它每日新增的資料受限於路由器儲存容量 與資源的限制,我們是以每分鐘為單位將資料擷取後再轉入 netflow 資料表格,也就是該 資料表是以累計的方式來運作,所以最新的資料會在該資料表的最後端,所以我們必須再 透過程式進行資料之整理與萃取以找出最乾淨之資料,供之後做出正確與完整之分析。經 由萃取後之資料,我們分別存在名為 ex_netflow 與 dw_netflow 之新資料表格內,接下來 要做的任何分析與資料探勘都將依據此新整理過後的資料表格,該資料表格之欄位說明如 下:
(a) 資料表格名稱:ex_netflow
表 20 ex_netflow table schema
欄位名稱 資料型態 是否允許 null 值 預設值 欄位說明
StartTime datetime 該筆 flow 開始記錄之日 期時間
ex_netflow 的資料主要是 netflow 資料表格經過整理與萃取出的資料,此資料表已 經將單位時間內的 flow 統計出其出現的次數,以供 dw_netflow 資料表 fcount 欄位之用;
同時,也是本論文自行開發之流量統計程式之依據。
(b) 資料倉儲之資料表格名稱:dw_netflow
表 21 dw_netflow table schema
欄位名稱 資料型態 資料長度 是否允許 null 值 欄位說明 .目的地 Interface 的代號 DestIPid Numeric 9 .來自 IP 資料表
dw_netflow 之資料欄位多參考自 ex_netflow 資料表,此資料表主要提供做 cube 之 依據,為製作 cube 之事實資料表(fact table)之用。
在產生 dw_netflow 之前,必需先執行一支 Store procedure 程式來整理與萃取出要 的資料,準備做為 data warehouse 內 fact table 之用。
Store procedure 名稱 : insert_exdw_netflow
OLAP-Data Cube
我們透過 Analysis Services 建立了一個名為 cube_dwnflow_sifip_dport_area 之 cube,並將 StartTime、In or Out、Protocol No、Portno Hex、Portno、IP、IP user name、
Protocol Name 此 8 個欄位設定為維度值(Dimension),另外 Fcount、Pkts 這 2 個欄位設 定為量值(Measure);我們以 Analysis Service 中 Meta Data 頁面所成現的資訊來說明 這 8 個維度值與 2 個量值。
圖 20 cube_dwnflow_sifip_dport_area cube 之 Meta Data 資訊
此 8 個維度值與 2 個量值之說明如下:
維度值(Dimensions)
表 22 cube_dwnflow_sifip_dport_area cube 之維度值(Dimensions) Start Time 記錄該筆 flow 的日期時間
In or Out 該筆 flow 的流向(流入或流出)
Protocol No Flow 所使用之通訊協定編號 Portno Hex 以十六進位表示之 Port 號 Portno 以十進位表示之 Port 號
Ip IP 位址
IP user name 該 IP 之使用者
Protocol Name Flow 所使用之通訊協定名稱
量值 (Measures)
表 23 cube_dwnflow_sifip_dport_area cube 之量值(Measures) Fcount Flow 量
pkts Packet 大小
依據以上之維度值與量值建立好之 cube,在所有維度值之條件為 all 之情況下,OLAP 系統將 pcount、pkts 做彙總的數值,參考圖 21。
圖 21 在所有維度值為 all 的條件下之量值之總合結果
當然,我們可以依據自行想要定訂的條件,去變更維度的條件值,在下方的量值總合 就會跟著條件值的不同,而快速的呈現結果。
例如,我們可以將條件過濾為 Protocol ID = 6 且 StartTime 為 5 月 18 日的資料,
這時只需去調整 Protocol ID 與 StartTime 為我們想要的條件值,調整好之以後,量值的 總合就會自動呈現以上條件的值了,請參考圖 22。
圖 22 設定好條件值之後的資料
當然,若要更清楚的知道在這些統計出來的量值背後,到底它的詳細資料是什麼,我 們可以點選有興趣的數值,如圖 23 就會出現如下鑽研(DrillDown)後的資料。
OLAP AP
在 OLAP 線上即時分析部份,本論文製作了一個目的地 Port 流量統計的報表,藉以說 明該如何運用前面設定的蠕蟲病毒臨界值於此報表,一但流量數超過此臨界值,即可快速 的知道那個 Port 目前的流量有問題。
(1) 報表名稱:目的地 Port 流量統計與監測(area)
報表功能:針對目的地 Port 之流量加以統計,並對該值設定蠕蟲病毒的臨界值,借 以提醒網路管理者,流量異常情況的發生。
使用 cube 名稱 cube_dwnflow_sifip_dport_area
圖 24 目的地 Port 流量統計與監測報表
在圖 24“目的地 Port 流量統計與監測報表"中,可以看到報表分成了三大部份,有 左上方的“樞紐分析表",右上方的“來源資料表",以及下方的“決策分析圖";“樞 紐分析表"主要是將所選擇的維度與量值之彙總結果呈現出來;“來源資料表"主要是提 供對樞紐分析表內之量值,做更深入的鑽研(DrillDown),也就是 raw data 的部份;“決 策分析圖"部份則可提供管理者做各種圖狀(例如:直條圖、圓餅圖、折線圖、泡泡圖等 等…)的分析。
(a) 針對量值設定監測值
圖 25 設定監測值
例如,條件為 fcount >= 1000 之數值,1000 為本論文分析 CodeRed 病毒的 flow 臨 界值,我們將該欄位的文字變成紅色,同時欄位用黃色加以填滿,以做為特別注意之標記。
圖 26 設定監測值之條件
設定之後,所有大於等於 1000 的 fcount 量值皆會變成紅字,欄位底色為黃色(請參 考圖 26)。
(b) 設定來源資料表(DrillDown 功能)
圖 27 設定 DrillDown 功能
在樞紐分析表內選定一個有興趣的量值,例如我們對 Portno = 0 的 fcount = 1726 這個量值有興趣,在選定這個量值之後,按一下滑鼠右鍵,會出現如圖 27 的選項可供選 擇,針對 DrillDown 功能,只需依圖 27 使用紅色框線的功能(檢視原始資料->新的來 源檢視表)即可,於是屬於該量值之詳細資料都會呈現於來源分析表內。
(c) 設定決策分析圖
圖 28 設定決策分析圖
若要建立決策分析圖,只需在樞紐分析表處,如圖 28 所示,向下的箭頭按一下滑鼠 右鍵,然後選定“建立分析圖"即可,接著,會出現如圖 29 建立新的分析圖設定的畫面;
在這設定的畫面,需選定分析圖希望在報表中呈現的位置與種類(例如,長條圖、圓餅圖、
折線圖等等…),在選定好之後,分析圖的樣式就會呈現在報表中了,可參考圖 29。
圖 29 建立分析圖樣式
在建立分析圖的選單裡,可以選擇分析圖所希望在報表中的那個位置(例如,報表的 上方、下方、或左方、或右方),以及分析圖的種類(例如:長條圖、折線圖、圓餅圖、
泡泡圖、區域圖等等…)。
Web 查詢報表程式
雖然市面上關於支援 Netflow 的軟體工具不少(例如,免費的 NetFlow Analyzer、
FlowViewer,以及需付費的 NetView 等等…),而且圖文並茂,但這些終究是別人製定的 條件與報表。在這些製示的報表不足我們使用的情況下,我們可能會需要一些自行定訂的 條件與呈現方式,在這裡我們實作了一個 web 查詢的報表程式,主要的目的就是希望可以 依據想要查詢的條件來自製報表,這樣的彈性度會比較大一點。
本論文中使用了 Microsoft ASP.NET 製作了一個簡單功能的 web 查詢報表,可供管 理 者 自 行 查 詢 之 用 , 本 論 文 之 網 路 流 量 統 計 網 站 位 址 : http://192.168.1.33/netflow/index.htm
圖 30 web 網路流量統計程式呈現結果
本程式主要分 4 個子查詢程式,以及透過 Analyzer 2005 所設計出來的 1 個報表,還 有歷史資料區的疑似受病毒攻擊之報表。
項目 功能 程式名稱 程式主要用途 1 Summary Summary.aspx 每日所有流量明細 2 每日流入流出量 Everydaypkts.aspx 列出每日對外對內之
流量 3 單位時間內個別 IP
之流量排行 EachIPSummary.aspx
單位時間內依 IP 所佔 之流量做排序(大到 小)
4 單位時間內每個
Port 的流量排行 EachPortSort.aspx
單位時間內依 Port 所 佔之流量做排序(大 到小)
5 目的地 port 流量統
計與監測 http://192.163.1.33/analyzier 6 疑似感染病毒之 IP
列表 Wormattack.aspx
依據決策樹分析出的
5.結論
若要單純的從每日所產生的 Netflow 資訊中取得有意義的資料,並不是件簡單的 事。但是若能自行將 Netflow 的資訊,透過程式的開發與撰寫,卻可以讓我們在這一 大堆流量資訊中,有效地排序、檢視,好讓網路管理者有效率地進行分析。本研究利 用決策樹針對常見的 MSBlast、CodeRed 及一般的攻擊歷史做流量臨界值的分析,並 對流量做線上即時分析與客製化之流量管理網頁。這些分析結果可讓網路管理者找出 異常的網路狀態,進行更進一步的處理;除此之外,NetFlow 的資訊也可以被拿來分 析網路、網路應用情況、使用者行為等等,藉此達到頻寬分配、安全分析、更可做為 ISP 之帳務應用等。
雖然目前己有許多自動化的工具程式可以用來處理各種不同種類的威脅,但實際 上,將所有流量記錄下來,並且有能力進行各種分析,才能有效地鑑別出問題所在,
並且處理之,如此才更能有效地運用 Netflow 資訊進行分析。
6.參考文獻
[1] Dan Zhu, G Premkumar, Xiaoning Zhang, Chao-Hsien Chu :Data Mining for Network Intrusion Detection : A Comparison of Alternative Methods. Decision Sciences;
Fall 2001; 32,4; ABI/INFORM Global; 635-660
[2] Guy Helmer, Johnny S.K. Wong, Vasant Honavar, Les Miller; Automated discovery of concise predictive rules for intrusion detection; Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA 50011-1041, USA, February 2001
[3] S.Jha*, M.Hassan; Building agents for rule-based intrusion detection system;
School of Computer Science and Engineering, University of New South Wales, Sydney, NSW 2052, Australia; December 2001
[4] Cisco IOS NetFlow,
http://www.cisco.com/en/US/products/ps6601/products_ios_protocol_group_ho me.html
[5] Cisco NetFlow 欄位說明,
http://www.cisco.com/en/US/products/sw/iosswrel/ps1824/products_command_r eference_chapter09186a0080080d98.html#xtocid23273115
[6] Ithome,企業資安技術應用專刊,2006
[7] NED LINDBERG,挖出 NetFlow 資訊,資安人科技網/Information Security,
http://www.isecutech.com.tw/feature/view.asp?fid=637,2006
[8] Stephen Northcutt、Judy Novak 著,陳正昌譯,網路入侵偵測教戰手冊,台灣培生教 育出版社股份有限公司,ISBN:957-2054-57-0,2001
[9] 王曠銘,基於 NetFlow 之大型網路蠕蟲偵測系統,國立中山大學資訊工程學系,Jul 2005
[10] 李駿偉,入侵偵測系統分析方法效能之定量評估,中原大學資工所,2002
[11] 李駿偉、田筱榮、黃世昆,入侵偵測分析方法評估與比較,中原大學資工
[11] 李駿偉、田筱榮、黃世昆,入侵偵測分析方法評估與比較,中原大學資工