CN113505370A - 一种由计算机实现的恶意软件检测方法 - Google Patents
一种由计算机实现的恶意软件检测方法 Download PDFInfo
- Publication number
- CN113505370A CN113505370A CN202110707298.XA CN202110707298A CN113505370A CN 113505370 A CN113505370 A CN 113505370A CN 202110707298 A CN202110707298 A CN 202110707298A CN 113505370 A CN113505370 A CN 113505370A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- deployment
- configuration file
- computing environment
- virtualized computing
- 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.)
- Withdrawn
Links
- 238000012544 monitoring process Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 19
- 230000005012 migration Effects 0.000 description 14
- 238000013508 migration Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种由计算机实现的恶意软件检测方法,其用于检测虚拟机中的恶意软件,该方法包括:步骤1:监视虚拟机的第一部署的执行以生成包括第一部署的执行特征的第一配置文件;步骤2:通过生成虚拟机包将虚拟机的第一部署迁移到虚拟机的第二部署;步骤3:监控虚拟机的第二部署的执行,第二部署基于生成的虚拟机包,以生成包括第二部署的执行特征的第二配置文件;步骤4:响应于第一配置文件和第二配置文件之间的差异满足或超过预定差异程度的识别,响应于第一配置文件和第二配置文件之间的差异,识别第二部署中的恶意软件,其中至少一个监视或识别由每个虚拟化计算环境中的管理程序或虚拟机监视器进行。
Description
技术领域
本发明涉及恶意软件检测,并且具体地涉及计算机实现的针对迁移的虚拟机的恶意软件的检测。
背景技术
通常,机构和企业开发或收购定制或现成的软件解决方案,以使用专用计算机硬件执行。此类软件解决方案广泛应用于许多不同的业务领域,例如:财务管理;销售和订单处理;记录存储和管理;人力资源档案管理;工资单;市场营销和广告等。此类软件和硬件的采购、管理和维护可能需要在***开发、管理和修订方面进行昂贵的投资——这些功能可能超出机构的核心业务关注点。
随着机构越来越多地寻求将此类***管理与其核心业务流程分离以控制成本、关注范围和责任,提供服务来取代内部***。计算机***越来越多地由第三方以与公用事业相同的方式作为服务提供,这种转变在一定程度上得益于高速网络连接可用性的提高,允许消费企业访问和使用联网的第三方***。这样的***可以包括商业计算机***的基本上所有方面,包括硬件、操作***软件、文件***和数据存储软件,包括数据库应用程序等、中间件和交易处理软件以及商业软件。通过这种方式,消费企业可以不必担心与计算***的确切性质、安排和管理有关,并将资源集中在其他地方。计算***是从消费业务中抽象出来的,在逻辑上可以被认为是一个“云”,其中所有***问题都被封装起来,并且至少部分由第三方管理。因此,这种安排被称为“云计算”。
服务提供商可以使用由采用虚拟化软件的多个***共享的硬件提供基于服务的计算基础设施。此类服务可以被描述为虚拟化计算环境,其中可以部署应用以在虚拟化环境中执行的虚拟机内执行。计算环境越来越虚拟化,从而以虚拟方式提供计算***、操作***和相关资源,包括硬件、网络、软件和相关服务。例如,可以部署包括操作***、存储设备、虚拟设备和驱动程序、应用程序等的***,用于在虚拟化计算环境中执行。虚拟化计算环境用于部署一个或多个称为虚拟机的虚拟计算机***。虚拟机是计算机***的软件或部分软件实现,能够像物理(或理论)机器一样执行软件和应用程序。虚拟机在虚拟化计算环境中执行,其中物理计算机***硬件和资源的底层安排由虚拟化服务抽象化,例如管理程序、模拟器、操作***级虚拟化组件或分区的虚拟化计算***。
虚拟机的部署基于虚拟机规范,该规范定义了部署虚拟机所需的计算环境的特征。例如,虚拟机规范可以定义所需的数据存储、处理器和网络设施。此外,至少在首次部署虚拟机时,虚拟机规范可以包括软件和服务的类型、配置和安排的规范,包括操作***、中间件、服务器软件、数据存储设施(例如数据库等)。例如,虚拟机可以根据规范部署到BT云计算环境等云计算环境中。
部署后,可能需要在虚拟化计算环境内或之间传输或迁移虚拟机。这种迁移可能由对不同或更多/更少资源的需求或虚拟化计算环境提供商的改变引起。例如,迁移可以发生在环境的分区、节点或集群之间的单个虚拟化计算环境中,或者通过简单地在同一虚拟化计算环境中重新部署虚拟机。或者,迁移可以发生在虚拟化计算环境之间,例如在不同计算环境的服务提供商之间或在其中存在虚拟化计算环境(其可能与源环境不同或相同)的不同物理硬件环境之间。
可以通过将虚拟机的映像生成为包括与执行中的虚拟机相关联的存储器和/或数据存储的全部或子集的内容的存储器的一个或多个文件、流或其他表示来实现迁移。例如,虚拟机的映像可以是安装和配置为在特定虚拟化环境中构成虚拟机的一个或多个数据存储设备的磁盘映像。该映像还可以包括虚拟机的运行时状态,例如在执行中的虚拟机的全部或部分地址空间的存储器的复制、调用或转储。该图像还可以包括虚拟处理器信息,例如处理器寄存器状态/值等。通过这种方式,可以捕获虚拟机以进行传输或迁移,从而可以将映像复制、共享或以其他方式传输到要部署、进一步部署或重新部署虚拟机的虚拟计算环境。因此,这样的映像可以为虚拟机捕获存储设备的内容,或者可以扩展到虚拟机在执行中的一些或全部状态。
迁移虚拟机时的一个挑战是避免恶意软件或恶意软件的传输或传播,其中包括:病毒;蠕虫;病毒;特洛伊木马;不请自来的软件;侵犯隐私的软件;间谍软件;广告软件;欺诈拨号器。当恶意软件安装在虚拟机中时,虚拟机的转移或迁移可以包括恶意软件的转移。当虚拟机迁移到新的虚拟化计算环境时,新环境可能容易受到恶意软件的不利影响。
因此,在没有上述缺点的情况下提供虚拟机的转移或迁移将是有益的。
发明内容
因此,本发明提供了一种由计算机实现的恶意软件检测方法,其用于检测虚拟机中的恶意软件,该方法包括:步骤1:监视虚拟机的第一部署的执行以生成包括第一部署的执行特征的第一配置文件;步骤2:通过生成虚拟机包将虚拟机的第一部署迁移到虚拟机的第二部署,该步骤包括:描述第一部署的虚拟机描述符,以及包括为第一部署存储的数据表示的第一部署的映像,其中第一部署是部署到第一虚拟化计算环境,第二部署是部署到第二虚拟化计算环境,第一虚拟化计算环境和第二虚拟化计算环境是不同的计算环境,使得虚拟机在第一虚拟化计算环境和第二虚拟化计算环境之间迁移,其中虚拟机包包括第一配置文件的至少一部分,以便通过虚拟机包将第一配置文件的至少一部分传送到第二虚拟化计算环境,以便在第二虚拟化计算环境中进行识别,并且其中第一配置文件的至少一部分被***到虚拟机描述符中;步骤3:监控虚拟机的第二部署的执行,第二部署基于生成的虚拟机包,以生成包括第二部署的执行特征的第二配置文件;步骤4:响应于第一配置文件和第二配置文件之间的差异满足或超过预定差异程度的识别,响应于第一配置文件和第二配置文件之间的差异,识别第二部署中的恶意软件,其中至少一个监视或识别由每个虚拟化计算环境中的管理程序或虚拟机监视器进行。
进一步的,所述虚拟机包括一个或多个用于进行监控的软件例程,使得对第一部署的监控和对第二部署的监控一致。
进一步的,所述虚拟机包括一个或多个用于进行识别的软件例程。
进一步的,所述第一配置文件或所述第二配置文件中的至少一个包括正在执行的所述虚拟机的软件进程的特性。
进一步的,所述第一配置文件或所述第二配置文件中的至少一个包括执行中的所述虚拟机的进程对一个或多个数据存储的使用的细节。
进一步的,所述第一配置文件或所述第二配置文件中的至少一个包括所述虚拟机在执行中的网络利用特性。
附图说明
图1是恶意软件检测***的示意图;
图2是由计算机实现的恶意软件检测方法的流程图
具体实施方式
图1是恶意软件检测***的示意图。恶意软件检测***3是硬件、软件、固件或组合组件,适用于检测虚拟机迁移之后虚拟机的执行特性的变化,该变化可以对应于安装、执行或驻留在迁移的虚拟机中或与迁移的虚拟机一起存在的恶意软件。
基于虚拟机部署规范,虚拟机最初被部署作为第一虚拟机部署1。部署规范可以是包括部署描述符、部署元数据、虚拟机配置规范、架构规范等。部署规范可以包括用于虚拟化的硬件组件的列表或存储库,包括处理器、接口、存储设备、网络组件等。部署规范还可以包括用于安装、仿真、执行或部署的软件组件的列表或存储库,包括:操作***、设备驱动程序、网络协议、数据存储软件(包括数据和/或对象存储库)、中间件、应用软件、工业软件、服务器软件(例如Web、互联网或数据服务器)、软件服务(例如安全软件、定制软件)。部署规范用于实例化、创建、生成或配置第一虚拟机部署1。第一虚拟机部署1可以通过使用虚拟机或云服务部署工具例如虚拟机管理工具、管理门户、云部署工具包、配置管理和/或开发运营工具、云服务提供商工具等。
在部署之后,第一虚拟机部署1在虚拟化计算环境中执行,最终在物理计算硬件上运行或结合物理计算硬件运行,物理计算硬件可以包括集中式或分布式物理计算硬件。值得注意的是,如对本领域技术人员而言显而易见的,一个或多个另外的虚拟化层可以存在于第一虚拟机部署1和物理计算硬件之间。
在使用中,第一虚拟机部署1被迁移到第二虚拟机部署2,在此期间和/或之后,恶意软件检测***3可操作以识别存在于第二虚拟机部署2中的潜在恶意软件。恶意软件检测***3包括配置文件生成器31、虚拟机包生成器32和恶意软件识别器33,每个都是软件、硬件、固件或组合组件。虽然配置文件生成器31、虚拟机包生成器32和恶意软件识别器33被描绘为单独的和离散的组件,但它们可以可选地组合成一个或多个组合组件,或者可选地进一步由可以是离散或共享组件的其他组件组成,例如功能、库、过程、对象等。恶意软件检测***3被描绘为完全在第一虚拟机部署1、第二虚拟机部署2、虚拟化计算环境和物理计算硬件之外实现。例如,恶意软件检测***3可以由计算设备、装置或虚拟机提供可操作地与虚拟化计算环境、物理计算硬件和第一虚拟机部署1、第二虚拟机部署2中的一个或多个通信。这种通信可以通过硬件或软件接口或有线或无线网络连接,其中任何一个或所有可以是物理或虚拟化,例如在虚拟化计算环境中。
或者,恶意软件检测***3可部分或全部提供在虚拟化计算环境、物理计算硬件和/或第一虚拟机部署1、第二虚拟机部署2中的一个或多个中的任一个或多个内。
配置文件生成器31适于生成虚拟机的部署的文件,使得该文件包括该部署的一个或多个执行特征的概要、账户、模型、地图、描述、测量或其他表示。例如,配置文件生成器31可以监视虚拟机部署对虚拟化计算资源的使用,例如对诸如处理器、进程、线程、函数、例程等的任何或所有执行机制的利用。附加地或替代地,配置文件生成器31可以监视诸如网络接口、网络通信、经由网络发送或接收的数据、软件或虚拟化硬件接口、软件组件之间的接口的使用包括应用程序接口、进程间通信接口等。附加地或替代地,配置文件生成器31可以监视由部署的虚拟机使用和消耗的存储器和数据存储设施,包括虚拟化存储器存储的消耗,例如消耗的范围、速率和性质,其中这种存储器可以包括虚拟化存储器、存储设备等。
对虚拟化计算资源使用的监控可以包括对资源的存在、消耗、实例化、生成、激活、调用或存在的监控,例如新处理器、进程、线程等的添加,或新的实例化。网络、软件或虚拟化硬件接口,或新数据存储、虚拟化存储设备等的生成。此外,对资源使用的监控可以包括在一段时间内、在特定离散时间或在相对时间(例如在启动、关闭、峰值负载、中等负载、平均负载和其他时间期间)进行监控。时隙、周期或事件触发器对本领域技术人员来说是显而易见的。以这种方式,配置文件生成器31为部署的虚拟机生成配置文件,该配置文件包括所部署的虚拟机的执行特性。
这种监视的级别和范围可以由进程、线程或执行流的特权操作模式提供,这些进程、线程或执行流构成物理或虚拟化执行环境(例如虚拟化计算环境或物理计算环境)内的配置文件生成器31的全部或部分,物理计算硬件。配置文件生成器的全部或部分在虚拟化计算环境内或结合虚拟化计算环境实施,以享受与管理程序或虚拟机管理器相关联的特权操作模式。备选地,配置文件生成器的全部或部分在部署的虚拟机本身内实现,例如与虚拟机的操作***一起运行或在虚拟机的操作***内运行的虚拟机的特权进程,在一些实施例中,可以另外实现这样的配置文件生成器以协作,与虚拟化计算环境协作、接口或功能以使用虚拟化计算环境的设施或服务,例如管理程序或虚拟机管理器功能、服务和/或设施,提供对部署在其中的虚拟机的执行特征的安全和特权访问,或随之。
虚拟机包生成器32适于为部署的虚拟机生成虚拟机包,使得部署的虚拟机可以在虚拟化计算环境内或在虚拟化计算环境之间迁移。虚拟机包是逻辑包,其包括作为已部署虚拟机状态的数据存储的虚拟机映像,以及包括已部署虚拟机的特征或属性的定义以帮助或促进虚拟机的迁移的虚拟机描述符。因此,使用虚拟机包,可以将部署的虚拟机重新部署在相同的或不同的虚拟化计算环境中。在一个实施例中,虚拟机映像是所部署的虚拟机的存储设备的磁盘映像,包括存储设备的至少一部分的内容,并且在一些实施例中,包括全部存储设备的内容。因此,为已部署的虚拟机安装的软件包含在其安装状态的磁盘映像中。在替代实施例中,磁盘映像还包括用于部署的虚拟机的运行时状态信息,例如虚拟机的内存的映像或转储和/或处理器状态信息,包括寄存器内容、指令指针值、程序计数器值、缓存状态和喜欢。在一个实施例中,虚拟机描述符由一个或多个数据文件或存储器区域组成,这些数据文件或存储器区域包括描述部署的虚拟机的描述性数据,例如具有在其中定义的数据和/或元数据的标记语言文件。例如,虚拟机描述符可以包括分布式管理任务组指定的开放虚拟化格式中的描述文件。
在一个实施例中,虚拟机包由一个或多个文件构成,例如虚拟机镜像文件和开放虚拟化格式文件。虽然虚拟机包被描述为一个包,但是本领域技术人员将理解,虚拟机包的元素不需要以包的形式具体地捆绑或绑定在一起,而是可以被视为一个包而不是由于它们与特定部署的虚拟机相关的共性而如此绑定或约束。因此,虚拟机镜像和开放虚拟化格式文件不需要被打包在一起,尽管当一起使用时可以构成虚拟机包。然而,开放虚拟化格式文件优选地指代特定虚拟机镜像。
虚拟机包生成器32相应地获得生成虚拟机包所需的信息,并通过例如写入、创建或以其他方式生成虚拟机包的组成部分来生成虚拟机包。虚拟机包生成器32适用于访问存储用于部署的虚拟机的软件、文件和数据的一个或多个物理或虚拟数据存储并从这样的数据存储生成虚拟机映像。例如,虚拟机包生成器32可以全部或部分地实现为执行部署的虚拟机的虚拟化计算环境的设施的功能、特征。或者,虚拟机包生成器32可以采用这种虚拟化计算环境的接口、设施、服务功能或其他特征。此外,在一个实施例中,虚拟机包生成器32适于完全或部分地基于部署的用于虚拟机的虚拟机部署规范来生成虚拟机描述符。虚拟机包生成器32基于从部署的虚拟机获得的或关于部署的虚拟机获得的信息来生成虚拟机描述符,例如:来自管理程序或虚拟机管理器的虚拟化架构信息;由在虚拟化计算环境内运行或与虚拟化计算环境一起运行的组件对部署的虚拟机进行分析;或者来自虚拟化计算环境、管理程序、虚拟机管理器或部署的虚拟机本身的内省接口。
恶意软件识别器33适于基于对应于第一虚拟机部署1和第二虚拟机部署2中的每一个的配置文件来识别虚拟机部署中的潜在或实际恶意软件。因此,将第一虚拟机部署1的执行特性文件与第二虚拟机部署2的执行特性文件进行比较,第二虚拟机部署对应于第一虚拟机部署1中的虚拟机的迁移。执行特性文件可以识别第一部署1和第二部署2的执行特征的差异,并且这种差异可以识别第二虚拟机部署2中的恶意软件。例如,可以监视和记录第一虚拟机部署1的执行特征部署虚拟机后不久。这样的执行特性被记录在多个资源的第一配置文件中,例如:处理器利用率的级别或范围;正在执行的流程的数量和构成;接收和传输网络流量的速率等。随后,虚拟机被迁移到第二虚拟机部署2并且这样的执行特性被监视并且再次记录在第二配置文件中。恶意软件识别器33比较第一配置文件和第二配置文件以识别对应于存在于第二配置文件中的恶意软件的差异。虚拟机部署2并且在第一虚拟机部署1中不存在。检测到的这种恶意软件是可以在第一虚拟机部署1的监控和第二虚拟机部署2的监控之间存在于虚拟机中并且有利地在虚拟机的重新部署时被识别的恶意软件通过迁移来实例化第二虚拟机部署2。配置文件的比较可以这样的方式进行,即不需要配置文件的文字身份来指示没有安装恶意软件。相反,配置文件之间的某种程度的差异可以被定义为差异的阈值程度,超过该阈值程度的第二虚拟机部署2被识别为包含恶意软件。可以根据用于生成配置文件的执行特征的度量来定义差异程度,例如处理器利用率的差异级别或程度;正在执行的进程的不同数量和构成;接收和传输网络流量的不同速率等。值得注意的是,差异不仅需要与在部署的虚拟机中监控的度量、计数或速率有关,而且还可以与配置文件性质的差异有关,例如名称、类型、类、进程和/或执行线程的类别、和/或进行网络通信的进程。例如,其中配置文件的比较示出了第二虚拟机部署2中不存在于第一虚拟机部署1中并且与第二虚拟机部署2中的网络流量相关联的一个或多个新执行进程的标识,如果第一虚拟机部署1中不存在,则网络流量被引导到由一个或多个新进程打开的端口,第一虚拟机部署1和第二虚拟机部署2的配置文件之间的这种差异可以预先确定为构成指示第二虚拟机部署2中的恶意软件的差异程度。差异的这种程度或类型的预定可以被恶意软件标识符33预定义用于访问或检索。这种差异程度可以与第一虚拟机部署1以及第二虚拟机部署2、虚拟化计算环境和/或恶意软件检测***3。
为了通过恶意软件识别器33进行有效的恶意软件检测,重要的是用于为第一虚拟机部署1和第二虚拟机部署2生成配置文件的过程和/或机制是一致的,使得配置文件易于比较不会受到由用于第一虚拟机部署1和第二虚拟机部署2中的每一个的配置文件生成器31所采用的不同方法或布置所产生的人工制品的阻碍。在一个实施例中,相同的配置文件生成器31用于生成第一虚拟机部署1的配置文件,就像用于生成第二虚拟机部署2的配置文件一样。值得注意的是,“相同”配置文件生成器208不一定意味着相同的实例或配置文件生成器31的调用:配置文件生成器31的副本、进一步实例或调用就足够了。因此,关于第一虚拟机部署1(以生成配置文件和虚拟机包)使用的恶意软件检测***3的相同实例或调用也不需要关于第二虚拟机部署也需要使用2,假设由两个恶意软件检测***3产生的文件生成是兼容的,使得恶意软件识别器33对文件的比较不会受到如此阻碍。
此外,在为第一虚拟机部署和第二虚拟机部署中的每一个提供恶意软件检测***3的布置中,恶意软件检测***不需要相同(而此类***的配置文件生成器31是兼容的,使得它们各自的生成的配置文件如上所述)。这种非身份是可接受的,因为恶意软件识别器33仅在第一配置文件和第二配置文件都生成后才可操作,因此与第一虚拟机部署相关联的恶意软件检测***3可以在不使用或不使用恶意软件识别器33的情况下运行,而与第二个虚拟机部署相关联的恶意软件检测***3将使用恶意软件识别器33进行操作。
因此,在使用中,第一虚拟机部署1的执行由配置文件生成器31监视,配置文件生成器31生成包括第一虚拟机部署1的执行特性的第一配置文件。随后,虚拟机包生成器32访问第一虚拟机部署1以生成虚拟机包,包括描述第一虚拟机部署1的虚拟机描述符和虚拟机镜像。虚拟机包用于部署第二虚拟机部署2以虚拟化计算环境。随后,配置文件生成器31监视第二虚拟机部署2并且生成包括第二虚拟机部署2的执行特征的第二配置文件。恶意软件识别器33响应于对一个或多个的识别来识别第二部署中的恶意软件。
在一个实施例中,配置文件生成器31适于在第一虚拟机部署1被部署后监控第一虚拟机部署1的执行特性,以便生成第一配置文件作为对应于第一虚拟机部署的执行特性的第二配置文件1。例如,配置文件生成器31可以被安排成在部署第一虚拟机部署1之后的某个预定时间生成第一配置文件。或者,第一配置文件可以在处理状态、吞吐量或事务状态时生成。第一虚拟机部署1满足某个标准(或多个标准),例如第一虚拟机部署1的稳定操作状态、第一虚拟机部署1的活动的阈值水平(处理器、进程、数据存储、网络活动等)之类的。
图2是由计算机实现的恶意软件检测方法的流程图。步骤1:监视虚拟机的第一部署的执行以生成包括第一部署的执行特征的第一配置文件;步骤2:通过生成虚拟机包将虚拟机的第一部署迁移到虚拟机的第二部署,该步骤包括:描述第一部署的虚拟机描述符,以及包括为第一部署存储的数据表示的第一部署的映像,其中第一部署是部署到第一虚拟化计算环境,第二部署是部署到第二虚拟化计算环境,第一虚拟化计算环境和第二虚拟化计算环境是不同的计算环境,使得虚拟机在第一虚拟化计算环境和第二虚拟化计算环境之间迁移,其中虚拟机包包括第一配置文件的至少一部分,以便通过虚拟机包将第一配置文件的至少一部分传送到第二虚拟化计算环境,以便在第二虚拟化计算环境中进行识别,并且其中第一配置文件的至少一部分被***到虚拟机描述符中;步骤3:监控虚拟机的第二部署的执行,第二部署基于生成的虚拟机包,以生成包括第二部署的执行特征的第二配置文件;步骤4:响应于第一配置文件和第二配置文件之间的差异满足或超过预定差异程度的识别,响应于第一配置文件和第二配置文件之间的差异,识别第二部署中的恶意软件,其中至少一个监视或识别由每个虚拟化计算环境中的管理程序或虚拟机监视器进行。
所述虚拟机包括一个或多个用于进行监控的软件例程,使得对第一部署的监控和对第二部署的监控一致。所述虚拟机包括一个或多个用于进行识别的软件例程。所述第一配置文件或所述第二配置文件中的至少一个包括正在执行的所述虚拟机的软件进程的特性。所述第一配置文件或所述第二配置文件中的至少一个包括执行中的所述虚拟机的进程对一个或多个数据存储的使用的细节。所述第一配置文件或所述第二配置文件中的至少一个包括所述虚拟机在执行中的网络利用特性。
本领域技术人员将理解,虽然已经结合上述示例实施例描述了本发明,但本发明不限于此,并且存在落入本发明范围内的许多可能的变化和修改。
Claims (6)
1.一种由计算机实现的恶意软件检测方法,其用于检测虚拟机中的恶意软件,该方法包括:步骤1:监视虚拟机的第一部署的执行以生成包括第一部署的执行特征的第一配置文件;
步骤2:通过生成虚拟机包将虚拟机的第一部署迁移到虚拟机的第二部署,该步骤包括:描述第一部署的虚拟机描述符,以及包括为第一部署存储的数据表示的第一部署的映像,其中第一部署是部署到第一虚拟化计算环境,第二部署是部署到第二虚拟化计算环境,第一虚拟化计算环境和第二虚拟化计算环境是不同的计算环境,使得虚拟机在第一虚拟化计算环境和第二虚拟化计算环境之间迁移,其中虚拟机包包括第一配置文件的至少一部分,以便通过虚拟机包将第一配置文件的至少一部分传送到第二虚拟化计算环境,以便在第二虚拟化计算环境中进行识别,并且其中第一配置文件的至少一部分被***到虚拟机描述符中;
步骤3:监控虚拟机的第二部署的执行,第二部署基于生成的虚拟机包,以生成包括第二部署的执行特征的第二配置文件;
步骤4:响应于第一配置文件和第二配置文件之间的差异满足或超过预定差异程度的识别,响应于第一配置文件和第二配置文件之间的差异,识别第二部署中的恶意软件,其中至少一个监视或识别由每个虚拟化计算环境中的管理程序或虚拟机监视器进行。
2.如权利要求1所述的方法,其特征在于,所述虚拟机包括一个或多个用于进行监控的软件例程,使得对第一部署的监控和对第二部署的监控一致。
3.如权利要求2所述的方法,其特征在于,所述虚拟机包括一个或多个用于进行识别的软件例程。
4.如权利要求1所述的方法,其特征在于,所述第一配置文件或所述第二配置文件中的至少一个包括正在执行的所述虚拟机的软件进程的特性。
5.如权利要求1所述的方法,其特征在于,所述第一配置文件或所述第二配置文件中的至少一个包括执行中的所述虚拟机的进程对一个或多个数据存储的使用的细节。
6.如权利要求1所述的方法,其特征在于,所述第一配置文件或所述第二配置文件中的至少一个包括所述虚拟机在执行中的网络利用特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707298.XA CN113505370A (zh) | 2021-06-24 | 2021-06-24 | 一种由计算机实现的恶意软件检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707298.XA CN113505370A (zh) | 2021-06-24 | 2021-06-24 | 一种由计算机实现的恶意软件检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113505370A true CN113505370A (zh) | 2021-10-15 |
Family
ID=78010864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110707298.XA Withdrawn CN113505370A (zh) | 2021-06-24 | 2021-06-24 | 一种由计算机实现的恶意软件检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505370A (zh) |
-
2021
- 2021-06-24 CN CN202110707298.XA patent/CN113505370A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733295B2 (en) | Malware detection in migrated virtual machines | |
US10635558B2 (en) | Container monitoring method and apparatus | |
US8356285B2 (en) | Facilitated introspection of virtualized environments | |
US8448219B2 (en) | Securely hosting workloads in virtual computing environments | |
Matthews et al. | Running Xen: a hands-on guide to the art of virtualization | |
US10007534B2 (en) | Methods and apparatus to manage asset capabilities in a computing environment using a common agent framework | |
US9298588B2 (en) | Tracing system for application and module tracing | |
EP2656206B1 (en) | Probe insertion via background virtual machine | |
US20190026459A1 (en) | Methods and systems to analyze event sources with extracted properties, detect anomalies, and generate recommendations to correct anomalies | |
CN117730321A (zh) | 用于运行时微服务保护的引用策略的自动合成 | |
US20220129539A1 (en) | Embedding security requirements in container images | |
US10657027B2 (en) | Aggregating data for debugging software | |
Spinner et al. | Online model learning for self-aware computing infrastructures | |
US9053442B2 (en) | Multiple project areas in a development environment | |
Saransig et al. | Performance analysis of monolithic and micro service architectures–containers technology | |
US20210191798A1 (en) | Root cause identification of a problem in a distributed computing system using log files | |
Seybold et al. | The impact of the storage tier: A baseline performance analysis of containerized dbms | |
WO2024028670A1 (en) | System and method for generating normalized event logs for cloud detection and response in a multi-layered cloud environment | |
US11656888B2 (en) | Performing an application snapshot using process virtual machine resources | |
Kankhare et al. | A cloud based system to sense security vulnerabilities of web application in open-source private cloud IAAS | |
CN113505370A (zh) | 一种由计算机实现的恶意软件检测方法 | |
Schmieders et al. | Architectural runtime models for privacy checks of cloud applications | |
Nemati et al. | Critical path analysis through hierarchical distributed virtualized environments using host kernel tracing | |
Imran et al. | Provenance Framework for the Cloud Infrastructure: Why and How? | |
US9436523B1 (en) | Holistic non-invasive evaluation of an asynchronous distributed software process |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211015 |