IP Library Granted Patent US 11,962,606
Granted Patent B2
US 11,962,606 · App. 16/161,110 · Granted Apr 16, 2024

Protecting serverless applications

Inventors: Avraham Shulman (Tel Aviv, IL); Ory Segal (Tel Aviv, IL); Shaked Yosef Zin (Tel Aviv, IL)
Assignee: Twistlock Ltd.
H04L63/1425H04L63/029H04L63/1416
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,962,606
App. No.
16/161,110
Granted
Apr 16, 2024
Kind
B2
Abstract

A system and methods for protecting a serverless application, the system including: (a) a serverless application firewall configured to inspect input of the serverless function so as to ascertain whether the input contains malicious, suspicious or abnormal data; and (b) a behavioral protection engine configured to monitor behaviors and actions of the serverless functions during execution thereof.

Claims (58)

1. A method comprising:

based on detection of an event that is a trigger for a serverless function, an application firewall inspecting input for the serverless function prior to execution of the serverless function to determine whether the input contains unsafe data, wherein the serverless function and the application firewall are in a same runtime environment and wherein inspecting the input to determine whether the input contains unsafe data comprises determining whether the input conforms to a profile of normal input built from samples collected from past events determined to have safe data;

based on a determination that the input does not contain unsafe data, allowing the serverless function to execute with the input and collecting sample data from the event; and

based on a determination that the input includes unsafe data that is malicious or abnormal, raising a security action.

2. The method of claim 1 , wherein raising a security action includes one or more of:

raising an alert,

preventing the serverless function from executing,

removing said malicious data from said input,

raising an exception in code of the serverless function,

generating a log entry of detection of said malicious data, and

generating forensic information related to execution of the serverless function.

3. The method of claim 1 , wherein said application firewall inspects said input at an application layer.

4. The method of claim 1 , wherein the application firewall inspecting said input comprises the application firewall classifying an event message of the event and parsing the event message based on an event type determined from the classifying.

5. The method of claim 1 , wherein the application firewall inspecting the input comprises the application firewall decoding encoded fields after parsing an event message of said event.

6. The method of claim 1 , wherein the application firewall inspecting said input comprises the application firewall clearing fields in said event which do not affect execution of the serverless function.

7. The method of claim 1 , further comprising:

updating the profile of normal input based, at least in part, on the collected sample data.

8. The method of claim 7 , further comprising extrapolating acceptable parameters based on statistical analysis of the sample data and additional sample data collected from other events over time for which no unsafe data was detected and building the profile of normal input based on the acceptable parameters, wherein updating said profile of normal input is also based, at least in part, on the acceptable parameters.

9. The method of claim 1 , further comprising:

the application firewall inspecting function output data from the serverless function to determine whether the function output data is acceptable; and

blocking communication of the function output data to a caller of the serverless function based on a determination that the function output data is not acceptable.

10. The method of claim 1 further comprising:

based on the serverless function being allowed to execute, inserting security sensors into the runtime environment to monitor execution behavior of the serverless function; and

raising a security action if unsafe or abnormal execution behavior is detected.

11. The method of claim 10 further comprising building a normal execution behavior profile based partly on monitored execution behavior of the serverless function if the serverless function executes with the input to completion without unsafe or abnormal behavior.

12. The method of claim 1 further comprising:

based on a determination that the input includes safe and unsafe data, allowing the serverless function to execute with the safe data and raising a security action for the unsafe data.

13. A non-transitory computer-readable medium having program code for an application firewall stored thereon, the application firewall program code comprising instructions to:

based on detection of an event that is a trigger for a serverless function, inspect input for the serverless function prior to execution of the serverless function to determine whether said input contains unsafe data, wherein the serverless function and the application firewall program code are in a same runtime environment and wherein the instructions to inspect the input to determine whether the input contains unsafe data comprise instructions to determine whether the input conforms to a profile of normal input built from samples collected from past events determined to have safe data;

based on a determination that the input does not contain unsafe data, allow the serverless function to execute with the input and collect sample data from the event; and

based on a determination that the input includes unsafe data that is malicious, raise a security action.

14. The non-transitory computer-readable medium of claim 13 , wherein the program code further comprises at least one of:

instructions to determine whether the event conforms to a normal event profile, wherein the instructions to allow the serverless function to execute with the input also allow the serverless function to execute with the input based on a determination that the event conforms to the normal event profile;

instructions to determine whether the input includes data indicated in a white list, wherein the instructions to allow the serverless function to execute with the input also allow the serverless function to execute with the data indicated in the white list; and

instructions to determine whether the input includes data indicated in a black list, wherein the instructions to raise a security action also raise a security action if the input is determined to include data indicated in the black list.

15. The non-transitory computer-readable medium of claim 13 , wherein the program code further comprises instructions to:

inspect output from the serverless function executing with the input to determine whether the output is acceptable; and

prevent communicating of the output to a caller of the serverless function if the output is determined to not be acceptable.

16. A system comprising:

a processor;

one or more machine-readable media having program code for a serverless function and program code for an application firewall stored thereon, the program code for the application firewall executable by the processor to cause the system to,

based on detection of an event that is a trigger for the serverless function, inspect input for the serverless function to determine whether the input contains unsafe data, wherein the application firewall and the serverless function are in a same runtime environment and wherein the program code to inspect the input to determine whether the input contains unsafe data comprises the program code executable by the processor to cause the system to determine whether the input conforms to a profile of normal input built from samples collected from past events determined to have safe data;

based on a determination that the input does not contain unsafe data, allow the serverless function to execute with the input and collect sample data from the event; and

based on a determination that the input includes unsafe data that is malicious or abnormal, raise a security action.

17. The system of claim 16 , wherein the machine-readable media further has program code for execution behavior monitoring that is executable by the processor to cause the system to:

based on a determination by the application firewall that the input includes unsafe data that is suspicious, insert security sensors into the runtime environment and apply a more strict security policy for this execution of the serverless function to monitor execution behavior of the serverless function; and

raise a security action if unsafe or abnormal execution behavior is detected at least according to the applied security policy.

18. The system of claim 17 , wherein the machine-readable media further has program code executable by the processor to cause the system to build a normal execution behavior profile based partly on monitored execution behavior of the serverless function if the serverless function executes with the input to completion without detection of unsafe or abnormal behavior.

19. The system of claim 16 , wherein the program code for the application firewall is further executable by the processor to cause the system to:

based on a determination that the input includes safe and unsafe data, allow the serverless function to execute with the safe data and raise a security action for the unsafe data.

20. The system of claim 16 , wherein the program code for the application firewall is executable by the processor to cause the system to at least one of:

determine whether the event conforms to a normal event profile, wherein the program code for the application firewall to allow the serverless function to execute with the input is also executable to allow the serverless function to execute with the input based on a determination that the event conforms to the normal event profile;

determine whether the input includes data indicated in a white list, wherein the program code for the application firewall to allow the serverless function to execute with the input is also executable to allow the serverless function to execute with the data indicated in the white list; and

determine whether the input includes data indicated in a black list, wherein the program code for the application firewall to raise a security action is also executable to raise a security action if the input is determined to include data indicated in the black list.

21. The system of claim 16 , wherein the program code for the application firewall is further executable by the processor to cause the system to:

inspect output from the serverless function executing with the input to determine whether the output is acceptable; and

prevent communicating of the output to a caller of the serverless function if the output is determined to not be acceptable.

22. The system of claim 21 , wherein the program code for the application firewall being executable to inspect output from the serverless function executing with the input to determine whether the output is acceptable comprises the program code being executable to inspect the output to determine whether the output is sensitive information.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2024
From: TWISTLOCK LTD.
To: PALO ALTO NETWORKS, INC.
Reel/Frame 068685/0195 →
MERGER Recorded May 22, 2020
From: PURESEC LTD.
To: TWISTLOCK LTD.
Reel/Frame 052730/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2018
From: SHULMAN, AVRAHAM; SEGAL, ORY; ZIN, SHAKED
To: PURESEC LTD.
Reel/Frame 047171/0173 →
Continuity (2)
Provisional Application 62652320 · Apr 4, 2018
Related Publication 20190312899A1 · Oct 10, 2019
Cited By (3)
US 12,585,657 US 12,587,546 US 12,694,146