第五章、 網路風險分析與預警系統
第三節、 軟體設計說明
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 失誤樹