CN111737742B - 敏感数据扫描方法和系统 - Google Patents
敏感数据扫描方法和系统 Download PDFInfo
- Publication number
- CN111737742B CN111737742B CN202010565631.3A CN202010565631A CN111737742B CN 111737742 B CN111737742 B CN 111737742B CN 202010565631 A CN202010565631 A CN 202010565631A CN 111737742 B CN111737742 B CN 111737742B
- Authority
- CN
- China
- Prior art keywords
- data
- scanning
- database
- sensitive
- target database
- 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
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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种敏感数据扫描方法和系统。该敏感数据扫描方法包括:数据采样模块读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件;所述消息中间件将所述数据样本进行存储;扫描节点集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。本发明实施例提高了敏感数据扫描的效率,对评估数据迁移过程的安全性,防止客户敏感信息泄露有重要意义。
Description
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种敏感数据扫描方法和系统。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库。在数据库中,有些数据属于敏感数据,例如,身份证号、姓名、企业客户名称、地址、电话等。这些敏感数据需要扫描出来进行数据迁移,达到防止敏感数据泄露的目的。
目前,普遍采用集中式架构,如浏览器/服务器模式,将扫描任务实现的核心部分集中到一台服务器上。由于数据库的数量多,存储数据量巨大,集中式架构已不能满足扫描任务的高效要求。
发明内容
本发明实施例提供了一种敏感数据扫描方法和系统,以高效地从数据库中识别敏感数据,从而保证评估数据迁移过程的安全性,达到防止敏感信息泄露的技术效果。
第一方面,本发明实施例提供了一种敏感数据扫描方法,包括:
数据采样模块读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件;
所述消息中间件将所述数据样本进行存储;
扫描节点集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。
可选的,所述数据采样模块读取目标数据库中的数据样本,包括:
数据采样模块读取目标数据库的元数据;
所述数据采集模块根据所述元数据确定读取范围,并读取所述读取范围内的数据样本。
可选的,在所述数据采集模块读取所述读取范围内的数据样本之后,还包括:
所述数据采集模块对所述读取范围内的数据样本进行设定处理,得到所述数据样本;
其中,所述设定处理包括设定类型字段的过滤处理、空数据样本过滤处理和去重处理中的至少一项。
可选的,所述扫描节点集群中的每个扫描节点对所述数据样本进行扫描,得到敏感数据,包括:
扫描节点集群中的每个扫描节点确定所述数据样本的长度;
如果所述数据样本的长度超过设定长度阈值,所述每个扫描节点采用文本分类器对所述数据样本进行敏感数据分类。
可选的,在所述确扫描节点集群中的每个扫描节点定所述数据样本的长度之后,还包括:
如果所述数据样本的长度未超过设定长度阈值,所述每个扫描节点采用至少一个正则表达式分别对所述数据样本进行敏感数据筛选;
其中,所述至少一个正则表达式分别为不同种类敏感数据的筛选逻辑公式。
可选的,在所述数据采样模块读取目标数据库中的数据样本之前,还包括:
功能接口层获取目标数据库的信息,并将所述目标数据库的信息存储至配置数据库中;
所述数据采样模块读取目标数据库中的数据样本,包括:
数据采样模块从所述配置数据库中读取所述目标数据库的信息,并根据所述目标数据库的信息链接所述目标数据库;
数据采样模块从链接到的所述目标数据库读取数据样本。
可选的,在所述功能接口层将所述目标数据库的信息存储至配置数据库中之后,还包括:
所述配置数据库将所述目标数据库的扫描状态设置为待扫描;
所述配置数据库响应于所述数据采样模块发送的执行状态信息,设置所述目标数据库的扫描状态。
可选的,在所述扫描节点集群中的每个扫描节点对所述数据样本进行扫描,得到敏感数据之后,还包括:
所述每个扫描节点将所述敏感数据存储至缓存;
同步模块将所述敏感数据从所述缓存中同步至扫描结果数据库。
可选的,在所述同步模块将所述敏感数据从所述缓存中同步至扫描结果数据库之后,还包括:
功能接口层获取所述扫描结果数据库的存储数据量;
所述功能接口层获取所述扫描节点集群扫描到的敏感数据的数据量;
如果所述存储数据量和所述敏感数据的数据量之差在设定范围内,所述功能接口层生成扫描报告,并将配置数据库中所述目标数据库的扫描状态设置为扫描结束。
第二方面,本发明实施例还提供了一种敏感数据扫描系统,该系统包括:
数据采样模块,用于读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件;
所述消息中间件,用于将所述数据样本进行存储;
所述扫描节点集群,用于通过每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。
本发明实施例通过数据采样模块读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件,再由消息中间件将所述数据样本进行存储。扫描节点集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。消息中间件将数据的读取过程和数据的计算过程充分解耦,提高了系统的运行效率;本实施例还采用了分布式扫描节点的架构,为扩容提供了充分的弹性;在必要的时候可以自由的进行横向扩容,提高了系统的处理能力。
附图说明
图1a是本发明实施例所适用的敏感数据的扫描系统的结构示意图;
图1b是本发明实施例一中的敏感数据扫描方法的流程图;
图2是本发明实施例二中的敏感数据扫描方法的流程图;
图3是本发明实施例三中的敏感数据扫描方法的流程图;
图4是本发明实施例四中的敏感数据扫描方法的流程图;
图5是本发明实施例所适用的另一种敏感数据的扫描系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
为清楚介绍本发明实施例的技术方案,首先基于图1a介绍本发明实施例所适用的敏感数据的扫描系统的结构示意图。图1a中,敏感数据扫描系统主要包括数据采样模块10、消息中间件20和扫描节点集群30。
其中,数据采样模块10可以配置在一台服务器中,可称为采样服务器。需要被扫描的数据库存储在数据库服务器中。数据采样模块10与需要被扫描的数据库40进行通信连接,以对数据库40进行采样。
消息中间件20包括但不限于Kafka、RabbitMQ、RocketMQ。消息中间件20分别与数据采样模块10和扫描节点集群30连接,实现数据采样模块10和扫描节点集群30之间的数据传输。
扫描节点集群30为多个扫描节点构成的集群,每个扫描节点分别对消息中间件20传输的数据进行扫描操作。
基于上述敏感数据扫描系统,本发明实施例一提供一种敏感数据扫描方法,其流程图如图1b所示。本实施例可适用于从需要被扫描的数据库中扫描敏感数据的情况,具体包括如下步骤:
S110、数据采样模块读取目标数据库中的数据样本,并将数据样本发送到消息中间件。
在本发明的实施例中,为了方便描述和区分,将需要被扫描的数据库称为目标数据库,该目标数据库中的数据可以为银行行业、保险行业或者通信行业产生的数据。目标数据库中可能存储有敏感信息,不同行业的敏感信息类别存在差异,敏感信息的具体类别可由用户所在行业自定义设置,通用的敏感信息如个人用户的身份证号、姓名、企业客户名称、地址或者电话。
数据采样模块以表为单位对目标数据库进行读取,将读取出的数据称为数据样本。数据采样模块随即将读取出的数据样本发送到消息中间件。
S120、消息中间件将数据样本进行存储。
消息中间件利用消息传递和消息排队模型将数据采样模块发送的数据样本进行存储。消息中间件在分布式环境下扩展进程间的通信。利用消息传递机制进行平台无关的数据交流,将数据采样模块和扫描节点集群隔离,从而将数据采样过程和数据扫描过程解耦。因数据采样过程涉及大量的对目标数据库的只读访问,并通过网络传输,是一个I/O(Input/Output,输入/输出)密集型操作,而扫描节点集群的数据扫描过程是典型的计算密集型操作。消息中间件将I/O密集型操作与计算密集型操作解耦,为两部分操作留下了扩展空间,可以根据实际压力情况分别进行扩展,增加了灵活性。
S130、扫描节点集群中的每个扫描节点从消息中间件中读取数据样本,并对数据样本进行扫描,得到敏感数据。
本发明实施例通过数据采样模块读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件,再由消息中间件将所述数据样本进行存储。扫描节点集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。消息中间件将数据的读取过程和数据的计算过程充分解耦,提高了系统的运行效率;本实施例还采用了分布式扫描节点的架构,为扩容提供了充分的弹性;在必要的时候可以自由的进行横向扩容,提高了系统的处理能力。
实施例二
图2是本发明实施例二中的敏感数据扫描方法的流程图,本实施例对上述实施例进一步优化,具体对数据采样模块对数据样本的读取过程进行细化。如图2所示的方法包括:
S210、数据采样模块读取目标数据库的元数据。
本实施例中的元数据是指:描述数据库内数据的结构和建立方法的数据。在采样过程中,数据采样模块首先查询目标数据库中描述数据库结构,即系统用户、数据库内置方案、表、字段等数据的元数据。
S220、数据采集模块根据元数据确定读取范围,并读取范围内的数据样本。
系统用户和数据库内置方案与数据库本身的性能、结构和统计信息等相关,与业务数据无关,不会存在敏感数据。基于此,数据采集模块从目标数据库中剔除描述系统用户和数据库内置方案的元数据对应的数据,将其它元数据对应的数据确定为读取范围。
具体的,该数据采样模块根据描述表的元数据确定目标数据库中的表,并以表为单位读取样本数据,可以一次性读取一张表的全部字段,当表比较大时,也可以一次读取该表的部分字段,分多次读取。
S230、数据采集模块对读取范围内的数据样本进行设定处理,得到数据样本,并将数据样本发送到消息中间件。
可选的,数据采集模块将读取的多个字段中每个字段分别进行设定处理。其中,设定处理包括设定类型字段的过滤处理、空数据样本过滤处理和去重处理中的至少一项。这是因为同一字段的多个数据之间可能存在重复的情况,而不同字段之间即使存在相同的数据,但表达的具体含义不同。
具体的,根据行业经验确定不存在敏感数据的字段类型,称为设定字段类型,例如,数值类型等自然语言语义较为匮乏的字段类型。在一些数据库中,只有字符串类型的字段可能存在敏感数据,则过滤掉非字符串类型的字段。此外,因为空数据样本中不可能含有敏感数据,还需对空数据样本进行过滤处理。本实施例对数据样本进行去重处理时,可以利用去重算法完成数据样本的去重,去重算法包括但不限于哈希算法。
可选的,数据采集模块在执行上述三项设定处理或者任两项设定处理时,各设定处理之间的执行顺序不限,可以先后执行或者并列执行。优选的,优先执行设定类型字段的过滤处理,以将整个字段的全部数据过滤掉,极大减少后续处理的数据样本数;再执行空数据样本过滤处理,最后执行去重处理。由于去重处理较空数据样本过滤处理耗费更多的计算资源,则优先空数据样本过滤处理,以减少去重处理的数据样本数,从而节省计算资源,提高设定处理的效率,进而提高敏感数据扫描的效率。
S240、消息中间件将数据样本进行存储。
S250、扫描节点集群中的每个扫描节点从消息中间件中读取数据样本,并对数据样本进行扫描,得到敏感数据。
数据采集模块对每个字段分别进行设定处理后,将每个字段发送到消息中间件。消息中间件将每个字段按照接收先后顺序进行存储。相应的,每个扫描节点从消息中间件中读取字段,并对字段中的所有数据进行扫描得到敏感数据。
本发明实施例通过数据采样模块根据元数据确定读取范围,并读取范围内的数据样本,从而剔除掉不存在敏感数据的部分,极大地减少了后续处理的数据样本的数量;通过数据采集模块对读取范围内的数据样本进行设定类型字段的过滤处理、空数据样本过滤处理和去重处理中的至少一项,进一步减少了数据样本的数据量,降低了扫描过程的消耗的计算计算资源,提高了扫描工作效率。
实施例三
图3是本发明实施例三中的敏感数据扫描方法的流程图,本实施例对上述实施例进一步优化,具体对扫描节点集群中扫描节点对数据样本的扫描过程进行细化。如图3所示的方法包括:
S310、数据采样模块读取目标数据库中的数据样本,并将数据样本发送到消息中间件。
S320、消息中间件将数据样本进行存储。
S330、扫描节点集群中的每个扫描节点从消息中间件中读取数据样本,并确定数据样本的长度。
S310~S330详见上述实施例的记载,此处不再赘述。
值得注意的是,各个扫描节点独立地从消息中间件收取由数据采样模块采集的数据样本,各扫描节点之间无通信步骤意味着他们各自独立工作无硬性联系,所以在必要的时候可以自由的进行横向扩容,提高系统的处理能力。
S340、每个扫描节点判断数据样本的长度是否超过设定长度阈值。如果判断结果为是,即数据样本的长度超过设定长度阈值,跳转到S350;如果判断结果为否,即数据样本的长度未超过设定长度阈值,跳转到S360。
示例性的,长度阈值可以是5、8、10等。
S350、每个扫描节点采用文本分类器对数据样本进行敏感数据分类。
本实施例中,文本分类器是使用有监督的学习算法进行模型训练,用于模型训练的训练集可以是数千万的地址、企业名称、身份证号码或电话号码等敏感数据。例如,文本分类器采用由Facebook开源的基于Word-Vector的快速文本分类器,特点是文本分类过程快速且准确率高。
每个扫描节点包括文本分类器的调用接口,通过调用接口向文本分类器发送包括数据样本的分类请求。文本分类器接收到分类请求时,文本分类器根据训练好的模型对请求分类的数据样本进行分类,输出分类类别的置信度。其中,分类类别包括不敏感类别和地址、企业名称、身份证号码和电话号码等敏感类别。将置信度超过设定阈值的类别作为分类结果,设定阈值可以自助设定,如95%。分类结果可以包括至少一种敏感类别或者为不敏感类别
接着,每个扫描节点根据文本分类器的分类结果对数据样本进行标记,例如,标记为不敏感类别,或者标记为至少一种敏感类别。
S360、每个扫描节点采用至少一个正则表达式分别对数据样本进行敏感数据筛选。
可选的,每个扫描节点采用至少一个正则表达式依次对所述数据样本进行敏感数据筛选,其中,至少一个正则表达式分别为不同种类敏感数据的筛选逻辑公式。所述正则表达式可以是身份证号码正则表达式、手机号码的正则表达式或住址的正则表达式,正则表达式的具体数量与类型不做具体限定,依据实际数据样本中的敏感信息的种类设置。每个扫描节点对筛选出的敏感数据,根据所采用正则表达式,标记对应的敏感数据类型。如果一敏感数据通过至少一个正则表达式同时筛选得到,则该敏感数据应标记该至少一个正则表达式对应的敏感数据类型。
本发明实施例采取正则表达式与文本分类器共同作用的混合识别模式。正则表达式的优势是灵活性、逻辑性和功能性非常强,可以迅速地用极简单的方式达到字符串的复杂控制,缺点是对长文本进行处理时效率较差。因此针对较长文本,采用轻量、快速,同时有较高的准确率的文本分类器。
实施例四
图4是本发明实施例四中的敏感数据扫描方法的流程图,本实施例对上述实施例进一步优化,具体限定了目标数据库的确定过程、目标数据库的扫描状态的流转过程以及敏感数据的同步与存储过程,如图4所示的方法包括:
S410、功能接口层获取目标数据库的信息,并将目标数据库的信息存储至配置数据库中。
功能接口层可以配置在一台服务器中,用于用户指定目标数据库,发起扫描任务,查看和下载扫描报告等,主要提供配置数据库的访问接口和交互逻辑。
可选的,用户通过终端向功能接口层(如WEB层)发送扫描请求,该扫描请求包括目标数据库的信息,目标数据库的信息包括目标数据库的唯一标识,如数据库名。此外,目标数据库的信息还可以包括网络地址、协议和驱动等用于通信链接的信息。功能接口层从扫描请求中提取目标数据库的信息。当然,目标数据库的信息还可以预先存储在功能接口层,而不需要从终端获取。
接着,功能接口层将目标数据库的信息存储至配置数据库中。配置数据库可以是任一关系型数据库,如MySql数据库,用于存储目标数据库的信息。可选的,如果配置数据库中维护有唯一标识与网络地址、协议、驱动等的对应关系,该目标数据库的信息可以仅包括唯一标识。如果未维护有唯一标识与网络地址、协议、驱动等的对应关系,则目标数据库的信息需要包括唯一标识以及对应的网络地址、协议、驱动等。
S415、配置数据库将目标数据库的扫描状态设置为待扫描。
其中,配置数据库还用于存储目标数据库的扫描状态。配置数据库在接收到目标数据库的信息后,将目标数据库的扫描状态设置为待扫描;并随着扫描的进度变更扫描状态。
S420、数据采样模块从配置数据库中读取目标数据库的信息,并根据目标数据库的信息链接该目标数据库。
可选的,数据采集模块周期性从配置数据库中读取目标数据库的信息,若未读取到目标数据库的信息,则在下一周期到来时继续读取目标数据库的信息,直到S410之后读取到目标数据库的信息。
接着,数据采集模块根据网络地址、协议和驱动等用于通信链接的信息,链接该目标数据库。可选的,如果目标数据库被其它程序占用,不可链接,则向配置数据库发送扫描失败的执行状态信息;如果目标数据库成功链接,则向配置数据库发送正在扫描的执行状态信息,以供配置数据库变更扫描状态。
需要说明的是,S415和S420均在S410之后触发执行,而S415和S420分别由配置数据库和数据采样模块按照自身逻辑执行,则S415和S420的执行顺序与配置数据库和数据采样模块的自身逻辑有关。在实际应用场景中,S415和S420可以先后执行或者并行执行。
S425、数据采样模块从链接到的目标数据库读取数据样本并将所述数据样本发送到消息中间件。
可选的,数据采样模块在从链接到的目标数据库读取数据样本时,可以读取链接到的目标数据库的元数据;根据所述元数据确定读取范围,并读取所述读取范围内的数据样本;进一步的,对所述读取范围内的数据样本进行设定处理,得到所述数据样本,具体详见上述实施例的记载,此处不再赘述。
可选的,如果数据采样模块未成功读取到目标数据库的元数据,向配置数据库发送扫描识别的执行状态信息,以供配置数据库变更扫描状态。
可选的,数据采样模块将数据样本发送到消息中间件之后,向配置数据库发送采样结束的执行状态信息,以供配置数据库变更扫描状态。
S430、配置数据库响应于数据采样模块发送的执行状态信息,设置所述目标数据库的扫描状态。
根据上述描述,配置数据库响应于数据采样模块发送的扫描失败的执行状态信息,将目标数据库的扫描状态变更为扫描失败;响应于数据采样模块发送的正在扫描的执行状态信息,将目标数据库的扫描状态变更为扫描中;响应于数据采样模块发送的采样结束的执行状态信息,将目标数据库的扫描状态变更为采样结束。值得说明的是,S430的触发条件是数据采样模块发送的执行状态信息,可在S420~S425的执行过程中,接收到执行状态信息后执行。
S435、扫描节点集群中的每个扫描节点从消息中间件中读取所述数据样本,并对数据样本进行扫描,得到敏感数据。
可选的,每个扫描节点从消息中间件中读取字段形式的敏感数据,并对读取到的字段中的各数据进行扫描,得到最终的敏感数据。
S440、每个扫描节点将敏感数据存储至缓存。
每个扫描节点将采用正则表达式筛选出的敏感数据和采用文本分类器分类得到的敏感数据存储至缓存,丢弃不属于敏感类别的数据样本。随着扫描节点的扫描操作,缓存中的敏感数据会越来越多。
其中,缓存用于缓存每个扫描节点传输的敏感数据,采用读写访问较快速的数据库,例如Redis,它是一种非常流行的内存数据库,采用k-v结构,读写访问极为快速,常被用做旁挂式缓存使用。
S445、同步模块将敏感数据从缓存中同步至扫描结果数据库。
可选的,同步模块间隔设定时长将设定数量的敏感数据从缓存中同步至扫描结果数据库。示例性的,同步模块首先判断缓存中是否存在未同步的敏感数据。如果存在未同步的敏感数据,则一次性读取设定数量的敏感数据并将读取的数据同步至扫描结果数据库;如果不存在未同步的敏感数据,则间隔设定时长后,继续判断缓存中是否存在未同步的敏感数据。
其中,设定数量由同步模块的性能决定,间隔时长由扫描节点集群的性能决定,例如设定数量为10000,设定时长为1s。
扫描结果数据库负责持久化存储敏感数据。例如,MongoDB是一型NoSql文档数据库,其特点是可以提供极佳的写入性能。鉴于敏感数据的存储由海量的插入操作构成,且有持久保存的需要,故可选择MongoDB作为结果数据库。
S450、功能接口层获取扫描结果数据库的存储数据量。
可选的,扫描结果数据库向功能接口层上报存储数据量,或者功能接口层主动访问扫描结果数据库,读取扫描结果数据里的存储数据量。
S455、功能接口层获取扫描节点集群扫描到的敏感数据的数据量。
可选的,扫描节点集群向功能接口层上报敏感数据的数据量,或者功能接口层主动访问扫描节点集群中的各扫描节点获取敏感数据的数据量。
S460、功能接口层判断存储数据量和所述敏感数据的数据量之差是否在设定范围内。如果判断结果为是,即存储数据量和所述敏感数据的数据量之差在设定范围内,跳转到S461;如果判断结果为否,即存储数据量和所述敏感数据的数据量之差不在设定范围内,跳转到S450。
S461、功能接口层生成扫描报告,并将配置数据库中目标数据库的扫描状态设置为扫描结束
理想情况下,扫描节点集群扫描到的敏感数据均会经过缓存与同步模块的传输,持久存储至扫描结果数据库。最终,敏感数据和扫描结果数据库的存储数据量会一致,从而扫描结束。但是,考虑到传输过程中可能存储丢包的情况,允许存储数据量与敏感数据存储一定的差距。基于此,存在一设定范围,如10,如果存储数据量和所述敏感数据的数据量之差在设定范围内,说明在丢包的情况下,扫描节点集群扫描到的敏感数据均持久存储至扫描结果数据库,则功能接口层生成扫描报告,并将配置数据库中所述目标数据库的扫描状态设置为扫描结束。其中,扫描报告的内容包括但不限于敏感数据的数量、目标数据库的信息、总耗时和各扫描状态的变更时刻等。扫描报告的格式不限,可以是Word、Excel和PPT等各种文本格式。
如果存储数据量和所述敏感数据的数据量之差未在设定范围内,说明扫描节点集群扫描到的敏感数据尚未均持久存储至扫描结果数据库,则返回执行S450以及后续步骤,直到存储数据量和所述敏感数据的数据量之差在设定范围内。
本发明实施例通过功能接口层获取目标数据库的信息,并通过数据采样模块和扫描节点集群对目标数据库进行自主全库无差别采集和扫描,提高了自动化程度;而且,除指定目标数据库外,不需要知晓敏感信息可能存在的具体位置,避免出现漏查的情况;通过数据采样模块根据所述目标数据库的信息链接所述目标数据库,并从链接到的所述目标数据库读取数据样本,通过网络链接的方式读取数据样本,适用于对分布式数据库、远程配置的数据库的数据扫描场景;同时通过网络扩容,实现数据库和数据采样模块的扩展。
本发明实施例通过配置数据库维护扫描状态,使得扫描全程可监控,可追溯,提高扫描过程的可靠性和稳定性。
本发明实施例中,由于扫描节点集群的规模可能会很大,一旦开始扫描流程,将在短时间内产生极大量的敏感数据,如果由扫描节点直接将敏感数据写入扫描结果数据库,不但使扫描节点需要等待大量的I/O操作,无法充分利用计算资源,且容易使扫描结果数据库称为扫描流水线上的瓶颈,从而影响扫描过程的效率。如果在扫描过程中,将敏感数据集中缓存,再由同步模块负责将敏感数据从缓存批量同步到扫描结果数据库,可以有效解决扫描结果数据库的性能问题。
本发明实施例中,如果所述存储数据量和所述敏感数据的数据量之差在设定范围内,通过功能接口层生成扫描报告,并将扫描状态设置为扫描结束,从而及时识别到扫描结束的时刻,并自动生成扫描报告以及设置扫描结束状态。
综合上述实施例的描述,建立了对数据样本进行一系列处理的流水线,将目标数据库的确定、扫描状态的设置、数据样本的采样过程、敏感数据的扫描过程、扫描报告等步骤充分解耦,给各部分都提供足够的扩展弹性,能够支撑大规模扫描任务的实施。
在一实际应用场景中,一个2核心8GB内存的数据采样模块可以同时对数十个目标数据库进行采样而不触及性能瓶颈,但采集的数据样本数量可以供7至8个同等计算资源配置的扫描节点满负载运行。一个2核心8GB内存的数据采样模块搭配一个2核心8GB内存的扫描节点,可以在30分钟左右完成3700000+字段的完整数据扫描过程,并生成扫描报告,其扫描效率远远高于同等资源配置条件下的传统实现方式。
实施例五
本实施例提供一种上述敏感数据的扫描方法所适用的敏感数据的扫描系统,如图1a所示,敏感数据扫描系统主要包括数据采样模块10、消息中间件20和扫描节点集群30,具体详见上述实施例的记载,此处不再赘述。
其中,数据采样模块10,用于读取目标数据库40中的数据样本,并将数据样本发送到消息中间件20;消息中间件20,用于将数据样本进行存储;扫描节点集群30,用于通过每个扫描节点从消息中间件20中读取数据样本,并对所述数据样本进行扫描,得到敏感数据。
本发明实施例通过数据采样模块10读取目标数据库40中的数据样本,并将所述数据样本发送到消息中间件20,再由消息中间件20将所述数据样本进行存储。扫描节点集群30中的每个扫描节点从所述消息中间件20中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据。消息中间件20将数据的读取过程和数据的计算过程充分解耦,提高了系统的运行效率;本实施例还采用了分布式扫描节点的架构,为扩容提供了充分的弹性;在必要的时候可以自由的进行横向扩容,提高了系统的处理能力。
可选的,数据采样模块10在读取目标数据库40中的数据样本时,具体用于:读取目标数据库40的元数据;根据元数据确定读取范围,并读取所述读取范围内的数据样本。
可选的,数据采样模块10,用于在读取所述读取范围内的数据样本之后,对读取范围内的数据样本进行设定处理,得到数据样本;其中,设定处理包括设定类型字段的过滤处理、空数据样本过滤处理和去重处理中的至少一项。
可选的,扫描节点集群30中的每个扫描节点在对所述数据样本进行扫描,得到敏感数据时,具体用于:确定所述数据样本的长度;如果所述数据样本的长度超过设定长度阈值,采用文本分类器对所述数据样本进行敏感数据分类;
可选的,扫描节点集群30中的每个扫描节点在对所述数据样本进行扫描,得到敏感数据时,具体用于:确定所述数据样本的长度;如果所述数据样本的长度未超过设定长度阈值,所述每个扫描节点采用至少一个正则表达式分别对所述数据样本进行敏感数据筛选;其中,所述至少一个正则表达式分别为不同种类敏感数据的筛选逻辑公式。
图5是本发明实施例所适用的另一种敏感数据的扫描系统的结构示意图。敏感数据扫描系统包括:功能接口层50、配置数据库60、数据采样模块10、中间消息件20、扫描节点集群30、缓存70、同步模块80和扫描结果数据库90。具体详见上述实施例的记载,此处不再赘述。
其中,功能接口层50,用于获取目标数据库40的信息,并将目标数据库的信息存储至配置数据库60中;相应的,数据采样模块10在读取目标数据库40中的数据样本时,具体用于:从配置数据库60中读取目标数据库的信息,并根据目标数据库的信息链接该目标数据库40;从链接到的目标数据库40读取数据样本,并将数据样本发送到消息中间件20。
可选的,配置数据库60,用于在功能接口层50将所述目标数据库40的信息存储至配置数据库60中之后,将所述目标数据库的扫描状态设置为待扫描;响应于所述数据采样模块发送的执行状态信息,设置所述目标数据库的扫描状态。
可选的,扫描节点集群30中的每个扫描节点用于在对所述数据样本进行扫描,得到敏感数据之后,将敏感信息存储至缓存70;相应的,同步模块80用于将敏感数据从缓存70中同步至扫描结果数据库90。
可选的,功能接口层50,用于在同步模块80将敏感数据从缓存70中同步至扫描结果数据库90之后,获取所述扫描结果数据库90的存储数据量;获取所述扫描节点集群30扫描到的敏感数据的数据量;如果所述存储数据量和所述敏感数据的数据量之差在设定范围内,生成扫描报告,并将配置数据库60中所述目标数据库40的扫描状态设置为扫描结束。
本发明实施例所提供的敏感数据的扫描系统可执行本发明任意实施例所提供的敏感数据的扫描方法,具备执行敏感数据的扫描方法的有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种敏感数据扫描方法,其特征在于,包括:
数据采样模块读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件;
所述消息中间件将所述数据样本进行存储;
扫描节点集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据;
所述扫描节点集群中的每个扫描节点对所述数据样本进行扫描,得到敏感数据,包括:扫描节点集群中的每个扫描节点确定所述数据样本的长度;如果所述数据样本的长度超过设定长度阈值,所述每个扫描节点采用文本分类器对所述数据样本进行敏感数据分类;如果所述数据样本的长度未超过设定长度阈值,所述每个扫描节点采用至少一个正则表达式分别对所述数据样本进行敏感数据筛选;其中,所述至少一个正则表达式分别为不同种类敏感数据的筛选逻辑公式。
2.根据权利要求1所述的方法,其特征在于,所述数据采样模块读取目标数据库中的数据样本,包括:
数据采样模块读取目标数据库的元数据;
所述数据采样模块根据所述元数据确定读取范围,并读取所述读取范围内的数据样本。
3.根据权利要求2所述的方法,其特征在于,在所述数据采样模块读取所述读取范围内的数据样本之后,还包括:
所述数据采样模块对所述读取范围内的数据样本进行设定处理,得到所述数据样本;
其中,所述设定处理包括设定类型字段的过滤处理、空数据样本过滤处理和去重处理中的至少一项。
4.根据权利要求1所述的方法,其特征在于,在所述数据采样模块读取目标数据库中的数据样本之前,还包括:
功能接口层获取目标数据库的信息,并将所述目标数据库的信息存储至配置数据库中;
所述数据采样模块读取目标数据库中的数据样本,包括:
数据采样模块从所述配置数据库中读取所述目标数据库的信息,并根据所述目标数据库的信息链接所述目标数据库;
数据采样模块从链接到的所述目标数据库读取数据样本。
5.根据权利要求4所述的方法,其特征在于,在所述功能接口层将所述目标数据库的信息存储至配置数据库中之后,还包括:
所述配置数据库将所述目标数据库的扫描状态设置为待扫描;
所述配置数据库响应于所述数据采样模块发送的执行状态信息,设置所述目标数据库的扫描状态。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述扫描节点集群中的每个扫描节点对所述数据样本进行扫描,得到敏感数据之后,还包括:
所述每个扫描节点将所述敏感数据存储至缓存;
同步模块将所述敏感数据从所述缓存中同步至扫描结果数据库。
7.根据权利要求6所述的方法,其特征在于,在所述同步模块将所述敏感数据从所述缓存中同步至扫描结果数据库之后,还包括:
功能接口层获取所述扫描结果数据库的存储数据量;
所述功能接口层获取所述扫描节点集群扫描到的敏感数据的数据量;
如果所述存储数据量和所述敏感数据的数据量之差在设定范围内,所述功能接口层生成扫描报告,并将配置数据库中所述目标数据库的扫描状态设置为扫描结束。
8.一种敏感数据扫描系统,其特征在于,包括:
数据采样模块,用于读取目标数据库中的数据样本,并将所述数据样本发送到消息中间件;
所述消息中间件,用于将所述数据样本进行存储;
扫描节点集群,用于通过所述集群中的每个扫描节点从所述消息中间件中读取所述数据样本,并对所述数据样本进行扫描,得到敏感数据;
扫描节点集群中的每个扫描节点对所述数据样本进行扫描,得到敏感数据,包括:扫描节点集群中的每个扫描节点确定所述数据样本的长度;如果所述数据样本的长度超过设定长度阈值,所述每个扫描节点采用文本分类器对所述数据样本进行敏感数据分类;如果所述数据样本的长度未超过设定长度阈值,所述每个扫描节点采用至少一个正则表达式分别对所述数据样本进行敏感数据筛选;其中,所述至少一个正则表达式分别为不同种类敏感数据的筛选逻辑公式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010565631.3A CN111737742B (zh) | 2020-06-19 | 2020-06-19 | 敏感数据扫描方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010565631.3A CN111737742B (zh) | 2020-06-19 | 2020-06-19 | 敏感数据扫描方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737742A CN111737742A (zh) | 2020-10-02 |
CN111737742B true CN111737742B (zh) | 2023-06-20 |
Family
ID=72651695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010565631.3A Active CN111737742B (zh) | 2020-06-19 | 2020-06-19 | 敏感数据扫描方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737742B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116171433A (zh) * | 2020-10-01 | 2023-05-26 | 华为技术有限公司 | 用于匿名化感知去重的数据存储装置和方法 |
CN112528330B (zh) * | 2020-12-14 | 2022-12-23 | 建信金融科技有限责任公司 | 日志扫描方法、装置和设备 |
CN113536325A (zh) * | 2021-09-14 | 2021-10-22 | 杭州振牛信息科技有限公司 | 一种数字化信息风险监控方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123370A (zh) * | 2014-07-24 | 2014-10-29 | 杭州安恒信息技术有限公司 | 数据库敏感信息探测方法及系统 |
CN104866770A (zh) * | 2014-02-20 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 敏感数据扫描方法和系统 |
CN110009283A (zh) * | 2019-04-03 | 2019-07-12 | 北京思特奇信息技术股份有限公司 | 一种服务产品的电商化物流跟踪方法和系统 |
-
2020
- 2020-06-19 CN CN202010565631.3A patent/CN111737742B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866770A (zh) * | 2014-02-20 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 敏感数据扫描方法和系统 |
CN104123370A (zh) * | 2014-07-24 | 2014-10-29 | 杭州安恒信息技术有限公司 | 数据库敏感信息探测方法及系统 |
CN110009283A (zh) * | 2019-04-03 | 2019-07-12 | 北京思特奇信息技术股份有限公司 | 一种服务产品的电商化物流跟踪方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111737742A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737742B (zh) | 敏感数据扫描方法和系统 | |
CN110795257B (zh) | 处理多集群作业记录的方法、装置、设备及存储介质 | |
US7624118B2 (en) | Data processing over very large databases | |
CN100596353C (zh) | 提供日志服务的方法及系统 | |
CN109034993A (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
RU2500023C2 (ru) | Синхронизация документа по протоколу, не использующему информацию о состоянии | |
CN111400408A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN109299183A (zh) | 一种数据处理方法、装置、终端设备和存储介质 | |
CN114968953A (zh) | 日志的存储检索方法、系统、终端设备及介质 | |
CN113608952B (zh) | 一种基于日志构建支持环境的系统故障处理方法及系统 | |
CN114579532A (zh) | 处理预写日志的方法、装置及系统 | |
CN102521339A (zh) | 用于动态访问数据源的系统和方法 | |
CN112286767B (zh) | 一种Redis缓存分析方法 | |
CN114969083A (zh) | 一种实时数据分析方法及系统 | |
CN113779215A (zh) | 数据处理平台 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN111881174A (zh) | 一种提供分布式nlp能力服务的装置及方法 | |
CN111459931A (zh) | 数据查重方法和数据查重装置 | |
CN117251416B (zh) | 一种文件扫描方法、装置、计算机设备及存储介质 | |
CN113157726B (zh) | 一种数据库的处理方法及装置 | |
WO2024012186A1 (zh) | 根因定位方法、通信设备及计算机可读存储介质 | |
CN116319068B (zh) | 一种强隔离环境下提高穿透数据处理效率的方法及系统 | |
CN113254262B (zh) | 一种数据库容灾方法、装置和电子设备 | |
CN115858649A (zh) | 脑机接口中多模数据持久化系统 | |
CN117785967A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220920 Address after: 12 / F, 15 / F, 99 Yincheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Applicant after: Jianxin Financial Science and Technology Co.,Ltd. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |