CN117254930A - 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质 - Google Patents

一种针对虚拟机管理器跨域攻击的防御方法、装置和介质 Download PDF

Info

Publication number
CN117254930A
CN117254930A CN202310922603.6A CN202310922603A CN117254930A CN 117254930 A CN117254930 A CN 117254930A CN 202310922603 A CN202310922603 A CN 202310922603A CN 117254930 A CN117254930 A CN 117254930A
Authority
CN
China
Prior art keywords
pointer
virtual machine
machine manager
defending
cross
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
CN202310922603.6A
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202310922603.6A priority Critical patent/CN117254930A/zh
Publication of CN117254930A publication Critical patent/CN117254930A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

本发明公开了一种针对虚拟机管理器跨域攻击的防御方法、装置和介质。该方法针对虚拟机管理器中存在的跨域攻击——直接获取或者间接利用客户机在主机内存空间中的虚拟地址,从而打破主机和客户机之间的内存边界的攻击方法,通过指针加密验证的方法,避免客户机内存地址直接暴露在主机的内存空间中,加强了主机和客户机之间的内存隔离。这种方法能够在引入极小开销的情况下,有效抵御跨域攻击,并且在遭受恶意客户的攻击时,维持虚拟机管理器的正常工作,能够在保证运行效率的同时,提供足够的安全防御能力。

Description

一种针对虚拟机管理器跨域攻击的防御方法、装置和介质
技术领域
本发明属于网络安全技术领域,尤其涉及一种针对虚拟机管理器跨域攻击的防御方法、装置和介质。
背景技术
在当今计算机领域,虚拟化技术已经被广泛应用于数据中心、云计算、测试环境等场景,这些应用场景也对虚拟化技术的安全性提出了更高的要求,因此虚拟化技术的安全性受到厂商和开发人员的高度重视。虚拟机管理器(Hypervisor)作为虚拟化技术的核心组件,是攻击者的高价值目标。攻击者可以利用虚拟机管理器的漏洞在客户机端获取宿主机的控制权限,从而窃取敏感数据或破坏整个云环境,即虚拟机逃逸。因此,在每年发现的众多虚拟机管理器漏洞中,能够被利用并构造出漏洞利用代码(Exploit)的漏洞往往更是攻击者的目标。
在虚拟机管理器漏洞利用场景下,存在一种高效的利用手段——跨域攻击。该攻击能够在严苛的场景下,利用虚拟机管理器中因DMA地址映射引入的主机和客户机内存隔离的薄弱性,将客户机的内存空间作为利用原语,绕过各种现代保护措施(地址随机化等),对目标虚拟机管理器进行恶意入侵,造成极大的安全隐患。
本发明提出了一种针对虚拟机管理器跨域攻击的防御方法,主要思想是通过指针加密的方法,使得客户机内存地址以密文形式存放在主机内存空间中,在进行DMA数据传输时进行瞬时的解密,将地址信息进行有效地隐藏。由此,攻击者既无法直接获取客户机内存地址,又无法间接地利用客户机内存指针伪造恶意攻击载荷,有效地抵御了攻击。
发明内容
本发明的目的在于针对虚拟机管理器中存在的跨域攻击——直接获取或者间接利用客户机在主机内存空间中的虚拟地址,从而打破主机和客户机之间的内存边界的攻击方法,提供了一种针对虚拟机管理器跨域攻击的防御方法、装置和介质,通过指针加密验证的方法,避免客户机内存地址直接暴露在主机的内存空间中,加强了主机和客户机之间的内存隔离。
本发明的目的是通过如下技术方案实现的:一种针对虚拟机管理器跨域攻击的防御方法,包括如下步骤:
(1)在虚拟机管理器启动时,初始化指针加密密钥;
(2)初始化一个定时任务,定时更新步骤(1)中的指针加密密钥,同时维护一个管理链表,将管理链表中管理的所有加密过的指针进行重新加密;
(3)进行DMA地址映射时,使用最新更新的密钥对映射地址进行加密获得加密指针;并且在该加密指针被储存在内存中后,将该内存地址作为节点插入到步骤(2)中的管理列表;
(4)进行DMA数据传输时,使用最新更新的密钥对加密指针进行解密再进行数据传输;在解密的同时验证指针的合法性,若非法则取消数据传输动作,反之正常进行;
(5)进行DMA地址解映射时,使用最新更新的密钥对加密指针进行解密,并且将步骤(3)中完成地址映射后插入的节点从管理链表中移除;在解密的同时验证指针的合法性,若非法则取消解映射操作,反之正常进行。
进一步地,所述密钥为等长于机器字长的随机数。
进一步地,所述进行DMA地址映射时,使用步骤(1)中的密钥对映射地址进行加密,其使用的加密算法为对称加密算法。
一种针对虚拟机管理器跨域攻击的防御装置,包括一个或多个处理器,用于实现上述的一种针对虚拟机管理器跨域攻击的防御方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述的一种针对虚拟机管理器跨域攻击的防御方法。
本发明具有如下有益效果:本发明能够在引入极小开销的情况下,有效抵御跨域攻击,并且在遭受恶意客户的攻击时,维持虚拟机管理器的正常工作,能够在保证运行效率的同时,提供足够的安全防御能力。
附图说明
图1是本发明的防御原理架构图;
图2是本发明的一种结构硬件图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面结合附图,对本发明进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
本发明通过对DMA映射地址进行加密保护,防止其直接暴露在主机内存空间中,切断了跨域攻击需要满足的必要条件,实现了主机和客户机之间的安全隔离,能够使得虚拟机管理器有效地抵御跨域攻击。
如图1所示,本发明的一种针对虚拟机管理器跨域攻击的防御方法,具体包括以下步骤:
(1)在虚拟机管理器启动时,初始化指针加密密钥;
获取等长于机器字长的随机数(如对于x86-64,获取8字节长度的随机数)作为密钥;该随机数获取的方式可因虚拟机管理器运行环境而异,可以通过软件或者硬件获取。
(2)初始化一个定时任务,定时更新步骤(1)中的指针加密密钥,同时维护一个管理链表,将管理链表中管理的所有加密过的指针进行重新加密;
定时任务维护两个关键结构:
a)密钥用于指针的加解密。
b)在DMA映射过程中已经被加密过的映射指针地址(二级指针),可通过单向链表进行维护。
定时任务实现两个关键步骤:
a)对指针加密密钥进行动态更新。
b)在密钥更新动作完成之前,对维护的所有映射指针进行重新加密(即使用旧密钥解密,再使用新密钥加密)
(3)进行DMA地址映射时,使用最新更新的密钥对映射地址进行加密获得加密指针;并且在该加密指针被储存在内存中后(例如结构体成员等),将该内存地址作为节点插入到步骤(2)中的管理列表;
具体的,进行DMA地址映射时,使用最新更新的密钥映射得到的客户机地址指针进行加密(加密算法可以使用任何对称加密算法,也可使用简易加密,例如按位异或等),再将加密后的密文指针填入到目标结构体的相应位置中。同时,将该“相应位置”作为节点插入到(2)中定时任务维护的二级指针队列中。
(4)进行DMA数据传输时,使用最新更新的密钥对加密指针进行解密再进行数据传输;在解密的同时验证指针的合法性,若非法则取消数据传输动作,反之正常进行(即完成数据传输定值);
具体的,进行DMA数据传输时,进行两个关键操作:
(4.1)使用最新更新的密钥对指针进行解密,验证其是否属于合法的客户机地址空间。若合法,则执行后续操作(4.2);否则,中止操作,并返回错误码。
(4.2)使用解密后的指针进行正常的数据传输动作。
(5)进行DMA地址解映射时,使用最新更新的密钥对加密指针进行解密,并且将步骤(3)中完成地址映射后插入的节点从管理链表中移除;在解密的同时验证指针的合法性,若非法则取消解映射操作,反之正常进行(即完成解映射操作)。
具体的,进行DMA地址解映射时,进行三个关键操作:
(a)删除步骤(3)中定时任务维护的队列中插入的节点。
(b)进行步骤(4)中同样的解密验证操作,合法则继续执行操作(c);否则中止且返回错误码。
(c)调用相应接口进行解映射操作。
与前述一种针对虚拟机管理器跨域攻击的防御方法的实施例相对应,本发明还提供了一种针对虚拟机管理器跨域攻击的防御装置的实施例。
参见图2,本发明实施例提供的一种针对虚拟机管理器跨域攻击的防御装置,包括一个或多个处理器,用于实现上述实施例中的一种针对虚拟机管理器跨域攻击的防御方法。
本发明的一种针对虚拟机管理器跨域攻击的防御装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明的一种针对虚拟机管理器跨域攻击的防御装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种针对虚拟机管理器跨域攻击的防御方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的。

Claims (5)

1.一种针对虚拟机管理器跨域攻击的防御方法,其特征在于,包括如下步骤:
(1)在虚拟机管理器启动时,初始化指针加密密钥;
(2)初始化一个定时任务,定时更新步骤(1)中的指针加密密钥,同时维护一个管理链表,将管理链表中管理的所有加密过的指针进行重新加密;
(3)进行DMA地址映射时,使用最新更新的密钥对映射地址进行加密获得加密指针;并且在该加密指针被储存在内存中后,将该内存地址作为节点插入到步骤(2)中的管理列表;
(4)进行DMA数据传输时,使用最新更新的密钥对加密指针进行解密再进行数据传输;在解密的同时验证指针的合法性,若非法则取消数据传输动作,反之正常进行;
(5)进行DMA地址解映射时,使用最新更新的密钥对加密指针进行解密,并且将步骤(3)中完成地址映射后插入的节点从管理链表中移除;在解密的同时验证指针的合法性,若非法则取消解映射操作,反之正常进行。
2.根据权利要求1所述的一种针对虚拟机管理器跨域攻击的防御方法,其特征在于,所述密钥为等长于机器字长的随机数。
3.根据权利要求1所述的一种针对虚拟机管理器跨域攻击的防御方法,其特征在于,所述进行DMA地址映射时,使用步骤(1)中的密钥对映射地址进行加密,其使用的加密算法为对称加密算法。
4.一种针对虚拟机管理器跨域攻击的防御装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-3中任一项所述的一种针对虚拟机管理器跨域攻击的防御方法。
5.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,用于实现权利要求1-3中任一项所述的一种针对虚拟机管理器跨域攻击的防御方法。
CN202310922603.6A 2023-07-26 2023-07-26 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质 Pending CN117254930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310922603.6A CN117254930A (zh) 2023-07-26 2023-07-26 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310922603.6A CN117254930A (zh) 2023-07-26 2023-07-26 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质

Publications (1)

Publication Number Publication Date
CN117254930A true CN117254930A (zh) 2023-12-19

Family

ID=89125436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310922603.6A Pending CN117254930A (zh) 2023-07-26 2023-07-26 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质

Country Status (1)

Country Link
CN (1) CN117254930A (zh)

Similar Documents

Publication Publication Date Title
CN110324146B (zh) 对离线唯密文攻击的缓解
CN109858265B (zh) 一种加密方法、装置及相关设备
US7853803B2 (en) System and method for thwarting buffer overflow attacks using encrypted process pointers
Elbaz et al. Tec-tree: A low-cost, parallelizable tree for efficient defense against memory replay attacks
CN105512055B (zh) 用于减少存储器信息泄漏的系统和方法
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
US9898624B2 (en) Multi-core processor based key protection method and system
CN109766165A (zh) 一种内存访问控制方法、装置、内存控制器及计算机系统
US8095802B2 (en) System and method for securely saving a program context to a shared memory
WO2017000648A1 (zh) 一种被加固软件的认证方法及装置
EP3132374A1 (en) Hardware-based stack control information protection
US11409653B2 (en) Method for AI model transferring with address randomization
EP3188067A1 (en) Security control method and network device
Banescu et al. Software-based protection against changeware
GB2528780A (en) Security against memory replay attacks in computing systems
US11657332B2 (en) Method for AI model transferring with layer randomization
WO2023104013A1 (zh) 数据完整性保护方法及相关装置
US11783027B2 (en) Systems and methods for managing state
Mayberry et al. Multi-client Oblivious RAM secure against malicious servers
CN117254930A (zh) 一种针对虚拟机管理器跨域攻击的防御方法、装置和介质
Zonouz et al. Dynamic memory protection via Intel SGX-supported heap allocation
CN113966510A (zh) 可信设备和计算系统
US11556859B2 (en) Method for al model transferring with layer and memory randomization
Mestas III Exploitation and Mitigation of CPU Vulnerabilities
US20240080193A1 (en) Counter integrity tree

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