Method and apparatus for software integrity protection using timed executable agents
First Claim
1. A method for evaluating the security of at least one client, comprising:
- providing at least one executable program to be executed by said client, wherein said at least one executable program is one of a plurality of possible programs;
receiving a result from said at least one executable program; and
determining whether said client has been corrupted based on an evaluation of said result.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are disclosed for evaluating the security of at least one client. An executable program is executed by the client being evaluated. A result is received from the executable program and an evaluation of the result indicates whether the client has been corrupted. The executable program is one of a plurality of possible programs. The result may be evaluated based on an elapsed time between when the executable program is provided to the client and when the result is received. The executable program may include at least one function that writes to a memory of the client. A program blinding technique is also disclosed to generate executable programs.
-
Citations
31 Claims
-
1. A method for evaluating the security of at least one client, comprising:
-
providing at least one executable program to be executed by said client, wherein said at least one executable program is one of a plurality of possible programs;
receiving a result from said at least one executable program; and
determining whether said client has been corrupted based on an evaluation of said result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for evaluating the security of at least one client, comprising:
-
providing at least one executable program to be executed by said client, said at least one executable program including at least one function that writes to a memory of said client;
receiving a result from said at least one executable program; and
determining whether said client has been corrupted based on an evaluation of said result. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method for evaluating the security of at least one client, comprising:
-
providing at least one executable program to be executed by said client;
receiving a result from said at least one executable program;
determining whether said client has been corrupted based on an evaluation of said result; and
evaluating an elapsed time between when said at least one executable program is provided to said client and when said result is received. - View Dependent Claims (19, 20)
-
-
21. A method for generating a target program, comprising:
-
obtaining a first program; and
combining said first program with a random program to generate said target program, wherein said target program inherits one or more properties of said first program. - View Dependent Claims (22, 23)
-
-
24. An apparatus for evaluating the security of at least one client, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
provide at least one executable program to be executed by said client, wherein said at least one executable program is one of a plurality of possible programs;
receive a result from said at least one executable program; and
determine whether said client has been corrupted based on an evaluation of said result. - View Dependent Claims (25, 26, 27)
-
-
28. An apparatus for generating a target program, comprising:
-
a memory; and
at least one processor, coupled to the memory, operative to;
obtain a first program; and
combine said first program with a random program to generate said target program, wherein said target program inherits one or more properties of said first program. - View Dependent Claims (29, 30)
-
-
31. An article of manufacture for evaluating the security of at least one client, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
-
providing at least one executable program to be executed by said client, wherein said at least one executable program is one of a plurality of possible programs;
receiving a result from said at least one executable program; and
determining whether said client has been corrupted based on an evaluation of said result.
-
Specification