CN111767573A - 数据库安全管理方法、装置、电子设备及可读存储介质 - Google Patents
数据库安全管理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111767573A CN111767573A CN202010601145.2A CN202010601145A CN111767573A CN 111767573 A CN111767573 A CN 111767573A CN 202010601145 A CN202010601145 A CN 202010601145A CN 111767573 A CN111767573 A CN 111767573A
- Authority
- CN
- China
- Prior art keywords
- database
- sensitive
- access
- information
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Abstract
本申请提供一种数据库安全管理方法、装置、电子设备及可读存储介质,涉及数据安全技术领域。该方法包括:接收对数据库进行访问操作的访问流量;对访问流量进行解析,获取访问流量中的数据库操作语句以及访问用户信息;对数据库操作语句进行SQL词法分析和SQL语法分析,获得数据库操作语句中所涉及的数据库参数信息;将数据库参数信息以及访问用户信息进行敏感信息匹配,获得匹配结果;根据匹配结果判断访问操作是否为敏感操作。本方案通过SQL词法分析和SQL语法分析能更加快速、准确地分析出语句中的参数信息,使得敏感信息的匹配也更加准确,从而可对用户的操作进行准确识别,以阻止一些违规操作,避免了数据库隐私数据的泄漏。
Description
技术领域
本申请涉及数据安全技术领域,具体而言,涉及一种数据库安全管理方法、装置、电子设备及可读存储介质。
背景技术
随着互联网的高速发展和普及,互联网应用在人们的日常生活中扮演着越来越重要的角色,数据库的应用随之变的越来越频繁。
随着数据库用户的不断增加,数据库安全问题变的越来越重要,数据放到大数据平台之后,而数据中可能包含了机密和隐私等数据,若用户可以直接对这些数据进行任意操作的话,则可能导致机密和隐私数据的泄漏。
发明内容
本申请实施例的目的在于提供一种数据库安全管理方法、装置、电子设备及可读存储介质,用以改善现有技术中数据库安全性不高的问题。
第一方面,本申请实施例提供了一种数据库安全管理方法,所述方法包括:接收对数据库进行访问操作的访问流量;对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;根据所述匹配结果判断所述访问操作是否为敏感操作。
在上述实现过程中,通过获取访问流量中的数据库操作语句以及访问用户信息,然后利用SQL词法分析和SQL语法分析对数据库操作语句进行分析,然后对获得的信息进行敏感信息匹配,由于通过SQL词法分析和SQL语法分析能更加快速、准确地分析出语句中的参数信息,所以,使得敏感信息的匹配也更加准确,从而可以准确识别出访问操作是否为敏感操作,进而本申请中可对用户的操作进行准确识别,以阻止一些违规操作,避免了数据库隐私数据的泄漏的问题,提高了数据库的安全性。
可选地,所述数据库参数信息包括数据库实例、数据库表以及数据库字段。
可选地,所述将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果,包括:
将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果;
其中,所述敏感记录表示对应数据库实例、数据库表、数据库字段以及所述访问用户信息所涉及的敏感内容。
在上述实现过程中,通过将数据库参数信息以及访问用户信息与每个敏感记录进行匹配,从而可以准确对数据库参数信息以及访问用户信息中的敏感信息进行识别。
可选地,每个敏感记录设置有对应的敏感匹配规则,所述将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果,包括:
将所述数据库参数信息以及所述访问用户信息,通过预先配置的敏感信息表中的每个敏感记录对应的敏感匹配规则进行匹配,获得匹配结果。
在上述实现过程中,通过按照对应的敏感匹配规则进行敏感信息的匹配,从而可根据实际需求配置对应的敏感匹配规则,实现对敏感信息的准确匹配。
可选地,所述根据所述匹配结果判断所述访问操作是否为敏感操作,包括:
当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录匹配时,确定所述访问操作为敏感操作;
当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录不匹配时,确定所述访问操作为非敏感操作。
可选地,所述根据所述匹配结果判断所述访问操作是否为敏感操作之后,还包括:
在确定所述访问操作为敏感操作时,生成告警日志,并阻断所述访问操作。
在上述实现过程中,通过生成告警日志以及阻断访问操作,从而可及时采取相应措施防止用户对数据库的操作,避免了数据库隐私数据的泄漏,提高了数据库的安全性。
可选地,所述访问用户信息包括IP地址和端口号,所述告警日志中包括所述IP地址和所述端口号,以使得管理员可以通过IP地址和端口号对执行访问操作的用户进行溯源。
第二方面,本申请实施例提供了一种数据库安全管理装置,所述装置包括:
访问流量获取模块,用于接收对数据库进行访问操作的访问流量;
流量解析模块,用于对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;
语句解析模块,用于对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;
信息匹配模块,用于将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;
判断模块,用于根据所述匹配结果判断所述访问操作是否为敏感操作。
可选地,所述数据库参数信息包括数据库实例、数据库表以及数据库字段。
可选地,所述信息匹配模块,用于将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果;
其中,所述敏感记录表示对应数据库实例、数据库表、数据库字段以及所述访问用户信息所涉及的敏感内容。
可选地,每个敏感记录设置有对应的敏感匹配规则,所述信息匹配模块,用于将所述数据库参数信息以及所述访问用户信息,通过预先配置的敏感信息表中的每个敏感记录对应的敏感匹配规则进行匹配,获得匹配结果。
可选地,所述判断模块,用于当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录匹配时,确定所述访问操作为敏感操作;当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录不匹配时,确定所述访问操作为非敏感操作。
可选地,所述装置还包括:
操作处理模块,用于在确定所述访问操作为敏感操作时,生成告警日志,并阻断所述访问操作。
可选地,所述访问用户信息包括IP地址和端口号,所述告警日志中包括所述IP地址和所述端口号。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种用于执行数据库安全管理方法的电子设备的结构示意图;
图2为本申请实施例提供的一种数据库安全管理方法的流程图;
图3为本申请实施例提供的一种数据库安全管理装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种数据库安全管理方法,该方法通过获取访问流量中的数据库操作语句以及访问用户信息,然后利用SQL词法分析和SQL语法分析对数据库操作语句进行分析,然后利用分析获得的信息进行敏感信息匹配,由于通过SQL词法分析和SQL语法分析能更加快速、准确地分析出语句中的参数信息,所以,使得敏感信息的匹配也更加准确,从而可以准确识别出访问操作是否为敏感操作,进而本申请中可对用户的操作进行准确识别,以阻止一些违规操作,避免了数据库的机密和隐私数据的泄漏的问题,提高了数据库的安全性。
请参照图1,图1为本申请实施例提供的一种用于执行数据库安全管理方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行下述图2所示方法过程,例如,存储器130可用于存储从访问流量中获取的数据库操作语句以及访问用户信息,以及分析获得的数据库参数信息,处理器110在进行敏感信息匹配时,可从存储器130中获取对应的信息进行匹配,从而可识别对数据库的访问操作是否是敏感操作,以确保数据库的安全。
可以理解,图1所示的结构仅为示意,所述电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2为本申请实施例提供的一种数据库安全管理方法的流程图,该方法包括如下步骤:
步骤S110:接收对数据库进行访问操作的访问流量。
为了确保数据库的安全,可以针对需要进行安全防护的数据库通过本申请提供的方法进行安全管理。所以,数据库可以是指某一需要进行安全防护的数据库,或者在服务器中存在多个数据库时,若需要对这多个数据库均进行安全防护,其可以是指其中的任意一个数据库,对于每个数据库均可采用本申请提供的方法进行安全管理,可以理解地,本申请实施例中是以其中一个数据库为例进行描述的。
在确定需要进行安全防护的数据库后,可以通过在电子设备中安装一监听程序,通过监听程序连接该数据库,然后针对访问该数据库的访问流量通过流量镜像到统一的端口,则电子设备可通过该端口接收对该数据库的访问流量即可。
其中,由于对某一数据库进行访问操作时,其对应的访问流量中携带有关于该数据库的相关标识信息,所以,可以基于该数据库的相关标识信息来识别哪些访问流量是针对该数据库的访问流量,从而可将针对该数据库的访问流量通过流量镜像到某一端口,进而获取该端口的访问流量。
步骤S120:对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息。
可以理解地,由于对数据库的操作可能涉及到数据库实例、数据库表、字段等信息的操作,而为了实现对某些字段或某些数据库表的安全防护,所以,可以预先将这些字段或数据库表的某些操作标识为敏感操作,这样可对访问流量中是否包含有这类操作进行识别。而为了便于识别这些操作,还需要从访问流量中提取数据库操作语句,一般访问流量中包含有SQL语句的文本,所以,可以从SQL语句文本中提取出数据库操作语句。数据库操作语句具有一定的数据结构,例如,对于创建数据库的操作,其对应的数据库操作语句示例为“CREATE DATABASE database-name”,对于删除数据库中的某一数据库表的操作,其对应的数据库操作语句示例为“drop table tabname”,也就是说,数据库操作语句中可以包括对应的数据库表、数据库字段、数据库实例等,数据库操作语句用于对这些信息进行操作,包括但不限于增加、删除、查找、更新等操作。所以,通过该方式,可从访问流量中提取出对数据库进行相关操作的数据库操作语句。
另外,为了进一步实现对数据库的安全管理,便于规范数据库操作权限,针对某些数据库操作,其还可以限制某些用户的访问,这样还需从访问流量中获取访问用户信息,然后识别访问用户信息中是否有敏感信息。其中,访问流量中一般还携带有访问用户信息,如用户的互联网协议(Internet Protocol,IP)地址、端口号、用户名等信息,所以,可以从访问流量中提取这些访问用户信息。
步骤S130:对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息。
其中,SQL词法分析是指SQL词法分析器,其是在文件scan.l里定义,负责识别标识符、SQL关键字等,对于发现的每个关键字或者标识符都会生成一个记号并且传递给分析器。SQL语法分析是指SQL语法分析器,其是在文件gram.y里定义,包含一套语法规则和触发规则时执行的动作。
数据库参数信息可以包括数据库实例、数据库表以及数据库字段等,或者若是只对某个数据库实例进行的操作,其可以只包含有数据库实例,或者还可以包括一些其他信息,如操作类型,操作类型可以理解为具体的操作,如更新、查找、删除等操作。而一般对数据库的操作均会涉及到数据库字段,所以数据库操作语句中一般包含有数据库实例、数据库表以及数据库字段等信息,所以,可以通过SQL语法分析器和SQL词法分析器从数据库操作语句中提取出数据库参数信息。
例如,针对某个数据库操作语句为“SELECT数据库字段xx FROM数据库表xx”,通过上述方式可识别出其数据库参数信息包括操作类型“SELECT”、数据库字段“xx”和数据库表“xx”。
所以,通过SQL词法分析和SQL语法分析对数据库操作语句进行识别,可准确识别出数据库操作语句中的数据库参数信息。
下面以一个具体的例子说明通过SQL词法分析和SQL语法分析对数据库语句进行识别相比于通过正则表达式进行识别的速度更高,匹配性能更高。
以目前已有测试环境测试为例:
1.以7层嵌套SQL语句为测试模型测试10000次,用SQL词法、语法分析出全部SQL操作类型、数据库实例、数据库表名等信息平均耗时84微秒;用正则表达式方式分析两层嵌套信息平均耗时92微秒。
2.以常用SQL语句为测试模型,模拟1000000条事件测试。SQL词法、语法分析方式平均每秒可以分析50163条事件;正则表达式方式平均每秒可以分析34738条事件。
由上述实验数据可知,通过SQL词法、语法分析对数据库操作语句进行识别的速度更快,从而可大大加快了设备执行本申请提供的方法的执行速度。
步骤S140:将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果。
在上述获得数据库参数信息以及访问用户信息后,可分别将这两个信息进行敏感信息匹配,获得对应的匹配结果。
其中,敏感信息可以是指设定的相关信息,如用户可以预先针对数据库设置相关的敏感信息,如包括对某个数据库表的删除操作为敏感信息,或者某个IP地址为敏感信息,则在数据库参数信息或访问用户信息中包含这些敏感信息时,表示用户的访问操作可能为非法操作,若不对这些访问操作进行识别,然后在访问操作为敏感操作时采取相应的措施进行处理,则可能会造成数据库中隐私数据泄漏的风险。所以,为了确保数据库的安全,还需要识别数据库参数信息和访问用户信息中是否包含敏感信息。
例如,针对数据库参数信息可设置对应的预设敏感信息,如某个数据库字段xx为预设敏感信息,对访问用户信息可设置对应的预设敏感信息,如某个IP地址为预设敏感信息,在进行敏感信息匹配时,可查找数据库参数信息中是否包含有某个数据库字段xx,以及访问用户信息中是否包含有某个IP地址,然后获得的匹配结果可以包括:数据库参数信息中没有包含预设敏感信息以及访问用户信息中没有包含预设敏感信息、数据库参数信息中有包含预设敏感信息以及访问用户信息中没有包含预设敏感信息、数据库参数信息中没有包含预设敏感信息以及访问用户信息中有包含预设敏感信息、数据库参数信息中有包含预设敏感信息以及访问用户信息中有包含预设敏感信息等。
步骤S150:根据所述匹配结果判断所述访问操作是否为敏感操作。
在上述步骤获得匹配结果后,可基于匹配结果判断访问操作是否为敏感操作,如在匹配结果为数据库参数信息中有包含预设敏感信息和/或访问用户信息中有包含预设敏感信息时,则可确定访问操作为敏感操作,表示用户对数据库的访问操作中包含敏感信息,而对于匹配结果为数据库参数信息中没有包含预设敏感信息以及访问用户信息也没有包含预设敏感信息时,确定访问操作为非敏感操作。
在上述实现过程中,通过获取访问流量中的数据库操作语句以及访问用户信息,然后利用SQL词法分析和SQL语法分析对数据库操作语句进行分析,然后对获得的信息进行敏感信息匹配,由于通过SQL词法分析和SQL语法分析能更加快速、准确地分析出语句中的参数信息,所以,使得敏感信息的匹配也更加准确,从而可以准确识别出访问操作是否为敏感操作,进而本申请中可对用户的操作进行准确识别,以阻止一些违规操作,避免了数据库的机密和隐私数据的泄漏的问题,提高了数据库的安全性。
作为一种实施方式,为了便于进行敏感信息的匹配,还可以预先配置一个敏感信息表,该敏感信息表中可包括有敏感记录,则在将数据库参数信息以及访问用户信息进行敏感信息匹配时,还可以将数据库参数信息以及访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果。
可以理解地,预先配置的敏感信息表可以包括一个或多个敏感记录,敏感记录可以理解为是表示对应数据库实例、数据库表、数据库字段以及访问用户信息所涉及的敏感内容。如上述举例的敏感信息,以数据库实例:KINGTEST,数据库表:kbs_student,目的IP:192.168.18.193,目的端口:54321为例,配置如下一个敏感记录:(e.s_db_name=="KINGTEST")、(e.s_db_table_name_1=="kbs_student")、(e.i_dstport=54321)、(e.i_dstip=192.168.18.193)。对于其他的敏感记录,也可按照该方式进行配置,然后将多个敏感记录以敏感信息表的方式进行存储。
在获得数据库参数信息和访问用户信息后,可以将数据库参数信息和访问用户信息与上述敏感信息表中的每个敏感记录进行匹配,从而获得对应的匹配结果。以上述举例的敏感记录为例,上述的敏感记录中的数据库实例:KINGTEST、数据库表:kbs_student、目的IP:192.168.18.193、目的端口:54321,将这四个信息作为敏感信息,若在获得的数据库参数信息中包括数据库实例:KINGTEST以及数据库表:kbs_student,以及访问用户信息中包括目的IP:192.168.18.193以及目的端口:54321时,则表示数据库参数信息以及访问用户信息匹配到该条敏感记录,也即数据库参数信息以及访问用户信息中存在敏感信息。
另外需要说明的是,上述敏感记录可以是针对每个数据库表或每个数据库实例配置的,在敏感记录为针对每个数据库表配置时,表示该数据库表包含的所有字段均为敏感信息,在敏感记录为针对每个数据库实例配置时,则表示该数据库实例包含的所有数据库表均为敏感信息,或者敏感记录还可以更细粒度,如针对每个数据库字段配置时,则表示该数据库字段下所有的字段记录均为敏感信息。
所以,若想实现更细粒度的匹配,每个敏感记录可以是针对数据库字段配置,即上述举例的敏感记录中还应该增加数据库字段,这样针对每个敏感记录,其均包括数据库字段、数据库表、数据库实例、IP地址、端口号这五个信息。若对于某个数据库表,其下所有的数据库字段均为敏感信息时,其对应的敏感记录可以为:(数据库实例xx)、(数据库表xx)、(数据库字段all)、(IP地址xx)、(端口号xx)。这样,可以从数据库参数信息以及访问用户信息提取出这五个信息,然后分别将这五个信息与每个敏感记录进行匹配。
需要说明的是,敏感记录还可以增加其他敏感内容,如数据库参数信息中的操作类型,这样可通过将数据库参数信息与敏感记录的匹配,发现哪些操作类型是敏感操作,从而可进一步达到更细粒度的匹配。
在上述实现过程中,通过将数据库参数信息以及访问用户信息与每个敏感记录进行匹配,从而可以准确对数据库参数信息以及访问用户信息中的敏感信息进行识别。
作为一种实施方式,为了实现更准确的匹配,上述的每个敏感记录还可以设置有对应的敏感匹配规则,则在将数据库参数信息以及访问用户信息进行敏感信息匹配时,可以将数据库参数信息以及访问用户信息,通过预先配置的敏感信息表中的每个敏感记录对应的敏感匹配规则进行匹配,获得匹配结果。
其中,敏感匹配规则可以理解为是指将上述敏感记录中的各个信息通过逻辑关系进行组合,形成的逻辑组合即为敏感匹配规则,其中逻辑关系是指or和and等。如上述举例的敏感记录,其配置的敏感匹配规则可以为:(e.s_db_name=="KINGTEST")and(e.s_db_table_name_1=="kbs_student")and(e.i_dstport=54321)and(e.i_dstip=192.168.18.193)。
在为每个敏感记录配置对应的敏感匹配规则后,在进行敏感信息匹配时,可以按照敏感匹配规则进行匹配,这样即可实现对敏感信息的正确匹配。
在上述实现过程中,通过按照对应的敏感匹配规则进行敏感信息的匹配,从而可根据实际需求配置对应的敏感匹配规则,实现对敏感信息的准确匹配。
作为一种实施方式,在上述进行敏感信息匹配后,获得对应的匹配结果,当匹配结果为数据库参数信息以及访问用户信息与对应的敏感记录匹配时,确定访问操作为敏感操作;当匹配结果为数据产生信息以及访问用户信息与对应的敏感记录不匹配时,确定访问操作为非敏感操作。
可以理解地,按照上述举例的匹配方法将数据库参数信息与访问用户信息匹配到敏感信息表中的某一个敏感记录时,表示数据库参数信息与访问用户信息中包含敏感信息,其访问操作为敏感操作。若数据库参数信息与访问用户信息没有匹配到敏感信息表中的任意一个敏感记录时,则表示数据库参数信息与访问用户信息中没有包含敏感信息,其访问操作为非敏感操作。所以,按照该方式即可实现对访问操作的识别。
作为一种实施方式,为了实现对数据库的安全防护,在上述确定访问操作为敏感操作时,可以生成告警日志,并阻断该访问操作。
具体地,电子设备可自动生成一条告警日志,并可以将告警日志进行显示,或者将告警日志输出至管理员终端,以使管理员能及时发现对用户对数据库的违规操作,进而可采取相应的措施对访问操作进行处理等,以确保数据库的安全。当然,为了避免管理员没有及时对访问操作进行处理,而使得用户可以继续对数据库进行访问操作而造成数据库的隐私数据泄漏的风险,电子设备还可以自动阻断该访问操作,例如,电子设备可生成一个reset包,通过该reset包来阻断访问操作,从而可阻断用户对数据库的继续访问,以避免数据库的隐私数据泄漏的风险。
另外,上述的访问用户信息可以包括IP地址和端口号,则在上述生成告警日志时,还可以从访问用户信息中获取IP地址和端口号,然后在生成的告警日志中包括该IP地址和端口号。其中,告警日志的形式可以为“IP地址:**,端口号:**,用户名:**,SQL数据库操作语句:**,时间:**,告警内容:操作了***,存在隐私数据泄漏风险请及时处理”,这样可便于对访问用户进行溯源,若该用户是攻击者,则可通过IP地址和端口号找到数据库的攻击源,进而可进一步采取相关的措施对该用户进行阻断等。
在上述实现过程中,通过生成告警日志以及阻断访问操作,从而可及时采取相应措施防止用户对数据库的操作,避免了数据库隐私数据的泄漏,提高了数据库的安全性。
请参照图3,图3为本申请实施例提供的一种数据库安全管理装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
访问流量获取模块210,用于接收对数据库进行访问操作的访问流量;
流量解析模块220,用于对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;
语句解析模块230,用于对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;
信息匹配模块240,用于将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;
判断模块250,用于根据所述匹配结果判断所述访问操作是否为敏感操作。
可选地,所述数据库参数信息包括数据库实例、数据库表以及数据库字段。
可选地,所述信息匹配模块240,用于将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果;
其中,所述敏感记录表示对应数据库实例、数据库表、数据库字段以及所述访问用户信息所涉及的敏感内容。
可选地,每个敏感记录设置有对应的敏感匹配规则,所述信息匹配模块240,用于将所述数据库参数信息以及所述访问用户信息,通过预先配置的敏感信息表中的每个敏感记录对应的敏感匹配规则进行匹配,获得匹配结果。
可选地,所述判断模块250,用于当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录匹配时,确定所述访问操作为敏感操作;当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录不匹配时,确定所述访问操作为非敏感操作。
可选地,所述装置200还包括:
操作处理模块,用于在确定所述访问操作为敏感操作时,生成告警日志,并阻断所述访问操作。
可选地,所述访问用户信息包括IP地址和端口号,所述告警日志中包括所述IP地址和所述端口号。
本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:接收对数据库进行访问操作的访问流量;对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;根据所述匹配结果判断所述访问操作是否为敏感操作。
综上所述,本申请实施例提供一种数据库安全管理方法、装置、电子设备及可读存储介质,通过获取访问流量中的数据库操作语句以及访问用户信息,然后利用SQL词法分析和SQL语法分析对数据库操作语句进行分析,然后对获得的信息进行敏感信息匹配,由于通过SQL词法分析和SQL语法分析能更加快速、准确地分析出语句中的参数信息,所以,使得敏感信息的匹配也更加准确,从而可以准确识别出访问操作是否为敏感操作,进而本申请中可对用户的操作进行准确识别,以阻止一些违规操作,避免了数据库隐私数据的泄漏的问题,提高了数据库的安全性。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据库安全管理方法,其特征在于,所述方法包括:
接收对数据库进行访问操作的访问流量;
对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;
对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;
将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;
根据所述匹配结果判断所述访问操作是否为敏感操作。
2.根据权利要求1所述的方法,其特征在于,所述数据库参数信息包括数据库实例、数据库表以及数据库字段。
3.根据权利要求2所述的方法,其特征在于,所述将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果,包括:
将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果;
其中,所述敏感记录表示对应数据库实例、数据库表、数据库字段以及所述访问用户信息所涉及的敏感内容。
4.根据权利要求3所述的方法,其特征在于,每个敏感记录设置有对应的敏感匹配规则,所述将所述数据库参数信息以及所述访问用户信息,与预先配置的敏感信息表中的每个敏感记录进行匹配,获得匹配结果,包括:
将所述数据库参数信息以及所述访问用户信息,通过预先配置的敏感信息表中的每个敏感记录对应的敏感匹配规则进行匹配,获得匹配结果。
5.根据权利要求3所述的方法,其特征在于,所述根据所述匹配结果判断所述访问操作是否为敏感操作,包括:
当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录匹配时,确定所述访问操作为敏感操作;
当所述匹配结果为所述数据库参数信息以及所述访问用户信息与对应的敏感记录不匹配时,确定所述访问操作为非敏感操作。
6.根据权利要求5所述的方法,其特征在于,所述根据所述匹配结果判断所述访问操作是否为敏感操作之后,还包括:
在确定所述访问操作为敏感操作时,生成告警日志,并阻断所述访问操作。
7.根据权利要求6所述的方法,其特征在于,所述访问用户信息包括IP地址和端口号,所述告警日志中包括所述IP地址和所述端口号。
8.一种数据库安全管理装置,其特征在于,所述装置包括:
访问流量获取模块,用于接收对数据库进行访问操作的访问流量;
流量解析模块,用于对所述访问流量进行解析,获取所述访问流量中的数据库操作语句以及访问用户信息;
语句解析模块,用于对所述数据库操作语句进行SQL词法分析和SQL语法分析,获得所述数据库操作语句中所涉及的数据库参数信息;
信息匹配模块,用于将所述数据库参数信息以及所述访问用户信息进行敏感信息匹配,获得匹配结果;
判断模块,用于根据所述匹配结果判断所述访问操作是否为敏感操作。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-7任一所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601145.2A CN111767573A (zh) | 2020-06-28 | 2020-06-28 | 数据库安全管理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601145.2A CN111767573A (zh) | 2020-06-28 | 2020-06-28 | 数据库安全管理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767573A true CN111767573A (zh) | 2020-10-13 |
Family
ID=72722395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010601145.2A Pending CN111767573A (zh) | 2020-06-28 | 2020-06-28 | 数据库安全管理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767573A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416895A (zh) * | 2020-11-16 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | 数据库信息处理方法、装置、可读存储介质及电子设备 |
CN112597532A (zh) * | 2020-12-04 | 2021-04-02 | 光大科技有限公司 | 敏感数据访问的监控方法及装置 |
CN112965979A (zh) * | 2021-03-10 | 2021-06-15 | 中国民航信息网络股份有限公司 | 一种用户行为分析方法、装置及电子设备 |
CN113704306A (zh) * | 2021-08-31 | 2021-11-26 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN113704825A (zh) * | 2021-09-08 | 2021-11-26 | 上海观安信息技术股份有限公司 | 一种数据库审计方法、装置、系统及计算机存储介质 |
WO2022143145A1 (zh) * | 2021-01-04 | 2022-07-07 | 北京沃东天骏信息技术有限公司 | 越权漏洞检测方法和装置 |
CN112965979B (zh) * | 2021-03-10 | 2024-05-03 | 中国民航信息网络股份有限公司 | 一种用户行为分析方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008349A (zh) * | 2014-04-28 | 2014-08-27 | 国家电网公司 | 数据库安全访问控制方法和系统 |
CN109829327A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 敏感信息处理方法、装置、电子设备及存储介质 |
CN109977689A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团广东有限公司 | 一种数据库安全审计方法、装置及电子设备 |
-
2020
- 2020-06-28 CN CN202010601145.2A patent/CN111767573A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008349A (zh) * | 2014-04-28 | 2014-08-27 | 国家电网公司 | 数据库安全访问控制方法和系统 |
CN109977689A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团广东有限公司 | 一种数据库安全审计方法、装置及电子设备 |
CN109829327A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 敏感信息处理方法、装置、电子设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416895A (zh) * | 2020-11-16 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | 数据库信息处理方法、装置、可读存储介质及电子设备 |
CN112597532A (zh) * | 2020-12-04 | 2021-04-02 | 光大科技有限公司 | 敏感数据访问的监控方法及装置 |
WO2022143145A1 (zh) * | 2021-01-04 | 2022-07-07 | 北京沃东天骏信息技术有限公司 | 越权漏洞检测方法和装置 |
CN112965979A (zh) * | 2021-03-10 | 2021-06-15 | 中国民航信息网络股份有限公司 | 一种用户行为分析方法、装置及电子设备 |
CN112965979B (zh) * | 2021-03-10 | 2024-05-03 | 中国民航信息网络股份有限公司 | 一种用户行为分析方法、装置及电子设备 |
CN113704306A (zh) * | 2021-08-31 | 2021-11-26 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN113704306B (zh) * | 2021-08-31 | 2024-01-30 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
CN113704825A (zh) * | 2021-09-08 | 2021-11-26 | 上海观安信息技术股份有限公司 | 一种数据库审计方法、装置、系统及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767573A (zh) | 数据库安全管理方法、装置、电子设备及可读存储介质 | |
US9223987B2 (en) | Confidential information identifying method, information processing apparatus, and program | |
EP2244418A1 (en) | Database security monitoring method, device and system | |
CN107273267A (zh) | 基于elastic组件的日志分析方法 | |
JP2013137740A (ja) | 機密情報識別方法、情報処理装置、およびプログラム | |
US10171487B2 (en) | Generating a virtual database to test data security of a real database | |
CN112351024B (zh) | 一种公网通信安全监测系统及方法 | |
US20150213272A1 (en) | Conjoint vulnerability identifiers | |
US8327324B1 (en) | Message logging system | |
CN115150261B (zh) | 告警分析的方法、装置、电子设备及存储介质 | |
CN114385763A (zh) | 数据血缘分析方法、装置、系统及可读存储介质 | |
KR100817562B1 (ko) | 대용량 로그파일의 인덱싱 방법, 이를 내장한 컴퓨터가판독 가능한 기록매체 및 이를 수행하기 위한 인덱싱시스템 | |
CN111767574A (zh) | 用户权限确定方法、装置、电子设备及可读存储介质 | |
CN113190839A (zh) | 一种基于SQL注入的web攻击防护方法及系统 | |
CN112307052A (zh) | 一种数据管理方法、服务系统、终端及存储介质 | |
CN110830500B (zh) | 网络攻击追踪方法、装置、电子设备及可读存储介质 | |
CN114036526A (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
CN111552792A (zh) | 一种信息查询方法、装置、电子设备及存储介质 | |
CN114969450B (zh) | 一种用户行为分析方法、装置、设备及存储介质 | |
CN116248393A (zh) | 一种内网数据传输漏洞扫描装置及系统 | |
CN112769739A (zh) | 数据库操作违规处理方法、装置及设备 | |
CN107358098A (zh) | 基于插件的结构化查询语言sql注入检测方法和装置 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN115001724B (zh) | 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质 | |
CN113297622A (zh) | 一种日志脱敏方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |