IP Library › Granted Patent US 11,550,911
Granted Patent B2
US 11,550,911 · App. 16/779,268 · Granted Jan 10, 2023

Multi-representational learning models for static analysis of source code

Inventors: Brody James Kutt (Santa Clara, CA); William Redington Hewlett, II (Mountain View, CA); Oleksii Starov (Santa Clara, CA); Yuchen Zhou (Newark, CA); Fang Liu (Santa Clara, CA)
Assignee: Palo Alto Networks, Inc.
G06F21/563G06F8/42G06F8/75G06N20/00
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,550,911
App. No.
16/779,268
Granted
Jan 10, 2023
Kind
B2
Abstract

Techniques for multi-representational learning models for static analysis of source code are disclosed. In some embodiments, a system/process/computer program product for multi-representational learning models for static analysis of source code includes storing on a networked device a set comprising one or more multi-representation learning (MRL) models for static analysis of source code; performing a static analysis of source code associated with a sample received at the network device, wherein performing the static analysis includes using at least one stored MRL model; and determining that the sample is malicious based at least in part on the static analysis of the source code associated with the received sample, and in response to determining that the sample is malicious, performing an action based on a security policy.

Claims (38)

1. A system, comprising:

a processor configured to:

store on a networked device a set comprising one or more multi-representation learning (MRL) models for static analysis of source code;

perform a static analysis of source code associated with a sample received at the network device, wherein performing the static analysis includes using at least one stored MRL model, wherein the sample is associated with a file, and wherein the at least one stored MRL model is selected, from the set of one or more MRL models, based on a file type associated with the file; and

determine that the sample is malicious based at least in part on the static analysis of the source code associated with the received sample, and in response to determining that the sample is malicious, perform an action based on a security policy; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the processor is configured to enumerate the source code associated with the received sample.

3. The system of claim 1 , wherein the processor is configured to enumerate the source code associated with the received sample into a set of characters.

4. The system of claim 1 , wherein the processor is configured to enumerate the source code associated with the received sample into a set of characters and a set of tokens.

5. The system of claim 1 , wherein the processor is configured to enumerate the source code associated with the received sample into a set of characters, a set of tokens, and an Abstract Syntax Tree (AST).

6. The system of claim 1 , wherein the processor is further configured to determine a file type associated with the file.

7. The system of claim 1 , wherein the processor is further configured to receive at least one updated MRL model.

8. The system of claim 1 , wherein the processor is further configured to receive another MRL model for another programming language.

9. The system of claim 1 , wherein the processor is further configured to transmit a copy of the received file to a security platform and perform the n-gram analysis while awaiting a verdict from the security platform.

10. A method, comprising:

storing on a networked device a set comprising one or more multi-representation learning (MRL) models for static analysis of source code;

performing a static analysis of source code associated with a sample received at the network device, wherein performing the static analysis includes using at least one stored MRL model, wherein the sample is associated with a file, and wherein the at least one stored MRL model is selected, from the set of one or more MRL models, based on a file type associated with the file; and

determining that the sample is malicious based at least in part on the static analysis of the source code associated with the received sample, and in response to determining that the sample is malicious, performing an action based on a security policy.

11. The method of claim 10 , further comprising:

enumerating the source code associated with the received sample.

12. The method of claim 10 , further comprising:

enumerating the source code associated with the received sample into a set of characters.

13. The method of claim 10 , further comprising:

enumerating the source code associated with the received sample into a set of characters and a set of tokens.

14. The method of claim 10 , further comprising:

enumerating the source code associated with the received sample into a set of characters, a set of tokens, and an Abstract Syntax Tree (AST).

15. The method of claim 10 , further comprising:

determining a file type associated with the file.

16. The method of claim 10 , further comprising:

receiving at least one updated MRL model.

17. The method of claim 10 , further comprising:

receiving another MRL model for another programming language.

18. A computer program product embodied in a tangible computer readable storage medium and comprising computer instructions for:

storing on a networked device a set comprising one or more multi-representation learning (MRL) models for static analysis of source code;

performing a static analysis of source code associated with a sample received at the network device, wherein performing the static analysis includes using at least one stored MRL model, wherein the sample is associated with a file, and wherein the at least one stored MRL model is selected, from the set of one or more MRL models, based on a file type associated with the file; and

determining that the sample is malicious based at least in part on the static analysis of the source code associated with the received sample, and in response to determining that the sample is malicious, performing an action based on a security policy.

19. The computer program product recited in claim 18 , further comprising computer instructions for receiving at least one updated MRL model.

20. The computer program product recited in claim 18 , further comprising computer instructions for receiving another MRL model for another programming language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2020
From: KUTT, BRODY JAMES; HEWLETT II, WILLIAM REDINGTON; STAROV, OLEKSII; ZHOU, YUCHEN; LIU, FANG
To: PALO ALTO NETWORKS, INC.
Reel/Frame 052054/0191 →
Continuity (1)
Related Publication 20210240825A1 · Aug 5, 2021
Cited By (2)
US 12,261,853 US 12,609,962