USRE47364E

Method and system for protecting against the execution of unauthorized software

Claim Score by NHIP

Read claim 1, the broadest

Abstract

In accordance with an embodiment of the present invention, a client device is protected against the execution of unauthorized software. The client includes a code authentication process that verifies the integrity of executable code, by generating and comparing a first hash value of the executable code with a known hash value of the original code. Furthermore, during boot-up, the client initializes a CPU exception vector table with one or more vector table entries. One or more, or all, of the vector table entries direct the CPU to execute the code authentication process prior to executing an event handler when an exception event occurs. Consequently, the code authentication process is virtually guaranteed to execute, thereby protecting against the execution of unauthorized code.

Term

Term ended

Expired 27 April 2026, 0.4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

20 claims: 3 independent, 17 dependent

  1. 1
    Broadest claimClaim Score 41, average(NHIP)A method for providing security on a client device, the method being performed by one or more processors and comprising:initializing an exception vector table, the exception vector table including comprising one or more vector table entries that each references a corresponding event handling routine that is used to process a corresponding exception event, wherein at least one vector table entry of the one or more vector table entries causes a code authentication process to be executed before a the corresponding event handling routine is executed;in response to detecting an the corresponding exception event associated with the at least one vector table entry of the one or more vector table entries , executing the code authentication process to authenticate a portion of executable code stored in a memory resource, the code authentication process determining whether the portion of the executable code is authorized or unauthorized ;and in response to the code authentication process determining that the portion of the executable code is authorized, executing an the corresponding event handling routine corresponding to the at least one vector table entry of the one or more vector table entries .
  2. 9
    A client device comprising:one or more memory resources;and one or more processing resources coupled to the one or more memory resources, the one or more processing resources configured to: initialize an exception vector table, the exception vector table including comprising one or more vector table entries that each references a corresponding event handling routine that is used to process a corresponding exception event, wherein at least one vector table entry of the one or more vector table entries causes a code authentication process to be executed before a the corresponding event handling routine is executed;in response to detecting an the corresponding exception event associated with the at least one vector table entry of the one or more vector table entries , execute the code authentication process to authenticate a portion of executable code stored in the one or more memory resources, the code authentication process determining whether the portion of the executable code is authorized or unauthorized ;and in response to the code authentication process determining that the portion of the executable code is authorized, execute an the corresponding event handling routine corresponding to the at least one vector table entry of the one or more vector table entries .
  3. 17
    A non-transitory computer readable medium storing instructions that, when executed by one or more processors, causes cause the one or more processors to perform steps comprising:initializing an exception vector table, the exception vector table including comprising one or more vector table entries that each references a corresponding event handling routine that is used to process a corresponding exception event, wherein at least one vector table entry of the one or more vector table entries causes a code authentication process to be executed before a the corresponding event handling routine is executed;in response to detecting an the corresponding exception event associated with the at least one vector table entry of the one or more vector table entries , executing the code authentication process to authenticate a portion of executable code stored in a memory resource, the code authentication process determining whether the portion of the executable code is authorized or unauthorized ;and in response to the code authentication process determining that the portion of the executable code is authorized, executing an the corresponding event handling routine corresponding to the at least one vector table entry of the one or more vector table entries .