本发明涉及数据安全技术领域,具体涉及一种面向文件复制的数据防泄漏控制方法及文件监控系统。
背景技术:
众所周知,u盘等移动存储设备在使用上具有便携性,方便日常使用。但是,u盘等移动存储设备也存在诸多安全隐患。许多机密文件和数据不经意间通过u盘泄露出去。
虽然,采用文件加密方式能做到防护,但是,无法从源头上防止数据泄漏,禁止复制。
另外,普通文件复制过程也会受到影响,妨碍普通文件的复制效率。
如何既能够阻止机密文件和数据复制到移动存储设备,防止数据泄漏,又不妨碍普通文件复制到移动存储设备,提高文件复制的安全性能,是本领域技术人员亟需解决的问题。
技术实现要素:
针对现有技术中的缺陷,本发明提供了一种面向文件复制的数据防泄漏控制方法及文件监控系统,能够既能够阻止机密文件和数据复制到移动存储设备,防止数据泄漏,又不妨碍普通文件复制到移动存储设备,提高文件复制的安全性能。
第一方面,本发明提供一种面向文件复制的数据防泄漏控制方法,该方法包括:监控向移动存储设备的文件复制过程;
将监控到的文件复制过程挂起,并确定待复制的文件;
对待复制的文件进行审查,获取审查结果;
若审查结果为通过,则执行文件复制过程,否则,禁止该文件复制过程。
进一步地,监控向移动存储设备的文件复制过程,具体包括:
通过预注册目标操作方式的函数,监控是否存在向移动存储设备的文件复制过程,目标操作方式包括文件创建和文件打开操作;
将监控到的文件复制过程挂起,具体包括:
通过createpreoperation函数,将文件复制过程挂起;
通过createpostoperation函数,识别源文件;
对待复制的文件进行审查,具体包括:
对源文件进行审查。
进一步地,通过createpostoperation函数,识别源文件,具体包括:
将createpostoperation函数中的当前进程id与createpreoperation函数中记录的进程id进行比较,将createpostoperation函数中的当前线程id与createpreoperation函数中记录的线程id进行比较:
若均一致,则将createpreoperation函数中记录的文件作为源文件。
进一步地,对源文件进行审查,获取审查结果,具体包括:
读取源文件的内容;
遍历源文件的所有内容,根据预先定义的关键字字典,查找是否存在关键字;
根据预先定义的关键字权重,计算查找到的关键字的权重总和;
将权重总和与预先设置的权重阈值进行比较:
若权重总和低于预先设置的权重阈值,则审查结果为通过,否则,审查结果为不通过。
进一步地,对源文件进行审查,获取审查结果,具体包括:
读取源文件的内容;
遍历源文件的所有内容,与正则表达式或例外的正则表达式进行匹配,正则表达式和例外的正则表达式为预先定义的;
将匹配结果作为审查结果。
进一步地,对源文件进行审查,获取审查结果,具体包括:
读取源文件的内容;
计算源文件内容的哈希值,并与预先存储的文件哈希值进行比较;
将比较结果作为审查结果。
进一步地,对源文件进行审查,获取审查结果,具体包括:
读取源文件的内容;
计算源文件内容的哈希值,并与预先存储的数据表进行匹配,数据表包括多个文件的哈希值;
将匹配结果作为审查结果。
进一步地,对源文件进行审查,获取审查结果,具体包括:
读取源文件的内容;
根据预先训练的公式,对源文件的内容进行预测,获取预测结果,公式是通过监督学习方法,根据学习结果,从给定的训练数据集中得出的公式;
将预测结果作为审查结果。
第二方面,本发明提供一种文件监控系统,该系统包括文件过滤驱动和审查单元,文件过滤驱动用于监控向移动存储设备的文件复制过程,将监控到的文件复制过程挂起,并确定待复制的文件,若审查结果为通过,则执行文件复制过程,否则,禁止该文件复制过程,审查单元用于对待复制的文件进行审查,获取审查结果。
由上述技术方案可知,本实施例提供的面向文件复制的数据防泄漏控制方法及文件监控系统,能够对待复制的文件进行审查,有效防止机密文件和数据复制到移动存储设备,防止数据泄漏,为文件复制和数据安全提供保障,又不会妨碍普通文件复制到移动存储设备,提高文件复制的安全性能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明所提供的一种面向文件复制的数据防泄漏控制方法的方法流程图;
图2示出了本发明所提供的文件复制过程的方法流程图;
图3示出了本发明所提供的一种文件监控系统的连接示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
第一方面,本发明实施例所提供的一种面向文件复制的数据防泄漏控制方法,结合图1,该方法包括:
步骤s1,监控向移动存储设备的文件复制过程,例如,通过注册回调函数的方式来实现文件监控,在程序中可以把文件所有的操作方式进行注册,也可以只注册几个操作方式。通常为了提高性能,只注册需要处理的操作方式函数。
步骤s2,将监控到的文件复制过程挂起,并确定待复制的文件。
步骤s3,对待复制的文件进行审查,获取审查结果。
步骤s4,若审查结果为通过,则执行文件复制过程,否则,禁止该文件复制过程。
由上述技术方案可知,本实施例提供的面向文件复制的数据防泄漏控制方法,能够对待复制的文件进行审查,有效防止机密文件和数据复制到移动存储设备,防止数据泄漏,为文件复制和数据安全提供保障,又不会妨碍普通文件复制到移动存储设备,提高文件复制的安全性能。
为了进一步提高本实施例面向文件复制的数据防泄漏控制方法的准确性,监控向移动存储设备的文件复制过程时,具体实现过程如下:
通过预注册目标操作方式的函数,监控是否存在向移动存储设备的文件复制过程,目标操作方式包括文件创建和文件打开操作。
将监控到的文件复制过程挂起时,具体实现过程如下:
通过createpreoperation函数,将文件复制过程挂起,文件过滤驱动运行于操作系统的内核模式下,不正确的挂起复制过程,会导致系统宕机或者蓝屏。根据windows操作系统的实现原理,只允许在createfile事件完成之前的createpreoperation函数中实现事件等待,因此,在此函数中将复制过程挂起。
通过createpostoperation函数,识别源文件。
对待复制的文件进行审查时,具体是对源文件进行审查。
在此,预先注册了createfile事件(文件创建、打开),在createfile事件完成之前,函数createpreoperation实现复制过程挂起,在createfile事件完成之后,函数createpostoperation实现源文件的识别。
具体地,在源文件识别方面,通过createpostoperation函数,识别源文件时,具体实现过程如下:
将createpostoperation函数中的当前进程id与createpreoperation函数中记录的进程id进行比较,将createpostoperation函数中的当前线程id与createpreoperation函数中记录的线程id进行比较:
若均一致,则将createpreoperation函数中记录的文件作为源文件。
由于在文件的复制过程中,源文件和目的文件必定会经历createfile事件,创建文件句柄。在函数createpostoperation中,句柄创建完成,在函数createpreoperation中,句柄创建发起。而且,在同一个进程下的同一个线程中完成的。经过比较,若函数createpreoperation与函数createpostoperation中的进程id和线程id一致,则函数createpreoperation记录的文件即为源文件,提高源文件识别的准确性。
具体地,在文件审查方面,本实施例面向文件复制的数据防泄漏控制方法采用多种方式,进行审查,如关键字过滤方式、正则表达式过滤方式、文件指纹过滤方式、数据库指纹过滤方式、机器学习过滤方式等。
例如,采用关键字过滤方式时,具体实现过程如下:
读取源文件的内容。
遍历源文件的所有内容,根据预先定义的关键字字典,查找是否存在关键字,或匹配关键字退出。
根据预先定义的关键字权重,计算查找到的关键字的权重总和。
将权重总和与预先设置的权重阈值进行比较:
若权重总和低于预先设置的权重阈值,则审查结果为通过,否则,审查结果为不通过。
在此,用户可以预先定义关键字字典及权重,通过数据扫描的方式,获取源文件的内容,若源文件中不存在关键字,或存在关键字并且权重未超过设定的权重阈值,则将审查结果判定为通过。
例如,采用正则表达式过滤方式时,具体实现过程如下:
读取源文件的内容。
遍历源文件的所有内容,与正则表达式或例外的正则表达式进行匹配,正则表达式和例外的正则表达式为预先定义的。
将匹配结果作为审查结果。
例如,配置待扫描的正则表达式,并且,该方法还可以设置对于该正则表达式的例外。例外可以是一个正则表达式,也可以是一个或多个词汇。读取文件内容,与正则表达式匹配。正则表达式的匹配工具为hyperscan。
在此,本实施例面向文件复制的数据防泄漏控制方法能够采用正则表达式,与源文件的内容进行匹配,提高文件审查的准确性。
例如,采用文件指纹过滤方式时,具体实现过程如下:
读取源文件的内容。
计算源文件内容的哈希值,存储在本地数据库,并与预先存储的文件哈希值进行比较。其中,计算哈希值的算法为md5或sha256。
md5算法是以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
sha256算法是以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过异或,与,或,非,补码,右移,循环右移操作,迭代计算64次,生成256位数据。
将比较结果作为审查结果。
在此,本实施例面向文件复制的数据防泄漏控制方法能够计算各个文件目录的哈希值,再与源文件的内容进行比较,以提高文件审查的准确性。
例如,采用数据库指纹方式时,具体实现过程如下:
读取源文件的内容。
计算源文件内容的哈希值,并与预先存储的数据表进行匹配,数据表包括多个文件的哈希值。
将匹配结果作为审查结果。
例如,指用户设置一个数据源,指定数据库中的某个表格,指定表格中的某些列。爬虫会根据这个设定,获取数据库中的数据,并计算数据的哈希值,哈希值的算法采用md5或者sha256,然后将这个哈希值存入到一个表格中。每个数据表可以形成一个过滤器。过滤器可以定义匹配规则,选择匹配一列或多列和匹配的阀值。
在此,本实施例面向文件复制的数据防泄漏控制方法能够将各个文件构建数据库指纹,再与源文件的内容进行比较,以提高文件审查的准确性。
例如,采用机器学习过滤方式时,具体实现过程如下:
读取源文件的内容。
根据预先训练的公式,对源文件的内容进行预测,获取预测结果,公式是通过监督学习方法,根据学习结果,从给定的训练数据集中得出的公式。
将预测结果作为审查结果。
例如,通过用户指定需要保护的文件样本集和不需要保护的用户样本集,收集两个集合的频发关键字和权重。形成针对不同样本集的过滤器。
学习方法分为监督学习和非监督学习。监督学习是在学习的过程中,人工输入学习结果,从给定的训练数据集中学习出一个公式,当新的数据到来时,可以根据这个公式预测结果。
在此,本实施例面向文件复制的数据防泄漏控制方法能够预先进行公式训练,再进行预测,以提高文件审查的准确性。
第二方面,本发明实施例所提供的一种文件监控系统,结合图3,该系统包括文件过滤驱动1和审查单元2,文件过滤驱动1用于监控向移动存储设备的文件复制过程,将监控到的文件复制过程挂起,并确定待复制的文件,若审查结果为通过,则执行文件复制过程,否则,禁止该文件复制过程。文件监控系统是基于minifilter的文件过滤驱动,主要负责建立卷设备的实例,监控卷设备上的文件活动。
审查单元2用于对待复制的文件进行审查,获取审查结果。
由上述技术方案可知,本实施例提供的文件监控系统,能够对待复制的文件进行审查,有效防止机密文件和数据复制到移动存储设备,防止数据泄漏,为文件复制和数据安全提供保障,又不会妨碍普通文件复制到移动存储设备,提高文件复制的安全性能。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。