IP Library › Granted Patent US 12,423,413
Granted Patent B2
US 12,423,413 · App. 18/067,945 · Granted Sep 23, 2025

Program file measurements for context-specific validation

Inventors: Joao Claudio Ambrosi (Rio Grande do Sul, BR); Joaquim Gomes Da Costa Eulalio De Souza (Rio Grande do Sul, BR); Reinaldo Cézar De Morais Gomes (Paraíba, BR); Marcela Galdino (Paraiba, BR); Ramon Sousa Sarmento (Paraiba, BR)
Assignee: Hewlett Packard Enterprise Development LP
G06F21/54G06F21/64
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,423,413
App. No.
18/067,945
Granted
Sep 23, 2025
Kind
B2
Abstract

In some examples, during runtime of a virtual computing environment, a system intercepts a call for an invocation of a program file that relates to a program execution in the virtual computing environment, and obtains, for the program file prior to the invocation of the program file in response to the call, context information of the virtual computing environment. The context information includes an identifier of a program code image for the virtual computing environment. The system computes a measurement value based on the program file, and provides the measurement value and the context information of the virtual computing environment to an integrity checker to perform a context-specific validation of the program file.

Claims (53)

1. A non-transitory machine-readable storage medium comprising instructions that upon execution cause a system to:

during runtime of a virtual computing environment:

intercept a call for an invocation of a program file that relates to a program execution in the virtual computing environment;

compute a checksum based on the program file;

obtain, for the program file prior to the invocation of the program file in response to the call, context information of the virtual computing environment, the context information comprising an identifier of a program code image for the virtual computing environment, a log containing a command that invoked the program file and the checksum computed based on the program file, and a further checksum based on the log that contains the command and the checksum;

send, from the system to an integrity checker as part of an attestation to perform a context-specific validation of the invocation of the program file, the context information comprising the identifier of the program code image, the log, and the further checksum based on the log; and

receive, at the system from the integrity checker, a response containing a result of the attestation that uses the log and the further checksum based on the log.

2. The non-transitory machine-readable storage medium of claim 1 , wherein the context information obtained for the program file further comprises an identifier of the virtual computing environment.

3. The non-transitory machine-readable storage medium of claim 1 , wherein the context-specific validation of the program file employs a policy that is based on the identifier of the program code image.

4. The non-transitory machine-readable storage medium of claim 3 , wherein the context information further comprises information of an execution environment of the virtual computing environment, and the policy for the context-specific validation is further based on the information of the execution environment.

5. The non-transitory machine-readable storage medium of claim 1 , wherein the intercepting of the call is by a first entity in a kernel space of the system.

6. The non-transitory machine-readable storage medium of claim 5 , wherein the instructions upon execution cause the system to:

send, from the first entity in the kernel space to a second entity in a user space, a query for the identifier of the program code image; and

receive, at the first entity in the kernel space, the identifier of the program code image from the second entity in the user space.

7. The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to:

store, in the log, the checksum along with the command corresponding to the call for the invocation of the program file, wherein the checksum stored in the log comprises a cryptographic hash value computed based on the program file; and

compute the further checksum based on the log containing the checksum and the command.

8. The non-transitory machine-readable storage medium of claim 1 , wherein the log contains checksums for a plurality of program files called from the virtual computing environment, and wherein the instructions upon execution cause the system to:

compute the further checksum by applying a cryptographic hash function on the log that contains the checksums for the plurality of program files; and

include the further checksum in a further log that associates the further checksum with the identifier of the program code image.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the instructions upon execution cause the system to:

associate the further log with a register of a security processor; and

send a value of the register along with the further log to the integrity checker to perform the context-specific validation of the program file.

10. The non-transitory machine-readable storage medium of claim 9 , wherein the security processor is a trusted platform module (TPM), the register is a Platform Configuration Register (PCR), and the value of the register is based on extending the PCR with a checksum computed based on the further log, and wherein the context-specific validation comprises validating the further log using a value of the PCR of the TPM.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the value of the PCR sent to the integrity checker is digitally signed by the security processor.

12. The non-transitory machine-readable storage medium of claim 1 , wherein the log comprises an aggregate record that contains checksums and identifiers of program code images for containers that are part of a specified partition.

13. The non-transitory machine-readable storage medium of claim 1 , wherein the virtual computing environment comprises a container, and the identifier of the program code image in the context information is a container image identifier.

14. A computer comprising:

a security processor;

a hardware processor; and

a non-transitory storage medium comprising runtime protection instructions executable on the hardware processor to:

during runtime of a virtual computing environment in the computer:

intercept a call for an invocation of a program file that relates to a program execution in the virtual computing environment;

compute a checksum based on the program file;

obtain, for the program file prior to the invocation of the program file in response to the call, context information of the virtual computing environment, the context information comprising an identifier of a program code image for the virtual computing environment, a log containing a command that invoked the program file and the checksum computed based on the program file, and a further checksum based on the log that contains the command and the checksum;

associate the checksum and the further checksum with a protection value of the security processor;

send the context information comprising the identifier of the program code image, the log, and the further checksum based on the log to an integrity checker to perform a context-specific validation of the program file, prior to the invocation of the program file; and

receive, at the computer from the integrity checker, a response containing a result of the context-specific validation that uses the log and the further checksum based on the log.

15. The computer of claim 14 , wherein the invocation of the program file is selected from among: executing the program file that includes program code, or accessing the program file.

16. The computer of claim 14 , wherein the runtime protection instructions are executable on the hardware processor to:

include the further checksum and the identifier of the program code image in a further log; and

provide the context information comprising the log and the further log to the integrity checker.

17. The computer of claim 14 , wherein the protection value comprises a Platform Configuration Register (PCR) quote comprising a digitally signed version of a PCR value in a PCR of the security processor.

18. A method comprising:

during runtime of a container:

intercepting, by a runtime protection system according to a monitoring policy, a call for an invocation of a program file that relates to a program execution in the container, wherein the monitoring policy specifies that a call of a first type of program file is to be intercepted, and a call of a different second type of program file is not to be intercepted;

computing, by the runtime protection system, a checksum based on the program file;

obtaining, by the runtime protection system for the program file prior to the invocation of the program file in response to the call, context information of the virtual computing environment, the context information comprising an identifier of a program code image for the virtual computing environment, a log containing a command that invoked the program file and the checksum computed based on the program file, and a further checksum based on the log that contains the command and the checksum;

associating, by the runtime protection system, the checksum with a protection value of a security processor;

sending, from the runtime protection system, the context information comprising the identifier of the program code image, the log, and the further checksum based on the log to an integrity checker to perform a context-specific validation of the program file; and

receiving, at the runtime protection system from the integrity checker, a response containing a result of the context-specific validation that uses the log and the further checksum based on the log.

19. The method of claim 18 , wherein the checksum is a cryptographic hash value.

20. The method of claim 18 , wherein the protection value comprises a Platform Configuration Register (PCR) quote comprising a digitally signed version of a PCR value in a PCR of a trusted platform module (TPM).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2024
From: DE MORAIS GOMES, REINALDO CEZAR; GALDINO, MARCELA; SARMENTO, RAMON SOUSA; UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
To: HEWLETT-PACKARD BRASIL LTDA.
Reel/Frame 068862/0757 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2022
From: AMBROSI, JOAO CLAUDIO; DE SOUZA, JOAQUIM GOMES DA COSTA EULALIO
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 062140/0548 →
Continuity (1)
Related Publication 20240202318A1 · Jun 20, 2024
References Cited (11)
US 9294282B1 · Potlapally · 2016 [cited by examiner]
US 20080086317A1 · Jones · 2008 [cited by examiner]
US 20130198838A1 · Schmidt · 2013 [cited by examiner]
US 20170116415A1 · Stopel · 2017 [cited by examiner]
US 20170187540A1 · Stopel · 2017 [cited by examiner]
US 20180121485A1 · Jayanthi · 2018 [cited by examiner]
US 20190081983A1 · Teal · 2019 [cited by examiner]
US 20210004472A1 · Almeida · 2021 [cited by examiner]
US 20220360594A1 · Cosgrove · 2022 [cited by examiner]
Benedictis, M.D., et al., “Integrity verification of Docker containers for a lightweight cloud environment”, Feb. 5, 2019, pp. 38. [cited by applicant]
Silvia, S., “Verification of Software Integrity in Distributed Systems”, Politecnico Di Torino, 2020-2021, pp. 200. [cited by applicant]