一种基于Windows系统的文件操作监控方法和装置与流程

文档序号:24791560发布日期:2021-04-23 14:33阅读:317来源:国知局
一种基于Windows系统的文件操作监控方法和装置与流程
一种基于windows系统的文件操作监控方法和装置
技术领域
1.本发明涉及数据处理技术领域,特别是涉及一种基于windows系统的文件操作监控方法和一种基于windows系统的文件操作监控装置。


背景技术:

2.现有技术中,为避免windows系统中需要进行保护的数据向外部流出,通常需要对windows系统中的指定数据进行保护。由此,可以通过监控文件操作的方式,避免企业中的指定数据通过不符合规则的方式向外部流出。一般就来说,可以调用windows操作系统中提供的api函数以对文件操作进行监控,或者通过在用户进程与底层文件驱动程序之间添加中间层文件监控的方式,实现对文件操作进行监控。但是,api函数的使用较为复杂,在文件操作频率较高的情况下,容易出现无响应的情况,导致可能存在文件操作记录部分丢失的情况。而中间层文件监控的方式,通常只能对基于irp(i/o request packet,i/o请求数据包)的文件操作进行监控,导致监控范围不够全面,且冗余信息较多,有效信息提取困难。


技术实现要素:

3.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据查询方法和相应的一种数据查询装置。
4.为了解决上述问题,本发明实施例公开了一种基于windows系统的文件操作监控方法,包括:
5.采用预设的钩子程序,监控所述windows系统是否执行文件操作;
6.若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;
7.所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。
8.可选地,所述采用预设的钩子程序,监控所述windows系统是否执行文件操作的步骤,包括:
9.采用预设的钩子程序,监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统是否执行文件操作。
10.可选地,所述钩子程序控制所述文件操作调用预设的操作分析函数的步骤,包括:
11.所述钩子程序将所述文件操作调用的所述文件操作函数替换为预设的操作分析函数。
12.可选地,所述方法还包括:
13.通过所述操作分析函数调用所述文件操作函数;
14.所述操作分析函数获取所述文件操作函数返回的操作处理信息,并将所述操作处理信息返回至所述文件操作的发送方。
15.可选地,所述方法还包括:
16.在所述文件操作信息中,提取有效文件操作记录信息;
17.采用可视化页面展示所述有效文件操作记录信息。
18.本发明实施例还公开了一种基于windows系统的文件操作监控装置,包括:
19.监控模块,用于采用预设的钩子程序,监控所述windows系统是否执行文件操作;
20.拦截模块,用于若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;
21.操作采集模块,用于所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。
22.可选地,所述监控模块包括:
23.监控子模块,用于采用预设的钩子程序,监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统是否执行文件操作。
24.可选地,所述操作采集模块包括:
25.操作采集子模块,用于所述钩子程序将所述文件操作调用的所述文件操作函数替换为预设的操作分析函数。
26.可选地,所述装置还包括:
27.函数调用模块,用于通过所述操作分析函数调用所述文件操作函数;
28.信息返回模块,用于所述操作分析函数获取所述文件操作函数返回的操作处理信息,并将所述操作处理信息返回至所述文件操作的发送方。
29.可选地,所述装置还包括:
30.提取模块,用于在所述文件操作信息中,提取有效文件操作记录信息;
31.展示模块,用于采用可视化页面展示所述有效文件操作记录信息。
32.本发明实施例还公开了一种电子设备,包括:
33.一个或多个处理器;和
34.其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本发明实施例所述的一个或多个的方法。
35.本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的一个或多个的方法。
36.本发明实施例包括以下优点:
37.通过本发明实施例的基于windows系统的文件操作监控方法,采用预设的钩子程序,监控所述windows系统是否执行文件操作;若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。从而可以通过所述钩子程序使所述文件操作调用自定义的操作分析函数,并通过所述操作分析函数,完成对所述文件操作的监控。
附图说明
38.图1是本发明的一种基于windows系统的文件操作监控方法实施例的步骤流程图;
39.图2是本发明的另一种基于windows系统的文件操作监控方法实施例的步骤流程图;
40.图3是本发明的一种基于windows系统的文件操作监控装置实施例的结构框图。
具体实施方式
41.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
42.参照图1,示出了本发明的一种基于windows系统的文件操作监控方法实施例的步骤流程图,具体可以包括如下步骤:
43.步骤101,采用预设的钩子程序,监控所述windows系统是否执行文件操作;
44.在本发明实施例中,为了对所述windows系统中产生的文件操作进行监控,所述windows系统中可以预设一用于监控所述windows系统中的文件操作的钩子程序。其后,可以采用预设的钩子程序,监控所述windows系统是否执行文件操作。
45.在具体实现中,可以预设一用于数据泄密防护的监控客户端,所述监控客户端在安装在所述windows系统之后,可以在所述windows系统中部署钩子程序,从而在安装所述监控客户端之后,可以采用所述钩子程序监控所述windows系统是否执行文件操作。
46.作为本发明的一种示例,所述windows系统可以运行有若干进程,所述监控客户端可以将所述钩子程序部署在需要进行文件操作监控的进程中,从而可以监控所述windows系统中是否存在进程执行了文件操作。
47.步骤102,若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;
48.在本发明实施例中,若监控到所述windows系统执行所述文件操作,此时所述钩子程序为了对该文件操作进行处理,可以拦截所述文件操作,以阻止所述文件操作继续执行,从而可以便于后续对所述文件操作进行进一步处理。
49.步骤103,所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。
50.在本发明实施例中,可以预设有操作分析函数,所述操作分析函数为自定义的函数,其可以用于采集所述文件操作相关的文件操作信息,以对所述文件操作进行监控。
51.所述钩子程序拦截所述文件操作之后,可以控制所述文件操作调用所述操作分析函数,从而所述操作分析函数可以在被拦截的所述文件操作中,提取得到文件操作监控所需要的信息,实现对所述文件操作的监控。
52.通过本发明实施例的基于windows系统的文件操作监控方法,采用预设的钩子程序,监控所述windows系统是否执行文件操作;若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。从而可以通过所述钩子程序使所述文件操作调用自定义的操作分析函数,并通过所述操作分析函数,完成对所述文件操作的监控。
53.参照图2,示出了本发明的一种基于windows系统的文件操作监控方法实施例的步骤流程图,具体可以包括如下步骤:
54.步骤201,采用预设的钩子程序,监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统是否执行文件操作;
55.在本发明实施例中,在所述windows系统进行文件操作时,通常需要调用所述windows系统中预设的与文件操作相关的文件操作函数。由此,可以采用预设的钩子程序,
监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统中是否执行文件操作。
56.其中,所述文件操作函数可以为所述windows系统中预设的与文件操作相关的函数。例如,创建文件所需要调用的api(application programming interface,应用程序接口)函数createfile,打开文件所需要调用的api函数openfile,读取文件所需要调用的api函数readfile,写入文件所需要调用的api函数writefile,关闭文件所需要调用的api函数closehandle,以及删除文件所需要调用的api函数deletefile等。
57.在具体实现中,可以预设一用于数据泄密防护的监控客户端,所述监控客户端在安装在所述windows系统之后,可以在所述windows系统中部署钩子程序,从而在安装所述监控客户端之后,可以采用所述钩子程序监控所述windows系统是否调用预设的文件操作函数,以监控所述windows系统是否需要进行文件操作。
58.作为本发明的一种示例,所述windows系统可以运行有若干进程,所述监控客户端可以将所述钩子程序部署在需要进行文件操作监控的进程中,所述钩子程序可以监控进程是否调用预设的文件操作函数,从而确定该进程是否需要执行文件操作。
59.步骤202,若所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;
60.在本发明实施例中,若所述钩子程序监控到所述windows系统执行所述文件操作,此时所述钩子程序为了对该文件操作进行处理,可以拦截所述文件操作,以阻止所述文件操作继续执行,从而可以便于后续对所述文件操作进行进一步处理。
61.在具体实现中,若所述钩子程序监控到所述windows系统调用所述文件操作函数,则可以认为所述windows系统执行所述文件操作,此时所述钩子程序可以阻止所述文件操作函数进一步执行。
62.步骤203,所述钩子程序将所述文件操作调用的所述文件操作函数替换为预设的操作分析函数;所述操作分析函数用于采集文件操作信息。
63.在本发明实施例中,可以预设有操作分析函数,所述操作分析函数为自定义的函数,其可以用于采集所述文件操作相关的文件操作信息,以对所述文件操作进行监控。
64.所述钩子程序拦截所述文件操作之后,可以控制所述文件操作调用所述操作分析函数,从而所述操作分析函数可以在被拦截的所述文件操作中,提取得到文件操作监控所需要的信息,实现对所述文件操作的监控。
65.在具体实现中,所述操作分析函数可以基于所述文件操作函数的格式进行编写,从而使所述文件操作可以执行所述操作分析函数。所述操作分析函数可以存储于一动态链接库中。
66.在本发明的一种实施例中,所述钩子程序控制所述文件操作调用预设的操作分析函数的步骤,包括:
67.s11,所述钩子程序将所述文件操作调用的所述文件操作函数替换为预设的操作分析函数。
68.在本发明实施例中,所述钩子程序可以对所述文件操作进行改写,将所述文件操作中调用所述文件操作函数的信息替换为调用操作分析函数的信息,从而使所述文件操作变更为调用所述操作分析函数。所述操作分析函数执行后,可以采集所述文件操作相关的
文件操作信息,以对所述文件操作进行监控。
69.在具体实现中,所述操作分析函数可以对与所述文件操作相关的文件操作信息进行采集,其后可以将所述文件操作信息存储于一预设的数据库中,从而可以将用户在windows系数中的文件操作相关信息皆存储于所述数据库中,实现对所述文件操作的监控。
70.在具体实现中,所述钩子程序可以在部署至所述windows系统之后,即对所述文件操作函数进行改写,使所述文件操作函数被调用时,即替换为调用所述操作分析函数。由此,若所述windows系统执行文件操作,调用所述文件操作函数,所述文件操作函数的调用即被拦截,同时替换为调用所述操作分析函数,从而完成对所述文件操作的拦截,并实现控制所述文件操作调用所述操作分析函数。
71.在具体实现中,所述操作分析函数还可以根据实际需要,进一步与所述监控客户端进行交互,以确定是否允许所述文件操作执行。所述监控客户端可以将所述数据库中存储的文件操作信息发送至服务端,所述服务端可以在存在冗余的所述文件操作信息提取得到有效文件操作记录信息,并将有效文件操作记录信息发送给一告警服务器。所述告警服务器可以基于有效文件操作记录信息,识别所述文件操作是否为符合数据安全要求的文件操作,在所述文件操作不为符合数据安全要求的文件操作的情况下,所述告警服务器可以向所述监控客户端发送告警通知,以通知所述监控客户端中断当前文件操作。所述监控客户端在接收到所述告警通知后,可以与所述钩子程序进行交互,所述钩子程序继续保持对所述文件操作的拦截,从而避免使用所述windows系统的用户完成存在数据安全风险的文件操作。
72.在本发明的一种实施例中,所述方法还包括:
73.s21,通过所述操作分析函数调用所述文件操作函数;
74.在本发明实施例中,在完成与所述文件操作相关的文件操作信息的采集之后,可以仍然需要完成所述文件操作。则此时所述操作分析函数在采集所述文件操作信息完成后,可以允许执行所述文件操作函数,从而可以继续完成所述文件操作,而不会对用户正常进行文件操作产生明显影响。
75.s22,所述操作分析函数获取所述文件操作函数返回的操作处理信息,并将所述操作处理信息返回至所述文件操作的发送方。
76.在本发明实施例中,所述文件操作函数执行完成后,可以返回操作处理信息,以告知文件操作处理结果。所述操作分析函数在获取到所述文件操作函数返回的操作处理信息之后,可以将所述操作处理信息返回至所述文件操作的发送方,从而对于所述文件操作的发送方来说,其可以进行了文件操作,并获取得到了所述文件操作的操作处理信息,而不会感受到文件操作收到了影响。
77.作为本发明的一种示例,在进程word.exe启动之后,所述监控客户端可以采用动态链接库(dll)注入的方式,将钩子程序部署在进程word.exe中,钩子程序可以对进程word.exe所需要调用的创建文件函数createfile进行改写,使得创建文件函数createfile被调用时,可以替换为调用操作分析函数mycreatefile。从而在进程word.exe调用文件操作函数时,创建文件函数createfile不会被执行,而是可以被钩子程序拦截,创建文件函数createfile的调用自动地替换为操作分析函数mycreatefile的调用,并执行操作分析函数mycreatefile。操作分析函数mycreatefile在采集所述文件操作信息,并将文件操作信息
存储至预设的数据库之后,操作分析函数mycreatefile可以继续调用并执行创建文件函数createfile,创建文件函数createfile执行完成后,可以向操作分析函数mycreatefile返回操作处理信息,操作分析函数mycreatefile可以将操作处理信息返回给进程word.exe,从而完成对文件操作的监控,且不会对用户正常创建文件产生明显影响。
78.在本发明的一种实施例中,所述方法还包括:
79.s31,在所述文件操作信息中,提取有效文件操作记录信息;
80.在本发明实施例中,在获取得到所述文件操作信息之后,由于所述文件操作信息中通常可以存在较多的冗余信息,在此情况下,可以对所述文件操作信息进行数据清洗,提取所述文件操作信息中有效的文件操作记录信息。
81.s32,采用可视化页面展示所述有效文件操作记录信息。
82.在本发明实施例中,为了便于管理员对文件操作进行监控,在提取得到有效文件操作记录信息之后,可以生成一可视化页面,并在可视化页面中展示所述有效文件操作记录信息,从而可以便于管理员高效地的了解所述windows系统的文件调用情况。
83.作为本发明的一种示例,在需要对文件操作进行追溯的情况下,可以将用于数据泄密防护的监控客户端安装在所述windows系统。其后,监控客户端可以在所述windows系统中部署钩子程序。钩子程序可以对文件操作函数进行改写,使得所述文件操作函数被调用时,可以替换为调用所述操作分析函数。其后,在所述windows系统调用文件操作函数以进行文件操作时,文件操作函数可以被钩子程序拦截,并替换为调用所述操作分析函数。所述操作分析函数采集文件操作相关的文件操作信息,并将文件操作信息存储至预设的数据库中。其后可以将所述数据库共享至服务端。所述服务器可以在所述数据库中的文件操作信息提取有效文件操作记录信息,并采用可视化页面展示所述有效文件操作记录信息,从而位于服务端一侧的管理员可以追溯所述windows系统中发生的文件操作。
84.作为本发明的另一种示例,在需要对文件操作进行实时监控的情况下,可以将用于数据泄密防护的监控客户端安装在所述windows系统。其后,监控客户端可以在所述windows系统中部署钩子程序。钩子程序可以对文件操作函数进行改写,使得所述文件操作函数被调用时,可以替换为调用所述操作分析函数。其后,在所述windows系统调用文件操作函数以进行文件操作时,文件操作函数可以被钩子程序拦截,并替换为调用所述操作分析函数。所述操作分析函数采集文件操作相关的文件操作信息,并将文件操作信息存储至预设的数据库中。同时所述操作分析函数与所述监控客户端进行交互,以确定是否允许所述文件操作执行。所述监控客户端可以将所述数据库中存储的文件操作信息发送至服务端,所述服务端可以在存在冗余的所述文件操作信息提取得到有效文件操作记录信息,并将有效文件操作记录信息发送给一告警服务器。所述告警服务器可以基于有效文件操作记录信息,识别所述文件操作是否为符合数据安全要求的文件操作,在所述文件操作不为符合数据安全要求的文件操作的情况下,所述告警服务器可以向所述监控客户端发送告警通知,以通知所述监控客户端中断当前文件操作。所述监控客户端在接收到所述告警通知后,可以与所述钩子程序进行交互,所述钩子程序继续保持对所述文件操作的拦截,从而所述操作分析函数不会继续调用所述文件调用函数,所述文件调用函数不会被执行,从而避免使用所述windows系统的用户完成存在数据安全风险的文件操作。同时还可以在所述windows系统展示消息以提醒用户停止执行存在数据安全风险的操作。
85.通过本发明实施例的基于windows系统的文件操作监控方法,采用预设的钩子程序,监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统是否执行文件操作;若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。从而可以通过所述钩子程序使所述文件操作调用自定义的操作分析函数,并通过所述操作分析函数,完成对所述文件操作的监控。
86.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
87.参照图3,示出了本发明的一种基于windows系统的文件操作监控装置实施例的结构框图,具体可以包括如下模块:
88.监控模块301,用于采用预设的钩子程序,监控所述windows系统是否执行文件操作;
89.拦截模块302,用于若监控到所述windows系统执行所述文件操作,所述钩子程序拦截所述文件操作;
90.操作采集模块303,用于所述钩子程序控制所述文件操作调用预设的操作分析函数;所述操作分析函数用于采集文件操作信息。
91.在本发明一种实施例中,所述监控模块包括:
92.监控子模块,用于采用预设的钩子程序,监控所述windows系统是否调用预设的文件操作函数,以确定所述windows系统是否执行文件操作。
93.在本发明一种实施例中,所述操作采集模块包括:
94.操作采集子模块,用于所述钩子程序将所述文件操作调用的所述文件操作函数替换为预设的操作分析函数。
95.在本发明一种实施例中,所述装置还包括:
96.函数调用模块,用于通过所述操作分析函数调用所述文件操作函数;
97.信息返回模块,用于所述操作分析函数获取所述文件操作函数返回的操作处理信息,并将所述操作处理信息返回至所述文件操作的发送方。
98.在本发明一种实施例中,所述装置还包括:
99.提取模块,用于在所述文件操作信息中,提取有效文件操作记录信息;
100.展示模块,用于采用可视化页面展示所述有效文件操作记录信息。
101.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
102.本发明实施例还提供了一种电子设备,包括:
103.一个或多个处理器;和
104.其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
105.本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或
多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
106.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
107.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
108.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
109.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
110.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
111.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
112.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
113.以上对本发明所提供的一种基于windows系统的文件操作监控方法和一种基于windows系统的文件操作监控装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1