文件跟踪方法及装置与流程

文档序号:30526991发布日期:2022-06-25 07:55阅读:224来源:国知局
文件跟踪方法及装置与流程

1.本技术涉及文件溯源领域,尤其涉及一种文件跟踪方法及装置。


背景技术:

2.随着互联网技术的发展,信息安全变得越来越重要,尤其是企业内部的涉密文件。为了保证涉密文件在企业内部流转过程的安全,通常需要对涉密文件的流转过程进行跟踪监控。
3.在相关技术中,可以对涉密文件进行加密,员工可以使用客户端对其解密后进行访问,客户端还可以记录相关的访问信息,进而实现对企业内部文档的跟踪与监控。然而,这样的文件跟踪方法,需要在设备上安装客户端,并对涉密文件进行解密后才能够进行访问,操作不便。


技术实现要素:

4.本技术的目的是提供一种文件跟踪方法及装置,用于对文件流转过程的追踪和监控。
5.本技术提供一种文件跟踪方法,包括:
6.监控文件操作事件;在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
7.可选地,所述流转信息包括以下至少一项:上一节点的节点信息,当前节点的节点信息,所述目标文件的文件信息,所述文件操作事件的触发时间。
8.可选地,所述监控文件操作事件,包括:将所述文件操作事件与hook函数相关联,并构建与所述hook函数对应的回调函数;其中,所述文件操作事件包括以下至少一项:文件创建事件,文件打开事件,文件保存事件,文件关闭事件;所述回调函数用于获取并记录所述流转信息。
9.可选地,所述在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息,包括:在检测到所述文件操作事件被触发的情况下,通过所述回调函数获取所述流转信息,并通过com组件将所述流转信息存储到所述目标文件的属性信息中,和/或,将所述流转信息存储到服务器中。
10.可选地,所述在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息之后,所述方法还包括:从所述目标文件的属性信息,和/或,所述服务器中提取所述目标文件在流转过程中每个节点对应的流转信息;根据所述目标文件在流转过程中每个节点对应的流转信息,生成流转路径,并基于所述流转路径对所述目标文件进行溯源。
11.可选地,所述在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息,包括:在触发的文件操作事件为所述文件创建事件
的情况下,向所述文件创建事件所创建的目标文件中注入目标脚本;其中,所述目标脚本用于在访问所述目标文件时运行所述目标脚本,检测当前设备的运行环境,并在当前设备的运行环境不满足预设条件的情况下,禁止所述目标文件的访问。
12.本技术还提供一种文件跟踪装置,包括:
13.监控模块,用于监控文件操作事件;记录模块,用于在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
14.可选地,所述流转信息包括以下至少一项:上一节点的节点信息,当前节点的节点信息,所述目标文件的文件信息,所述文件操作事件的触发时间。
15.可选地,所述监控模块,具体用于将所述文件操作事件与hook函数相关联,并构建与所述hook函数对应的回调函数;其中,所述文件操作事件包括以下至少一项:文件创建事件,文件打开事件,文件保存事件,文件关闭事件;所述回调函数用于获取并记录所述流转信息。
16.可选地,所述记录模块,具体用于在检测到所述文件操作事件被触发的情况下,通过所述回调函数获取所述流转信息,并通过com组件将所述流转信息存储到所述目标文件的属性信息中,和/或,将所述流转信息存储到服务器中。
17.可选地,所述装置还包括:信息提取模块和生成模块;所述信息提取模块,用于从所述目标文件的属性信息,和/或,所述服务器中提取所述目标文件在流转过程中每个节点对应的流转信息;所述生成模块,用于根据所述目标文件在流转过程中每个节点对应的流转信息,生成流转路径,并基于所述流转路径对所述目标文件进行溯源。
18.可选地,所述装置还包括:注入模块;所述注入模块,用于在触发的文件操作事件为所述文件创建事件的情况下,向所述文件创建事件所创建的目标文件中注入目标脚本;其中,所述目标脚本用于在访问所述目标文件时运行所述目标脚本,检测当前设备的运行环境,并在当前设备的运行环境不满足预设条件的情况下,禁止所述目标文件的访问。
19.本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述文件跟踪方法的步骤。
20.本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述文件跟踪方法的步骤。
21.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述文件跟踪方法的步骤。
22.本技术提供的文件跟踪方法及装置,为了能够实现对设备上访问的文件的跟踪及监控,需要在设备上监控文件操作事件,并在在检测到所述文件操作事件被触发的情况下,获取并记录文件操作事件对应的目标文件的流转信息,以便于根据记录的流转信息,对目标文件进行跟踪和监控。
附图说明
23.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术提供的文件跟踪方法的流程示意图;
25.图2是本技术提供的文件跟踪装置的结构示意图;
26.图3是本技术提供的电子设备的结构示意图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
29.以下对本技术实施例所涉及的专业术语进行解释:
30.进程注入:在windows系统中,每个进程都有自己的私有内存地址空间,当使用指针访问内存时,一个进程无法访问另一个进程的内存地址空间。进程注入即让一个线程在别的进程中执行。在本技术实施例中,可以通过对特定应用的进程进行进程注入的方式,在该特定应用运行时监控文件操作时间。
31.钩子(hook):是windows系统消息处理机制的一个平台,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。
32.每一个hook都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的、应用程序定义的、被hook子程调用的回调函数,也就是该钩子的各个处理子程序。当与指定的hook子程关联的消息发生时,系统就把这个消息传递到对应的hook子程。一些hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。
33.windows系统并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,windows系统便释放其占用的内存,并更新整个hook链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。
34.钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
35.全局唯一标识符(globally unique identifier,guid):是一种由算法生成的二
进制长度为128位的数字标识符。guid主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的guid。guid的总数达到了2^128(3.4
×
10^38)个,所以随机生成两个相同guid的可能性非常小,但并不为0。所以,用于生成guid的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。
36.为了保护企业内部涉密文件的泄露,同时能够对企业涉密文件进行跟踪和监控,现有的文件跟踪方法多数为在客户端的中使用文件加密技术对涉密文件进行加密和解密。该跟踪方法可以使文件在磁盘中保存时,保存为一个新的加密文件,新的文件中可以包含特定的加密信息和文件本身的信息,加密信息可以跟随文件同时进行分发,以此达到追踪文档流转过程的目的。
37.然而,现有的文件跟踪方法,需要在设备中安装客户端,在未安装客户端的设备中则无法对涉密文件进行访问。并且,若文件在解密后被流转到外部设备上,也无法对文件进行跟踪,导致涉密文件的泄密。
38.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的文件跟踪方法进行详细地说明。
39.如图1所示,本技术实施例提供的一种文件跟踪方法,该方法可以包括下述步骤101和步骤102:
40.步骤101、监控文件操作事件。
41.示例性地,上述文件操作事件可以是需要进行监控的文件类型所对应的目标应用所能触发的文件操作事件。上述监控的文件类型可以包括文档、图片等类型的文件。上述文件操作事件包括:文件创建事件,文件打开事件,文件保存事件,文件关闭事件等对文件进行操作时触发的事件。
42.示例性地,可以通过上述进程注入的方式,在上述目标应用的进程中注入包含有执行本技术实施例提供的文件跟踪方法的代码的动态链接库(dynamic link library,dll)文件,并通过在目标应用的进程中加载该dll文件来实现对文件操作事件的监控。
43.步骤102、在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息。
44.其中,所述流转信息用于跟踪所述目标文件的流转。
45.示例性地,在检测到文件操作事件被触发的情况下,表示当前设备正在访问需要监控的文件类型的文件,即上述目标文件。该目标文件可以是当前设备上存储的任一需要监控的文件,例如,doc、docx、ppt、pptx、xls、xlsx格式的办公文档。
46.示例性地,在检测到文件操作事件被触发后,可以确定该文件操作事件所操作的目标文件,并获取上述流转信息。
47.示例性地,上述流转信息可以包括以下至少一项:上一节点的节点信息,当前节点的节点信息,所述目标文件的文件信息,所述文件操作事件的触发时间。
48.具体地,上述流转信息可以包括:目标文件的guid,当前设备的用户的guid,上一节点的guid,当前节点的guid,当前时间,目标文件的文件路径等。
49.示例性地,在获取到目标文件在当前设备上的流转信息后,可以将上述流转信息存储到文件的属性信息,或者服务器中,以实现对目标文件的跟踪和监控。
50.如此,为了能够实现对设备上访问的文件的跟踪及监控,需要在设备上监控文件操作事件,并在在检测到所述文件操作事件被触发的情况下,获取并记录文件操作事件对应的目标文件的流转信息,以便于根据记录的流转信息,对目标文件进行跟踪和监控。
51.可选地,在本技术实施例中,可以通过hook技术实现对文件操作事件的监控。
52.示例性地,上述步骤101,可以包括以下步骤101a:
53.步骤101a、将所述文件操作事件与hook函数相关联,并构建与所述hook函数对应的回调函数。
54.其中,所述文件操作事件包括以下至少一项:文件创建事件,文件打开事件,文件保存事件,文件关闭事件;所述回调函数用于获取并记录所述流转信息。
55.示例性地,通过hook函数关联目标应用的文件操作事件对应的函数,可以在文件操作事件对应的函数运行时,触发操作系统执行hook函数的回调函数,以执行回调函数中的代码。
56.示例性地,上述文件操作事件对应的函数可以包括:打开open()函数、关闭close()函数、创建create()函数等。不同的函数对应不同的文件操作事件。
57.需要说明的是,上述监控文件操作事件可以由注入到上述目标应用的进程中的目标线程来执行。
58.如此,通过hook函数关联目标应用的文件操作事件对应的函数,可以实现对上述文件操作事件的监控。
59.进一步地,在本技术实施例中,在检测到上述文件操作事件被触发后,可以通过上述回调函数,获取当前设备的相关信息,并记录到目标文件的属性信息或者服务器中。
60.示例性地,上述步骤102,可以包括以下步骤102a:
61.步骤102a、在检测到所述文件操作事件被触发的情况下,通过所述回调函数获取所述流转信息,并通过com组件将所述流转信息存储到所述目标文件的属性信息中,和/或,将所述流转信息存储到服务器中。
62.示例性地,上述com组件为上述目标应用提供的组件。即当获取到上述流转信息后,可以通过目标应用提供的com组件,在目标文件的属性信息中添加上述流转信息。
63.需要说明的是,通过目标应用提供的com组件在目标文件的属性信息中添加上述流转信息,具有较好的兼容性,且无需进行单独的开发。
64.进一步地,上述步骤102之后,本技术实施例提供的文件跟踪方法,还可以包括以下步骤103和步骤104:
65.步骤103、从所述目标文件的属性信息,和/或,所述服务器中提取所述目标文件在流转过程中每个节点对应的流转信息。
66.步骤104、根据所述目标文件在流转过程中每个节点对应的流转信息,生成流转路径,并基于所述流转路径对所述目标文件进行溯源。
67.可以理解的是,每个设备对涉密文件进行访问时,均可以将通过当前设备获取的流转信息添加到涉密文件的属性信息中。并且,在当前设备上获取上述流转信息时,也需要读取该涉密文件在上一节点添加的流转信息。例如,根据上一节点的流转信息,可以得到上一节点的guid等信息。
68.示例性地,为了实现对企业内部所有涉密文件的远程监控,上述流转信息还可以
存储到服务器中,服务器进行统计和汇总后,可以显示每个涉密文件的流转路径以及每个节点对应的流转信息。
69.举例说明,管理人员可以通过上传到服务器上的流转信息,监控目标文件流转的每个节点、访问的用户、访问时间等信息。
70.可选地,在本技术实施例中,为了避免涉密文件流转到外部设备,导致涉密文件的泄密,本技术实施例提供的文件跟踪方法,还可以对设备运行环境进行检测,并在设备运行环境不满足预设条件的情况下,禁止该外部设备访问该涉密文件。
71.示例性地,上述步骤102,可以包括以下步骤102b:
72.步骤102b、在触发的文件操作事件为所述文件创建事件的情况下,向所述文件创建事件所创建的目标文件中注入目标脚本。
73.其中,所述目标脚本用于在访问所述目标文件时检测当前设备的运行环境,并在当前设备的运行环境不满足预设条件的情况下,禁止所述目标文件的访问。
74.示例性地,为了避免外部设备对涉密文件(即上述目标文件)的访问,可以在文件创建时,向文件中注入目标脚本。该目标脚本在设备对文件进行访问时自动运行,用于检测当前设备的运行环境,若当前设备的运行环境与企业内部的设备的运行环境不同,则表示当前设备为外部设备,为了避免泄密,该目标脚本可以禁止设备访问该涉密文件。
75.可以理解的是,目标脚本禁止设备访问该涉密文件的方法可以包括:关闭该涉密文件,删除该涉密文件,对该涉密文件进行加密等操作。
76.本技术实施例提供的文件跟踪方法,通过进程注入的方式,监控文件操作事件,并在文件操作事件触发时,获取文件操作事件对应的目标文件的流转信息,并将该流转信息存储到目标文件的属性信息,和/或,服务器中,方便对该目标文件进行跟踪和监控。同时,在目标文件创建时,还可以向该目标文件中注入目标脚本,使得外部设备无法访问该目标文件。如此,无需在设备上安装客户端,也能够实现对涉密文件的跟踪和监控,且涉密文件流转到外部环境后,也无法进行访问,避免了泄密情况的发生。
77.需要说明的是,本技术实施例提供的文件跟踪方法,执行主体可以为文件跟踪装置,或者该文件跟踪装置中的用于执行文件跟踪方法的控制模块。本技术实施例中以文件跟踪装置执行文件跟踪方法为例,说明本技术实施例提供的文件跟踪装置。
78.需要说明的是,本技术实施例中,上述各个方法附图所示的。文件跟踪方法均是以结合本技术实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的文件跟踪方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
79.下面对本技术提供的文件跟踪装置进行描述,下文描述的与上文描述的文件跟踪方法可相互对应参照。
80.图2为本技术一实施例提供的文件跟踪装置的结构示意图,如图2所示,具体包括:
81.监控模块201,用于监控文件操作事件;记录模块202,用于在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
82.可选地,所述流转信息包括以下至少一项:上一节点的节点信息,当前节点的节点信息,所述目标文件的文件信息,所述文件操作事件的触发时间。
83.可选地,所述监控模块201,具体用于将所述文件操作事件与hook函数相关联,并构建与所述hook函数对应的回调函数;其中,所述文件操作事件包括以下至少一项:文件创建事件,文件打开事件,文件保存事件,文件关闭事件;所述回调函数用于获取并记录所述流转信息。
84.可选地,所述记录模块202,具体用于在检测到所述文件操作事件被触发的情况下,通过所述回调函数获取所述流转信息,并通过com组件将所述流转信息存储到所述目标文件的属性信息中,和/或,将所述流转信息存储到服务器中。
85.可选地,所述装置还包括:信息提取模块和生成模块;所述信息提取模块,用于从所述目标文件的属性信息,和/或,所述服务器中提取所述目标文件在流转过程中每个节点对应的流转信息;所述生成模块,用于根据所述目标文件在流转过程中每个节点对应的流转信息,生成流转路径,并基于所述流转路径对所述目标文件进行溯源。
86.可选地,所述装置还包括:注入模块;所述注入模块,用于在触发的文件操作事件为所述文件创建事件的情况下,向所述文件创建事件所创建的目标文件中注入目标脚本;其中,所述目标脚本用于在访问所述目标文件时运行所述目标脚本,检测当前设备的运行环境,并在当前设备的运行环境不满足预设条件的情况下,禁止所述目标文件的访问。
87.本技术提供的文件跟踪装置,通过进程注入的方式,监控文件操作事件,并在文件操作事件触发时,获取文件操作事件对应的目标文件的流转信息,并将该流转信息存储到目标文件的属性信息,和/或,服务器中,方便对该目标文件进行跟踪和监控。同时,在目标文件创建时,还可以向该目标文件中注入目标脚本,使得外部设备无法访问该目标文件。如此,无需在设备上安装客户端,也能够实现对涉密文件的跟踪和监控,且涉密文件流转到外部环境后,也无法进行访问,避免了泄密情况的发生。
88.图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行文件跟踪方法,该方法包括:监控文件操作事件;在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
89.此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
90.另一方面,本技术还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的文件跟踪方法,该方法包括:监控文件操作事件;在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对
应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
91.又一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的文件跟踪方法,该方法包括:监控文件操作事件;在检测到所述文件操作事件被触发的情况下,获取并记录所述文件操作事件对应的目标文件的流转信息;其中,所述流转信息用于跟踪所述目标文件的流转。
92.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
93.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
94.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1