CN104298917A - 一种基于tpm的虚拟机内应用程序完整性度量方法 - Google Patents
一种基于tpm的虚拟机内应用程序完整性度量方法 Download PDFInfo
- Publication number
- CN104298917A CN104298917A CN201410645962.2A CN201410645962A CN104298917A CN 104298917 A CN104298917 A CN 104298917A CN 201410645962 A CN201410645962 A CN 201410645962A CN 104298917 A CN104298917 A CN 104298917A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- list
- tpm
- completeness
- application program
- 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
Links
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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种基于TPM的虚拟机内应用程序的完整性度量方法,包括:在可信环境下获取可执行程序的度量值,并存放于Host OS中的参照列表中作为标准值;在程序运行时提取其代码段并计算该代码段的度量值,将其传送给Host OS的度量列表中;比较度量列表和参照列表来验证应用程序的状态。本发明基于TPM芯片确保虚拟机内应用程序的安全,将可信计算与虚拟机内的完整性度量技术相结合,一方面减少了虚拟机间监控技术的上下文切换开销,另一方面能够及时检测到针对虚拟机内应用程序的恶意攻击,提高了虚拟机系统的安全性,使该方法在商业应用和科学研究领域均有广泛地实用价值和应用前景。
Description
技术领域
本发明提出了一种虚拟机内应用程序的完整性度量方法,具体涉及一种利用TPM保证客户虚拟机内应用程序安全性的方法。属于计算机科学的信息安全领域。
背景技术
如今,系统虚拟机(包括KVM、Xen、VMWare等)受到了越来越多的关注并得到了广泛的应用。与传统计算机系统相比,使用虚拟化技术,不但提高了硬件利用率、更便于软件环境的部署以及通过隔离性提高了系统安全。但虚拟机也面临着严峻的安全问题。一方面,针对虚拟机的攻击越来越多,如虚拟机逃逸攻击、虚拟机失窃、特定病毒等;另一方面,虚拟机本身也存在着安全漏洞,如虚拟机监控器模型不完备、虚拟机之间共享宿主机造成的安全威胁、虚拟机系统中潜在的硬件威胁等。已出现的入侵或攻击虚拟化环境的案例几乎涉及所有的商业和开源虚拟化技术,增强虚拟机的安全性和构建可信的虚拟化环境已经成为业界的迫切需求。
当前对计算机系统的完整性保护收到日益重视。度量方法,是一个较新的方法,它的原理是在某些时刻,对目标进行度量,得到目标的某些信息,将这些信息的值与事先记录的标准值进行比较,从而判断目标的完整性是否被破坏。虽然它不是针对虚拟机环境的,但其基本思想可借鉴到虚拟机的保护中。
与传统的信息安全防御技术不同,可信计算组织提出了可信计算,其提供了一种新的思路,它从保证安全问题发生源头及安全性入手,以此保证终端系统的安全性。TCG的核心部件是一个嵌入主板上的安全协处理器芯片TPM。TPM提供一个基于硬件的可信根,提供内部的密钥、存储空间和存放摘要值的寄存器等。此外由于TPM是基于硬件实现的,并且有精心设计的接口,因此能在很大程度上抵御软件攻击。
可信计算作为信息安全的一项重要技术,将其与完整性度量技术相结合实现虚拟机内应用程序的完整性保护,能够在一定程度上提高虚拟机系统的安全性和可信性,因此研究基于TPM的虚拟机内应用程序的完整性保护具有重要意义。
发明内容
本发明的目的是提供一种虚拟机内应用程序的完整性度量方法。该方法首先需要在可信环境下对客户虚拟机内的可执行程序产生度量值,它们在验证时将作为标准值。然后在程序运行时提取其代码段并计算出该代码段的度量值,将其传送给Host OS的度量列表中。最后通过比较度量列表和作为标准的参照列表中的对应项来验证应用程序的状态。
本发明的技术方案是这样的:
本发明共包括三个步骤,具体如下:
(1)步骤S1:在可信环境下获取可执行程序的度量值,并存放于Host OS中的参照列表中;
(2)步骤S2:在程序运行时提取其代码段并计算该代码段的度量值,将其传送到Host OS的度量列表中;
(3)步骤S3:比较度量列表和参照列表来验证应用程序的状态;其中,步骤S1,可信环境可指不连接网络的状态下或虚拟机系统初次使用的情况下。由虚拟机中的度量模块获取所有需要度量的可执行文件的代码段,并对其进行哈希运算得到一个160bit的度量值,度量值通过虚拟机通信机制传递到Host OS的参照列表中,同时依次通过PCR的扩展运算扩展到TPM的PCR寄存器中。
其中,步骤S2,度量模块根据传送给它的进程ID号,提取正在运行程序的代码段,并对其进行哈希运算得到一个160bit的度量值,度量值连同可执行文件的名称一起通过虚拟机通信机制传递到Host OS的参照列表中,其中可执行文件的名称可作为相关度量值的索引。
其中,步骤S3,首先要确保度量列表和参照列表的完整性。以参照列表为例,有一个PCR寄存器保存着当前所有已产生的度量值的SHA-1运算的累计哈希值,由于PCR在TPM硬件中,它能够抵御任何软件攻击,因此PCR中的累积哈希值是可靠的。为了验证参照列表的完整性,可将参照列表中所有度量值按序依次进行SHA-1运算,将得到的累计哈希值与对应PCR中的值做比较,如果相同则证明参照列表是安全的。最后将度量列表中的度量值与参照列表中有相同索引的度量值做比较,即可发现此可执行文件是否受到了攻击。
3、优点及功效:
本发明所提出的基于TPM的虚拟机内应用程序完整性度量方法。与现有技术相比,其主要优点是:(1)实施灵活,KVM和Linux都是开源软件可以根据需要对其进行修改。(2)性价比高,大部分机器都配有TPM芯片,并且有可用TPM模拟器来模拟TPM的功能,不要购买其他软硬件。(3)开销小,虚拟机内度量方法不需要虚拟机之间的上下文切换,因此比虚拟机外监控方法更高效。(4)安全性高,能成功的检测到对虚拟机内应用程序的攻击。
附图说明
图1虚拟机内应用程序的完整性的整体流程图
图2TPM中PCR寄存器的分配方式图
图3应用程序状态验证流程图
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想是利用可信计算技术和虚拟机内的完整性度量技术对虚拟机内运行的应用程序进行安全保护,利用硬件保存度量结果,能够提高对虚拟机内应用程序攻击判断的准确性和可靠性。
下面以一实例进行说明,Host OS之上运行了两个虚拟机VM1和VM2,其中VM1中运行应用程序P1,VM2中运行应用程序P2。
首先按照TPM2.0标准中规定了PCR0—PCR7由BIOS和Bootloader使用,它们不可由应用程序使用,因此本发明使用PCR8来依次存储参照列表中的每一个的度量值,使用PCR9用来依次存储度量列表中的每一个度量值。TPM中PCR寄存器的具体分配方式如图2,规定完PCR寄存器的使用方式后,按照图1所示,虚拟机内应用程序的完整性度量架构即可运行,包括以下步骤:
(1)步骤S1:在可信环境下获取可执行程序的度量值,并存放于Host OS中的参照列表中。
可信环境可指不连接网络的状态下或虚拟机系统初次使用的情况下。由虚拟机中的度量模块获取所有需要度量的可执行文件的代码段,选取进程的代码段作为度量对象是因其是进程必不可少的一部分,而且进程的代码段能够体现应用程序的动态变化情况。对进程的代码段进行哈希运算得到一个160bit的度量值,度量值通过虚拟机通信机制传递到Host OS的参照列表中,同时也依次通过PCR的扩展运算(PCR_Extend)扩展到TPM的PCR寄存器中。PCR的扩展运算可用如下表达式描述:
PCR_Extend(PCR[i],m)=SHA-1(PCR[I],m)
这个扩展运算是一个SHA-1运算,SHA-1是安全哈希的一种,它的输入最大可可以有(264-1)位二进制数,而输出总是160bit的二进制数。对PCR[i]和m进行扩展运算后会重新写回PCR[i],因此PCR[i]中存放的是累计度量值。
(2)步骤S2:在程序运行时提取其代码段并计算该代码段的度量值,将其传送到Host OS的度量列表中。
在程序运行时,获取其进程ID号。度量模块根据传送给它的进程ID号,提取正在运行进程的代码段,并对其进行哈希运算得到一个160bit的度量值,度量值连同可执行文件的名称一起通过虚拟机通信机制传送到Host OS的度量列表中,并将其扩展到PCR9中。其中可执行文件的名称可作为相关度量值的索引。
(3)步骤S3:在度量列表和参照列表都完整的情况下,比较它们来验证应用程序的状态。
首先要确保度量列表和参照列表的完整性,证明它们没有受到恶意篡改。如图3所示,对于参照列表来说,TPM的PCR8寄存器保存着当前所有已产生的度量值的SHA-1运算的累计哈希值。为了验证参照列表的完整性,可将参照列表中所有度量值依次进行SHA-1运算,将得到的累计哈希值与PCR8中的值做比较,如果相同证明参照列表是完整的没有被恶意篡改。用同样的方式证明度量列表是完整性的。在度量列表和参照列表都是完整的情况下,将度量列表中的度量值与参照列表中有相同索引的度量值做比较,即可发现此可执行文件是否受到了攻击。
应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种基于TPM的虚拟机内应用程序完整性度量方法,其特征在于:该方法具体步骤如下:
步骤一:在可信环境下获取可执行程序的度量值,并存放于Host OS中的参照列表中作为标准值;
步骤二:在程序运行时提取其代码段并计算该代码段的度量值,将其传送给Host OS的度量列表中;
步骤三:比较度量列表和参照列表来验证应用程序的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410645962.2A CN104298917A (zh) | 2014-11-14 | 2014-11-14 | 一种基于tpm的虚拟机内应用程序完整性度量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410645962.2A CN104298917A (zh) | 2014-11-14 | 2014-11-14 | 一种基于tpm的虚拟机内应用程序完整性度量方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104298917A true CN104298917A (zh) | 2015-01-21 |
Family
ID=52318640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410645962.2A Pending CN104298917A (zh) | 2014-11-14 | 2014-11-14 | 一种基于tpm的虚拟机内应用程序完整性度量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298917A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751048A (zh) * | 2015-01-29 | 2015-07-01 | 中国科学院信息工程研究所 | 一种预链接机制下的动态链接库完整性度量方法 |
CN107545184A (zh) * | 2017-08-17 | 2018-01-05 | 大唐高鸿信安(浙江)信息科技有限公司 | 云主机的可信度量系统及方法 |
CN109255232A (zh) * | 2018-08-30 | 2019-01-22 | 紫光华山信息技术有限公司 | 一种软件加载方法以及软件加载装置 |
CN111177708A (zh) * | 2019-12-30 | 2020-05-19 | 山东超越数控电子股份有限公司 | 基于tcm芯片的plc可信度量方法、系统及度量装置 |
CN112256390A (zh) * | 2020-10-22 | 2021-01-22 | 海光信息技术股份有限公司 | 一种度量管理方法及相关设备 |
CN113157543A (zh) * | 2021-05-14 | 2021-07-23 | 海光信息技术股份有限公司 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
CN113422776A (zh) * | 2021-06-23 | 2021-09-21 | 孙勐 | 一种面向信息网络安全的主动防御方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073816A (zh) * | 2010-12-31 | 2011-05-25 | 兰雨晴 | 基于行为的软件可信度量系统及方法 |
CN102136043A (zh) * | 2010-01-22 | 2011-07-27 | 中国长城计算机深圳股份有限公司 | 一种计算机系统及其度量方法 |
-
2014
- 2014-11-14 CN CN201410645962.2A patent/CN104298917A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136043A (zh) * | 2010-01-22 | 2011-07-27 | 中国长城计算机深圳股份有限公司 | 一种计算机系统及其度量方法 |
CN102073816A (zh) * | 2010-12-31 | 2011-05-25 | 兰雨晴 | 基于行为的软件可信度量系统及方法 |
Non-Patent Citations (2)
Title |
---|
刘孜文等: "基于可信计算的动态完整性度量架构", 《电子与信息学报》 * |
吴远: "Windows应用程序的可信度量技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751048A (zh) * | 2015-01-29 | 2015-07-01 | 中国科学院信息工程研究所 | 一种预链接机制下的动态链接库完整性度量方法 |
CN104751048B (zh) * | 2015-01-29 | 2017-12-15 | 中国科学院信息工程研究所 | 一种预链接机制下的动态链接库完整性度量方法 |
CN107545184A (zh) * | 2017-08-17 | 2018-01-05 | 大唐高鸿信安(浙江)信息科技有限公司 | 云主机的可信度量系统及方法 |
CN107545184B (zh) * | 2017-08-17 | 2021-08-17 | 大唐高鸿信安(浙江)信息科技有限公司 | 云主机的可信度量系统及方法 |
CN109255232A (zh) * | 2018-08-30 | 2019-01-22 | 紫光华山信息技术有限公司 | 一种软件加载方法以及软件加载装置 |
CN111177708A (zh) * | 2019-12-30 | 2020-05-19 | 山东超越数控电子股份有限公司 | 基于tcm芯片的plc可信度量方法、系统及度量装置 |
CN112256390A (zh) * | 2020-10-22 | 2021-01-22 | 海光信息技术股份有限公司 | 一种度量管理方法及相关设备 |
CN112256390B (zh) * | 2020-10-22 | 2023-08-29 | 海光信息技术股份有限公司 | 一种度量管理方法及相关设备 |
CN113157543A (zh) * | 2021-05-14 | 2021-07-23 | 海光信息技术股份有限公司 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
CN113422776A (zh) * | 2021-06-23 | 2021-09-21 | 孙勐 | 一种面向信息网络安全的主动防御方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298917A (zh) | 一种基于tpm的虚拟机内应用程序完整性度量方法 | |
Huda et al. | Defending unknown attacks on cyber-physical systems by semi-supervised approach and available unlabeled data | |
EP3201822B1 (en) | End-to-end security for hardware running verified software | |
Bazm et al. | Cache-based side-channel attacks detection through intel cache monitoring technology and hardware performance counters | |
EP3281104B1 (en) | System and method of obfuscation through binary and memory diversity | |
Kulah et al. | SpyDetector: An approach for detecting side-channel attacks at runtime | |
CN109598122B (zh) | 用于检测侧信道攻击的方法和装置 | |
US10379764B2 (en) | Virtual machine page movement for encrypted memory | |
Wang et al. | TZ‐MRAS: A Remote Attestation Scheme for the Mobile Terminal Based on ARM TrustZone | |
US20230059273A1 (en) | Side-channel attacks on secure encrypted virtualization (sev)-encrypted state (sev-es) processors | |
Zhou et al. | Hardware-based on-line intrusion detection via system call routine fingerprinting | |
Saxena et al. | Preventing from cross-VM side-channel attack using new replacement method | |
CN104639313B (zh) | 一种密码算法的检测方法 | |
Zhou et al. | Hardware-based workload forensics: Process reconstruction via TLB monitoring | |
US10255435B1 (en) | Systems and methods for establishing a reputation for related program files | |
Korkin et al. | Acceleration of statistical detection of zero-day malware in the memory dump using CUDA-enabled GPU hardware | |
Kadiyala et al. | LAMBDA: Lightweight assessment of malware for emBeddeD architectures | |
Zhong et al. | A virtualization based monitoring system for mini-intrusive live forensics | |
Bazm et al. | Side channels in the cloud: Isolation challenges, attacks, and countermeasures | |
Du et al. | Dynamic integrity measurement model based on vTPM | |
Jin et al. | Trusted attestation architecture on an infrastructure-as-a-service | |
Ahmad et al. | An identification and prevention of theft-of-service attack on cloud computing | |
Tong et al. | Attack detection based on machine learning algorithms for different variants of spectre attacks and different meltdown attack implementations | |
Jeong et al. | Neural network stealing via meltdown | |
Buch et al. | Trinetra: a solution to handle cross-vm time-driven attack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150121 |
|
WD01 | Invention patent application deemed withdrawn after publication |