• 沒有找到結果。

第五章、 網路風險分析與預警系統

第三節、 軟體設計說明

3.1 系統綜觀

本系統可以分為四大部份:履歷(profile)、法則編輯、資料倉儲及風險分析 預警,如圖 60 所示。履歷部份用來為各主機建立其歷史連線紀錄並且比對已知 的資安法則找出可能為異常的主機,履歷部份又可分為:profile builder、anomaly detector;資料倉儲將收集到的連線資料依各種維度進行整合,以利將來存取時 能即時的拿到資料;法則編輯主要提供使用者介面來讓使用者輸入資安法則,並 且將資安規則拆解成子規則(sub rule)存入資料庫,可分為:rule editor、rule browser 及 rule database;風險分析預警為主機計算其分險程度,進而做為預警之依據,

其中又可分為:fault tree analysis 及 profile clustering。

圖 60、系統架構

3.2 電腦軟體構型項目層面設計決策 1. 電腦軟體發展環境選用決策分析

本系統基於可移植性(portable)使用 Java 開發程式,作業系統則為 Debian GNU/Linux,在資料庫方面使用自由軟體(open source)的 MySQL Database,

firewall 則參考[35]技術報告中推薦的項目,使用 Netscreen-5GT。

2. 電腦軟體構型項目行為設計決策分析

名稱 所屬單元 功能

Log parser 資料來源擷取系統 將 Log 存入資料庫

Profile builder profile 利用 data warehouse 預算的資

114

料建立 profile

Profile clustering 風險分析 依據各主機之 profile 進行分 群

Anomaly detection profile 比對 profile 和 rule,找出異常 主機

Rule editor 法則編輯 提供使用者輸入自訂法則

Rule browser 法則編輯 提供使用者瀏覽已定義之法

則 Create data warehouse

table

資料倉儲 依據資料庫中的 log 建立未來

將使用到的資料倉儲表格 Data warehouse 資料倉儲 將資料庫中的 Log 依據不同

維度進行整合

Fault tree analysis 風險分析 計算各主機之風險程度

表格 24、電腦軟體構型項目行為設計決策分析

3.3 電腦軟體構型項目架構設計 1. 電腦軟體構型項目組件 Log DB

SNo 序號

Datatime 日期時間

Source IP 來源位址

Source Port 來源埠號

Destination IP 目的位址

Destination Port 目的埠號

表格 25、Log DB

Host group

id 序號

IP 主機位址

gid 群組編號

表格 26、Host group

Group

id 序號

115

Name 群組名稱

表格 27、Group

Combination Port

Id 序號

cid 組合編號

Port 埠號

表格 28、Combination Port

Available Port

Id 序號

Port 埠號

Gid 群組編號

表格 29、Available Port

Port group

Id 序號

Pgid 群組編號

Port 埠號

表格 30、Port group

Rule

Rule 法則編號

Root 是否為 Root

Left 左子法則編號

Right 右子法則編號

Operation 運算方式

Description 法則描述

表格 31、Rule

Sub-rule

Sub-Rule 子法則編號

Source ip 來源位址

Source Port 來源埠號

Destination IP 目的位址

Destination Port 目的埠號

Datetime 日期時間

116

max 最大值

min 最小值

Unsafe Port 不安全的埠號組合

Source ip gid 來源群組

Source Port gid 來源埠群組

Destination IP gid 目的群組 Destination Port gid 目的埠群組

表格 32、Sub-rule

2. 執行的概念

名稱 功能

Log parser 每天將 Log 存入 Log DB

Profile builder 將每個小時的 log 轉成 snapshot,並且將至多一個月的 snapshot 建立為 profile

Profile clustering 將 tree 轉為 feature vector,進行分群

Anomaly detection 每天比對 profile 和所有的 rules,將異常主機 list 傳給 master SIM

Rule editor GUI 介面提供給使用者編輯、修改、新增資安規則 Rule browser 提供使用者瀏覽已定義之法則

Create data warehouse table

依據資料庫中的 log 建立未來將使用到的資料倉儲表格

Data warehouse 將資料庫中的 Log 依據不同維度進行整合 Fault tree analysis 計算各主機之風險程度

表格 33、執行概念表

3. 介面設計

名稱 介面及參數

Log parser 無可用參數 Profile builder 無可用參數 Profile clustering 無可用參數

117

Anomaly detection 無可用參數

Rule editor GUI 介面提供給使用者編輯、修改、新增資安規則 Rule browser 提供使用者瀏覽已定義之法則

Create data warehouse table

無可用參數

Data warehouse 無可用參數 Fault tree analysis 無可用參數

表格 34、介面設計

3.4 電腦軟體構型項目細部設計 1. 物件導向分析(OOA)

a. Use Case

圖 61、物件導向分析

Log parser 依照欄位每天將 Firewall log 讀入 Log database

(1) 資料倉儲將一天的 Log 由 Log database 中讀出來,根據不同的維 度建立不同時間長度的 data warehouse 表格,並且將資料加總後 存入 data warehouse。

(2) Profile builder 利用資料倉儲的資料建立 profile。

(3) 使用者登入 MCC 利用法則編輯器新增、修改或刪除法則。

118

(4) 將法則拆解成子法則存入法則資料庫

(5) Anomaly detector 將 profile 及 rule 進行比對,將異常的主機存 成 list 並且上傳給 Master SIM。

(6) Risk analysis 每天計算所有主機的風險值並且建立各主機之群 組,計算其風險值。

2. 法則編輯子系統使用案例 a. 內容描述

使用者經由滑鼠及鍵盤設定自定之規則,並透過 rule browser 選 擇檢視違反該規則之主機連線狀態

b. 功能與性能需求流程(Flow of Events)

使用者由 rule browser 選定規則後,可得到 rule id,透過傳送 rule id 給 master SIM 可以得知使用者欲檢視之規則編號(rule id)。

c. 活動圖(Activity Diagram)

119

圖 62、活動圖

d. 循序圖(Sequence Diagram)

120

使用者 法則編輯及

瀏覽

法則資料庫 資料倉儲 Anomaly detector

Risk analysis and pre-warning

編輯法則

以子法則型式存

入資料庫 向法則資料庫要法則

向資料倉儲要profile 瀏覽法則

向anomaly detector要異 常清單

讀取異常清單

讀取profile資料

圖 63、循序圖

e. 合作圖(Collaboration Diagram)

圖 64、合作圖

3.5 註記

中英文名辭對照與縮寫

121

Profile 履歷

Anomaly detection 異常偵測 Clustering 分群

Fault tree 失誤樹