CN102467623A - 一种监控文件执行的方法及装置 - Google Patents

一种监控文件执行的方法及装置 Download PDF

Info

Publication number
CN102467623A
CN102467623A CN2010105376910A CN201010537691A CN102467623A CN 102467623 A CN102467623 A CN 102467623A CN 2010105376910 A CN2010105376910 A CN 2010105376910A CN 201010537691 A CN201010537691 A CN 201010537691A CN 102467623 A CN102467623 A CN 102467623A
Authority
CN
China
Prior art keywords
file
executable
irp
module
lock
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.)
Granted
Application number
CN2010105376910A
Other languages
English (en)
Other versions
CN102467623B (zh
Inventor
马劲松
谢飞
高小明
张昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010537691.0A priority Critical patent/CN102467623B/zh
Publication of CN102467623A publication Critical patent/CN102467623A/zh
Application granted granted Critical
Publication of CN102467623B publication Critical patent/CN102467623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种监控文件执行的方法,该方法包括:打开可执行文件;在准备执行所打开的可执行文件时,对该可执行文件进行病毒扫描;及,根据所述病毒扫描的扫描结果判断该可执行文件是否为恶意软件,如果是,则阻止执行该可执行文件;否则执行该可执行文件。本发明还提供了相应的监控文件执行的装置以及监控驱动装置。采用本发明能够提高病毒扫描实时性以及软件兼容性。

Description

一种监控文件执行的方法及装置
技术领域
本发明涉及计算机防御技术领域,特别涉及一种监控文件执行的方法及装置和一种监控驱动装置。
背景技术
目前,随着互联网的发展,电脑病毒、特洛伊木马等恶意软件的传播速度和能力也在随之提高,为此,几乎所有的计算机上都需要安装针对这些恶意软件的防御系统,通常称为反病毒软件(Anti-virus Software)或安全防护软件(Safe-defend Software),也称为杀毒软件或防毒软件。
反病毒软件通常集成了监控识别、病毒扫描和清除和自动升级等功能,有的还带有数据恢复等功能。反病毒软件的任务是实时监控和扫描磁盘。部分反病毒软件通过在系统添加驱动程序的方式,进驻系统,并且随操作系统启动。大部分的杀毒软件还具有防火墙功能。其中,反病毒软件的实时监控方式因软件而异。有的反病毒软件,是通过在内存里划分一部分空间,将电脑里流过内存的数据与反病毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒。另一些反病毒软件则在所划分到的内存空间里面,虚拟执行系统或用户提交的程序,根据其行为或结果做出判断。
然而,目前的反病毒软件还有诸多待改进的方面,如:1、提高病毒扫描的实时性;2、提高反病毒软件之间的兼容性,目前一台电脑的一个操作系统下不能同时安装两套或两套以上的杀毒软件,即使有兼容或绿色版也只能有一个软件开启主动防护。
发明内容
本发明实施例提供了一种监控文件执行的方法,该方法包括:打开可执行文件;在准备执行所打开的可执行文件时,对该可执行文件进行病毒扫描;及,根据所述病毒扫描的扫描结果判断该可执行文件是否为恶意软件,如果是,则阻止执行该可执行文件;否则执行该可执行文件。
本发明实施例还提供了一种监控文件执行的装置,该装置包括:文件执行模块、监控驱动模块和扫描引擎;其中,所述文件执行模块,用于打开可执行文件,并根据来自所述监控驱动模块的消息执行所打开的可执行文件;所述监控驱动模块,用于在所述文件执行模块准备执行所打开的可执行文件时获取此可执行文件的文件信息并输出给所述扫描引擎,再根据所述扫描引擎的扫描结果判断所述可执行文件是否为恶意软件,如果判断是恶意软件,则阻止执行所述可执行文件;否则传递消息给所述文件执行模块以使其执行所述可执行文件;及,所述扫描引擎,用于根据来自所述监控驱动模块的文件信息进行病毒扫描,并返回扫描结果给所述监控驱动模块。
本发明实施例还提供了一种应用于上述监控文件执行的装置的监控驱动装置,该监控驱动装置包括上述监控驱动模块。
采用上述本发明实施例提供的技术方案,可以提高病毒扫描的实时性和效率,还能提高反病毒软件之间的兼容性。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1为依据一本发明实施例的方法流程示意图;
图2为依据另一本发明实施例的方法流程示意图;及,
图3为依据本发明实施例的装置示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本发明实施例提出了一种监控文件执行的方法。
图1为依据一本发明实施例的方法流程示意图。如图1所示,该流程包括如下步骤:
步骤101:打开可执行文件。
这里,所谓可执行文件(executable file)指的是可以加载到内存中并由操作系统加载程序执行的文件,它可以是扩展名为“exe”、“sys”、“com”、“bat”等的文件。这里,本发明并不限定可执行文件的具体格式。
步骤102:在准备执行步骤101打开的可执行文件时,对此可执行文件进行病毒扫描。
具体的,可在为此可执行文件创建可执行映射时进行病毒扫描。这里,在准备执行可执行文件时,要在内存中为已打开的可执行文件创建可执行映射,即:将存储在记录设备中的可执行文件映射到内存中,以供操作系统执行。
步骤103:根据步骤102的扫描结果判断此可执行文件是否为恶意软件,如果是,则执行步骤104;否则执行步骤105。
这里,本发明可采用各种现有的技术来进行病毒扫描以确定此可执行文件是否为恶意软件,比如:可将可执行文件的文件信息与当前病毒库中的各个特征码进行比较,以判断此可执行文件是否为病毒。
步骤104:阻止执行此可执行文件,结束当前流程。
步骤105:执行此可执行文件,结束当前流程。
图2为依据另一本发明实施例的方法流程示意图。如图2所示,该流程包括文件执行流程和监控驱动流程,其中:
上述文件执行流程具体包括:
步骤201:以可执行权限在文件系统中打开可执行文件。具体的,可以通过向文件系统发送输入/输出请求包(IRP,I/O Request Packet)(如:IRP_MJ_CREATE)来打开此可执行文件。
这里,IRP是Windows内核中的一种数据结构,当上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣例程中进行处理。
步骤202:初始化用于创建可执行映射的分区(Section)。这里,在准备执行可执行文件时,要在内存中为已打开的可执行文件开辟用于创建可执行映射的分区,进而可以为此可执行文件创建可执行映射,即:将存储在记录设备中的可执行文件映射到此分区中。
步骤203:发出获取锁的请求,这里,所述锁为上述用于创建可执行映射的分区的锁。具体的,可调用文件系统的快速输入/输出(FastIo)接口以向文件系统发出用于获取此种锁的IRP,此IRP也称为针对可执行映射的获取锁的IRP。
上述监控驱动流程以文件系统过滤驱动的形式挂载在文件系统设备栈里,该流程具体包括:
步骤204:拦截来自各个线程的获取锁的IRP。
步骤205:当捕获到来自某一线程的获取锁的IRP时,判断是否针对可执行映射,如果是,则执行步骤206;否则执行步骤209。这里,如果此获取锁的IRP是为了获取用于创建可执行映射的分区的锁,则可判断此获取锁的IRP针对可执行映射。
步骤206:获取此可执行文件的文件信息,并将所获取的文件信息发送给用于病毒扫描的扫描引擎。
步骤207:在收到扫描引擎返回的扫描结果时,判断此可执行文件是否为恶意软件,如果是,则执行步骤208;否则执行步骤209。
这里,关于扫描引擎如何得到扫描结果属现有技术范畴,本文不再描述。
步骤208:阻止执行此可执行文件,不将步骤205所述的IRP传递给下层驱动,结束当前流程。
步骤209:将步骤205所述的IRP传递给下层驱动,结束当前流程。其中,如果此IRP在步骤205被判断为是针对可执行映射,则下层驱动可以根据此IRP完成此可执行文件的可执行映射的创建,进而能成功的执行此可执行文件。
基于上述本发明实施例提出的方法,本发明实施例还提出了一种监控文件执行的装置,该装置包括:文件执行模块、监控驱动模块和扫描引擎。
图3为依据本发明实施例的装置组成结构示意图。如图3所示,该装置包括:文件执行模块301、监控驱动模块302和扫描引擎303,其中:
文件执行模块301,用于打开可执行文件,并根据来自监控驱动模块302的消息执行所打开的可执行文件;
监控驱动模块302,用于在所述文件执行模块301准备执行所打开的可执行文件时获取此可执行文件的文件信息并输出给扫描引擎303,再根据扫描引擎303的扫描结果判断是此可执行文件是否为恶意软件,如果判断是恶意软件,则阻止执行此可执行文件;否则传递消息给文件执行模块301以使其执行此可执行文件;这里,此监控驱动模块302以文件系统过滤驱动的形式挂载在文件系统设备栈里;及,
扫描引擎303,用于根据来自监控驱动模块302的文件信息进行病毒扫描,并返回扫描结果给监控驱动模块302。
具体的,文件执行模块301在准备执行所打开的可执行文件时向监控驱动模块302发出获取锁的IRP以创建可执行映射;此时,监控驱动模块302可包括:IRP捕获模块3021和IRP处理模块3022,其中:
IRP捕获模块3021,用于拦截来自文件执行模块301的各个线程的获取锁的IRP;当捕获到某一线程的获取锁的IRP时,判断是否针对可执行映射,如果是,则传递此IRP给IRP处理模块3022;否则传递此IRP给文件执行模块301;
IRP处理模块3022,用于在收到针对可执行映射的获取锁的IRP时获取此可执行文件的文件信息,并将所获取的文件信息发送给扫描引擎303,再根据扫描引擎303返回的扫描结果判断此可执行文件是否为恶意软件,如果是,则阻止执行此可执行文件,不将上述IRP传递给文件执行模块301;否则传递上述IRP给文件执行模块301中的下层驱动,以使其完成此可执行文件的可执行映射的创建,进而能成功的执行此可执行文件。
基于上述监控文件执行的装置,本发明实施例还提出了一种用于监控文件执行的监控驱动装置,该装置包括上述的监控驱动模块302,其具体实现原理前文已有详述,这里不再赘述。
上述本发明实施例提出的各种装置及其内部的各个组成部分可以实现为硬件装置,也可以软件的方式实现为虚拟装置。
采用上述本发明实施例,可以对可执行文件的安全性进行监控,并在文件打开之后进行病毒扫描,这样,即使计算机内已安装了其它反病毒软件,此文件监控流程仍能执行,因此,本发明实施例提供的文件监控方法与其它反病毒软件之间具有较强的兼容性。并且,由于在文件打开之后进行病毒扫描,因此此种文件监控方案的实时性较强。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种监控文件执行的方法,其特征在于,该方法包括:
打开可执行文件;
在准备执行所打开的可执行文件时,对该可执行文件进行病毒扫描;及,
根据所述病毒扫描的扫描结果判断该可执行文件是否为恶意软件,如果是,则阻止执行该可执行文件;否则执行该可执行文件。
2.根据权利要求1所述的方法,其中,所述打开可执行文件,包括:通过向文件系统发送输入/输出请求包IRP来打开该可执行文件。
3.根据权利要求1或2所述的方法,其中,在为所述可执行文件创建可执行映射时对该可执行文件进行病毒扫描。
4.根据权利要求3所述的方法,其中,所述在为所述可执行文件创建可执行映射时对该可执行文件进行病毒扫描,包括:
A.拦截来自各个线程的获取锁的IRP;
B.当捕获到来自一线程的获取锁的IRP时,判断所述获取锁的IRP是否针对可执行映射,如果是,则执行步骤C;否则将所述获取锁的IRP传递给下层驱动,结束当前流程;其中,所述针对可执行映射的获取锁的IRP用于请求获取用于创建可执行映射的分区的锁;及,
C.获取所述可执行文件的文件信息,并将所获取的文件信息发送给用于病毒扫描的扫描引擎;
所述阻止执行该可执行文件,包括:不将所述获取锁的IRP传递给下层驱动;及,
所述执行该可执行文件,包括:将所述获取锁的IRP传递给下层驱动来创建可执行映射。
5.根据权利要求1或2所述的方法,其中,所述可执行文件为扩展名为exe、sys、com和bat中任一者的文件。
6.一种监控文件执行的装置,其特征在于,该装置包括:文件执行模块、监控驱动模块和扫描引擎;其中,
所述文件执行模块,用于打开可执行文件,并根据来自所述监控驱动模块的消息执行所打开的可执行文件;
所述监控驱动模块,用于在所述文件执行模块准备执行所打开的可执行文件时获取此可执行文件的文件信息并输出给所述扫描引擎,再根据所述扫描引擎的扫描结果判断所述可执行文件是否为恶意软件,如果判断是恶意软件,则阻止执行所述可执行文件;否则传递消息给所述文件执行模块以使其执行所述可执行文件;及,
所述扫描引擎,用于根据来自所述监控驱动模块的文件信息进行病毒扫描,并返回扫描结果给所述监控驱动模块。
7.根据权利要求6所述的装置,其中,所述监控驱动模块以文件系统过滤驱动的形式挂载在文件系统设备栈里。
8.根据权利要求7所述的装置,其中,所述文件执行模块在准备执行所打开的可执行文件时向所述监控驱动模块发出针对可执行映射的获取锁的输入/输出请求包IRP;所述针对可执行映射的获取锁的IRP用于请求获取用于创建可执行映射的分区的锁;及,
所述监控驱动模块包括:IRP捕获模块和IRP处理模块,其中:
所述IRP捕获模块,用于拦截来自所述文件执行模块的各个线程的获取锁的IRP;当捕获到一线程的获取锁的IRP时,判断该获取锁的IRP是否针对可执行映射,如果是,则传递所述获取锁的IRP给所述IRP处理模块;否则传递所述获取锁的IRP给所述文件执行模块;及,
所述IRP处理模块,用于在收到针对可执行映射的获取锁的IRP时获取此可执行文件的文件信息,并将所获取的文件信息发送给所述扫描引擎,再根据所述扫描引擎返回的扫描结果判断所述可执行文件是否为恶意软件,如果是,则不将所述针对可执行映射的IRP传递给所述文件执行模块;否则传递所述针对可执行映射的IRP给所述文件执行模块中的下层驱动,以完成所述可执行文件的可执行映射的创建。
9.一种监控驱动装置,其特征在于,该装置应用于如权利要求6所述的监控文件执行的装置中,其包括如权利要求6所述的监控驱动模块。
10.根据权利要求9所述的装置,其中,所述监控驱动模块包括:输入/输出请求包IRP捕获模块和IRP处理模块,其中:
所述IRP捕获模块,用于拦截来自所述文件执行模块的各个线程的获取锁的IRP;当捕获到一线程的获取锁的IRP时,判断该获取锁的IRP是否针对可执行映射,如果是,则传递所述获取锁的IRP给所述IRP处理模块;否则传递所述获取锁的IRP给所述文件执行模块;其中,所述针对可执行映射的获取锁的IRP用于请求获取用于创建可执行映射的分区的锁;及,
所述IRP处理模块,用于在收到针对可执行映射的获取锁的IRP时获取此可执行文件的文件信息,并将所获取的文件信息发送给所述扫描引擎,再根据所述扫描引擎返回的扫描结果判断所述可执行文件是否为恶意软件,如果是,则不将所述针对可执行映射的IRP传递给所述文件执行模块;否则传递所述针对可执行映射的IRP给所述文件执行模块中的下层驱动,以完成所述可执行文件的可执行映射的创建。
CN201010537691.0A 2010-11-08 2010-11-08 一种监控文件执行的方法及装置 Active CN102467623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010537691.0A CN102467623B (zh) 2010-11-08 2010-11-08 一种监控文件执行的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010537691.0A CN102467623B (zh) 2010-11-08 2010-11-08 一种监控文件执行的方法及装置

Publications (2)

Publication Number Publication Date
CN102467623A true CN102467623A (zh) 2012-05-23
CN102467623B CN102467623B (zh) 2014-03-26

Family

ID=46071253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010537691.0A Active CN102467623B (zh) 2010-11-08 2010-11-08 一种监控文件执行的方法及装置

Country Status (1)

Country Link
CN (1) CN102467623B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831353A (zh) * 2012-09-18 2012-12-19 珠海市君天电子科技有限公司 一种针对带有计算机病毒的应用软件的处理方法及系统
WO2014059885A1 (en) * 2012-10-17 2014-04-24 Tencent Technology (Shenzhen) Company Limited Apparatus and method for preventing a virus file from illegally manipulating a device
CN106203070A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 驱动加载阻止方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101341491A (zh) * 2005-12-20 2009-01-07 西姆毕恩软件有限公司 计算设备中的恶意软件检测
CN100462990C (zh) * 2005-12-12 2009-02-18 北京瑞星国际软件有限公司 用于监测可疑文件启动的方法和装置
US20090165131A1 (en) * 2007-12-20 2009-06-25 Treadwell William S Detection and prevention of malicious code execution using risk scoring
CN101587527A (zh) * 2009-07-08 2009-11-25 北京东方微点信息技术有限责任公司 病毒程序扫描方法及装置
CN1773417B (zh) * 2004-11-08 2010-08-25 微软公司 聚集反病毒软件应用程序的知识库的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773417B (zh) * 2004-11-08 2010-08-25 微软公司 聚集反病毒软件应用程序的知识库的系统和方法
CN100462990C (zh) * 2005-12-12 2009-02-18 北京瑞星国际软件有限公司 用于监测可疑文件启动的方法和装置
CN101341491A (zh) * 2005-12-20 2009-01-07 西姆毕恩软件有限公司 计算设备中的恶意软件检测
US20090165131A1 (en) * 2007-12-20 2009-06-25 Treadwell William S Detection and prevention of malicious code execution using risk scoring
CN101587527A (zh) * 2009-07-08 2009-11-25 北京东方微点信息技术有限责任公司 病毒程序扫描方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾旭东 等: "文件实时监控反病毒技术的研究", 《科技咨询导报》, no. 15, 10 May 2007 (2007-05-10), pages 236 - 237 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831353A (zh) * 2012-09-18 2012-12-19 珠海市君天电子科技有限公司 一种针对带有计算机病毒的应用软件的处理方法及系统
CN102831353B (zh) * 2012-09-18 2016-12-21 珠海市君天电子科技有限公司 一种针对带有计算机病毒的应用软件的处理方法及系统
WO2014059885A1 (en) * 2012-10-17 2014-04-24 Tencent Technology (Shenzhen) Company Limited Apparatus and method for preventing a virus file from illegally manipulating a device
CN103778369A (zh) * 2012-10-17 2014-05-07 腾讯科技(深圳)有限公司 防止病毒文件对用户设备进行非法操作的装置及方法
CN103778369B (zh) * 2012-10-17 2016-12-21 腾讯科技(深圳)有限公司 防止病毒文件对用户设备进行非法操作的装置及方法
CN106203070A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 驱动加载阻止方法及装置

Also Published As

Publication number Publication date
CN102467623B (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
US7571482B2 (en) Automated rootkit detector
US10803180B2 (en) Deterministic method for detecting and blocking of exploits on interpreted code
RU2698776C2 (ru) Способ ведения базы данных и соответствующий сервер
RU2522019C1 (ru) Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
EP3462358B1 (en) System and method for detection of malicious code in the address space of processes
US8701189B2 (en) Method of and system for computer system denial-of-service protection
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
JP6259862B2 (ja) ランダムアクセスメモリ内の悪質なコードを検出するためのシステムおよび方法
EP2909781B1 (en) Real-time module protection
Lanzi et al. K-Tracer: A System for Extracting Kernel Malware Behavior.
Wang et al. Detecting stealth software with strider ghostbuster
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US9032525B2 (en) System and method for below-operating system trapping of driver filter attachment
US8904537B2 (en) Malware detection
CN109074450B (zh) 威胁防御技术
EP2515250A1 (en) System and method for detection of complex malware
Alzahrani et al. An analysis of conti ransomware leaked source codes
US20200137085A1 (en) Methods and cloud-based systems for protecting devices from malwares
US20190138715A1 (en) Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation
RU2724790C1 (ru) Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине
CN108737373B (zh) 一种针对大型网络设备隐匿技术的安全取证方法
RU101235U1 (ru) Система проверки на присутствие вредоносного программного обеспечения с изменяемыми настройками проверки
CN102467623B (zh) 一种监控文件执行的方法及装置
Josse Secure and advanced unpacking using computer emulation
US11886585B1 (en) System and method for identifying and mitigating cyberattacks through malicious position-independent code execution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant