Patent ID: 9639671
Date: 2017-05-02
CPC Classifications: G06F

Claim:
1. A method to facilitate secure execution of an executable comprising an encrypted instruction, the method comprising: obtaining, by a processor, the encrypted instruction; decrypting, by the processor, the encrypted instruction to obtain a decrypted instruction, the decrypting using a decryption key being maintained in a secure location within the processor; storing, by the processor, the decrypted instruction to a secure storage for execution, the secure storage comprising a cache of the processor and the secure storage having execute-only permissions applied thereto based on permissions of a backing page of main memory, the backing page of memory being a backing page of main memory for the portion of the cache, the backing page of main memory including a caching type of write-through, wherein storing the decrypted instruction to the secure storage comprises storing the decrypted instruction to a portion of the cache and to the backing page of main memory, and the decryption key remaining in the secure location within the processor during the decrypting and the storing to facilitate maintaining security of the decryption key; and executing, by the processor, based on decrypting the encrypted instruction and storing the decrypted instruction to the backing page of memory, an instruction to overwrite the decrypted instruction stored in the backing page of main memory, wherein the executing the instruction by the processor to overwrite the decrypted instruction overwrites the decrypted instruction in the backing page of main memory with a faulting instruction configured to cause a fault based on an attempted execution of the faulting instruction.