IP Library Granted Patent US 11,762,986
Granted Patent B2
US 11,762,986 · App. 17/175,164 · Granted Sep 19, 2023

System for securing software containers with embedded agent

Inventors: Amir Gerebe (Givatayim, IL); Rani Osnat (Tel Aviv, IL)
Assignee: Aqua Security Software, Ltd.
G06F21/54G06F21/44G06F21/51H04L9/3226G06F2221/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 11,762,986
App. No.
17/175,164
Granted
Sep 19, 2023
Kind
B2
Abstract

A computer-implemented method of providing security for a software container, according to an example of the present disclosure includes, receiving a software container image with a software application and security agent that is separate from the software application. An execution entry point of the software container image that was previously configured to launch the software application has been modified to instead launch the security agent. The method includes receiving a request to instantiate the software container image as a software container, launching the security agent based on the request, authenticating the contents of the software container image, and controlling operation of the software application based on the authenticating.

Claims (40)

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

receiving a software container image comprising a software application and security agent that is separate from the software application, wherein an execution entry point of the software container image that was previously configured to launch the software application has been modified to instead launch the security agent;

receiving a request to instantiate the software container image as a software container;

based on the request, launching the security agent, and authenticating the contents of the software container image, wherein the security agent is utilized in the authenticating; and

controlling operation of the software application based on the authenticating;

wherein said authenticating the contents of the software container image comprises the security agent creating a second cryptographic fingerprint based on the contents of the software container image other than a layer in the software container image containing the security agent; and

wherein said authenticating is based on a comparison of the second cryptographic fingerprint to a preexisting first cryptographic fingerprint that was previously created by the security agent prior to said receiving the request and based on the contents of the software container image other than the layer in the software container image containing the security agent; and

wherein said authenticating the contents of the software container image comprises transmitting the second cryptographic fingerprint to a security server for comparison against the preexisting first cryptographic fingerprint, and determining whether the contents of the container image are authenticated based on a response received from the security server.

2. The computer-implemented method of claim 1 , wherein said controlling operation of the software application based on the authenticating comprises the security agent:

preventing launch of the software application based on the authenticating failing; and

based on the authenticating succeeding:

launching the software application; and

controlling runtime operation of the software application from within the software container based on a security policy of the software application.

3. The computer-implemented method of claim 1 , wherein said authenticating the contents of the software container image comprises: the security server:

receiving the first cryptographic fingerprint during a first time period;

receiving the second cryptographic fingerprint during a subsequent second time period;

comparing the first and second cryptographic fingerprints;

transmitting a notification to the security agent indicating that the software container image is authenticated based on the first and second cryptographic fingerprints matching; and

transmitting a notification to the security agent that the software container image is not authenticated based on the first and second cryptographic fingerprints not matching.

4. The computer-implemented method of claim 3 , comprising the security server:

transmitting a security policy for the software application to the security agent based on the first and second cryptographic fingerprints matching.

5. The computer-implemented method of claim 4 , comprising the security server:

determining an application type of the software application; and

selecting the security policy based on the application type.

6. The computer-implemented method of claim 5 , wherein said selecting the security policy based on the application type comprises:

selecting a default security policy of the application type for the software application based on a specific security policy for the software application not being received at the security server.

7. A computing device comprising:

memory configured to store a software container image that includes a software application and a security agent that is separate from the software application, wherein an execution entry point of the software container image that was previously configured to launch the software application has been modified to instead launch the security agent; and

a processor operatively connected to the memory and configured to:

receive a request to instantiate the software container image as a software container;

based on the request, launch the security agent, authenticate the contents of the software container image, and utilize the security agent as part of the authentication; and

control operation of the software application based on the authentication;

wherein the processor is configured to operate the security agent to create a second cryptographic fingerprint based on the contents of the software container image other than a layer in the software container image containing the security agent; and

wherein the authentication is based on a comparison of the second cryptographic fingerprint to a preexisting first cryptographic fingerprint that was previously created by the security agent prior to receipt of the request and based on the contents of the software container image other than the layer in the software container image containing the security agent; and

wherein as part of the authentication, the processor is configured to transmit the second cryptographic fingerprint to a security server for comparison against the preexisting first cryptographic fingerprint, and determine whether the contents of the container image are authenticated based on a response received from the security server.

8. The computing device of claim 7 , wherein to control operation of the software application based on the authentication, the processor is configured to operate the security agent to:

prevent launch of the software application based on the authentication failing; and

based on the authentication succeeding:

launch the software application; and

control runtime operation of the software application from within the software container based on a security policy of the software application.

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 15821255 · Nov 22, 2017
Related Publication 20210165876A1 · Jun 3, 2021
Cited By (1)
US 12,608,475