IP Library Granted Patent US 9,542,535
Granted Patent B1
US 9,542,535 · App. 12/546,953 · Granted Jan 10, 2017

Systems and methods for recognizing behavorial attributes of software in real-time

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 9,542,535
App. No.
12/546,953
Granted
Jan 10, 2017
Kind
B1
Abstract

A computer-implemented method for recognizing behavioral attributes of software in real-time is described. An executable file is executed. One or more runtime events associated with a behavior of the executable file are traced. The one or more traced runtime events are translated to a high level language. A recognizable pattern of the translated traced runtime events is produced. The pattern is a unique behavioral set of the translated traced runtime events.

Claims (36)

1. A computer-implemented method for recognizing behavioral attributes of software in real-time, comprising:

executing an executable file;

tracing one or more non-sequential runtime events and a set of inter-related dynamic characteristics associated with the one or more non-sequential runtime events, the set of inter-related dynamic characteristics being associated with a behavior of the executable file, the one or more runtime events comprising a function call and abstract data types;

translating the one or more non-sequential traced runtime events and the set of inter-related dynamic characteristics from machine code to a high level language, the high level language comprising one or more labels written in human-readable text to describe the one or more traced non-sequential runtime events and the set of inter-related dynamic characteristics; and

producing a recognizable pattern of the translated traced non-sequential runtime events based at least in part on the set of inter-related dynamic characteristics, wherein the pattern comprises a unique behavioral set of the translated traced runtime events.

2. The method of claim 1 , further comprising distributing the recognizable pattern to one or more client terminals.

3. The method of claim 2 , wherein the recognizable pattern is distributed to the one or more client terminals via a web server.

4. The method of claim 1 , wherein the one or more non-sequential runtime events are traced using Application Programming Interface (API) calls.

5. The method of claim 1 , wherein the one or more non-sequential runtime events are traced using subroutine calls.

6. The method of claim 1 , wherein the high level language describes absolute memory locations of the one or more traced non-sequential runtime events.

7. The method of claim 1 , further comprising manually identifying non-sequential runtime events to translate to the high level language.

8. The method of claim 1 , further comprising automatically identifying non-sequential runtime events to translate to the high level language.

9. The method of claim 1 , wherein the method is implemented by a server.

10. A computer-implemented method for recognizing behavioral attributes of software in real-time, comprising:

receiving one or more recognizable patterns from a server, wherein the one or more patterns are associated with non-sequential runtime events and a set of inter-related dynamic characteristics of an executable file, the non-sequential runtime events and the set of inter-related dynamic characteristics being associated with a behavior of the executable file, and comprising a function call and abstract data types, the non-sequential runtime events of the executable file being translated from machine code to a high level language, the high level language comprising one or more labels written in human-readable text to describe the one or more traced non-sequential runtime events and the set of inter-related dynamic characteristics;

executing an unidentified executable file;

monitoring runtime events associated with the unidentified executable file;

associating the monitored runtime events with a recognizable pattern received from the server; and

identifying the unidentified executable file based on the recognizable pattern associated with the monitored runtime events, the recognizable pattern being based on the one or more labels.

11. The method of claim 10 , further comprising implementing kernel based components to monitor the runtime events of the unidentified executable file.

12. The method of claim 10 , further comprising identifying the unidentified executable file as a malicious executable file.

13. The method of claim 10 , further comprising identifying the unidentified executable file as a non-malicious executable file.

14. A server system configured to recognize behavioral attributes of software in real-time, comprising:

a processor;

memory in electronic communication with the processor;

the server configured to:

execute an executable file;

trace one or more non-sequential runtime events and a set of inter-related dynamic characteristics associated with the one or more non-sequential runtime events, the set of inter-related dynamic characteristics being associated with a behavior of the executable file, the one or more runtime events comprising a function call and abstract data types;

translate the one or more non-sequential traced runtime events and the set of inter-related dynamic characteristics from machine code to a high level language, the high level language comprising one or more labels written in human-readable text to describe the one or more traced non-sequential runtime events and the set of inter-related dynamic characteristics; and

produce a recognizable pattern of the translated traced non-sequential runtime events based at least in part on the set of inter-related dynamic characteristics, wherein the pattern comprises a unique behavioral set of the translated traced runtime events.

15. The system of claim 14 , wherein the server is further configured to distribute the recognizable pattern to one or more client terminals.

16. The system of claim 15 , wherein the recognizable pattern is distributed to the one or more client terminals via a web server.

17. The system of claim 14 , wherein the one or more non-sequential runtime events are traced using Application Programming Interface (API) calls.

18. The system of claim 14 , wherein the one or more non-sequential runtime events are traced using subroutine calls.

19. The system of claim 14 , wherein the high level language describes absolute memory locations of the one or more non-sequential traced runtime events.

20. The system of claim 14 , wherein the server is further configured to manually identify non-sequential runtime events to translate to the high level language.

Assignments (5)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jan 30, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051759/0845 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2009
From: BAUMGARTNER, KURTIS J.; BONEY, MATTHEW
To: SYMANTEC CORPORATION
Reel/Frame 023142/0314 →