IP Library Granted Patent US 12,225,013
Granted Patent B2
US 12,225,013 · App. 18/353,238 · Granted Feb 11, 2025

Securing application behavior in serverless computing

Inventors: Ory Segal (Tel Aviv, IL); Yuri Shapira (Holon, IL); Avraham Shulman (Tel Aviv, IL); Benny Nissimov (Givataim, IL); Shaked Zin (Tel Aviv-Jaffa, IL)
Assignee: Palo Alto Networks, Inc.
H04L63/10G06N5/04G06N20/00H04L9/3247H04L63/20
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 12,225,013
App. No.
18/353,238
Granted
Feb 11, 2025
Kind
B2
Abstract

A method for securing a serverless application including: (a) receiving a list of components which make up the serverless application and one or more intended usage flows of the serverless application; (b) creating and applying a security policy for each component of the serverless application, the security policy denying all access requests except from authorized components, wherein the authorized components are selected based on access requirements dictated by the one or more intended usage flows.

Claims (31)

1. A method comprising:

determining components of a serverless application;

learning intended behavior of the serverless application, wherein learning intended behavior of the serverless application comprises determining a set of one or more usage flows among the components of the serverless application; and

creating a set of one or more security policies to restrict behavior of the serverless application to the intended behavior, wherein creating the set of one or more security policies is based, at least in part, on the set of one or more usage flows.

2. The method of claim 1 , wherein determining the set of one or more usage flows comprises at least one of observing runtime application behavior of the serverless application with instrumentation and analyzing application log files.

3. The method of claim 1 , wherein learning the intended behavior of the serverless application is while running the serverless application during an initial or calibration phase.

4. The method of claim 1 , wherein the set of security policies comprise at least one runtime protection policy and at least one identity and access management policy.

5. The method of claim 4 , wherein enforcing the runtime protection policy comprises verifying that order-sequence identifiers added to data and/or events of the serverless application conform to one of the set of usage flows.

6. The method of claim 1 , wherein the components of the serverless application comprise a serverless function and a resource.

7. The method of claim 6 , wherein the components further comprise at least one of a cloud service, a security permission, and a configuration file.

8. The method of claim 1 , wherein creating the set of one or more security policies comprises creating at least one security policy for each component that is a serverless function and each component that is a resource, based on the set of usage flows.

9. The method of claim 1 , wherein a usage flow indicates at least one invocation of at least one serverless function and/or at least one access of at least one resource.

10. A non-transitory, machine-readable medium having program code stored thereon, the program code comprising instructions to:

determine components of a serverless application;

learn intended behavior of the serverless application, wherein the instructions to learn intended behavior of the serverless application comprise instructions to determine a set of one or more usage flows among the components of the serverless application; and

create a set of one or more security policies to restrict behavior of the serverless application to the intended behavior, wherein creation of the set of one or more security policies is based, at least in part, on the set of one or more usage flows.

11. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to determine the set of one or more usage flows comprise at least one of instructions to observe runtime application behavior of the serverless application and instructions to analyze application log files.

12. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to learn the intended behavior of the serverless application comprise instructions to run the serverless application in an initial or calibration phase.

13. The non-transitory, machine-readable medium of claim 10 , wherein the set of security policies comprise at least one runtime protection policy and at least one identity and access management policy.

14. The non-transitory, machine-readable medium of claim 13 further comprising instructions to verify that order-sequence identifiers added to data and/or events of the serverless application conform to one of the set of usage flows for enforcement of the runtime protection policy.

15. The non-transitory, machine-readable medium of claim 10 , wherein the components of the serverless application comprise a serverless function and a resource and wherein a usage flow indicates at least one invocation of at least one serverless function and/or at least one access of at least one resource.

16. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to create the set of one or more security policies comprise instructions to create at least one security policy for each component that is a serverless function and each component that is a resource, based on the set of usage flows.

17. An apparatus comprising:

a processor; and

a machine-readable medium having instructions stored thereon that are executable by the processor to cause the apparatus to,

determine components of a serverless application;

learn intended behavior of the serverless application, wherein the instructions to learn intended behavior of the serverless application comprise instructions to determine a set of one or more usage flows among the components of the serverless application; and

create a set of one or more security policies to restrict behavior of the serverless application to the intended behavior, wherein creation of the set of one or more security policies is based, at least in part, on the set of one or more usage flows.

18. The apparatus of claim 17 , wherein the machine-readable medium further has stored thereon instructions executable by the processor to cause the apparatus to: associate cryptographic keys with a first of the components that accesses data generated by a second of the components, wherein the instructions to create the security policies comprise instructions executable by the processor to cause the apparatus to include the cryptographic keys in the security policies of the first and second components for the second component to digitally sign data generated by the second component and the first component to validate the cryptographic signature and corresponding data.

19. The apparatus of claim 17 , wherein the instructions to determine the set of one or more usage flows comprise at least one of instructions to observe runtime application behavior of the serverless application and instructions to analyze application log files.

20. The apparatus of claim 17 , wherein the instructions to create the set of one or more security policies comprise instructions executable by the processor to cause the apparatus to create at least one security policy for each component that is a serverless function and each component that is a resource, based on the set of usage flows.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2024
From: TWISTLOCK LTD.
To: PALO ALTO NETWORKS, INC.
Reel/Frame 068685/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2023
From: SEGAL, ORY; SHAPIRA, YURI; SHULMAN, AVI; NISSIMOV, BENNY; ZIN, SHAKED
To: TWISTLOCK LTD.
Reel/Frame 064288/0180 →
Continuity (4)
Continuation 17807812 · Jun 20, 2022
Continuation 16795681 · Feb 20, 2020
Provisional Application 62807773 · Feb 20, 2019
Related Publication 20230362168A1 · Nov 9, 2023
References Cited (4)
US 20190007458A1 · Shulman · 2019 [cited by examiner]
US 20190149480A1 · Singhvi · 2019 [cited by examiner]
US 20190213326A1 · Dykes · 2019 [cited by applicant]
US 20210099459A1 · Zhang · 2021 [cited by examiner]