数据库敏感信息探测方法及系统的制作方法

文档序号:6621238阅读:365来源:国知局
数据库敏感信息探测方法及系统的制作方法
【专利摘要】本发明涉及信息安全【技术领域】,旨在提供数据库敏感信息探测方法及系统。该数据库敏感信息探测方法包括步骤:扫描数据库的系统视图,获取所有的用户表,对每一个用户表每个字段抽取一部分数据做为样本,对样本进行分析匹配,判断是否是敏感信息;该数据库敏感信息探测系统包括系统表、扫描模块、判断模块和显示模块,扫描模块和数据库连接,判断模块分别与敏感信息特征库、扫描模块相连,判断模块与显示模块连接。本发明基于正则表达特征库,通过特征库对数据库里的用户数据进行扫描探测,能够发现手机号、银行卡号、身份证号以及邮箱等敏感信息所在的位置,并提供详细的扫描报告,使数据库管理员能够重点防护和审计。
【专利说明】数据库敏感信息探测方法及系统

【技术领域】
[0001] 本发明是关于信息安全【技术领域】,特别涉及数据库敏感信息探测方法及系统。

【背景技术】
[0002] 当前各种敏感信息泄露的事件还是频繁发生,数据安全越来越受到人们的重视。 但目前数据库系统越来越庞大。大数据量给数据库的安全管理带来了新的问题。如果数据 库里只有几条数据管理起来很容易,但如果有几十个数据库,几千张表,不知道重要的信息 在哪里,防护和审计起来就会无从下手。因此必须有方法能快速全面地发现重要信息在数 据库里的位置,对这些重要的信息进行重点的防护和审计。
[0003] 常见的数据库安全扫描软件主要检测数据库系统配置风险和数据库软件本身的 安全漏洞,分析的都是数据库系统的信息,没有探测敏感信息在哪里的功能。


【发明内容】

[0004] 本发明的主要目的在于克服现有技术中的不足,提供一种能够发现敏感信息所在 位置的数据库探测方法及系统。为解决上述技术问题,本发明的解决方案是:
[0005] 提供数据库敏感信息探测方法,具体包括下述步骤:
[0006] (1)扫描数据库的系统视图,获取所有的用户表;
[0007] (2)对每一个用户表每个字段抽取一部分数据做为样本;
[0008] (3)对样本进行分析匹配,判断是否是敏感信息;
[0009] 所述步骤(1)具体包括下述步骤:
[0010] 步骤A :连接数据库;
[0011] 步骤B :用SELECT语句获取数据库的系统视图里,数据库所有的表名,并排除系统 表,剩下用户表;
[0012] 步骤C :将步骤B中获得的用户表列表返回;
[0013] 所述步骤(2)具体包括下述步骤:
[0014] 步骤D :在步骤C返回的用户表列表中,取一个用户表名;
[0015] 步骤E :用SELECT语句和分页查询的方法,获取步骤D中选取的用户表中所有字 段的部分数据;所述部分数据是指取一个表开头的N条记录(比如一个表有1000条记录, 如果全部取出来就会对数据库造成影响,所以用分页查询的方法取开头的20条或30条判 断);
[0016] 步骤F :将步骤E中获取的所有字段的部分数据,作为样本数据返回;
[0017] 所述步骤(3)具体包括下述步骤:
[0018] 步骤G :取步骤F返回的一个字段的样本数据;
[0019] 步骤Η :对步骤G中选取的样本数据,采用正则表达式匹配的方法判断样本数据是 否属于敏感信息,判断方法为:如果样本数据全部跟敏感信息特征库中的敏感信息匹配,认 为样本数据是敏感数据字段,得出判断结果是;如果样本数据跟敏感信息特征库中的敏感 信息不低于80%的比例匹配,得出判断结果疑是;如果样本数据跟敏感信息特征库中的敏 感信息全部不匹配或者低于20%的比例匹配,则得出判断结果否;
[0020] 步骤I :循环执行步骤D、步骤E、步骤F、步骤G、步骤H,直至完成对步骤C返回的 所有用户表进行判断,然后将步骤Η中得出的判断结果返回,并显示包含有判断结果的扫 描报告,且当判断结果为疑是或者是时,扫描报告中还包括敏感信息字段清单(即样本数 据中与敏感信息特征库匹配的部分,比如表Α的Β字段有敏感信息(手机号),返回就是表 名:A、字段:B、内容:138XXXXXXXX,让用户更直观的看到该敏感信息字段有什么样的敏感 信息)。
[0021] 在本发明中,所述步骤Η中的敏感信息特征库是用于判断敏感信息的正则表达式 的一个集合(比如判断手机号有一个正则表达式,银行卡号是另一个正则表达式);敏感信 息是指需要防护和审计的数据,包括手机号、银行卡号、身份证号和邮箱。
[0022] 在本发明中,所述敏感信息特征库中的正则表达式能进行自定义添加,用于敏感 信息的匹配判断(比如用户觉得员工编号是敏感信息,他们可以自定义一个匹配员工编号 的正则表达式,用来将包含员工编号的字段列出来);正则表达式是公开通用的字符串匹 配方法。
[0023] 提供实现所述的数据库敏感信息探测方法的系统,包括系统表、扫描模块、判断模 块和显示模块,扫描模块和数据库连接,判断模块分别与敏感信息特征库、扫描模块相连, 判断模块与显示模块连接;
[0024] 所述系统表用于对数据库进行扫描,并获取、返回数据库中的用户表;
[0025] 所述扫描模块用于获取系统表返回的用户表里,各个字段的样本数据;
[0026] 所述判断模块用于将扫描模块得到的样本数据,采用正则表达式匹配的方法进行 匹配判断是否为敏感信息,并得出是、否或者疑是中的一种判断结果;
[0027] 所述显示模块用于反馈显示数据库中,被判断模块判断为敏感信息的字段。
[0028] 本发明的实现原理是:首先正则表达特征库定义好敏感信息的特征,然后是对运 行使用期间的数据库进行扫描和探测。正则表达特征库收集了手机号、银行卡号、身份证号 以及邮箱等敏感信息的特征。扫描模块负责扫描数据库,并返回扫描到的用户样本数据;然 后,由判断模块根据正则表达特征库进行对比,判断被扫描的用户样本数据是否是敏感信 息。如是或疑是,就在扫描报告里列出敏感信息字段清单,供数据库管理员能够重点防护和 审计。
[0029] 与现有技术相比,本发明的有益效果是:
[0030] 本发明基于正则表达特征库,通过特征库对数据库里的用户数据进行扫描探测, 能够发现手机号、银行卡号、身份证号以及邮箱等敏感信息所在的位置,并提供详细的扫描 报告,使数据库管理员能够重点防护和审计。

【专利附图】

【附图说明】
[0031] 图1为本发明的数据库敏感信息探测系统工作原理图。
[0032] 图2为本发明的数据库敏感信息探测方法工作流程图。

【具体实施方式】
[0033] 首先需要说明的是,本发明涉及数据库技术,是计算机技术在信息安全【技术领域】 的一种应用。在本发明的实现过程中,会涉及到多个软件功能模块的应用。 申请人:认为,如 在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术 的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。前述软件功 能模块包括但不限于:正则表达特征库、扫描模块、判断模块、显示模块等,凡本发明申请文 件提及的均属此范畴, 申请人:不再一一列举。
[0034] 下面结合附图与【具体实施方式】对本发明作进一步详细描述:
[0035] 如图2所示,数据库敏感信息探测方法,具体包括下述步骤:
[0036] (1)扫描数据库的系统视图,获取所有的用户表;
[0037] (2)对每一个用户表每个字段抽取一部分数据做为样本;
[0038] (3)对样本进行分析匹配,判断是否是敏感信息。
[0039] 所述步骤(1)具体包括下述步骤:
[0040] 步骤A :连接数据库;
[0041] 步骤B :用SELECT语句获取数据库的系统视图里,数据库所有的表名,并排除系统 表,剩下用户表;
[0042] 步骤C :将步骤B中获得的用户表列表返回。
[0043] 所述步骤(2)具体包括下述步骤:
[0044] 步骤D :在步骤C返回的用户表列表中,取一个用户表名;
[0045] 步骤E :用SELECT语句和分页查询的方法,获取步骤D中选取的用户表中所有字 段的部分数据;部分数据是指取一个表开头的N条记录,比如一个表有1000条记录,如果全 部取出来就会对数据库造成影响,所以用分页查询的方法取开头的20条或30条判断;
[0046] 步骤F :将步骤E中获取的所有字段的部分数据,作为样本数据返回。
[0047] 所述步骤(3)具体包括下述步骤:
[0048] 步骤G :取步骤F返回的一个字段的样本数据;
[0049] 步骤Η :对步骤G中选取的样本数据,采用正则表达式匹配的方法判断样本数据是 否属于敏感信息,判断方法为:如果样本数据全部跟敏感信息特征库中的敏感信息匹配,认 为样本数据是敏感数据字段,得出判断结果是;如果样本数据跟敏感信息特征库中的敏感 信息不低于80%的比例匹配,得出判断结果疑是;如果样本数据跟敏感信息特征库中的敏 感信息全部不匹配或者低于20%的比例匹配,则得出判断结果否;
[0050] 所述敏感信息特征库是用于判断敏感信息的正则表达式的一个集合,比如判断手 机号有一个正则表达式,银行卡号是另一个正则表达式;敏感信息是指需要重点防护和审 计的数据,包括手机号、银行卡号、身份证号和邮箱等。所述正则表达式匹配的方法是指能 够根据各个用户对敏感信息的不同定义,采用正则表达式进行自定义匹配,正则表达式是 公开通用的字符串匹配方法;另外,敏感信息特征库中的正则表达式能进行自定义添加,t匕 如用户觉得员工编号是敏感信息,他们可以自定义一个匹配员工编号的正则表达式,用来 将包含员工编号的字段列出来。
[0051] 步骤I :循环执行步骤D、步骤E、步骤F、步骤G、步骤H,直至完成对步骤C返回的 所有用户表进行判断,然后将步骤Η中得出的判断结果返回,并显示包含有判断结果的扫 描报告,且当判断结果为疑是或者是时,扫描报告中还包括敏感信息字段清单;敏感信息字 段清单即样本数据中与敏感信息特征库匹配的部分,比如表A的B字段有敏感信息(手机 号),返回就是表名:A、字段:B、内容:138XXXXXXXX,让用户更直观的看到该敏感信息字段 有什么样的敏感信息。
[0052] 如图1所示的数据库敏感信息探测系统包括系统表、扫描模块、判断模块和显示 模块;扫描模块和数据库连接,系判断模块分别与敏感信息特征库、扫描模块相连,判断模 块与显示模块连接。
[0053] 所述系统表用于对数据库进行扫描,并获取、返回数据库中的用户表。
[0054] 所述扫描模块用于获取系统表返回的用户表里,各个字段的样本数据。
[0055] 所述判断模块用于将扫描模块得到的样本数据,采用正则表达特征库进行匹配判 断是否为敏感信息,并得出是、否或者疑是中的一种判断结果。
[0056] 所述显示模块用于反馈显示数据库中,被判断模块判断为敏感信息的字段。
[0057] 下面的实施例可以使本专业的专业技术人员更全面地理解本发明,但不以任何方 式限制本发明。假设要对一个0RACLE10G数据库进行敏感信息探测。
[0058] 首先安装数据库敏感信息探测系统,输入待扫描数据库的IP、端口、SID、用户名和 密码,连接数据库。
[0059] 扫描和判断操作的过程主要执行以下步骤:
[0060] (1)通过扫描SELECT语句查询系统视图ALL_TABLES获得所有用户表的表名;
[0061] (2)根据表名采用分页查询获取每个用户表各个字段的样本数据;
[0062] (3)根据样本数据用正则表达特征库判断是否属于对应的敏感信息;
[0063] (4)根据探测得到的敏感信息所在的表名和字段名生成报告,将敏感信息列表提 供给用户。
[0064] 探测完成后,根据探测报告就可以发现数据库有哪些敏感信息,都存放在哪些表 的哪些字段里。
[0065] 最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于 以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导 出或联想到的所有变形,均应认为是本发明的保护范围。
【权利要求】
1. 数据库敏感信息探测方法,其特征在于,具体包括下述步骤: (1) 扫描数据库的系统视图,获取所有的用户表; (2) 对每一个用户表每个字段抽取一部分数据做为样本; (3) 对样本进行分析匹配,判断是否是敏感信息; 所述步骤(1)具体包括下述步骤: 步骤A :连接数据库; 步骤B :用SELECT语句获取数据库的系统视图里,数据库所有的表名,并排除系统表, 剩下用户表; 步骤C :将步骤B中获得的用户表列表返回; 所述步骤(2)具体包括下述步骤: 步骤D:在步骤C返回的用户表列表中,取一个用户表名; 步骤E :用SELECT语句和分页查询的方法,获取步骤D中选取的用户表中所有字段的 部分数据;所述部分数据是指取一个表开头的N条记录; 步骤F :将步骤E中获取的所有字段的部分数据,作为样本数据返回; 所述步骤(3)具体包括下述步骤: 步骤G:取步骤F返回的一个字段的样本数据; 步骤Η :对步骤G中选取的样本数据,采用正则表达式匹配的方法判断样本数据是否属 于敏感信息,判断方法为:如果样本数据全部跟敏感信息特征库中的敏感信息匹配,认为样 本数据是敏感数据字段,得出判断结果是;如果样本数据跟敏感信息特征库中的敏感信息 不低于80%的比例匹配,得出判断结果疑是;如果样本数据跟敏感信息特征库中的敏感信 息全部不匹配或者低于20%的比例匹配,则得出判断结果否; 步骤I :循环执行步骤D、步骤Ε、步骤F、步骤G、步骤Η,直至完成对步骤C返回的所有 用户表进行判断,然后将步骤Η中得出的判断结果返回,并显示包含有判断结果的扫描报 告,且当判断结果为疑是或者是时,扫描报告中还包括敏感信息字段清单。
2. 根据权利要求1所述的数据库敏感信息探测方法,其特征在于,所述步骤Η中的敏感 信息特征库是用于判断敏感信息的正则表达式的一个集合;敏感信息是指需要防护和审计 的数据,包括手机号、银行卡号、身份证号和邮箱。
3. 根据权利要求2所述的数据库敏感信息探测方法,其特征在于,所述敏感信息特征 库中的正则表达式能进行自定义添加,用于敏感信息的匹配判断;正则表达式是公开通用 的字符串匹配方法。
4. 实现权利要求1所述的数据库敏感信息探测方法的系统,其特征在于,包括系统表、 扫描模块、判断模块和显示模块,扫描模块和数据库连接,判断模块分别与敏感信息特征 库、扫描模块相连,判断模块与显示模块连接; 所述系统表用于对数据库进行扫描,并获取、返回数据库中的用户表; 所述扫描模块用于获取系统表返回的用户表里,各个字段的样本数据; 所述判断模块用于将扫描模块得到的样本数据,采用正则表达式匹配的方法进行匹配 判断是否为敏感信息,并得出是、否或者疑是中的一种判断结果; 所述显示模块用于反馈显示数据库中,被判断模块判断为敏感信息的字段。
【文档编号】G06F17/30GK104123370SQ201410356492
【公开日】2014年10月29日 申请日期:2014年7月24日 优先权日:2014年7月24日
【发明者】刘海卫, 范渊 申请人:杭州安恒信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1