IP Library Granted Patent US 7,305,564
Granted Patent B2
US 7,305,564 · App. 10/248,130 · Granted Dec 4, 2007

System and method to proactively detect software tampering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,305,564
App. No.
10/248,130
Granted
Dec 4, 2007
Kind
B2
Abstract

Software intrusion is proactively detected using a dynamically evolving audit log wherein log entries are generated in the audit log and key values are evolved based upon a one-way function depending on both the previous log entry and the previous key. The audit log with the generated log entries and the final key value is transmitted to a clearinghouse that detects software intrusion by analyzing these values. In an effort to reduce the size of the log to be transmitted, the log entries are assigned identical values, thereby only needing to transmit one log entry and the last key value to the clearinghouse.

Claims (46)

1. A method for proactively detecting software intrusion using a dynamically evolving audit log, said method comprising the steps of:

a. generating log entries in said audit log, wherein said log entries are integrity check results based upon software executions;

b. evolving key values based upon a one-way function, said one way function depending on both a previous log entry and a previous key; and

c. transmitting said audit log with said generated log entries and a final key value to a clearinghouse that detects software intrusion in client side software by analyzing said log entries and said final key value.

2. A method as per claim 1 , wherein said integrity check includes a checksum computation on a section of software code.

3. A method as per claim 1 , wherein said log entries are identical in value.

4. A method as per claim 1 , wherein said audit log is limited in size whereby said log entries form an audit log that wraps around.

5. A method as per claim 1 , wherein previous keys are deleted after creation of next key value.

6. A method as per claim 1 , wherein said step of evolving keys is performed independently by said clearinghouse.

7. A method as per claim 1 , wherein said analysis by said clearinghouse includes reproducing a series of key values using said one-way function and comparing said series with keys factored into said tog entries.

8. A method as per claim 1 , wherein said evolution of key values occurs at said generating step.

9. A method as per claim 1 , wherein said evolution of key values occurs at said transmitting step.

10. A method as per claim 1 , wherein said keys have mathematically distinctive properties.

11. A method as per claim 1 , wherein said key values are stored in non-volatile memory.

12. A method as per claim 1 , wherein said transmission occurs periodically.

13. A method as per claim 1 , wherein said transmission occurs during software code execution.

14. A method as per claim 1 , wherein said clearinghouse detects software tampering if a threshold value of log entry anomalies has been exceeded.

15. An article of manufacture comprising a computer usable medium having computer readable program code embodied therein for aiding in proactively detecting software intrusion using a dynamically evolving audit log, said medium comprising:

a. computer readable program code generating log entries in said audit log, wherein said log entries are integrity check results based upon software executions;

b. computer readable program code evolving key values based upon a one-way function, said one way function depending on both previous log entry and previous key; and

c. computer readable program code aiding in the transmission of said audit log with said generated log entries and a final key value to a clearinghouse that detects software intrusion in client side software by analyzing said log entries and said final key value.

16. A method for proactively detecting software intrusion using a dynamically evolving audit log, said method comprising the steps of:

a. embedding integrity checks in software code;

b. generating log entries with an identical log entry value in said audit log;

c. evolving key values based upon a one-way function, said one way function depending on both said identical log entry value and previous key; and

d. transmitting said identical log entry value and final key value to a clearinghouse that detects software intrusion by analyzing said identical log entry value and final key value.

17. A method as per claim 16 , wherein said software code can include: web browser, sound card driver, game console program, Java applet, macro embedded in other digital content.

18. A method as per claim 17 , wherein said digital content comprises any of the following: image, music, video, or database files.

19. A method as per claim 16 , wherein said method further comprises the step of responding to detected tampering, said response comprising any of, or a combination of: disconnecting software code user, revoking software code user's device keys, refusing requests for additional content from software code user, increasing number and variety of types of integrity checks in software code or content sent to user, increasing frequency of periodic transmission of said audit log and final key, and advising a system administrator regarding said detected tampering.

20. A method as per claim 16 , wherein said audit log is limited in size whereby said log entries form an audit log that wraps around.

21. A method as per claim 16 , wherein said integrity checks include a checksum computation on a section of said software code.

22. A method as per claim 16 , wherein previous keys are deleted after creation of next key value.

23. A method as per claim 16 , wherein said step of evolving keys is performed independently by said clearinghouse.

24. A method as per claim 16 , wherein said analysis by said clearinghouse includes reproducing a series of key values using said one-way function and comparing said series with keys factored into said log entries.

25. A method as per claim 16 , wherein said evolution of key values occurs at said generating step.

26. A method as per claim 16 , wherein said evolution of key values occurs at said transmitting step.

27. A method as per claim 16 , wherein said keys have mathematically distinctive properties.

28. A method as per claim 16 , wherein said key values are stored in non-volatile memory.

29. A method as per claim 16 , wherein said transmission occurs periodically.

30. A method as per claim 16 , wherein said transmission occurs during software code execution.

31. A method as per claim 16 , wherein said clearinghouse detects software tampering if a threshold value of log entry anomalies has been exceeded.

32. An article of manufacture comprising a computer usable medium having computer readable program code embodied therein for aiding in proactively detecting software intrusion using a dynamically evolving audit log, said medium comprising:

a. computer readable program code embedding integrity checks in software code;

b. computer readable program code generating log entries with an identical log entry value in said audit log;

c. computer readable program code evolving key values based upon a one-way function, said one way function depending on both said identical log entry value and previous key; and

d. computer readable program code aiding in the transmission said identical log entry value and final key value to a clearinghouse that detects software intrusion in client side software by analyzing said identical log entry value and final key value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2010
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TREND MICRO INCORPORATED
Reel/Frame 024434/0302 →