基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置制造方法及图纸

技术编号:16216810 阅读:33 留言:0更新日期:2017-09-15 23:02
本发明专利技术涉及一种基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置,该方法包含:收集虚拟机监控器上运行的虚拟机信息,至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;选取防御操作,其中,防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态重映射操作。本发明专利技术兼顾虚拟机监控器的运行效率;有针对性的进行防御,避免资源浪费,保证云计算产业的安全性,可以实时感知基于缓存的侧信道攻击,并且在尽量不影响资源共享的基础上实现高效防御。

Side channel attack defending method and device based on dynamic memory remapping and cache cleaning

The invention relates to a method and device based on side channel attack defense method of dynamic memory mapping and cache, the method includes: collecting the information of the virtual machine running on a virtual machine monitor, comprising at least a physical page of each virtual machine occupied, and virtual machine is put forward to protect the memory cache side channel attack; at the same time, based on the real-time monitoring of the current occurrence, get the target information includes at least a target virtual machine, attack frequency and attack buffer layer; selection of defense operation, the defense operation according to the target attack information in the cache layer selected cache operation or dynamic memory remapping operation. The invention also has the efficiency of virtual machine monitor; targeted defense, avoid the waste of resources, ensure the security of cloud computing industry, real-time perception of cache based side channel attacks, and try not to affect the resource sharing based on efficient defense.

【技术实现步骤摘要】
基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置
本专利技术属于网络安全
,特别涉及一种基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置。
技术介绍
随着云计算产业的不断发展,云环境下的安全问题得到了广泛的关注。为了提高资源的利用率,云虚拟化技术要求不同租户共享底层的物理资源,使得一个租户可以通过探测另一个租户访问共享资源的行为特征,推测目标租户的敏感信息,实现侧信道攻击。其中,基于缓存的侧信道攻击由于实现方法多样、攻击结果可靠,带来的危害也最大。近年来,相关领域的专家研究并实现了多种缓存攻击,可以达到诸如窃取高级加密标准(AES)的加密密钥和RSA公钥加密算法的解密密钥,以及监控用户键盘操作等目的。然而,当前针对这种攻击的防御主要依靠资源的隔离实现,虽然可以取得较好的安全性,但是这与云中资源共享的基本理念是相违背的。并且,当前提出的防御方法都是攻击无感的,不仅难以达到针对性的防御效果,而且容易造成资源的浪费。因此,急剧膨胀的云产业急需一种能够满足要求的安全解决方案,可以实时感知基于缓存的侧信道攻击,并且在尽量不影响资源共享的基础上能够实现高效的防御。
技术实现思路
针对现有技术中的不足,本专利技术提供一种基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置,有效解决现有技术中因防御操作对云资源共享等问题,具有较好的防御效果。按照本专利技术所提供的设计方案,一种基于动态内存重映射和缓存清除的侧信道攻击防御方法,基于虚拟机监控器和硬件多层级缓存架构实现,该方法包含如下内容:收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;根据收集的虚拟机信息及实时监测得到的攻击目标信息,选取防御操作,其中,所述的防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态重映射操作;以攻击目标信息中攻击频率执行选取的防御操作。上述的,根据攻击虚拟机在攻击目标虚拟机时攻击虚拟机和目标虚拟机两者访问缓存的行为相似,检测当前可能发生的基于缓存的侧信道攻击,得到攻击目标信息。上述的,硬件多层级缓存架构包含用于缓存数据和指令的第一级缓存层,用于单核统一缓存的第二级缓存层,及用于统一共享缓存的第三级缓存层。优选的,选取防御操作,包含如下内容:将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,根据攻击目标信息中被攻击的缓存层,若为第一级缓存层,则确定防御操作为缓存清洗操作,每一次目标虚拟机执行敏感操作后,随机清洗部分或全部缓存;若为第二级缓存层或第三级缓存层,则确定防御操作为内存动态重映射操作,动态随机交换敏感页面和普通页面两者之间的内存映射关系,混淆缓存行为特征和目标信息关联。更进一步,缓存清洗操作,包含如下内容:A1)构建缓存清洗页面集合;A2)依次访问缓存清洗页面集合中每一个内存页面,清洗与敏感目标页面对应的缓存。优选,A1中构建缓存清洗页面集合,包含如下内容:对于S个映射到与敏感目标页面相同的缓存位置的内存页面,随机选择W个内存页面作为该敏感目标页面的清洗页面集合,其中,S≥W,W是缓存的关联系数。更进一步,内存动态重映射操作,包含如下内容:B1)根据虚拟机信息中虚拟机所占用的物理页面及虚拟机提交的保护内存,定位虚拟机上存储目标信息的敏感页面,将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,从虚拟机监控器负责页表中随机选择两个页表项;B2)获取所选择页表项对应的物理内存页面;B3)清除地址翻译缓存,并禁止其他进程对页表项和对应物理内存页面的访问;B4)交换两个物理内存页面的存储内容,并交换两个页表项内容;B5)恢复其他进程对页表项和对应物理内存页面的访问。优选,B1中从虚拟机监控器负责页表中随机选择两个页表项,两个页表项中:一个为敏感页面表项,另一个为普通页面表项。一种基于动态内存重映射和缓存清除的侧信道攻击防御装置,基于虚拟机监控器和硬件多层级缓存架构实现,包含攻击检测模块、信息收集模块、防御决策模块及执行模块,其中,攻击检测模块,用于实时监测当前发生的基于缓存的侧信道攻击,获取攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;信息收集模块,用于收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;防御决策模块,用于根据攻击检测模块获取的攻击目标信息及信息收集模块收集的虚拟机信息,选取防御操作,其中,所述的防御操作为缓存清除操作或为内存动态重映射操作;执行模块,用于将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,执行防御决策模块选取的防御操作。上述的防御装置中,所述的执行模块包含缓存清洗单元和内存动态重映射单元,其中,缓存清洗单元,根据执行防御决策模块选取的缓存清洗操作,构建缓存清洗页面集合,并依次访问缓存清洗页面集合中每一个内存页面,清洗与敏感目标页面对应的缓存;内存动态重映射单元,用于根据执行防御决策模块选取的内存动态重映射操作,动态随机交换敏感页面和普通页面的内存映射关系,混淆缓存行为特征和目标信息关联。本专利技术的有益效果:本专利技术基于虚拟机监控器实现,通过攻击检测、信息收集,决策执行,实现防御操作,并通过内存动态重映射方法,通过不断更新虚拟内存和物理内存的映射关系,混淆物理缓存访问的行为特征和目标信息之间的关联,有效防止缓存攻击;实现通过感知当前系统的安全状况,并根据感知得到的攻击频率和受攻击的缓存目标动态地确定需要执行的防御操作以及对应操作的执行频率,使得缓存攻击能够被有效防御,并且兼顾虚拟机监控器的运行效率;有针对性的进行防御,避免资源浪费,保证云计算产业的安全性,可以实时感知基于缓存的侧信道攻击,并且在尽量不影响资源共享的基础上实现高效防御。附图说明:图1为本专利技术的方法流程示意图;图2为缓存侧信道攻击防御实现过程原理图;图3为动态内存重映射方法流程图;图4为缓存清洗方法流程图;图5为本专利技术的装置示意图;图6为缓存侧信道攻击防御装置原理图。具体实施方式:下面结合附图和技术方案对本专利技术作进一步清楚、完整的说明,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种基于动态内存重映射和缓存清除的侧信道攻击防御方法,基于虚拟机监控器和硬件多层级缓存架构实现,参见图1所示,该方法包含如下内容:收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;根据虚拟机提交的保护内存范围,计算该虚拟机需要保护的目标物理页面。根据收集的虚拟机信息及实时监测得到的攻击目标信息,选取防御操作,其中,所述的防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态本文档来自技高网...
基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置

【技术保护点】
一种基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,基于虚拟机监控器和硬件多层级缓存架构实现,该方法包含如下内容:收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;根据收集的虚拟机信息及实时监测得到的攻击目标信息,选取防御操作,其中,所述的防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态重映射操作;以攻击目标信息中攻击频率执行选取的防御操作。

【技术特征摘要】
1.一种基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,基于虚拟机监控器和硬件多层级缓存架构实现,该方法包含如下内容:收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;根据收集的虚拟机信息及实时监测得到的攻击目标信息,选取防御操作,其中,所述的防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态重映射操作;以攻击目标信息中攻击频率执行选取的防御操作。2.根据权利要求1所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,根据攻击虚拟机在攻击目标虚拟机时攻击虚拟机和目标虚拟机两者访问缓存的行为相似,检测当前可能发生的基于缓存的侧信道攻击,得到攻击目标信息。3.根据权利要求1所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,硬件多层级缓存架构包含用于缓存数据和指令的第一级缓存层,用于单核统一缓存的第二级缓存层,及用于统一共享缓存的第三级缓存层。4.根据权利要求3所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,选取防御操作,包含如下内容:将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,根据攻击目标信息中被攻击的缓存层,若为第一级缓存层,则确定防御操作为缓存清洗操作,每一次目标虚拟机执行敏感操作后,随机清洗部分或全部缓存;若为第二级缓存层或第三级缓存层,则确定防御操作为内存动态重映射操作,动态随机交换敏感页面和普通页面两者之间的内存映射关系,混淆缓存行为特征和目标信息关联。5.根据权利要求4所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,缓存清洗操作,包含如下内容:A1)构建缓存清洗页面集合;A2)依次访问缓存清洗页面集合中每一个内存页面,清洗与敏感目标页面对应的缓存。6.根据权利要求5所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,A1中构建缓存清洗页面集合,包含如下内容:对于S个映射到与敏感目标页面相同的缓存位置的内存页面,随机选择W个内存页面作为该敏感目标页面的清洗页面集合,其中...

【专利技术属性】
技术研发人员:郭云飞杨超刘文彦陈福才季新生程国振霍树民张淼丁瑞浩
申请(专利权)人:中国人民解放军信息工程大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1