一种安全事件动态入库方法

文档序号:8512712阅读:141来源:国知局
一种安全事件动态入库方法
【技术领域】
[0001] 本发明涉及网络入侵检测技术领域,特别是一种安全事件动态入库方法。
【背景技术】
[0002] 现在网络入侵越来越复杂,在网络应用层的漏洞成为了黑客的重点攻击目标,利 用网络应用层的漏洞进行攻击时,攻击者的数据(攻击脚本)千奇百怪,想方设法绕过各种 安全监管系统,要将这些带有非常规内容的安全事件,准确清晰分门别类保存到各种关系 数据库中,也是一件繁琐细致而且重要的工作。针对入库工作环节,传统安全监管系统将遇 到以下二个问题:首先攻击方式正在动态变化,安全产品能够识别出来的安全事件类型也 必须进一步细分,而且变更周期越来越短,导致程序代码频繁更新修改,造成应用系统不稳 定性;其次对关系数据库支持比较单一,无法同时支持多种关系数据库,从而无法满足复杂 的客户生产环境,就算能满足也需要进行较多的定制化开发。采用动态入库方法可以很好 解决上述问题,从而提高系统的灵活性、稳定性和扩展性。

【发明内容】

[0003] 有鉴于此,本发明的目的是提出一种安全事件动态入库方法,支持自定义安全事 件信息动态入库,同时支持多种关系数据库。
[0004] 本发明的采用以下方案实现:一种安全事件动态入库方法,具体包括以下步骤: 步骤Sl :采用XML格式文件定义入库规则; 步骤S2 :装载步骤Sl定义完成的入库规则; 步骤S3 :将指定的数据库操作功能插件封装为动态库DLL,并装载所述动态库DLL,用 以实现统一的数据库操作接口以及之后的动态调用。
[0005] 步骤S4 :启动TCP网络服务,接收采集到的安全事件,并将采集到的安全事件定 义为业务对象; 步骤S5 :将步骤S4中接收到的业务对象的数据转化为通用JSON格式;其中,JSON业 务对象具有Key和Value值,简单易用,可以和数据表字段有机结合起来。
[0006] 步骤S6 :将步骤S5中的业务对象匹配对应的入库规则;同时也确定了业务对象属 性和数据库表字段之间的对应关系。支持业务对象和数据库表一对一、一对多的映射关系。
[0007] 步骤S7 :根据步骤S6中匹配的对应的入库规则生成相应的SQL语句集合; 步骤S8 :根据业务对象对应的数据库类型,调用对应的数据库操作功能插件执行对应 的SQL语句,用以将业务对象录入到对应类型的数据库中的对应数据表中;其中,事务控制 粒度为单个业务对象。
[0008] 进一步的,所述的入库规则配置项包括业务对象基本信息定义、业务对象和数据 表映射关系定义、业务对象属性和数据表字段映射关系定义、业务对象相关SQL语句定义、 业务对象和关联数据表映射定义以及业务对象属性和关联数据表字段映射关系定义。
[0009] 进一步的,所述的指定数据库插件包括Oracle操作功能插件、MySQL操作功能插 件、SQLITE操作功能插件以及Sybase操作功能插件。
[0010] 进一步的,所述的业务对象具有通信双方约定好的业务对象类型编码和业务内容 信息。
[0011] 进一步的,所述的SQL语句集合包括建表语句、建索引语句以及插入语句。
[0012] 与现有技术相比,本发明可以不用修改入库程序代码,只需要修改动态入库规则 配置信息,就可以满足新的业务功能。本发明能够大量减少业务变更导致的枚举式代码开 发、重复编译工作。提高了程序灵活性、稳定性和扩展性,还可以同时将一个业务对象保存 到多个不同的数据库的多个数据表中。
【附图说明】
[0013] 图1为本发明的方法流程示意图。
[0014] 图2为本发明的实施例架构图。
【具体实施方式】
[0015] 下面结合附图及实施例对本发明做进一步说明。
[0016] 如图1所示,本实施例提供了一种安全事件动态入库方法,具体包括以下步骤: 步骤Sl :采用XML格式文件定义入库规则; 步骤S2 :装载步骤Sl定义完成的入库规则; 步骤S3 :将指定的数据库操作功能插件封装为动态库DLL,并装载所述动态库DLL,用 以实现统一的数据库操作接口以及之后的动态调用。
[0017] 步骤S4 :启动TCP网络服务,接收采集到的安全事件,并将采集到的安全事件定 义为业务对象; 步骤S5 :将步骤S4中接收到的业务对象的数据转化为通用JSON格式;其中,JSON业 务对象具有Key和Value值,简单易用,可以和数据表字段有机结合起来。
[0018] 步骤S6 :将步骤S5中的业务对象匹配对应的入库规则;同时也确定了业务对象属 性和数据库表字段之间的对应关系。支持业务对象和数据库表一对一、一对多的映射关系。
[0019] 步骤S7 :根据步骤S6中匹配的对应的入库规则生成相应的SQL语句集合; 步骤S8 :根据业务对象对应的数据库类型,调用对应的数据库操作功能插件执行对应 的SQL语句,用以将业务对象录入到对应类型的数据库中的对应数据表中;其中,事务控制 粒度为单个业务对象。
[0020] 在本实施例中,所述的入库规则配置项包括业务对象基本信息定义、业务对象和 数据表映射关系定义、业务对象属性和数据表字段映射关系定义、业务对象相关SQL语句 定义、业务对象和关联数据表映射定义以及业务对象属性和关联数据表字段映射关系定 义。
[0021] 在本实施例中,所述的指定数据库插件包括Oracle操作功能插件、MySQL操作功 能插件、SQLITE操作功能插件以及Sybase操作功能插件。
[0022] 在本实施例中,所述的业务对象具有通信双方约定好的业务对象类型编码和业务 内容信息。
[0023] 在本实施例中,述的SQL语句集合包括建表语句、建索引语句以及插入语句。
[0024] 较佳地,在本实施例中,业务对象和数据表映射关系定义如下表所示。
【主权项】
1. 一种安全事件动态入库方法,其特征在于包括以下步骤: 步骤Sl :采用XML格式文件定义入库规则; 步骤S2 :装载步骤Sl定义完成的入库规则; 步骤S3 :将指定的数据库操作功能插件封装为动态库DLL,并装载所述动态库DLL ; 步骤S4 :启动TCP网络服务,接收采集到的安全事件,并将采集到的安全事件定义为 业务对象; 步骤S5 :将步骤S4中接收到的业务对象的数据转化为通用JSON格式; 步骤S6 :将步骤S5中的业务对象匹配对应的入库规则; 步骤S7 :根据步骤S6中匹配的对应的入库规则生成相应的SQL语句集合; 步骤S8 :根据业务对象对应的数据库类型,调用对应的数据库操作功能插件执行对应 的SQL语句,用以将业务对象录入到对应类型的数据库中的对应数据表中;其中,事务控制 粒度为单个业务对象。
2. 根据权利要求1所述的一种安全事件动态入库方法,其特征在于:所述的入库规则 配置项包括业务对象基本信息定义、业务对象和数据表映射关系定义、业务对象属性和数 据表字段映射关系定义、业务对象相关SQL语句定义、业务对象和关联数据表映射定义以 及业务对象属性和关联数据表字段映射关系定义。
3. 根据权利要求1所述的一种安全事件动态入库方法,其特征在于:所述的指定数据 库插件包括Oracle操作功能插件、MySQL操作功能插件、SQLITE操作功能插件以及Sybase 操作功能插件。
4. 根据权利要求1所述的一种安全事件动态入库方法,其特征在于:所述的业务对象 具有通信双方约定好的业务对象类型编码和业务内容信息。
5. 根据权利要求1所述的一种安全事件动态入库方法,其特征在于:所述的SQL语句 集合包括建表语句、建索引语句以及插入语句。
【专利摘要】本发明涉及一种安全事件动态入库方法,首先采用XML格式文件定义入库规则;再装载步骤S1定义完成的入库规则;然后将指定的数据库操作功能插件封装为动态库DLL,并装载所述动态库DLL;接着启动TCP 网络服务,接收采集到的安全事件,并将采集到的安全事件定义为业务对象;将步骤S4中接收到的业务对象的数据转化为通用JSON格式;再将步骤S5中的业务对象匹配对应的入库规则;接着根据步骤S6中匹配的对应的入库规则生成相应的SQL语句集合;最后根据业务对象对应的数据库类型,调用对应的数据库操作功能插件执行对应的SQL语句。本发明可以便捷将各种安全事件动态保存到各种类型的数据库,供安全技术分析人员进一步跟踪分析。
【IPC分类】G06F21-56, G06F17-30
【公开号】CN104834860
【申请号】CN201510231920
【发明人】王 琦, 张木连, 刘坤朋, 张冬青
【申请人】福建六壬网安股份有限公司
【公开日】2015年8月12日
【申请日】2015年5月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1