CN105159744A - 一种虚拟机的度量方法及装置 - Google Patents
一种虚拟机的度量方法及装置 Download PDFInfo
- Publication number
- CN105159744A CN105159744A CN201510482497.XA CN201510482497A CN105159744A CN 105159744 A CN105159744 A CN 105159744A CN 201510482497 A CN201510482497 A CN 201510482497A CN 105159744 A CN105159744 A CN 105159744A
- Authority
- CN
- China
- Prior art keywords
- white list
- virtual machine
- software
- file
- calculation
- 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
Links
- 238000000691 measurement method Methods 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims abstract description 120
- 230000008569 process Effects 0.000 claims abstract description 105
- 230000006399 behavior Effects 0.000 claims abstract description 34
- 238000010276 construction Methods 0.000 claims abstract description 11
- 238000005259 measurement Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 144
- 230000003542 behavioural effect Effects 0.000 claims description 64
- 230000009471 action Effects 0.000 claims description 30
- 238000001994 activation Methods 0.000 claims description 23
- 238000005516 engineering process Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种虚拟机的度量方法及装置,该方法包括:配置待度量文件及白名单;构建位于所述白名单中的各个白名单软件对应的行为信息基;通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信;每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行;每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。该装置包括:配置单元、构建单元、第一度量单元、获取单元、第二度量单元及第三度量单元。本方案能够提高虚拟机的安全性。
Description
技术领域
本发明涉及计算机安全领域,特别涉及一种虚拟机的度量方法及装置。
背景技术
随着计算机技术的不断发展与壮大,服务器的应用范围越来越广泛,服务器一般通过虚拟化技术,在一个服务器主机上构建多个虚拟机,多个虚拟机公用服务器主机上的物理设备,供多个用户进行使用,用户通过虚拟机进行相应的数据计算及处理。由于虚拟机具有安全威胁多样化、遭受攻击频率高以及难以检测与预防等特点,所以虚拟机的安全性是亟待解决的一个技术问题。
目前,针对虚拟机的度量方法,主要是通过在虚拟机创建过程中对虚拟机镜像文件进行度量,保证虚拟机镜像文件未被篡改。
针对于现有技术对虚拟机进行度量的方法,仅在虚拟机运行前对其完整性进行度量,这样只能保证虚拟机的正常启动,但是在虚拟机启动后,在运行过程中,虚拟机中运行软件的种类及各个软件的运行状况不受控制,恶意软件很可能对虚拟机进行破坏,或盗取用户的关键信息,因此,虚拟机的安全性较低。
发明内容
本发明提供一种虚拟机的度量方法及装置,能够提高虚拟机的安全性。
本发明实施例提供了一种虚拟机的度量方法,该方法包括:
配置待度量文件及白名单;
构建位于所述白名单中的各个白名单软件对应的行为信息基;
通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;
根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行;
每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
优选地,所述构建位于所述白名单内的中个白名单软件对应的行为信息基包括:
通过收集所述各个白名单软件的行为信息,构建位于所述白名单中的各个白名单软件对应的行为信息基,其中,所述行为信息基包括软件行为标识、行为主机、行为客体、行为输入输出中的任意一个或多个。
优选地,所述通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信包括:
在所述虚拟机启动过程中,对所述虚拟机的内核文件及所述待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比对,如果所述计算结果与对应的基线值相同,则所述内核文件及待度量文件是可信的,否则不可信。
优选地,所述获取所述虚拟机中当前处于运行状态的进程及内存信息包括:
通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,获取到所述虚拟机中当前运行的进程及内存信息。
优选地,所述根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行包括:
通过对所述虚拟机当前运行的各个进程及内存信息进行哈希计算,获取各个进程及内存信息对应的当前计算结果,分别将各个所述当前计算结果与获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果至少存在一个所述当前计算结果,与任意一个所述白名单软件对应的进程及内存信息的哈希计算基线值均不相同,则所述虚拟机上有位于所述白名单之外的软件运行,否则所述虚拟机上没有位于所述白名单之外的软件运行。
优选地,
所述配置待度量文件及白名单包括:在远程证明服务器上配置所述待度量文件及所述白名单;
所述构建位于所述白名单中的各个白名单软件对应的行为信息基包括:在所述远程证明服务器上构建所述白名单中的各个白名单软件对应的行为信息基;
所述分别将各个所述当前计算结果与构建的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比包括:将所述当前计算结果发送至所述远程证明服务器上,分别与在所述远程证明服务器上预先计算获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比。
本发明实施例还提供了一种虚拟机的度量装置,该装置包括:
配置单元,用于配置待度量文件及白名单;
构建单元,用于构建位于所述配置单元配置的白名单中的各个白名单软件对应的行为信息基;
第一度量单元,用于通过在虚拟机启动过程中对其内核文件及所述配置单元配置的待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
获取单元,用于每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;
第二度量单元,用于根据所述获取单元获取的当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述配置单元配置的白名单之外的软件运行;
第三度量单元,用于每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
优选地,所述构建单元,用于通过收集所述各个白名单软件的行为信息,构建位于所述白名单中的各个白名单软件对应的行为信息基,其中,所述行为信息基包括软件行为标识、行为主机、行为客体、行为输入输出中的任意一个或多个。
优选地,所述第一度量单元,用于在所述虚拟机启动过程中,对所述虚拟机的内核文件及所述待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比对,如果所述计算结果与对应的基线值相同,则所述内核文件及待度量文件是可信的,否则不可信。
优选地,所述获取单元,用于通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,获取到所述虚拟机中当前运行的进程及内存信息。
优选地,所述第二度量单元,用于通过对所述虚拟机当前运行的各个进程及内存信息进行哈希计算,获取各个进程及内存信息对应的当前计算结果,分别将各个所述当前计算结果与获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果至少存在一个所述当前计算结果,与任意一个所述白名单软件对应的进程及内存信息的哈希计算基线值均不相同,则所述虚拟机上有位于所述白名单之外的软件运行,否则所述虚拟机上没有位于所述白名单之外的软件运行。
优选地,所述配置单元,用于在远程证明服务器上配置所述待度量文件及所述白名单;
所述构建单元,用于在所述远程证明服务器上构建所述白名单中的各个白名单软件对应的行为信息基;
所述第二度量单元,用于将所述当前计算结果发送至所述远程证明服务器上,分别与在所述远程证明服务器上预先计算获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比。
本发明实施例提供了一种虚拟机的度量方法及装置,通过配置待度量文件和白名单,在虚拟器启动过程中,对虚拟机的内核文件及待度量文件进行度量,判断虚拟机的内核文件及待度量文件是否可信;在虚拟机运行过程中,每隔一个设定的第一间隔时间,获取虚拟机中当前处于运行状态的进程及内存信息,通过获取的进程及内存信息,判断虚拟机上是否存在位于白名单之外的软件运行;在虚拟机运行过程中,每隔一个设定的第二间隔时间,获取处于运行状态的各个白名单软件的软件行为,通过与各白名单软件对应的行为信息基比对,判断各个白名单软件是否运行正常。这样,在虚拟机启动过程中不仅对其内核文件进行度量,还对一些重要的文件进行度量,确保其是可信的,在虚拟机运行过程中定时判断是否存在白名单以外的软件运行,并监控白名单内的软件是否运行正常,不仅实现了虚拟机的静态度量,还实现了虚拟机的动态度量,提高了虚拟机的安全性。
附图说明
图1是本发明一个实施例提供的一种虚拟机的度量方法流程图;
图2是本发明另一个实施例提供的一种虚拟机的度量方法流程图;
图3是本发明一个实施例提供的一种虚拟机的度量装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一个实施例提供了一种虚拟机的度量方法,包括:
步骤101:配置待度量文件及白名单;
步骤102:构建位于所述白名单中的各个白名单软件对应的行为信息基;
步骤103:通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
步骤104:获取所述虚拟机中当前处于运行状态的进程及内存信息;
步骤105:根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行;
步骤106:每隔设定的间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
本发明实施例提供了一种虚拟机的度量方法,通过配置待度量文件和白名单,在虚拟器启动过程中,对虚拟机的内核文件及待度量文件进行度量,判断虚拟机的内核文件及待度量文件是否可信;在虚拟机运行过程中,每隔一个设定的第一间隔时间,获取虚拟机中当前处于运行状态的进程及内存信息,通过获取的进程及内存信息,判断虚拟机上是否存在位于白名单之外的软件运行;在虚拟机运行过程中,每隔一个设定的第二间隔时间,获取处于运行状态的各个白名单软件的软件行为,通过与各白名单软件对应的行为信息基比对,判断各个白名单软件是否运行正常。这样,在虚拟机启动过程中不仅对其内核文件进行度量,还对一些重要的文件进行度量,确保其是可信的,在虚拟机运行过程中定时判断是否存在白名单以外的软件运行,并监控白名单内的软件是否运行正常,不仅实现了虚拟机的静态度量,还实现了虚拟机的动态度量,提高了虚拟机的安全性。
在本发明一个实施例中,通过预先收集白名单内各个白名单软件的行为信息,构建各个白名单软件对应的行为信息基,其中,行为信息基包括软件的行为标识、行为主机、行为客体、行为输入输出中的一个或多个,以各个白名单软件对应的行为信息基作为标准,与处于运行状态的白名单软件的软件行为比对,可以准确的判断各个白名单软件是否运行正常,从而实现对可信软件的监控,当其出现异常时能够及时发现,进而提高虚拟机的安全性。
在本发明一个实施例中,在虚拟机启动过程中,对其内核文件及配置的待度量文件进行哈希计算,将计算结果与其对应的基线值进行比对,如果计算结果与对应的基线值相同,则判断对应的内核文件及带度量文件时可信,否则不可信,通过这种计算方式,即使内核文件或待度量文件发生很小的改变,也会导致哈希计算结果不同,从而准确的判断内核文件及待度量文件是否被篡改,如果被篡改采取对应的措施,保证虚拟机的安全性。
在本发明一个实施例中,在虚拟机运行过程中,通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,从而解决了主机与虚拟机之间存在语言鸿沟的问题,进而准确的获取处于运行状态的进程及内存信息,判断是否存在不安全软件在虚拟机上运行。
在本发明一个实施例中,预先获取白名单内所有白名单软件对应的进程及内存信息的哈希计算基线值,通过哈希算法对获取到的处于运行状态的各个进程及内存信息进行哈希计算,获取当前计算结果,分别将各个当前计算结果与已经获取到所有白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果存在至少一个当前计算结果与所有白名单软件对应的进程及内存信息的哈希计算基线值都不相同,则判断虚拟机上存在白名单以外的软件正在运行,进而采取相应的措施,避免不受信任的软件在虚拟机上运行,导致虚拟机遭到破坏的情况发生。
在本发明一个实施例中,配置的待度量文件信息和白名单、构建的各个白名单软件对应的行为信息基、虚拟机内核文件和待度量文件对应的基线值及预先获取的各个白名单软件对应的的进程及内存信息的哈希计算基线值均存储在远程证明服务器上,这样,可以防止度量基准值存储在本地被篡改,导致虚拟机度量失效的情况发生。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明一个实施例提供了一种虚拟机的度量方法,包括:
步骤201:在远程证明服务器上配置待度量文件及白名单。
在本发明一个实施例中,根据实际情况,在远程证明服务器上选择重要的文件作为待度量文件,当虚拟机启动时,通过配置文件的形式将待度量文件名单发送至对应的虚拟机上,对选择的待度量文件进行度量;在远程证明服务器上配置虚拟机的白名单,将可信的软件作为白名单软件加入到白名单中。例如,虚拟机在启动过程中,会加载文件1、文件2及文件3共计三个文件,这三个文件对虚拟机上业务的运行其决定作用,那么就在远程证明服务器上将文件1至文件3这三个文件配置为待度量文件;软件1至软件5共计五个软件是经常需要在虚拟机上运行的软件,并且属于安全的软件,那么就将软件1至软件5共计5个软件作为白名单软件加入到白名单中。
步骤202:在远程证明服务器上通过哈希计算获取虚拟机内核文件及待度量文件对应的第一哈希计算基线值。
在本发明一个实施例中,在远程证明服务器上,预先对虚拟机的内核文件及配置的待度量文件进行哈希计算,并将计算结果存储在远程证明服务器上,作为判断虚拟机内核文件及待度量文件是否可信的标准值。例如,对虚拟机内核文件进行哈希计算,获得第一哈希计算基线值1,对文件1至文件3进行哈希计算,分别获得第一哈希计算基线值2至4,分别将第一哈希计算基线值1至4存储在远程证明服务器上。
步骤203:在远程证明服务器上构建白名单中各个白名单软件对应的行为信息基。
在本发明一个实施例中,根据软件行为学的相关内容,通过对白名单中的各个白名单软件的行为信息进行收集,根据收集到的行为信息构建各个白名单软件对应的行为信息基,信息信息基中包括行为标识、行为主机、行为客体及行为输入输出,并将构建的各个白名单软件对应的行为信息基存储在远程证明服务器上。例如,根据软件行为学的相关内容,分别对软件1至软件5的行为信息进行收集,根据收集到的行为信息,分别构建软件1至软件5相对应的行为信息基,其中软件1至软件5依次对应行为信息基1至行为信息基5。
步骤204:在远程证明服务器上通过哈希计算获取各个白名单软件对应的进程及内存信息的第二哈希计算基线值。
在本发明一个实施例中,首先获取白名单内各个白名单软件在运行时对应的进程及内存信息,通过哈希算法,对获取的各个进程及内存信息进行哈希计算,获得各个白名单软件在运行时对应的进程及内存信息的第二哈希计算基线值,并将获取的各个第二哈希计算基线值存储在远程证明服务器上。例如,分别获取软件1至软件5在运行时对应的进程及内存信息,通过哈希算法分别对获取的5个进程及内存信息进行哈希计算,获得5个第二哈希计算基线值,其中,软件1至软件5依次对应第二哈希计算基线值1至第二哈希计算基线值5。
步骤205:在虚拟机启动过程中对其内核文件及待度量文件进行哈希计算,将计算结果与第一哈希计算基线值进行比较,判断内核文件及待度量文件是否可信。
在本发明一个实施例中,在虚拟机启动过程中,首先对虚拟机的内核文件和配置的待度量文件进行哈希计算,将计算结果与对应的第一哈希计算基线值进行比较,如果计算结果与对应的第一哈希计算基线值相同,则判断该计算结果对应的内核文件或待度量文件是可信的,如果计算结果与对应的第一哈希计算基线值不相同,则判断该计算结果对应的内核文件或待度量文件是不可信的。例如,在虚拟机启动过程中,分别对虚拟机的内核文件及文件1至文件3进行哈希计算,获得对应的计算结果,其中内核文件对应计算结果1,文件1至文件3依次对应计算结果2至计算结果4,将计算结果1至计算结果4依次与第一哈希计算基线值1至第一哈希计算基线值4进行比较,如果各个计算结果与对应的第一哈希计算基线值相同则判断内核文件及文件1至文件3是可信的,如果计算结果1与第一哈希计算基线值1不相同,则判断内核文件不可信,相应的采取对应的解决措施。
步骤206:每经过一个设定的第一间隔时间,获取虚拟机上当前处于运行状态的各个进程及内存信息。
在本发明一个实施例中,预先设定一个第一间隔时间,每经过一个第一间隔时间,获取一次当前处于运行状态的进程及内存信息。例如,设定第一间隔时间长度为10分钟,则每经过10分钟,获取一次当前处于运行状态的进程及内存信息,其中,本次获取到3组进程及内存信息,分别为进程及内存信息1、进程及内存信息2及进程及内存信息3。
步骤207:对获取的各个进程及内存信息进行哈希计算,依次将计算结果与各个第二哈希计算基线值进行比较,判断虚拟机上是否有白名单以外的软件运行。
在本发明一个实施例中,将获取的各组进程及内存信息进行哈希计算,分别将获取的每一个计算结果与存储于远程证明服务器上的各个第二哈希计算基线值进行比较,如果每一个计算结果都能找到与之相同的第二哈希计算基线值,则说明虚拟机上没有白名单以外的软件运行,如果存在至少一个计算结果找不到与之相同的第二哈希计算基线值,则说明虚拟机上有白名单以外的软件运行,应采取相应的应对措施。例如,分别对进程及内存信息1、进程及内存信息2及进程及内存信息3进行哈希计算,获取对应的计算结果5至计算结果7,依次将计算结果5至计算结果7与存储于远程服务器上的第二哈希计算基线值1至第二哈希计算基线值5进行比较,如果计算结果5与第二哈希计算基线值1相同,计算结果6与第二哈希计算基线值3相同,计算结果7不与第二哈希计算基线值1至第二哈希计算基线值5中的任何一个相同,则说明虚拟机上有白名单以外的软件运行,该软件对应的进程及内存信息为进程及内存信息3,应采取相应的对应措施。
步骤208:每经过一个设定的第二间隔时间,获取虚拟机上当前处于运行状态的各个白名单软件的软件行为。
在本发明一个实施例中,预先设定一个第二间隔时间,每经过一个第二间隔时间,获取虚拟机上当前处于运行状态的各个白名单软件的软件行为,包括软件行为标识、行为主机、行为客体、行为输入输出。例如,设定第二间隔时间为5分钟,每经过5分钟,获取一次虚拟机上当前处于运行状态的白名单软件的软件行为,其中当前处于运行状态的白名单软件为软件1和软件2。
步骤209:将获取到的各个白名单软件的软件行为与对应的行为信息基进行比较,判断各个白名单软件的运行是否正常。
在本发明一个实施例中,将获取到的当前处于运行状态的白名单软件的软件行为与存储在远程证明服务器上的对应的行为信息基进行比较,如果软件的行为与对应的行为信息基相同,则说明该白名单软件运行正常,如果软件行为与对应的行为信息基不同,则说明该白名单软件运行不正常,需采取相应的应对措施。例如,将软件1的软件行为与行为信息基1进行比较,软件1的软件行为的各项指标与行为信息基1的各项指标相同,说明软件1运行时正常的;将软件2的软件行为与行为信息基2进行比较,软件2的软件行为中的行为主机和行为输入输出与行为信息基2中的行为主机和行为输入输出不相同,则说明软件2的运行不正常,需针对软件2采取对应的措施。
如图3所示,本发明一个实施例提供了一种虚拟机的度量装置,包括:配置单元301、构建单元302、第一度量单元303、获取单元304、第二度量单元305及第三度量单元306;
所述配置单元301,用于配置待度量文件及白名单;
所述构建单元302,用于构建位于所述配置单元配置的白名单中的各个白名单软件对应的行为信息基;
所述第一度量单元303,用于通过在虚拟机启动过程中对其内核文件及所述配置单元301配置的待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
所述获取单元304,用于每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;
所述第二度量单元305,用于根据所述获取单元304获取的当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述配置单元配置的白名单之外的软件运行;
所述第三度量单元306,用于每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
在本发明一个实施例中,
所述构建单元302,用于通过收集所述各个白名单软件的行为信息,构建位于所述白名单中的各个白名单软件对应的行为信息基,其中,所述行为信息基包括软件行为标识、行为主机、行为客体、行为输入输出中的任意一个或多个。
在本发明一个实施例中,
所述第一度量单元303,用于在所述虚拟机启动过程中,对所述虚拟机的内核文件及所述待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比对,如果所述计算结果与对应的基线值相同,则所述内核文件及待度量文件是可信的,否则不可信。
在本发明一个实施例中,
所述获取单元304,用于通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,获取到所述虚拟机中当前运行的进程及内存信息。
在本发明一个实施例中,
所述第二度量单元305,用于通过对所述虚拟机当前运行的各个进程及内存信息进行哈希计算,获取各个进程及内存信息对应的当前计算结果,分别将各个所述当前计算结果与获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果至少存在一个所述当前计算结果,与任意一个所述白名单软件对应的进程及内存信息的哈希计算基线值均不相同,则所述虚拟机上有位于所述白名单之外的软件运行,否则所述虚拟机上没有位于所述白名单之外的软件运行。
在本发明一个实施例中,
所述配置单元301,用于在远程证明服务器上配置所述待度量文件及所述白名单;
所述构建单元302,用于在所述远程证明服务器上构建所述白名单中的各个白名单软件对应的行为信息基;
所述第二度量单元305,用于将所述当前计算结果发送至所述远程证明服务器上,分别与在所述远程证明服务器上预先计算获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比。
上述设备内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
根据上述方案,本发明的实施例所提供的一种虚拟机的度量方法及装置,至少具有如下有益效果:
1、本发明实施例中,通过配置待度量文件和白名单,在虚拟器启动过程中,对虚拟机的内核文件及待度量文件进行度量,判断虚拟机的内核文件及待度量文件是否可信;在虚拟机运行过程中,每隔一个设定的第一间隔时间,获取虚拟机中当前处于运行状态的进程及内存信息,通过获取的进程及内存信息,判断虚拟机上是否存在位于白名单之外的软件运行;在虚拟机运行过程中,每隔一个设定的第二间隔时间,获取处于运行状态的各个白名单软件的软件行为,通过与各白名单软件对应的行为信息基比对,判断各个白名单软件是否运行正常。这样,在虚拟机启动过程中不仅对其内核文件进行度量,还对一些重要的文件进行度量,确保其是可信的,在虚拟机运行过程中定时判断是否存在白名单以外的软件运行,并监控白名单内的软件是否运行正常,不仅实现了虚拟机的静态度量,还实现了虚拟机的动态度量,提高了虚拟机的安全性。
2、本发明实施例中,配置的待度量文件信息和白名单、构建的行为信息基、内核文件和待度量文件的基线值及白名单软件对应的进程及内存信息的哈希计算基线值都存储在远程证明服务器上,这样即使本地主机被入侵或出现问题时,也可以保证以上各个度量基准值的安全,避免由于度量基准值被篡改导致虚拟机度量失效的情况发生,提高了虚拟机的安全性。
3、本发明实施例中,在虚拟机启动时,对虚拟机的内核文件和由用户自定义的待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比较,可以准确的判断虚拟机的内核文件及待度量文件是否被篡改,保证虚拟机的正常启动及虚拟机上业务的正常运行。
4、本发明实施例中,通过定时对运行中的进程及内存信息进行哈希计算,将计算结果与预先获取的各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,可以发现虚拟机上是否存在白名单以外的软件在运行,可以及时发现在虚拟机上运行的可疑软件,针对可疑软件采取相应的措施,避免其对虚拟机造成破坏。
5、本发明实施例中,通过定时获取运行中的白名单软件的软件行为,与其相对应的行为信息基进行比对,判断白名单软件的运行是否正常,实现对白名单软件的监控,当其出现异常时可以及时处理,防止对虚拟机造成更大的破坏,保证业务的正常执行。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种虚拟机的度量方法,其特征在于,包括:
配置待度量文件及白名单;
构建位于所述白名单中的各个白名单软件对应的行为信息基;
通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;
根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行;
每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
2.根据权利要求1所述的方法,其特征在于,所述构建位于所述白名单内的中个白名单软件对应的行为信息基包括:
通过收集所述各个白名单软件的行为信息,构建位于所述白名单中的各个白名单软件对应的行为信息基,其中,所述行为信息基包括软件行为标识、行为主机、行为客体、行为输入输出中的任意一个或多个。
3.根据权利要求1所述的方法,其特征在于,所述通过在虚拟机启动过程中对其内核文件及所述待度量文件进行度量,判断所述内核文件及待度量文件是否可信包括:
在所述虚拟机启动过程中,对所述虚拟机的内核文件及所述待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比对,如果所述计算结果与对应的基线值相同,则所述内核文件及待度量文件是可信的,否则不可信。
4.根据权利要求1所述的方法,其特征在于,所述获取所述虚拟机中当前处于运行状态的进程及内存信息包括:
通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,获取到所述虚拟机中当前运行的进程及内存信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述白名单之外的软件运行包括:
通过对所述虚拟机当前运行的各个进程及内存信息进行哈希计算,获取各个进程及内存信息对应的当前计算结果,分别将各个所述当前计算结果与获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果至少存在一个所述当前计算结果,与任意一个所述白名单软件对应的进程及内存信息的哈希计算基线值均不相同,则所述虚拟机上有位于所述白名单之外的软件运行,否则所述虚拟机上没有位于所述白名单之外的软件运行。
6.根据权利要求5所述的方法,其特征在于,
所述配置待度量文件及白名单包括:在远程证明服务器上配置所述待度量文件及所述白名单;
所述构建位于所述白名单中的各个白名单软件对应的行为信息基包括:在所述远程证明服务器上构建所述白名单中的各个白名单软件对应的行为信息基;
所述分别将各个所述当前计算结果与构建的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比包括:将所述当前计算结果发送至所述远程证明服务器上,分别与在所述远程证明服务器上预先计算获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比。
7.一种虚拟机的度量装置,其特征在于,包括:
配置单元,用于配置待度量文件及白名单;
构建单元,用于构建位于所述配置单元配置的白名单中的各个白名单软件对应的行为信息基;
第一度量单元,用于通过在虚拟机启动过程中对其内核文件及所述配置单元配置的待度量文件进行度量,判断所述内核文件及待度量文件是否可信;
获取单元,用于每隔设定的第一间隔时间,获取所述虚拟机中当前处于运行状态的进程及内存信息;
第二度量单元,用于根据所述获取单元获取的当前处于运行状态的进程及内存信息,判断所述虚拟机上是否有位于所述配置单元配置的白名单之外的软件运行;
第三度量单元,用于每隔设定的第二间隔时间,获取处于运行状态的各个所述白名单软件的软件行为,通过与对应的行为信息基进行比对,判断所述各个白名单软件是否运行正常。
8.根据权利要求7所述的装置,其特征在于,
所述构建单元,用于通过收集所述各个白名单软件的行为信息,构建位于所述白名单中的各个白名单软件对应的行为信息基,其中,所述行为信息基包括软件行为标识、行为主机、行为客体、行为输入输出中的任意一个或多个。
9.根据权利要求7所述的装置,其特征在于,
所述第一度量单元,用于在所述虚拟机启动过程中,对所述虚拟机的内核文件及所述待度量文件进行哈希计算,将计算结果与各自对应的基线值进行比对,如果所述计算结果与对应的基线值相同,则所述内核文件及待度量文件是可信的,否则不可信;
和/或,
所述获取单元,用于通过虚拟机自省技术VMI的程序库LibVMI,利用系统的system.map文件找到所述虚拟机的内核虚拟地址,内核页目录映射到正确的页表PageTable,PageTable映射到正确的数据页地址DatePage,虚拟机VMM组件将数据页返回给LibVMI,最后由LibVMI将数据表指针及偏移量返回给VMI组件,获取到所述虚拟机中当前运行的进程及内存信息;
和/或,
所述第二度量单元,用于通过对所述虚拟机当前运行的各个进程及内存信息进行哈希计算,获取各个进程及内存信息对应的当前计算结果,分别将各个所述当前计算结果与获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比,如果至少存在一个所述当前计算结果,与任意一个所述白名单软件对应的进程及内存信息的哈希计算基线值均不相同,则所述虚拟机上有位于所述白名单之外的软件运行,否则所述虚拟机上没有位于所述白名单之外的软件运行。
10.根据权利要求9所述的装置,其特征在于,
所述配置单元,用于在远程证明服务器上配置所述待度量文件及所述白名单;
所述构建单元,用于在所述远程证明服务器上构建所述白名单中的各个白名单软件对应的行为信息基;
所述第二度量单元,用于将所述当前计算结果发送至所述远程证明服务器上,分别与在所述远程证明服务器上预先计算获取的所述各个白名单软件对应的进程及内存信息的哈希计算基线值进行对比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510482497.XA CN105159744B (zh) | 2015-08-07 | 2015-08-07 | 一种虚拟机的度量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510482497.XA CN105159744B (zh) | 2015-08-07 | 2015-08-07 | 一种虚拟机的度量方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159744A true CN105159744A (zh) | 2015-12-16 |
CN105159744B CN105159744B (zh) | 2018-07-24 |
Family
ID=54800608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510482497.XA Active CN105159744B (zh) | 2015-08-07 | 2015-08-07 | 一种虚拟机的度量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159744B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445639A (zh) * | 2016-09-30 | 2017-02-22 | 北京奇虎科技有限公司 | 监测虚拟机的方法及装置 |
CN107239700A (zh) * | 2017-06-28 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种基于xen虚拟化平台的安全防护方法 |
CN107463430A (zh) * | 2017-08-03 | 2017-12-12 | 哈尔滨工业大学 | 一种基于内存和Swap空间的虚拟机内存动态管理系统及方法 |
CN107608752A (zh) * | 2016-07-12 | 2018-01-19 | 中国科学院信息工程研究所 | 基于虚拟机自省的威胁情报响应与处置方法及系统 |
CN109076063A (zh) * | 2016-03-22 | 2018-12-21 | 赛门铁克公司 | 在云环境中保护动态和短期虚拟机实例 |
CN109165079A (zh) * | 2018-08-07 | 2019-01-08 | 郑州云海信息技术有限公司 | 基于虚拟化的云数据中心可信平台、信任链构建方法、迁移方法 |
CN109358945A (zh) * | 2018-09-27 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种验证虚拟机硬件资源完整的方法和装置 |
CN109800570A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 一种虚拟化平台的安全防护方法及装置 |
CN109905347A (zh) * | 2017-12-07 | 2019-06-18 | 中移(苏州)软件技术有限公司 | 安全基线配置方法、装置、设备、云主机、介质及系统 |
CN112099909A (zh) * | 2020-08-27 | 2020-12-18 | 海光信息技术有限公司 | 一种虚拟机内存度量方法、装置、处理器芯片及系统 |
CN112688782A (zh) * | 2019-10-17 | 2021-04-20 | 华为技术有限公司 | 一种组合式设备的远程证明方法及设备 |
CN114327791A (zh) * | 2022-03-03 | 2022-04-12 | 阿里云计算有限公司 | 基于虚拟化的可信计算度量方法、装置、设备和存储介质 |
CN117376033A (zh) * | 2023-12-06 | 2024-01-09 | 浙江网商银行股份有限公司 | 文件处理方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722678B (zh) * | 2012-05-31 | 2016-06-15 | 北京朋创天地科技有限公司 | 一种虚拟桌面可执行程序保护机制 |
-
2015
- 2015-08-07 CN CN201510482497.XA patent/CN105159744B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109076063A (zh) * | 2016-03-22 | 2018-12-21 | 赛门铁克公司 | 在云环境中保护动态和短期虚拟机实例 |
CN109076063B (zh) * | 2016-03-22 | 2021-12-28 | Ca公司 | 在云环境中保护动态和短期虚拟机实例 |
CN107608752A (zh) * | 2016-07-12 | 2018-01-19 | 中国科学院信息工程研究所 | 基于虚拟机自省的威胁情报响应与处置方法及系统 |
CN107608752B (zh) * | 2016-07-12 | 2020-10-16 | 中国科学院信息工程研究所 | 基于虚拟机自省的威胁情报响应与处置方法及系统 |
CN106445639A (zh) * | 2016-09-30 | 2017-02-22 | 北京奇虎科技有限公司 | 监测虚拟机的方法及装置 |
CN107239700A (zh) * | 2017-06-28 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种基于xen虚拟化平台的安全防护方法 |
CN107463430A (zh) * | 2017-08-03 | 2017-12-12 | 哈尔滨工业大学 | 一种基于内存和Swap空间的虚拟机内存动态管理系统及方法 |
CN107463430B (zh) * | 2017-08-03 | 2020-10-02 | 哈尔滨工业大学 | 一种基于内存和Swap空间的虚拟机内存动态管理系统及方法 |
CN109905347A (zh) * | 2017-12-07 | 2019-06-18 | 中移(苏州)软件技术有限公司 | 安全基线配置方法、装置、设备、云主机、介质及系统 |
CN109165079B (zh) * | 2018-08-07 | 2021-07-27 | 郑州云海信息技术有限公司 | 基于虚拟化的云数据中心可信平台、信任链构建方法 |
CN109165079A (zh) * | 2018-08-07 | 2019-01-08 | 郑州云海信息技术有限公司 | 基于虚拟化的云数据中心可信平台、信任链构建方法、迁移方法 |
CN109358945A (zh) * | 2018-09-27 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种验证虚拟机硬件资源完整的方法和装置 |
CN109800570A (zh) * | 2018-12-29 | 2019-05-24 | 360企业安全技术(珠海)有限公司 | 一种虚拟化平台的安全防护方法及装置 |
CN112688782A (zh) * | 2019-10-17 | 2021-04-20 | 华为技术有限公司 | 一种组合式设备的远程证明方法及设备 |
CN112688782B (zh) * | 2019-10-17 | 2023-09-08 | 华为技术有限公司 | 一种组合式设备的远程证明方法及设备 |
CN112099909A (zh) * | 2020-08-27 | 2020-12-18 | 海光信息技术有限公司 | 一种虚拟机内存度量方法、装置、处理器芯片及系统 |
CN112099909B (zh) * | 2020-08-27 | 2021-06-11 | 海光信息技术股份有限公司 | 一种虚拟机内存度量方法、装置、处理器芯片及系统 |
CN114327791A (zh) * | 2022-03-03 | 2022-04-12 | 阿里云计算有限公司 | 基于虚拟化的可信计算度量方法、装置、设备和存储介质 |
CN117376033A (zh) * | 2023-12-06 | 2024-01-09 | 浙江网商银行股份有限公司 | 文件处理方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105159744B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159744A (zh) | 一种虚拟机的度量方法及装置 | |
CN106716953B (zh) | 控制系统中的网络安全风险的动态量化 | |
JP2018073423A (ja) | ファイル変更マルウェア検出 | |
US9141791B2 (en) | Monitoring for anomalies in a computing environment | |
JP2017527931A (ja) | マルウェア検出の方法及びそのシステム | |
Mao et al. | Security importance assessment for system objects and malware detection | |
CN101385012A (zh) | 在装置间使用关于恶意应用程序行为的信息的设备和方法 | |
CN104766011A (zh) | 基于主机特征的沙箱检测告警方法和系统 | |
CN104704472A (zh) | 侧信道攻击的检测和缓解 | |
Reeves et al. | Intrusion detection for resource-constrained embedded control systems in the power grid | |
CN113411302B (zh) | 局域网设备网络安全预警方法及装置 | |
US11824883B2 (en) | Variable DCF security scores and data threat portfolio views | |
Liao et al. | Towards provenance-based anomaly detection in MapReduce | |
CN112738094B (zh) | 可扩展的网络安全漏洞监测方法、系统、终端及存储介质 | |
CN112039894A (zh) | 一种网络准入控制方法、装置、存储介质和电子设备 | |
CN116305155A (zh) | 一种程序安全检测防护方法、装置、介质及电子设备 | |
Fatemi et al. | Threat hunting in windows using big security log data | |
JP2013222422A (ja) | プログラム、情報処理装置、及び情報処理方法 | |
CN115794479B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
EP3535681B1 (en) | System and method for detecting and for alerting of exploits in computerized systems | |
Zhan et al. | Checking virtual machine kernel control-flow integrity using a page-level dynamic tracing approach | |
Ehis | Optimization of Security Information and Event Management (SIEM) Infrastructures, and Events Correlation/Regression Analysis for Optimal Cyber Security Posture | |
CN105912929A (zh) | 一种基于国产tcm的动态度量方法 | |
CN111177726B (zh) | 一种系统漏洞检测方法、装置、设备及介质 | |
Chen et al. | System-Level Data Management for Endpoint Advanced Persistent Threat Detection: Issues, Challenges and Trends |
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 |