IP Library Granted Patent US 8,522,085
Granted Patent B2
US 8,522,085 · App. 12/694,806 · Granted Aug 27, 2013

Learning program behavior for anomaly detection

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 8,522,085
App. No.
12/694,806
Granted
Aug 27, 2013
Kind
B2
Abstract

A computer-enabled method of learning the behavior of a program. A processor can execute a target program during a learning interval while varying a plurality of stimuli provided to the target program so as to produce a multiplicity of different sequences of events which differ in combinations of types of events in respective sequences, orders in which the types of events occur in respective sequences, or in the combinations and in the orders in which the types of events occur. The multiplicity of event sequences can be recorded, and a second program can be executed by a processor to: determine a plurality of clusters based on similarities between the event sequences in their entirety; and determine a plurality of signatures corresponding to the plurality of clusters. Each signature can be the longest common subsequence of all sequences in the respective cluster and thus representative of the cluster. In such method, each of the plurality of signatures can be a benchmark representative of acceptable behavior of the target program.

Claims (34)

1. A computer-enabled method of learning behavior of a program, comprising:

(a) using a processor to execute a target program during a learning interval while varying a plurality of stimuli provided to the target program, the stimuli affecting execution of the target program, so as to produce a multiplicity of different sequences of events, the event sequences differing in combinations of types of events in respective sequences, orders in which the types of events occur in respective sequences, or in the combinations and in the orders in which the types of events occur;

(b) recording the multiplicity of event sequences; and

(c) executing a second program by a processor to: (i) determine a plurality of clusters based on similarities between the recorded event sequences in their entirety; and (ii) determine a plurality of signatures corresponding to the plurality of clusters, each signature being a sequence of events representative of a respective cluster,

wherein each of the plurality of signatures is a benchmark representative of acceptable behavior of the target program.

2. A method as claimed in claim 1 , wherein step (c) is performed using spatial clustering.

3. A method as claimed in claim 1 , wherein the determination of each signature includes determining a longest common subsequence of events included in each event sequence in the respective cluster as the signature for each respective cluster.

4. A method as claimed in claim 1 , wherein step (c) includes finding event subsequences which are repeated in at least ones of the event sequences and generating linearized event sequences representative of the repeated subsequences therein, and wherein the determining of the clusters in step (c) includes determining the clusters based on the linearized event sequences and the recorded event sequences.

5. A method as claimed in claim 4 , wherein the finding of the repeated event subsequences includes inferring state information regarding the target program by analyzing at least some of the recorded event sequences, at least some of the linearized event sequences, or at least some of the recorded event sequences and at least some of the linearized event sequences.

6. A method as claimed in claim 1 , wherein step (b) includes recording said event sequences in their entirety and step (c) is performed considering the entireties of said event sequences.

7. A method as claimed in claim 1 , further comprising:

(d) further executing the target program during an in-service interval after performing steps (a) through (c), and detecting whether a given sequence of events is anomalous based on a difference between the given sequence of events and each of the cluster signatures.

8. A method as claimed in claim 7 , wherein the detected degree of difference is based on edit distance between the given sequence of events and the plurality of signatures.

9. A method as claimed in claim 8 , wherein each cluster is representative of a distribution of edit distances from the signature of each cluster, the distribution having a plurality of quantiles extending outward from the signature, and the detecting of whether a given event sequence is anomalous includes determining in which quantile of the distribution the given event sequence occurs.

10. An information processing apparatus, comprising:

a processor; and

instructions executable by the processor to perform a method, the method including:

(a) the use of a processor to execute a target program during a learning interval while varying a plurality of stimuli provided to the target program so as to produce a multiplicity of different sequences of events, the event sequences differing in combinations of types of events in respective sequences, orders in which the types of events occur in respective sequences, or in the combinations and in the orders in which the types of events occur;

(b) recording the multiplicity of event sequences;

(c) executing a second program by a processor to: (i) determine a plurality of clusters based on similarities between the event sequences in their entirety; and (ii) determine a plurality of signatures corresponding to the plurality of clusters, each signature being a sequence of events representative of a respective cluster,

wherein each of the plurality of signatures is a benchmark representative of acceptable behavior of the target program.

11. An information processing apparatus as claimed in claim 10 , wherein step (a) includes varying the stimuli only in the multiplicity of ways exemplary of acceptable stimuli to produce only event sequences representative of acceptable behavior.

12. An information processing apparatus as claimed in claim 10 , wherein the determination of each signature in step (c) includes determining a longest common subsequence of events included in each event sequence in the respective cluster as the signature for each respective cluster.

13. An information processing apparatus as claimed in claim 10 , wherein step (c) of the method includes finding event subsequences which are repeated in at least ones of the event sequences and generating linearized event sequences representative of the repeated subsequences therein, and wherein the determining of the clusters is performed using linearized event sequences.

14. An information processing apparatus as claimed in claim 13 , wherein the finding of the repeated event subsequences includes inferring state information regarding the target program by analyzing the recorded event sequences.

15. A non-transitory computer-readable storage medium, the storage medium having a set of instructions recorded thereon, the instructions being executable by a processor to perform a method, the method including:

(a) using a processor to execute a target program during a learning interval while varying a plurality of stimuli provided to the target program, the stimuli affecting results of executing the target program so as to produce a multiplicity of different sequences of events, the event sequences differing in combinations of types of events in respective sequences, orders in which the types of events occur in respective sequences, or in the combinations and in the orders in which the types of events occur;

(b) recording the multiplicity of event sequences;

(c) executing a second program by a processor to: (i) determine a plurality of clusters based on similarities between the event sequences in their entirety; and (ii) determine a plurality of signatures corresponding to the plurality of clusters, each signature being a sequence of events representative of a respective cluster,

wherein each of the plurality of signatures is a benchmark representative of acceptable behavior of the target program.

16. A computer-readable storage medium as claimed in claim 15 , wherein step (a) of the method includes varying the stimuli only in the multiplicity of ways exemplary of acceptable stimuli to produce only event sequences representative of acceptable behavior.

17. A computer-readable storage medium as claimed in claim 15 , wherein step (c) of the method includes determining a longest common subsequence of events included in each event sequence in the respective cluster as the signature for each respective cluster.

18. A computer-readable storage medium as claimed in claim 15 , wherein step (c) of the method includes finding event subsequences which are repeated in at least ones of the event sequences and generating linearized event sequences representative of the repeated subsequences therein, and wherein the determining of the clusters in step (c) includes determining the clusters based on the linearized event sequences and the recorded event sequences.

19. A computer-readable storage medium as claimed in claim 15 , wherein the finding of the repeated event subsequences includes inferring state information regarding the target program by analyzing recorded event sequences.

Assignments (12)
FIRST LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056168/0001 →
SECOND LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 056168/0378 →
CHANGE OF NAME Recorded Jan 15, 2019
From: VENCORE LABS, INC.
To: PERSPECTA LABS INC.
Reel/Frame 048602/0956 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2018
From: UBS AG, STAMFORD BRANCH
To: VENCORE, INC.; VENCORE LABS, INC. (F/K/A TT GOVERNMENT SOLUTIONS, INC.); VENCORE SERVICES AND SOLUTIONS, INC. (F/K/A QINETIQ NORTH AMERICA, INC.); WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
Reel/Frame 045992/0873 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2018
From: UBS AG, STAMFORD BRANCH
To: VENCORE, INC.; VENCORE LABS, INC. (F/K/A TT GOVERNMENT SOLUTIONS, INC.); VENCORE SERVICES AND SOLUTIONS, INC. (F/K/A QINETIQ NORTH AMERICA, INC.); WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
Reel/Frame 045992/0948 →
CHANGE OF NAME Recorded Mar 24, 2015
From: TT GOVERNMENT SOLUTIONS, INC.
To: VENCORE LABS, INC.
Reel/Frame 035306/0946 →
SECURITY INTEREST Recorded May 23, 2014
From: THE SI ORGANIZATION, INC.; TT GOVERNMENT SOLUTIONS, INC.; QINETIQ NORTH AMERICA, INC.; WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
To: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AGENT
Reel/Frame 033012/0626 →
SECURITY INTEREST Recorded May 23, 2014
From: THE SI ORGANIZATION, INC.; TT GOVERNMENT SOLUTIONS, INC.; QINETIQ NORTH AMERICA, INC.; WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
To: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AGENT
Reel/Frame 033012/0602 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 030747 FRAME 0733) Recorded May 23, 2014
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: TT GOVERNMENT SOLUTIONS, INC.
Reel/Frame 033013/0163 →
SECURITY AGREEMENT Recorded Jul 3, 2013
From: TT GOVERNMENT SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030747/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2013
From: TELCORDIA TECHNOLOGIES, INC.
To: TT GOVERNMENT SOLUTIONS, INC.
Reel/Frame 030534/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2010
From: AGRAWAL, HIRALAL; BEHRENS, CLIFFORD; DASARATHY, BALAKRISHNAN
To: TELCORDIA TECHNOLOGIES, INC.
Reel/Frame 024265/0727 →