王萬龍 孫尚
(中國人民解放軍66061 部隊,北京 100144)
在網絡發達的現今,為了防范信息系統遭受入侵或攻擊,會使用各種網絡安全系統,如防火墻以及入侵偵測系統建構防衛系統,然而以現今的技術及實際狀況,防衛系統仍需要管理者緊密的配合才能正確的阻斷攻擊。然而,僅有防火墻并無法擁有保護的功能,還需搭配防火墻政策規則(Policy rule)的設置,將網絡劃分成不同的區域,而不同區域的網絡溝通,則以政策規則表(Policy rule table)為依據,以達到管制網絡封包進出的目的[1-2]。防火墻系統雖能告知管理者相關的攻擊報警,但管理者仍必須手動更新規則來完成對防火墻的配置,這樣的操作往往存在不全面和不及時的問題。
本研究主要目的在于如何通過分析防火墻日志記錄來優化防火墻政策規則表,近年來,雖然有不少研究嘗試從數量龐大的網絡日志中找出目前所需要的政策規則,運用關聯規則挖掘技術產生新的防火墻政策規則。然而,僅運用關聯規則挖掘技術將面臨兩個問題:(1)網絡封包的存取常會隨著時間而變動,倘若關聯規則未能隨著網絡封包存取的變化而適當調整,將無法有效阻擋攻擊。(2)運用關聯規則挖掘技術產生的新關聯規則可能與現有規則差異非常大,若這些規則都必須套用于正在運作的防火墻規則表上,將耗費更多的時間去核對與驗證規則是否有遺漏,這些反復調整規則或驗證的步驟,都將成為信息安全管理人員的另一種負擔。為了解決上述問題,本研究嘗試整合關聯規則挖掘及改變挖掘(Change mining)技術,提出Change-based association rule mining(CBARM)方法,從而動態的根據歷史記錄來完成防火墻規則的調整,這樣就可以更好的完成對網絡攻擊的防護。
本研究所提出CBARM方法流程如圖1所示,主要可以分為四個步驟,依序為:數據前處理、關聯規則挖掘、改變挖掘及防火墻政策規則評估。以下將詳細說明各個步驟的流程與任務。
本研究從防火墻日志記錄中獲取出所需分析的數據字段,分別是:日期(Date)、時間(Time)、通訊協議(Protocol)、來源地址(Source IP Address)、源通訊端口(Source Port)、目的地址(Destination IP Address)、目的通訊端口(Destination Port)及狀態(Status)等八項屬性數據。本研究將防火墻日志記錄文件存放于遠端F T P 服務器上,并以Comma-Separated Values(CSV)純文字格式文件儲存數據。除此之外,由于防火墻系統儲存的時間是以筆數來做儲存,所以無法將每日數據匯整成一個文件,所以借由數據前處理先將每份CSV文件匯整至數據庫存放,接著匯出一周的日志記錄由當周第一天(星期日)0時0分0秒開始至當周最后一天(星期六)23時59分59秒的文件(如圖2所示),并匯整每周的防火墻日志記錄,以利后續關聯規則挖掘的進行。因此,數據前處理步驟中,本研究先通過自動匯出的功能,將防火墻日志記錄儲存在文件服務器或數據庫上,再將原始數據整理成為關聯規則挖掘所需的數據格式[3]。
關聯規則與防火墻政策規則的整合評估流程如圖2所示。首選根據原來的規則表和關聯規則進行整合和比較,這樣就可以獲取到新的規則表,如果進來的網絡包符合這個規則就接受該包,否則就拒絕該包[4-5]。

圖1 CBARM 流程圖Fig.1 CBARM flow chart

圖2 防火墻政策規則整合流程圖Fig.2 Firewall policy rules integration flow chart

表1 各種類型規則的執行動作Tab.1 Execution actions of various types of rules
本研究的防火墻政策調整動作原則如表1所示,此表描述了最近兩周通過關聯規則獲取的防火墻規則表與現有的防火墻規則表進行整合的相關調整動作。
本研究以范例說明防火墻政策規則整合流程。假設原始防火墻規則共有3項規則,如表2所示。經由關聯規則挖掘及改變挖掘所得到的規則共有2項規則,如表3所示。表3中的第一項規則{如果X=(Src_IP=1 40.10.20.3,Dst_IP=218.89.56.4,Dst_Port=139),則Y=(Status=Deny);支持度=0.1,信心度=90%}。假設有1000個封包,{支持度=0.1}代表100 0個封包中,有100個封包符合{X=(Src_IP=140.10.20.3,Dst_IP=218.89.56.4,Dst_Port=139)且Y=(Status=Deny)}等項目,其比例為0.1(100/1000);而{信心度=90%}代表有100個封包符合{X=(Src_IP=140.10.20.3,Dst_IP=218.89.56.4, Dst_Port=139)}的前提下,而且這100個封包中有90個封包也同時符合{Y=(Status=Deny)}的情況,其比例為90%(90/100)。運用于防火墻日志,其管理上的意涵為:支持度(support)越高代表所有封包數據集中同時符合{X}與{Y}的比例越高。而信心度(confidence)越高代表封包符合{X}的情形下,也同時出現{Y}的比例越高,即{Y}經常伴隨著{X}出現。

表2 原始防火墻規則表Tab.2 Original firewall rules

表3 改變挖掘得到的規則Tab.3 Rules obtained by changing mining

表4 經調整后的防火墻規則表Tab.4 Adjusted firewall rules
經調整后的防火墻規表4 所示。表4 中的第一項規則{Src_IP=140.10.20.3,Dst_IP=218.89.56.4,Dst_Port=139→Status=Deny},其規則類型屬于拒絕、規則樣式屬于新興樣式、不存在原始防火墻規則表中,故防火墻政策調整動作為加入規則。而第二項規則類型{Src_IP=192.168.10.5,Dst_IP=140.89.1.4,Dst_Port=443→Status=Allow},其規則樣式屬于新興樣式、已存在原始防火墻規則表中,因為規則的支持度提高,故防火墻政策調整動作為依據支持度調整政策順序,并將該規則向前調整順序。由上述的范例得知:規則排列的順序應優先考慮支持度,而支持度相同則再比較信心度。
近年來,許多研究嘗試通過關聯規則技術從數量龐大的網絡日志中找出目前所需要的政策規則,然而,過去的研究只考慮單一時間區間的關聯規則,卻忽略了在不同時間區間關聯規則的變化趨勢將可能顯著影響防火墻效率,若將單一時間區間的關聯規則全部套用于正在運作的防火墻規則表上,將耗費更多的時間去核對與驗證規則是否有遺漏,同時亦會增加比對次數,造成防火墻效率低落。本研究根據C B A R M 方法,從而動態的根據歷史記錄來完成防火墻規則的調整,從而可以動態調整防火墻規則,實現更好的網絡安全防護。