CN107358096B - 文件病毒查杀方法及系统 - Google Patents
文件病毒查杀方法及系统 Download PDFInfo
- Publication number
- CN107358096B CN107358096B CN201710556664.XA CN201710556664A CN107358096B CN 107358096 B CN107358096 B CN 107358096B CN 201710556664 A CN201710556664 A CN 201710556664A CN 107358096 B CN107358096 B CN 107358096B
- Authority
- CN
- China
- Prior art keywords
- sector
- file
- killing
- server
- antivirus
- 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
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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种文件病毒查杀方法及系统,在一个实施例中,所述文件病毒查杀方法可应用于文件查杀系统,所述系统包括相互通信连接的虚拟化服务器及后台杀毒服务器,所述虚拟化服务器上运行有一虚拟机,所述虚拟机内运行有一杀毒代理工具,所述文件病毒查杀方法包括:所述虚拟机内的杀毒代理工具获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息,并将所述待查杀文件的扇区信息发送给所述后台杀毒服务器;所述后台杀毒服务器判断所述扇区内容相较于上次查杀时是否存在变化;以及若所述扇区内容相较于上次发生了变化,所述后台杀毒服务器将所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具。
Description
技术领域
本发明涉及网络安全技术领域,具体而言,涉及一种文件病毒查杀方法及系统。
背景技术
一般的病毒查杀系统在虚拟机中安装杀毒软件,随着杀毒软件日渐庞大复杂,杀毒软件本身也成为了恶意代码的攻击目标,为虚拟机引入了新的攻击面。另外,针对不同的厂商,杀毒引擎实现机理不同,对病毒的识别率也有差异。随着病毒样本逐渐累积,病毒库日益繁杂,杀毒软件同步病毒库的资源消耗也逐渐增加,致使软件杀毒效率变低,虚拟机运行速度变慢。虚拟化平台下,多个虚拟机同时杀毒也会带来杀毒风暴的问题。在此背景下,云杀毒技术应运而生。云杀毒技术是通过在数据中心部署专用杀毒服务器,为虚拟机提供网络杀毒服务,如此可以避免在各个虚拟机内部安装杀毒引擎,同时也避免了多个虚拟机重复更新病毒库以及杀毒风暴等问题。但是,一般的云杀毒机制需要在虚拟机内部实现一个代理,通过代理程序计算并提取查杀文件的UID数值来确定文件的安全性,该过程会消耗虚拟机的IO和CPU资源,对虚拟机产生额外运行负载。因此,一种更高效的杀毒方法是迫切需求的。
发明内容
有鉴于此,本发明实施例的目的在于提供一种文件病毒查杀方法及系统。
本发明实施例提供的一种应用于文件查杀系统,所述系统包括相互通信连接的虚拟化服务器及后台杀毒服务器,所述虚拟化服务器上运行有一虚拟机,所述虚拟机内运行有一杀毒代理工具,所述文件病毒查杀方法包括:
运行在虚拟机中的杀毒代理工具获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息,并将所述待查杀文件的扇区信息发送给所述后台杀毒服务器;
所述后台杀毒服务器判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化;以及
若所述扇区信息对应的扇区内容相较于上次发生了变化,所述后台杀毒服务器将所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具。
本发明实施例还提供一种文件病毒查杀系统,所述文件病毒查杀系统包括相互通信连接的虚拟化服务器及后杀毒台服务器,所述虚拟化服务器中运行有一虚拟机,所述虚拟机内运行有一杀毒代理工具;
所述虚拟机中的杀毒代理工具包括:获取模块及发送模块;
所述获取模块,用于获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息;
所述发送模块,用于将所述待查杀文件的扇区信息发送给所述后台杀毒服务器;
所述后台杀毒服务器包括判断模块及查杀模块;
所述判断模块,用于判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化;以及
所述查杀模块,用于当所述扇区信息对应的扇区内容相较于上次发生了变化时,对所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具。
与现有技术相比,本发明实施例提供的文件病毒查杀方法及系统,通过后台杀毒服务器判断待查杀文件的扇区内容相较于上次查杀是否发生变化,在所述扇区内容变化时才进行病毒查杀,所述虚拟机不需要进行更多的计算工作,从而减轻所述虚拟机负担。另外,在所述扇区信息有变化时,所述后台杀毒服务器再进行查杀,也可以提高所述后台杀毒服务器的查杀效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的文件病毒查杀系统的交互示意图。
图2为本发明较佳实施例提供的文件病毒查杀方法的流程图。
图3为本发明一实例中的虚拟化层各功能模块示意图。
图4为一种实施方式中的所述文件病毒查杀系统的数据交互示意图。
图5为本发明较佳实施例提供的文件病毒查杀系统的功能模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明较佳实施例提供的文件病毒查杀系统的交互示意图。后台杀毒服务器100通过网络与一个或多个虚拟化服务器200进行通信连接,以进行数据通信或交互。所述后台杀毒服务器100可以是网络服务器、数据库服务器等。所述虚拟化服务器200为通用服务器、个人PC机等能够运行虚拟机的服务器,其上运行有虚拟化平台与虚拟机。
本实施例中,所述虚拟化服务器200中运行有虚拟机210,所述虚拟机210中可运行一杀毒代理工具,在一个实例中,如图1所示,所述杀毒代理工具可命名为“RexAV Tools”。在一种实施方式中,所述杀毒代理工具为运行在所述虚拟机210中的一个进程。本实施例中,所述杀毒代理工具可以与所述后台杀毒服务器100实现通信。
本实施例中,所述虚拟化服务器200的宿主机上运行有一前端控制平台。在一个实例中,所述前端控制平台通过运行在所述宿主机的底层虚拟化平台实现。在一个实例中,如图1所示,所述底层虚拟化平台可命名为“RexAV Front”。所述底层虚拟化平台可接收所述虚拟机写入的数据,也可以实现与所述后台杀毒服务器100交互。
本实施例中,所述后台杀毒服务器100与所述虚拟化服务器200通过所述杀毒代理工具RexAV Tools和底层虚拟化平台RexAV Front进行通信。本实施例中,所述后台杀毒服务器100中包括网络适配器(Network InterfaceCard,NIC)及磁盘(disk)。在一种实施方式中,所述后台杀毒服务器100中运行有杀毒引擎(Antivirus Engine)。在一个实例中,如图1所述,多个后台杀毒服务器中运行有相同的杀毒引擎。在其它实施方式中,每个后台杀毒服务器100也可以运行有多个杀毒引擎。
请参阅图2,是本发明较佳实施例提供的应用于图1所示的文件病毒查杀系统的文件病毒查杀方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S301,运行在虚拟机中的杀毒代理工具获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息。
本实施例中,所述杀毒代理工具获取待查杀文件可以是接收用户选择而获取的待查杀文件,也可以是主动获取的待查杀文件。
在一个实例中,所述虚拟化服务器中的虚拟机210与前端控制平台220可以是基于QEMU(虚拟操作系统模拟器)系统实现。如图3所示,图3为本发明一实例中的虚拟化层各功能模块示意图。图3是以QEMU/KVM为例的虚拟机210中数据写入磁盘的流程中各个模块的功能示意。图3所示的虚拟化服务器中包括运行在虚拟机中的客操作系统(Guest OS)及运行有前端控制平台220的主操作系统(Host OS)。其中,Virtio_blk为磁盘驱动的前端,被安装在虚拟机中负责与qemu模拟器中的后端进行交互。当虚拟机中产生磁盘输入输出时,触发VM-Exit使执行流程到达前端控制平台220所在主操作系统内核中的KVM模块。本实施例中,所述磁盘输入输出模拟需要借助于qemu模块,此时通过函数ioctl(设备驱动程序中对设备的I/O通道进行管理的函数)调用返回使执行流程进入到应用层的qemu中。再经过模拟模块及磁盘运输模块到达所述虚拟化服务器200的磁盘。针对不同镜像格式,qemu需要完成不同的IO模拟操作。进一步地,所述虚拟机210中还包括虚拟网络模块(virtio_net)和虚拟处理器(VCPU)。所述虚拟化服务器200还包括处理器(CPU)、磁盘(disk)和网络模块(network)。当然,所述虚拟化服务器200还可以拥有更多或更少的功能模块。
下面以所述虚拟化服务器中的虚拟机与所述底层虚拟化平台可以是基于所述QEMU/KVM系统实现进行描述,且虚拟机镜像采用qcow2(QEMU Copy On Write)格式。
本实施例中,所述杀毒代理工具可提供一个与用户交互的操作界面。
在一种实施方式中,所述杀毒代理工具接收用户在所述操作界面对所述待查杀文件的选择。
在另一种实施方式中,所述杀毒代理工具按照预设规则获取所述待查杀文件,例如,所述虚拟机监测到运行过程中任意文件被修改了,则修改的文件作为待查杀文件,获取所述修改的文件的扇区信息。
在一种实施方式中,如图4所示,图4为一种实施方式中的所述文件病毒查杀系统的数据交互示意图。所述虚拟机运行的杀毒代理工具(RexAV Tools)中包括一用户界面(User Interface),所述用户界面可以接收用户对待查杀文件的选择等。
在一种实施方式中,所述虚拟机运行的杀毒代理工具(RexAV Tools)中包括解析单元(Sector Resolution),所述解析单元用于获取所述用户界面获取的待查杀文件在虚拟机中的扇区信息,所述扇区信息包括所述待查杀文件的扇区位置。
在一种基于Windows NTFS文件系统的实施方式中,所有系统信息和管理数据都以文件的方式存储,每个文件信息都被保存在MFT(Master File Table,主文件表)表中,当文件内容较小时,文件的数据被完全存储在MFT属性中,否则NTFS将分配额外的数据块来存储文件数据。针对额外数据块扇区位置的获取,以FSCTL_GET_RETRIEVAL_POINTERS作为控制码发起DeviceIoControl请求,可以获取文件数据所在逻辑扇区偏移,逻辑扇区偏移再通过IOCTL_VOLUME_LOGICAL_TO_PHYSICAL请求转换为物理扇区偏移。
步骤S302,所述杀毒代理工具将所述待查杀文件的扇区信息发送给后台杀毒服务器。
在一种实施方式中,如图4所示,所述虚拟机运行的杀毒代理工具(RexAV Tools)中包括一通信模块(Communication module),所述通信模块用于与所述后台杀毒服务器通信。本实施例中,所述杀毒代理工具通过所述通信模块向所述后台杀毒服务器发送所述扇区信息。
步骤S303,所述后台杀毒服务器判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化。
若所述扇区内容相较于上次发生了变化,执行步骤S304。若所述扇区内容相较于上次未发生变化,则所述后台杀毒服务器返回上次查杀文件的查杀结果给所述杀毒代理工具。
本实施例中,所述文件病毒查杀方法还包括:所述虚拟机需要写入新的文件至磁盘扇区时,虚拟机所在虚拟化服务器向所述后台杀毒服务器发送扇区修改信息。所述后台杀毒服务器接收所述扇区修改信息并存储。
在一种实施方式中,如图4所示,所述前端控制平台中运行一主线程(Main),所述主线程(Main)模拟所述虚拟机210的网络和磁盘等输入输出。本实施例中,在所述主线程(Main)上可包括获取虚拟机扇区更改信息的功能。所述获取虚拟机扇区更改信息:在一个实例中,写入操作可以用结构体sector_ops:{start_sector,sector_num,ops_size}表示,当每次虚拟机向磁盘写入数据时,qemu主线程将虚拟机的写入操作抽象成sector_ops结构并交由网络线程(NetAV)处理,qemu线程和网络线程(NetAV)构成生产者消费者模型,环形队列用于实现主线程(Main)和网络线程(NetAV)之间的数据共享。本实施例中,所述主线程(Main)向所述网络线程(NetAV)发送通知消息(notify),所述网络线程(NetAV)可根据所述通知消息(notify)与所述后台杀毒服务器通信交互数据。
本实施例中,所述网络线程(NetAV)可以从环形扇区队列中取出数据发送给所述后台杀毒服务器。
在一个实例中,所述后台杀毒服务器中的网络线程(NetAV Server)接收前端控制平台发送过来的扇区修改信息,并将对应扇区的状态改为WRITTEN,表示扇区已经被修改。当然,所述后台杀毒服务器也可以通过其它符号对所述扇区进行标记,以标识所述扇区被修改。
本实施例中,所述虚拟化服务器还可以选择需要被监听的系统路径。
在一种实施方式中,如图4所示,所述虚拟机210运行的杀毒代理工具(RexAVTools)中包括一用户界面(user Interface)中包括有选择需要被监听的系统路径的操作。所述杀毒代理工具还包括一事件控制单元(Event Handler)。用户界面接收到用户选择需要被监听的系统路径后,所述事件控制单元(Event Handler)监视所述虚拟机指定的系统路径,发生在该系统路径下的文件修改、新建文件等都会被该事件控制单元(EventHandler)捕获。本实施例中,所述监听的系统路径中存在文件的写入等操作时,所述杀毒代理工具向所述后台杀毒服务器发送被修改文件的扇区信息。
在一个实例中,如图4所示,所述后台杀毒服务器中运行的代理服务线程(NetSerAgent)在接收到所述虚拟机中杀毒代理工具的杀毒请求后,判断所述扇区信息中包含的扇区是否有标记“WRITTEN”状态的扇区。在所述扇区信息中包括的扇区中有标记所述“WRITTEN”状态的扇区才执行步骤S304,否则将上一次的杀毒结果返回给所述虚拟机中的杀毒代理工具。
步骤S304,所述后台杀毒服务器将所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具。
本实施例中,所述查杀结果可以包含所述待查杀文件中有被病毒感染或所述待查杀文件安全两种情况。在一种实施方式中,根据所述查杀结果对所述扇区对应的扇区状态进行标记,将所述扇区状态标记为安全或检测出病毒。在一个实例中,所述扇区为安全时,所述后台杀毒服务器将扇区状态修改为CLEAN;当扇区被病毒感染时,所述后台杀毒服务器将扇区的状态修改为INFECTED。
在一个实例中,所述待查杀文件被所述后台杀毒服务器进行查杀后,将所述待查杀文件对应存储的扇区的状态进行修改,将查杀结果写入对应的扇区标志位。
本实施例中,步骤S304包括:所述后台杀毒服务器向所述虚拟化服务器发送读取所述扇区内容的请求,以使所述虚拟化服务器中的前端控制平台读取所述扇区对应的内容;所述后台杀毒服务器接收所述前端控制平台发送的扇区内容并重组为文件,将重组后的文件进行查杀。
本实施例中,如图4所示,所述前端控制平台中运行有一服务线程(NetSer),所述后台杀毒服务器将所述读取所述扇区内容的请求发送给所述服务线程(NetSer)。所述服务线程(NetSer)接收到所述读取所述扇区内容对应的请求,则服务线程(NetSer)通过遍历图4所示实例中的l1_table和l2_table读取扇区对应内容。
步骤S304包括:若所述扇区内容相较于上次发生了变化,所述后台杀毒服务器启动一个或多个杀毒引擎对所述待查杀文件进行查杀。
本实施例中,所述虚拟机的杀毒代理工具可以向所述后台杀毒服务器发送多个查杀文件的请求,所述后台杀毒服务器可以启动多个不同的杀毒引擎进行杀毒。所述虚拟机的杀毒代理工具可以向所述后台杀毒服务器发送一个查杀文件的请求,所述后台杀毒服务器可以启动多个不同的杀毒引擎分别进行查杀,以提高所述待查杀文件的安全性。
本发明实施例提供的文件病毒查杀方法,通过后台杀毒服务器判断所述待查杀文件的扇区内容相较于上次查杀是否发生变化,在所述扇区内容变化时才进行病毒查杀,所述虚拟机不需要进行更多的计算工作可以减轻所述虚拟机负担。另外,在所述扇区信息有变化时,所述后台杀毒服务器再进行查杀,也可以提高所述后台杀毒服务器的查杀效率。
在其它实施例中,用户通过运行在虚拟机的杀毒代理工具为所述虚拟机的文件配置控制权限。当所述文件对应的配置的控制权限中包括读写访问权限时,所述虚拟化服务器中的前端控制平台允许虚拟机读写所述扇区对应的数据,否则将禁止虚拟机读写对应文件内容。
在一种实施方式中,如图4所示,所述前端控制平台的主线程(Main)还可以实现扇区的隔离。当qemu线程访问虚拟机数据时,需要遍历l1_table和l2_table来获取虚拟机扇区所在簇偏移。在一个实例中,l2_table中的镜像格式需要被修改,可通过在l2_table的表项中添加禁止写(DENY_WRITE)和禁止读(DENY_READ)的标志位用以控制虚拟机对该簇的读写访问控制权限是否被禁止;若对应的访问权限被禁止,则qemu线程将访问acl_table来判断对应扇区是否被禁止读或者写。
在一个实例中,如图4所示,所述前端控制平台中包括一指针表(Acl_table),所述指针表(Acl_table)指向访问控制数据。所述Acl_table表项中存储acl_data所在簇偏移。在一个实例中,虚拟机扇区号的低18位用于索引acl_data得到该扇区的访问控制标志位,扇区号的高位用于索引acl_table得到acl_data所在偏移量。每个扇区在Acl_data中占有两个存储标志位,所述标志位中的禁止写(DENY_WRITE)或禁止读(DENY_READ)被置位时表示该扇区被禁止写或者读。当qemu发现l2_entry对应标志位被置位时,将访问acl_table来判断虚拟机对该扇区的访问控制权限。
进一步地,所述服务线程(NetSer)在收到虚拟机对文件file1的隔离请求后,通过遍历qcow2镜像格式得到file1所在物理扇区号对应的l2_entry表项并将表项标志位中的DENY_READ置1,然后所述服务线程(NetSer)遍历acl_table获得acl_data所在簇偏移,将file1所在物理扇区对应的标志位DENY_READ置1(若为禁止写入则将DENY_WRITE置1),则表示DENY_READ置1对应的扇区被隔离。
在其它实施例中,在所述步骤S304之后所述虚拟化服务器可以将所述虚拟机中可能存在病毒的文件或者重要的文件进行隔离。
在一种实施方式中,如图4所示,所述虚拟机运行的杀毒代理工具(RexAV Tools)中包括一用户界面(user Interface),所述用户界面中包括有选择需要被隔离的文件的操作。本实施例中,若所述用户界面(user Interface)接收到用户选择的需要被隔离的文件,所述虚拟化服务器的前端控制平台中运行有一主线程,所述主线程包括实现扇区隔离的功能。
在一个实例中,用户可以通过杀毒代理工具(RexAV Tools)取消对某个文件的隔离。下面以取消文件file1的隔离为例进行描述。所述用户界面(User Interface)接收到用户选择取消对被隔离文件file1的隔离。所述杀毒代理工具(RexAV Tools)调用解析单元(Sector Resolution)解析出被隔离文件file1所在物理扇区号。所述通信模块(Communication module)将取消隔离文件file1请求发送给后台杀毒服务器的代理服务线程(NetSer Agent),由代理服务线程(NetSer Agent)向虚拟化服务器的前端控制平台中的服务线程(NetSer)发起文件file1对应的扇区隔离请求。所述服务线程(NetSer)在收到后端取消扇区隔离的请求后,遍历acl_table获得acl_data所在簇偏移,将file1所在物理扇区对应的标志位DENY_READ置0(若为禁止写入则将DENY_WRITE置0)。若文件file1扇区所在簇中不再有扇区被隔离,则将扇区所在簇对应的l2_entry中的DENY_READ置0,表示所述扇区所在簇处于未被隔离状态。
本实施例中,实现基于扇区级别的访问控制,通过在虚拟化层引入基于扇区的访问控制标志位,可以在底层对虚拟机文件提供读写访问控制以及隔离机制,该机制无法被虚拟机恶意代码旁路。
请参阅图5,是本发明较佳实施例提供的图1所示的文件病毒查杀系统的功能模块示意图。所述文件病毒查杀系统包括相互通信连接的虚拟化服务器200及后台杀毒服务器100,所述虚拟化服务器200中运行有一虚拟机210,所述虚拟机内运行有一杀毒代理工具。
所述虚拟化服务器200中的虚拟机210中的杀毒代理工具包括:获取模块2101及发送模块2102。
所述获取模块2101,用于获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息。
所述发送模块2102,用于将所述待查杀文件的扇区信息发送给所述后台杀毒服务器。
所述后台杀毒服务器100包括判断模块110及查杀模块120。
所述判断模块110,用于判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化。
所述查杀模块120,用于当所述扇区信息对应的扇区内容相较于上次发生了变化时,对所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具。
所述后台杀毒服务器100还可包括请求接收模块130。
所述请求接收模块130用于接收虚拟机210中的杀毒代理工具发送的请求,所述请求包括所述待查杀文件的扇区信息以及对所述文件执行的操作。
本实施例中,所述查杀模块120包括:请求单元1201及查杀单元1202。
所述请求单元1201,用于向所述虚拟化服务器发送读取所述扇区对应的文件内容的请求,以使所述虚拟化服务器中的前端控制平台读取所述扇区内容。
所述查杀单元1202,用于接收所述虚拟化服务器中的前端控制平台发送的扇区内容并重组为文件,并对重组后的文件进行病毒查杀。
所述虚拟化服务器200中运行有前端控制平台220,所述前端控制平台220包括读取模块2201,用于读取所述扇区信息对应的扇区内容。
本实施例中,所述运行在虚拟化服务器200中的虚拟机中的杀毒代理工具还包括:配置模块2103,用于为所述虚拟机的文件配置控制权限。
所述前端控制平台220的读取模块2201还用于当所述文件对应的配置的控制权限中包括读写访问权限时,允许获取所述扇区信息对应的数据,否则将禁止虚拟机读取所述扇区内容。
在其它实施例中,所述前端控制平台220还可以包括监控模块2202,用于监控所述虚拟机运行过程中修改任意扇区的动作,并将被修改的扇区的信息发送给所述后台杀毒服务器100。
本实施例中,所述后台杀毒服务器100的查杀模块120还用于当所述扇区内容相较于上次发生了变化时,启动一个或多个杀毒引擎对所述待查杀文件进行查杀。
本实施例中,所述虚拟机210的杀毒代理工具还包括:发送模块2102,用于向所述后台杀毒服务器发送扇区信息。
所述后台杀毒服务器100还包括信息接收模块140,用于接收所述扇区修改信息并存储,并将对应扇区的状态改为WRITTEN,表示扇区已经被修改。
所述后台杀毒服务器100的判断模块110还用于判断所述服务器是否接收到所述扇区对应的扇区修改信息。
关于本实施例的其它细节可进一步地参考上述方法实施例中的描述,在此不再赘述。
本发明实施例提供的文件病毒查杀系统,通过后台杀毒服务器判断所述待查杀文件的扇区信息相较于上次查杀是否发生变化,在所述扇区内容变化时才进行病毒查杀,所述虚拟机不需要进行更多的计算工作减轻所述虚拟机负担。另外,在所述扇区信息有变化时,所述后台杀毒服务器再进行查杀,也可以提高所述后台杀毒服务器的查杀效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种文件病毒查杀方法,其特征在于,应用于文件查杀系统,所述系统包括相互通信连接的虚拟化服务器及后台杀毒服务器,所述虚拟化服务器上运行有一虚拟机,所述虚拟机内运行有一杀毒代理工具,所述虚拟化服务器中运行有一前端控制平台,所述前端控制平台通过运行在所述虚拟化服务器的宿主机上的底层虚拟化平台实现;
所述文件病毒查杀方法包括:
所述虚拟机内的杀毒代理工具获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息,并将所述待查杀文件的扇区信息发送给所述后台杀毒服务器;
所述后台杀毒服务器判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化;以及
若所述扇区信息对应的扇区内容相较于上次发生了变化,所述后台杀毒服务器将所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具,包括:
所述后台杀毒服务器向所述虚拟化服务器发送读取所述扇区内容的请求,以使所述虚拟化服务器中的前端控制平台读取所述扇区内容,并发送给后端杀毒服务器;
所述后台杀毒服务器接收所述前端控制平台发送的扇区内容并重组为文件,将接收到的文件进行查杀;
其中,在所述后台杀毒服务器判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化的步骤之前,所述方法还包括:
所述虚拟机需要写入新的文件至磁盘扇区时,所述虚拟机所在虚拟化服务器向所述后台杀毒服务器发送扇区修改信息;
所述后台杀毒服务器接收所述扇区修改信息并存储;
所述后台杀毒服务器判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化的步骤包括:
所述后台杀毒服务器判断针对所述扇区至上次杀毒之后是否接收到所述扇区对应的修改信息。
2.如权利要求1所述的文件病毒查杀方法,其特征在于,所述方法还包括:
通过运行在虚拟机的杀毒代理工具为所述虚拟机的文件配置访问控制权限;
当所述文件对应的配置的控制权限中包括读写访问权限时,所述虚拟化服务器中的前端控制平台允许所述虚拟机读取所述文件对应扇区的数据。
3.如权利要求1所述的文件病毒查杀方法,其特征在于,若所述扇区信息对应的扇区内容相较于上次发生了变化,所述后台杀毒服务器将所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具的步骤包括:
若所述扇区内容相较于上次发生了变化,所述后台杀毒服务器启动一个或多个杀毒引擎对所述待查杀文件进行查杀。
4.一种文件病毒查杀系统,其特征在于,所述文件病毒查杀系统包括相互通信连接的虚拟化服务器及后台杀毒服务器,所述虚拟化服务器中运行有一虚拟机,所述虚拟机内运行有一杀毒代理工具;
所述虚拟机中的杀毒代理工具包括:获取模块及发送模块;
所述获取模块,用于获取待查杀文件,根据所述待查杀文件获取所述待查杀文件的扇区信息;
所述发送模块,用于将所述待查杀文件的扇区信息发送给所述后台杀毒服务器;
所述后台杀毒服务器包括判断模块及查杀模块;
所述判断模块,用于判断所述扇区信息对应的扇区内容相较于上次查杀时是否存在变化;以及
所述查杀模块,用于当所述扇区信息对应的扇区内容相较于上次发生了变化时,对所述待查杀文件进行病毒查杀,并将查杀结果返回给所述杀毒代理工具;
所述查杀模块包括:请求单元及查杀单元;
所述请求单元,用于向所述虚拟机所在虚拟化服务器发送读取所述扇区内容的请求,以使所述虚拟化服务器中的前端控制平台读取所述扇区内容;
所述查杀单元,用于接收所述虚拟化服务器中的前端控制平台发送的扇区内容并重组为文件,并将重组后的文件进行病毒查杀;
所述虚拟化服务器中运行有前端控制平台,所述前端控制平台通过运行在所述虚拟化服务器的宿主机上的底层虚拟化平台实现,所述前端控制平台包括读取模块,用于读取所述扇区信息对应的扇区内容;
所述前端控制平台的发送模块,用于当虚拟机需要写入新的文件至磁盘扇区时,向所述后台杀毒服务器发送扇区修改信息;
所述后台杀毒服务器还包括信息接收模块,用于接收所述扇区修改信息并存储;
所述后台杀毒服务器的判断模块还用于判断从上次杀毒之后所述服务器是否接收到所述扇区对应的修改信息。
5.如权利要求4所述的文件病毒查杀系统,其特征在于,运行在虚拟机的杀毒代理工具还包括:配置模块,用于为所述虚拟机的文件配置控制权限;
所述虚拟化服务器中的前端控制平台中的读取模块还用于当文件对应的配置的控制权限中包括读写访问权限时,获取所述扇区信息对应的扇区的数据,否则将不允许虚拟机读写被禁止访问的文件内容。
6.如权利要求4所述的文件病毒查杀系统,其特征在于,所述后台杀毒服务器的查杀模块还用于在所述扇区内容相较于上次发生了变化时,启动一个或多个杀毒引擎对所述待查杀文件进行查杀。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556664.XA CN107358096B (zh) | 2017-07-10 | 2017-07-10 | 文件病毒查杀方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556664.XA CN107358096B (zh) | 2017-07-10 | 2017-07-10 | 文件病毒查杀方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107358096A CN107358096A (zh) | 2017-11-17 |
CN107358096B true CN107358096B (zh) | 2020-06-09 |
Family
ID=60292437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710556664.XA Active CN107358096B (zh) | 2017-07-10 | 2017-07-10 | 文件病毒查杀方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107358096B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459609B (zh) * | 2020-03-10 | 2024-04-19 | 奇安信科技集团股份有限公司 | 虚拟机安全防护方法、装置及电子设备 |
CN111625827B (zh) * | 2020-05-29 | 2024-04-09 | 深信服科技股份有限公司 | 文件处理方法、装置、终端设备及计算机可读存储介质 |
CN112948829B (zh) * | 2021-03-03 | 2023-11-03 | 深信服科技股份有限公司 | 文件查杀方法、系统、设备及存储介质 |
CN113220953B (zh) * | 2021-05-24 | 2022-08-23 | 北京安盟信息技术股份有限公司 | 一种数据过滤方法及装置 |
CN114385367B (zh) * | 2022-01-14 | 2022-11-01 | 黑龙江省政务大数据中心 | 一种基于云管平台的资源管理系统 |
CN114520059A (zh) * | 2022-02-21 | 2022-05-20 | 黑龙江中医药大学 | 一种基于大数据的中医诊断学数据平台 |
CN117056915B (zh) * | 2023-10-11 | 2024-02-02 | 深圳安天网络安全技术有限公司 | 一种文件检测方法、装置、介质和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571825A (zh) * | 2008-04-29 | 2009-11-04 | 联想(北京)有限公司 | 一种保存和扫描磁盘修改记录的方法和装置 |
CN104598818A (zh) * | 2014-12-30 | 2015-05-06 | 北京奇虎科技有限公司 | 一种用于虚拟化环境中的文件检测系统及方法 |
-
2017
- 2017-07-10 CN CN201710556664.XA patent/CN107358096B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571825A (zh) * | 2008-04-29 | 2009-11-04 | 联想(北京)有限公司 | 一种保存和扫描磁盘修改记录的方法和装置 |
CN104598818A (zh) * | 2014-12-30 | 2015-05-06 | 北京奇虎科技有限公司 | 一种用于虚拟化环境中的文件检测系统及方法 |
Non-Patent Citations (2)
Title |
---|
一种支持服务恢复的文件备份恢复技术研究与实现;伍江江等;《计算机研究与发展》;20110131(第S1期);第165页 * |
虚拟机与宿主机之间的文件访问控制;张勇;《信息安全与通信保密》;20100131(第1期);第109页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107358096A (zh) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358096B (zh) | 文件病毒查杀方法及系统 | |
CN102799817B (zh) | 用于使用虚拟化技术进行恶意软件保护的系统和方法 | |
JP6356158B2 (ja) | 仮想化環境においてアプリケーション及びデバイスを制御する方法並びに技術 | |
US8191147B1 (en) | Method for malware removal based on network signatures and file system artifacts | |
CN109831420A (zh) | 内核进程权限的确定方法及装置 | |
KR20200052957A (ko) | 보안 제어 방법 및 컴퓨터 시스템 | |
RU2535506C2 (ru) | Система и способ формирования сценариев модели поведения приложений | |
WO2016168476A1 (en) | A method to detect malicious behavior by computing the likelihood of data accesses | |
EP3627368A1 (en) | Auxiliary memory having independent recovery area, and device applied with same | |
US9530007B1 (en) | Identifying tamper-resistant characteristics for kernel data structures | |
CN106687979B (zh) | 交叉视图恶意软件检测 | |
EA029778B1 (ru) | Способ обезвреживания вредоносных программ, блокирующих работу пк, с использованием отдельного устройства для активации пользователем процедуры противодействия вредоносному программному обеспечению | |
US20240134980A1 (en) | Identify malicious software | |
EP3063692B1 (en) | Virtual machine introspection | |
CN113010268B (zh) | 恶意程序识别方法及装置、存储介质、电子设备 | |
US20170053118A1 (en) | Changed Block Tracking Driver for Agentless Security Scans of Virtual Disks | |
US9646157B1 (en) | Systems and methods for identifying repackaged files | |
US20130246347A1 (en) | Database file groups | |
US10592267B2 (en) | Tree structure for storing monitored memory page data | |
CN106796644B (zh) | 访问控制系统及访问控制方法 | |
CN110659478B (zh) | 在隔离的环境中检测阻止分析的恶意文件的方法 | |
JP2004303243A (ja) | 高信頼性コンピューティングシステムにおけるノードのセキュリティ属性 | |
JP2010176660A (ja) | 仮想ハードディスクへのファイル属性情報の安全な管理の拡張 | |
US8397295B1 (en) | Method and apparatus for detecting a rootkit | |
RU2638735C2 (ru) | Система и способ оптимизации антивирусной проверки неактивных операционных систем |
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 | ||
CB02 | Change of applicant information |
Address after: Two Street South Chengdu Dayuan high tech Zone of Sichuan province 610000 City 1 floor No. 39 Applicant after: Chengdu Lingyue yunchuang Technology Co., Ltd Address before: Two Street South Chengdu Dayuan high tech Zone of Sichuan province 610000 City 1 floor No. 39 Applicant before: CHENGDU CHONGDONG QIJI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |