唐湘滟 朱幸辉 盛立新 陈晓珍 程杰仁
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信息缺失,则意味着分析器工作不正常或网络连接不正常。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.