Partitioning Microkernel for High Assurance Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current operating systems, such as Windows and Linux, are large and insecure, making it difficult to achieve high assurance computing due to their monolithic nature, which allows viruses and malware to penetrate and hide within the system, compromising detection mechanisms.
Innovation Solution
A high assurance computing system utilizing a partitioning microkernel (PMK) that enforces memory isolation and partitioning, employing multiple independent levels of security (MILS) and a memory management unit (MMU) to validate data before processing, and includes security processes for inline data inspection and protection mechanisms like firewalls and virus checking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a monolithic operating system is used, then ease of operation and functionality are improved, but security and reliability deteriorate due to large code base and vulnerability to malware
Solution Approach 1:
The system divides the operating system into a small, secure microkernel and separate user-space processes. The microkernel contains only essential functions (memory management, process scheduling, inter-process communication), while other services run as isolated processes. This segmentation reduces the attack surface and prevents malware from compromising the entire system through a single vulnerability.
Solution Approach 2:
The invention extracts security-critical functions from the monolithic operating system and places them in a separate, verified microkernel. By taking out the core kernel functions and isolating them from user-space applications, the system achieves higher security assurance while maintaining the functionality of the original operating system through process isolation.
2Reliability
If a verified small kernel is used, then security and reliability are improved, but device complexity and implementation difficulty increase
Solution Approach 1:
The microkernel acts as an intermediary between hardware and user-space processes, providing a simplified interface for communication and resource management. This intermediary layer manages the complexity of direct hardware access while maintaining security, allowing the verified kernel to interact with diverse hardware and applications through standardized mechanisms.
Solution Approach 2:
The microkernel is designed to be universal and multi-functional, handling memory management, process scheduling, inter-process communication, and device I/O through a unified architecture. By consolidating these essential functions in a single verified component, the system reduces overall complexity while maintaining security, as the microkernel can service multiple processes and devices through standardized interfaces.
3Reliability
If memory partitioning and isolation are enforced, then security is improved by preventing malware propagation, but processing overhead and system complexity increase
Solution Approach 1:
The invention merges memory management and process isolation functions into the microkernel, which already handles process scheduling and resource allocation. By combining these security-critical functions in the same verified component, the system achieves strong isolation without proportionally increasing complexity, as the microkernel manages all partitions through unified data structures and control mechanisms.
Solution Approach 2:
The system creates equipotential memory partitions where each process operates in an isolated environment with equal security privileges. Each partition has its own address space and resources, preventing malware in one partition from affecting others. The microkernel enforces these boundaries uniformly across all partitions, simplifying the security model while maintaining strong isolation.
4Measurement precision
If inline security processing is implemented, then detection precision is improved, but processing speed and productivity decrease
Solution Approach 1:
The system performs preliminary security validation by verifying the integrity of processes and memory partitions before they are activated. The microkernel checks process credentials, validates memory allocations, and ensures isolation boundaries are correctly established before allowing processes to run. This preliminary action prevents malicious code from executing, eliminating the need for continuous inline scanning during runtime and maintaining processing speed.
Solution Approach 2:
Each process is responsible for maintaining its own security attributes and integrity information, with the microkernel providing verification services. Processes self-report their state and credentials to the kernel, which validates them against security policies. This self-service approach distributes the security checking burden, reducing the overhead on the kernel while maintaining high detection precision through continuous verification of process integrity.
Data Source
AI summary
A computing system contains and uses a partitioning microkernel (PMK) or equivalent means for imposing memory partitioning and isolation prior to exposing data to a target operating system or process, and conducts continuing memory management whereby data is validated by security checks before or between sequential processing steps. The PMK may be used in conjunction with an Object Request Broker.


