IP Library Granted Patent US 12,621,332
Granted Patent B2
US 12,621,332 · App. 17/823,868 · Granted May 5, 2026

Static vulnerability analysis techniques

Inventors: Aner Morag (Tel Aviv, IL); Tomer Roizman (Tel Aviv-Jaffa, IL); Dor Dankner (Tel Aviv, IL); Shay Levi (Tel Aviv, IL); Oz Golan (Ramat Gan, IL); Hila Zigman (Ramat Gan, IL); Oren Shpigel (Tel Aviv, IL); Netanel Maman (Mazkeret Batya, IL); Yuval Alkalai Tavori (Ramat Gan, IL)
Assignee: Akamai Technologies, Inc.
H04L63/1433
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,621,332
App. No.
17/823,868
Granted
May 5, 2026
Kind
B2
Abstract

A system and method for static analysis. A method includes accessing a cloud component in order to obtain configurations including sets of instructions used for routing to computing interfaces, wherein the cloud component is used to route requests to a plurality of computing interfaces. Dependencies of the computing interfaces are identified by scanning each of the configurations, where each dependency is a reliance by the computing interface on a service provided by another component in a computing environment and the dependencies are identified by applying dependency identification rules with respect to at least one type of resource implemented in each computing interface. Paths are determined based on the identified dependencies, where each path includes at least one of the computing interfaces through which requests are routed. A vulnerability is detected among the computing interfaces based on the determined paths.

Claims (43)

1 . A method for static analysis, comprising:

accessing a cloud component in order to obtain a plurality of configurations, wherein the cloud component is used to route requests to a plurality of computing interfaces, wherein a computing interface is a shared boundary across which two or more separate components of a computing environment exchange information, and wherein the plurality of configurations includes at least one set of instructions used for routing to at least one of the plurality of computing interfaces;

identifying dependencies of the plurality of computing interfaces by scanning each of the plurality of configurations, wherein each dependency is a reliance by the computing interface on a service provided by another component in the computing environment, wherein the dependencies are identified by applying dependency identification rules, wherein the dependency identification rules applied to at least first and second configurations differ depending on a type of resource implemented in the computing interface corresponding to the first or second configuration;

determining at least one path based on the identified dependencies, wherein each path includes at least one of the plurality of computing interfaces through which requests are routed; and

detecting a vulnerability among the plurality of computing interfaces based on the determined at least one path.

2 . The method of claim 1 , further comprising:

taking a plurality of snapshots of a plurality of disks, each disk hosting a respective computing resource serving one of the plurality of computing interfaces, wherein obtaining the plurality of configurations further includes scanning the plurality of snapshots.

3 . The method of claim 1 , wherein the vulnerability is determined based further on traffic flows to and from each computing interface, further comprising:

correlating between at least one flow involving the computing interface caused by the identified dependencies and traffic of components in the computing environment, wherein the vulnerability is detected based on the correlation.

4 . The method of claim 1 , further comprising:

correlating between at least one flow caused by the identified dependencies and hostile traffic in the computing environment in order to determine whether the hostile traffic is directed to a vulnerable component in the computing environment, wherein the vulnerability is detected based on the correlation.

5 . The method of claim 1 , wherein the detected vulnerability is a vulnerability caused by a dependency on a known vulnerable service.

6 . The method of claim 1 , wherein the vulnerability is detected based on at least one vulnerability identified in the instructions of the plurality of configurations.

7 . The method of claim 1 , further comprising:

determining a utilization status of each of the dependencies, wherein each utilization status indicates whether the respective dependency is currently utilized, wherein the vulnerability is detected based further on the determined utilization statuses.

8 . The method of claim 7 , further comprising:

creating a graph of connections among the plurality of computing interfaces based on the identified dependencies, wherein the utilization status of each of the dependencies is determined based further on the graph of connections among the plurality of computing interfaces.

9 . The method of claim 8 , further comprising:

creating a cybersecurity posture of a computing environment in which the cloud component is deployed based on the graph of connections, wherein the created cybersecurity posture is a model of computing interfaces used for communications in or with the computing environment, wherein the computing interfaces used for communications in or with the computing environment include the plurality of computing interfaces to which the cloud component routes requests.

10 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

accessing a cloud component in order to obtain a plurality of configurations, wherein the cloud component is used to route requests to a plurality of computing interfaces, wherein a computing interface is a shared boundary across which two or more separate components of a computing environment exchange information, and wherein the plurality of configurations includes at least one set of instructions used for routing to at least one of the plurality of computing interfaces;

identifying dependencies of the plurality of computing interfaces by scanning each of the plurality of configurations, wherein each dependency is a reliance by the computing interface on a service provided by another component in the computing environment, wherein the dependencies are identified by applying dependency identification rules, wherein the dependency identification rules applied to at least first and second configurations differ depending on a type of resource implemented in the computing interface corresponding to the first or second configuration;

determining at least one path based on the identified dependencies, wherein each path includes at least one of the plurality of computing interfaces through which requests are routed; and

detecting a vulnerability among the plurality of computing interfaces based on the determined at least one path.

11 . A system for static analysis, comprising: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

access a cloud component in order to obtain a plurality of configurations, wherein the cloud component is used to route requests to a plurality of computing interfaces, wherein a computing interface is a shared boundary across which two or more separate components of a computing environment exchange information, and wherein the plurality of configurations includes at least one set of instructions used for routing to at least one of the plurality of computing interfaces;

identify dependencies of the plurality of computing interfaces by scanning each of the plurality of configurations, wherein each dependency is a reliance by the computing interface on a service provided by another component in the computing environment, wherein the dependencies are identified by applying dependency identification rules, wherein the dependency identification rules applied to at least first and second configurations differ depending on a type of resource implemented in the computing interface corresponding to the first or second configuration;

determine at least one path based on the identified dependencies, wherein each path includes at least one of the plurality of computing interfaces through which requests are routed; and

detect a vulnerability among the plurality of computing interfaces based on the determined at least one path.

12 . The system of claim 11 , wherein the system is further configured to:

take a plurality of snapshots of a plurality of disks, each disk hosting a respective computing resource serving one of the plurality of computing interfaces, wherein obtaining the plurality of configurations further includes scanning the plurality of snapshots.

13 . The system of claim 11 , wherein the vulnerability is determined based further on traffic flows to and from each computing interface, wherein the system is further configured to:

correlate between at least one flow involving the computing interface caused by the identified dependencies and traffic of components in the computing environment, wherein the vulnerability is detected based on the correlation.

14 . The system of claim 11 , wherein the system is further configured to:

correlate between at least one flow caused by the identified dependencies and hostile traffic in the computing environment in order to determine whether the hostile traffic is directed to a vulnerable component in the computing environment, wherein the vulnerability is detected based on the correlation.

15 . The system of claim 11 , wherein the detected vulnerability is a vulnerability caused by a dependency on a known vulnerable service.

16 . The system of claim 11 , wherein the vulnerability is detected based on at least one vulnerability identified in the instructions of the plurality of configurations.

17 . The system of claim 11 , wherein the system is further configured to:

determine a utilization status of each of the dependencies, wherein each utilization status indicates whether the respective dependency is currently utilized, wherein the vulnerability is detected based further on the determined utilization statuses.

18 . The system of claim 17 , wherein the system is further configured to:

create a graph of connections among the plurality of computing interfaces based on the identified dependencies, wherein the utilization status of each of the dependencies is determined based further on the graph of connections among the plurality of computing interfaces.

19 . The system of claim 18 , wherein the system is further configured to:

create a cybersecurity posture of a computing environment in which the cloud component is deployed based on the graph of connections, wherein the created cybersecurity posture is a model of computing interfaces used for communications in or with the computing environment, wherein the computing interfaces used for communications in or with the computing environment include the plurality of computing interfaces to which the cloud component routes requests.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2025
From: NONAME GATE LTD.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 070344/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: MORAG, ANER; ROIZMAN, TOMER; DANKNER, DOR; LEVI, SHAY; GOLAN, OZ; ZIGMAN, HILA; SHPIGEL, OREN; MAMAN, NETANEL; ALKALAI, YUVAL
To: NONAME GATE LTD.
Reel/Frame 061065/0093 →
Continuity (2)
Continuation In Part 17645165 · Dec 20, 2021
Related Publication 20230199016A1 · Jun 22, 2023
References Cited (35)
US 8321944B1 · Mayer · 2012 [cited by examiner]
US 8745641B1 · Coker · 2014 [cited by applicant]
US 8931101B2 · Baluda et al. · 2015 [cited by applicant]
US 9853996B2 · Eliyahu et al. · 2017 [cited by applicant]
US 9973484B2 · Reid et al. · 2018 [cited by applicant]
US 10116674B2 · Baradaran et al. · 2018 [cited by applicant]
US 10270788B2 · Faigon et al. · 2019 [cited by applicant]
US 10372702B2 · Harsha et al. · 2019 [cited by applicant]
US 10681012B2 · Subbarayan et al. · 2020 [cited by applicant]
US 11153339B1 · Kapoor et al. · 2021 [cited by applicant]
US 11200144B1 · Cook et al. · 2021 [cited by applicant]
US 20050005162A1 · Oliphant · 2005 [cited by applicant]
US 20140201838A1 · Varsanyi et al. · 2014 [cited by applicant]
US 20140237534A1 · Salinger et al. · 2014 [cited by applicant]
US 20150358344A1 · Mumcuoglu · 2015 [cited by examiner]
US 20160308729A1 · Choi · 2016 [cited by examiner]
US 20160308900A1 · Sadika et al. · 2016 [cited by applicant]
US 20180270109A1 · Hollis · 2018 [cited by applicant]
US 20180321996A1 · Riva et al. · 2018 [cited by applicant]
US 20190147300A1 · Bathen et al. · 2019 [cited by applicant]
US 20200067948A1 · Baradaran et al. · 2020 [cited by applicant]
US 20200076837A1 · Ladnai et al. · 2020 [cited by applicant]
US 20200304470A1 · Subbarayan et al. · 2020 [cited by applicant]
US 20200409715A1 · Balasubramanian · 2020 [cited by examiner]
US 20210099478A1 · Seetharamaiah · 2021 [cited by examiner]
US 20220006829A1 · Nikam · 2022 [cited by examiner]
US 20220329616A1 · O'hearn et al. · 2022 [cited by applicant]
EP 3422665A1 · 2019 [cited by applicant]
EP 3427179B1 · 2019 [cited by applicant]
JP 2018518762A · 2018 [cited by applicant]
“Azure Machine Learning Anomaly Detection API—Team Data Science Process”, Microsoft Docs, 2021. [cited by applicant]
International Search Report for PCT/IB2022/062401, dated Apr. 3, 2023. International Bureau of WIPO. [cited by applicant]
International Search Report for PCT/IB2022/062403, dated Mar. 28, 2023. International Bureau of WIPO. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2022/062401, dated Apr. 3, 2023. International Bureau of WIPO. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2022/062403, dated Mar. 28, 2023. International Bureau of WIPO. [cited by applicant]