Virtual Kernel Module for Container Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing container technology faces challenges in container security and kernel runtime customizability due to the global sharing of Linux kernels, which leads to security concerns and performance issues.
Innovation Solution
A container-oriented Linux kernel virtualizing system is introduced, featuring a loadable kernel module that allows for the creation of a customized virtual kernel for each container. This system reconstructs kernel resources, operates in a separate address space, and provides enhanced security through local integration and optimization of global security modules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a complete guest operating system and hardware for virtualization are used, then container isolation and security are improved, but resource usage and operational efficiency deteriorate
Solution Approach 1:
The patent creates a copy of the kernel address space for each container through the copy_init_mm() function, which duplicates the parent process's memory mapping structure. This allows each container to have its own isolated kernel view without requiring a complete separate operating system, thus providing isolation while maintaining resource efficiency.
Solution Approach 2:
The patent segments the kernel address space into container-specific portions by creating separate mm_struct structures for each container. The kernel virtualizing layer divides the monolithic kernel address space into isolated segments that can be independently managed, providing both isolation and resource efficiency.
2Use of energy by moving object
If a shared Linux kernel is used across all containers, then resource efficiency is improved, but container security and kernel customization deteriorate
Solution Approach 1:
The patent introduces a kernel virtualizing layer as an intermediary between containers and the physical kernel. This layer (implemented through loadable kernel modules) acts as a mediator that provides each container with a virtualized kernel view, enabling security isolation and customization while still utilizing the underlying shared physical kernel for resource efficiency.
Solution Approach 2:
The patent creates virtual copies of the kernel address space for each container through copy_init_mm(), allowing containers to have customized kernel configurations and security policies without modifying the shared physical kernel. This copying mechanism enables both security isolation and resource efficiency simultaneously.
3Reliability
If kernel namespace mechanism is used for isolation, then some kernel parameter isolation is improved, but global privilege security concerns deteriorate
Solution Approach 1:
The patent introduces a kernel virtualizing layer as an intermediary that sits between the namespace mechanism and the actual kernel resources. This layer provides an additional security boundary that prevents direct access to global kernel privileges, thereby mitigating security concerns while maintaining parameter isolation capabilities.
Solution Approach 2:
The patent implements a thin virtualizing layer (through loadable kernel modules) that wraps around the kernel address space. This flexible shell provides security isolation without requiring heavy-weight virtualization mechanisms, enabling parameter isolation while reducing exposure to global privilege security risks.
4Reliability
If secure container schemes like gVisor or Kata Container are used, then container security is improved, but performance and overhead deteriorate
Solution Approach 1:
The patent creates lightweight copies of the kernel address space using copy_init_mm() instead of requiring complete operating system copies. This copying approach provides security isolation similar to gVisor or Kata Container but with significantly lower overhead, thus improving performance while maintaining security.
Solution Approach 2:
The patent uses loadable kernel modules that can be dynamically loaded and unloaded for each container lifecycle. These virtualized kernel instances are lightweight and can be quickly created and destroyed, providing security isolation without the heavy performance penalties of traditional secure container schemes.
Data Source
AI summary
The present invention relates to a container-oriented Linux kernel virtualizing system, at least comprising: a virtual kernel constructing module, being configured to provide a virtual kernel customization template for a user to edit and customize a virtual kernel of a container, and generate the virtual kernel taking a form of a loadable kernel module based on the edited virtual kernel customization template; and a virtual kernel instance module, being configured to reconstruct and isolate a Linux kernel, and operate a virtual kernel instance in a separate address space in response to a kernel request from a corresponding container. The container-oriented Linux kernel virtualizing system of the present invention is based on the use of a loadable module.


