IP Library Granted Patent US 11,580,216
Granted Patent B2
US 11,580,216 · App. 17/214,214 · Granted Feb 14, 2023

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,580,216
App. No.
17/214,214
Granted
Feb 14, 2023
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 (76)

1. A credential safety management system comprising:

processing circuitry operatively connected to memory and configured to:

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

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

a runtime service configured to:

intercept a runtime request from the software container;

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

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

wherein to discover the credentials, the processing circuitry is configured to:

determine a particular software application stored in the container image;

determine expected credential storage locations based on the particular software application stored in the container image; and

perform pre-runtime scanning for the credentials in the expected credential storage locations of the container image.

2. A credential safety management system comprising:

processing circuitry operatively connected to memory and configured to:

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

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

a runtime service configured to:

intercept a runtime request from the software container;

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

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

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

wherein as part of storing the discovered credentials in the discovered credential repository, the processing circuitry is configured to store 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.

3. A credential safety management system comprising:

processing circuitry operatively connected to memory and configured to:

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

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

a runtime service configured to:

intercept a runtime request from the software container;

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

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

wherein the processing circuitry is configured to store 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 as part of the determination of the unsafe credential set, the processing circuitry is configured to determine 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.

4. A credential safety management system comprising:

processing circuitry operatively connected to memory and configured to:

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

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

a runtime service configured to:

intercept a runtime request from the software container;

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

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

wherein to detect the credential violation based on the intercepted runtime request attempting to use a credential from the unsafe credential set, the processing circuitry is configured to detect 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.

5. 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, or 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 intercepting, detecting, and performing are performed by a runtime service; and

wherein said discovering the credentials includes:

determining a particular software application stored in the container image;

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

performing pre-runtime scanning for the credentials in the expected credential storage locations of the container image.

6. 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, or 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, the discovered credential repository separate from the container image, wherein said storing includes 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;

wherein said intercepting, detecting, and performing are performed by a runtime service.

7. 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, or 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 includes 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;

wherein said intercepting, detecting, and performing are performed by a runtime service.

8. 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, or credentials from a secrets management service; and

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 detecting the credential violation includes 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

wherein said intercepting, detecting, and performing are performed by a runtime service.

Assignments (4)
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 →
Continuity (2)
Continuation 16128662 · Sep 12, 2018
Related Publication 20210216621A1 · Jul 15, 2021