【技术实现步骤摘要】
【国外来华专利技术】具有非可读页的存储器保护
本公开总体上涉及信息安全,并且具体地涉及使用硬件规定的访问许可。
技术介绍
现代的计算系统采用各种技术来确保恶意的、虚假的或其它无效程序不能够获得对计算机处理器的控制。许多处理器被设计为使得硬件和软件能够努力合作以防止无效代码被处理器执行。许多处理器设计实现针对访问处理器和/或其它资源的保护的分层域。例如,只准许诸如操作系统或管理程序的特殊程序在处理器上使用处理器的最高特权模式(例如,“ring0”或“监督”模式)执行。取决于各种程序被分配的特权级别,各种程序可以能够或可以不能访问受保护的资源,例如,I/O设备、受保护的存储器区域、存储器表、中断禁用、对处理器的直接访问、其它虚拟机的映像、或者其它资源。各种无效程序可以通过执行存在于计算系统上的其它特权代码的部分区段来获得对受限制的资源的访问。示例包括恶意的面向返回的编程(ROP)攻击和面向跳转的编程(JOP)攻击,其可以尝试部分执行特权代码(例如,通过在代码流中的中间点处启动执行)。在各种情况下,木马、蠕虫、病毒、或其它载体能够引入启动执行已经存在于计算机存储器中的特权代码的区段的恶意软 ...
【技术保护点】
一种存储计算机指令以用于执行的方法,所述方法包括:规定用于仅执行访问的存储器区域;将一组指令存储在所述存储器区域中;执行所述一组指令之中的早期指令,其中,执行所述早期指令包括将秘密值加载到易失性寄存器中;以及执行所述一组指令之中的一组后续指令,其中,所述后续指令的正确执行取决于被加载到所述易失性寄存器中的所述秘密值。
【技术特征摘要】
【国外来华专利技术】2014.12.27 US 14/583,6811.一种存储计算机指令以用于执行的方法,所述方法包括:规定用于仅执行访问的存储器区域;将一组指令存储在所述存储器区域中;执行所述一组指令之中的早期指令,其中,执行所述早期指令包括将秘密值加载到易失性寄存器中;以及执行所述一组指令之中的一组后续指令,其中,所述后续指令的正确执行取决于被加载到所述易失性寄存器中的所述秘密值。2.根据权利要求1所述的方法,其中,所述一组指令包括被配置为阻止以下中的一个或多个的一组事务性指令:不按顺序执行所述一组指令;或者部分执行所述一组指令。3.根据权利要求1或2所述的方法,其中,所述秘密值包括非规范地址,并且其中,所述易失性寄存器包括堆栈指针。4.根据权利要求3所述的方法,其中,所述后续指令被配置为使得所述处理器执行到基于所述堆栈指针中的秘密值的地址的间接跳转。5.根据权利要求4所述的方法,其中,所述后续指令被配置为在加载所述秘密值之后且在所述间接跳转之前的时间段期间不干扰所述堆栈指针。6.根据权利要求3-5中任一项所述的方法,包括:保留所述堆栈指针中的秘密值,直到对于正确执行所述后续指令不再需要所述秘密值为止。7.根据权利要求1-6中任一项所述的方法,其中,所述一组指令被配置为使得所述处理器禁用以下中的一个或多个:中断;或者断点。8.根据权利要求1-7中任一项所述的方法,其中,规定所述存储器区域包括:将所述存储器区域限制为在以下情况下执行:Ring0访问特权、CPL0保护级别、或其它监督模式。9.根据权利要求1-8中任一项所述的方法,其中,将所述秘密值加载到所述易失性寄存器中包括:将立即值加载到所述易失性寄存器中。10.根据权利要求1-9中任一项所述的方法,其中,执行所述一组后续指令包括将所述秘密值变换为有效地址。11.根据权利要求1-10中任一项所述的方法,其中,执行所述一组后续指令包括:从所述易失性寄存器中擦除所述秘密值。12.根据权利要求1-11中任一项所述的方法,其中:执行所述一组后续指令包括根据加载在所述易失性寄存器中的所述秘密值对地址进行解码。13.根据权利要求1-12中任一项所述的方法,其中:执行所述一组后续指令包括执行到至少基于加载在所述易失性寄存器中的所述秘密值的地址的跳转。14.根据权利要求1-13中任一项所述的方法,其中:执行所述一组后续指令包括具有至少基于加载在所述易失性寄存器中的所述秘密值的地址的至少一个MOV指令。15.根据权利要求1-14中任一项所述的方法,其中:存储在所述易失性寄存器中的所述秘密值包括存储器视图索引;以及所述处理器被配置为响应于执行VMFUNC指令而至少基于所述存储器视图索引切换到存储器视图。16.根据权利要求1-15中任一项所述的方法,其中:存储在所述易失性寄存器中的所述秘密值包括密钥;以及所述处理器被配置为执行至少基于所述密钥的密码功能。17.根据权利要求1-16中任一项所述的方法,其中,规定所述存储器区域包括由处理器将对于扩展页表的访问许可设置为以下中的一个:仅执行许可,或者仅监督程序执行许可。18.根据权利要求1-17中任一项所述的方法,其中,规定所述存储器区域包括由处理器将对于扩展页表的访问许可设置为排除:读取访问和写入访问。19.根据权利要求1-18中任一项所述的方法,其中,规定所述存储器区域包括防止操作系统读取所述存储器区域,其中,所述防止是由执行所述操作系统的处理器执行的。20.根据权利要求1-19中任一项所述的方法,其中,所述存储器区域包括这样的存储器:对于所述存储器一组连续的虚拟存储器地址被映射到一组不连续的机器存储器地址。21.根据权利要求20所述的方法,包括:维护从所述虚拟存储器地址到所述机器存储器地址的映射,其中维护所述映射是由管理程序执行的,所述管理程序以vmx-rootring-0访问特权来执行,操作系统调用所述一组指令,以及所述操作系统是由所述管理程序支持的,并且在比Ring0更受限制的访问保护的情况下执行。22.根据权利要求21所述的方法,其中:规定所述存储器区域是由所述管理程序执行的;以及所述一组指令是在由所述管理程序支持的软件中的指令之中的。23.根据权利要求1-22中任一项所述的方法,其中,所述秘密值指示虫洞地址。24.根据权利要求1-23中任一项所述的方法,其中,所述一组指令被配置为使得所述处理器将关于所述秘密值的信息仅存储在被保护免受攻击方代码的存储器中。25.一种用于存储计算机指令的系统,所述系统包括:存储器;以及包括至少一个易失性寄存器的处理器,其中所述处理器被配置为规定对所述存储器的部分进行访问,所述处理器被配置为执行存储在所述存储器的第一部分中的第一组指令,所述第一组指令被配置为使得所述处理器将秘密值加载到所述易失性寄存器中,以及所述处理器被配置为响应于异步事件而丢失加载在所述易失性寄存器中的信息。26.根据权利要求25所述的系统,其中,所述存储器的第一部分被规定具有仅执行访问。27.根据权利要求25或权利要求26所述的系统,包括:存储介质,其包括能够由所述处理器执行的指令,并且所述指令被配置为使得所述处理器将所述第一组指令存储在所述存储器的第一部分中,以及规定所述存储器的第一部分作为仅执行存储器。28.根据权利要求25-27中任一项所述的系统,其中:所述第一组指令之中的一个或多个早期指令被配置为使得所述处理器将所述秘密值加载到所述易失性寄存器中;以及所述第一组指令之中的一个或多个后续指令对于正确执行取决于所述秘密值。29.根据权利要求28所述的系统,其中,所述第一组指令包括一组事务性指令,其被配置为阻止以下中的一个或多个:不按顺序执行所述一组指令;或者部分执行所述一组指令。30.根据权利要求25-29中任一项所述的系统,其中,所述秘密值包括非规范地址,并且其中,所述易失性寄存器包括堆栈指针。31.根据权利要求30所述的系统,其中,所述后续指令被配置为使得所述处理器执行到基于所述堆栈指针中的秘密值的地址的跳转。32.根据权利要求31所述的系统,其中,所述后续指令被配置为避免在所述秘密值被加载之后且在所述跳转之前的时间段期间干扰所述堆栈指针。33.根据权利要求30-32中任一项所述的系统,其中,所述后续指令被配置为使得所述处理器保留所述堆栈指针中的秘密值,直到对于正确执行所述后续指令不再需要所述秘密值为止。34.根据权利要求25-33中任一项所述的系统,其中,所述第一组指令被配置为使得所述处理器禁用以下中的一个或多个:中断;或者断点。35.根据权利要求25-34中任一项所述的系统,其中,所述处理器被配置为将所述存储器的第一部分限制为在以下情况下执行:Ring0访问特权、或CPL0保护级别、或其它监督模式。36.根据权利要求25-35中任一项所述的系统,其中,所述第一组指令被配置为使得所述处理器将立即值加载到所述易失性寄存器中。37.根据权利要求25-36中任一项所述的系统,其中,所述第一组指令被配置为使得所述处理器将所述秘密值变换为有效地址。38.根据权利要求25-37中任一项所述的系统,其中,所述第一组指令被配置为使得所述处理器从所述易失性寄存器...
【专利技术属性】
技术研发人员:R·N·巴克瓦尼,R·L·萨希塔,D·M·德拉姆,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。