数据库敏感操作的阻断方法、装置、电子装置和存储介质与流程

文档序号:23615595发布日期:2021-01-12 10:25阅读:171来源:国知局
数据库敏感操作的阻断方法、装置、电子装置和存储介质与流程

本申请涉及数据库技术领域,特别是涉及数据库敏感操作的阻断方法、装置、电子装置和存储介质。



背景技术:

随着互联网技术和信息技术的迅速发展,以数据库为基础的信息系统在经济、金融、医疗等领域的信息基础设施建设中得到了广泛的应用,越来越多的数据信息被不同组织和机构(例如,统计部门、医院、保险公司等)搜集、存储以及发布,其中大量信息被用于行业合作和数据共享。但是,如果这些数据资产遗失、丢失或者被误操作,将会给用户带来损失和影响客户体验,同时也会给服务提供者带来损失使得公司形象进一步受损。因此,为了保证数据库的正常运行,需要阻断数据库的敏感操作。

传统的数据库敏感操作的阻断方法其一是通过配置敏感操作,将流量中解析的操作进行匹配,若匹配上则进行阻断由于只有语句并不知道执行结果就进行阻断,很可能导致误判;其二是先提供一种方法,结合操作语句与操作结果判断,是否存在敏感或威胁操作进行阻断,仅仅凭借操作语句与操作结果判断是否属于敏感操作,易发生误判。显然传统的数据库敏感操作的阻断方法并不能够保证数据库敏感操作阻断保持相对较低的错误率。

目前针对相关技术中数据库敏感操作阻断错误率高的问题,尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种数据库敏感操作的阻断方法、装置、电子装置和存储介质,以至少解决相关技术中数据库敏感操作阻断错误率高的问题。

第一方面,本申请实施例提供了一种数据库敏感操作的阻断方法,所述方法包括:

获取数据库的数据库流量;

解析所述数据库流量,获取所述数据库流量中的数据库操作;

执行所述数据库操作,得到执行结果,其中,所述执行结果包括所述数据库操作对应的数据行数、所述数据库的返回结果;

判断所述数据行数是否大于预设值以及所述返回结果是否包括预设内容;

在所述数据行数大于预设值且所述返回结果包括预设内容的情况下,回滚所述数据库操作,并对所述数据库操作进行阻断。

在其中一些实施例中,所述获取数据库的数据库流量包括:

为所述数据库配置镜像数据库,并从所述镜像数据库获取所述数据库流量。

在其中一些实施例中,所述数据库操作包括与操作命令对应的数据库操作表和/或操作参数,所述操作命令包括以下至少之一:对所述数据库进行数据增加、数据修改、数据删除和数据查看操作。

在其中一些实施例中,执行所述数据库操作包括:

将所述数据库操作组装为数据库事务;

执行所述数据库事务;

获得执行结果。

在其中一些实施例中,在判断所述数据库返回内容是否包括预设内容后,所述方法还包括:

若所述数据行数不大于预设值,或所述数据库返回结果不包括预设内容,则将所述数据库的返回结果发送给所述数据库操作的发起方。

在其中一些实施例中,对所述数据库操作进行阻断包括:

向数据库防火墙发送阻断请求。

在其中一些实施例中,在向数据库防火墙发送阻断请求后,所述方法还包括:

创建数据库敏感操作黑名单;

将所述数据库操作加入所述黑名单。

第二方面,本申请实施例提供了一种数据库敏感操作的阻断装置,所述装置包括:

获取模块,用于获取数据库流量;

解析模块,用于解析数据库流量,获取数据库流量中的数据库操作;

执行模块,用于执行数据库操作,得到执行结果;

判断模块,用于判断数据行数是否大于预设值,和数据库返回结果是否包括预设内容;

回滚模块,用于对执行结果进行回滚;

阻断模块,用于对数据库操作进行阻断。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据库敏感操作的阻断方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的数据库敏感操作的阻断方法。

相比于相关技术,本申请实施例提供的数据库敏感操作的阻断方法,通过获取磁盘文件的真实数据,并计算真实数据的校验值,使得校验过程不受云主机文件的格式转换、丢弃冗余数据等操作处理的影响,实现了对处理前后的云主机文件的一致性校验。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的数据库敏感操作的阻断方法流程图;

图2是根据本申请优选实施例一的数据库敏感操作的阻断方法流程图;

图3是根据本申请优选实施例二的数据库敏感操作的阻断方法流程图;

图4是根据本申请实施例的数据库敏感操作的阻断装置结构图;

图5为根据本申请实施例的数据库敏感操作的设备硬件结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本实施例提供了一种数据库敏感操作的阻断方法。图1是根据本申请实施例的数据库敏感操作的阻断方法流程图,如图1所示,该流程包括如下步骤:

步骤s101,获取数据库的数据库流量。

步骤s102,解析数据库流量,获取数据库流量中的数据库操作。

在本实施例中,为获得数据库操作信息,需要对数据库流量进行解析,其中,对数据库流量进行解析是指在数据库流量中提取由发起方对数据库发起的包括数据增加、数据修改、数据删除和数据查看的数据库操作,为后续执行数据库操作的步骤提供基础。

步骤s103,执行数据库操作,得到执行结果,其中,执行结果包括数据库操作对应的数据行数、数据库的返回结果。

在本实施例中,本方案采用执行数据库操作的方式获得执行结果,为判断当前数据库操作是否属于数据库敏感操作提供判断基础。相比于直接根据语句来判断敏感操作,根据语句执行结果判断敏感操作能够有效提高判断的准确率。

步骤s104,判断数据行数是否大于预设值以及返回结果是否包括预设内容。

步骤s105,在数据行数大于预设值且返回结果包括预设内容的情况下,回滚数据库操作,并对数据库操作进行阻断。

在本实施例中,预设内容包括数据库管理员预先设定的数据行数和数据库敏感内容,当数据库操作涉及的数据行数大于数据库管理员预先设定的数据行数且数据库操作涉及的数据内容包括数据库管理员预先设定的数据库敏感内容时,确定当前数据库操作为敏感操作,并进行回滚和阻断等操作,其中,预设内容包含但不限于行数、数据库字段、数据库表、数据库,包含但不限于行数阈值。此步骤中的预设内容可以根据数据库管理员的需要自主设定,提高了维护数据库系统的自由度,通过同时判断数据库操作涉及的数据行数和数据内容,提高了判断数据库敏感操作的正确率和可靠性。

在其中一些实施例中,获取数据库的数据库流量包括:为数据库配置镜像数据库,并从镜像数据库获取数据库流量。其中,镜像数据库指数据库管理系统(dbms)根据数据库管理员(dba)的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,dbms会自动把更新后的数据复制过去,即dbms自动保证镜像数据与主数据的一致性。在本实施例中,所需要的数据库流量如果直接从数据库中获取,可能会使数据库输入输出端口资源被占用,导致数据库运行速度变慢,不利于快速存取数据。因此,本申请采取从数据库镜像中获取数据库流量,有效减少了对数据库资源的占用,提高了数据库工作效率。

在其中一些实施例中,数据库操作包括与操作命令对应的数据库操作表和/或操作参数,操作命令包括以下至少之一:对数据库进行数据增加、数据修改、数据删除和数据查看操作。其中,数据库操作为发起方对数据库发起的操作,其中包括对数据库的数据进行删除、修改、增加和查看,数据库收到发起方的输入数据后更改数据库数据,并将结果返回给数据库操作的发起方。

在其中一些实施例中,对数据库操作进行阻断包括:向数据库防火墙发送阻断请求。其中,数据库防火墙串联部署在数据库服务器之前,解决数据库应用侧和运维侧两方面的问题,是一种基于数据库协议分析与控制技术的数据库安全防护系统。数据库防火墙基于主动防御机制,实现数据库的访问行为控制、危险操作阻断、可疑行为审计。在本实施例中,数据库防火墙在收到数据库发送的阻断请求后主动阻断上述的数据库操作,保证了数据库的重要和敏感信息不丢失,提高了数据库的安全性和可靠性。

在其中一些实施例中,在向数据库防火墙发送阻断请求后,方法还包括:创建数据库敏感操作黑名单;将数据库操作加入黑名单。其中,黑名单是指通过阻断数据库敏感操作收集了大量敏感操作信息的微型数据库,其作用在于当相同的数据库敏感操作再次发送至数据库时,只需要将当前数据库操作与黑名单中记录的数据库操作进行对比,而不需要重新执行。在本实施例中,通过将数据库敏感操作加入黑名单,实现了对各种类型的数据库敏感操作的收集,为数据库安全维护人员提供了数据基础,同时节约了数据库的运行资源,避免重复执行相同的数据库敏感操作而浪费资源。

本申请首先通过获取数据库流量来得到针对数据库的操作,之后将数据库操作进行执行操作,并获得数据库操作的执行结果,通过对比执行结果与预设值之间的关系来判断当前数据库操作是否为数据库敏感操作,最后在判断当前数据库操作为数据库敏感操作的场景下对数据库敏感操作进行阻断,并将进行回滚操作。通过上述步骤,能够有效提高数据库敏感操作的识别准确率,减少因未执行而直接判断语句的识别错误率,解决了相关技术中数据库敏感操作阻断错误率高的问题。

图2是根据本申请优选实施例一的数据库敏感操作的阻断方法流程图。如图2所示,该数据库敏感操作的阻断方法包括如下步骤:

步骤s201,获取数据库的数据库流量。

步骤s202,解析数据库流量,获取数据库流量中的数据库操作。

步骤s203,将数据库操作组装为数据库事务。

在本实施例中,数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作将全部执行,或者全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。将数据库操作组装为数据库事务的作用在于能够保证执行数据库操作的完整性,避免因其他原因导致的执行不完整。

步骤s204,执行数据库事务。

步骤s205,获得执行结果。

步骤s206,判断数据行数是否大于预设值以及返回结果是否包括预设内容。

步骤s207,在数据行数大于预设值且返回结果包括预设内容的情况下,回滚数据库操作,并对数据库操作进行阻断。

通过上述步骤,能够有效提高数据库敏感操作的识别准确率,减少因未执行而直接判断语句的识别错误率,解决了相关技术中数据库敏感操作阻断错误率高的问题。

图3是根据本申请优选实施例二的数据库敏感操作的阻断方法流程图,如图3所示,该数据库敏感操作的阻断方法包括如下步骤:

步骤s301,获取数据库的数据库流量。

步骤s302,解析数据库流量,获取数据库流量中的数据库操作。

步骤s303,执行数据库操作,得到执行结果,其中,执行结果包括数据库操作对应的数据行数、数据库的返回结果。

步骤s304,判断数据行数是否大于预设值以及返回结果是否包括预设内容。

步骤s305,在数据行数大于预设值且返回结果包括预设内容的情况下,回滚数据库操作,并对数据库操作进行阻断。

步骤s306,若数据行数不大于预设值,或数据库返回结果不包括预设内容,则将数据库的返回结果发送给数据库操作的发起方。

在本实施例中,当确定当前数据库操作非敏感操作时,说明当前数据库操作对数据库安全性无负面影响,则将数据库的返回结果发送给数据库操作的发起方,保证数据库正常操作的运行。

通过上述步骤,能够有效提高数据库敏感操作的识别准确率,减少因未执行而直接判断语句的识别错误率,解决了相关技术中数据库敏感操作阻断错误率高的问题。

本实施例还提供了一种数据库敏感操作的阻断装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例还提供了一种数据库敏感操作的阻断装置,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以上述步骤说明中任一项数据库敏感操作的阻断方法。图4是根据本申请实施例的数据库敏感操作的阻断装置的结构图,如图4所示,该装置包括:

获取模块41,用于获取数据库流量。

解析模块42,耦合至获取模块41,用于解析数据库流量,获取数据库流量中的数据库操作。

执行模块43,耦合至解析模块42,用于执行数据库操作,得到执行结果。

判断模块44,耦合至执行模块43,用于判断数据行数是否大于预设值,和数据库返回结果是否包括预设内容。

回滚模块45,耦合至判断模块44,用于对执行结果进行回滚。

阻断模块46,耦合至回滚模块45,用于对数据库操作进行阻断。

在其中一个实施例中,该装置还包括:配置模块,用于为数据库配置镜像数据库,并从镜像数据库获取数据库流量;组装模块,用于将数据库操作组装为数据库事务;请求模块,用于向数据库防火墙发送阻断请求;黑名单模块,用于创建数据库敏感操作黑名单并将数据库操作加入黑名单。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,获取数据库的数据库流量。

s2,解析数据库流量,获取数据库流量中的数据库操作。

s3,执行数据库操作,得到执行结果,其中,执行结果包括数据库操作对应的数据行数、数据库的返回结果。

s4,判断数据行数是否大于预设值以及返回结果是否包括预设内容。

s5,在数据行数大于预设值且返回结果包括预设内容的情况下,回滚数据库操作,并对数据库操作进行阻断。

需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

本实施例还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行以上步骤中任一项数据库敏感操作的阻断方法。

另外,结合图1描述的本申请实施例数据库敏感操作的阻断方法可以由数据库敏感操作的阻断设备来实现。图5为根据本申请实施例的数据库敏感操作的阻断设备的硬件结构示意图。

数据库敏感操作的阻断设备可以包括处理器51以及存储有计算机程序指令的存储器52。

具体地,上述处理器51可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器52可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器52可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器52可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器52可在数据处理装置的内部或外部。在特定实施例中,存储器52是非易失性(non-volatile)存储器。在特定实施例中,存储器52包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。

存储器52可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器51所执行的可能的计算机程序指令。

处理器51通过读取并执行存储器52中存储的计算机程序指令,以实现上述实施例中的任意一种数据库敏感操作的阻断方法。

在其中一些实施例中,数据库敏感操作的阻断设备还可包括通信接口53和总线50。其中,如图5所示,处理器51、存储器52、通信接口53通过总线50连接并完成相互间的通信。

通信接口53用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口53还可以实现与其他部件例如:外接设备、图像/数据采集设备、外部存储以及图像/数据处理工作站等之间进行数据通信。

总线50包括硬件、软件或两者,将数据库敏感操作的阻断设备的部件彼此耦接在一起。总线50包括但不限于以下至少之一:数据总线(databus)、地址总线(addressbus)、控制总线(controlbus)、扩展总线(expansionbus)、局部总线(localbus)。举例来说而非限制,总线50可包括图形加速接口(acceleratedgraphicsport,简称为agp)或其他图形总线、增强工业标准架构(extendedindustrystandardarchitecture,简称为eisa)总线、前端总线(frontsidebus,简称为fsb)、超传输(hypertransport,简称为ht)互连、工业标准架构(industrystandardarchitecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(lowpincount,简称为lpc)总线、存储器总线、微信道架构(microchannelarchitecture,简称为mca)总线、外围组件互连(peripheralcomponentinterconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serialadvancedtechnologyattachment,简称为sata)总线、视频电子标准协会局部(videoelectronicsstandardsassociationlocalbus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线50可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

该数据库敏感操作的阻断设备可以基于获取到的数据信息,执行本申请实施例中的数据库敏感操作的阻断方法,从而实现结合图1描述的一种数据库敏感操作的阻断方法。

另外,结合上述实施例中的数据库敏感操作的阻断方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据库敏感操作的阻断方法。

综上,通过本申请提供的上述实施例或者优选实施方式,有如下有益效果:

1.本申请通过执行结果与执行操作关联后确认敏感或误操作,具有较高的准确率。

2.本申请通过事务执行数据库操作,可进行事务回滚,因此数据不会被误删或泄漏,具有较高的安全性。

3.本申请采用执行数据库操作的方式获得执行结果,为判断当前数据库操作是否属于数据库敏感操作提供判断基础,相比于直接根据语句来判断敏感操作,根据语句执行结果判断敏感操作能够有效提高判断的准确率。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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