CN113704825B - 一种数据库审计方法、装置、系统及计算机存储介质 - Google Patents
一种数据库审计方法、装置、系统及计算机存储介质 Download PDFInfo
- Publication number
- CN113704825B CN113704825B CN202111046245.4A CN202111046245A CN113704825B CN 113704825 B CN113704825 B CN 113704825B CN 202111046245 A CN202111046245 A CN 202111046245A CN 113704825 B CN113704825 B CN 113704825B
- Authority
- CN
- China
- Prior art keywords
- database
- access data
- data
- sensitive
- database access
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000002372 labelling Methods 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000012550 audit Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 101150030531 POP3 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据库审计方法、装置、系统及计算机存储介质。其中,该方法包括:获取所有访问数据;将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。通过本发明,解决了现有技术中对数据库访问数据内容做全扫描、人工配置数据库信息、人工配置策略规则造成的效率低、浪费时间的问题。
Description
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种数据库审计方法、装置、系统及计算机存储介质。
背景技术
敏感数据是指泄漏后可能会给社会或个人带来严重危害的数据。包括个人隐私数据,如姓名、身份证号码、住址、电话、银行账号、邮箱、密码、医疗信息等;数据库审计是指模拟攻击者对业务系统进行安全性测试,提前发现漏洞,防止个人隐私数据泄露、资产受损、数据被篡改等风险。
现有技术中,数据库审计多是通过配置审计数据库信息、策略规则,对访问数据内容做全扫描并进行匹配,最后得出匹配的风险内容,该过程需要人工配置数据库信息、人工配置策略规则,并且没有充分利用数据库表的特点,效率低、浪费时间。
针对现有技术中对数据库访问数据内容做全扫描、人工配置数据库信息、人工配置策略规则造成的效率低、浪费时间的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例中提供一种数据库审计方法、装置、系统及计算机存储介质,以解决现有技术中对数据库访问数据内容做全扫描、人工配置数据库信息、人工配置策略规则造成的效率低、浪费时间的问题。
为达到上述目的,一方面,本发明提供了一种数据库审计方法,其中,该方法包括:获取所有访问数据;将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
可选的,所述访问数据包括:IP地址和端口;所述通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别之后,包括:将所有的所述数据库数据类别存储整合,得到数据库信息表; 根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别。
可选的,所述通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别包括:将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,直至解析成功率超过第二预设阈值时,则认为匹配上了该类流量解析器,得到对应的数据库访问数据以及该类流量解析器相对应的数据库数据类别。
可选的,所述对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签包括:根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句、结果集、所述sql语句访问的数据库、表名和字段名;根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
可选的,所述敏感表目录的获取包括:实时监听所述消息队列,获取所述虚拟表;根据预设敏感数据规则和算法判断所述虚拟表的字段是否为敏感表字段,若是,根据所述敏感表字段建立敏感表目录;将所述敏感表目录发送至所述消息队列。
另一方面,本发明提供了一种数据库审计装置,所述装置包括:获取单元,用于获取所有访问数据;其中,所述访问数据包括:IP地址和端口;第一识别单元,用于将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;判断单元,用于对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
可选的,所述装置还包括:整合单元,用于将所有的所述数据库数据类别存储整合,得到数据库信息表; 第二识别单元,用于根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别。
可选的,所述判断单元包括:解析子单元,用于根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句、结果集、所述sql语句访问的数据库、表名和字段名;还原子单元,用于根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;判断子单元,用于将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
另一方面,本发明还提供了一种数据库审计系统,包括上述的数据库审计装置。
另一方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的数据库审计方法。
本发明的有益效果:
本发明提供了一种数据库审计方法,该方法中,通过对获取的所有访问数据进行特征匹配,以及将未匹配成功的所述访问数据通过流量解析器进行遍历,可自动识别出数据库访问数据;并且本申请中,根据敏感表目录判断虚拟表或虚拟表的字段是否为敏感表字段,进而判断对应的数据库访问数据是否为敏感数据,无需对访问数据内容做全扫描,大大提升了敏感数据发现的效率,节省了时间。
附图说明
图1是本发明实施例提供的一种数据库审计方法的流程图;
图2是本发明实施例提供的在识别出数据库访问数据以及相对应的数据库数据类别之后的流程图;
图3是本发明实施例提供的判断所述数据库访问数据是否为敏感数据的流程图;
图4是本发明实施例提供的一种数据库审计装置的结构示意图;
图5是本发明实施例提供的判断单元的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,数据库审计多是配置审计数据库信息,配置策略规则,对访问数据内容做全扫描并进行匹配,最后得出匹配的风险内容,该过程需要人工配置数据库信息、人工配置策略规则,并且没有充分利用数据库表的特点,效率低、浪费时间。
因而,本发明提供了一种数据库审计方法,图1是本发明实施例提供的一种数据库审计方法的流程图,如图1所示,该方法包括:
S101.获取所有访问数据;
在一个可选的实施方式中,获取所有的访问数据,例如:http、ftp、smp、pop3、数据库访问数据。
S102.将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;
在一个可选的实施方式中,将所有的访问数据的特征值与预设特征值进行匹配,例如:一个访问数据符合数据库访问数据的预设种类的特征值,我们认为该访问数据是数据库访问数据的概率为80%(即第一预设阈值),将所有的访问数据分别与上述数据库访问数据的预设种类的特征值进行匹配,若匹配成功,则认为匹配得分达到或超过所述第一预设阈值,就认为该访问数据为数据库访问数据并且能够得到相对应的数据库类别,反之,若匹配得分低于所述第一预设阈值,则再将该访问数据通过流量解析器进行遍历,识别出是否是数据库访问数据,若是,识别出相对应的数据库类别。
例如:postgresql数据库访问数据,其application_name、is_superuser为其特征值,当一个访问数据符合postgresql数据库访问数据的这两个特征值时,就认为该访问数据是postgresql数据库访问数据的概率为80%。
S105.对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
在一个可选的实施方式中,对上述得到的数据库访问数据进行解析,将解析后的所述数据库访问数据与获取的敏感数据发现系统中的敏感表目录进行对比,判断该数据库访问数据是否为敏感目录,若是,就为所述数据库访问数据打上敏感标签。反之,对所述数据库访问数据不打敏感标签,并判断该数据库访问数据是否超过样本检测数量,若没有超过,将该数据库访问数据作为样本发送给敏感数据发现系统。具体的,例如,敏感数据发现系统需要100条id的数据作为样本进行检测是否是敏感数据。如果目前已经送出去了100条id的数据,那么就不需要再将101条id的数据作为样本送出给敏感数据发现系统。反之,若没有超过,继续将其作为样本送出给敏感数据发现系统。
本发明中,通过对获取的所有访问数据进行特征匹配,以及将未匹配成功的所述访问数据通过流量解析器进行遍历,可自动识别出数据库访问数据,在保证效率的同时,实现了自动部署,无需人工配置。
在一个可选的实施方式中,图2是本发明实施例提供的在识别出数据库访问数据以及相对应的数据库数据类别之后的流程图,如图2所示,所述访问数据包括:IP地址和端口;
所述S102之后,包括:
S103.将所有的所述数据库数据类别存储整合,得到数据库信息表;
在一个可选的实施方式中,当所有的数据库数据类别都获取后,将其存储整合,得到一个数据库信息表,以便于后续调用。
S104.根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别。
在一个可选的实施方式中,对于后续获取的数据库访问数据,可直接根据该数据的IP地址、端口信息,比对上述得到的数据库信息表,直接识别出是否是数据库访问数据,并得到相对应的数据库数据类别。特别的,对于一个新的数据库访问数据(即该数据的IP地址、端口信息都是不存在数据库信息表中的),可将该访问数据通过特征匹配以及流量解析器进行遍历,识别出是否是数据库访问数据,若是,识别出相对应的数据库数据类别。
在一个可选的实施方式中,所述S102包括:将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,直至解析成功率超过第二预设阈值时,则认为匹配上了该类流量解析器,得到对应的数据库访问数据以及该类流量解析器相对应的数据库数据类别。
在一个可选的实施方式中,将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,例如,根据IP地址和端口将连续的10条或者20条或者30条访问数据依次送入到一个mysql解析器中,若都能正确解析出来,则足以证明该访问数据和mysql解析器是匹配的,并且同时得到mysql解析器相对应的mysql数据库(数据库数据类别);否则,则送入下一个流量解析器中,例如oracle解析器中,若都能正确解析出来,则足以证明该访问数据和oracle解析器是匹配的,并且同时得到oracle解析器相对应的oracle数据库(数据库数据类别);以此类推,直至找到了最匹配的流量解析器。
特别的,若所有类的流量解析器都不匹配,则认为该访问数据不是数据库访问数据。
需要说明的是,所述连续的10条或者20条或者30条访问数据,只是本实施方式的一个示例,其只是为了更好的对本实施例进行说明,所以并不能以此作为对本发明的限制。
在一个可选的实施方式中,图3是本发明实施例提供的判断所述数据库访问数据是否为敏感数据的流程图,如图3所示,所述S105包括:
S1051.根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名;
在一个可选的实施方式中,当识别出数据库访问数据以及相对应的数据库数据类别后,根据数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,例如:若识别出数据库数据类别为mysql数据库,则使用相对应的mysql数据库解析模块对该mysql数据库访问数据进行解析,解析出数据库会话信息,包括:登录信息(用户名、访问数据库名称、访问工具)、sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名。
S1052.根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;
在一个可选的实施方式中,对解析出的sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名,按照数据库表的粒度或数据库表字段名的粒度进行数据还原,得到虚拟表。
例如:sql为: select id,phone from staff limit 3;
结果集为:420681199512020945 13714653433
420681199511012202 18923456778
520588188810222345 12345678921
(i)按照数据库表的粒度还原虚拟表,表名staff:
id | phone |
420681199512020945 | 13714653433 |
420681199511012202 | 18923456778 |
520588188810222345 | 12345678921 |
(ii)按照数据库表字段名的粒度还原虚拟表,有两个虚拟表列(字段名);
1.表名staff,字段名id:
id |
420681199512020945 |
420681199511012202 |
520588188810222345 |
2.表名staff,字段名phone:
phone |
13714653433 |
18923456778 |
12345678921 |
将上述虚拟表作为样本数据,发送给消息队列。
S1053.将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
在一个可选的实施方式中,将该phone字段与敏感表目录对比,判断敏感表目录中是否有phone这个敏感表字段,若是,则判定对应的数据库访问数据(mysql数据库)为敏感数据,并打上敏感标签。
特别的,目前已经发现staff这个表的phone这个字段是敏感表字段,接下来,解析出一条数据库访问数据,这条数据库访问数据解析出的sql语句为 select phone fromstaff;但是获取的结果集中没有显示包含电话号码(138XXXXXXX),由于这个sql语句试图获取phone字段内容,而phone又是敏感表字段,则可认为该条数据库访问数据是意图访问敏感数据的。该过程无需对phone的全部内容进行扫描即可得知是否在访问敏感数据。
本发明,通过该方法,无需对字段内容做全扫描,仅需根据是否带有敏感表字段的敏感表目录或某列敏感表字段即可确认是否访问了敏感数据。
在一个可选的实施方式中,所述敏感表目录的获取包括:
S10521.实时监听所述消息队列,获取所述虚拟表;
S10522.根据预设敏感数据规则和算法判断所述虚拟表的字段是否为敏感表字段,若是,根据所述敏感表字段建立敏感表目录;
在一个可选的实施方式中,例如:获取了100条phone的数据,根据预设敏感数据规则和算法发现有80条满足电话号码的规则,那可以认为phone这个字段是敏感表字段;根据所述敏感表字段建立敏感表目录。
S10523.将所述敏感表目录发送至所述消息队列。
在一个可选的实施方式中,实时更新所述敏感表目录,并将其发送至消息队列。
图4是本发明实施例提供的一种数据库审计装置的结构示意图,如图4所示,所述装置包括:
获取单元201,用于获取所有访问数据;其中,所述访问数据包括:IP地址和端口;
在一个可选的实施方式中,获取所有的访问数据,例如:http、ftp、smp、pop3、数据库访问数据。
第一识别单元202,用于将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;
在一个可选的实施方式中,将所有的访问数据的特征值与预设特征值进行匹配,例如:一个访问数据符合数据库访问数据的预设种类的特征值,我们认为该访问数据是数据库访问数据的概率为80%(即第一预设阈值),将所有的访问数据分别与上述数据库访问数据的预设种类的特征值进行匹配,若匹配成功,则认为匹配得分达到或超过所述第一预设阈值,就认为该访问数据为数据库访问数据并且能够得到相对应的数据库类别,反之,若匹配得分低于所述第一预设阈值,则再将该访问数据通过流量解析器进行遍历,识别出是否是数据库访问数据,若是,识别出相对应的数据库类别。
例如:postgresql数据库访问数据,其application_name、is_superuser为其特征值,当一个访问数据符合postgresql数据库访问数据的这两个特征值时,就认为该访问数据是postgresql数据库访问数据的概率为80%。
整合单元203,用于将所有的所述数据库数据类别存储整合,得到数据库信息表;
在一个可选的实施方式中,当所有的数据库数据类别都获取后,将其存储整合,得到一个数据库信息表,以便于后续调用。
第二识别单元204,用于根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别;
在一个可选的实施方式中,对于后续获取的数据库访问数据,可直接根据该数据的IP地址、端口信息,比对上述得到的数据库信息表,直接识别出是否是数据库访问数据,并得到相对应的数据库数据类别。特别的,对于一个新的数据库访问数据(即该数据的IP地址、端口信息都是不存在数据库信息表中的),可将该访问数据通过特征匹配以及流量解析器进行遍历,识别出是否是数据库访问数据,若是,识别出相对应的数据库数据类别。
判断单元205,用于对所述数据库访问数据进行解析,并根据获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
在一个可选的实施方式中,对上述得到的数据库访问数据进行解析,将解析后的所述数据库访问数据与获取的敏感数据发现系统中的敏感表目录进行对比,判断该数据库访问数据是否为敏感目录,若是,就为所述数据库访问数据打上敏感标签。反之,对所述数据库访问数据不打敏感标签,并判断该数据库访问数据是否超过样本检测数量,若没有超过,将该数据库访问数据作为样本发送给敏感数据发现系统。具体的,例如,敏感数据发现系统需要100条id的数据作为样本进行检测是否是敏感数据。如果目前已经送出去了100条id的数据,那么就不需要再将101条id的数据作为样本送出给敏感数据发现系统。反之,若没有超过,继续将其作为样本送出给敏感数据发现系统。
本发明中,通过对获取的所有访问数据进行特征匹配,以及将未匹配成功的所述访问数据通过流量解析器进行遍历,可自动识别出数据库访问数据,在保证效率的同时,实现了自动部署,无需人工配置。
在一个可选的实施方式中,所述第一识别单元202包括:将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,直至解析成功率超过第二预设阈值时,则认为匹配上了该类流量解析器,得到对应的数据库访问数据以及该类流量解析器相对应的数据库数据类别。
在一个可选的实施方式中,将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,例如,根据IP地址和端口将连续的10条或者20条或者30条访问数据依次送入到一个mysql解析器中,若都能正确解析出来,则足以证明该访问数据和mysql解析器是匹配的,并且同时得到mysql解析器相对应的mysql数据库(数据库数据类别);否则,则送入下一个流量解析器中,例如oracle解析器中,若都能正确解析出来,则足以证明该访问数据和oracle解析器是匹配的,并且同时得到oracle解析器相对应的oracle数据库(数据库数据类别);以此类推,直至找到了最匹配的流量解析器。
特别的,若所有类的流量解析器都不匹配,则认为该访问数据不是数据库访问数据。
需要说明的是,所述连续的10条或者20条或者30条访问数据,只是本实施方式的一个示例,其只是为了更好的对本实施例进行说明,所以并不能以此作为对本发明的限制。
在一个可选的实施方式中,图5是本发明实施例提供的判断单元的结构示意图,如图5所示,所述判断单元205包括:
解析子单元2051,用于根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名;
在一个可选的实施方式中,当识别出数据库访问数据以及相对应的数据库数据类别后,根据数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,例如:若识别出数据库数据类别为mysql数据库,则使用相对应的mysql数据库解析模块对该mysql数据库访问数据进行解析,解析出数据库会话信息,包括:登录信息(用户名、访问数据库名称、访问工具)、sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名。
还原子单元2052,用于根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;
在一个可选的实施方式中,对解析出的sql语句(结构化查询语言)、结果集、所述sql语句访问的数据库、表名和字段名,按照数据库表的粒度或数据库表字段名的粒度进行数据还原,得到虚拟表。
例如:sql为: select id,phone from staff limit 3;
结果集为:420681199512020945 13714653433
420681199511012202 18923456778
520588188810222345 12345678921
(i)按照数据库表的粒度还原虚拟表,表名staff:
id | phone |
420681199512020945 | 13714653433 |
420681199511012202 | 18923456778 |
520588188810222345 | 12345678921 |
(ii)按照数据库表字段名的粒度还原虚拟表,有两个虚拟表列(字段名);
1.表名staff,字段名id:
id |
420681199512020945 |
420681199511012202 |
520588188810222345 |
2.表名staff,字段名phone:
phone |
13714653433 |
18923456778 |
12345678921 |
将上述虚拟表作为样本数据,发送给消息队列。
判断子单元2053,用于将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签。
在一个可选的实施方式中,将该phone字段与敏感表目录对比,判断敏感表目录中是否有phone这个敏感表字段,若是,则判定对应的数据库访问数据(mysql数据库)为敏感数据,并打上敏感标签。
本发明,通过该方法,无需对字段内容做全扫描,仅需根据是否带有敏感表字段的敏感表目录或某列敏感表字段即可确认是否访问了敏感数据。
在一个可选的实施方式中,所述获取的敏感表目录包括:
实时监听所述消息队列,获取所述虚拟表;
根据预设敏感数据规则和算法判断所述虚拟表的字段是否为敏感表字段,若是,根据所述敏感表字段建立敏感表目录;
在一个可选的实施方式中,例如:获取了100条phone的数据,根据预设敏感数据规则和算法发现有80条满足电话号码的规则,那可以认为phone这个字段是敏感表字段;根据所述敏感表字段建立敏感表目录。
将所述敏感表目录发送至所述消息队列。
在一个可选的实施方式中,实时更新所述敏感表目录,并将其发送至消息队列。
本发明还提供了一种数据库审计系统,包括上述的数据库审计装置。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的数据库审计方法。
上述存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
本发明的有益效果:
本发明提供了一种数据库审计方法,该方法中,通过对获取的所有访问数据进行特征匹配,以及将未匹配成功的所述访问数据通过流量解析器进行遍历,可自动识别出数据库访问数据;并且本申请中,根据敏感表目录判断虚拟表或虚拟表的字段是否为敏感表字段,进而判断对应的数据库访问数据是否为敏感数据,无需对访问数据内容做全扫描,大大提升了敏感数据发现的效率,节省了时间。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种数据库审计方法,其特征在于,包括:
获取所有访问数据;
将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;
对所述数据库访问数据进行解析,并根据实时获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签;
所述对所述数据库访问数据进行解析,并根据实时获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签包括:
根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句、结果集、所述sql语句访问的数据库、表名和字段名;
根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;
将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签;
所述敏感表目录的获取包括:
实时监听所述消息队列,获取所述虚拟表;
根据预设敏感数据规则和算法判断所述虚拟表的字段是否为敏感表字段,若是,根据所述敏感表字段建立敏感表目录;
将所述敏感表目录发送至所述消息队列;
所述通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别包括:
将同一IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,直至解析成功率超过第二预设阈值时,则认为匹配上了该类流量解析器,得到对应的数据库访问数据以及该类流量解析器相对应的数据库数据类别。
2.根据权利要求1所述的方法,其特征在于,
所述访问数据包括:IP地址和端口;
所述通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别之后,包括:
将所有的所述数据库数据类别存储整合,得到数据库信息表;
根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别。
3.一种数据库审计装置,其特征在于,所述装置包括:
获取单元,用于获取所有访问数据;其中,所述访问数据包括:IP地址和端口;
第一识别单元,用于将所述所有访问数据的特征值与预设特征值进行匹配,若匹配得分低于第一预设阈值时,通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别;反之,认为匹配成功,得到数据库访问数据以及相对应的数据库数据类别;
判断单元,用于对所述数据库访问数据进行解析,并根据实时获取的敏感表目录判断解析后的所述数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签;
所述判断单元包括:
解析子单元,用于根据所述数据库数据类别相对应的数据库解析模块,对该类的每条数据库访问数据进行解析,得到数据库会话信息;其中,所述数据库会话信息包括:登录信息、sql语句、结果集、所述sql语句访问的数据库、表名和字段名;
还原子单元,用于根据数据库表的粒度或数据库表字段名的粒度,对所述数据库会话信息进行数据还原,得到虚拟表;以及将所述虚拟表作为样本数据,发送给消息队列;
判断子单元,用于将所述sql语句访问的数据库、表名、字段名与所述获取的敏感表目录对比,判断对应的数据库访问数据是否为敏感数据,若是,为所述数据库访问数据打敏感标签;
所述敏感表目录的获取包括:
实时监听所述消息队列,获取所述虚拟表;
根据预设敏感数据规则和算法判断所述虚拟表的字段是否为敏感表字段,若是,根据所述敏感表字段建立敏感表目录;
将所述敏感表目录发送至所述消息队列;
所述通过流量解析器将未匹配成功的所述访问数据遍历,识别出数据库访问数据以及相对应的数据库数据类别包括:
将同一所述IP地址和端口的所述未匹配成功的访问数据,根据预设访问数据数量依次送入到每类所述流量解析器中进行解析,直至解析成功率超过第二预设阈值时,则认为匹配上了该类流量解析器,得到对应的数据库访问数据以及该类流量解析器相对应的数据库数据类别。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
整合单元,用于将所有的所述数据库数据类别存储整合,得到数据库信息表;
第二识别单元,用于根据所述IP地址、所述端口和所述数据库信息表识别后续获取的数据库访问数据,得到相对应的数据库数据类别。
5.一种数据库审计系统,其特征在于,包括:权利要求3-4任一项所述的数据库审计装置。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至2中任一项所述的数据库审计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046245.4A CN113704825B (zh) | 2021-09-08 | 2021-09-08 | 一种数据库审计方法、装置、系统及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046245.4A CN113704825B (zh) | 2021-09-08 | 2021-09-08 | 一种数据库审计方法、装置、系统及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704825A CN113704825A (zh) | 2021-11-26 |
CN113704825B true CN113704825B (zh) | 2024-06-18 |
Family
ID=78659067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111046245.4A Active CN113704825B (zh) | 2021-09-08 | 2021-09-08 | 一种数据库审计方法、装置、系统及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704825B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034259B (zh) * | 2023-08-15 | 2024-05-07 | 上海沄熹科技有限公司 | 一种数据库审计方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767573A (zh) * | 2020-06-28 | 2020-10-13 | 北京天融信网络安全技术有限公司 | 数据库安全管理方法、装置、电子设备及可读存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678188B (zh) * | 2016-01-07 | 2019-01-29 | 杨龙频 | 数据库防泄露协议识别方法及装置 |
CN105809031B (zh) * | 2016-03-07 | 2018-12-28 | 深圳前海微众银行股份有限公司 | 数据库审计的方法、装置及系统 |
CN108959967A (zh) * | 2018-07-16 | 2018-12-07 | 杭州安恒信息技术股份有限公司 | 一种防数据库敏感数据泄漏的方法及系统 |
CN109561092B (zh) * | 2018-12-03 | 2021-01-26 | 北京安华金和科技有限公司 | 基于数据流量及数据探测结果进行安全态势建模的方法 |
CN112182637A (zh) * | 2019-07-04 | 2021-01-05 | 中移信息技术有限公司 | 一种安全控制系统、方法、装置及存储介质 |
CN110363014A (zh) * | 2019-07-05 | 2019-10-22 | 上海瀚之友信息技术服务有限公司 | 一种数据库的审计系统 |
CN110825795B (zh) * | 2019-09-18 | 2023-10-13 | 平安科技(深圳)有限公司 | 访问数据库的方法、装置、设备及计算机可读存储介质 |
CN111400762A (zh) * | 2020-03-18 | 2020-07-10 | 上海凯馨信息科技有限公司 | 一种针对oracle数据库的动态脱敏方法 |
CN111639365A (zh) * | 2020-06-09 | 2020-09-08 | 杭州安恒信息技术股份有限公司 | 一种数据泄漏告警方法及相关装置 |
CN112214796A (zh) * | 2020-10-19 | 2021-01-12 | 上海观安信息技术股份有限公司 | 一种基于菜单的动态脱敏方法 |
CN112906024A (zh) * | 2021-03-03 | 2021-06-04 | 江苏保旺达软件技术有限公司 | 一种数据脱敏方法、装置、存储介质及服务器 |
CN113010494A (zh) * | 2021-03-18 | 2021-06-22 | 北京金山云网络技术有限公司 | 一种数据库审计方法、装置及数据库代理服务器 |
-
2021
- 2021-09-08 CN CN202111046245.4A patent/CN113704825B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767573A (zh) * | 2020-06-28 | 2020-10-13 | 北京天融信网络安全技术有限公司 | 数据库安全管理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113704825A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102354310A (zh) | 一种自动化信息安全评估的方法及装置 | |
CN109413017B (zh) | 一种管理异构防火墙的方法及系统 | |
CN112632064B (zh) | 一种基于handle系统的区块链增强方法及系统 | |
CN113469857A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
US20230418939A1 (en) | Method for managing externally imported files, apparatus for the same, computer program for the same, and recording medium storing computer program thereof | |
CN109684863B (zh) | 数据防泄漏方法、装置、设备及存储介质 | |
CN113704825B (zh) | 一种数据库审计方法、装置、系统及计算机存储介质 | |
CN114090076A (zh) | 应用程序的合规性判别方法和装置 | |
US20110289086A1 (en) | System, method and apparatus for data analysis | |
CN115174205B (zh) | 一种网络空间安全实时监测方法、系统及计算机存储介质 | |
CN112433936A (zh) | 测试方法、装置及存储介质 | |
CN110891071A (zh) | 一种网络流量信息获取方法、装置及其相关设备 | |
US20120151581A1 (en) | Method and system for information property management | |
CN115296888A (zh) | 数据雷达监测系统 | |
CN112488562B (zh) | 一种业务实现方法及装置 | |
CN114880285A (zh) | 基于关联数据分析的计算机安全存储系统及方法 | |
CN112417007A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN113032836A (zh) | 数据脱敏方法和装置 | |
CN111625700A (zh) | 防抓取的方法、装置、设备及计算机存储介质 | |
CN113297583B (zh) | 漏洞风险分析方法、装置、设备及存储介质 | |
CN112671952B (zh) | 一种ip检测的方法、装置、设备及存储介质 | |
CN115237796A (zh) | 一种链路异常的识别方法、装置、存储介质及电子设备 | |
CN114092284A (zh) | 一种知识产权自动检索和分析管理系统 | |
CN116304209A (zh) | 资产运营处置方法、装置、电子设备及存储介质 | |
CN111800409B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |