基于剪切板的涉密文档数据保护系统和方法与流程

文档序号:32898092发布日期:2023-01-13 00:58阅读:34来源:国知局
基于剪切板的涉密文档数据保护系统和方法与流程

1.本发明涉及数据保护技术领域,具体地,涉及一种基于剪切板的涉密文档数据保护系统和方法。


背景技术:

2.军工、企事业单位由于保密或自身利益常需要对重要文档进行透明加密,并且此类涉密文档需支持在常用软件(wps、office、记事本等)上进行打开、编辑等操作。此时,涉密文档处于透明解密状态,通过操作系统剪切板可以轻易将涉密内容粘贴并混杂于非涉密文档中,从而较易逃脱相关检查软件对文档涉密性的检测,因此有较大的信息安全泄露风险。
3.专利文献cn105160263a(申请号:cn201510604865.3)公开了一种防止外发文档被复制的方法,包括:创建带有特征的加密文档和创建针对加密文档的阅读器;所述阅读器通过特定标记判断剪贴板的变化,并通过特定函数干预剪贴板的数据。本发明的有益效果如下:通过删除剪切板内容的方法可以达到彻底保护文档被复制的目的。
4.当前剪切板相关专利多是针对某一进程进行防护,少数针对多进程的防护也是通过设置应用程序白名单的形式来作为判定涉密进程的依据,未考虑同一应用程序(如wps、office)存在同时打开涉密文档和非涉密文档情况下这一场景下的涉密进程识别。本发明可以在不影响原有系统复制/粘贴功能的基础上,实现了操作对涉密文档进程的识别、涉密进程剪切板数据防泄露。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种基于剪切板的涉密文档数据保护系统和方法。
6.根据本发明提供的基于剪切板的涉密文档数据保护系统,包括:
7.注入模块:将动态库注入到应用程序并挂接剪切板和文件相关处理函数;
8.监视模块:对进程打开、关闭相关涉密文件的行为进行监视和记录,设置私有剪切板,用于存放涉密数据;
9.复制行为拦截模块:拦截进程的复制行为;
10.粘贴行为拦截模块:拦截进程的粘贴行为。
11.优选的,所述注入模块包括如下模块:
12.模块m1.1:设置应用注入名单,通过驱动注入技术实现向应用动态注入动态库;
13.模块m1.2:应用加载动态库,通过挂钩hook技术,挂接标准剪切板和ole剪切板;
14.模块m1.3:应用加载动态库,通过挂钩hook技术,挂接文件打开、关闭函数。
15.优选的,所述监视模块包括如下模块:
16.模块m2.1:当进程打开文件时,触发执行挂钩hook内部的文件打开流程,该流程首先查询待打开文件的文件头信息,判定该文件是否为加密文件,若为加密文件,则记录该涉
密文件信息及打开进程识别号pid;
17.模块m2.2:当进程关闭文件时,触发执行挂钩hook内部的文件关闭流程,将该文件信息与所记录的涉密文件信息进行比对,若一致,则删除该涉密文件对应的打开进程识别号pid记录;
18.模块m2.3:根据剪切板内容存储工具uformat常用的值,定义一套私有的uformat类型值,与系统剪切板uformat类型值形成一对一映射关系,从而构建一套与系统剪切板相对应的涉密数据私有剪切板。
19.优选的,所述复制行为拦截模块包括如下模块:
20.模块m3.1:进程发起复制/剪切数据操作指令,触发执行挂钩hook内部的复制/剪切操作流程;
21.模块m3.2:获取该进程识别号pid信息,向监视模块查询该进程是否打开了涉密文档;
22.模块m3.3:若该进程打开了涉密文档,则判定为涉密进程,清除uformat指向的系统剪切板内容,并将涉密数据写入与uformat相对应的私有剪切板中;
23.模块m3.4:若为非涉密进程,则清除与uformat有映射关系的私有剪切板内容,并将数据写入系统剪切板中。
24.优选的,所述粘贴行为拦截模块包括如下模块:
25.模块m4.1:进程发起粘贴数据操作指令,触发执行挂钩hook内部的粘贴操作流程;
26.模块m4.2:获取该进程pid信息,向监视模块查询该进程是否打开了涉密文档;
27.模块m4.3:若该进程打开了涉密文档,则判定为涉密进程,否则为非涉密进程;
28.模块m4.4:对于涉密进程,首先打开与uformat存在映射关系的私密剪切板,若私密剪切板内容不为空,则直接重定向为私有剪切板,若为空,则直接返回系统剪切板内容;对于非涉密进程,则直接返回系统剪切板内容。
29.根据本发明提供的基于剪切板的涉密文档数据保护系统,包括:
30.步骤1:将动态库注入到应用程序并挂接剪切板和文件相关处理函数;
31.步骤2:对进程打开、关闭相关涉密文件的行为进行监视和记录,设置私有剪切板,用于存放涉密数据;
32.步骤3:拦截进程的复制行为;
33.步骤4:拦截进程的粘贴行为。
34.优选的,所述步骤1包括如下步骤:
35.步骤1.1:设置应用注入名单,通过驱动注入技术实现向应用动态注入动态库;
36.步骤1.2:应用加载动态库,通过挂钩hook技术,挂接标准剪切板和ole剪切板;
37.步骤1.3:应用加载动态库,通过挂钩hook技术,挂接文件打开、关闭函数。
38.优选的,所述步骤2包括如下步骤:
39.步骤2.1:当进程打开文件时,触发执行挂钩hook内部的文件打开流程,该流程首先查询待打开文件的文件头信息,判定该文件是否为加密文件,若为加密文件,则记录该涉密文件信息及打开进程识别号pid;
40.步骤2.2:当进程关闭文件时,触发执行挂钩hook内部的文件关闭流程,将该文件信息与所记录的涉密文件信息进行比对,若一致,则删除该涉密文件对应的打开进程识别
号pid记录;
41.步骤2.3:根据剪切板内容存储工具uformat常用的值,定义一套私有的uformat类型值,与系统剪切板uformat类型值形成一对一映射关系,从而构建一套与系统剪切板相对应的涉密数据私有剪切板。
42.优选的,所述步骤3包括如下步骤:
43.步骤3.1:进程发起复制/剪切数据操作指令,触发执行挂钩hook内部的复制/剪切操作流程;
44.步骤3.2:获取该进程识别号pid信息,向监视模块查询该进程是否打开了涉密文档;
45.步骤3.3:若该进程打开了涉密文档,则判定为涉密进程,清除uformat指向的系统剪切板内容,并将涉密数据写入与uformat相对应的私有剪切板中;
46.步骤3.4:若为非涉密进程,则清除与uformat有映射关系的私有剪切板内容,并将数据写入系统剪切板中。
47.优选的,所述步骤4包括如下步骤:
48.步骤4.1:进程发起粘贴数据操作指令,触发执行挂钩hook内部的粘贴操作流程;
49.步骤4.2:获取该进程pid信息,向监视模块查询该进程是否打开了涉密文档;
50.步骤4.3:若该进程打开了涉密文档,则判定为涉密进程,否则为非涉密进程;
51.步骤4.4:对于涉密进程,首先打开与uformat存在映射关系的私密剪切板,若私密剪切板内容不为空,则直接重定向为私有剪切板,若为空,则直接返回系统剪切板内容;对于非涉密进程,则直接返回系统剪切板内容。
52.与现有技术相比,本发明具有如下的有益效果:
53.本发明通过采用api hook、私密剪切板等手段,施用户在使用本发明时,用户一方面可以在多个涉密文档进程之间自由粘贴,但无法将涉密内容粘贴到非涉密进程中;另一方面也可以将非涉密文档的数据粘贴到涉密文档中。同时,非涉密文档之间的复制/粘贴功能不受影响。综上,本发明在不影响系统原有复制/粘贴功能基础上,实现了对打开涉密文档行为的识别、涉密文档剪切板数据防泄露。
附图说明
54.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
55.图1为本发明方法流程图。
具体实施方式
56.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
57.实施例:
58.本发明提供了一种基于剪切板的涉密文档数据保护系统,包括如下模块:
59.注入模块:动态库注入到应用程序并挂接剪切板和文件相关处理函数;
60.监视模块:对进程打开、关闭相关涉密文件的行为进行监视并记录;设置私有剪切板,存放涉密数据;
61.复制行为拦截模块:拦截进程的复制行为;
62.粘贴行为拦截模块:拦截进程的粘贴行为。
63.所述注入模块包括:
64.1)设置应用注入名单,通过驱动注入技术实现向应用动态注入动态库;
65.2)应用加载动态库,通过挂钩hook技术,挂接标准剪切板和ole剪切板;
66.3)应用加载动态库,通过挂钩hook技术,挂接文件打开、关闭等函数。
67.所述监视模块包括:
68.1)当进程打开文件时,触发执行hook内部的文件打开流程,该流程首先查询待打开文件的文件头信息,判定该文件是否为加密文件。若为加密文件,则记录该涉密文件信息及打开进程pid;
69.2)当进程关闭文件时,触发执行hook内部的文件关闭流程,将该文件信息与所记录的涉密文件信息进行比对,若一致,则删除该涉密文件对应的打开进程pid。
70.3)根据剪切板uformat常用的值,定义一套私有的uformat类型值,与系统剪切板uformat类型值形成一对一映射关系,从而构建一套与系统剪切板相对应的涉密数据私有剪切板。
71.所述复制行为拦截模块包括:
72.1)进程发起复制/剪切数据操作指令,触发执行hook内部的复制/剪切操作流程;
73.2)获取该进程pid信息,向监视模块查询该进程是否打开了涉密文档;
74.3)若该进程打开了涉密文档,则判定为涉密进程。清除uformat指向的系统剪切板内容,并将涉密数据写入与uformat相对应的私有剪切板中;
75.4)若为非涉密进程,则清除与uformat有映射关系的私有剪切板内容,并将数据写入系统剪切板中。
76.所述粘贴行为拦截模块包括:
77.1)进程发起粘贴数据操作指令,触发执行hook内部的粘贴操作流程;
78.2)获取该进程pid信息,向监视模块查询该进程是否打开了涉密文档;
79.3)若该进程打开了涉密文档,则判定为涉密进程,否则为非涉密进程。
80.4)对于涉密进程,则首先打开与uformat存在映射关系的私密剪切板,若不为空,则直接重定向为私有剪切板,若为空,则直接返回系统剪切板内容。
81.对于非涉密进程,则直接返回系统剪切板内容。
82.本发明通过api hook等技术,实现了对涉密文档的识别、剪切板数据的防泄漏,解决了企业涉密文档打开过程中数据易泄露的问题。
83.如图1,本发明提供了一种基于剪切板的涉密文档数据保护方法,包括:步骤1:将动态库注入到应用程序并挂接剪切板和文件相关函数;步骤2:对进程打开、关闭相关涉密文件的行为进行监视和记录,设置私有剪切板,用于存放涉密数据;步骤3:拦截进程的复制行为;步骤4:拦截进程的粘贴行为。
84.所述步骤1包括如下步骤:步骤1.1:设置应用注入名单,通过驱动注入技术实现向
应用动态注入动态库;步骤1.2:应用加载动态库,通过挂钩hook技术,挂接标准剪切板和ole剪切板;步骤1.3:应用加载动态库,通过挂钩hook技术,挂接文件打开、关闭函数。
85.所述步骤2包括如下步骤:步骤2.1:当进程打开文件时,触发执行挂钩hook内部的文件打开流程,该流程首先查询待打开文件的文件头信息,判定该文件是否为加密文件,若为加密文件,则记录该涉密文件信息及打开进程识别号pid;步骤2.2:当进程关闭文件时,触发执行挂钩hook内部的文件关闭流程,将该文件信息与所记录的涉密文件信息进行比对,若一致,则删除该涉密文件对应的打开进程识别号pid;步骤2.3:根据剪切板内容存储工具uformat常用的值,定义一套私有的uformat类型值,与系统剪切板uformat类型值形成一对一映射关系,从而构建一套与系统剪切板相对应的涉密数据私有剪切板。
86.所述步骤3包括如下步骤:步骤3.1:进程发起复制/剪切数据操作指令,触发执行挂钩hook内部的复制/剪切操作流程;步骤3.2:获取该进程识别号pid信息,向监视模块查询该进程是否打开了涉密文档;步骤3.3:若该进程打开了涉密文档,则判定为涉密进程,清除uformat指向的系统剪切板内容,并将涉密数据写入与uformat相对应的私有剪切板中;步骤3.4:若为非涉密进程,则清除与uformat有映射关系的私有剪切板内容,并将数据写入系统剪切板中。
87.所述步骤4包括如下步骤:步骤4.1:进程发起粘贴数据操作指令,触发执行挂钩hook内部的粘贴操作流程;步骤4.2:获取该进程pid信息,向监视模块查询该进程是否打开了涉密文档;步骤4.3:若该进程打开了涉密文档,则判定为涉密进程,否则为非涉密进程;步骤4.4:对于涉密进程,首先打开与uformat存在映射关系的私密剪切板,若不为空,则直接重定向为私有剪切板,若为空,则直接返回系统剪切板内容;对于非涉密进程,则直接返回系统剪切板内容。
88.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
89.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1