Container Image Signature Validation via Kernel-Level Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container orchestration systems lack flexibility and transparency in signature validation, allowing attackers to bypass validation in vulnerable environments and requiring environment-specific plugins for different signature methods.
Innovation Solution
A method using a kernel module with eBPF programs to intercept network traffic, perform signature validation outside the container runtime environment, and enforce validation using a user-space component, supporting multiple signature methods like Cosign or Notary v2, with TCP resets to block unvalidated images.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If signature validation is performed within the container runtime environment or orchestrator, then validation can be enforced, but the system lacks flexibility and transparency, allowing attackers to bypass validation in vulnerable environments
Solution Approach 1:
The patent introduces an intermediary validation component that operates outside the container runtime environment. This component intercepts image pull requests at the network level, performs signature validation independently of the runtime environment, and only allows validated images to be pulled. This mediator approach ensures validation enforcement while maintaining compatibility across different runtime environments without requiring environment-specific plugins.
2Adaptability or versatility
If environment-specific plugins are used for different signature methods, then support for multiple signature methods is achieved, but device complexity increases and transparency is reduced
Solution Approach 1:
The validation component is designed with universal functionality to support multiple container signing methods (Cosign, Notary v1, Notary v2) through a single unified interface. The component can dynamically select and apply the appropriate validation method based on the image and signature type, eliminating the need for separate plugins for each signature method or runtime environment. This multi-functional design reduces system complexity while maintaining broad compatibility.
3Reliability
If validation is performed in the control plane with admission controllers, then signature validation can be performed, but the validation can be deactivated by uninstalling the admission controller
Solution Approach 1:
The system performs signature validation at the network level before the container image is pulled into the runtime environment. By validating the image signature during the image pull request phase and before deployment, the system ensures that only validated images can be accessed. This preliminary validation approach makes it extremely difficult for attackers to bypass validation, as the security check occurs before the image enters the controllable environment where admission controllers could be manipulated or removed.
4Ease of operation
If direct access to Docker socket is allowed for privileged containers, then container management flexibility is improved, but security validation is bypassed
Solution Approach 1:
The validation component acts as a network-level intermediary that monitors and validates all container image pull requests, including those from privileged containers with Docker socket access. By placing the validation check at the network layer rather than relying on runtime environment controls, the system ensures that even privileged containers cannot bypass validation. The intermediary intercepts and validates images before they reach the container runtime, maintaining security while allowing flexible container management.
Data Source
Figure 1
Figure 2
AI summary
Methods and systems for signature validation of container images are disclosed. Embodiments comprise: providing to a container runtime environment a request for a container image; establishing a network connection between the container runtime environment and a container registry comprising the container image; detecting, by a kernel module the network connection between the container runtime environment and the container registry; interrupting processing the request upon detecting, by the kernel module and based on the detected network connection, that the request includes an image pull request; sending, by the kernel module, information related to the image pull request to a validation component; requesting, by the validation component, based on the information related to the image pull request, an image manifest and a signature associated with the image manifest from the container registry; validating, by the validation component, the image manifest and the signature; and releasing the interrupted processing of the request for the container image upon successful validation or resetting the network connection between the container runtime environment and the container registry if the validation fails.