CN109271760A - 文件回溯方法、装置和设备 - Google Patents
文件回溯方法、装置和设备 Download PDFInfo
- Publication number
- CN109271760A CN109271760A CN201810895117.9A CN201810895117A CN109271760A CN 109271760 A CN109271760 A CN 109271760A CN 201810895117 A CN201810895117 A CN 201810895117A CN 109271760 A CN109271760 A CN 109271760A
- Authority
- CN
- China
- Prior art keywords
- file
- operator
- database
- monitoring
- memory
- 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 78
- 238000012544 monitoring process Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 7
- 238000009434 installation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种文件回溯方法、装置和设备,其中,该方法,包括:当监控到PE文件的创建操作时,确定创建所述PE文件的操作者;在数据库中建立所述PE文件与所述PE文件的操作者之间的对应关系,其中,所述数据库中记录的PE文件的操作者包括PE格式的文件;当检测到恶意文件时,查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者。本发明提供的技术方案可以回溯出恶意文件的源操作者,从而可以对回溯出的文件源操作者进行彻底查杀,掐断恶意文件的来源。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种文件回溯方法、装置和设备。
背景技术
随着网络技术的飞速发展,网络为用户提供了丰富多彩的应用软件,使得人们可以在网络上将自己所需的应用软件方便的下载到诸如电脑、智能手机等本地终端中来进行使用,从而极大的丰富了用户的网络生活,提高了用户使用应用软件的便利性。
而随着计算机网络技术的广泛应用,互联网逐渐成为恶意程序传播的主要途径之一。恶意程序被下载到本地终端运行后,有些会恶意修改本地终端中的文件,有些会窃取用户的个人信息,有些甚至会造成系统瘫痪等。因此,有必要对恶意程序进行检测和查杀,目前的木马查杀软件一般是检测出恶意文件后,删除恶意文件,以避免恶意文件执行恶意行为。
但是,目前的木马查杀软件只是直接删除恶意文件,而无法回溯出恶意文件的来源,因而无法对恶意文件的来源进行彻底查杀,掐断恶意文件的来源。
发明内容
有鉴于此,本发明提供一种文件回溯方法、装置和设备,用于实现对文件的回溯,以对回溯出的文件来源进行彻底查杀,掐断恶意文件的来源。
为了实现上述目的,第一方面,本发明实施例提供一种文件回溯方法,包括:
当监控到PE文件的创建操作时,确定创建所述PE文件的操作者;
在数据库中建立所述PE文件与所述PE文件的操作者之间的对应关系,其中,所述数据库中记录的PE文件的操作者包括PE格式的文件;
当检测到恶意文件时,查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者。
通过监控PE文件的创建操作,在监控到PE文件的创建操作时,确定创建PE文件的操作者;再在数据库中建立PE文件与PE文件的操作者之间的对应关系,就可以建立回溯数据库;然后在检测到恶意文件时,就可以查询数据库中与恶意文件相关的所有对应关系,回溯出恶意文件的源操作者,从而可以对回溯出的文件源操作者进行彻底查杀,掐断恶意文件的来源。
作为本发明实施例一种可选的实施方式,所述数据库中记录的PE文件的操作者还包括内存区域,所述方法还包括:
当监控到内存区域被设置为可执行属性时,确定申请所述内存区域的操作者;
在数据库中建立所述内存区域与所述内存区域的操作者之间的对应关系。
通过上述实施方式,可以提高文件回溯的准确性。
作为本发明实施例一种可选的实施方式,所述方法还包括:
当监控到程序模块的加载操作时,确定加载所述程序模块的操作者;
在数据库中建立所述程序模块对应的PE文件与所述程序模块的操作者之间的对应关系。
通过上述实施方式,可以提高文件回溯的全面性。
作为本发明实施例一种可选的实施方式,在所述确定加载所述程序模块的操作者之前,所述方法还包括:
当监控到程序模块的加载操作时,确定所述程序模块是首次加载的程序模块。
通过上述实施方式,可以减小数据库的大小。
作为本发明实施例一种可选的实施方式,在所述当监控到程序模块的加载操作时,确定加载所述程序模块的操作者之前,所述方法还包括:
当监控到有进程首次启动时,监控程序模块的加载操作。
通过上述实施方式,可以减小数据库的大小。
作为本发明实施例一种可选的实施方式,所述方法还包括:
当监控到预设的注册表项的写操作时,确定所述注册表项的操作者和写入的PE文件;
在数据库中建立所述写入的PE文件与所述注册表项的操作者之间的对应关系。
通过上述实施方式,可以提高文件回溯的准确性。
作为本发明实施例一种可选的实施方式,所述当监控到PE文件的创建操作时,确定创建所述PE文件的操作者,包括:
通过文件过滤驱动监控PE文件的创建操作;
当监控到所述PE文件的创建操作时,获取所述PE文件的创建操作所在线程的起始地址;
根据所述起始地址查找所述线程的创建者;
确定所述线程的创建者为所述PE文件的操作者。
作为本发明实施例一种可选的实施方式,所述查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者,包括:
将所述恶意文件作为当前查询文件,对所述当前查询文件进行查询操作,所述查询操作包括:
查询所述数据库中的对应关系,确定所述当前查询文件的操作者;
将所述当前查询文件的操作者作为新的当前查询文件,返回执行所述查询操作,直至查询不到新的当前查询文件的操作者为止;
将最后一次查询到的当前查询文件的操作者确定为所述恶意文件的源操作者。
作为本发明实施例一种可选的实施方式,所述方法还包括:
当监控到预设文件的写操作时,确定所述预设文件的操作者;
确定所述操作者为恶意文件。
第二方面,本发明实施例提供一种文件回溯装置,包括:
确定模块,用于当监控到PE文件的创建操作时,确定创建所述PE文件的操作者;
数据库建立模块,用于在数据库中建立所述PE文件与所述PE文件的操作者之间的对应关系,其中,所述数据库中记录的PE文件的操作者包括PE格式的文件;
回溯模块,用于当检测到恶意文件时,查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者。
作为本发明实施例一种可选的实施方式,所述数据库中记录的PE文件的操作者还包括内存区域,
所述确定模块,还用于当监控到内存区域被设置为可执行属性时,确定申请所述内存区域的操作者;
所述数据库建立模块,还用于在数据库中建立所述内存区域与所述内存区域的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,所述确定模块,还用于当监控到程序模块的加载操作时,确定加载所述程序模块的操作者;
所述数据库建立模块,还用于在数据库中建立所述程序模块对应的PE文件与所述程序模块的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,所述确定模块,还用于当监控到程序模块的加载操作时,在所述确定加载所述程序模块的操作者之前,确定所述程序模块是首次加载的程序模块。
作为本发明实施例一种可选的实施方式,所述装置还包括:
监控模块,用于当监控到有进程首次启动时,监控程序模块的加载操作。
作为本发明实施例一种可选的实施方式,所述确定模块,还用于当监控到预设的注册表项的写操作时,确定所述注册表项的操作者和写入的PE文件;
所述数据库建立模块,还用于在数据库中建立所述写入的PE文件与所述注册表项的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,所述确定模块,具体用于:
通过文件过滤驱动监控PE文件的创建操作;
当监控到所述PE文件的创建操作时,获取所述PE文件的创建操作所在线程的起始地址;
根据所述起始地址查找所述线程的创建者;
确定所述线程的创建者为所述PE文件的操作者。
作为本发明实施例一种可选的实施方式,所述回溯模块,具体用于:
将所述恶意文件作为当前查询文件,对所述当前查询文件进行查询操作,所述查询操作包括:
查询所述数据库中的对应关系,确定所述当前查询文件的操作者;
将所述当前查询文件的操作者作为新的当前查询文件,返回执行所述查询操作,直至查询不到新的当前查询文件的操作者为止;
将最后一次查询到的当前查询文件的操作者确定为所述恶意文件的源操作者。
作为本发明实施例一种可选的实施方式,所述确定模块还用于:
当监控到预设文件的写操作时,确定所述预设文件的操作者;
确定所述操作者为恶意文件。
上述第二方面以及上述第二方面的各可能的实施方式所提供的装置,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第三方面,本发明实施例提供一种文件回溯设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
上述第三方面以及上述第三方面的各可能的实施方式所提供的文件回溯设备,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
上述第四方面以及上述第四方面的各可能的实施方式所提供的计算机可读存储介质,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
附图说明
图1为本发明实施例提供的一种文件回溯方法的流程示意图;
图2为本发明实施例提供的另一种文件回溯方法的流程示意图;
图3为本发明实施例提供的文件回溯装置的结构示意图;
图4为本发明实施例提供的文件回溯设备的结构示意图。
具体实施方式
针对目前的木马查杀软件检测到恶意文件后只是直接删除恶意文件,而无法回溯出恶意文件的来源,因而无法对恶意文件的来源进行彻底查杀的技术问题,本发明实施例提供一种文件回溯方法、装置和设备,主要通过监控可移植的执行体(PortableExecutable,PE)文件的创建操作,在监控到PE文件的创建操作时,确定创建PE文件的操作者;再在数据库中建立PE文件与PE文件的操作者之间的对应关系,来建立回溯数据库;然后通过在检测到恶意文件时,查询数据库中与恶意文件相关的所有对应关系,回溯出恶意文件的源操作者,来实现对文件的回溯,以对回溯出的文件来源进行彻底查杀,掐断恶意文件的来源。
下面结合附图,对本发明的实施例进行描述。
图1为本发明实施例提供的一种文件回溯方法的流程示意图,如图1所示,本实施例提供的方法可以包括如下步骤:
S101、当监控到PE文件的创建操作时,确定创建PE文件的操作者。
本实施例中,为了回溯恶意文件的来源,可以预先建立一数据库,在数据库中存储与恶意文件相关的操作关系信息,根据这些操作关系信息回溯出恶意文件的来源。其中,在建立数据库时,可以通过监控PE文件的创建操作,来获知创建PE文件的操作者,进而建立PE文件的操作关系信息。
在具体实现时,可以通过文件过滤驱动监控PE文件的创建操作;当监控到PE文件的创建操作时,获取PE文件的创建操作所在线程的起始地址;根据起始地址查找线程的创建者;确定线程的创建者为PE文件的操作者。
其中,文件过滤驱动可以对操作系统中文件的操作进行监控。具体的,文件的操作一般有打开、创建、关闭、读和写等请求,当操作系统上的应用进程对文件进行这些文件操作时,这些操作请求会被发送到输入/输出(Input/Output,I/O)管理器,I/O管理器生成I/O请求包(I/O Request Packet,IRP),再转发到文件过滤驱动。文件过滤驱动根据收到的IRP,可以确定文件的格式是否为PE文件格式,以及文件的操作是否是创建操作。
在监控到PE文件的创建操作时,可以获取当前线程(即PE文件的创建操作所在线程)的身份标识号码(Identity,ID),通过线程的ID获取线程的起始地址(Start Address);再由此起始地址找到线程的操作者。
对于某些情况譬如调用_beginThreadex函数且不采用静态链接,那么上述线程的起始地址会在运行时库msvcr*.dll模块里。此时需要通过PsSetCreateThreadNotify函数回调,获得调用创建此线程的线程ID,再根据其起始地址反查,最终得到线程的操作者。
其中,线程的操作者一般是程序模块(即PE格式的文件,也就是PE文件),即一般是程序模块直接创建PE文件;但是有些恶意程序为了避免被追溯到,会通过申请一块可执行的内存区域,将恶意代码写入该内存区域中,然后创建线程执行这些恶意代码创建PE文件,这样通过文件过滤驱动监控到PE文件的创建操作后,通过线程的起始地址找到的线程的操作者就是一块内存区域,即线程的操作者也可能是内存区域。
S102、在数据库中建立PE文件与PE文件的操作者之间的对应关系。
当确定创建PE文件的操作者之后,可以在数据库中建立操作关系信息(即PE文件与PE文件的操作者之间的对应关系)。具体实现时,对应关系中可以记录PE文件的标识信息与PE文件的操作者的标识信息,其中,PE文件的标识信息可以包括PE文件的名称和/或签名等其他信息。
如步骤S101中所述,PE文件的操作者可能是PE格式的文件,即PE文件,也可能是内存区域,那么数据库中记录的PE文件的操作者可以包括PE格式的文件和内存区域,当PE文件的操作者为PE格式的文件时,对应关系中PE文件的操作者的标识信息可以包括PE文件的名称和/或签名等其他信息;当PE文件的操作者为内存区域时,对应关系中PE文件的操作者的标识信息可以包括内存区域的起始地址和大小等信息。
为了提高文件回溯的准确性,本实施例中,可以对内存进行监控,当监控到内存区域被设置为可执行属性时,确定申请内存区域的操作者;在数据库中建立内存区域与内存区域的操作者之间的对应关系。这样在后续回溯时,就可以再通过该对应关系确定PE文件的源操作者。
具体实现时,可以通过监控虚拟内存页面属性修改函数(VirtualProtect)实现对内存的监控,当监控到有程序调用该函数将内存区域被设置为可执行属性时,与确定创建PE文件的操作者类似,可以获取该内存区域的设置操作所在线程的ID,通过线程的ID获取线程的起始地址;再由此起始地址找到线程的操作者,将线程的操作者确定为该内存区域的操作者。
在建立内存区域与内存区域的操作者之间的对应关系时,可以在对应关系中记录内存区域的起始地址和大小等信息,内存区域的操作者的名称和/或签名等其他信息。
为了减小数据库的大小,在监控内存时,可以只关注特定进程内的内存操作,例如:浏览器以及首次出现的应用程序进程。
需要说明的是,上述操作是反复执行的过程,一旦监控到PE文件的创建操作或内存区域被设置为可执行属性,则执行上述对应的操作者确定操作和对应关系建立操作。
S103、当检测到恶意文件时,查询数据库中与恶意文件相关的所有对应关系,回溯出恶意文件的源操作者。
PE文件一旦被创建,其操作关系信息就会被记录在数据库中,这样当检测到恶意文件时,就可以查询数据库,回溯出恶意文件的源操作者。
在具体实现时,可以将恶意文件作为当前查询文件,对当前查询文件进行查询操作,其中,查询操作包括:查询数据库中的对应关系,确定当前查询文件的操作者;将当前查询文件的操作者作为新的当前查询文件,返回执行查询操作,直至查询不到新的当前查询文件的操作者为止;将最后一次查询到的当前查询文件的操作者确定为恶意文件的源操作者。
举例说明,从网上下载了一个应用程序的安装包,安装包里的安装程序,例如:1.exe运行后,会释放(即创建)一系列的dll和exe等PE文件,当这些PE文件创建的时候会被监控到,其创建者(即创建该PE文件的操作者)会被记录在数据库中,例如:1.exe创建了a.dll,数据库中记录a.dll与其创建者1.exe的对应关系;运行过程中,a.dll又创建了b.dll,数据库中又会记录b.dll与其创建者a.dll的对应关系,这样若检测到b.dll是恶意文件,就可以查询数据库,先找到其操作者a.dll,再找到a.dll的操作者1.exe,此1.exe即为b.dll的源操作者。
又例如:1.exe不直接创建a.dll,而是通过申请可执行的内存区域A,将创建a.dll的代码写入内存区域A中,再创建线程执行代码创建a.dll,通过监控PE文件的创建操作,可以在数据库中记录a.dll与其创建者内存区域A的对应关系;通过监控内存,可以在数据库中记录内存区域A与其创建者内存区域1.exe的对应关系。假如运行过程中,a.dll又创建了b.dll,数据库中又会记录b.dll与其创建者a.dll的对应关系,这样若检测到b.dll是恶意文件,就可以查询数据库,先找到其操作者a.dll,再找到a.dll的操作者内存区域A,然后再找到内存区域A的操作者1.exe,此1.exe即为b.dll的源操作者。
回溯出恶意文件的源操作者后,就可以对该源操作者进行彻底查杀,掐断恶意文件的来源。
本实施例提供的文件回溯方法,通过监控PE文件的创建操作,在监控到PE文件的创建操作时,确定创建PE文件的操作者;再在数据库中建立PE文件与PE文件的操作者之间的对应关系,就可以建立回溯数据库;然后在检测到恶意文件时,就可以查询数据库中与恶意文件相关的所有对应关系,回溯出恶意文件的源操作者,从而可以对回溯出的文件源操作者进行彻底查杀,掐断恶意文件的来源。
图2为本发明实施例提供的另一种文件回溯方法的流程示意图,本实施例是对上述图1所示实施例的进一步优化补充。在上述图1所示实施例的基础上,如图2所示,本实施例提供的方法还可以包括如下步骤:
S201、当监控到程序模块的加载操作时,确定加载程序模块的操作者。
具体的,当用户下载了一个压缩包,进行解压后,会释放很多PE文件;当安装程序运行后会加载其他PE文件。对于压缩包释放的情况,本实施例中,可以监控程序模块(即PE文件)的加载操作,当监控到程序模块的加载操作时,确定加载程序模块的操作者。
具体实现时,可以监控模块加载函数(PsSetLoadImageNotifyRoutine),当监控到有程序调用该函数加载程序模块时,可以确定加载该程序模块的进程模块(即安装程序,为PE文件),确定该进程模块为加载程序模块的操作者。
为了减小数据库的大小,可以在监控到程序模块的加载操作时,确定程序模块是首次加载的程序模块的情况下,确定加载程序模块的操作者。即在监控到程序模块的加载操作时,可以先判断一下程序模块是否是首次加载的程序模块,如果是,再确定加载程序模块的操作者。
另外,为了进一步减小数据库的大小,可以只关注系统首次出现的进程,即在监控程序模块的加载操作之前,可以监控进程的启动操作,当监控到有进程首次启动时,再监控程序模块的加载操作。
S202、在数据库中建立程序模块对应的PE文件与程序模块的操作者之间的对应关系。
当确定程序模块的操作者之后,可以在数据库中建立操作关系信息(即程序模块对应的PE文件与程序模块的操作者之间的对应关系)。具体实现时,对应关系中可以记录程序模块对应的PE文件的标识信息与程序模块的操作者的标识信息,其中,PE文件的标识信息可以包括PE文件的名称和/或签名等其他信息,程序模块的操作者的标识信息可以包括程序模块的操作者的名称和/或签名等其他信息。
S203、当监控到预设的注册表项的写操作时,确定注册表项的操作者和写入的PE文件。
有些安装程序不直接加载其他PE文件,而是修改模块加载注册表,在里面写入PE文件的信息,当其他进程启动时,系统会启动注册表加载注册表中写入的PE文件,这样PE文件的操作者会被记录为其他进程。
为了文件回溯的准确性,本实施例中,对注册表进行监控,以记录修改注册表的操作者。
具体实现时,可以监控注册表回调函数(CmRegisterCallbak),当监控到有程序调用该函数对注册表项进行写操作时,与确定创建PE文件的操作者类似,可以获取该注册表项的写操作操作所在线程的ID,通过线程的ID获取线程的起始地址;再由此起始地址找到线程的操作者,将线程的操作者确定为该注册表项的操作者。同时,可以确定写入的PE文件,以建立对应关系。
其中,预设的注册表项可以根据需要设置,例如:启动项注册表和用于模块加载的模块加载注册表等,本实施例对此不做特别限定。
S204、在数据库中建立写入的PE文件与注册表项的操作者之间的对应关系。
当确定注册表项的操作者和写入的PE文件后,可以在数据库中建立操作关系信息(即写入的PE文件与注册表项的操作者之间的对应关系)。具体实现时,对应关系中可以记录写入的PE文件的标识信息与注册表项的操作者的标识信息,其中,写入的PE文件的标识信息可以包括PE文件的名称和/或签名等其他信息,注册表项的操作者的标识信息可以包括注册表项的操作者的名称和/或签名等其他信息。
需要说明的是,数据库中写入的PE文件与注册表项的操作者之间的对应关系的优先级高于程序模块对应的PE文件与程序模块的操作者之间的对应关系的优先级,即在记录时,若存在被操作者相同的对应关系,则保留操作者是注册表项的对应关系;或者可以将两个对应关系一起记录,在查询数据库时,优先选择操作者是注册表项的对应关系。
本实施例中,可以将注册表项的操作者确定为恶意文件,然后通过查找数据库找到注册表项的操作者的源操作者。也可以监控预设文件,当监控到预设文件的写操作时,确定预设文件的操作者;再确定操作者为恶意文件,然后通过查找数据库找到预设文件的操作者的源操作者。
其中,预设文件的监控和操作者的确定与PE文件的监控和PE文件的操作者的确定方法类似,都是通过文件过滤驱动监控,再通过线程起始地址确定操作者,具体实现过程此处不再详细赘述。
该预设文件可以是任意格式的文件,具体可以根据需要设置,例如:主页配置文件、默认浏览器文件和与启动项相关的特定文件等。
为了便于理解,下面举例说明压缩包释放的情况。
继续以图1中的例子为例,假设从网上下载了一个应用程序的压缩包,压缩包解压后释放一系列的dll和exe等PE文件,压缩包里的安装程序,例如:1.exe运行后,会加载其他的PE文件(即程序模块),当这些PE文件加载的时候会被监控到,其加载者(即加载该PE文件的操作者)会被记录在数据库中,例如:1.exe加载了a.dll,数据库中记录a.dll与其加载者1.exe的对应关系;运行过程中,a.dll又加载了b.dll,数据库中又会记录b.dll与其加载者a.dll的对应关系,这样若检测到b.dll是恶意文件,就可以查询数据库,先找到其操作者a.dll,再找到a.dll的操作者1.exe,此1.exe即为b.dll的源操作者。
又例如:1.exe不直接加载a.dll,而是通过修改注册表项,将a.dll写入注册表项中,其他的进程2.exe启动时,运行注册表,a.dll被加载;通过监控程序模块的加载操作,可以在数据库中记录a.dll与其操作者2.exe的对应关系;通过监控注册表,可以在数据库中记录a.dll与其操作者1.exe的对应关系,操作者为注册表项的对应关系的优先级较高,此时可以只保留a.dll与其操作者1.exe的对应关系。假如运行过程中,a.dll又创建了b.dll,数据库中又会记录b.dll与其创建者a.dll的对应关系,这样若检测到b.dll是恶意文件,就可以查询数据库,先找到其操作者a.dll,再找到a.dll的操作者1.exe,此1.exe即为b.dll的源操作者。
本实施例提供的文件回溯方法,通过监控程序模块的加载操作和注册表项的写操作,可以提高文件回溯的全面性。
图3为本发明实施例提供的文件回溯装置的结构示意图,如图3所示,本实施例提供的装置包括:
确定模块110,用于当监控到PE文件的创建操作时,确定创建PE文件的操作者;
数据库建立模块120,用于在数据库中建立PE文件与PE文件的操作者之间的对应关系,其中,数据库中记录的PE文件的操作者包括PE格式的文件;
回溯模块130,用于当检测到恶意文件时,查询数据库中与恶意文件相关的所有对应关系,回溯出恶意文件的源操作者。
作为本发明实施例一种可选的实施方式,数据库中记录的PE文件的操作者还包括内存区域,
确定模块110,还用于当监控到内存区域被设置为可执行属性时,确定申请内存区域的操作者;
数据库建立模块120,还用于在数据库中建立内存区域与内存区域的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,确定模块110,还用于当监控到程序模块的加载操作时,确定加载程序模块的操作者;
数据库建立模块120,还用于在数据库中建立程序模块对应的PE文件与程序模块的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,确定模块110,还用于当监控到程序模块的加载操作时,在确定加载程序模块的操作者之前,确定程序模块是首次加载的程序模块。
作为本发明实施例一种可选的实施方式,装置还包括:
监控模块140,用于当监控到有进程首次启动时,监控程序模块的加载操作。
作为本发明实施例一种可选的实施方式,确定模块110,还用于当监控到预设的注册表项的写操作时,确定注册表项的操作者和写入的PE文件;
数据库建立模块120,还用于在数据库中建立写入的PE文件与注册表项的操作者之间的对应关系。
作为本发明实施例一种可选的实施方式,确定模块110,具体用于:
通过文件过滤驱动监控PE文件的创建操作;
当监控到PE文件的创建操作时,获取PE文件的创建操作所在线程的起始地址;
根据起始地址查找线程的创建者;
确定线程的创建者为PE文件的操作者。
作为本发明实施例一种可选的实施方式,回溯模块130,具体用于:
将恶意文件作为当前查询文件,对当前查询文件进行查询操作,查询操作包括:
查询数据库中的对应关系,确定当前查询文件的操作者;
将当前查询文件的操作者作为新的当前查询文件,返回执行查询操作,直至查询不到新的当前查询文件的操作者为止;
将最后一次查询到的当前查询文件的操作者确定为恶意文件的源操作者。
作为本发明实施例一种可选的实施方式,确定模块110还用于:
当监控到预设文件的写操作时,确定预设文件的操作者;
确定操作者为恶意文件。
本发明实施例提供的文件回溯装置可以是单独的设备,也可以集成在文件回溯设备中,本实施例对此不做特别限定。
本实施例提供的文件回溯装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
图4为本发明实施例提供的文件回溯设备的结构示意图,如图4所示,本实施例提供的文件回溯设备包括:存储器210和处理器220,存储器210用于存储计算机程序;处理器220用于在调用计算机程序时执行上述方法实施例所述的方法。
本实施例提供的文件回溯设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本领域技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种文件回溯方法,其特征在于,包括:
当监控到可移植的执行体PE文件的创建操作时,确定创建所述PE文件的操作者;
在数据库中建立所述PE文件与所述PE文件的操作者之间的对应关系,其中,所述数据库中记录的PE文件的操作者包括PE格式的文件;
当检测到恶意文件时,查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者。
2.根据权利要求1所述的方法,其特征在于,所述数据库中记录的PE文件的操作者还包括内存区域,所述方法还包括:
当监控到内存区域被设置为可执行属性时,确定申请所述内存区域的操作者;
在数据库中建立所述内存区域与所述内存区域的操作者之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当监控到程序模块的加载操作时,确定加载所述程序模块的操作者;
在数据库中建立所述程序模块对应的PE文件与所述程序模块的操作者之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,在所述确定加载所述程序模块的操作者之前,所述方法还包括:
当监控到程序模块的加载操作时,确定所述程序模块是首次加载的程序模块。
5.根据权利要求3所述的方法,其特征在于,在所述当监控到程序模块的加载操作时,确定加载所述程序模块的操作者之前,所述方法还包括:
当监控到有进程首次启动时,监控程序模块的加载操作。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当监控到预设的注册表项的写操作时,确定所述注册表项的操作者和写入的PE文件;
在数据库中建立所述写入的PE文件与所述注册表项的操作者之间的对应关系。
7.根据权利要求1所述的方法,其特征在于,所述当监控到PE文件的创建操作时,确定创建所述PE文件的操作者,包括:
通过文件过滤驱动监控PE文件的创建操作;
当监控到所述PE文件的创建操作时,获取所述PE文件的创建操作所在线程的起始地址;
根据所述起始地址查找所述线程的创建者;
确定所述线程的创建者为所述PE文件的操作者。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
当监控到预设文件的写操作时,确定所述预设文件的操作者;
确定所述操作者为恶意文件。
9.一种文件回溯装置,其特征在于,包括:
确定模块,用于当监控到可移植的执行体PE文件的创建操作时,确定创建所述PE文件的操作者;
数据库建立模块,用于在数据库中建立所述PE文件与所述PE文件的操作者之间的对应关系,其中,所述数据库中记录的PE文件的操作者包括PE格式的文件;
回溯模块,用于当检测到恶意文件时,查询所述数据库中与所述恶意文件相关的所有对应关系,回溯出所述恶意文件的源操作者。
10.一种文件回溯设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895117.9A CN109271760A (zh) | 2018-08-08 | 2018-08-08 | 文件回溯方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895117.9A CN109271760A (zh) | 2018-08-08 | 2018-08-08 | 文件回溯方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271760A true CN109271760A (zh) | 2019-01-25 |
Family
ID=65153269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810895117.9A Pending CN109271760A (zh) | 2018-08-08 | 2018-08-08 | 文件回溯方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271760A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113315775A (zh) * | 2021-06-01 | 2021-08-27 | 深信服科技股份有限公司 | 恶意事件的定位方法、系统、存储介质和终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050257263A1 (en) * | 2004-05-13 | 2005-11-17 | International Business Machines Corporation | Andromeda strain hacker analysis system and method |
CN1885224A (zh) * | 2005-06-23 | 2006-12-27 | 福建东方微点信息安全有限责任公司 | 计算机反病毒防护系统和方法 |
US7496960B1 (en) * | 2000-10-30 | 2009-02-24 | Trend Micro, Inc. | Tracking and reporting of computer virus information |
CN102004877A (zh) * | 2010-11-19 | 2011-04-06 | 珠海市君天电子科技有限公司 | 监控计算机病毒来源的方法 |
CN103473501A (zh) * | 2013-08-22 | 2013-12-25 | 北京奇虎科技有限公司 | 一种基于云安全的恶意软件追踪方法 |
CN107292169A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 恶意软件的威胁溯源方法及装置 |
-
2018
- 2018-08-08 CN CN201810895117.9A patent/CN109271760A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496960B1 (en) * | 2000-10-30 | 2009-02-24 | Trend Micro, Inc. | Tracking and reporting of computer virus information |
US20050257263A1 (en) * | 2004-05-13 | 2005-11-17 | International Business Machines Corporation | Andromeda strain hacker analysis system and method |
CN1885224A (zh) * | 2005-06-23 | 2006-12-27 | 福建东方微点信息安全有限责任公司 | 计算机反病毒防护系统和方法 |
CN102004877A (zh) * | 2010-11-19 | 2011-04-06 | 珠海市君天电子科技有限公司 | 监控计算机病毒来源的方法 |
CN103473501A (zh) * | 2013-08-22 | 2013-12-25 | 北京奇虎科技有限公司 | 一种基于云安全的恶意软件追踪方法 |
CN107292169A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 恶意软件的威胁溯源方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113315775A (zh) * | 2021-06-01 | 2021-08-27 | 深信服科技股份有限公司 | 恶意事件的定位方法、系统、存储介质和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294983B2 (en) | Inferred user identity in content distribution | |
CN106095592B (zh) | 一种前景应用程序场景同步方法及装置、系统 | |
CN1933647B (zh) | 外部存储器管理装置和外部存储器管理方法 | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
EP3350741B1 (en) | Detecting software attacks on processes in computing devices | |
CN106970958B (zh) | 一种流文件的查询与存储方法和装置 | |
CN109582485A (zh) | 一种配置变更异常检测方法及装置 | |
US9451423B2 (en) | Method and apparatus for recording information during a call | |
CN108268289A (zh) | web应用的参数配置方法、装置及系统 | |
CN104423961A (zh) | 一种生成测试脚本的方法及系统 | |
CN107526627A (zh) | 一种虚拟资源生命周期信息管理方法和装置 | |
CN109271760A (zh) | 文件回溯方法、装置和设备 | |
CN109697156A (zh) | 一种启动时间获取方法、装置、终端设备及存储介质 | |
US20140192966A1 (en) | Recording method, recording device, and electronic device | |
CN107291524B (zh) | 一种远程命令的处理方法和装置 | |
CN101986662A (zh) | 一种widget实例运行方法及系统 | |
WO2020135129A1 (zh) | 加载应用的插件的方法、装置和终端 | |
CN111339054A (zh) | 一种存储系统分级管理的方法、装置、设备及存储介质 | |
WO2023000954A1 (zh) | 票据处理 | |
CN110555075B (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 | |
CN110471764A (zh) | 一种内存清理的处理方法及装置 | |
CN107547607B (zh) | 一种集群迁移方法及装置 | |
US11921690B2 (en) | Custom object paths for object storage management | |
CN105787385A (zh) | 一种文件管理器保密盒的实现方法、装置及移动终端 | |
CN111736895A (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: 20190125 |