PROCESSORS, METHODS, SYSTEMS, AND INSTRUCTIONS TO PROTECT SHADOW STACKS

    公开(公告)号:EP3800546A1

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

    申请号:EP20209381.1

    申请日:2016-05-26

    申请人: Intel Corporation

    IPC分类号: G06F9/30 G06F21/52 G06F12/14

    摘要: Embodiments of the subject disclosure provide a processor and a system. The processor comprises: a shadow stack pointer, SSP, register, the SSP register to store a first SSP to identify a top of a first currently active shadow stack; a decode unit to decode a shadow stack protection instruction, the shadow stack protection instruction to indicate a second SSP, the second SSP to identify a top of a second shadow stack that the shadow stack protection instruction is attempting to switch to; and an execution unit coupled with the decode unit. The execution unit, in response to the shadow stack protection instruction, is to: perform one or more security checks, including to determine whether the second SSP indicated by the shadow stack protection instruction matches an SSP stored on the second shadow stack; if at least one of the security checks fail: not store the second SSP to the SSP register; and cause an exception; and if all of the security checks succeed: compromise the SSP stored on the second shadow stack; and store the second SSP to the SSP register.

    INSTRUCTIONS FOR WRITE AND/OR READ OF CONTROL AND/OR STATUS REGISTERS

    公开(公告)号:EP4439283A1

    公开(公告)日:2024-10-02

    申请号:EP23209505.9

    申请日:2023-11-13

    申请人: Intel Corporation

    IPC分类号: G06F9/30

    摘要: Techniques for allowing a control and/or status register to be read or written to in a user privilege level are described. An example of an instruction for user privilege read is to include one or more fields for an opcode, one or more fields for a source operand that is to store a control and/or status register address, and one or more fields for a destination register operand, wherein the opcode is to indicate that execution circuitry is to read data from the control and/or status register whose identity is stored in the source operand and write the data in the destination register operand responsive to access to the control and/or status register being allowed, wherein access to the control and/or status register is at least in part determined by data of an operating system controlled data structure indexed by the control and/or status register address.

    CIRCUITRY AND METHODS FOR IMPLEMENTING CAPABILITIES USING NARROW REGISTERS

    公开(公告)号:EP4198716A1

    公开(公告)日:2023-06-21

    申请号:EP22206017.0

    申请日:2022-11-08

    申请人: Intel Corporation

    IPC分类号: G06F9/30 G06F9/35

    摘要: Systems, methods, and apparatuses for implementing capabilities using narrow registers are described. In certain examples, a hardware processor core comprises a capability management circuit to check a capability for a memory access request, the capability comprising an address field, a validity field, and a bounds field that is to indicate a lower bound and an upper bound of an address space to which the capability authorizes access; a decoder circuit to decode a single instruction into a decoded single instruction, the single instruction comprising fields to indicate a memory address that stores the capability and a single destination register, and an opcode to indicate that an execution circuit is to load a first proper subset of the capability from the memory address into the single destination register and load a second proper subset of the capability from the memory address into an implicit second destination register; and the execution circuit to execute the decoded single instruction according to the opcode.