EP3580680A1

Device and method for reinforcing control flow integrity of software application

Abstract

This record has no abstract on file.

Term

11.4 yearsto projected expiry

Projected expiry 26 February 2038, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

24 claims: 2 independent, 22 dependent

  1. 1
    Claims of equivalent WO 2018156085 A1 CLAIMS:1 . A device for reinforcing control flow integrity of a software application comprising: a processor;and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to: receive a first source code file for the software application whereby the first source code file comprises functions and indirect function calls;obtaining a first binary file which is generated from compiling the first source code and compiled indirect function call, associating a control flow integrity check function to the each compiled indirect function call in the first binary file such that the associated control flow integrity check function will be executed prior to the execution of the each compiled indirect function call;and adding a function, referred to in the each compiled indirect function call, to a reduced function table.
  2. 8
    The device according to any one of claims 4 to 7 wherein the runtime function table is stored in a protected non-transitory media readable by the processor.
  3. 9
    The device according to any one of claims 3 to 7 wherein the binary map is stored in a protected non-transitory media readable by the processor.
  4. 10
    The device according to any one of claims 1 to 7 wherein the indirect function calls comprise indirect function calls assigned as part of a data structure.
  5. 13
    A method for reinforcing control flow integrity of a software application using a computing device, the method comprising:receiving a first source code file for the software application whereby the first source code file comprises functions and indirect function calls;obtaining a first binary file which is generated from compiling the first source code and compiled indirect function call, associating a control flow integrity check function to the each compiled indirect function call in the first binary file such that the associated control flow integrity check function will be executed prior to the execution of the each compiled indirect function call;and adding a function, referred to in the each compiled indirect function call, to a reduced function table.
  6. 20
    The method according to any one of claims 16 to 19 wherein the runtime function table is stored in a protected non-transitory media readable by the processor.
  7. 21
    The method according to any one of claims 15 to 19 wherein the binary map is stored in a protected non-transitory media readable by the processor.
  8. 22
    The method according to any one of claims 13 to 19 wherein the indirect function calls comprise indirect function calls assigned as part of a data structure.