公开/公告号CN112347119A
专利类型发明专利
公开/公告日2021-02-09
原文格式PDF
申请/专利权人 杭州安恒信息安全技术有限公司;
申请/专利号CN202010984519.3
申请日2020-09-18
分类号G06F16/242(20190101);G06F16/22(20190101);G06F16/25(20190101);
代理机构33250 杭州华进联浙知识产权代理有限公司;
代理人陈涵
地址 310051 浙江省杭州市滨江区西兴街道联慧街188号1幢5层
入库时间 2023-06-19 09:51:02
技术领域
本申请涉及数据库审计系统领域,特别是涉及应用于审计系统的数据存储方法、装置和计算机设备。
背景技术
数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。
在相关技术中,随着数据库信息价值和可访问性的提升,以及数据库访问数据量大和操作重复性的特点,在数据库审计系统的应用中,存储着大量的数据库操作,进而导致数据库审计系统性能降低的问题。
目前针对相关技术中应用中的数据库审计系统存储着大量的数据库操作,导致数据库审计系统性能降低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了应用于审计系统的数据存储方法、装置和计算机设备,以至少解决相关技术中应用中的数据库审计系统存储着大量的数据库操作,导致数据库审计系统性能降低的问题。
第一方面,本申请实施例提供了一种应用于审计系统的数据存储方法,所述方法包括:
获取访问用户的数据库操作逻辑语句、访问参数以及返回结果集;
根据所述数据库操作逻辑语句生成操作散列值,并将所述数据库操作逻辑语句和所述操作散列值存储在用户操作记忆库中;
根据所述返回结果集生成结果散列值,并将所述返回结果集和所述结果散列值存储在返回结果集记忆库中;
将所述访问参数、所述操作散列值以及所述结果散列值存储在操作轨迹数据库中。
在其中一些实施例中,获取访问用户的数据库操作逻辑语句包括:
获取所述访问用户的数据库操作请求;
将所述数据库操作请求转化为数据库操作逻辑语句。
在其中一些实施例中,获取所述访问用户的数据库操作请求和所述访问参数包括:
获取所述访问用户的访问流量;
根据所述访问流量,确定所述访问用户的数据库操作请求和访问参数。
在其中一些实施例中,获取所述访问用户的访问流量;根据所述访问流量,确定所述访问用户的数据库操作请求和访问参数包括:
通过镜像数据库的访问流量,确定所述访问用户的访问流量;
对所述访问流量进行流量解析,确定所述访问用户的数据库操作请求和访问参数。
在其中一些实施例中,所述方法还包括:
获取输入的访问参数;
从所述操作轨迹数据库中调取与所述输入的访问参数相匹配的操作散列值和结果散列值;
根据调取的操作散列值,从所述用户操作记忆库中获取与所述调取的操作散列值相匹配的数据库操作逻辑语句,并根据所述数据库操作逻辑语句确定与所述调取的操作散列值相对应的数据库操作请求;
根据调取的结果散列值,从所述返回结果集记忆库中获取与所述调取的结果散列值相匹配的返回结果集。
在其中一些实施例中,所述访问用户的访问参数至少包括一项,所述输入的访问参数至少包括一项。
在其中一些实施例中,在所述用户操作记忆库中将所述操作散列值设为主键,在所述返回结果集记忆库中将所述结果散列值设为主键。
第二方面,本申请实施例提供了一种应用于审计系统的数据存储装置,所述装置包括:获取模块、生成模块以及存储模块;
所述获取模块,用于获取访问用户的数据库操作逻辑语句、访问参数以及返回结果集;
所述生成模块,用于根据所述数据库操作逻辑语句生成操作散列值,并将所述数据库操作逻辑语句和所述操作散列值存储在用户操作记忆库中,还用于根据所述返回结果集生成结果散列值,并将所述返回结果集和所述结果散列值存储在返回结果集记忆库中;
所述存储模块,用于将所述访问参数、所述操作散列值以及所述结果散列值存储在操作轨迹数据库中。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的应用于审计系统的数据存储方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的应用于审计系统的数据存储方法。
相比于相关技术,本申请实施例提供的应用于审计系统的数据存储方法,通过获取访问用户的数据库操作逻辑语句、访问参数以及返回结果集,根据所述数据库操作逻辑语句生成操作散列值,并将所述数据库操作逻辑语句和所述操作散列值存储在用户操作记忆库中,根据所述返回结果集生成结果散列值,并将所述返回结果集和所述结果散列值存储在返回结果集记忆库中,将所述访问参数、所述操作散列值以及所述结果散列值存储在操作轨迹数据库中,解决了相关技术中应用中的数据库审计系统存储着大量的数据库操作,导致数据库审计系统性能降低的问题,提高了数据库审计系统的存储利用率和性能。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的应用于审计系统的数据存储方法的流程图一;
图2是根据本申请实施例的获取访问用户的数据库操作逻辑语句的方法流程图;
图3是根据本申请实施例的获取访问用户的数据库操作请求和访问参数的方法流程图一;
图4是根据本申请实施例的获取访问用户的数据库操作请求和访问参数的方法流程图二;
图5是根据本申请实施例的应用于审计系统的数据存储方法的流程图二;
图6是根据本申请实施例的应用于审计系统的数据存储装置的结构框图;
图7是根据本申请实施例的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“多个”是指两个或两个以上。
本申请提供的一种应用于审计系统的数据存储方法,应用于数据库审计系统,通过将数据库操作逻辑语句和与数据库操作逻辑语句相对应的操作散列值存储在用户操作记忆库中,将返回结果集和与返回结果集相对应的结果散列值存储在返回结果集记忆库中,以及将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中,节省空间数据库审计系统的存储空间,解决了相关技术中应用中的数据库审计系统存储着大量的数据库操作,导致数据库审计系统性能降低的问题,提高了数据库审计系统的存储利用率和性能。
本实施例提供了一种应用于审计系统的数据存储方法,图1是根据本申请实施例的应用于审计系统的数据存储方法的流程图一,如图1所示,该方法包括如下步骤:
步骤S101,获取访问用户的数据库操作逻辑语句、访问参数以及返回结果集;
需要说明的是,数据库操作是指对数据库上的数据进行的一系列操作,包括读取数据、写数据、更新或修改数据、删除数据等,数据库操作逻辑语句即是针对访问用户的数据库操作,将与SQL语句逻辑中的词提取,最后组织成数据库操作逻辑语句,结构化查询语言(英文全称Structured Query Language,简称SQL),SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
步骤S102,根据数据库操作逻辑语句生成操作散列值,并将数据库操作逻辑语句和操作散列值存储在用户操作记忆库中;
一方面,由于数据库访问特点是数据量大,且操作重复性,造成传统的数据库审计系统或者数据库审计产品存储了大量的访问用户的重复数据库操作请求记录,访问用户的数据库逻辑语句实现将访问用户大量的重复数据库操作请求记录进行削减存储;
另一方面,根据数据库逻辑语句生成的操作散列值,是一种从任何一种数据中创建小的数字“指纹”的方法,也就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值,这种散列值的转换是一种压缩映射;且需要说明的是,用户操作记忆库中包含但不限于数据库逻辑语句、操作散列值。
步骤S103,根据返回结果集生成结果散列值,并将返回结果集和结果散列值存储在返回结果集记忆库中;
其中,返回结果集是数据库根据访问用户的数据库操作请求产生的响应;且需要说明的是,返回结果集记忆库中包含但不限于返回结果集、结果散列值。
步骤S104,将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中;
将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中,便于后期在追溯访问用户的操作记录以及返回结果集记录时,通过访问参数以调取操作轨迹数据库中的操作散列值以及结果散列值,同时可进一步根据操作散列值获取用户操作记忆库中匹配的用户操作,以及根据结果散列值获取返回结果集记忆库中匹配的返回结果集,需要说明的是,操作轨迹数据库中包含但不限于访问参数、操作散列值以及结果散列值。
通过上述步骤S101至步骤S104,利用数据库的数据量大、操作重复性的访问特点,将访问用户的数据库逻辑语句以及与数据库逻辑语句相对应的操作散列值存储在用户操作记忆库,将返回结果集以及返回结果集相对应的结果散列值存储在返回结果集记忆库中,将返回将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中,相较于传统的数据库审计系统存储了大量的访问用户的重复数据库操作请求记录,以及与各个重复的数据库操作请求记录相对应的重复的返回结果集,减少了数据库审计系统在用户操作记录方面以及返回结果集方面的存储量,提高了数据库审计系统的存储利用率和性能。
在其中一些实施例中,图2是根据本申请实施例的获取访问用户的数据库操作逻辑语句的方法流程图,如图2所示,该方法包括如下步骤:
步骤S201,获取访问用户的数据库操作请求;其中,所获取的访问用户的数据库操作请求可以是不同的时间点访问用户的重复的数据库操作请求。
步骤S202,将数据库操作请求转化为数据库操作逻辑语句;
将获取的数据库操作请求转化为数据库操作逻辑语句,即数据库操作请求中,与SQL语句逻辑中的词提取,最后组织成数据库操作逻辑语句,进而存在将访问用户的重复的数据库操作请求转换成数据库操作逻辑语句,通过存储数据库操作逻辑语句代替对访问用户的重复的数据库操作请求进行存储,大大节省了数据库审计系统的存储空间。
在其中一些实施例中,图3是根据本申请实施例的获取访问用户的数据库操作请求和访问参数的方法流程图一,如图3所示,该方法包括如下步骤:
步骤S301,获取访问用户的访问流量;
步骤S302,根据访问流量,确定访问用户的数据库操作请求和访问参数;
通过步骤S301至步骤S302,通过获取访问用户对数据库的访问流量,来得到访问用户的数据库操作请求以及访问参数,可方便、有效的获取访问用户真实的访问操作请求和访问参数。
在其中一些实施例中,图4是根据本申请实施例的获取访问用户的数据库操作请求和访问参数的方法流程图二,如图4所示,该方法包括如下步骤:
步骤S401,通过镜像数据库的访问流量,确定访问用户的访问流量;
其中,镜像数据库是通过数据库镜像生成的,数据库镜像是DBMS根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,DBMS会自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。
步骤S402,对访问流量进行流量解析,确定访问用户的数据库操作请求和访问参数。
通过步骤S401至步骤S402,考虑到数据库实际运行中,一般是通过镜像实现对数据库访问流量的监控,因此通过镜像数据库来确定访问用户的访问流量,更加方便,符合数据库实际运行中访问流量的监控。
本实施例提供了一种应用于审计系统的数据存储方法,图5是根据本申请实施例的应用于审计系统的数据存储方法的流程图二,如图5所示,该方法还包括如下步骤:
步骤S501,获取输入的访问参数,并从操作轨迹数据库中调取与输入的访问参数相匹配的操作散列值和结果散列值;其中,输入的访问参数可以是一项也可以是多项的组合。
步骤S502,根据调取的操作散列值,从用户操作记忆库中获取与调取的操作散列值相匹配的数据库操作逻辑语句,并根据数据库操作逻辑语句确定与调取的操作散列值相对应的数据库操作请求;
步骤S503,根据调取的结果散列值,从返回结果集记忆库中获取与调取的结果散列值相匹配的返回结果集。
通过步骤S501至步骤S503,在根据所输入的访问参数,首先从操作轨迹数据库获取输入的访问参数相匹配的操作散列值和结果散列值;其次,可根据操作散列值从用户操作记忆库中获取与调取的操作散列值相匹配的数据库操作逻辑语句,进而进一步得到相对应的数据库操作请求,以及根据结果散列值从返回结果集记忆库中获取与调取的结果散列值相匹配的返回结果集,最终获取到与输入的访问参数相对应的数据库操作请求和返回结果集,实现访问用户的数据库操作请求和返回结果集的追溯。
在其中一些实施例中,访问用户的访问参数至少包括一项,输入的访问参数至少包括一项;其中,访问参数可以是以下至少一项:请求时间、响应时间、请求参数、返回结果、源IP、用户、源端口;访问参数可以是以下至少一项:请求时间、响应时间、请求参数、返回结果、源IP、用户、源端口,考虑到输入的访问参数可以是多维度的组合,进而可以通过多维度追溯数据库操作记录,例如,输入的可以是响应时间、源IP、用户组成的多维度组合。
在其中一些实施例中,在用户操作记忆库中将操作散列值设为主键,在返回结果集记忆库中将结果散列值设为主键;需要说明的是,数据库的主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性,主键主要是用与其他表的外键关联,以及本记录的修改与删除;因此在本申请实施例中,通过将用户操作记忆库中将操作散列值设为主键,以及返回结果集记忆库中将结果散列值设为主键,使得在追溯时可快速关联数据库审计系统的审计结果,效率高。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种应用于审计系统的数据存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一些实施例中,图6是根据本申请实施例的应用于审计系统的数据存储装置的结构框图,如图6所示,该装置包括:获取模块61、生成模块62以及存储模块63;
获取模块61,用于获取访问用户的数据库操作逻辑语句、访问参数以及返回结果集;
生成模块62,用于根据数据库操作逻辑语句生成操作散列值,并将数据库操作逻辑语句和操作散列值存储在用户操作记忆库中,还用于根据返回结果集生成结果散列值,并将返回结果集和结果散列值存储在返回结果集记忆库中;
存储模块63,用于将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中。
通过上述的应用于审计系统的数据存储装置,利用数据库的数据量大、操作重复性的访问特点,将访问用户的数据库逻辑语句以及与数据库逻辑语句相对应的操作散列值存储在用户操作记忆库,将返回结果集以及返回结果集相对应的结果散列值存储在返回结果集记忆库中,将返回将访问参数、操作散列值以及结果散列值存储在操作轨迹数据库中,相较于传统的数据库审计系统存储了大量的访问用户的重复数据库操作请求记录,以及与各个重复的数据库操作请求记录相对应的重复的返回结果集,减少了数据库审计系统在用户操作记录方面以及返回结果集方面的存储量,提高了数据库审计系统的存储利用率和性能。
在其中一些实施例中,获取模块61、生成模块62和存储模块63还用于实现上述各实施例提供的应用于审计系统的数据存储方法中的步骤,在这里不再赘述。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用于审计系统的数据存储方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图7是根据本申请实施例的计算机设备的内部结构示意图,如图7所示,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用于审计系统的数据存储方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的应用于审计系统的数据存储方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的应用于审计系统的数据存储方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
机译: 元数据驱动的审计报告系统,将数据安全性应用于审计数据
机译: 审计结果数据存储和查询方法,以及审计项目存储方法和装置
机译: 一组柔性连接的计算机系统,设备使用的用户计算机交互方法,具有用于连接到柔性连接的计算机系统的块,一组设备,具有用于连接到柔性连接的计算机系统的块,通用串行总线的方法通过USB与主要计算机交互的方法和数据存储方法(变量)