[发明专利]一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统有效
申请号: | 201910232642.7 | 申请日: | 2019-03-26 |
公开(公告)号: | CN110032867B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 黄辰林;陈鲍孜;丁滟;吴庆波;谭郁松;谭霜;王晓川;粟长征;余杰;马俊 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F9/54 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 主动 切断 隐蔽 通道 应对 缓存 信道 攻击 方法 系统 | ||
本发明公开了一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统,本发明实施步骤包括拦截程序运行引发的异常,如果拦截到程序运行引发的异常则判断当前异常是否为缓存侧信道攻击,如果为缓存侧信道攻击则通过清除缓存数据向缓存注入噪音数据、重置微架构状态,最终调用用户异常处理程序继续处理当前异常。本发明从软件对策层面实现了防御包括熔毁攻击(Meltdown)在内的缓存侧信道攻击,能够达到兼顾性能的目的,本发明能够有效防止敏感信息的泄密,对正常应用程序的性能几乎没有影响,不需要修改CPU硬件,能够恶意系统寄存器读取的变体,具有防御成本低、实施灵活的优点。
技术领域
本发明涉及计算机安全领域,具体涉及一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统,可用于防止包括熔毁攻击(Meltdown)在内的缓存侧信道攻击。
背景技术
现代超标量结构的处理器被用来实现指令级并行。乱序执行是使性能最大化的标准技术,它允许处理器根据输入数据和执行单元的可用性(而不是它们的原始顺序)来执行指令,并避免让处理器等待前面的指令完成。开发指令级并行对于设计高性能处理器而言是一个关键目标之一。冒险就是在流水线中,阻滞指令流中的下一条指令执行的情形。为了避免冒险并使指令级并行性能最大化,很多技术被开发出来。乱序执行就是这样的一种典型技术并被广泛应用于现代超标量处理器中。乱序执行处理器可以不按照指令原来的顺序执行指令。在乱序执行的结构中,指令按原来的顺序解码和排序,但在实际中可以不按这个顺利执行。乱序执行的核心理念就是一旦一个操作数可用,处理器就继续执行指令,因而避免流水线中的数据冒险。与编译器执行的静态调度技术相比,动态调度至少有三个优点。首先,它可以高效地运行程序,并且在具有不同微体系结构的计算机上运行时不需要重新编译源代码。其次,它支持在运行时动态地处理依赖项,这在编译时很难解决。第三,它允许处理器容忍不可预测的延迟,比如缓存丢失。IBM System/360,型号91被认为是第一个全面支持乱序执行的计算机。这款电脑引入了Tomasulo的动态指令调度算法,以减少延迟。在Tomasulo的设计之前,因CDC 6000计分牌命名的计分牌技术被发明出来,它可以在资源充足且没有数据依赖的情况下乱序执行程序。它可以规避流水线中数据依赖所造成的写后读冒险。然而,计分牌[4]并不能消除因命名相关导致的读后写和写后写冒险。Tomasulo的算法通过引入寄存器的重命名机制解决这种依赖。在Tomasulo的设计中,保留站会在指令的操作数可用时立即提取和缓冲指令操作数,将寄存器名称从原始操作数重命名为缓冲区中的寄存器名称。此外,Tomasulo实现了命令数据总线(CDB),将保留站直接连接到功能单元。它使冒险检测和执行控制分散,而从保留站的结果可以直接迂回到功能单元,无需通过寄存器。Tomasulo的方案在IBM System/360型号91之后很多年都没有使用过,但是在1990年代多任务处理器中被广泛采用。指令在原始计算机代码中排序的方式称为程序顺序。在乱序执行时,处理器实际执行的顺序从程序顺序更改为数据顺序。数据流是产生结果的指令和使用结果的指令之间的实际数据流。数据流是保持程序正确性的关键属性之一。乱序执行是数据流计算的一种受限形式,其中指令窗口指的是可以执行无序的指令集。指令窗口的大小是有限的,新指令只能在其他指令离开窗口时进入窗口,这些指令按程序顺序排列。因此,指令窗口可以看作是一个滑动窗口,在其中的指令可以变为无序。动态跟踪数据依赖关系的逻辑复杂性将执行窗口限制为相对较小的大小,范围从32条指令到200条指令。
侧信道信息是可以从系统的物理状态而不是明文获得的信息。侧信道攻击的目标是利用侧信道信息来执行攻击,而不是系统实现本身的弱点。与通常由木马故意利用的隐蔽通道不同,侧信道的信息泄漏是由内部可信组件无意地执行。因此,仅通过简单地限制系统内的信息流是无法解决这种情况的。根据系统的物理特性,攻击者可以使用各种类型的侧通道来泄漏敏感信息。时序信息,功耗和电磁泄漏都是可以用来执行侧信道攻击的信息来源。
现代处理器使用缓存来填补内存层次结构中的速度差距。同时,它给系统带来了不确定性,即存储器访问的时间根据数据是否在高速缓存中而变化。高速缓存定时攻击是一种特定类型的侧信道攻击,它利用高速缓存对算法执行时间的影响。攻击者可以通过测量访问条目和泄漏信息所花费的时间来确定分配到缓存中的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910232642.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Web应用程序的处理方法及装置
- 下一篇:基于机器学习来确定程序代码特性