网络安全数据集成与转换系统的制作方法

文档序号:7762679阅读:295来源:国知局
专利名称:网络安全数据集成与转换系统的制作方法
技术领域
本发明涉及网络安全领域,特别涉及一种网络安全数据集成与转换系统。
背景技术
随着网络应用的日益普及,网络安全问题越来越受到重视。目前的各种网络防护设施如数据流采集器、入侵检测系统、病毒检测系统、漏洞扫描系统和防火墙等都从不同的角度获取了部分网络安全数据。为了获取更加完整的数据,必须将各种厂商的检测工具所检测到的数据集成到一起进行统一的分析。由于不同厂商所设定的数据格式以及其存储的方式各有不同,所以需要从各种异构的探测工具中抽取相应的安全数据,并将这些安全数据以一定的格式集成转换成统一的数据,只有这样才能够对网络安全的态势做出正确的判断,从而准确、及时地做出决策。现有技术中存在一些将异构的安全数据进行数据集成与转换的方法。如一种基于ODBC的数据集成与转换方法。所述的0DBC(0pen Database Connectivity)是“开放数据库互连”的简称,它是一种使用SQL的应用程序接口(API),是微软公司开放服务结构 (Windows Open Services Architecture,W0S)中有关数据库的一个组成部分。ODBC 建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务,ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。所以ODBC 屏蔽了底层的数据库系统的形式,从而使得对数据库的访问得到了简化。基于ODBC的数据转换系统的结构如图1所示,其由五个部分组成,分别为应用程序(Application)、驱动程序管理器、ODBC API、ODBC驱动程序、数据源(Data Source)。在这个数据转换结构中,应用程序将作为用户和数据转换的一个桥梁,用户通过应用程序来调用ODBC API,从而执行SQL以对数据库进行操作。而对于一个ODBC应用程序来说其必须具有环境(Environment)、连接(Connection)、语句(Statement)这三个对象, 而且对于这三个对象应用程序都是通过句柄(Handle)来实现的。应用程序与数据源中的数据进行交换是通过ODBC API来实现的。ODBC API是一套复杂的函数集合,其提供了一些通用的接口,方便访问后台的各种数据库。通过ODBC实现数据转换是按照以下步骤实现的0DBC分配环境句柄、执行SQL语句、检索结果与服务器断开。其具体实现如下步骤1)、进行包括分配环境、分配连接句柄及语句句柄在内的初始化,连接源数据库与目标数据库,并在目标数据库中建立相应的表结构信息;步骤2)、调用ODBC API来读取源数据库中需要转换的数据表的数据类型;步骤3)、根据目标数据库中相应数据的类型,获取源数据类型与目标数据库类型的一个映射关系;步骤4)、逐行读取源表中的每条记录,并将相应的数据根据映射关系进行转换然后再加载到目标数据库中;步骤5)、转换结束,释放句柄、连接以及环境,并断开服务器。
基于ODBC的数据转换方法主要是通过ODBC API以及SQL实现,其转换能够实现的功能比较强大,容易得到各种元数据的信息,但也存在如下缺点1、性能较低。基于ODBC进行数据集成的过程由于使用了 ODBC接口,使得它不可避免地存在转换性能问题。2、底层网络安全数据源只支持数据库格式。基于ODBC的集成方式受限于数据库的ODBC接口,所以底层的数据源只能是数据库格式,而以文件形式存储的网络安全数据很难集成到系统中。3、不支持海量网络安全数据的动态转换。虽然用户可以通过ODBC数据库转换进行一定的修改,但是其修改是有限的。只能对表的表名进行一些修改,而对数据类型的修改以及对字段一些操作(如整合、拆分、修改等)都是无法实现的,因此很难进行动态扩展,不支持外部数据源动态接入系统。在现有技术中还提出了一种基于XML的数据集成与转换方法。XML(extensible Markup Language,可扩展标记语言)是由W3C于1998年2月发布的一种标准。它是SGML 的一个简化子集,它将SGML的丰富功能与HTML的易用性结合到Web的应用中,以一种开放的自我描述方式定义了数据结构。在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是友好的、可操作的。将XML技术运用到数据转换上,其实就是将XML文档当作中间的存储介质,所涉及的数据转换总体上包括两个步骤,先是将异构的数据源中的数据转换成XML形式,然后再将XML文档的数据转换到指定的目标数据中以形成汇总数据。这一数据转换的过程如图2 所示。在上述的数据转换过程中,将异构的数据源中的数据转换成XML格式可以采用现有技术中一些已有的工具,如XML Extender,XML-DBMS,Silkroute以及XPERANT0等。在图 3中给出了将数据源中的数据转换成XML格式的基本实现步骤,它包括步骤1)、首先将源数据的数据结构和数据内容区分开,并将数据结构抽出,根据定义的转换映射规则,将关系数据的数据结构映射到XML定义的Schema中,而且在关系数据库中的键的约束也同样要相应的加到Schema中;步骤2)、根据Schema中格式的要求将关系数据中的数据逐条加入到Schema文件中;步骤3)、转换结束,形成XML文档。将XML文档的数据转换到指定的目标数据中以形成汇总数据的过程与将数据源中的数据转换成XML格式的数据相比是一个反向的过程,因此不在此处重复。基于XML的数据集成与转换方法充分利用了 XML的特性,将XML文档作为数据转换的中间存储过程,这种转换既支持以数据库格式存储的源数据,也支持以文件形式存储的源数据,但该方法依然存在如下缺点1、数据转换复杂,转换效率低。基于XML的数据转换首先要将源数据转成XML文件,之后又将XML文件转换为目标格式,需要进行两次数据转换,效率较低。2、对源数据限制较多,容易出现转换错误。基于XML的数据转换根据制定的映射规则进行相应的数据转换,映射规则对源数据的数据格式有严格的限制,一旦源数据中出现规则中没有定义的数据格式,则会引起转换错误,使得数据转换的灵活性和准确性都是
4有待提高。综上所述,现有技术中将异构的安全数据进行数据集成与转换的方法存在着数据转换复杂、性能低、不支持网络安全探针动态加入系统等问题。数据集成转换的性能、灵活性和准确性都有待提高,难以适应网络安全数据转换的需求。

发明内容
本发明的目的是克服现有技术中将异构的安全数据进行数据集成与转换的方法存在着数据转换复杂、性能低、不支持网络安全探针动态加入系统等问题,提供一种高效、 方便、准确的数据集成与转换方法。为了实现上述目的,本发明提供了一种网络安全数据集成与转换系统,包括网络安全探测工具、代理模块、配置模块、数据采集器以及数据分类归并处理模块;其中,所述的网络安全探测工具至少有一个,每一个所述的网络安全探测工具拥有与其配套的至少一个代理模块与至少一个配置模块;所述的配置模块中包括有配置文件,所述配置文件中包括有由正则表达式所描述的数据格式转换规则;所述的网络安全探测工具获取所在网络的网络安全数据;所述代理模块根据所述配置文件从所述网络安全探测工具获取网络安全数据,并根据所述正则表达式将所述网络安全数据中的安全事件数据抽取出来并转换为与该安全事件对应的统一数据格式;所述的数据采集器搜集由各个代理模块转换而成的安全事件数据,并将这些数据发送到所述数据分类归并处理模块,由该模块对数据做分类、归并。上述技术方案中,所述的数据采集器采用被动接收模式从网络安全检测工具获取网络安全数据;在该模式下,所述网络安全探测工具实时产生探针日志,所述代理模块实时采集所述探针日志中的日志信息,将所述日志信息中的安全事件数据做格式转换后传送给所述数据采集器。上述技术方案中,所述的数据采集器采用主动询问模式从网络安全检测工具获取网络安全数据;在该模式下,当所述数据采集器需要网络安全数据时,调用所述代理模块, 由所述代理模块驱动所述网络安全检测工具实时生成网络监控数据,所述代理模块将所述网络监控数据中的安全事件数据做格式转换后传送给所述数据采集器。上述技术方案中,所述的配置文件中还包括网络安全探测工具的ID和类型、探针日志文件的位置、网络安全探测工具开启或关闭时的相关配置、网络安全检测工具所检测的网络安全事件的类型。上述技术方案中,所述的网络安全探测工具、代理模块以及配置模块位于客户端, 所述的数据采集器与所述的数据分类归并处理模块位于服务器端;所述的代理模块通过所述客户端与所述服务器端之间的网络实现与所述数据采集器的数据传输。本发明的优点在于1、提高网络安全数据集成和转换的性能;2、支持网络安全数据源的动态加入和退出;3、提高了数据转换的准确性。


图1为现有技术中基于ODBC的数据转换系统的结构图;图2为现有技术中的基于XML的数据集成与转换方法的示意图;图3为本发明的基于正则表达式的网络安全数据集成与转换系统的结构图。
具体实施例方式下面结合附图和具体实施方式
对本发明加以说明。由于在本发明中将利用正则表达式(Regular Expression)来实现对异构安全数据的集成与转换,因此在对本发明方法做详细说明前,首先对正则表达式做一简要说明。正则表达式就是由一系列特殊字符组成的字符串,其中每个特殊字符都被称为元字符,这些元字符并不表示为它们字面上的含义,而会被解释为一些特定的含义。正则表达式的主要用途有1、验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。2、用来查找字符串。利用正则表达式从一个长的文本中查找符合指定特征的字符串比查找固定字符串更加灵活方便。3、用来替换。用正则表达式做替换比普通的替换方法在功能上更为强大。如可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。正则表达式具有能够比较灵活地对字符串进行匹配并且能够高效地匹配复杂文本的优点,使得它能够被用于数据集成与转换的领域中。在图3中给出了本发明的基于正则表达式的网络安全数据集成与转换系统,该系统包括网络安全检测工具(在本系统中也被称为探针)、代理模块、配置模块、数据采集器以及数据分类归并处理模块;其中,对于网络中的每一个网络安全检测工具分别配置有至少一个所述的代理模块与配置模块,网络安全检测工具在所述配置模块与代理模块的协同下从其检测到的网络安全数据中抽取出与网络安全事件有关的数据,并由所述数据采集器统一采集,最后由数据分类归并处理模块做分类归并。所述的网络安全检测工具用于获取网络安全数据,并以探针日志文件或网络监控数据的格式加以保存。在下文中将会提到,数据采集器具有被动接收模式与主动询问模式这两种工作模式,在被动接收模式下网络安全检测工具所采集的网络安全数据以探针日志文件的格式保存,在主动询问模式下,网络安全检测工具所采集的网络安全数据以网络监控数据的格式加以保存。所述的探针日志文件以文件的格式加以保存,它会自动产生、定期自动更新;而所述的网络监控数据是调用一次返回一次的结果,不会自动产生和更新,一般以调用返回值的形式返回给用户。所述的网络安全探测工具可以采用现有技术中各个厂商所提供的检测工具,不同的网络安全检测工具很可能有不同的数据格式,因此,不同网络安全探测工具的探针日志文件或网络监控数据中所保存的内容可能会有所不同。所述的配置模块用于保存配置文件。本发明中的配置文件都以正则表达式为基础,规定了用于从探针日志文件或网络监控数据中查找网络安全事件的相应元字符以及将原有的数据格式转换为某一种统一数据格式的方式。配置文件中所包括的内容主要有以下方面(1)、定义网络安全检测工具的ID,以及该网络安全检测工具的类型,如IDS、VDS、 防火墙等。
(2)、指定探针日志文件或者网络探测数据的位置,使得代理模块能够对探针日志文件进行实时检测。(3)、定义所述代理模块启动时如何启动网络安全探测工具以及网络安全探测工具启动后的进程名,以及当代理模块关闭时网络安全检测工具如何关闭等相关配置。(4)、定义网络安全检测工具采集的网络安全事件的类型,这样代理模块就可以知道该网络安全检测工具所生成的事件属于哪类事件,在数据转换时就能够将相应的数据转换成该类事件的统一数据格式。(5)、正则表达式的值。对探针日志文件或网络监控数据中的内容进行提取和格式转换就是要将相应的内容与正则表达式做匹配操作,并对匹配上的数据进行相应的格式转换,从而得到相应的数据。从对配置模块以及配置模块中的配置文件的上述说明可以看出,为不同网络安全检测工具所配置的配置模块中的配置文件会有明显的差异。所述的代理模块根据配置文件的内容对相应的网络安全检测工具做实时监听,并根据配置文件中的正则表达式所描述的规则从探针日志文件中将相应的安全事件数据抽取出来并做格式转换,形成统一的数据格式。格式转换后的数据将被发送到所述的数据采集端。根据正则表达式所描述的规则从探针日志文件中抽取数据属于本领域技术人员所公知的技术,因此不在此处重复说明。需要说明的是,此处所提到的统一的数据格式是就某一类型的安全事件而言的,即由不同网络安全探测工具所探测到的同一类型的安全事件的数据应当由代理模块转换成同一数据格式,但对于不同类型的安全事件而言,它们的数据在经过转换后所得到的统一数据格式之间允许存在差别,例如类型A的安全事件的统一数据格式允许与类型B的安全事件的统一数据格式有所不同。所述的数据采集器安装在网络安全数据集成的服务器端,它负责搜集各代理模块传送过来的数据。数据采集器在其启动时与其管理的所有代理模块(Agent)建立并保持网络连接,数据采集器支持两种工作模式被动接收模式与主动询问模式。被动接收模式是指网络安全检测工具实时产生探针日志,代理模块实时采集探针日志中的日志信息并传送给数据采集器。主动询问模式是当数据采集器需要网络安全数据时才调用代理模块来采集网络监控数据。图3中的系统同时包含探针日志与网络监控数据表明该系统中的数据采集器同时支持上述两种工作模式。所述的数据分类归并处理模块把集成后的数据按数据类型做分类并归处理,存储到不同的网络事件数据库表格中,并将处理后的数据传送到后续的网络安全事件处理系统。在前文中已经提到,不同安全事件的统一数据格式间可能存在差异,因此,数据分类归并处理模块需要对这些数据做分类存储。以上是对本发明系统的各个组成模块的功能与实现方式的说明。在该系统中,配置模块与代理模块结合起来服务于某一特定的网络探测工具。当需要在网络中对某一新的网络探测工具进行探测时,只要为这一网络探测工具配备相应的配置模块以及代理模块, 然后对该网络探测工具的网络安全数据的数据格式有充分的了解,并在配置模块的配置文件中通过正则表达式将该数据的抽取与格式转换规则加以描述,就能够实现对该网络探测工具中网络安全事件数据的抽取与格式转换。由此可实现异构的网络探测工具在系统中的动态扩展。
7
下面结合实例,对本发明的系统进行描述。在一个实例中,新安装了一个具有网络安全功能的POF软件,下面要对这一软件所采集的网络安全数据进行数据集成与转换。首先要为安装有POF软件的计算机安装网络安全检测工具与代理模块;然后在代理模块的安装目录下的Agent/Plugin目录下创建POF. cfg配置文件,该文件主要用于定义 POF网络安全检测工具。在所述的POF. cfg配置文件中定义以下几方面的内容a、定义该网络安全检测工具的ID :Plugin_id = 1511,该ID用来唯一地标识POF
网络安全检测工具。b、定义网络安全检测工具的类型,type = Detector0c、定义探针日志文件的存放位置location = /var/log/YHSOC/POF. log,在做上述定义后,代理模块将会来监听该文件。d、定义该网络安全检测工具的进程名process = P0F。一般在软件的安装过程中会在/etc/init. d/目录下创建一个该程序的启动脚本,而且一般检测客户端是不是已经启动这个网络安全检测工具就是检测器进程中是否有process所表明的进程。e、定义代理模块启动时如何启动POF这个软件,一般做如下设置=Start = yes, startup = % (process)s_i\_CFG(plugin-defaults,interface)-lUNtd-o % (location) s,该式表示代理模块启动的时候就启动该软件。f、定义代理模块退出时如何关闭POF软件,一般有两种方式,一是通过POF自己的脚本关闭程序,一种是采用强制杀死进程的方式。在一个实施例中可采用第二种方式,所以设置为 stop = yes 禾口 shutdown = killall-9% (process) s。g、定义网络安全检测工具的事件类型,event_type = host-os-event,代理模块端通过此参数的值就可以知道从该网络安全检测工具获取的事件属于哪一类事件,则在事件转化时转换成相应的事件格式。h、定义该网络安全检测工具的正则表达式,在对日志文件获取时用采用正则表达式表示的以下规则进行匹配regexp = 〃 <\S+\s+( ? P<date>\S+\s+\S+\s+\d+:\d+:\d+)\s+ (\S+)>\s+ ( ? P<host>\IPV4):\P0RT\s+-\s+( ? P<os>\S+)〃 。代理模块就是通过该表达式来进行匹配从而解析日志文件的。除此之外,还应该对事件中一些必填的字段指定在正则表达式中的位置,对于POF检测的OS事件,几个必填的字段为:date = {normalize_date ($date)} ;host = {$host} ;os = {$os} ;plugin_sid =1。其中$date、$h0St以及$os等适合正则表达式中的变量对应起来的。i、最后修改代理模块目录下的代理模块的配置文件config.cfg,把这个新建的 POF. cfg 加入到其 plugin 的列表下p0f = /etc/YHSOC/agent/plugins/pOf. cfg,然后保存并退出。上述实例中针对POF软件的网络安全检测工具、配置模块以及代理模块都安装在该软件所在的本地计算机上,但出于安全考虑,也可以将上述模块安装在远端计算机上。在远端计算机上安装上述模块的过程如下A、在远端的机器上安装网络安全检测工具与代理模块;
8
B、如前文的描述创建配置文件;C、在所述的配置文件中有一个用于定义远端接受数据的机器的IP的参数,将该参数的值设定为安装有数据采集器的服务器IP,并将相应端口 port的值设为40001 ;D、在数据采集器的配置文件中增加远端网络安全探针所在机器的IP和端口号。通过前面的配置,代理模块启动后会读取其管辖下的网络安全检测工具的配置信息,然后实时的检测相应的日志文件,若日志文件发生变化就读取相应的日志内容并将其配置文件中的正则表达式进行匹配,再检查该探针所属的安全事件类型,根据该安全事件的数据格式从而形成安全事件流,最后根据配置文件中定义的数据采集端的IP和端口号, 把相应的网络安全数据发送到数据采集端;数据采集端启动后会自动读取其配置文件,根据配置文件中定义的IP和端口,数据采集端接收相应的网络安全数据,并进行归并处理。本发明有以下技术效果1、提高网络安全数据集成和转换的性能本发明采用正则表达式匹配的方式进行网络安全数据集成和转换,只在源数据(指网络安全探针的日志文件以及网络探测数据, 即数据集成前的原始数据)中匹配集成后所需的相关数据,对大量网络安全日志中不相关的数据会略过,极大地提高了数据集成和转换的性能。2、支持网络安全数据源的动态加入和退出本发明采用配置文件指定远程网络安全探针数据源的形式,支持网络安全数据源的动态加入和退出。3、提高了数据转换的准确性本发明采用的基于正则表达式的数据转换由于只在源数据中匹配集成后所需的相关数据,对大量网络安全日志中不相关的数据会略过,即使这些数据出现格式错误,也不会影响数据集成的结果,提高了数据转换的准确性。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种网络安全数据集成与转换系统,其特征在于,包括网络安全探测工具、代理模块、配置模块、数据采集器以及数据分类归并处理模块;其中,所述的网络安全探测工具至少有一个,每一个所述的网络安全探测工具拥有与其配套的至少一个代理模块与至少一个配置模块;所述的配置模块中包括有配置文件,所述配置文件中包括有由正则表达式所描述的数据格式转换规则;所述的网络安全探测工具获取所在网络的网络安全数据;所述代理模块根据所述配置文件从所述网络安全探测工具获取网络安全数据,并根据所述正则表达式将所述网络安全数据中的安全事件数据抽取出来并转换为与该安全事件对应的统一数据格式;所述的数据采集器搜集由各个代理模块转换而成的安全事件数据,并将这些数据发送到所述数据分类归并处理模块,由该模块对数据做分类、归并。
2.根据权利要求1所述的网络安全数据集成与转换系统,其特征在于,所述的数据采集器采用被动接收模式从网络安全检测工具获取网络安全数据;在该模式下,所述网络安全探测工具实时产生探针日志,所述代理模块实时采集所述探针日志中的日志信息,将所述日志信息中的安全事件数据做格式转换后传送给所述数据采集器。
3.根据权利要求1所述的网络安全数据集成与转换系统,其特征在于,所述的数据采集器采用主动询问模式从网络安全检测工具获取网络安全数据;在该模式下,当所述数据采集器需要网络安全数据时,调用所述代理模块,由所述代理模块驱动所述网络安全检测工具实时生成网络监控数据,所述代理模块将所述网络监控数据中的安全事件数据做格式转换后传送给所述数据采集器。
4.根据权利要求1所述的网络安全数据集成与转换系统,其特征在于,所述的配置文件中还包括网络安全探测工具的ID和类型、探针日志文件的位置、网络安全探测工具开启或关闭时的相关配置、网络安全检测工具所检测的网络安全事件的类型。
5.根据权利要求1所述的网络安全数据集成与转换系统,其特征在于,所述的网络安全探测工具、代理模块以及配置模块位于客户端,所述的数据采集器与所述的数据分类归并处理模块位于服务器端;所述的代理模块通过所述客户端与所述服务器端之间的网络实现与所述数据采集器的数据传输。
全文摘要
本发明提供一种网络安全数据集成与转换系统,包括网络安全探测工具、代理模块、配置模块、数据采集器以及数据分类归并处理模块;其中,网络安全探测工具至少有一个,每一个网络安全探测工具拥有至少一个代理模块与至少一个配置模块;配置模块中包括有配置文件,配置文件中包括有由正则表达式所描述的数据格式转换规则;网络安全探测工具获取所在网络的网络安全数据;代理模块根据配置文件从网络安全探测工具获取网络安全数据,并根据正则表达式将网络安全数据中的安全事件数据抽取出来并转换为与该安全事件对应的统一数据格式;数据采集器搜集由各个代理模块转换而成的安全事件数据,并发送到数据分类归并处理模块,由该模块对数据做分类、归并。
文档编号H04L29/06GK102457475SQ20101051382
公开日2012年5月16日 申请日期2010年10月15日 优先权日2010年10月15日
发明者刘 东, 周斌, 张剑锋, 徐镜湖, 李爱平, 杨树强, 贾焰, 赵光耀, 郑黎明, 陈志坤, 韩伟红 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1