CN109948341B - 一种文件扫描方法、系统、装置、介质 - Google Patents
一种文件扫描方法、系统、装置、介质 Download PDFInfo
- Publication number
- CN109948341B CN109948341B CN201910262134.3A CN201910262134A CN109948341B CN 109948341 B CN109948341 B CN 109948341B CN 201910262134 A CN201910262134 A CN 201910262134A CN 109948341 B CN109948341 B CN 109948341B
- Authority
- CN
- China
- Prior art keywords
- file
- antivirus engine
- filter driver
- system filter
- memory mapping
- 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.)
- Active
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种文件扫描方法,所述方法包括以下步骤:文件系统过滤驱动在检测到对目标文件的操作指令后,获取目标文件的文件对象,并向杀毒引擎发送该文件对象和文件扫描请求,杀毒引擎在接收到文件对象和文件扫描请求后,主动向文件系统过滤驱动发送为所述文件对象创建内存映射的请求,并由文件系统过滤驱动在杀毒引擎的地址空间中为文件对象创建内存映射。由于本方案中文件对象的内存映射是由杀毒引擎主动创建,即便杀毒引擎不允许第三方进程切换到自己的地址空间,也能够完成内存映射的创建。本申请还提供了一种文件扫描装置、计算机可读存储介质存储介质、杀毒引擎及文件系统过滤驱动,同样可以实现上述技术效果。
Description
技术领域
本发明涉及计算机病毒检测技术,更具体地说,涉及一种文件扫描方法、系统、装置、计算机可读存储介质、杀毒引擎和文件系统过滤驱动。
背景技术
为了保证计算机系统的安全运行,各种各样的病毒检测装置应运而生。目前常见的病毒检测装置包括文件病毒检测装置,其用于检测文件是否安全。传统的文件病毒检测装置工作时,需要获取文件内容,也就是说需要对文件内容进行扫描。
在Windows平台下,NTFS(New Technology File System)是WindowsNT环境的文件系统,该文件系统分区上的每一个文件和文件夹都有一个ACL(Access Control List,访问控制列表),记录着每一个用户以及每一个用户组对当前文件或文件夹的访问权限。在NTFS权限管理下,病毒检测装置需要获得相应文件的权限才能打开文件,以读取到文件内容进行检测。在没有获得相应文件的权限时,就无法对文件进行检测,因此就需要在不对文件进行打开操作的前提下,就能够获取到文件内容,以便对文件内容进行检测。
现有技术中,在监测到对文件的操作时,就获取到文件的文件对象,然后切换到杀毒引擎的地址空间,在该地址空间中为文件对象创建内存映射,因此杀毒引擎就可以在不打开文件的情况下,从地址空间的内存映射中获取到文件的内容。
但是该方式需要将当前进程从第三方进程切换到杀毒引擎的地址空间,这就意味着杀毒引擎允许第三方进程切换到自己的地址空间,然而实际应用中,出于安全性考虑,杀毒引擎一般都被设置为不允许第三方进程切换到自己的地址空间,因此此种方式并不适用于当前市面上的杀毒引擎。因此,如何实现不切换到杀毒引擎地址空间的前提下,为文件对象创建内存映射,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种一种文件扫描方法、系统、装置、计算机可读存储介质、杀毒引擎和文件系统过滤驱动,以解决如何实现不切换到杀毒引擎地址空间的前提下,为文件对象创建内存映射的问题。
为实现上述目的,本发明实施例提供了如下技术方案:
一种文件扫描方法,包括:
文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求;
杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
可选地,所述目标文件对应的文件对象包括:
根据所述杀毒引擎的文件检测机制确定的与所述目标文件全部内容对应的文件对象,或,根据所述杀毒引擎的文件检测机制确定的与所述目标文件部分内容对应的文件对象。
可选地,所述杀毒引擎根据所述文件对象的内存映射对应的访问标识扫描所述目标文件之后,还包括:
所述杀毒引擎对扫描到的所述目标文件进行安全检测。
可选地,所述杀毒引擎对扫描到的所述目标文件进行安全检测之后,还包括:
杀毒引擎将检测结果发送至所述文件系统过滤驱动;
文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
为实现上述目的,本申请还提供一种文件扫描系统,包括文件系统过滤驱动与杀毒引擎;其中,所述文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求;
所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
所述文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
可选地,所述述目标文件对应的文件对象包括:
与所述目标文件全部内容对应的文件对象或与所述目标文件部分内容对应的文件对象。
可选地,所述杀毒引擎在根据所述文件对象的内存映射对应的访问标识扫描所述目标文件之后,还用于:
对扫描到的所述目标文件进行安全检测。
可选地,所述杀毒引擎在对扫描到的所述目标文件进行安全检测之后,还用于:
进程将检测结果发送至所述文件系统过滤驱动,以使所述文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
为实现上述目的,本申请还提供一种文件扫描装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述文件扫描方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述文件扫描方法的步骤。
为实现上述目的,本申请还提供一种文件扫描方法,应用于杀毒引擎,包括:
接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
为实现上述目的,本申请还提供一种杀毒引擎,包括:
接收模块,用于接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
内存映射创建请求发送模块,用于向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
扫描模块,用于根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
为实现上述目的,本申请还提供一种文件扫描装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述应用于杀毒引擎的文件扫描方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述应用于杀毒引擎的文件扫描方法的步骤。
为实现上述目的,本申请还提供一种文件扫描方法,应用于文件系统过滤驱动,包括:
检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
为实现上述目的,本申请还提供一种文件系统过滤驱动,包括:
发送模块,用于检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
内存映射创建模块,用于接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
为实现上述目的,本申请还提供一种文件扫描装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述应用于文件系统过滤驱动的文件扫描方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述应用于文件系统过滤驱动的文件扫描方法的步骤。
由此可见,本申请提供的一种文件扫描方法,所述方法包括以下步骤:文件系统过滤驱动在检测到对目标文件的操作指令后,获取目标文件的文件对象,并向杀毒引擎发送该文件对象和文件扫描请求,杀毒引擎在接收到文件对象和文件扫描请求后,主动向文件系统过滤驱动发送为文件对象创建内存映射的请求,由文件系统过滤驱动在杀毒引擎的地址空间中为文件对象创建内存映射,杀毒引擎在扫描目标文件时,只需要访问自己的地址空间中的内存映射,即可扫描到目标文件,无需对目标文件执行打开操作,因此也就无需目标文件的打开权限。此外,由于本方案中文件对象的内存映射是由杀毒引擎主动创建,并不会有第三方的进程切换到杀毒引擎的地址空间,即便杀毒引擎被设置为不允许第三方进程切换到自己的地址空间,也能够完成内存映射的创建。本申请还提供了一种文件扫描装置、计算机可读存储介质存储介质、杀毒引擎及文件系统过滤驱动,同样可以实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种文件扫描方法流程图;
图2为本发明实施例公开的一种具体的文件扫描方法流程图;
图3为本发明实施例公开的一种具体的文件扫描方法流程图;
图4为本发明实施例公开的一种具体的文件扫描系统结构示意图;
图5为本发明实施例公开的一种具体的文件扫描装置结构示意图;
图6为本发明实施例公开的一种文件扫描方法流程图;
图7为本发明实施例公开的一种杀毒引擎结构示意图;
图8为本发明实施例公开的一种文件扫描方法流程图;
图9为本发明实施例公开的一种文件系统过滤驱动结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种文件扫描方法、系统、装置、计算机可读存储介质、杀毒引擎和文件系统过滤驱动,以解决如何实现不切换到杀毒引擎地址空间的前提下,为文件对象创建内存映射的问题。
参见图1,本发明实施例提供的一种文件扫描方法,具体包括:
S101,文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求。
需要说明的是,文件系统过滤驱动是一种可选的,为文件系统提供具有附加值功能的驱动程序。文件系统过滤驱动是一种核心模式组件,它作为Windows NT执行体的一部分运行。文件系统过滤驱动可以过滤一个或多个文件系统或文件系统卷的I/O操作。按不同的种类划分,文件系统过滤驱动可以分成日志记录、系统监测、数据修改或事件预防几类。通常,以文件系统过滤驱动为核心的应用程序有防毒软件、加密程序、分级存储管理系统等。
具体地,文件系统过滤驱动可以是基于minifilter的文件系统过滤驱动,其中,minifilter即File System1Minifilter Drivers,是Windows为了简化第三方开发人员开发文件系统过滤驱动而提供的一套框架。在本方案中,文件系统过滤驱动基于对minifilter框架进行开发得到,文件系统过滤驱动会在目标文件将要被操作时拦截对应的文件操作指令,获取目标文件对应的文件对象,将文件对象以及对目标文件的文件扫描请求发送至杀毒引擎模块。
需要说明的是,一些危险的可执行文件被打开或被生成时,将直接对计算机系统的安全造成威胁,因此,本方案中对目标文件的操作指令包括:对目标文件的打开指令和/或对目标文件的生成指令。在一个具体的实施方式中,所述目标文件对应的文件对象包括:
根据所述杀毒引擎的文件检测机制确定的与所述目标文件全部内容对应的文件对象,或,根据所述杀毒引擎的文件检测机制确定的与所述目标文件部分内容对应的文件对象。
需要说明的是,杀毒引擎扫描目标文件的目的主要是用来检测目标文件是否为病毒文件,目前不同的检测机制对应的要检测的文件的内容长度不一样,有的检测机制需要对整个文件进行检测,有的则只需要检测部分内容。因此,为了方便杀毒引擎对目标文件进行检测,本方案在映射时就按照其检测机制映射需要检测的部分。
S102,杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求。
区别于现有技术,本方案中为文件对象创建内存映射的操作不再是由第三方进程进行,而是由杀毒引擎主动为文件对象创建内存映射。也就是说,在本方案中,内存映射创建请求是由杀毒引擎接收到文件系统过滤驱动发送的文件扫描请求后,向文件系统过滤驱动发送。
具体地,当杀毒引擎收到文件系统过滤驱动发送的文件对象和文件扫描通知后,再次与文件系统过滤驱动建立通信,发送内存映射创建请求,以为文件对象创建内存映射。
在一个具体的实施方式中,杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求,具体可以为:
杀毒引擎利用IOCTL向所述文件系统过滤驱动发送内存映射创建请求。
IOCTL是设备驱动程序中对设备的I/O通道进行管理的函数,利用IOCTL可以管理文件系统过滤驱动与杀毒引擎之间的通道,从而杀毒引擎可利用通道向文件系统过滤驱动发送内存映射创建请求。
S103,文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎。
需要说明的是,文件系统过滤驱动属于内核层的驱动,该驱动所使用的地址空间为当前使用该驱动的应用层进程的地址空间。当应用层的杀毒引擎进程向文件系统过滤驱动发送为文件对象创建内存映射的请求时,文件系统过滤驱动会直接在杀毒引擎的地址空间为文件对象创建内存映射。
在一个具体的实施方式中,所述在所述杀毒引擎的地址空间为所述文件对象创建内存映射,包括:
利用FsRTLCreateSectionForDataScan应用程序编程接口在所述杀毒引擎的地址空间为所述文件对象创建内存映射。
需要说明的是,FsRTLCreateSectionForDataScan为minifilter提供的一种编程接口,利用该接口即可为文件对象创建内存映射。
当文件系统过滤驱动为文件对象创建了内存映射后,将内存映射对应的访问标识发送至杀毒引擎。
S104,杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
杀毒引擎接收到访问标识后,即可利用该访问标识在自己的地址空间扫描与文件对象对应的内容,该内容即为目标文件的内容。
由此可见,本申请实施例提供的一种文件扫描方法,文件系统过滤驱动在检测到对目标文件的操作指令后,获取目标文件的文件对象,并向杀毒引擎发送该文件对象和文件扫描请求,杀毒引擎在接收到文件对象和文件扫描请求后,主动向文件系统过滤驱动发送为文件对象创建内存映射的请求,由文件系统过滤驱动在杀毒引擎的地址空间中为文件对象创建内存映射,杀毒引擎在扫描目标文件时,只需要访问自己的地址空间中的内存映射,即可扫描到目标文件,无需对目标文件执行打开操作,因此也就无需目标文件的打开权限。此外,由于本方案中文件对象的内存映射是由杀毒引擎主动创建,并不会有第三方的进程切换到杀毒引擎的地址空间,即便杀毒引擎被设置为不允许第三方进程切换到自己的地址空间,也能够完成内存映射的创建。
下面对本申请实施例提供的一种具体的文件扫描方法进行介绍,下文描述的一种具体的文件扫描方法与上述实施例可以相互参照。
参见图2,本申请实施例提供的一种具体的文件扫描方法,具体包括:
S201,文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求。
S202,杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求。
S203,文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎。
S204,杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
有关S201至S204的内容具体可以参见上述实施例S101至S104,在本方案中不再赘述。
S205,所述杀毒引擎对扫描到的所述目标文件进行安全检测。
在本方案中,杀毒引擎扫描到目标文件后,即可对目标文件进行安全检在上述实施例的基础上,本申请在S205后还可以包括:
S206,杀毒引擎将检测结果发送至所述文件系统过滤驱动。
S207,文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
在本方案中,杀毒引擎将检测结果发送至文件系统过滤驱动,从而文件系统过滤驱动根据检测结果确定是否执行S201中对目标文件的操作指令。可以理解的是,当检测结果为目标文件是病毒文件,则文件系统过滤驱动不继续执行目标文件的操作指令,当检测结果为目标文件不是病毒文件时,则文件系统过滤驱动继续执行目标文件的操作指令。
由此可见,本方案中杀毒引擎对目标文件的安全检测并不需要获得目标文件的打开权限,在没有目标文件打开权限时,也能够完成对目标文件的安全检测,并能够使文件系统过滤驱动确定是否继续执行对应目标文件的操作指令。
下面对本申请实施例提供的一种具体的文件扫描方法进行介绍,下文描述的一种具体的文件扫描方法与上述实施例可以相互参照。
参见图3,本申请实施例提供的一种具体的文件扫描方法,具体包括:
1、基于minifilter的文件系统过滤驱动sfavflt.sys检测到对目标文件的操作指令后,获取目标文件的文件对象,将文件扫描请求和文件对象发送到杀毒引擎sfavrtp.dll。
2、杀毒引擎sfavrtp.dll通过IOCTL再次与文件系统过滤驱动sfavflt.sys通信,向所述文件系统过滤驱动sfavflt.sys发送内存映射创建请求。
3、文件系统过滤驱动sfavflt.sys接收到所述内存映射创建请求后,利用FsRTLCreateSectionForDataScan应用程序编程在所述杀毒引擎sfavrtp.dll的地址空间为所述文件对象创建内存映射。
4、文件系统过滤驱动sfavflt.sys将所述内存映射对应的访问标识发送至所述杀毒引擎sfavrtp.dll。
5、杀毒引擎sfavrtp.dll根据与文件对象的内存映射对应的访问标识扫描目标文件。
6、杀毒引擎将检测结果发送至所述文件系统过滤驱动,以使文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
下面对本申请实施例提供的一种文件扫描系统进行介绍,下文描述的一种文件扫描系统与上述任一实施例可以相互参照。
参见图4,本申请实施例提供的一种文件扫描系统,具体包括:
文件过滤系统301与杀毒引擎302。
其中,所述文件系统过滤驱动301检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎302,并向所述杀毒引擎302发起文件扫描请求;
所述杀毒引擎302向所述文件系统过滤驱动301发送内存映射创建请求;
所述文件系统过滤驱动301接收到所述内存映射创建请求后,在所述杀毒引擎302的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎302;
所述杀毒引擎302根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
有关文件系统过滤驱动与杀毒引擎302的具体功能可以参见上述文件扫描方法的介绍,在本方案中将不再赘述。而本申请提供的文件扫描系统同样具有与上述文件扫描方法相同的技术效果。
下面对本申请实施例提供的一种文件扫描装置进行介绍,下文描述的一种文件扫描装置与上述任一实施例可以相互参照。
参见图5,本申请实施例提供的一种文件扫描装置,具体包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时实现上述任一文件扫描方法的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为区块链节点设备提供计算和控制能力,可以实现以下步骤:
进一步的,本实施例中的区块链节点设备,还可以包括:
输入接口300,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器100中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器200中,以便处理器200利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口300具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口400,用于将处理器200产生的各种数据输出至与其相连的终端设备,以便于与输出接口400相连的其他终端设备能够获取到处理器200产生的各种数据。本实施例中,所述输出接口400具体可以包括但不限于USB接口、串行接口等。
通讯单元500,用于在区块链节点设备和其他节点之间建立远程连接,以便于接收交易,并同步区块数据。
键盘600,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器700,用于对交易数据封装过程的相关信息进行实时显示,以便于用户及时地了解当前交易数据封装情况。
鼠标800,可以用于协助用户输入数据并简化用户的操作。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
下面对本申请实施例提供的另一种文件扫描方法进行介绍,下文描述的一种文件扫描方法的实施例与上述任一实施例可以相互参照。
参见图6,本申请实施例提供的一种文件扫描方法,应用于杀毒引擎,包括:
S401,接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
S402,向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
S403,根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
有关S401至S403的具体内容可以参见上述文件扫描方法中杀毒引擎的介绍,此处将不再赘述。由于本申请中S401至S403的内容与上述文件扫描方法中杀毒引擎的操作相同,因此同样可以实现上述文件扫描方法的效果。
下面对本申请实施例提供的一种杀毒引擎进行介绍,下文描述的一种杀毒引擎与上述任一实施例可以相互参照。
参见图7,本申请还提供一种杀毒引擎,杀毒引擎具体包括:
接收模块501,用于接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
内存映射创建请求发送模块502,用于向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
扫描模块503,用于根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
本实施例的杀毒引擎用于实现前述的应用于杀毒引擎的文件扫描方法,因此杀毒引擎中的具体实施方式可见前文中的应用于杀毒引擎的文件扫描方法的实施例部分,例如,接收模块501,内存映射创建请求发送模块502,扫描模块503,分别用于实现上述应用于杀毒引擎的文件扫描方法中步骤S401,S402,S403,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
进一步的,本申请还提供一种文件扫描装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现以下步骤:
接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
进一步的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收文件系统过滤驱动发送的文件对象与文件扫描请求;其中,所述文件对象为所述文件系统过滤驱动检测到对目标文件的操作指令后获取的所述目标文件对应的文件对象;所述文件扫描请求为所述文件系统过滤驱动检测到对所述目标文件的操作指令后发起的文件扫描请求;
向所述文件系统过滤驱动发送内存映射创建请求,以使所述文件系统过滤驱动在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
下面对本申请实施例提供的另一种文件扫描方法进行介绍,下文描述的一种文件扫描方法与上述任一实施例可以相互参照。
参见图8,本申请实施例提供的一种文件扫描方法,应用于文件系统过滤驱动,具体包括:
S601,检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求。
S602,接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
有关S601、S602的具体内容可以参见上述文件扫描方法中文件系统过滤驱动的介绍,此处将不再赘述。由于本申请中S601、S602的内容与上述文件扫描方法中S601、S602的操作相同,因此同样可以实现上述文件扫描方法的效果。
下面对本申请实施例提供的一种文件系统过滤驱动进行介绍,下文描述的一种文件系统过滤驱动与上述任一实施例可以相互参照。
参见图9,本实施例提供的一种文件系统过滤驱动,具体包括:
发送模块701,用于检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求。
内存映射创建模块702,用于接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
本实施例的文件系统过滤驱动用于实现前述的应用于文件系统过滤驱动的文件扫描方法,因此文件系统过滤驱动中的具体实施方式可见前文中的应用于文件系统过滤驱动的文件扫描方法的实施例部分,例如,发送模块701,内存映射创建模块702,分别用于实现上述应用于文件系统过滤驱动的文件扫描方法中步骤S601,S602,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
进一步的,本申请还提供一种文件扫描装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现以下步骤:
检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
进一步的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求,以使所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎,以使所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件扫描方法,其特征在于,包括:
文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求;
杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
杀毒引擎根据与所述访问标识扫描所述目标文件。
2.根据权利要求1所述的方法,其特征在于,所述目标文件对应的文件对象包括:
与所述目标文件全部内容对应的文件对象,或,与所述目标文件部分内容对应的文件对象。
3.根据权利要求1所述的方法,其特征在于,所述杀毒引擎根据所述文件对象的内存映射对应的访问标识扫描所述目标文件之后,还包括:
所述杀毒引擎对扫描到的所述目标文件进行安全检测。
4.根据权利要求3所述的方法,其特征在于,所述杀毒引擎对扫描到的所述目标文件进行安全检测之后,还包括:
杀毒引擎将检测结果发送至所述文件系统过滤驱动;
文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
5.一种文件扫描系统,其特征在于,包括文件系统过滤驱动与杀毒引擎;其中,所述文件系统过滤驱动检测到对目标文件的操作指令后,获取所述目标文件对应的文件对象,以及将所述文件对象发送至杀毒引擎,并向所述杀毒引擎发起文件扫描请求;
所述杀毒引擎向所述文件系统过滤驱动发送内存映射创建请求;
所述文件系统过滤驱动接收到所述内存映射创建请求后,在所述杀毒引擎的地址空间为所述文件对象创建内存映射,并将所述内存映射对应的访问标识发送至所述杀毒引擎;
所述杀毒引擎根据与所述文件对象的内存映射对应的访问标识扫描所述目标文件。
6.根据权利要求5所述的系统,其特征在于,所述目标文件对应的文件对象包括:
与所述目标文件全部内容对应的文件对象,或与所述目标文件部分内容对应的文件对象。
7.根据权利要求5所述的系统,其特征在于,所述杀毒引擎在根据所述文件对象的内存映射对应的访问标识扫描所述目标文件之后,还用于:
对扫描到的所述目标文件进行安全检测。
8.根据权利要求7所述的系统,其特征在于,所述杀毒引擎在对扫描到的所述目标文件进行安全检测之后,还用于:
杀毒引擎将检测结果发送至所述文件系统过滤驱动,以使所述文件系统过滤驱动根据所述检测结果确定是否继续执行所述目标文件的操作指令。
9.一种文件扫描装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述文件扫描方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述文件扫描方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262134.3A CN109948341B (zh) | 2019-04-02 | 2019-04-02 | 一种文件扫描方法、系统、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262134.3A CN109948341B (zh) | 2019-04-02 | 2019-04-02 | 一种文件扫描方法、系统、装置、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109948341A CN109948341A (zh) | 2019-06-28 |
CN109948341B true CN109948341B (zh) | 2023-02-03 |
Family
ID=67013548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910262134.3A Active CN109948341B (zh) | 2019-04-02 | 2019-04-02 | 一种文件扫描方法、系统、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948341B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826065B (zh) * | 2019-10-30 | 2022-03-15 | 亚信科技(成都)有限公司 | 一种扫描方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693397A (zh) * | 2011-03-23 | 2012-09-26 | 腾讯科技(深圳)有限公司 | 一种扫描文件的方法和装置 |
CN106384049A (zh) * | 2016-09-06 | 2017-02-08 | 亚信科技(成都)有限公司 | 一种安全防护的方法及系统 |
CN106778240A (zh) * | 2016-11-18 | 2017-05-31 | 航天恒星科技有限公司 | 一种虚拟机杀毒方法方法及装置 |
-
2019
- 2019-04-02 CN CN201910262134.3A patent/CN109948341B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693397A (zh) * | 2011-03-23 | 2012-09-26 | 腾讯科技(深圳)有限公司 | 一种扫描文件的方法和装置 |
CN106384049A (zh) * | 2016-09-06 | 2017-02-08 | 亚信科技(成都)有限公司 | 一种安全防护的方法及系统 |
CN106778240A (zh) * | 2016-11-18 | 2017-05-31 | 航天恒星科技有限公司 | 一种虚拟机杀毒方法方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于微过滤驱动的文件操作检测及重定向方法;刘晟 等;《信息与电子工程》;20121231;第10卷(第6期);第779-783页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109948341A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7841006B2 (en) | Discovery of kernel rootkits by detecting hidden information | |
US8572371B2 (en) | Discovery of kernel rootkits with memory scan | |
CN110363026B (zh) | 文件操作方法、装置、设备、系统及计算机可读存储介质 | |
RU2618946C1 (ru) | Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями | |
US11947670B2 (en) | Malicious software detection based on API trust | |
WO2012173906A2 (en) | Threat level assessment of applications | |
US10425445B2 (en) | Deception using screen capture | |
US20150101055A1 (en) | Method, system and terminal device for scanning virus | |
US10176317B2 (en) | Method and apparatus for managing super user password on smart mobile terminal | |
CN106200891A (zh) | 显示用户界面的方法、装置及系统 | |
CN112703496B (zh) | 关于恶意浏览器插件对应用用户的基于内容策略的通知 | |
CN105550598B (zh) | 一种移动存储设备的安全管理方法和装置 | |
CN105631312A (zh) | 恶意程序的处理方法及系统 | |
CN109923547B (zh) | 程序行为监控设备、分布式对象生成管理设备、存储介质、以及程序行为监视系统 | |
CN111881460A (zh) | 一种漏洞利用检测方法、系统、设备及计算机存储介质 | |
CN109948341B (zh) | 一种文件扫描方法、系统、装置、介质 | |
WO2019037521A1 (zh) | 安全检测的方法、装置、系统以及服务器 | |
KR100985076B1 (ko) | Usb 디바이스 보안 장치 및 방법 | |
CN108494749B (zh) | Ip地址禁用的方法、装置、设备及计算机可读存储介质 | |
EP3779747B1 (en) | Methods and systems to identify a compromised device through active testing | |
WO2019127043A1 (zh) | 一种终端设备的控制方法及终端设备 | |
KR101716690B1 (ko) | 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치 | |
CN106919812B (zh) | 一种应用进程权限管理方法和装置 | |
RU2747514C2 (ru) | Система и способ категоризации приложения на вычислительном устройстве | |
CN102467622B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |