Proxy-Based Inter-Container Messaging for Secure OS Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualized operating systems face challenges in secure and efficient communication between isolated user space containers, as they often require granting global messaging privileges to processes, which can compromise system security and stability.
Innovation Solution
A method and system that decouples local messaging within an operating system container from inter-container messaging by using different messaging mechanisms, allowing a first proxy in one user space container to forward messages to a second proxy using a distinct messaging mechanism, and delivering the message to a service in the second container using either the original or a different mechanism, thereby reducing the number of privileged processes and enhancing access control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If global messaging privileges are granted to processes for inter-container communication, then communication capability is improved, but system security and stability deteriorate
Solution Approach 1:
The patent introduces a proxy process as an intermediary between containers for inter-container messaging. The proxy process acts as a mediator that receives messages from one container and forwards them to the destination container, eliminating the need for application processes to have direct global messaging privileges. This resolves the contradiction by enabling communication capability through the proxy while maintaining security by restricting direct process privileges.
Solution Approach 2:
The patent segments the messaging function by separating it from application processes and placing it in a dedicated proxy process. This segmentation allows the messaging functionality to be isolated and controlled independently, enabling inter-container communication without granting broad messaging privileges to all processes, thus maintaining system security while achieving communication goals.
2Adaptability or versatility
If multiple privileged processes are used for messaging, then communication flexibility is improved, but system complexity and security risks increase
Solution Approach 1:
The proxy process is designed as a universal component that handles messaging between any containers, rather than requiring separate privileged processes for each messaging scenario. The proxy process can route messages to multiple destinations and handle various messaging scenarios, providing flexibility without increasing the number of privileged processes. This resolves the contradiction by consolidating messaging functionality into a single multi-functional proxy.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for messaging between operating system containers includes receiving, by a first proxy in a first user space container, a first message from a first service in the first user space container, the first message sent to the first proxy using a first messaging mechanism, forwarding, by the first proxy, the first message to a second proxy in a second user space container, the first message sent to the second proxy using a second messaging mechanism that is different than the first messaging mechanism, and delivering, by the second proxy, the first message to a second service in the second user space container.