Partitioning Microkernel for High Assurance Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of operationVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If a verified small kernel is used, then security and reliability are improved, but device complexity and implementation difficulty increase

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If memory partitioning and isolation are enforced, then security is improved by preventing malware propagation, but processing overhead and system complexity increase

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #12Equipotentiality

4Measurement precision

If inline security processing is implemented, then detection precision is improved, but processing speed and productivity decrease

Engineering Contradiction:
Improvedetection precisionVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7840763B2Methods and systems for achieving high assurance computing using low assurance operating systems and processes
Publication Date: 2010.11.23 SCA TECHNICA INC
  • US7840763B2 patent drawing
  • US7840763B2 patent drawing
  • US7840763B2 patent drawing

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.