User Space Networking Shim Layer for Secure Kernel Stack Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualized networks with custom layer 2 to layer 7 networking stacks face integration challenges due to elevated permissions and complexity, posing security risks and restricting access to advanced operating system features, especially when integrating new hardware.
Innovation Solution
A shim layer is introduced as a bridge between user space applications and the operating system networking stack, translating kernel events into user space packet types for seamless integration, managing connections, and facilitating access to kernel functionalities without redesigning the custom networking stack.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If custom networking stacks are implemented in user space with elevated permissions for direct packet processing, then packet processing efficiency is improved, but security risks increase
Solution Approach 1:
The patent introduces a shim layer as an intermediary component between user space applications and the kernel networking stack. This shim layer acts as a mediator that enables user space applications to leverage kernel networking capabilities without requiring elevated permissions, thus maintaining security while improving packet processing efficiency. The shim layer translates application-level networking operations into kernel-compatible operations.
2Device complexity
If custom networking stacks are implemented in user space, then access to advanced operating system features is restricted, but integration complexity is reduced
Solution Approach 1:
The shim layer serves as an intermediary that bridges user space applications and kernel networking features. It provides application-level functionality while maintaining access to advanced operating system networking features through the kernel stack, thus resolving the contradiction between reduced integration complexity and access to OS features.
Solution Approach 2:
The shim layer is designed to be universal, supporting multiple networking operations and features through a single interface. It can handle various packet processing tasks, connection management, and networking protocols, making the system adaptable to different operating system features without increasing integration complexity.
3Reliability
If user space applications require elevated permissions for direct packet processing, then packet processing capability is improved, but security risks associated with high privileges increase
Solution Approach 1:
The shim layer acts as a mediator that enables user space applications to access kernel networking capabilities without requiring elevated permissions. It translates application-level packet processing operations into kernel-compatible operations, maintaining security while preserving packet processing capability.
Solution Approach 2:
The networking stack is segmented into distinct layers: user space applications, shim layer, and kernel networking stack. This segmentation allows each layer to operate with appropriate permissions, with the shim layer handling the translation and coordination, thus maintaining security while preserving functionality.
Data Source
AI summary
The disclosure describes systems and methods for leveraging the underlying operating system networking stack in a user space networking stack with application layer functionality. The processors can be configured to install a shim layer as a network driver for a user space application implementing a user space portion. The shim layer can use an operating system portion. The shim layer can facilitate a first transport layer connection handshake with the user space application to establish a transport layer connection with a remote device in the user space portion. The shim layer can receive from the operating system portion an event indicating the transport layer connection was established via a second transport layer connection handshake between the operating system portion and the remote device. The shim layer can facilitate, responsive to receiving the event, the first transport connection handshake with the user space application.


