Hypervisor Memory Page Protection via Token Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current antivirus solutions are ineffective against rootkit technologies that conceal resources from antivirus applications by exploiting operating system vulnerabilities at the kernel level, making it difficult for present-day antivirus applications to detect malicious programs.

Innovation Solution

A system and method using a hypervisor to protect memory pages by detecting and verifying tokens associated with trusted programs, establishing a protected communication channel, and performing checksum verification to ensure data integrity and confidentiality, with the hypervisor generating unique tokens for each operating system and periodically checking for changes to restore the trusted program if necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hypervisor is used to protect memory pages, then security and isolation are improved, but device complexity increases

Engineering Contradiction:
Improvememory protectionVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments memory into protected and unprotected pages, with the hypervisor managing only the critical protected pages. This segmentation allows memory protection without requiring the hypervisor to manage all memory operations, reducing complexity while maintaining security for critical data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hypervisor acts as an intermediary layer between the operating system and physical memory, selectively intercepting and verifying access to protected pages through token validation and checksum verification, providing security without requiring complete system restructuring.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If token verification and checksum validation are performed, then detection precision is improved, but processing time increases

Engineering Contradiction:
Improvemalware detectionVSAvoidverification time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs verification actions selectively rather than universally - only protected memory pages subject to token and checksum verification undergo these checks, while other pages are accessed normally. This partial application of verification maintains high detection precision for critical areas without incurring system-wide time penalties.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Tokens and checksums are pre-computed and stored with protected memory pages during their creation or loading. When access is requested, the hypervisor simply validates these pre-computed values rather than performing complex analysis in real-time, significantly reducing verification time while maintaining detection precision.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the hypervisor operates at a lower level than the kernel, then security against rootkits is improved, but ease of operation deteriorates

Engineering Contradiction:
Improverootkit detectionVSAvoidsystem management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The hypervisor extracts and isolates the critical security function of protected memory page verification from the kernel level operations. By handling only specific protected pages rather than all system operations, it maintains superior security against rootkits while presenting a simplified interface to the operating system for routine operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11269996B2System and method for protecting memory pages
Publication Date: 2022.03.08 AO KASPERSKY LAB
  • US11269996B2 patent drawing
  • US11269996B2 patent drawing
  • US11269996B2 patent drawing

AI summary

A method for protecting memory pages of a computing device using a hypervisor includes detecting, by a hypervisor, a token associated with the trusted program, in response to receiving a hypercall from a trusted program. The token associated with the trusted program is checked against a saved token of the hypervisor to determine trustworthiness of the trusted program. The hypervisor creates a memory page containing a safe hypercall address of the hypervisor. Addresses of the memory page are transmitted from the hypervisor to the trusted program. The hypervisor allows execution of the hypercall by the trusted program accessing the safe hypercall address found at the addresses of the memory page.