IP Library Granted Patent US 11,017,074
Granted Patent B2
US 11,017,074 · App. 16/128,662 · Granted May 25, 2021

Credential safety management for software containers

Inventors: Michael Cherny (Ramat Gan, IL); Sagie Dulce (Tel Aviv, IL)
Assignee: Aqua Security Software, Ltd.
G06F21/45G06F21/604
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,017,074
App. No.
16/128,662
Granted
May 25, 2021
Kind
B2
Abstract

An example computer-implemented method of providing security for a software container includes discovering credentials that a software container is expected to use at runtime. The discovering is performed prior to instantiation of the software container from a container image, and is based on one or more of credentials stored in the container image, credentials stored in runtime configuration data for the software container, and credentials from a secrets management service. An unsafe credential set is determined that includes one or more of the discovered credentials that do not meet predefined credential safety criteria. A runtime request is intercepted from the software container. A credential violation is detected based on the intercepted runtime request attempting to use a credential from the unsafe discovered credential set. A corrective action is performed for the software container based on the detected credential violation.

Claims (50)

1. A computer-implemented method of providing security for a software container, comprising:

discovering credentials that a software container is expected to use at runtime, the discovering performed prior to instantiation of the software container from a container image, the discovering based on one or more of credentials stored in the container image, credentials stored in runtime configuration data for the software container, and credentials from a secrets management service;

determining an unsafe credential set that includes one or more of the discovered credentials that do not meet predefined credential safety criteria;

intercepting a runtime request from the software container;

detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set, wherein said detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set comprises detecting that one of the discovered credentials that meets the predefined credential safety criteria has been overridden with a runtime credential that does not meet the predefined credential safety criteria; and

performing a corrective action for the software container based on the detected credential violation.

2. The computer-implemented method of claim 1 , wherein said discovering credentials comprises performing pre-runtime scanning for credentials in expected credential storage locations of the container image.

3. The computer-implemented method of claim 1 , wherein said discovering credentials comprises:

querying a container orchestrator for credentials stored in the runtime configuration data, wherein the container orchestrator is configured to control resource management for a plurality of host computing devices that are configured to run the software container and a plurality of additional software containers.

4. The computer-implemented method of claim 1 , wherein said discovering credentials comprises:

querying the secrets management service for credentials for the container image, wherein the secrets management service is configured to provide credentials for a plurality of container images.

5. The computer-implemented method of claim 1 , comprising storing the discovered credentials in a discovered credential repository along with an identifier of the container image to which they correspond, wherein the discovered credential repository is separate from the container image.

6. The computer-implemented method of claim 5 , comprising salting the discovered credentials, hashing the discovered credentials, or both, prior to storing the discovered credentials in the discovered credential repository.

7. The computer-implemented method of claim 1 , wherein the predefined credential safety criteria indicates that a credential is unsafe if the credential has been in use for longer than a predefined allowable usage period, or is derived from a credential that has been in use for longer than the predefined allowable usage period.

8. The computer-implemented method of claim 1 , wherein the predefined credential safety criteria indicates that a credential is unsafe if the credential is stored in the container image.

9. The computer-implemented method of claim 1 , wherein the predefined credential safety criteria indicates that a credential is unsafe if the credential is discoverable through a dictionary attack.

10. The computer-implemented method of claim 1 , wherein the predefined credential safety criteria indicates that a credential is unsafe if the credential is stored in a publicly-accessible source code repository.

11. The computer-implemented method of claim 1 , wherein the predefined credential safety criteria indicates that a credential is unsafe if the credential is not obtained from the secrets management service for the software container.

12. The computer-implemented method of claim 1 , wherein said performing a corrective action based on the detected credential violation comprises preventing execution of the intercepted runtime request.

13. The computer-implemented method of claim 1 , wherein said performing a corrective action based on the detected credential violation comprises substituting the credential from the unsafe credential set with a safe credential, and executing the intercepted runtime request with the safe credential.

14. The computer-implemented method of claim 13 , wherein said substituting the credential comprises dynamically obtaining a credential for the software container from the secrets management service, and utilizing the credential from the secrets management service as the safe credential.

15. The computer-implemented method of claim 1 , wherein said performing a corrective action based on the detected credential violation comprises providing an alert that the software container is attempting to use an unsafe credential.

16. A computer-implemented method of providing security for a software container, comprising:

discovering credentials that a software container is expected to use at runtime, the discovering performed prior to instantiation of the software container from a container image, the discovering based on one or more of credentials stored in the container image, credentials stored in runtime configuration data for the software container, and credentials from a secrets management service;

determining an unsafe credential set that includes one or more of the discovered credentials that do not meet predefined credential safety criteria;

intercepting a runtime request from the software container;

detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set; and

performing a corrective action for the software container based on the detected credential violation;

wherein said discovering credentials comprises performing pre-runtime scanning for credentials in expected credential storage locations of the container image; and

wherein said performing pre-runtime scanning for credentials in expected credential storage locations of the container image comprises:

determining a particular software application stored in the container image; and

determining the expected credential storage locations based on the particular software application stored in the container image.

17. A computer-implemented method of providing security for a software container, comprising:

discovering credentials that a software container is expected to use at runtime, the discovering performed prior to instantiation of the software container from a container image, the discovering based on one or more of credentials stored in the container image, credentials stored in runtime configuration data for the software container, and credentials from a secrets management service;

storing the discovered credentials in a discovered credential repository along with an identifier of the container image to which they correspond, wherein the discovered credential repository is separate from the container image, and wherein said storing the discovered credentials in the discovered credential repository comprises storing identifiers of modifiers that can modify the discovered credentials at runtime, the modifiers including one or more of environment variables, command line arguments, and configuration files;

determining an unsafe credential set that includes one or more of the discovered credentials that do not meet predefined credential safety criteria;

intercepting a runtime request from the software container;

detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set; and

performing a corrective action for the software container based on the detected credential violation.

18. The computer-implemented method of claim 17 , wherein said detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set comprises detecting that the intercepted runtime request is attempting to utilize a modified credential that is modified by one of the modifiers and does not meet the predefined credential safety criteria.

19. A computer-implemented method of providing security for a software container, comprising:

discovering credentials that a software container is expected to use at runtime, the discovering performed prior to instantiation of the software container from a container image, the discovering based on one or more of credentials stored in the container image, credentials stored in runtime configuration data for the software container, and credentials from a secrets management service;

storing the discovered credentials in a discovered credential repository along with an identifier of the container image to which they correspond, wherein the discovered credential repository is separate from the container image;

determining an unsafe credential set that includes one or more of the discovered credentials that do not meet predefined credential safety criteria, wherein said determining an unsafe credential set comprises determining whether a discovered credential is unsafe based on whether the discovered credential is stored in the discovered credential repository for one or more other software containers;

intercepting a runtime request from the software container;

detecting a credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set; and

performing a corrective action for the software container based on the detected credential violation.

20. The computer-implemented method of claim 19 , comprising:

determining that the software container is part of a container group of related software containers;

wherein the predefined credential safety criteria indicates that a credential is unsafe if it is stored in the discovered credential repository and is associated with multiple container groups.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Aug 3, 2026
From: BANK LEUMI LE-ISRAEL B.M.
To: AQUA SECURITY SOFTWARE LTD.
Reel/Frame 075495/0666 →
SECURITY INTEREST Recorded Jul 29, 2026
From: AQUA SECURITY SOFTWARE LTD
To: HSBC BANK PLC
Reel/Frame 075441/0921 →
SECURITY INTEREST Recorded Jul 30, 2023
From: AQUA SECURITY SOFTWARE LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP
Reel/Frame 064429/0026 →
SECURITY INTEREST Recorded Nov 7, 2022
From: AQUA SECURITY SOFTWARE LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 061668/0709 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2022
From: SILICON VALLEY BANK
To: AQUA SECURITY SOFTWARE LTD
Reel/Frame 061567/0852 →
SECURITY INTEREST Recorded Oct 21, 2020
From: AQUA SECURITY SOFTWARE LTD.
To: SILICON VALLEY BANK
Reel/Frame 054130/0822 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2018
From: CHERNY, MICHAEL; DULCE, SAGIE
To: AQUA SECURITY SOFTWARE, LTD.
Reel/Frame 046848/0148 →
Continuity (1)
Related Publication 20200082071A1 · Mar 12, 2020
Cited By (1)
US 12,682,039