CN111241539A - 一种虚拟化平台的安全防护***及方法 - Google Patents

一种虚拟化平台的安全防护***及方法 Download PDF

Info

Publication number
CN111241539A
CN111241539A CN202010018506.0A CN202010018506A CN111241539A CN 111241539 A CN111241539 A CN 111241539A CN 202010018506 A CN202010018506 A CN 202010018506A CN 111241539 A CN111241539 A CN 111241539A
Authority
CN
China
Prior art keywords
virtual machine
file
event
scanning result
machine
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
Application number
CN202010018506.0A
Other languages
English (en)
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.)
Asiainfo Technologies (chengdu) Inc
Original Assignee
Asiainfo Technologies (chengdu) Inc
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 Asiainfo Technologies (chengdu) Inc filed Critical Asiainfo Technologies (chengdu) Inc
Priority to CN202010018506.0A priority Critical patent/CN111241539A/zh
Publication of CN111241539A publication Critical patent/CN111241539A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种布置在虚拟化平台的安全防护***,包括物理机、第一虚拟机和第二虚拟机。其中,物理机运行至少一个第一虚拟机和一个第二虚拟机,并提供供第一虚拟机和第二虚拟机之间进行通信的数据传输通道;第一虚拟机通过数据传输通道将预定事件发送给第二虚拟机。物理机还可以将预定事件发送至第二虚拟机。第二虚拟机基于预定事件,获取文件或数据包进行扫描来得到扫描结果,并通过数据传输通道将扫描结果返回给第一虚拟机或物理机,以便第一虚拟机或物理机根据扫描结果来确定文件或数据包是否包含恶意内容。

Description

一种虚拟化平台的安全防护***及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟化平台的安全防护***及方法。
背景技术
在虚拟化技术快速发展的过程中,虚拟化平台更多是在考虑如何让虚拟出来的虚拟机占用更少的主机资源、以及如何让虚拟机稳定地运行和支持更多种类的虚拟机。而对虚拟机本身面临的病毒(如勒索软件、挖矿病毒)和层出不穷的攻击手段,目前并没有提供十分有效的解决方案,也没有提供专有的开发包能够让安全厂商方便快速地开发出对虚拟机性能影响较低的产品。
针对虚拟化平台所面临的安全问题,目前常见的一种解决方案是,在各业务虚拟机中安装传统杀毒软件,这种方式虽然在一定程度上解决了虚拟化环境中面临的安全问题,但是,虚拟机的性能本身就比直接运行在物理硬件上的***低很多,如果再在虚拟机中安装厚重的杀毒软件,会极大地拖慢虚拟机的运行速度,进而影响到主机的性能。
另外一种使用较多的解决方案是,在虚拟化平台主机里面集成安全服务,当对业务虚拟机进行安全扫描时,在虚拟化平台主机上会造成很大的CPU占用和内存占用,尤其是在需要扫描的业务虚拟机较多时,对虚拟化平台主机的CPU占用或物理内存占用可达到100%。这时,虚拟化平台主机其他服务将得不到CPU资源和内存资源,造成整个虚拟化环境的崩溃。另外,由于虚拟化环境的复杂性,安全服务程序也很容易出现各种故障,如非法访问内存造成虚拟化主机的宕机、占用太多内存造成业务虚拟机运行缓慢等。上述问题均会影响虚拟化平台的稳定运行。
因此,需要一种布置在虚拟化环境中的新的安全防护方案,能够有效解决虚拟化环境中存在的各种安全威胁,同时又保证虚拟化平台的稳定运行。
发明内容
为此,本发明提供了一种新的虚拟化平台的安全防护方案,以力图解决或至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种布置在虚拟化平台的安全防护***,包括:物理机,适于运行至少一个第一虚拟机和一个第二虚拟机,并提供供第一虚拟机和第二虚拟机之间进行通信的数据传输通道;第一虚拟机,适于通过数据传输通道将预定事件发送给第二虚拟机;物理机还适于将预定事件发送至第二虚拟机;第二虚拟机,适于基于预定事件,获取文件或数据包进行扫描来得到扫描结果,并通过数据传输通道将扫描结果返回给第一虚拟机或物理机,以便第一虚拟机或物理机根据扫描结果来确定所述文件或数据包是否包含恶意内容。
可选地,在根据本发明的***中,预定事件为文件事件,第一虚拟机还适于在检测到文件访问请求时,生成文件事件,并将文件事件发送至第二虚拟机,以便于第二虚拟机根据文件事件读取文件的内容,对所读取的内容进行扫描来得到扫描结果,并将扫描结果返回给第一虚拟机;以及第一虚拟机还适于在接收到扫描结果时,根据扫描结果确定文件是否包含恶意内容。
可选地,在根据本发明的***中,第一虚拟机包括:文件过滤驱动,适于根据所检测到的文件访问请求,生成文件事件,其中文件事件至少包括以下信息中的至少一个:文件的指纹、文件创建时间、文件修改时间、文件类型、文件长度、文件指定位置的指定长度。
可选地,在根据本发明的***中,在第一虚拟机中,文件过滤驱动还适于通过数据传输通道接收扫描结果,并根据扫描结果确定文件是否包含恶意内容。
可选地,在根据本发明的***中,第二虚拟机包括:内核模块,适于接收文件事件,并将文件事件发送至扫描模块;扫描模块,适于根据预置防护规则读取文件的部分或全部内容来进行扫描,并得到扫描结果。
可选地,在根据本发明的***中,预置防护规则至少包括以下规则中的至少一个:根据文件指定位置的指定长度,读取文件的内容;根据文件类型读取文件的内容;根据预设时间,定时读取文件的内容。
可选地,在根据本发明的***中,第一虚拟机还适于,在确定文件包含恶意内容时,拒绝文件访问请求,并删除或隔离文件,以及,在确定文件不包含恶意内容时,允许文件访问请求。
可选地,在根据本发明的***中,预定事件为数据包事件,物理机还适于在检测到待处理的数据包时,生成数据包事件,并将数据包事件发送至第二虚拟机,以便于第二虚拟机在接收到数据包事件时,从物理机中获取待处理的数据包,并对待处理的数据包进行扫描来得到扫描结果,以及将扫描结果返回给物理机;以及物理机还适于在接收到扫描结果时,根据扫描结果对数据包进行处理。
可选地,在根据本发明的***中,在第二虚拟机中,内核模块还适于接收数据包事件,并将数据包事件发送至扫描模块;扫描模块还适于根据预置过滤规则对数据包的内容进行扫描,得到扫描结果。
可选地,在根据本发明的***中,物理机还适于在扫描结果为不允许传输时,丢弃数据包;在扫描结果为允许传输时,允许数据包继续传输。
可选地,在根据本发明的***中,数据传输通道通过串口设备和/或字符设备和/或专用虚机网卡设备来实现。
根据本发明的另一个方面,提供了一种虚拟化平台的安全防护方法,适于在第一虚拟机中执行,包括步骤:在检测到文件访问请求时,生成文件事件;将文件事件通过数据传输通道发送给第二虚拟机,以便第二虚拟机根据文件事件读取文件的内容,并对所读取的内容进行扫描,来得到扫描结果,其中第二虚拟机与第一虚拟机运行在同一物理机上;在接收到扫描结果时,根据扫描结果确定文件是否包含恶意内容。
可选地,在根据本发明的安全防护方法中,数据传输通道由物理机通过串口设备和/或字符设备和/或专用虚机网卡设备来实现。
根据本发明的再一个方面,提供了一种虚拟化平台的安全防护方法,适于在第二虚拟机中执行,包括步骤:接收来自第一虚拟机的文件事件或来自物理机的数据包事件,其中第一虚拟机与第二虚拟机运行在物理机上;根据文件事件或数据包事件,分别从第一虚拟机或物理机中读取文件或数据包的内容;对所读取的内容进行扫描,来得到扫描结果,并将扫描结果发送至第一虚拟机或物理机。
根据本发明的再一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述任一方法的指令。
根据本发明的再一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的任一方法。
根据本发明的方案,通过把预定事件导入到一个专有的安全虚拟机(即第二虚拟机)来集中进行文件杀毒和网络数据包的过滤,增强了业务虚拟机的稳定性。同时,因为整个杀毒过程和网络数据包过滤集中在一个专有的安全虚拟机里面,不需要在平台主机的操作***安装任何程序,又增加了虚拟化平台主机的稳定性。
根据本发明的方案能够解决传统杀毒软件对业务虚拟机(即第一虚拟机)性能的高损耗、以及把安全服务部署在虚拟化平台主机(即物理机)内部对平台主机的性能和稳定性的影响。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的安全防护***100的场景示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的安全防护方法300的流程图;
图4示出了根据本发明另一个实施例的安全防护方法400的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的安全防护***100的场景示意图。
根据本发明的实施方式,安全防护***100布置在虚拟化平台上,虚拟化平台(如VMware、KVM、Xen等,不限于此)指通过虚拟化技术,可以在单台物理计算机上运行多个虚拟机,且所有虚拟机可在多种环境下共享该物理计算机上的资源。该物理计算机(或称为物理机)即虚拟化平台的主机。
如图1所示,该安全防护***100包括一个物理机110、多个第一虚拟机120和一个第二虚拟机130。其中,第一虚拟机120和第二虚拟机130均由物理机110创建,且第一虚拟机120和第二虚拟机130可以独立、并行地运行不同的操作***和多个应用程序。根据本发明的实施方式,第一虚拟机120被布置为业务虚拟机,同一般的虚拟机,用来实现虚拟化平台上的各种服务。第二虚拟机130被布置为安全虚拟机,专门用来实现虚拟化平台上的安全服务。
需要说明的是,图1所示的各虚拟机的数量仅作为示例,本发明实施例对第一虚拟机和第二虚拟机的数量并不做限制。
物理机110上的虚拟机间通信机制,来提供供各第一虚拟机110和第二虚拟机120之间进行通信的数据传输通道。在一种实施例中,该数据传输通道通过串口设备(如用在Ctrix虚拟机平台-Xen中的虚拟机之间通信的XenBus)和/或字符设备和/或专用虚机网卡设备(KVM的PCI设备)来实现。
针对虚拟化平台中通常会出现的两种安全威胁,即,业务虚拟机上所存储的文件是否安全、以及虚拟化平台在网络虚拟化后,流入/流出业务虚拟机的网络数据包是否安全,根据本发明的实施例,定义了预定事件,即一旦检测到有关于文件或网络数据包的相关操作时,就认为触发了一次预定事件。具体地,在一种实施例中,一方面,第一虚拟机120在检测到预定事件时,通过数据传输通道将预定事件发送给第二虚拟机130。另一方面,物理机110在检测到预定事件时,也会将预定事件发送至第二虚拟机130。根据本发明的实施例,预定事件可以是文件事件(例如,打开某个文件)或数据包事件(例如,接收到网络数据包)。
第二虚拟机130在接收到预定事件后,基于预定事件,获取文件或数据包进行扫描,来得到扫描结果。该扫描结果指示文件或数据包是否安全,以此来实现对业务虚拟机的文件内容或网络的安全防护。之后,第二虚拟机130通过数据传输通道将扫描结果返回给对应的第一虚拟机120或将扫描结果返回给物理机110。这样,第一虚拟机120或物理机110根据扫描结果,就可以确定文件或数据包是否包含恶意内容。
以下将针对两种类型的预定事件,分别说明本***100执行安全防护的过程。
1.预定事件为文件事件
如图1所示,第一虚拟机120包含文件过滤驱动122,用来检测第一虚拟机120上的文件访问请求。当用户要对第一虚拟机120进行文件操作时,例如打开某个文件,就认为发生了一次文件访问请求。文件过滤驱动122会检测到该文件访问请求,并生成文件事件。根据本发明的实施例,文件事件至少包括以下信息中的至少一个:文件的指纹(如对文件数据进行MD5加密后生成的指纹,不限于此)、文件创建时间、文件修改时间、文件类型(例如可以是文本、视频、音频、图片、可执行文件等,不限于此)、文件长度、文件指定位置的指定长度(通常指定长度为4KB,不限于此)。
文件过滤驱动122在生成文件事件后,通过数据传输通道将该文件事件发送至第二虚拟机130,由第二虚拟机130根据该文件事件,读取文件并进行扫描,得到扫描结果。
根据本发明的实施例,第二虚拟机130包括相互耦接的内核模块132和扫描模块134。
内核模块132通过数据传输通道接收文件事件,并将文件事件发送至扫描模块134。
扫描模块134根据预置防护规则,从第一虚拟机120中读取该文件事件所指向的文件的部分或全部内容,来进行扫描,并得到扫描结果。扫描模块134中定义了预置防护规则,来指定对不同的文件执行不同的操作。根据本发明的实施例,预置防护规则至少包括以下规则中的至少一个:1)根据文件指定位置的指定长度,读取文件的内容;2)根据文件类型读取文件的内容;3)根据预设时间,定时读取文件的内容。
基于上述预置规则,例如,设置从文件的指定位置A处开始读取长度为B的文件内容。又如,设置当文件类型为视频时,就读取长度为C的文件内容先进行扫描,如果扫描结果是恶意的,就停止扫描并得到扫描结果,如果扫描发现还需要读取文件中的其他地方的内容,那就再去读取这个文件的其他地方的指定大小内容并扫描。再如,设置对于某些文件,每天从凌晨零点开始进行扫描,对某些文件,每周日进行一次扫描,等等。预置规则可以是对上述规则的各种组合,本发明的实施例对此不做过多限制。第二虚拟机130将扫描结果返回给第一虚拟机120。
第一虚拟机120在接收到扫描结果时,根据扫描结果确定文件是否包含恶意内容。一般地,若扫描结果指示该文件包含恶意内容,那么,第一虚拟机120拒绝该文件访问请求。此外,还可以采取删除或隔离该文件的方式,来实现文件的安全防护。若扫描结果指示该文件不包含恶意内容,那么,第一虚拟机120就允许该文件访问请求。
2.预定事件为数据包事件
在虚拟化平台中,所有虚拟机的网络流量都会经过物理机110内部的网络堆栈,包括第一虚拟机120要接收的网络数据包以及第一虚拟机120所发出的网络数据包。并且,物理机110除了提供虚拟机间通信机制外,还提供了相应的包转发机制,在网络堆栈的不同层来截取网络流量。其中,最常用的方法就是通过Netfilter提供的钩子来截取网络流量。
物理机110在检测到待处理的数据包(即,截取到新的网络数据包,该网络数据包可以是由第一虚拟机120发出的、也可以是第一虚拟机120要接收的)时,生成数据包事件。该数据包事件可以包含数据包的大小、数据包的接收时间等信息,不限于此。物理机110将数据包事件发送至第二虚拟机130,以便于第二虚拟机130根据该数据包事件,从物理机110的网络堆栈中读取数据包并进行扫描,得到扫描结果。
继续如图1,第二虚拟机130中的内核模块132在接收到数据包事件时,将该数据包事件转发至扫描模块134。
扫描模块134从物理机110中获取待处理的数据包,并根据预置过滤规则,对待处理的数据包进行扫描来得到扫描结果。扫描模块134中还定义了预置过滤规则,来指定对网络数据包的过滤方式。根据本发明的实施例,预置过滤规则包括:根据网络数据包的内容或数据包头,对网路数据包进行过滤。其中,网络数据包的包头包括数据包的源IP地址、目的IP地址、通信双面的端口号、协议类型等,而网络数据包的内容就是具体传输的数据内容,比如登陆一个网站需要输入的用户名、密码等信息。
例如,预置过滤规则可以是:若发现网络数据包内容中的用户名A,就把此数据包丢掉,使该用户无法登陆这个网站。又如,预置过滤规则可以根据数据包头的IP地址来设置,将来自某个IP地址的网络数据包全部丢掉。再如,预置过滤规则可以是:当网络数据包的内容包含“赌博”“色情”等违法关键字时,将该数据包丢掉,以达到净网的目的。再如,预置过滤规则还可以是:从包含恶意数据包的数据库中进行匹配。若匹配得到,则扫描结果为确认该网络数据包存在安全隐患,不允许传输;若没有匹配到,则扫描结果为确认该网络数据包是安全的,允许传输。可选地,包含恶意数据包的数据库可以是现有的一些第三方数据库,也可以根据经验收集得到,可以是包含恶意字符的数据库等,本发明的实施例对此不做限制。当然,此处对预置过滤规则的说明仅作为示例,本发明实施例亦接收用户对预置过滤规则的自定义。
最后,扫描模块134再经由内核模块132,将扫描结果返回给物理机110。
物理机110在接收到扫描结果时,根据扫描结果对数据包进行处理。在一种实施例中,当扫描结果为不允许传输时,丢弃该网络数据包并断开相关网络连接;当扫描结果为允许传输时,允许该网络数据包继续传输。具体地,若网络数据包是第一虚拟机120发出的网络数据包,则物理机110将该网络数据包继续传输至目标地址,若网络数据包是由外部发给第一虚拟机120,则物理机110将该网络数据包发送给第一虚拟机120。
根据本发明的安全防护***100,提出了安全虚拟机的概念,并通过物理机110提供提供第一虚拟机120(即,业务虚拟机)和第二虚拟机130(即,安全虚拟机)之间的标准数据通讯机制。
一方面,第一虚拟机120中的文件过滤驱动将文件事件通过数据传输通道发送到第二虚拟机130,由第二虚拟机对文件进行内容扫描,第二虚拟机130将扫描结果返回给第一虚拟机120,完成对第一虚拟机120中文件内容的安全防护。
另一方面,虚拟化平台在网络虚拟化后,对流入/流出第一虚拟机120的网络数据包,通过物理机110发送到第二虚拟机130,第二虚拟机130完成对网络包的内容过滤,并在确认网络数据包安全时,通过物理机110将网络数据包发送到目的地址(如,第一虚拟机110或外部的设备),从而完成对第一虚拟机110的网络防护。
总之,根据本发明的安全防护方案,解决了传统杀毒软件对业务虚拟机(即第一虚拟机120)性能的高损耗,也解决了常用的把安全服务部署在虚拟化平台主机(即物理机110)内部对平台主机的性能和稳定性的影响。通过把预定事件导入到一个专有的安全虚拟机(即第二虚拟机130)来集中进行文件杀毒和网络数据包的过滤,增强了业务虚拟机的稳定性。同时,因为整个杀毒过程和网络数据包过滤集中在一个专有的安全虚拟机里面,不需要在平台主机的操作***安装任何程序,又增加了虚拟化平台主机的稳定性。
根据本发明的实施方式,安全防护***100中的物理机110,可以通过如下所述的计算设备200来实现。图2示出了根据本发明一个实施例的计算设备200的示意图。
如图2所示,在基本的配置202中,计算设备200典型地包括***存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和***存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,***存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器206可以包括操作***220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作***上由一个或多个处理器204利用程序数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备200也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备200被配置为执行根据本发明的安全防护方法。计算设备200的应用222中包含执行安全防护方法的多条程序指令。
为进一步说明上述安全防护***100执行安全防护方法的过程,以下分别从第一虚拟机120和第二虚拟机130的角度,来描述根据本发明实施例的安全防护方案。应当指出,下述描述与基于安全防护***100的描述互为补充,为避免赘述,相同部分此处不做过多展开。
图3示出了根据本发明一些实施例的在虚拟化平台中执行的安全防护方法300的流程示意图。该方法300适于在第一虚拟机120中执行。
方法300始于步骤S310。在步骤S310中,第一虚拟机120在检测到文件访问请求时,生成文件事件。
根据本发明的实施例,在第一虚拟机120启动时会初始化文件过滤驱动122,以实时检测是否有文件访问请求。在一种实施例中,当用户要打开或移动或复制一个文件时,就触发生成了一次文件访问请求。接着由文件过滤驱动122生成文件事件。文件事件至少包括以下信息中的至少一个:文件的指纹、文件创建时间、文件修改时间、文件类型、文件长度、文件指定位置的指定长度。
另外,文件过滤驱动122还会通过物理机110所提供的数据传输通道,与第二虚拟机130建立通信。该数据传输通道由物理机110通过串口设备和/或字符设备和/或专用虚机网卡设备来实现。
随后在步骤S320中,第一虚拟机120将文件事件通过数据传输通道发送给第二虚拟机130,以便第二虚拟机130根据文件事件读取文件的内容,并对所读取的内容进行扫描,来得到扫描结果。其中第二虚拟机130与第一虚拟机120运行在同一物理机110上。
关于第二虚拟机130对文件内容进行扫描,得到扫描结果的过程,可参考前文安全防护***100的相关描述,此处不再赘述。总之,第二虚拟机130可以针对场景需求,预先设置不同的防护规则。例如在一些杀毒场景中,当安全防护***100中包含多个第一虚拟机120时,预置防护规则可以分配定时杀毒:例如,对1号第一虚拟机120设置每周六凌晨12点开启全盘扫描,对2号第一虚拟机120设置每周日进行一次全盘扫描,对3号第一虚拟机120设置每周一下午空闲时间进行一次全盘扫描,等等。预置防护规则还可以指定哪些类型的文件不被扫描、文件大小超过多大时不被扫描等、或者只做快速扫描,即通过指定位置的方式只扫描一些关键区域等。
随后在步骤S330中,第一虚拟机120在接收到扫描结果时,根据扫描结果确定文件是否包含恶意内容。
根据本发明的方法300,将各第一虚拟机上的文件事件,导入到第二虚拟机130中进行扫描,增强了第一虚拟机120的稳定性,解决了传统安全防护方案对第一虚拟机120性能的高损耗;同时,由于不需要在物理机110上安装任何程序,故增加了虚拟化平台的稳定性。
图4示出了根据本发明另一些实施例的在虚拟化平台中执行的安全防护方法400的流程示意图。该方法400适于在第二虚拟机130中执行。
方法400始于步骤S410。在步骤S410中,第二虚拟机130接收来自第一虚拟机120的文件事件或来自物理机110的数据包事件。其中,第一虚拟机120与第二虚拟机130运行在物理机110上。
在根据本发明的实施例中,文件事件由第一虚拟机120在检测到文件访问请求时生成,数据包事件由物理机110在检测到待处理的网络数据包时生成。
随后在步骤S420中,第二虚拟机130根据文件事件或数据包事件,分别从第一虚拟机120或物理机110中读取文件或数据包的内容。
随后在步骤S430中,对所读取的内容进行扫描,来得到扫描结果,并将扫描结果发送至第一虚拟机120或物理机110。
根据本发明的方法400,将各第一虚拟机120上的文件事件、以及要流入/流出第一虚拟机120的网络数据包,均导入到第二虚拟机130中进行扫描,由第二虚拟机130判断是否存在安全隐患。不仅解决了传统安全防护方案对第一虚拟机120性能的高损耗,也不需要在物理机110上安装任何程序,增加了虚拟化平台的稳定性。
设想如下场景。假设一企业搭建了自己的私有云环境,为了保护云环境中的虚拟机不被恶意软件、病毒、勒索软件等感染,需要部署病毒防护软件来对虚拟云平台进行安全防护。按照传统解决方案,需要在每个虚拟机上安装杀毒软件,如果一个物理机上对应有50台虚拟机,当同时开启全盘扫描时,不但虚拟机的性能会显著下降,也会影响该物理机的性能和稳定性,严重时会导致物理机宕机。另外,对云环境的维护人员来说,要管理这么多独立的杀毒软件,也是非常的耗时费力。
而根据本发明实施例的安全防护方案,就能够很好地解决以上问题。根据本发明的方案,将杀毒操作集中在一个专有的安全虚拟机上进行,就避免了大规模杀毒所引起的对虚拟机和物理机性能的影响,同时,通过在安全虚拟机上集中为各业务虚拟机设置相应的杀毒策略(即预置扫描规则和预置过滤规则),大大减轻了云环境维护人员的压力。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明一并公开了:
A6、如A5所述的***,其中,预置防护规则至少包括以下规则中的至少一个:根据文件指定位置的指定长度,读取文件的内容;根据文件类型读取文件的内容;根据预设时间,定时读取文件的内容。
A7、如A1-6中任一项所述的***,其中,第一虚拟机还适于,在确定文件包含恶意内容时,拒绝文件访问请求,并删除或隔离所述文件,以及,在确定文件不包含恶意内容时,允许文件访问请求。
A8、如A1-7中任一项所述的***,其中,A预定事件为数据包事件,物理机还适于在检测到待处理的数据包时,生成数据包事件,并将数据包事件发送至第二虚拟机,以便于第二虚拟机在接收到数据包事件时,从物理机中获取待处理的数据包,并对待处理的数据包进行扫描来得到扫描结果,以及将扫描结果返回给物理机;以及物理机还适于在接收到所述扫描结果时,根据扫描结果对数据包进行处理。
A9、如A8所述的***,在第二虚拟机中,内核模块还适于接收数据包事件,并将数据包事件发送至扫描模块;扫描模块还适于根据预置过滤规则对数据包的内容进行扫描,得到扫描结果。
A10、如A8或9所述的***,其中,物理机还适于,在扫描结果为不允许传输时,丢弃数据包;在扫描结果为允许传输时,允许数据包继续传输。
A11、如A1-10中任一项所述的***,其中,数据传输通道通过串口设备和/或字符设备和/或专用虚机网卡设备来实现。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种布置在虚拟化平台的安全防护***,包括:
物理机,适于运行至少一个第一虚拟机和一个第二虚拟机,并提供供第一虚拟机和第二虚拟机之间进行通信的数据传输通道;
第一虚拟机,适于通过所述数据传输通道将预定事件发送给所述第二虚拟机;
所述物理机还适于将预定事件发送至第二虚拟机;
第二虚拟机,适于基于预定事件,获取文件或数据包进行扫描来得到扫描结果,并通过所述数据传输通道将所述扫描结果返回给所述第一虚拟机或物理机,以便所述第一虚拟机或所述物理机根据扫描结果来确定所述文件或数据包是否包含恶意内容。
2.如权利要求1所述的***,其中,所述预定事件为文件事件,
所述第一虚拟机还适于在检测到文件访问请求时,生成文件事件,并将所述文件事件发送至所述第二虚拟机,以便于所述第二虚拟机根据所述文件事件读取文件的内容,对所读取的内容进行扫描来得到扫描结果,并将所述扫描结果返回给所述第一虚拟机;以及
所述第一虚拟机还适于在接收到所述扫描结果时,根据所述扫描结果确定所述文件是否包含恶意内容。
3.如权利要求1或2所述的***,其中,所述第一虚拟机包括:
文件过滤驱动,适于根据所检测到的文件访问请求,生成文件事件,其中所述文件事件至少包括以下信息中的至少一个:文件的指纹、文件创建时间、文件修改时间、文件类型、文件长度、文件指定位置的指定长度。
4.如权利要求3所述的***,在所述第一虚拟机中,
所述文件过滤驱动还适于通过所述数据传输通道接收扫描结果,并根据扫描结果确定所述文件是否包含恶意内容。
5.如权利要求4所述的***,其中,所述第二虚拟机包括:
内核模块,适于接收所述文件事件,并将所述文件事件发送至扫描模块;
扫描模块,适于根据预置防护规则读取文件的部分或全部内容来进行扫描,并得到扫描结果。
6.一种虚拟化平台的安全防护方法,所述方法适于在第一虚拟机中执行,所述方法包括步骤:
在检测到文件访问请求时,生成文件事件;
将所述文件事件通过数据传输通道发送给第二虚拟机,以便第二虚拟机根据所述文件事件读取文件的内容,并对所读取的内容进行扫描,来得到扫描结果,其中所述第二虚拟机与所述第一虚拟机运行在同一物理机上;
在接收到所述扫描结果时,根据所述扫描结果确定所述文件是否包含恶意内容。
7.如权利要求6所述的方法,其中,
所述数据传输通道由所述物理机通过串口设备和/或字符设备和/或专用虚机网卡设备来实现。
8.一种虚拟化平台的安全防护方法,所述方法适于在第二虚拟机中执行,所述方法包括步骤:
接收来自第一虚拟机的文件事件或来自物理机的数据包事件,其中所述第一虚拟机与所述第二虚拟机运行在所述物理机上;
根据所述文件事件或数据包事件,分别从所述第一虚拟机或所述物理机中读取文件或数据包的内容;
对所读取的内容进行扫描,来得到扫描结果,并将所述扫描结果发送至所述第一虚拟机或所述物理机。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求6-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求6-8中任一项所述的方法。
CN202010018506.0A 2020-01-08 2020-01-08 一种虚拟化平台的安全防护***及方法 Pending CN111241539A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010018506.0A CN111241539A (zh) 2020-01-08 2020-01-08 一种虚拟化平台的安全防护***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010018506.0A CN111241539A (zh) 2020-01-08 2020-01-08 一种虚拟化平台的安全防护***及方法

Publications (1)

Publication Number Publication Date
CN111241539A true CN111241539A (zh) 2020-06-05

Family

ID=70874339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010018506.0A Pending CN111241539A (zh) 2020-01-08 2020-01-08 一种虚拟化平台的安全防护***及方法

Country Status (1)

Country Link
CN (1) CN111241539A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615035A (zh) * 2022-02-28 2022-06-10 亚信科技(成都)有限公司 安全检测方法、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810429A (zh) * 2014-02-28 2014-05-21 成都长天信息技术有限公司 基于桌面云虚拟化技术的电脑病毒查杀方法
US20150178497A1 (en) * 2013-12-20 2015-06-25 Bitdefender IPR Management Ltd. Strongly Isolated Malware Scanning Using Secure Virtual Containers
CN206294205U (zh) * 2016-12-30 2017-06-30 阿坝师范学院 一种网络安全检测装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178497A1 (en) * 2013-12-20 2015-06-25 Bitdefender IPR Management Ltd. Strongly Isolated Malware Scanning Using Secure Virtual Containers
CN103810429A (zh) * 2014-02-28 2014-05-21 成都长天信息技术有限公司 基于桌面云虚拟化技术的电脑病毒查杀方法
CN206294205U (zh) * 2016-12-30 2017-06-30 阿坝师范学院 一种网络安全检测装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615035A (zh) * 2022-02-28 2022-06-10 亚信科技(成都)有限公司 安全检测方法、服务器及存储介质
CN114615035B (zh) * 2022-02-28 2023-12-08 亚信科技(成都)有限公司 安全检测方法、服务器及存储介质

Similar Documents

Publication Publication Date Title
US10282548B1 (en) Method for detecting malware within network content
US11797677B2 (en) Cloud based just in time memory analysis for malware detection
US10122752B1 (en) Detecting and preventing crypto-ransomware attacks against data
US11409884B2 (en) Security profiling of system firmware and applications from an OOB appliance at a differentiated trust boundary
EP3107024B1 (en) System and method of restoring modified data
US20190121977A1 (en) System and method of detecting a malicious file
US8127358B1 (en) Thin client for computer security applications
JP2020522808A (ja) カーネルモードにおけるマルウェアおよびステガノグラフィのリアルタイム検出ならびにマルウェアおよびステガノグラフィからの保護
US10075457B2 (en) Sandboxing protection for endpoints
EP2410453A1 (en) Anti-malware device, server, and method of matching malware patterns
US11288344B2 (en) Protecting an application via an intra-application firewall
US11048795B2 (en) System and method for analyzing a log in a virtual machine based on a template
US20070256133A1 (en) Blocking processes from executing based on votes
EP3159822B1 (en) Systems and methods for optimizing antivirus determinations
EP3252647B1 (en) System and method of detecting malicious files on a virtual machine in a distributed network
CN111382043B (zh) 在虚拟机中执行具有漏洞的文件时形成日志的***和方法
CN114817981A (zh) 一种文件访问方法、计算设备及可读存储介质
US9219728B1 (en) Systems and methods for protecting services
KR101558054B1 (ko) 안티 멀웨어 시스템 및 안티 멀웨어 시스템에서의 패킷 처리 방법
US20190163905A1 (en) System, Method, and Apparatus for Preventing Execution of Malicious Scripts
CN111241539A (zh) 一种虚拟化平台的安全防护***及方法
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US9450960B1 (en) Virtual machine file system restriction system and method
US10958666B1 (en) Systems and methods for verifying connection integrity
EP3588346B1 (en) Method of detecting malicious files resisting analysis in an isolated environment

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

Application publication date: 20200605

RJ01 Rejection of invention patent application after publication