Dynamically generated code process sandboxing using authenticated pointers

    公开(公告)号:US11055402B2

    公开(公告)日:2021-07-06

    申请号: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.

    Increasing address space layout randomization entropy via page remapping and rotations

    公开(公告)号:US11386012B1

    公开(公告)日:2022-07-12

    申请号:US17201247

    申请日:2021-03-15

    Abstract: Various embodiments include methods and devices for generating a memory map configured to map virtual addresses of pages to physical addresses, in which pages of a same size are grouped into regions. The embodiments may include adding a first entry for a first additional page to a first region in the memory map, shifting virtual addresses of the first region to accommodate a shift of virtual addresses of the first region allocated for code by a sub-page granular shift amount, mapping shifted virtual addresses of the first entry for the first additional page to physical address mapped to a first lowest shifted virtually addressed page of the first region, and shifting the virtual addresses of the first region allocated for code by a sub-page granular shift amount, in which the virtual addresses of the first region allocated for code partially shift into the first entry for the first additional page.

    FINE GRAINED MEMORY PROTECTION TO THWART MEMORY OVERRUN ATTACKS
    3.
    发明申请
    FINE GRAINED MEMORY PROTECTION TO THWART MEMORY OVERRUN ATTACKS 审中-公开
    精细的内存保护,以防止内存超时攻击

    公开(公告)号:US20160313938A1

    公开(公告)日:2016-10-27

    申请号:US14696229

    申请日:2015-04-24

    Abstract: A way is provided to protect memory blocks from unauthorized access from executable instructions by defining various sets of instructions that are specifically bound to operate on defined memory blocks and inhibited from operating in other memory blocks. For instance, executable code may include a plurality of distinct read and write instructions where each read and/or write instruction is specific to one memory access tag from a plurality of different memory access tags. Memory blocks are also established and each memory block is associated with one of the plurality of different memory access tags. Consequently, if a first read and/or write instruction, associated with a first memory access tag, attempts to access a memory block associated with a different memory access tag, then execution of the first read and/or write instruction is inhibited or aborted.

    Abstract translation: 提供了一种方式来通过限定特定绑定以对定义的存储器块进行操作并禁止在其他存储器块中操作的各种指令集来保护存储器块免受未经授权的访问。 例如,可执行代码可以包括多个不同的读取和写入指令,其中每个读取和/或写入指令是特定于来自多个不同存储器访问标签的一个存储器访问标签。 还建立了存储器块,并且每个存储器块与多个不同的存储器访问标签中的一个相关联。 因此,如果与第一存储器访问标签相关联的第一读取和/或写入指令尝试访问与不同存储器访问标签相关联的存储器块,则禁止或中止第一读取和/或写入指令的执行。

    VIRTUALIZATION TECHNIQUES WITH REAL-TIME CONSTRAINTS

    公开(公告)号:US20200097646A1

    公开(公告)日:2020-03-26

    申请号:US16142353

    申请日:2018-09-26

    Abstract: Techniques for managing resources on computing device are provided. An example processor according to these techniques includes a resource management module (RMM) configured to be executed by the processor as an only privileged application on the processor such that the RMM has exclusive control over the allocation of memory resources utilized by the other applications executed by the processor and assignment of access permissions to the memory resources. The RMM is configured to manage the memory resources used by other applications executed by the processor, to group applications into logical compartments, and to enforce separation between the compartments such that resources associated with one compartment are inaccessible to another compartment. The processor may include a memory protection unit (MPU) configured to provide memory protection for memory utilized by the processor, and the RMM can be configured to dynamically configure the MPU regions to enforce separation between compartments.

    Code pointer authentication for hardware flow control
    6.
    发明授权
    Code pointer authentication for hardware flow control 有权
    用于硬件流控制的代码指针认证

    公开(公告)号:US09514305B2

    公开(公告)日:2016-12-06

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

Patent Agency Ranking