CN107169346A - 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置 - Google Patents

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

Info

Publication number
CN107169346A
CN107169346A CN201710297098.5A CN201710297098A CN107169346A CN 107169346 A CN107169346 A CN 107169346A CN 201710297098 A CN201710297098 A CN 201710297098A CN 107169346 A CN107169346 A CN 107169346A
Authority
CN
China
Prior art keywords
virtual machine
attack
page
target
defence
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
Application number
CN201710297098.5A
Other languages
English (en)
Other versions
CN107169346B (zh
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.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
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 PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201710297098.5A priority Critical patent/CN107169346B/zh
Publication of CN107169346A publication Critical patent/CN107169346A/zh
Application granted granted Critical
Publication of CN107169346B publication Critical patent/CN107169346B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

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

Description

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

Claims (10)

1.一种基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,基于虚拟机监控器和硬件多层级缓存架构实现,该方法包含如下内容:
收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;同时实时监测当前发生的基于缓存的侧信道攻击,得到攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;
根据收集的虚拟机信息及实时监测得到的攻击目标信息,选取防御操作,其中,所述的防御操作根据攻击目标信息中被攻击的缓存层选取缓存清除操作或内存动态重映射操作;
以攻击目标信息中攻击频率执行选取的防御操作。
2.根据权利要求1所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,根据攻击虚拟机在攻击目标虚拟机时攻击虚拟机和目标虚拟机两者访问缓存的行为相似,检测当前可能发生的基于缓存的侧信道攻击,得到攻击目标信息。
3.根据权利要求1所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,硬件多层级缓存架构包含用于缓存数据和指令的第一级缓存层,用于单核统一缓存的第二级缓存层,及用于统一共享缓存的第三级缓存层。
4.根据权利要求3所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,选取防御操作,包含如下内容:将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,根据攻击目标信息中被攻击的缓存层,若为第一级缓存层,则确定防御操作为缓存清洗操作,每一次目标虚拟机执行敏感操作后,随机清洗部分或全部缓存;若为第二级缓存层或第三级缓存层,则确定防御操作为内存动态重映射操作,动态随机交换敏感页面和普通页面两者之间的内存映射关系,混淆缓存行为特征和目标信息关联。
5.根据权利要求4所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,缓存清洗操作,包含如下内容:
A1)构建缓存清洗页面集合;
A2)依次访问缓存清洗页面集合中每一个内存页面,清洗与敏感目标页面对应的缓存。
6.根据权利要求5所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,A1中构建缓存清洗页面集合,包含如下内容:对于S个映射到与敏感目标页面相同的缓存位置的内存页面,随机选择W个内存页面作为该敏感目标页面的清洗页面集合,其中,S≥W,W是缓存的关联系数。
7.根据权利要求4所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,内存动态重映射操作,包含如下内容:
B1)根据虚拟机信息中虚拟机所占用的物理页面及虚拟机提交的保护内存,定位虚拟机上存储目标信息的敏感页面,将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,从虚拟机监控器负责页表中随机选择两个页表项;
B2)获取所选择页表项对应的物理内存页面;
B3)清除地址翻译缓存,并禁止其他进程对页表项和对应物理内存页面的访问;
B4)交换两个物理内存页面的存储内容,并交换两个页表项内容;
B5)恢复其他进程对页表项和对应物理内存页面的访问。
8.根据权利要求7所述的基于动态内存重映射和缓存清除的侧信道攻击防御方法,其特征在于,B1中从虚拟机监控器负责页表中随机选择两个页表项,两个页表项中:一个为敏感页面表项,另一个为普通页面表项。
9.一种基于动态内存重映射和缓存清除的侧信道攻击防御装置,其特征在于,基于虚拟机监控器和硬件多层级缓存架构实现,包含攻击检测模块、信息收集模块、防御决策模块及执行模块,其中,
攻击检测模块,用于实时监测当前发生的基于缓存的侧信道攻击,获取攻击目标信息,该攻击目标信息至少包含:被攻击的目标虚拟机、攻击频率和被攻击的缓存层;
信息收集模块,用于收集虚拟机监控器上运行的虚拟机信息,该虚拟机信息至少包含每一个虚拟机所占用的物理页面,以及虚拟机提交的保护内存;
防御决策模块,用于根据攻击检测模块获取的攻击目标信息及信息收集模块收集的虚拟机信息,选取防御操作,其中,所述的防御操作为缓存清除操作或为内存动态重映射操作;
执行模块,用于将目标虚拟机所占用的物理内存页面分为敏感页面和普通页面两类,执行防御决策模块选取的防御操作。
10.根据权利要求9所述的基于动态内存重映射和缓存清除的侧信道攻击防御装置,其特征在于,所述的执行模块包含缓存清洗单元和内存动态重映射单元,其中,
缓存清洗单元,根据执行防御决策模块选取的缓存清洗操作,构建缓存清洗页面集合,并依次访问缓存清洗页面集合中每一个内存页面,清洗与敏感目标页面对应的缓存;
内存动态重映射单元,用于根据执行防御决策模块选取的内存动态重映射操作,动态随机交换敏感页面和普通页面的内存映射关系,混淆缓存行为特征和目标信息关联。
CN201710297098.5A 2017-04-28 2017-04-28 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置 Active CN107169346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710297098.5A CN107169346B (zh) 2017-04-28 2017-04-28 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710297098.5A CN107169346B (zh) 2017-04-28 2017-04-28 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置

Publications (2)

Publication Number Publication Date
CN107169346A true CN107169346A (zh) 2017-09-15
CN107169346B CN107169346B (zh) 2019-09-06

Family

ID=59812899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710297098.5A Active CN107169346B (zh) 2017-04-28 2017-04-28 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置

Country Status (1)

Country Link
CN (1) CN107169346B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622199A (zh) * 2017-09-21 2018-01-23 中国科学院信息工程研究所 一种云环境中Flush‑Reload缓存侧信道攻击防御方法和装置
CN108459973A (zh) * 2018-04-03 2018-08-28 清华大学 处理器的安全控制方法、装置和系统
CN109598122A (zh) * 2017-10-02 2019-04-09 百度(美国)有限责任公司 用于检测侧信道攻击的方法和装置
CN110032867A (zh) * 2019-03-26 2019-07-19 中国人民解放军国防科技大学 一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统
CN110196819A (zh) * 2019-06-03 2019-09-03 海光信息技术有限公司 内存访问方法与硬件
CN114584623A (zh) * 2022-03-10 2022-06-03 广州方硅信息技术有限公司 流量请求清理方法、装置、存储介质以及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158924A (zh) * 2007-11-27 2008-04-09 北京大学 一种虚拟机管理器的动态内存映射方法
CN102571746A (zh) * 2011-11-23 2012-07-11 西安交通大学 一种面向云计算环境侧通道攻击防御的虚拟机部署方法
CN104009885A (zh) * 2014-05-22 2014-08-27 北京大学 一种云环境下基于隐蔽通道的虚拟机同驻检测方法
US9436603B1 (en) * 2014-02-27 2016-09-06 Amazon Technologies, Inc. Detection and mitigation of timing side-channel attacks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158924A (zh) * 2007-11-27 2008-04-09 北京大学 一种虚拟机管理器的动态内存映射方法
CN102571746A (zh) * 2011-11-23 2012-07-11 西安交通大学 一种面向云计算环境侧通道攻击防御的虚拟机部署方法
US9436603B1 (en) * 2014-02-27 2016-09-06 Amazon Technologies, Inc. Detection and mitigation of timing side-channel attacks
CN104009885A (zh) * 2014-05-22 2014-08-27 北京大学 一种云环境下基于隐蔽通道的虚拟机同驻检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梁鑫 等: "云环境中跨虚拟机的Cache侧信道攻击技术研究", 《计算机学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622199A (zh) * 2017-09-21 2018-01-23 中国科学院信息工程研究所 一种云环境中Flush‑Reload缓存侧信道攻击防御方法和装置
CN107622199B (zh) * 2017-09-21 2019-12-17 中国科学院信息工程研究所 一种云环境中Flush-Reload缓存侧信道攻击防御方法和装置
CN109598122A (zh) * 2017-10-02 2019-04-09 百度(美国)有限责任公司 用于检测侧信道攻击的方法和装置
CN108459973A (zh) * 2018-04-03 2018-08-28 清华大学 处理器的安全控制方法、装置和系统
CN108459973B (zh) * 2018-04-03 2022-03-18 清华大学 处理器的安全控制方法、装置和系统
CN110032867A (zh) * 2019-03-26 2019-07-19 中国人民解放军国防科技大学 一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统
CN110032867B (zh) * 2019-03-26 2021-05-25 中国人民解放军国防科技大学 一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统
CN110196819A (zh) * 2019-06-03 2019-09-03 海光信息技术有限公司 内存访问方法与硬件
CN110196819B (zh) * 2019-06-03 2021-08-24 海光信息技术股份有限公司 内存访问方法与硬件
CN114584623A (zh) * 2022-03-10 2022-06-03 广州方硅信息技术有限公司 流量请求清理方法、装置、存储介质以及计算机设备
CN114584623B (zh) * 2022-03-10 2024-03-29 广州方硅信息技术有限公司 流量请求清理方法、装置、存储介质以及计算机设备

Also Published As

Publication number Publication date
CN107169346B (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN107169346B (zh) 基于动态内存重映射和缓存清除的侧信道攻击防御方法及其装置
Vila et al. Theory and practice of finding eviction sets
Purnal et al. Systematic analysis of randomization-based protected cache architectures
Briongos et al. {RELOAD+ REFRESH}: Abusing Cache Replacement Policies to Perform Stealthy Cache Attacks
Page Defending against cache-based side-channel attacks
Domnitser et al. Non-monopolizable caches: Low-complexity mitigation of cache side channel attacks
Lu et al. Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache.
Song et al. Randomized last-level caches are still vulnerable to cache side-channel attacks! but we can fix it
Zhang et al. New models of cache architectures characterizing information leakage from cache side channels
KR20090035523A (ko) 가상 컴퓨터에서 캐시 라인 공유를 회피하는, 하드웨어 액세스 제공 시스템 및 액세스 관리 방법
CN102103552A (zh) 安全高速缓存存储器架构
WO2018031178A1 (en) Multi-modal memory hierarchical management for mitigating side-channel attacks in the cloud
CN107622199A (zh) 一种云环境中Flush‑Reload缓存侧信道攻击防御方法和装置
CN106970823A (zh) 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统
Wan et al. MeshUp: Stateless cache side-channel attack on CPU mesh
Bao et al. 3D integration: New opportunities in defense against cache-timing side-channel attacks
CN107430671A (zh) 用于在缓存中保护对安全重要的数据的方法
CN105446889B (zh) 一种内存管理方法、装置以及内存控制器
Na et al. Common counters: Compressed encryption counters for secure GPU memory
US11783032B2 (en) Systems and methods for protecting cache and main-memory from flush-based attacks
Bandara et al. Adaptive caches as a defense mechanism against cache side-channel attacks
Zhang et al. Secure cache modeling for measuring side-channel leakage
Ainapure et al. Understanding perception of cache-based side-channel attack on cloud environment
Saileshwar et al. Lookout for zombies: Mitigating flush+ reload attack on shared caches by monitoring invalidated lines
Kaur et al. A survey on cache timing channel attacks for multicore processors

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
GR01 Patent grant
GR01 Patent grant