IP Library Granted Patent US 12,204,651
Granted Patent B2
US 12,204,651 · App. 17/656,914 · Granted Jan 21, 2025

Cyber attribution of software containers

Inventors: Eshel Yaron (Tel Aviv, IL); Tomer Schwartz (Tel Aviv, IL); Pavel Resnianski (Tel Aviv, IL)
Assignee: Dazz, Inc.
G06F21/577G06F2221/033
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,204,651
App. No.
17/656,914
Granted
Jan 21, 2025
Kind
B2
Abstract

A system and method for software containers attribution are provided. The method includes de-compiling a configuration file of a container image of a software container; identifying at least one candidate build file in the de-complied configuration file, wherein the at least one candidate build potentially formed the container image; determining if at least one matching condition is satisfied between each of the at least one candidate build file and the de-complied configuration file; associating the configuration file with each candidate build file satisfying the matching condition; and updating an inventory with the associated configuration file and the respective candidate build, wherein such association provides a direct mapping between the container image and the build files formed the container image.

Claims (91)

1. A method for software containers attribution, comprising:

de-compiling a configuration file of a container image of a software container;

identifying at least one candidate build file in the de-compiled configuration file;

determining if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

wherein determining if the at least one matching condition is satisfied further comprises, when there is more than one candidate build file, matching each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching;

wherein the number of commands matching condition is satisfied when the number of commands, excluding FROM commands, in the de-compiled configuration file is the same as the number of commands in a candidate build file;

associating the configuration file with each candidate build file satisfying the at least one matching condition; and

updating an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image.

2. The method of claim 1 , further comprising:

retrieving any one of the configuration file and the container image from a software container repository; and

retrieving build files from a code repository.

3. The method of claim 2 , further comprising:

determining attribution for each container image stored in the software container repository.

4. The method of claim 1 , wherein identifying the at least one candidate build file further comprises:

searching for matching commands in both the de-compiled configuration and build files, wherein a build file with at least one matching command is a candidate build file.

5. The method of claim 1 , wherein determining if the at least one matching condition is satisfied, further comprises:

determining if there is only one candidate build file; and

associating the only one candidate build file with the de-compiled configuration file.

6. The method of claim 1 , wherein the similarity matching condition is satisfied when all candidate build files are the same file and match the de-compiled configuration file.

7. The method of claim 1 , wherein the creation time matching condition is satisficed satisfied when the creation time of a candidate build time is earlier than a creation time of a container image corresponding to the de-compiled configuration file.

8. The method of claim 1 , wherein the number of commands matching condition is satisfied when the number of commands, excluding FROM commands, in the de-compiled configuration file is the same as the number of commends in a candidate build file.

9. The method of claim 1 , further comprising:

performing the hierarchical matching when the container image is formed from multiple build files.

10. The method of claim 9 , wherein the hierarchical matching is satisfied when a dependency tree representing a relationship between the candidate build files and the container image matches commands, excluding FROM commands, listed in the de-compiled configuration file.

11. The method of claim 1 , wherein updating the inventory further comprises:

associating each container layer in the container image with a respective code line in the build file; and

listing any vulnerability reported on at least one of: the container image and its image layers.

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

de-compiling a configuration file of a container image of a software container;

identifying at least one candidate build file in the de-compiled configuration file;

determining if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

wherein determining if the at least one matching condition is satisfied further comprises, when there is more than one candidate build file, matching each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching;

wherein the number of commands matching condition is satisfied when the number of commands, excluding FROM commands, in the de-compiled configuration file is the same as the number of commands in a candidate build file;

associating the configuration file with each candidate build file satisfying the at least one matching condition; and

updating an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image.

13. A system for remediating software containers attribution, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

de-compile a configuration file of a container image of a software container;

identify at least one candidate build file in the de-compiled configuration file;

determine if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

associate the configuration file with each candidate build file satisfying the at least one matching condition; and

update an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image;

wherein the system is further configured to:

when there is more than one candidate build file, match each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching;

wherein the number of commands matching condition is satisfied when the number of commands, excluding FROM commands, in the de-compiled configuration file is the same as the number of commands in a candidate build file.

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

retrieve at least one of the configuration file and the container image from a software container repository; and

retrieve build files from a code repository.

15. The system of claim 13 , wherein the system is further configured to:

determine attribution for each container image stored in the software container repository.

16. The system of claim 13 , wherein the system is further configured to:

search for matching commands in both the de-compiled configuration and build files, wherein a build file with at least one matching command is a candidate build file.

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

determine if there is only one candidate build file; and

associate the only one candidate build file with the de-compiled configuration file.

18. The system of claim 13 , wherein the similarity matching condition is satisfied when all candidate build files are the same file and match the de-compiled configuration file.

19. The system of claim 13 , wherein the creation time matching condition is satisfied when the creation time of a candidate build time is earlier than a creation time of a container image corresponding to the de-compiled configuration file.

20. The system of claim 13 , wherein the system is further configured to:

perform the hierarchical matching when the container image is formed from multiple build files.

21. The system of claim 20 , wherein the hierarchical matching is satisfied when a dependency tree representing a relationship between the candidate build files and the container image matches commands, excluding FROM commands, listed in the de-compiled configuration file.

22. The system of claim 13 , wherein the system is further configured to:

associate each container layer in the container image with a respective code line in the build file; and

list any vulnerability reported on at least one of: the container image and its image layers.

23. A method for software containers attribution, comprising:

de-compiling a configuration file of a container image of a software container;

identifying at least one candidate build file in the de-compiled configuration file;

determining if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

wherein determining if the at least one matching condition is satisfied further comprises, when there is more than one candidate build file, matching each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching;

performing the hierarchical matching when the container image is formed from multiple build files, wherein the hierarchical matching is satisfied when a dependency tree representing a relationship between the candidate build files and the container image matches commands, excluding FROM commands, listed in the de-compiled configuration file;

associating the configuration file with each candidate build file satisfying the at least one matching condition; and

updating an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image.

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

de-compiling a configuration file of a container image of a software container;

identifying at least one candidate build file in the de-compiled configuration file;

determining if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

wherein determining if the at least one matching condition is satisfied further comprises, when there is more than one candidate build file, matching each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching;

performing the hierarchical matching when the container image is formed from multiple build files, wherein the hierarchical matching is satisfied when a dependency tree representing a relationship between the candidate build files and the container image matches commands, excluding FROM commands, listed in the de-compiled configuration file;

associating the configuration file with each candidate build file satisfying the at least one matching condition; and

updating an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image.

25. A system for remediating software containers attribution, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

de-compile a configuration file of a container image of a software container;

identify at least one candidate build file in the de-compiled configuration file;

determine if at least one matching condition is satisfied between each of the at least one candidate build file and the de-compiled configuration file;

associate the configuration file with each candidate build file satisfying the at least one matching condition; and

update an inventory with the associated configuration file and the respective candidate build file, wherein such association provides a direct mapping between the container image and each build file that formed the container image;

wherein the system is further configured to:

when there is more than one candidate build file, match each of the candidate build files to the de-compiled configuration file based on a matching condition, wherein the matching condition includes any one of: similarity, a creation time, a number of commands, and a hierarchical matching; and

perform the hierarchical matching when the container image is formed from multiple build files, wherein the hierarchical matching is satisfied when a dependency tree representing a relationship between the candidate build files and the container image matches commands, excluding FROM commands, listed in the de-compiled configuration file.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2025
From: DAZZ, INC.
To: WIZ, INC.
Reel/Frame 071645/0366 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2022
From: YARON, ESHEL; SCHWARTZ, TOMER; RESNIANSKI, PAVEL
To: DAZZ, INC.
Reel/Frame 059422/0387 →
Continuity (1)
Related Publication 20230315860A1 · Oct 5, 2023
References Cited (38)
US 8806425B1 · Willis et al. · 2014 [cited by applicant]
US 9052961B2 · Mangtani et al. · 2015 [cited by applicant]
US 10108803B2 · Chari et al. · 2018 [cited by applicant]
US 11893106B2 · Kim · 2024 [cited by examiner]
US 20030131284A1 · Flanagan et al. · 2003 [cited by applicant]
US 20090222479A1 · Burukhin et al. · 2009 [cited by applicant]
US 20130167241A1 · Siman · 2013 [cited by applicant]
US 20150341214A1 · Croy et al. · 2015 [cited by applicant]
US 20160379480A1 · OlmstedThompson et al. · 2016 [cited by applicant]
US 20170075749A1 · Ambichl et al. · 2017 [cited by applicant]
US 20170185785A1 · Vorona · 2017 [cited by examiner]
US 20170249128A1 · Fojtik · 2017 [cited by examiner]
US 20170286692A1 · Nakajima et al. · 2017 [cited by applicant]
US 20180025160A1 · Hwang et al. · 2018 [cited by applicant]
US 20180129479A1 · McPherson et al. · 2018 [cited by applicant]
US 20180285199A1 · Mitkar · 2018 [cited by examiner]
US 20180321918A1 · McClory · 2018 [cited by examiner]
US 20190007290A1 · He et al. · 2019 [cited by applicant]
US 20190294477A1 · Koppes et al. · 2019 [cited by applicant]
US 20200097662A1 · Hufsmith et al. · 2020 [cited by applicant]
US 20200296117A1 · Karpovsky et al. · 2020 [cited by applicant]
US 20210042096A1 · White, III et al. · 2021 [cited by applicant]
US 20210168165A1 · Alsaeed et al. · 2021 [cited by applicant]
US 20210182387A1 · Zhu et al. · 2021 [cited by applicant]
US 20210311855A1 · Khan · 2021 [cited by examiner]
US 20220129539A1 · Walsh et al. · 2022 [cited by applicant]
US 20230036739A1 · Deppisch · 2023 [cited by examiner]
EP 3208996A1 · 2017 [cited by applicant]
EP 3494506A1 · 2019 [cited by applicant]
Doan TP, Jung S. Davs: Dockerfile Analysis for Container Image Vulnerability Scanning. CMC—Computers Materials & Continua. Jan. 1, 2022;72(1):1699-711. Jan. 1, 2022 (Jan. 1, 2022). [cited by applicant]
International Search Report for PCT application PCT/IB2023/052413 dated Jun. 12, 2023. The International Bureau of WIPO. [cited by applicant]
Written Opinion of the Searching Authority for PCT application PCT/IB2023/052413 dated Jun. 12, 2023. The International Bureau of WIPO. [cited by applicant]
International Search Report for PCT Application No. PCT/IB2022/059483. The International Bureau of WIPO. [cited by applicant]
Written Opinion of the International Searching Authority for PCT Application No. PCT/IB2022/059483 dated Jan. 8, 2023. The International Bureau of WIPO. [cited by applicant]
International Search Report, PCT/IB2023/052415; Israel Patent Office, Jerusalem. Dated Jun. 14, 2023. [cited by applicant]
Written Opinion of the International Searching Authority, PCT/IB2023/052415. Israel Patent Office, Jerusalem. Dated Jun. 14, 2023. [cited by applicant]
International Search Report for PCT/IB2023/057511, dated Nov. 2, 2023. Searching Authority Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2023/057511, dated Nov. 2, 2023. Searching Authority Israel Patent Office, Jerusalem, Israel. [cited by applicant]