IP Library Granted Patent US 11,544,377
Granted Patent B2
US 11,544,377 · App. 17/017,048 · Granted Jan 3, 2023

Unsupervised graph similarity learning based on stochastic subgraph sampling

Inventors: Bo Zong (West Windsor, NJ); Haifeng Chen (West Windsor, NJ); Lichen Wang (Malden, MA)
G06F21/56G06K9/6215G06K9/6288G06K9/6296G06N3/049G06V10/751
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 11,544,377
App. No.
17/017,048
Granted
Jan 3, 2023
Kind
B2
Abstract

Methods and systems for detecting abnormal application behavior include determining a vector representation of a first syscall graph that is generated by a first application, the vector representation including a representation of a distribution of subgraphs of the first syscall graph. The vector representation of the first syscall graph is compared to one or more second syscall graphs that are generated by respective second applications to determine respective similarity scores. It is determined that the first application is behaving abnormally based on the similarity scores, and a security action is performed responsive to the determination that the first application is behaving abnormally.

Claims (25)

1. A method for detecting abnormal application behavior, comprising:

determining a vector representation of a first syscall graph that is generated by a first application, the vector representation including a representation of a distribution of subgraphs of the first syscall graph;

comparing the vector representation of the first syscall graph to one or more second syscall graphs that are generated by respective second applications to determine respective similarity scores;

determining that the first application is behaving abnormally based on the similarity scores; and

performing a security action responsive to the determination that the first application is behaving abnormally.

2. The method of claim 1 , wherein determining the vector representation of the first syscall graph includes sampling a plurality of sub-graphs from the first syscall graph.

3. The method of claim 2 , wherein sampling the plurality of sub-graphs from the first syscall graph includes performing a walk with earliest visit time.

4. The method of claim 2 , wherein determining the vector representation of the first syscall graph further includes encoding each of the plurality of sub-graphs as a vector.

5. The method of claim 4 , wherein encoding each of the plurality of sub-graphs as a vector uses an encoding function that is implemented as a recurrent neural network.

6. The method of claim 5 , wherein the recurrent neural network is trained using an autoencoder system.

7. The method of claim 4 , wherein determining the vector representation of the first syscall graph further includes fusing multiple subgraph vectors into a single vector representation for the first syscall graph.

8. The method of claim 1 , determining that the first application is behaving abnormally includes determining that the first application has a below-threshold similarity to the second applications.

9. The method of claim 1 , wherein the security action includes an action selected from the group consisting of terminating the first application, quarantining the first application, and performing a security analysis on the first application.

10. A system for detecting abnormal application behavior, comprising:

a hardware processor;

a memory, configured to store a computer program that, when executed by the hardware processor, is configured to implement a graph vector model that determines a vector representation of a first syscall graph that is generated by a first application, the vector representation including a representation of a distribution of subgraphs of the first syscall graph; and

a security console, configured to compare the vector representation of the first syscall graph to one or more second syscall graphs that are generated by respective second applications to determine respective similarity scores, to determine that the first application is behaving abnormally based on the similarity scores, and to perform a security action responsive to the determination that the first application is behaving abnormally.

11. The system of claim 10 , wherein the graph vector model is further configured to sample a plurality of sub-graphs from the first syscall graph.

12. The system of claim 11 , wherein the graph vector model is further configured to perform a walk with earliest visit time.

13. The system of claim 11 , wherein the graph vector model is further configured to encode each of the plurality of sub-graphs as a vector.

14. The system of claim 13 , wherein the graph vector model is further configured to use an encoding function that is implemented as a recurrent neural network.

15. The system of claim 14 , wherein the recurrent neural network is trained using an autoencoder system.

16. The system of claim 13 , wherein the graph vector model is further configured to fuse multiple subgraph vectors into a single vector representation for the first syscall graph.

17. The system of claim 10 , wherein the security console is further configured to determine that the first application has a below-threshold similarity to the second applications.

18. The system of claim 10 , wherein the security console is further configured to perform a security action that includes one or more actions selected from the group consisting of termination of the first application, quarantine of the first application, and a security analysis on the first application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2022
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 061715/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ZONG, BO; CHEN, HAIFENG; WANG, LICHEN
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 053736/0278 →
Continuity (2)
Provisional Application 62902997 · Sep 20, 2019
Related Publication 20210089652A1 · Mar 25, 2021