存储器中攻击预防制造技术

技术编号:15919435 阅读:23 留言:0更新日期:2017-08-02 04:37
示例涉及存储器中攻击预防。本文中公开的示例使得能够响应于第一引导命令而获得基于随机化过程所生成的第一加密密钥。示例还使得能够确定页面表的第一信息是否指示存储器页面意图是安全的,所述页面表存储在存储器页面的虚拟地址和存储器页面的物理地址之间的映射。响应于确定了第一信息指示了存储器页面意图是安全的,示例还使得能够确定页面表的第二信息是否指示存储器页面被加密。响应于确定了第二信息指示了存储器页面没有被加密,示例还使得能够使用第一加密密钥来对物理存储器中的存储器页面进行加密。

【技术实现步骤摘要】
【国外来华专利技术】存储器中攻击预防
技术介绍
漏洞攻击包括缓冲器超限运行、基于堆栈的攻击以及恶意软件注入,所述漏洞攻击持续对计算系统构成威胁。这样的攻击是许多软件漏洞的基础并且可能被恶意利用。指令集随机化(ISR)寻求通过使每个过程的指令集随机化并且因而使攻击者对指令集的认知无效来保护计算系统。通过使用ISR,即使攻击者成功将恶意代码注入到应用中,恶意代码也将不能执行,因为它将不被理解(因为在ISR下的应用现在说“不同的语言”)。附图说明以下详细描述参考附图,其中:图1是描绘了其中各种示例可以被实现为存储器中攻击预防系统的示例性环境的框图。图2是描绘了示例性的存储器中攻击预防系统的框图。图3是描绘了包括通过处理器可执行以用于存储器中攻击预防的指令的示例性机器可读存储介质的框图。图4是描绘了包括通过处理器可执行以用于存储器中攻击预防的指令的示例性机器可读存储介质的框图。图5是描绘了用于存储器中攻击预防的示例性方法的流程图。图6是描绘了用于存储器中攻击预防的示例性方法的流程图。图7是描绘了可能作为基于存储器页面是否意图是安全的和/或被加密而做出的确定的结果而发生的三种场景的表。具体实施方式以下详细描述参考随附的附图。在可能的无论什么情况下,相同的参考标号在附图和以下描述中被使用以指代相同或类似的部分。然而,要明确理解的是,附图仅仅用于图示和描述的目的。虽然在本文档中描述了若干示例,但是修改、适配和其它实现方式是可能的。因此,以下详细描述不限制所公开的示例。代替地,所公开的示例的恰当范围可以由所附权利要求限定。漏洞攻击包括缓冲器超限运行、基于堆栈的攻击以及恶意软件注入,所述漏洞攻击持续对计算系统构成威胁。这样的攻击是许多软件漏洞的基础并且可能被恶意利用。指令集随机化(ISR)寻求通过使每个过程的指令集随机化并且因而使攻击者对指令集的认知无效来保护计算系统。通过使用ISR,即使攻击者成功将恶意代码注入到应用中,恶意代码也将不能执行,因为它将不被理解(因为在ISR下的应用现在说“不同的语言”)。尽管指令可以通过使用ISR来被随机化,但是加密仍然是静态的。如果攻击者知道加密密钥,则攻击者可以容易地修改恶意代码来继续攻击。此外,当前的ISR解决方案未能与动态链接库(DLL)一起工作。它们与单个可执行文件或绑定到单个过程的静态链接库一起工作。DLL是在不同的可执行过程之间所使用的可执行代码的共享库。本文中所公开的示例通过以下来提供对这些技术问题的技术方案:响应于第一引导命令而获得基于随机化过程所生成的第一加密密钥;确定页面表的第一信息是否指示存储器页面意图是安全的,所述页面表存储了在存储器页面的虚拟地址和存储器页面的物理地址之间的映射;响应于确定了第一信息指示了存储器页面意图是安全的,确定页面表的第二信息是否指示存储器页面被加密;并且响应于确定了第二信息指示了存储器页面没有被加密,使用第一加密密钥来对物理存储器中的存储器页面进行加密。本文中使用的术语仅仅用于描述特定实施例的目的并且不意图是限制性的。如本文中所使用的,单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文清楚地另行指示。术语“多个”,如本文中所使用的,被定义为两个或多于两个。术语“另一个”,如本文中所使用的,被定义为至少第二个或更多的。术语“耦合的”,如本文中所使用的,被定义为连接的,无论是直接地没有任何居间元件还是间接地利用至少一个居间元件都是这样,除非另行指示。两个元件可以机械地、电气地耦合或通过通信信道、路径、网络或系统而通信地链接。如本文中所使用的术语“和/或”指代并且包括相关联的所列项中一个或多个的任何以及所有可能的组合。还将理解到,尽管术语第一、第二、第三等等可以在本文中被使用以描述各种元件,但是这些元件不应当被这些术语限制,因为这些术语仅仅用于区分一个元件与另一个,除非另行声明或上下文另行指示。图1是其中各种示例可以被实现为存储器中攻击预防系统110的示例性环境100。环境100可以包括各种组件,包括中央处理单元(CPU)芯片100和主存储器170。CPU芯片100可以包括处理器130(例如至少一个CPU核)、存储器管理单元(MMU)140、加密单元150和/或芯片上存储器160。MMU140可以负责处置由处理器所请求的存储器访问。由MMU140所执行的其它功能可以包括虚拟地址到物理地址的转换、存储器保护、高速缓存控制等等。在一些实现方式中,MMU140可以访问页面表145,所述页面表145存储在虚拟存储器页面到物理存储器(例如芯片上存储器160、芯片外存储器170等等)中的物理存储器页面之间的映射。加密单元150可以是执行数据的加密和/或解密的专用基于硬件的组件。加密单元150可以负责生成加密密钥和/或通过使用加密密钥来加密或解密数据。虽然各种组件被描绘为分离的组件,但是组件中的一些可以被集成到单个组件中。例如,加密单元150可以被集成在处理器130内以执行加密操作。存储器中攻击预防系统110可以包括加载指示引擎121、页面表访问引擎122、加密确定引擎123、加密密钥生成引擎124、加密引擎125、代码执行引擎126和/或其它引擎。术语“引擎”,如本文中所使用的,指代执行所指定功能的编程和硬件的组合。存储器中攻击预防系统110可以被实现在包括处理器130、MMU140、和/或加密单元150的硬件组件中的至少一个中。例如,每个引擎的硬件可以包括如图1中所图示的处理器130、MMU140、和/或加密单元150中的至少一个。如关于图3-4所图示的,每个引擎的硬件例如可以包括处理器和机器可读存储介质中的一个或二者,而编程是被存储在机器可读存储介质上并且通过处理器可执行以执行所指定功能的指令或代码。页面表145(或其一部分)可以被高速缓存在转换后备缓冲器(TLB)中,所述转换后备缓冲器(TLB)保持最近被使用过的页面表条目。页面表145是指定虚拟页面号和物理页面号之间的映射的数据结构。页面表145位于具有受限访问(例如仅仅可被操作系统访问)的存储装置中。芯片上存储器160(例如高速缓存存储器、静态随机存取存储器(SRAM)等等)可以被与处理器130自身集成到相同的计算机芯片(例如CPU芯片100)中。高速缓存存储器可以由计算机处理器(诸如处理器130)使用,以通过存储来自频繁使用的主存储器存储单元的数据的拷贝来减少平均存储器访问时间。高速缓存存储器可以用作处理器130和芯片外存储器170(例如动态随机存取存储器(DRAM))之间的接口。高速缓存存储器可以被组织为多个高速缓存级(例如L1、L2或L3高速缓存)的层级,其中高速缓存层级中的较高级比较低级包括更小和更快的存储器。图1中描绘的各种组件(例如组件130、140、145、150、160和/或170)可以经由通信线路(包括数据总线、地址总线、控制总线和/或其它通信线路)而耦合到至少一个其它组件。根据各种实现方式,本文中所描述的存储器中攻击预防系统110和各种组件可以被实现在硬件中和/或硬件与配置硬件的编程的组合中。此外,在图1和本文中所描述的其它图中,可以使用与所描绘的不同数目的组件或实体。加载指示引擎121可以在引导会话期间接收以下指示:代码集被加载到物理存储器页面的至少一部分中。所述“代本文档来自技高网...
存储器中攻击预防

【技术保护点】
一种用于通过计算设备执行以用于存储器中攻击预防的方法,所述方法包括:响应于第一引导命令而获得基于随机化过程所生成的第一加密密钥;确定页面表的第一信息是否指示存储器页面意图是安全的,所述页面表存储在存储器页面的虚拟地址和存储器页面的物理地址之间的映射;响应于确定了第一信息指示了存储器页面意图是安全的,确定页面表的第二信息是否指示存储器页面被加密;以及响应于确定了第二信息指示了存储器页面没有被加密,使用第一加密密钥来对物理存储器中的存储器页面进行加密。

【技术特征摘要】
【国外来华专利技术】1.一种用于通过计算设备执行以用于存储器中攻击预防的方法,所述方法包括:响应于第一引导命令而获得基于随机化过程所生成的第一加密密钥;确定页面表的第一信息是否指示存储器页面意图是安全的,所述页面表存储在存储器页面的虚拟地址和存储器页面的物理地址之间的映射;响应于确定了第一信息指示了存储器页面意图是安全的,确定页面表的第二信息是否指示存储器页面被加密;以及响应于确定了第二信息指示了存储器页面没有被加密,使用第一加密密钥来对物理存储器中的存储器页面进行加密。2.根据权利要求1所述的方法,还包括:响应于对物理存储器中的存储器页面进行加密,使得第二信息被更新以指示存储器页面被加密。3.根据权利要求1所述的方法,其中代码集在遵循第一引导命令的第一引导会话期间被加载到存储器页面的至少一部分中,此外包括:响应于确定了第二信息指示了存储器页面没有被加密,阻止处理器访问代码集直到存储器页面通过使用第一加密密钥被加密为止。4.根据权利要求1所述的方法,还包括:响应于第二引导命令而获得基于随机化过程所生成的第二加密密钥,其中代码集在遵循第二引导命令的第二引导会话期间被加载到存储器页面的至少一部分中;以及响应于确定了第二信息指示了存储器页面没有被加密,阻止处理器访问代码集直到存储器页面通过使用第二加密密钥被加密为止。5.根据权利要求1所述的方法,其中所述物理存储器是高速缓存存储器和主存储器中的至少一个。6.根据权利要求1所述的方法,其中所述页面表的至少一部分被高速缓存在耦合到存储器管理单元(MMU)的转换后备缓冲器(TLB)中。7.一种包括通过计算设备的处理器可执行以用于存储器中攻击预防的指令的非暂时性机器可读存储介质,所述机器可读存储介质包括:在第一引导会话期间接收以下指示:代码集被加载到物理存储器页面的至少一部分中;在页面表中标识与物理存储器页面对应的页面条目,其中所述页面条目将虚拟存储器页面映射到物理存储器页面;以及确定与页面条目相关联的加密字段是否指示了物理存储器页面被加密,其中响应于确定了所述加密字段指示了物理存储器页面没有被加密,阻止处理器访问代码集直到物理存储器页面通过使用对于第一引导会话而言是唯一的第一加密密钥被加密为止。8.根据权利要求7所述的非暂时性机器可读存储介质,其中第二加密密钥不同于第一加密密钥并且对第二引导会话而言是唯一的...

【专利技术属性】
技术研发人员:P·V·利
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国,US

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

1