唐湘滟 朱幸輝 盛立新 陳曉珍 程杰仁
1湖南農業大學信息科學技術學院 湖南 410128 2湖南省標準化研究院 湖南 410007 3湘南學院計算機系 湖南 423000
互聯網的信息安全事件日益頻繁。安全事件的證據往往分散在不同的日志中,如Win32安全日志、Linux系統日志、WWW服務器日志、防火墻日志、入侵檢測系統日志等。這些日志種類繁多,格式不一,形成不了統一協作的防御系統。隨著計算機網絡資源共享的進一步加強,網絡規模的擴大,網絡攻擊的方式、類型、特征各不相同,僅靠單一檢測系統,已經難以勝任工作。當前,信息技術快速發展,空間數據庫的安全事件日志規模呈級數增長,為了使這些激增而又分散的安全事件日志能夠有機地匯集、整合,使得不同的檢測系統與訪問控制、應急、入侵追蹤等系統(如 IDS、FireWall、HoneyPot等)之間及時交換信息,發揮各自的處理能力,形成一個整體有效的安全保障系統,因此需要對信息安全事件進行標準化技術研究與實現。
信息安全事件標準化模型是基于 IDMEF標準對多源信息安全事件進行規范,構建面向對象的數據模型。其具體處理過程是對異構的安全事件進行搜索,提取有用信息并根據信息安全事件標準化模型的格式進行重組和格式規范,形成標準的安全事件 XML數據文檔,繼而將標準的安全事件XML數據文檔存儲到安全事件數據庫中。信息安全事件標準化模型要滿足以下基本要求:
(1)應當準確描述各種安全事件。針對目前安全系統不同源代碼、不同操作系統、不同網絡環境所產生的安全事件報警信息的差異性:一是能夠準確識讀不同的安全信息,二是能夠對各種安全信息進行自動分類。例如對源地址、目的地址、事件名稱、發現時間等信息準確識讀,對端口、服務、進程、用戶等信息進行有效分類。通過準確識讀和分類,可以將安全事件中需要標準化的要素生成格式統一的信息。
(2)應當正確規范分類信息。對于來自于不同源的同一安全事件的報警信息的描述,不能產生相互矛盾,應當確保信息的一致性。例如,來自于不同源的同一個安全事件報警信息的相同部分應該被規范成一樣的格式,并且在數據結構的表示中處于同樣的位置,還要盡量避免把關鍵的報警信息存儲到附加信息中,破壞安全事件的通用性。
(3)應當判斷提示新的安全事件。對各種安全防御系統輸出的新的安全事件能規范并產生提示信息。
信息安全事件標準化模型(Information Security Incidents Standardization Model,ISISM)最高層類是SecurityIncident類,所有安全事件類型都是最高層類的子類。SecurityIncident類主要包括Alert、Heartbeat兩個類,Alert和Heartbeat又分別包括各自的子類,以描述安全事件更詳細的信息。其中Analyzer、Classification、Source、Target、AdditionalData 等類是核心類(Core Class),它們是Alerts和heartbeat類的主要組成部分,CaptureAlert和HoleAlert類主要用來描述蜜罐系統、漏洞掃描系統和防火墻系統等產生的信息。ISISM如圖1。
Alert類:分析器Analyzer根據報警配置檢測到某一個事件時,分析器產生一個 Alert報警信息。依據報警分析器的不同,一個報警信息可能與檢測到的一個安全事件有關,也可能與檢測到的多個安全事件有關。報警信息的產生與外部事件在時間上是異步的。
Alert類的XML DTD格式見表1,它表示如何將ISISM轉換為XML。

圖1 信息安全事件標準化模型

表1 Alert類的XML DTD格式
Alert信息包含一個可選的messageid屬性,是表示報警信息的惟一標識符。組成Alert報警信息的聚合類見表2。

表2 Alert報警信息的聚合類
Heartbeat類:分析器使用 Heartbeat消息周期性地向管理員報告自身當前工作狀態。如果管理員能收到某個分析器的Heartbeat信息,則表明該分析器已經啟動并正常運行。如果 Heartbeat信息缺失,則意味著分析器工作不正?;蚓W絡連接不正常。Heartbeat類的XML DTD格式表示及其它類描述信息這里不再給出。下面著重給出模型的表示和存儲方法。
ISISM的數據表示采用XML技術實現。XML即擴展標記語言(Extensible Markup Language)是一種簡單的數據描述語言,是允許使用者自行定義標記,從而帶有擴展能力的標記語言。XML是標準通用標記語言(SGML)的簡化版本,是ISO 8879標準對文本標記說明進行定義的一種語法。XML作為一種標準的、可擴展的結構化語言,提供了一套跨平臺、跨網絡、跨程序語言的數據表示和數據交換格式(Data Interchange Format)標準,能夠有效地解決HTML面臨的許多問題,因此適合用于描述信息安全事件。
信息安全事件根據ISISM表示為XML文檔。在XML文檔中,SecurityIncident為XML文檔的根結點,ISISM中類之間的聚合關系表示在 XML文檔樹中,部分類是聚合類的子結點,部分類是聚合類的下一級標簽,標簽名即為類名或屬性名。下面以teardrop攻擊為例給出信息安全事件標準化數據XML文檔,如表3。

表3 ISISM的數據表示示例
根據ISISM,采用JDOM技術將各種異構的安全事件通過數據格式轉換實現信息安全事件標準化。目前解析 XML有3種主流技術:SAX、DOM、JDOM。JDOM是一個開源項目,它基于樹型結構,利用JAVA語言的諸多特性(方法重載、集合概念以及映射),把SAX和DOM的功能有效地結合起來,同時擴展了文檔修改、隨機訪問以及輸出等的功能,彌補了DOM及SAX在實際應用當中的不足,對XML文檔實現解析、生成、序列化以及多種操作,避免了原來使用XML過程中的復雜性。
ISISM 的數據存儲方法是應用 XSU(Oracle XML SQL Utility)技術將XML文檔以細粒度方式存儲到關系-對象數據庫中,構建滿足存儲要求的安全事件數據庫。
XML數據的存儲主要有三種方式:(1)直接使用文本文件;(2)使用對象管理器;(3)使用關系數據庫。文本文件方式最簡單,可以使用XML分析器存取,但是每次瀏覽或查詢數據時需要重新分析整個XML文件,而且更新的時候需要重寫整個文件,尤其用XML存儲大量的數據,進行多次查詢時,利用目前XML的查詢方法,速度較慢不能滿足要求。對象管理器的方式很適合XML的結構,但是對象管器的技術還不成熟,同時對象的層次一般很深,不便于查詢。關系數據庫利用DTD來生成存儲XML數據的關系模式,即把引用、元素次序、映射關系等元數據保存到一個特殊的關系表中,它可以保證 XML-關系映射的無損性,雖然比較復雜,但是方便實現快速查詢、修改、刪除等操作。此外,信息安全事件數據庫要求結構規整,數據粒度精細(fine-grained data),以便于對安全事件的重組、查詢、修改、更新和交叉鏈接等操作,所以數據庫的存儲應以數據為中心(data-centric)。因此,本文采用關系數據庫并以細粒度的存儲方式來存儲XML安全事件。
XSU是一個對于Java和PL/SQL程序的可編程接口,可以將對象-關系表或視圖轉換為 XML;可以用關系數據生成XML文檔。也可以將XML文檔切分為片,并且將這些片存儲在關系表中。如果把各種元素(element)看成是數據庫表中的列字段,那么可以將XML文檔看作是關系表。因此,通過將各種元素映射到表,應用 XSU可以在關系數據庫中實現細粒度的存儲XML。
本文基于 IDMEF標準,提出了信息安全事件標準化模型(ISISM),基于XML語言給出了信息安全事件的數據表示,使用JDOM技術實現各種異構的信息安全事件標準化,應用XSU技術將XML文檔以細粒度方式存儲到關系-對象數據庫中,以方便的進行查詢、修改、刪除等操作。該模型的應用對不同層次、類型、特征的多源信息安全事件的融合、關聯分析和各種安全系統的協作互動,形成一個綜合的信息安全保障系統,具有重要現實的意義。
[1]王慧強.網絡態勢感知系統研究綜述.計算機科學.2006.
[2]蔣建春,馬恒太,任黨恩,卿斯漢.網絡安全入侵檢測.研究綜述.軟件學報.2000.
[3]穆成坡,黃厚寬,田盛豐.入侵檢測系統報警信息聚合與關聯技術研究綜述.計算機研究與發展.2006.
[4]Nathan Carey, Andrew Clark, George Mohay. IDS Interoperability and Correlation Using IDMEF and Commodity Systems. LNCS 2513.2002.
[5]Curry D et al. IETF. RFC 4765-2007 The Intrusion Detection Message Exchange Format (IDMEF)[S].http://www.rfc-archive.org/getrfc.php?rfc=4765. 2010.
[6]國家信息安全標準化技術委員會. GB/T 20275-2006.入侵檢測系統技術要求和測試評價方法[S].URL:http://www.nits.gov.cn/.2010.
[7]Extensible Markup Language (XML).http://www.w3c.org/ xml.2010.
[8]JDOM v1.0-rc1 API Specification. http://www.stylusstudio.com/api/jdom10/overview-summary.htm. 2010.
[9]Wes Biggs,Harry Evans.Simplify XML programming with JDOM.http://www.ibm.com/developerworks/java/library/j-jdom/. 2010.
[10]Ronald Bourret, XML and Databases. http://www.rpbourret.com/xml/XMLAndDatabases.htm.2010.
[11]譚建龍,朱茂盛.IDMEF的 XML數據存儲和查詢研究[J].計算機工程.2002.
[12]Deepak Vohra.Store and Retrieve XML from Databases with XSU.http://www.devx.com/xml/Article/32046.2010.