当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于隔离的密码强制执行能力制造技术

技术编号:20797435 阅读:57 留言:0更新日期:2019-04-06 11:02
本文公开了用于计算的装置。在实施例中,装置可以包括一个或多个处理器、存储器和编译器,编译器用于由一个或多个处理器操作以编译计算机程序。编译器可以包括一个或多个分析器,用于解析和分析计算机程序的生成指针或取消引用指针的源代码。编译器还可以包括耦合到一个或多个分析器的代码生成器,用于生成用于计算机程序的源代码的可执行指令,包括至少部分地基于分析的结果将附加的加密或解密可执行指令插入到计算机程序中,以对所述源代码的存储器访问操作进行认证。

Password Enforcement Ability for Isolation

A device for calculation is disclosed herein. In an embodiment, the device may comprise one or more processors, memory, and Compilers for compiling computer programs operated by one or more processors. A compiler may include one or more analyzers for parsing and analyzing the source code of a computer program's generated pointer or dereference pointer. The compiler may also include a code generator coupled to one or more analyzers for generating executable instructions for source code of a computer program, including inserting additional encryption or decryption executable instructions into the computer program based at least in part on the results of the analysis to authenticate the memory access operations of the source code.

【技术实现步骤摘要】
用于隔离的密码强制执行能力
本公开的实施例涉及计算领域,尤其涉及与用于引导和限制计算机程序的存储器访问的加密和解密指针(包括相关联的元数据)相关联的装置、方法和存储介质。
技术介绍
当软件应用运行在计算设备上时,处理器执行机器级指令,应用的高级源代码已经(例如,通过编译器)翻译成该机器级指令。特定处理器可以执行的预定义的机器级指令集合是处理器的指令集。处理器通常从存储器中获取与软件应用的功能相对应的机器级指令,并且然后执行指令。在软件应用执行期间,操作系统可以使用存储器分配机制将存储器分配给执行的进程。存储器分配机制分配存储器的量(例如,存储器位置的块,其中存储器位置的块的大小被指定为变元),并且返回指向已分配存储器的起始处的指针(例如,指针指向已分配存储器位置的块的起始处)。在一些上下文中,多个进程可以在计算设备的处理器上同时执行,并且每个进程可以对处理器的共享的存储器区域有访问权。恶意代码可能通过对手或对计算设备的攻击而被插入到高级源代码和机器中,以及可能其它的程序表示代码中。恶意代码可能试图访问该进程的原始源代码未曾试图访问或未曾有访问权的存储器区域(要么特定于单个进程要么由多本文档来自技高网...

【技术保护点】
1.一种用于计算的装置,包括:一个或多个处理器;存储器;以及由所述一个或多个处理器操作以编译计算机程序的编译器,其中,所述编译器包括:一个或多个分析器,用于解析和分析计算机程序的生成指针或取消引用指针的源代码;以及代码生成器,其耦合到所述一个或多个分析器,以生成针对所述计算机程序的源代码的可执行指令,包括至少部分地基于所述分析的结果,将附加的加密或解密可执行指令插入到所述计算机程序中,以对所述源代码的存储器访问操作进行认证。

【技术特征摘要】
2017.09.29 US 15/721,0821.一种用于计算的装置,包括:一个或多个处理器;存储器;以及由所述一个或多个处理器操作以编译计算机程序的编译器,其中,所述编译器包括:一个或多个分析器,用于解析和分析计算机程序的生成指针或取消引用指针的源代码;以及代码生成器,其耦合到所述一个或多个分析器,以生成针对所述计算机程序的源代码的可执行指令,包括至少部分地基于所述分析的结果,将附加的加密或解密可执行指令插入到所述计算机程序中,以对所述源代码的存储器访问操作进行认证。2.如权利要求1所述的装置,其中:附加的可执行指令包括:要在所述计算机程序的生成指针的任何源代码之后插入的加密指令;以及要在所述计算机程序的取消引用指针的任何源代码之前插入的解密指令。3.如权利要求2所述的装置,其中,所述加密指令和所述解密指令各自将保护域标识符(PDID)作为输入,所述保护域标识符(PDID)表示要加载到一个或多个处理器的运行时环境中以便执行所生成的指令的保护域(PD)。4.如权利要求2或3中的任一项所述的装置,其中,将分别的PD分派给要加载到所述运行时环境中的一个或多个应用中的每一个,所述一个或多个应用具有对共享的存储器区域的访问权。5.如权利要求2所述的装置,其中,当执行时,所述加密指令的输出包括至少部分加密的指针,并且所述指针包括授予对存储器位置的访问权的嵌入的元数据,并且其中,当所述至少部分加密的指针被输入到解密指令中并且成功执行所述解密指令时,获得要由所述计算机程序的源代码生成的对应指针。6.如权利要求5所述的装置,其中,所述解密指令的执行还需要密钥,所述密钥被分派给PD,其中,执行所述解密指令的应用由一个或多个处理器的运行时环境的根PD运行以执行所生成的指令。7.如权利要求6所述的装置,其中,所述密钥是以下中的选定的一个:用于加密跨多个预定义的时间间隔而持续的指针的第一密钥,或用于加密仅对单个预定义的时间间隔有效的指针的第二密钥。8.如权利要求7所述的装置,其中,所述密钥是所述第二密钥,并且其中,通过改变对于对所述至少部分加密的指针执行解密指令所需的所述密钥,在所述单个预定义的时间间隔过期时撤销对由所述加密的指针指示的所述存储器位置的访问权。9.如权利要求5-7中任一项所述的装置,其中,所述至少部分加密的指针包括三个字段:永久字段、对象大小字段、以及指针字段,并且其中:所述永久字段用于指示所述加密的指针是不会过期还是仅在单个预定义的时间间隔内有效,所述对象大小字段指定所述加密的指针授予访问权的所述存储器中的对象的大小,以及所述指针字段指定所述对象在所述存储器中的地址。10.如权利要求9所述的装置,其中,所述加密指令规定所述指针字段的只有一部分要被加密,所述部分包括所述指针字段的多个最高有效位。11.如权利要求10所述的装置,其中,所述对象大小字段和所述指针字段中的多个未加密位被合并到要用于解密所述至少部分加密的指针的调整信息中。12.如权利要求5-7中任一项所述的装置,还包括固定块大小密码,用于至少部分地加密所述至少部分加密的指针。13.如权利要求5-7中任一项所述的装置,其中,所述解密指令将所述至少部分加密的指针、生成所述指针的所述PD的PDID、以及调整信息作为输入,所述调整信息包括:所述PDID、所述对象大小字段、以及所述至少部分加密的指针的所述指针字段的未加密的预定义的数量的最低有效位。14.如权利要求2所述的装置,还包括:所述编译器的相关联的运行时管理器,用于在执行之前检查经编译的计算机程序的生成指针或取消引用指针的每个可执行指...

【专利技术属性】
技术研发人员:M·勒梅D·D·德拉姆M·张V·尚博格
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1