一种基于审计策略来处理日志的方法及系统与流程

文档序号:25213313发布日期:2021-05-28 14:09阅读:60来源:国知局
一种基于审计策略来处理日志的方法及系统与流程

本发明涉及数据库技术领域,并且更具体地涉及一种基于审计策略来处理日志的方法及系统。



背景技术:

在现有的数据库中,通过对数据库日志进行过滤提取审计信息,在每个数据库中都会进行日志打印,根据审计关键词和语句构成从日志中筛选出符合要求的审计日志。现有技术在开启全日志情况下,数据库日志膨胀,由于要开启全日志,日志增长较快,出现日志膨胀并且审计日志不准确,。此外,执行错误信息也会输入到日志中,筛选过程中会根据筛选规则不严谨导致审计日志不准确,并且无法危险事件中断会话。一些审计事件要求,如果出现危险操作能够立即中断会话,无法做到这一点。



技术实现要素:

为了解决现有审计存在的日志膨胀、审计日志不准确和审计危险操作响应等问题。本发明指定了审计处理的位置在语义分析阶段,利用之前词法/语法分析排除语法错误对审计结果的影响。语义分析阶段进行对象属性和权限检查,使审计结果更加精确。例如,在sql语义解析阶段判断sql语句主体和客体以及操作是否满足审计策略。

根据本发明的一个方面,提供一种基于审计策略来处理日志的方法,所述方法包括:

当从访问主体接收到请求对数据库进行数据处理的访问请求时,对所述访问请求进行解析以确定访问主体的身份信息和访问信息;

从所述身份信息中提取所述访问主体的身份标识和认证信息,其中所述身份标识能够唯一地标识所述访问主体,所述认证信息包括与访问主体相关联的至少一个认证信息项;

基于所述身份标识在认证信息库中获取与访问主体相关联的多个授权信息项,根据多个授权信息项对至少一个认证信息项中的每个认证信息项进行授权认证,当每个认证信息项均通过授权认证时,确定所述访问请求通过授权认证;

从所述访问信息中提取对数据库进行数据处理的多个处理项,其中每个处理项包括:处理任务和访问客体,对每个处理项进行数据处理,并获取数据处理时所产生的多个日志;

当确定不创建新的审计策略时,对多个日志进行词法分析、语法分析或语义分析以确定第一分析结果,多个日志中第一分析结果为不符合要求的日志去除以获得经过过滤的多个日志;

对经过过滤的多个日志中的每个日志与数据字典中的审计策略进行匹配以确定策略匹配度,将策略匹配度大于或等于匹配度阈值的日志确定为审计日志,从而获得多个审计日志,将多个审计日志存储到日志文件库中。

其中访问主体为用户设备或移动终端。

其中访问客体为数据库中的表。

在从所述访问信息中提取对数据库进行数据处理的多个处理项之前还包括:

确定是否存在与访问主体相关联的登录策略,如果存在与访问主体相关联的登录策略,则记录访问主体的登录信息;

如果不存在与访问主体相关联的登录策略,则确定是否创建与访问主体相关联的登录策略;

如果确定创建,则基于身份标识为访问主体创建相关联的登录策略;

如果确定不创建,则不为访问主体创建相关联的登录策略。

其中基于身份标识为访问主体创建相关联的登录策略包括:

基于身份标识向登录策略创建方发起为访问主体创建相关联的登录策略;

确定所述登录策略创建方是否具有登录策略的创建权限;如果具有,则由登录策略创建方为访问主体创建相关联的登录策略,如果不具有,则返回指示创建失败的通知消息。

还包括,预先创建安全策略并将安全策略存储在数据字典中。

日志包括:数据处理事件的发生时间、访问主体的身份消息、访问客体的身份消息、数据处理事件的类型、结构化查询语言sql语句和数据处理事件的结果。

所述语义分析包括对sql中出现的表、属性信息和权限进行校验。

还包括预先设置匹配度阈值,审计日志不存在语法错误、表不存在、属性信息错误和权限错误。

还包括接收审计日志的查询请求,从查询请求中提取时间区间,在日志库中通过函数查询所述时间区间内的审计日志。

根据本发明的另一方面,提供一种基于审计策略来处理日志的系统,所述系统包括:

解析装置,当从访问主体接收到请求对数据库进行数据处理的访问请求时,对所述访问请求进行解析以确定访问主体的身份信息和访问信息;

提取装置,从所述身份信息中提取所述访问主体的身份标识和认证信息,其中所述身份标识能够唯一地标识所述访问主体,所述认证信息包括与访问主体相关联的至少一个认证信息项;

认证装置,基于所述身份标识在认证信息库中获取与访问主体相关联的多个授权信息项,根据多个授权信息项对至少一个认证信息项中的每个认证信息项进行授权认证,当每个认证信息项均通过授权认证时,确定所述访问请求通过授权认证;

处理装置,从所述访问信息中提取对数据库进行数据处理的多个处理项,其中每个处理项包括:处理任务和访问客体,对每个处理项进行数据处理,并获取数据处理时所产生的多个日志;当确定不创建新的审计策略时,对多个日志进行词法分析、语法分析或语义分析以确定第一分析结果,多个日志中第一分析结果为不符合要求的日志去除以获得经过过滤的多个日志;

匹配装置,对经过过滤的多个日志中的每个日志与数据字典中的审计策略进行匹配以确定策略匹配度,将策略匹配度大于或等于匹配度阈值的日志确定为审计日志,从而获得多个审计日志,将多个审计日志存储到日志文件库中。

其中访问主体为用户设备或移动终端。

其中访问客体为数据库中的表。

还包括创建装置,确定是否存在与访问主体相关联的登录策略,如果存在与访问主体相关联的登录策略,则记录访问主体的登录信息;如果不存在与访问主体相关联的登录策略,则确定是否创建与访问主体相关联的登录策略;如果确定创建,则基于身份标识为访问主体创建相关联的登录策略;如果确定不创建,则不为访问主体创建相关联的登录策略。

其中创建装置基于身份标识为访问主体创建相关联的登录策略包括:创建装置,基于身份标识向登录策略创建方发起为访问主体创建相关联的登录策略;创建装置,确定所述登录策略创建方是否具有登录策略的创建权限;如果具有,则由登录策略创建方为访问主体创建相关联的登录策略,如果不具有,则返回指示创建失败的通知消息。

还包括,创建装置预先创建安全策略并将安全策略存储在数据字典中。

日志包括:数据处理事件的发生时间、访问主体的身份消息、访问客体的身份消息、数据处理事件的类型、结构化查询语言sql语句和数据处理事件的结果。所述语义分析包括对sql中出现的表、属性信息和权限进行校验。

还包括设置装置,预先设置匹配度阈值,审计日志不存在语法错误、表不存在、属性信息错误和权限错误。

还包括查询装置,接收审计日志的查询请求,从查询请求中提取时间区间,在日志库中通过函数查询所述时间区间内的审计日志。

本发明的技术方案在数据库中定义系统表保存用户创建的审计策略。随后,在语义解析阶段遍历解析树,根据解析树中的关键词或者对象跟策略数据字典中的内容进行对比,若满足审计策略,则将事件发生的时间、主体身份、客体身份、事件类型、sql语句和事件结果形成日志写入审计日志文件。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的基于审计策略来处理日志的方法的流程图;

图2为根据本发明实施方式的数据库执行过程中的审计处理流程的示意图;

图3为根据本发明实施方式的基于审计策略来处理日志的系统的结构示意图。

具体实施方式

图1为根据本发明实施方式的基于审计策略来处理日志的方法100的流程图。方法100从步骤101开始。

在步骤101,当从访问主体接收到请求对数据库进行数据处理的访问请求时,对所述访问请求进行解析以确定访问主体的身份信息和访问信息。

在步骤103,从所述身份信息中提取所述访问主体的身份标识和认证信息,其中所述身份标识能够唯一地标识所述访问主体,所述认证信息包括与访问主体相关联的至少一个认证信息项。

在步骤103,基于所述身份标识在认证信息库中获取与访问主体相关联的多个授权信息项,根据多个授权信息项对至少一个认证信息项中的每个认证信息项进行授权认证,当每个认证信息项均通过授权认证时,确定所述访问请求通过授权认证.

在步骤104,从所述访问信息中提取对数据库进行数据处理的多个处理项,其中每个处理项包括:处理任务和访问客体,对每个处理项进行数据处理,并获取数据处理时所产生的多个日志。

在步骤105,当确定不创建新的审计策略时,对多个日志进行词法分析、语法分析或语义分析以确定第一分析结果,多个日志中第一分析结果为不符合要求的日志去除以获得经过过滤的多个日志。

在步骤106,对经过过滤的多个日志中的每个日志与数据字典中的审计策略进行匹配以确定策略匹配度,将策略匹配度大于或等于匹配度阈值的日志确定为审计日志,从而获得多个审计日志,将多个审计日志存储到日志文件库中。

其中访问主体为用户设备或移动终端。其中访问客体为数据库中的表。在从所述访问信息中提取对数据库进行数据处理的多个处理项之前还包括:确定是否存在与访问主体相关联的登录策略,如果存在与访问主体相关联的登录策略,则记录访问主体的登录信息;如果不存在与访问主体相关联的登录策略,则确定是否创建与访问主体相关联的登录策略;如果确定创建,则基于身份标识为访问主体创建相关联的登录策略;如果确定不创建,则不为访问主体创建相关联的登录策略。

其中基于身份标识为访问主体创建相关联的登录策略包括:基于身份标识向登录策略创建方发起为访问主体创建相关联的登录策略;确定所述登录策略创建方是否具有登录策略的创建权限;如果具有,则由登录策略创建方为访问主体创建相关联的登录策略,如果不具有,则返回指示创建失败的通知消息。

还包括,预先创建安全策略并将安全策略存储在数据字典中。其中日志包括:数据处理事件的发生时间、访问主体的身份消息、访问客体的身份消息、数据处理事件的类型、结构化查询语言sql语句和数据处理事件的结果。所述语义分析包括对sql中出现的表、属性信息和权限进行校验。还包括预先设置匹配度阈值,审计日志不存在语法错误、表不存在、属性信息错误和权限错误。还包括接收审计日志的查询请求,从查询请求中提取时间区间,在日志库中通过函数查询所述时间区间内的审计日志。

图2为根据本发明实施方式的数据库执行过程中的审计处理流程的示意图。创建安全审计策略并将其存储到特定数据字典;sql语义解析阶段检索数据字典判断sql语句涉及的主体和客体以及操作是否满足审计策略;若满足审计策略,则将事件发生的时间、主体身份、客体身份、事件类型、sql语句和事件结果形成日志写入审计日志文件;

定义审计事件数据字典,审计数据字典中记录审计策略信息,例如审计用户登录(成功、失败、登录时间等)、主体身份、客体身份、事件类型、sql语句和事件结果。数据库处理sql分为词法/语法分析、语义解析、分析重写、创建执行计划、根据执行计划执行,在语义解析阶段会进行sql中出现的表、属性信息和权限进行校验,语义解析阶段之后进行审计可以避免语法错误、表不存在、属性信息错误和权限问题等,在此处已经解析完成整个sql可以根据审计字典中的策略信息对解析结果进行审计处理,如果满足审计策略则将其写入到日志文件中。审计日志查询,审计员在sql中通过函数查询指定时间节点内的审计日志,可完成对审计结果的查看。

具体地,审计处理流程开始后,首先对用户进行身份认证。当用户通过身份认证后,确定是否已经定义了审计登录策略,如果是,则记录登录信息;如果否,则执行sql。

确定是否定义了审计策略?如果是,则确定是否为审计员,如果否,则进行报错处理;如果是,则定义审计策略,

如果没有定义审计策略,则进行语法/语义分析,并进行语义分析/匹配审计策略。

确定是否满足审计策略?如果是,则记录审计日志,并创建执行计划;如果否,则直接创建执行计划。

图3为根据本发明实施方式的基于审计策略来处理日志的系统300的结构示意图。系统300包括:解析装置301、提取装置302、认证装置303、处理装置304、匹配装置305、创建装置306、设置装置307以及查询装置308。

解析装置301,当从访问主体接收到请求对数据库进行数据处理的访问请求时,对所述访问请求进行解析以确定访问主体的身份信息和访问信息。

提取装置302,从所述身份信息中提取所述访问主体的身份标识和认证信息,其中所述身份标识能够唯一地标识所述访问主体,所述认证信息包括与访问主体相关联的至少一个认证信息项。

认证装置303,基于所述身份标识在认证信息库中获取与访问主体相关联的多个授权信息项,根据多个授权信息项对至少一个认证信息项中的每个认证信息项进行授权认证,当每个认证信息项均通过授权认证时,确定所述访问请求通过授权认证。

处理装置304,从所述访问信息中提取对数据库进行数据处理的多个处理项,其中每个处理项包括:处理任务和访问客体,对每个处理项进行数据处理,并获取数据处理时所产生的多个日志;当确定不创建新的审计策略时,对多个日志进行词法分析、语法分析或语义分析以确定第一分析结果,多个日志中第一分析结果为不符合要求的日志去除以获得经过过滤的多个日志。

匹配装置305,对经过过滤的多个日志中的每个日志与数据字典中的审计策略进行匹配以确定策略匹配度,将策略匹配度大于或等于匹配度阈值的日志确定为审计日志,从而获得多个审计日志,将多个审计日志存储到日志文件库中。其中访问主体为用户设备或移动终端。其中访问客体为数据库中的表。

创建装置306,确定是否存在与访问主体相关联的登录策略,如果存在与访问主体相关联的登录策略,则记录访问主体的登录信息;如果不存在与访问主体相关联的登录策略,则确定是否创建与访问主体相关联的登录策略;如果确定创建,则基于身份标识为访问主体创建相关联的登录策略;如果确定不创建,则不为访问主体创建相关联的登录策略。

创建装置306基于身份标识为访问主体创建相关联的登录策略包括:创建装置306基于身份标识向登录策略创建方发起为访问主体创建相关联的登录策略;创建装置306确定所述登录策略创建方是否具有登录策略的创建权限;如果具有,则由登录策略创建方为访问主体创建相关联的登录策略,如果不具有,则返回指示创建失败的通知消息。创建装置306预先创建安全策略并将安全策略存储在数据字典中。

设置装置307,预先设置匹配度阈值,审计日志不存在语法错误、表不存在、属性信息错误和权限错误。

查询装置308,接收审计日志的查询请求,从查询请求中提取时间区间,在日志库中通过函数查询所述时间区间内的审计日志。

其中日志包括:数据处理事件的发生时间、访问主体的身份消息、访问客体的身份消息、数据处理事件的类型、结构化查询语言sql语句和数据处理事件的结果。所述语义分析包括对sql中出现的表、属性信息和权限进行校验。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1