CN110795733A - 管理主机中文件方法和装置 - Google Patents
管理主机中文件方法和装置 Download PDFInfo
- Publication number
- CN110795733A CN110795733A CN201910968095.9A CN201910968095A CN110795733A CN 110795733 A CN110795733 A CN 110795733A CN 201910968095 A CN201910968095 A CN 201910968095A CN 110795733 A CN110795733 A CN 110795733A
- Authority
- CN
- China
- Prior art keywords
- file
- host
- executable file
- determining
- executable
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008859 change Effects 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 214
- 238000012545 processing Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 49
- 238000012217 deletion Methods 0.000 claims description 23
- 230000037430 deletion Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Abstract
本申请实施例公开了一种管理主机中文件方法和装置。所述方法包括:获取主机上存储的可执行文件;利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;根据所述读写操作信息,确定所述主机上可执行文件的变化信息;根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
Description
技术领域
本申请实施例涉及信息处理领域,尤指一种管理主机中文件方法和装置。
背景技术
可执行程序(executable program,EXE File)是可在操作系统存储空间中浮动定位的二进制可执行程序。它可以加载到内存中,由操作系统加载并执行。特定的CPU指令集(如X86指令集)对应的不同平台之间的可执行程序不可直接移植运行。
在维护主机安全时,需要定期检测可执行文件的状态,避免可执行文件被恶意篡改,带来安全隐患。
在相关技术中,对可执行文件的管理是以扫描主机文件,筛选得到可执行文件来获取的,上述方式存在管理效率低的问题,且准确性有待提高。
发明内容
为了解决上述任一技术问题,本申请实施例提供了一种管理主机中文件方法和装置。
为了达到本申请实施例目的,本申请实施例提供了一种管理主机中文件的方法,包括:
获取主机上存储的可执行文件;
利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;
根据所述读写操作信息,确定所述主机上可执行文件的变化信息;
根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
在一个示例性实施例中,所述根据所述读写操作信息,确定所述主机上可执行文件的变化信息,包括:
确定所述读写操作信息所使用的钩子函数中对应的功能号;
获取所述功能号对应的回调函数的处理信息;
根据所述回调函数的处理信息,确定主机的可执行文件的变化信息。
在一个示例性实施例中,所述确定所述读写操作信息所使用的钩子函数中对应的功能号,包括如下至少一个:
在所述读写操作信息为新增可执行文件时,所使用的主功能号依次为用于创建文件的主功能号、用于写入内容的主功能号和用于释放文件的功能号;
在所述读写操作信息为删除可执行文件时,所使用主功能号为用于创建文件的主功能号;
在所述读写操作信息为重命名可执行文件时,所使用的主功能号为用于设置文件信息的主功能号。
在一个示例性实施例中,所述根据所述回调函数的处理信息,确定主机的可执行文件的变化信息,包括如下至少一个:
在满足如下条件时,确定所述主机新增可执行文件,包括:以写权限打开一个文件,且打开的文件为可执行文件,并在打开的文件中写入内容,在写入操作完成后,释放所述文件;
在满足如下条件时,确定所述主机删除可执行文件,包括:以删除权限打开文件,且打开的文件是可执行文件,并成功删除文件;
在满足如下条件时,确定所述主机中对可执行文件进行重命名操作,包括:重命名操作成功,且所操作的文件是可执行文件。
在一个示例性实施例中,通过如下方式确定所述主机新增可执行文件,包括:
在用于创建文件的主功能号的回调函数的处理过程中,判断是否以写权限打开文件,以及判断所述文件是否是可执行程序,在判断是以写权限打开且文件是可执行文件后,创建上下文消息;
在用于写入内容的主功能号的回调函数的处理过程中,判断所述文件是否有上下文消息,如果存在上下文消息,则获取写入内容的长度信息,如果写入长度不为0,则启动对用于释放文件的功能号的回调函数的处理过程的检测;
在用于释放文件的功能号的回调函数的处理过程中,根据所述第二标识,判断是否存在上下文消息,如果存在上下文消息,则识别到文件创建。
在一个示例性实施例中,在用于创建文件的主功能号的回调函数的处理过程中,在创建上下文消息之后,为创建的上下文消息增加第一标记,其中所述第一标记用于指示所述上下文消息为有效消息;
在用于写入内容的主功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第一标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,再获取写入内容的长度信息。
在一个示例性实施例中,在用于写入内容的主功能号的回调函数的处理过程中,在启动对用于释放文件的功能号的回调函数的处理过程的检测之前,为所述上下文消息增加第二标记,其中所述第二标记用于指示所述上下文消息为有效消息;
在用于释放文件的功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第二标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,确定所述主机新增可执行文件。
在一个示例性实施例中,通过如下方式确定所述主机删除可执行文件,包括:
在检测到成功删除文件后,判断所述主机所使用的操作系统是否为windows系统;
如果是windows系统,则判断被删除的文件是否从所述主机上清除;
在检测到被删除的文件从所述主机上清除后,则确定所述主机删除可执行文件。
在一个示例性实施例中,判断被删除的文件是否从所述主机上清除,包括
检测主机的操作系统中回收站是否有新增可执行文件的操作;
在检测到主机的操作系统中回收站中没有新增可执行文件的操作,则确定被删除的文件从所述主机上清除。
本申请实施例提供一种管理主机中文件的装置,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序实现以如下操作,包括:
获取主机上存储的可执行文件;
利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;
根据所述读写操作信息,确定所述主机上可执行文件的变化信息;
根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现根据所述读写操作信息,确定所述主机上可执行文件的变化信息的操作,包括:
确定所述读写操作信息所使用的钩子函数中对应的功能号;
获取所述功能号对应的回调函数的处理信息;
根据所述回调函数的处理信息,确定主机的可执行文件的变化信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述确定所述读写操作信息所使用的钩子函数中对应的功能号的操作,包括如下至少一个:
在所述读写操作信息为新增可执行文件时,所使用的主功能号依次为用于创建文件的主功能号、用于写入内容的主功能号和用于释放文件的功能号;
在所述读写操作信息为删除可执行文件时,所使用主功能号为用于创建文件的主功能号;
在所述读写操作信息为重命名可执行文件时,所使用的主功能号为用于设置文件信息的主功能号。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述根据所述回调函数的处理信息,确定主机的可执行文件的变化信息的操作,包括如下至少一个:
在满足如下条件时,确定所述主机新增可执行文件,包括:以写权限打开一个文件,且打开的文件为可执行文件,并在打开的文件中写入内容,在写入操作完成后,释放所述文件;
在满足如下条件时,确定所述主机删除可执行文件,包括:以删除权限打开文件,且打开的文件是可执行文件,并成功删除文件;
在满足如下条件时,确定所述主机中对可执行文件进行重命名操作,包括:重命名操作成功,且所操作的文件是可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现通过如下方式确定所述主机新增可执行文件的操作,包括:
在用于创建文件的主功能号的回调函数的处理过程中,判断是否以写权限打开文件,以及判断所述文件是否是可执行程序,在判断是以写权限打开且文件是可执行文件后,创建上下文消息;
在用于写入内容的主功能号的回调函数的处理过程中,判断所述文件是否有上下文消息,如果存在上下文消息,则获取写入内容的长度信息,如果写入长度不为0,则启动对用于释放文件的功能号的回调函数的处理过程的检测;
在用于释放文件的功能号的回调函数的处理过程中,根据所述第二标识,判断是否存在上下文消息,如果存在上下文消息,则识别到文件创建。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现如下操作:
在用于创建文件的主功能号的回调函数的处理过程中,在创建上下文消息之后,为创建的上下文消息增加第一标记,其中所述第一标记用于指示所述上下文消息为有效消息;
在用于写入内容的主功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第一标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,再获取写入内容的长度信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现如下操作:
在用于写入内容的主功能号的回调函数的处理过程中,在启动对用于释放文件的功能号的回调函数的处理过程的检测之前,为所述上下文消息增加第二标记,其中所述第二标记用于指示所述上下文消息为有效消息;
在用于释放文件的功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第二标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,确定所述主机新增可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现通过如下方式确定所述主机删除可执行文件的操作,包括:
在检测到成功删除文件后,判断所述主机所使用的操作系统是否为windows系统;
如果是windows系统,则判断被删除的文件是否从所述主机上清除;
在检测到被删除的文件从所述主机上清除后,则确定所述主机删除可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述判断被删除的文件是否从所述主机上清除的操作,包括
检测主机的操作系统中回收站是否有新增可执行文件的操作;
在检测到主机的操作系统中回收站中没有新增可执行文件的操作,则确定被删除的文件从所述主机上清除。
本申请实施例提供的方案,获取主机上存储的可执行文件,并利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息,再根据所述读写操作信息,确定所述主机上可执行文件的变化信息,根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息,利用钩子函数获取外部对可执行文件的管理操作,识别可执行文件的变化信息,提高对可执行文件的监控管理效率。
本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请实施例的实施例一起用于解释本申请实施例的技术方案,并不构成对本申请实施例技术方案的限制。
图1为本申请实施例提供的管理主机中文件方法的流程图;
图2为本申请实施例提供的主机上可执行文件的管理方法的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
图1为本申请实施例提供的管理主机中文件的方法的流程图。图1所示方法包括:
步骤101、获取主机上存储的可执行文件;
在一个示例性实施例中,该步骤用于获取可执行文件的初始状态,获取的方式可以是对主机上的文件进行全面扫描得到可执行文件。
步骤102、利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;
在一个示例性实施例中,在系统没有调用该钩子函数(Hook)之前,钩子函数的程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成自己执行的代码片段。
在一个示例性实施例中,启动内核模块,通过MiniFilter技术Hook文件的IO操作信息,捕获文件的创建、删除、重命名等消息,从而维护清单内容。
步骤103、根据所述读写操作信息,确定所述主机上可执行文件的变化信息;
在一个示例性实施例中,可以借助对可执行文件的操作的读写信息,确定对可执行文件的管理操作,确定可执行文件在主机上发生的变化,得到最新的可执行文件的状态。
在一个示例性实施例中,所述根据所述读写操作信息,确定所述主机上可执行文件的变化信息,包括:
确定所述读写操作信息所使用的钩子函数中对应的功能号;
获取所述功能号对应的回调函数的处理信息;
根据所述回调函数的处理信息,确定主机的可执行文件的变化信息。
利用钩子函数的功能特性,完成对可执行文件的变化信息的获取,无需增加外部的监控程序,降低了实现成本。
步骤104、根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
本申请实施例提供的方法,获取主机上存储的可执行文件,并利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息,再根据所述读写操作信息,确定所述主机上可执行文件的变化信息,根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息,利用钩子函数获取外部对可执行文件的管理操作,识别可执行文件的变化信息,提高对可执行文件的监控管理效率。
下面对本申请实施例提供的方法进行说明:
在一个示例性实施例中,所述确定所述读写操作信息所使用的钩子函数中对应的功能号,包括如下至少一个:
在所述读写操作信息为新增可执行文件时,所使用的主功能号依次为用于创建文件的主功能号、用于写入内容的主功能号和用于释放文件的功能号;
在所述读写操作信息为删除可执行文件时,所使用主功能号为用于创建文件的主功能号;
在所述读写操作信息为重命名可执行文件时,所使用的主功能号为用于设置文件信息的主功能号。
在一个示例性实施例中,所述根据所述回调函数的处理信息,确定主机的可执行文件的变化信息,包括如下至少一个:
在满足如下条件时,确定所述主机新增可执行文件,包括:以写权限打开一个文件,且打开的文件为可执行文件,并在打开的文件中写入内容,在写入操作完成后,释放所述文件;
在满足如下条件时,确定所述主机删除可执行文件,包括:以删除权限打开文件,且打开的文件是可执行文件,并成功删除文件;
在满足如下条件时,确定所述主机中对可执行文件进行重命名操作,包括:重命名操作成功,且所操作的文件是可执行文件。
在相关技术中,可执行程序清单的维护是很多杀毒软件的常规操作,只Hook文件的写消息,即主功能号IDP_MJ_WRITE,由于文件的创建过程中会不断的写入,导致文件创建会触发多次;另外,在第一次触发文件创建时,如果文件没有写全,后续再进行文件创建时,就会导致文件头读些错误,逻辑异常。
在本申请实施例提供的方法中,文件的管理通过如下方式,包括:
1、可执行文件的新增的检测:
以写权限打开一个文件其主功能号为IDP_MJ_CREATE(对应于上文“用于创建文件的主功能号”),而后向打开的文件中确切写入内容,其主功能号为IDP_MJ_WRITE(对应于上文“用于写入内容的主功能号”),最后释放文件的句柄,其主功能号为IDP_MJ_CLEANUP(对应于上文“用于释放文件的主功能号”)。三个步骤缺一不可,方可保证文件创建的信息的精准。
2、可执行文件的删除的检测:
文件删除信息捕获需关心主功能号IDP_MJ_CREATE,在其回调函数中,需判断是否是以删除权限打开文件,删除是否成功,是否是可执行程序,从而识别到文件的确切删除行为。
2、可执行文件的重命名的检测:
文件重命名信息需关心主功能号IRP_MJ_SET_INFORMATION(对应于上文“用于设置文件信息的主功能号”),在其回调函数中,需判断重命名行为是否成功,是否是可执行程序,从而识别到文件重命名的确切行为。
在一个示例性实施例中,通过如下方式确定所述主机新增可执行文件,包括:
在用于创建文件的主功能号的回调函数的处理过程中,判断是否以写权限打开文件,以及判断所述文件是否是可执行程序,在判断是以写权限打开且文件是可执行文件后,创建上下文消息;
在用于写入内容的主功能号的回调函数的处理过程中,判断所述文件是否有上下文消息,如果存在上下文消息,则获取写入内容的长度信息,如果写入长度不为0,则启动对用于释放文件的功能号的回调函数的处理过程的检测;
在用于释放文件的功能号的回调函数的处理过程中,根据所述第二标识,判断是否存在上下文消息,如果存在上下文消息,则识别到文件创建。
在一个示例性实施例中,在用于创建文件的主功能号的回调函数的处理过程中,在创建上下文消息之后,为创建的上下文消息增加第一标记,其中所述第一标记用于指示所述上下文消息为有效消息;
在用于写入内容的主功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第一标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,再获取写入内容的长度信息。
在一个示例性实施例中,在用于写入内容的主功能号的回调函数的处理过程中,在启动对用于释放文件的功能号的回调函数的处理过程的检测之前,为所述上下文消息增加第二标记,其中所述第二标记用于指示所述上下文消息为有效消息;
在用于释放文件的功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第二标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,确定所述主机新增可执行文件。
在IDP_MJ_CREATE回调函数中,判断文件是否是以写权限打开、是否是可执行程序,过滤掉那些并非以写权限打开的、并非是可执行程序的消息。而后创建上下文环境,标识这个消息在向后传递的过程中是有效消息。
在IDP_MJ_WRITE回调函数中,判断其上下文环境是否存在,如果存在且其写入长度不为0,则为上下文环境打上标记,标识这个消息在向后传递的过程中是有效消息。
在IDP_MJ_CLEANUP回调函数中,判断是否存在上下文环境,如果存在上下文环境且上下文环境中已打标记,则识别到文件创建。此时扫描文件信息,新增可执行程序清单。
在一个示例性实施例中,通过如下方式确定所述主机删除可执行文件,包括:
在检测到成功删除文件后,判断所述主机所使用的操作系统是否为windows系统;
如果是windows系统,则判断被删除的文件是否从所述主机上清除;
在检测到被删除的文件从所述主机上清除后,则确定所述主机删除可执行文件。
在一个示例性实施例中,判断被删除的文件是否从所述主机上清除,包括
检测主机的操作系统中回收站是否有新增可执行文件的操作;
在检测到主机的操作系统中回收站中没有新增可执行文件的操作,则确定被删除的文件从所述主机上清除。
Windows系统对于文件的删除分为两种:彻底删除、回收站删除。如果是回收站删除,在原文件删除的基础上,会触发回收站文件的创建,利用在回收站中执行文件创建信息的操作进行捕获,并过滤掉。
下面对本申请实施例提供的方法进行说明:
为了感知文件系统的篡改,即文件的新增、编辑、删除,本申请实施例提供一种主机上可执行程序的维护方法,该方法通过内核捕获可执行程序的IO行为,实时维护一份精准的可执行程序清单。
图2为本申请实施例提供的主机上可执行文件的管理方法的流程图。如图2所示,所述方法包括:
1.通过全盘文件扫描,获取全盘所有的可执行程序,记录为初始可执行程序清单。
2.启动内核模块,通过MiniFilter技术Hook文件的IO操作信息,捕获文件的创建、删除、重命名等消息,从而维护清单内容。
3.文件创建信息捕获:Hook文件的IO操作,文件的创建过程需以写权限打开一个文件其主功能号为IDP_MJ_CREATE,而后向打开的文件中确切写入内容,其主功能号为IDP_MJ_WRITE,最后释放文件的句柄,其主功能号为IDP_MJ_CLEANUP。三个步骤缺一不可,方可保证文件创建的信息的精准。
在IDP_MJ_CREATE回调函数中,判断文件是否是以写权限打开、是否是可执行程序,过滤掉那些并非以写权限打开的、并非是可执行程序的消息。而后创建上下文环境,标识这个消息在向后传递的过程中是有效消息。
在IDP_MJ_WRITE回调函数中,判断其上下文环境是否存在,如果存在且其写入长度不为0,则为上下文环境打上标记,标识这个消息在向后传递的过程中是有效消息。
在IDP_MJ_CLEANUP回调函数中,判断是否存在上下文环境,如果存在上下文环境且上下文环境中已打标记,则识别到文件创建。此时扫描文件信息,新增可执行程序清单。
4.文件删除信息捕获:文件删除信息捕获需关心主功能号IDP_MJ_CREATE,在其回调函数中,需判断是否是以删除权限打开文件,删除是否成功,是否是可执行程序,从而识别到文件的确切删除行为。此外,Windows系统对于文件的删除分为两种:彻底删除、回收站删除。回收站删除,在原文件删除的基础上,会触发回收站文件的创建,需在文件创建信息捕获过程中过滤掉。
5.文件重命名信息捕获:文件重命名信息捕获相对容易,需关心主功能号IRP_MJ_SET_INFORMATION。在其回调函数中,需判断重命名行为是否成功,是否是可执行程序,从而识别到文件重命名的确切行为。
可以对每个可执行文件依次上述三个检测,或者,选择至少一个进行检测,在检测未发生变化时,将该可执行文件增加到白名单中。
本申请实施例提供的方法,提供基于内核的主机可执行程序清单维护方案,可以更为精准的识别文件的创建行为,避免异常逻辑。
本申请实施例提供一种管理主机中文件的装置,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序实现以如下操作,包括:
获取主机上存储的可执行文件;
利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;
根据所述读写操作信息,确定所述主机上可执行文件的变化信息;
根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现根据所述读写操作信息,确定所述主机上可执行文件的变化信息的操作,包括:
确定所述读写操作信息所使用的钩子函数中对应的功能号;
获取所述功能号对应的回调函数的处理信息;
根据所述回调函数的处理信息,确定主机的可执行文件的变化信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述确定所述读写操作信息所使用的钩子函数中对应的功能号的操作,包括如下至少一个:
在所述读写操作信息为新增可执行文件时,所使用的主功能号依次为用于创建文件的主功能号、用于写入内容的主功能号和用于释放文件的功能号;
在所述读写操作信息为删除可执行文件时,所使用主功能号为用于创建文件的主功能号;
在所述读写操作信息为重命名可执行文件时,所使用的主功能号为用于设置文件信息的主功能号。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述根据所述回调函数的处理信息,确定主机的可执行文件的变化信息的操作,包括如下至少一个:
在满足如下条件时,确定所述主机新增可执行文件,包括:以写权限打开一个文件,且打开的文件为可执行文件,并在打开的文件中写入内容,在写入操作完成后,释放所述文件;
在满足如下条件时,确定所述主机删除可执行文件,包括:以删除权限打开文件,且打开的文件是可执行文件,并成功删除文件;
在满足如下条件时,确定所述主机中对可执行文件进行重命名操作,包括:重命名操作成功,且所操作的文件是可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现通过如下方式确定所述主机新增可执行文件的操作,包括:
在用于创建文件的主功能号的回调函数的处理过程中,判断是否以写权限打开文件,以及判断所述文件是否是可执行程序,在判断是以写权限打开且文件是可执行文件后,创建上下文消息;
在用于写入内容的主功能号的回调函数的处理过程中,判断所述文件是否有上下文消息,如果存在上下文消息,则获取写入内容的长度信息,如果写入长度不为0,则启动对用于释放文件的功能号的回调函数的处理过程的检测;
在用于释放文件的功能号的回调函数的处理过程中,根据所述第二标识,判断是否存在上下文消息,如果存在上下文消息,则识别到文件创建。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现如下操作:
在用于创建文件的主功能号的回调函数的处理过程中,在创建上下文消息之后,为创建的上下文消息增加第一标记,其中所述第一标记用于指示所述上下文消息为有效消息;
在用于写入内容的主功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第一标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,再获取写入内容的长度信息。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现如下操作:
在用于写入内容的主功能号的回调函数的处理过程中,在启动对用于释放文件的功能号的回调函数的处理过程的检测之前,为所述上下文消息增加第二标记,其中所述第二标记用于指示所述上下文消息为有效消息;
在用于释放文件的功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第二标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,确定所述主机新增可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现通过如下方式确定所述主机删除可执行文件的操作,包括:
在检测到成功删除文件后,判断所述主机所使用的操作系统是否为windows系统;
如果是windows系统,则判断被删除的文件是否从所述主机上清除;
在检测到被删除的文件从所述主机上清除后,则确定所述主机删除可执行文件。
在一个示例性实施例中,所述处理器调用所述存储器中的计算机程序实现所述判断被删除的文件是否从所述主机上清除的操作,包括
检测主机的操作系统中回收站是否有新增可执行文件的操作;
在检测到主机的操作系统中回收站中没有新增可执行文件的操作,则确定被删除的文件从所述主机上清除。
本申请实施例提供的方案,获取主机上存储的可执行文件,并利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息,再根据所述读写操作信息,确定所述主机上可执行文件的变化信息,根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息,利用钩子函数获取外部对可执行文件的管理操作,识别可执行文件的变化信息,提高对可执行文件的监控管理效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种管理主机中文件的方法,其特征在于,包括:
获取主机上存储的可执行文件;
利用预先获取的钩子函数,获取对所述可执行文件的读写操作信息;
根据所述读写操作信息,确定所述主机上可执行文件的变化信息;
根据所述主机上可执行文件的变化信息,更新对所述主机上可执行文件的记录信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述读写操作信息,确定所述主机上可执行文件的变化信息,包括:
确定所述读写操作信息所使用的钩子函数中对应的功能号;
获取所述功能号对应的回调函数的处理信息;
根据所述回调函数的处理信息,确定主机的可执行文件的变化信息。
3.根据权利要求2所述的方法,其特征在于,所述确定所述读写操作信息所使用的钩子函数中对应的功能号,包括如下至少一个:
在所述读写操作信息为新增可执行文件时,所使用的主功能号依次为用于创建文件的主功能号、用于写入内容的主功能号和用于释放文件的功能号;
在所述读写操作信息为删除可执行文件时,所使用主功能号为用于创建文件的主功能号;
在所述读写操作信息为重命名可执行文件时,所使用的主功能号为用于设置文件信息的主功能号。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述回调函数的处理信息,确定主机的可执行文件的变化信息,包括如下至少一个:
在满足如下条件时,确定所述主机新增可执行文件,包括:以写权限打开一个文件,且打开的文件为可执行文件,并在打开的文件中写入内容,在写入操作完成后,释放所述文件;
在满足如下条件时,确定所述主机删除可执行文件,包括:以删除权限打开文件,且打开的文件是可执行文件,并成功删除文件;
在满足如下条件时,确定所述主机中对可执行文件进行重命名操作,包括:重命名操作成功,且所操作的文件是可执行文件。
5.根据权利要求4所述的方法,其特征在于,通过如下方式确定所述主机新增可执行文件,包括:
在用于创建文件的主功能号的回调函数的处理过程中,判断是否以写权限打开文件,以及判断所述文件是否是可执行程序,在判断是以写权限打开且文件是可执行文件后,创建上下文消息;
在用于写入内容的主功能号的回调函数的处理过程中,判断所述文件是否有上下文消息,如果存在上下文消息,则获取写入内容的长度信息,如果写入长度不为0,则启动对用于释放文件的功能号的回调函数的处理过程的检测;
在用于释放文件的功能号的回调函数的处理过程中,根据所述第二标识,判断是否存在上下文消息,如果存在上下文消息,则识别到文件创建。
6.根据权利要求5所述的方法,其特征在于:
在用于创建文件的主功能号的回调函数的处理过程中,在创建上下文消息之后,为创建的上下文消息增加第一标记,其中所述第一标记用于指示所述上下文消息为有效消息;
在用于写入内容的主功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第一标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,再获取写入内容的长度信息。
7.根据权利要求5所述的方法,其特征在于:
在用于写入内容的主功能号的回调函数的处理过程中,在启动对用于释放文件的功能号的回调函数的处理过程的检测之前,为所述上下文消息增加第二标记,其中所述第二标记用于指示所述上下文消息为有效消息;
在用于释放文件的功能号的回调函数的处理过程中,在判断所述文件存在上下文消息后,利用所述第二标记,判断所述上下文消息是否为有效消息,在判断所述上下文消息为有效信息后,确定所述主机新增可执行文件。
8.根据权利要求4所述的方法,其特征在于,通过如下方式确定所述主机删除可执行文件,包括:
在检测到成功删除文件后,判断所述主机所使用的操作系统是否为windows系统;
如果是windows系统,则判断被删除的文件是否从所述主机上清除;
在检测到被删除的文件从所述主机上清除后,则确定所述主机删除可执行文件。
9.根据权利要求8所述的方法,其特征在于,判断被删除的文件是否从所述主机上清除,包括
检测主机的操作系统中回收站是否有新增可执行文件的操作;
在检测到主机的操作系统中回收站中没有新增可执行文件的操作,则确定被删除的文件从所述主机上清除。
10.一种管理主机中文件的装置,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序以实现如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968095.9A CN110795733A (zh) | 2019-10-12 | 2019-10-12 | 管理主机中文件方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968095.9A CN110795733A (zh) | 2019-10-12 | 2019-10-12 | 管理主机中文件方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795733A true CN110795733A (zh) | 2020-02-14 |
Family
ID=69439111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968095.9A Pending CN110795733A (zh) | 2019-10-12 | 2019-10-12 | 管理主机中文件方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795733A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991546A (zh) * | 2023-09-28 | 2023-11-03 | 杭州优云科技有限公司 | 一种跨平台存储热迁移方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632093A (zh) * | 2013-09-17 | 2014-03-12 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN106022120A (zh) * | 2016-05-24 | 2016-10-12 | 北京金山安全软件有限公司 | 文件监控处理方法、装置及电子设备 |
CN108399341A (zh) * | 2018-01-17 | 2018-08-14 | 中国地质大学(武汉) | 一种基于移动端的Windows双重文件管控系统 |
US10354081B1 (en) * | 2017-01-05 | 2019-07-16 | Trend Micro Incorporated | Protection of interprocess communications in a computer |
-
2019
- 2019-10-12 CN CN201910968095.9A patent/CN110795733A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632093A (zh) * | 2013-09-17 | 2014-03-12 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN106022120A (zh) * | 2016-05-24 | 2016-10-12 | 北京金山安全软件有限公司 | 文件监控处理方法、装置及电子设备 |
US10354081B1 (en) * | 2017-01-05 | 2019-07-16 | Trend Micro Incorporated | Protection of interprocess communications in a computer |
CN108399341A (zh) * | 2018-01-17 | 2018-08-14 | 中国地质大学(武汉) | 一种基于移动端的Windows双重文件管控系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991546A (zh) * | 2023-09-28 | 2023-11-03 | 杭州优云科技有限公司 | 一种跨平台存储热迁移方法及装置 |
CN116991546B (zh) * | 2023-09-28 | 2024-01-23 | 杭州优云科技有限公司 | 一种跨平台存储热迁移方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7320125B2 (en) | Program execution stack signatures | |
US20170103002A1 (en) | Cyclic commit transaction protocol | |
CN111258850B (zh) | 一种基于Linux系统的更新软件信息的方法及装置 | |
CN102736978A (zh) | 一种检测应用程序的安装状态的方法及装置 | |
CN108664394B (zh) | 一种内存泄露过程追溯方法及装置 | |
CN109783316B (zh) | 系统安全日志篡改行为的识别方法及装置、存储介质、计算机设备 | |
EP3682332A1 (en) | Method and apparatus for erasing or writing flash data | |
KR101769714B1 (ko) | Bad usb 활성화 방지 시스템 및 방법 | |
CN110795733A (zh) | 管理主机中文件方法和装置 | |
EP0883061A1 (en) | Debugging method for a microcomputer system and recording medium on which debug program is recorded | |
CN111290747B (zh) | 一种创建函数钩子的方法、系统、设备及介质 | |
CN112650613B (zh) | 一种错误信息处理方法、装置、电子设备及存储介质 | |
CN111813748B (zh) | 一种文件系统的挂载方法、装置、电子设备及存储介质 | |
CN114546717A (zh) | 安卓智能终端开机的方法、装置、智能终端和存储介质 | |
CN114546420A (zh) | 一种软件远程安装保护卸载方法 | |
CN111046435A (zh) | 一种暗访录像内容保护方法、装置、终端及存储介质 | |
CN115828246B (zh) | 一种离线恶意程序及行为监测方法、装置、介质及设备 | |
CN113672278B (zh) | 微服务架构下的服务节点版本控制方法及装置 | |
JPH09288577A (ja) | コンピュータウイルス感染監視方法および装置 | |
CN117742897B (zh) | 一种基于容器镜像漏洞自动修复的实现方法 | |
CN112866218B (zh) | 远程收集系统信息的处理方法及相关设备 | |
CN110610086B (zh) | 非法代码识别方法、系统、装置及存储介质 | |
US20160274957A1 (en) | Information processing device, control method thereof, and recording medium | |
CN115080966B (zh) | 动态白名单驱动方法及系统 | |
CN114048488B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200214 |