SECURITY AWARE NON-SPECULATIVE MEMORY
    1.
    发明申请

    公开(公告)号:US20190065405A1

    公开(公告)日:2019-02-28

    申请号:US16002872

    申请日:2018-06-07

    Abstract: Several features pertain to computing systems equipped to perform speculative processing and configured to access device memory (e.g. non-speculative or unspeculatable memory) and non-device memory (e.g. speculative or speculatable memory). Malicious attacks may seek to obtain sensitive information from such systems by exploiting speculative code execution. Herein, techniques are described whereby sensitive data is protected from such attacks by placing the data in a page of memory not ordinarily used as device memory, and then designating or marking the page as device memory (e.g. marking the page as unspeculatable). By designating the page as unspeculatable device memory, the processor does not speculatively access the sensitive information (e.g. speculation stops once a branch is invoked that would access the page) and so certain types of attacks can be mitigated. In some examples, additional malicious attack defenses or mitigations are performed such as address space un-mapping, address space layout randomization, or anti-replay-protection.

    CODE POINTER AUTHENTICATION FOR HARDWARE FLOW CONTROL
    2.
    发明申请
    CODE POINTER AUTHENTICATION FOR HARDWARE FLOW CONTROL 有权
    硬件流量控制代码指示器认证

    公开(公告)号:US20160110545A1

    公开(公告)日:2016-04-21

    申请号:US14517572

    申请日:2014-10-17

    CPC classification number: G06F21/56 G06F21/52 G06F21/554

    Abstract: Techniques for enforcing flow control of a software program in a processor are provided. An example method according to these techniques includes analyzing program code of the software program to identify a code pointer in the program code, generating an authentication tag based on the code pointer, and modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.

    Abstract translation: 提供了用于在处理器中执行软件程序的流控制的技术。 根据这些技术的示例性方法包括分析软件程序的程序代码以识别程序代码中的代码指针,基于代码指针生成认证标签,并用认证标签修改程序代码中的代码指针以产生 一个标记的代码指针。

    DYNAMICALLY GENERATED CODE PROCESS SANDBOXING USING AUTHENTICATED POINTERS

    公开(公告)号:US20190102540A1

    公开(公告)日:2019-04-04

    申请号:US16142611

    申请日:2018-09-26

    Abstract: A method is provided for safely executing dynamically generated code to avoid the possibility of an attack in unprotected memory space. Upon ascertaining that dynamically generated code is to be executed, a processing circuit and/or operating system kernel restrict the dynamically generated code to use a first memory region within an unprotected memory space, where the first memory region is distinct (e.g., reserved) from other memory regions used by other processes executed by the processing circuit. A first processing stack is maintained for the dynamically generated code within the first memory region. This first processing stack is separate from a general processing stack used by other processes executed by the processing circuit. A stack pointer is switched/pointed to the first processing stack when the dynamically generated code is executed and the stack pointer is switched/pointed to the general processing stack when the dynamically generated code ends.

    AUTHENTICATED CONTROL STACKS
    4.
    发明申请
    AUTHENTICATED CONTROL STACKS 有权
    认证控制堆

    公开(公告)号:US20160224784A1

    公开(公告)日:2016-08-04

    申请号:US14612067

    申请日:2015-02-02

    Abstract: A method of producing a control stack includes: writing a plurality of control information entries into a control stack buffer that is internal to a processor in response to one or more function calls; and in response to the control stack buffer being full and receiving a further function call, writing: the plurality of control information entries to an external memory that is external to the processor; and a further control information entry, corresponding to the further function call, to the control stack buffer.

    Abstract translation: 一种产生控制堆栈的方法包括:响应于一个或多个功能调用将多个控制信息条目写入处理器内部的控制堆栈缓冲器; 并且响应于所述控制堆栈缓冲器已满并接收另外的功能调用,将所述多个控制信息条目写入到处理器外部的外部存储器; 以及对应于进一步的功能调用的另一个控制信息条目提供给控制栈缓冲器。

Patent Agency Ranking