Systems and methods for function pointer protection by function symbol encryption
AssigneeZeus SW Defender, LLC
InventorsChangwoo Pyo, Hyungyu Lee, Kyungtae Kim, Gyungho Lee
Life of this patent
Estimating the term…
Loading patent…
AssigneeZeus SW Defender, LLC
InventorsChangwoo Pyo, Hyungyu Lee, Kyungtae Kim, Gyungho Lee
Estimating the term…
An apparatus, method, and computer program product are provided for encrypting a function symbol with relocation. The apparatus includes a compiler module, a static linker module, and an encryptor module. The compiler module inserts sequences of instructions to decrypt function symbols to be randomized at runtime before indirect function calls. The compiler module inserts an instruction sequence at compile time to encrypt an operand register that receives a local function symbol in position-independent code (PIC), where a call or store instruction uses the register as an operand. The static linker module inserts an encoding section at link time. The encoding section includes two columns representing the sizes of function symbols in bits or bytes and the locations storing the function symbols to be encrypted at runtime. The encryptor module encrypts at runtime the function symbols whose sizes and stored memory locations are identified in the encoding section.
A method for protecting a function pointer by encrypting one or more function symbols, comprising steps of:
An apparatus for protecting a function pointer by encrypting one or more function symbols, the apparatus comprising:
A non-transitory computer-readable storage medium having instructions encoded thereon that, when executed by a computing device, causes the computing device to perform operations comprising steps of:
Dependencies are inferred from the claim text.