Device Driver Cross Ring Access Control via Memory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face limitations in providing secure cross ring access protection for memory accesses from higher to lower protection rings, particularly for device drivers, which can lead to security vulnerabilities and legacy driver malfunction.

Innovation Solution

A system that configures a memory page table for each device driver to disable cross ring memory accesses, intercepts and analyzes attempted accesses, and uses a remote malware analysis server to determine if the driver is malicious, updating the page table to allow or deny access based on the analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cross ring access protection is globally enforced, then system security is improved, but legacy device drivers stop functioning properly

Engineering Contradiction:
Improvesystem securityVSAvoidlegacy device driver compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides the device driver population into segments: trusted drivers and untrusted drivers. Trusted drivers are loaded into a trusted memory region with cross-ring access enabled, while untrusted drivers are loaded into an untrusted memory region with cross-ring access disabled. This segmentation allows the system to enforce security for untrusted drivers while maintaining compatibility with legacy trusted drivers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different security policies to different memory regions rather than uniformly across the entire system. The trusted memory region has relaxed security policies allowing cross-ring accesses, while the untrusted memory region has strict security policies blocking such accesses. This local differentiation resolves the contradiction by providing appropriate security where needed while preserving legacy functionality where trusted.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If cross ring access protection is not enforced, then legacy device drivers function properly, but security vulnerabilities arise

Engineering Contradiction:
Improvelegacy device driver compatibilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

By segmenting device drivers into trusted and untrusted categories and assigning them to different memory regions, the system can disable cross-ring access protection for legacy trusted drivers (maintaining compatibility) while enabling it for untrusted drivers (preventing security vulnerabilities).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a memory region identifier and security module as intermediaries between device drivers and the memory access mechanism. This intermediary layer automatically determines whether cross-ring access should be permitted based on the driver's trust status, eliminating the need for drivers to implement security checks themselves while maintaining legacy driver functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If device drivers implement cross ring access APIs, then secure access is enabled, but device driver complexity increases

Engineering Contradiction:
Improvesecure cross ring accessVSAvoiddevice driver implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs automatic security verification of device drivers before loading them into memory regions. The security module independently determines whether a driver is trusted and assigns it to the appropriate memory region without requiring the driver to implement self-verification or use complex APIs. This self-service approach maintains security while reducing driver complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The security module acts as an intermediary that handles all security-related decisions and API implementations. Device drivers simply load and execute; the security module automatically manages cross-ring access permissions based on the driver's trust status, eliminating the need for drivers to directly implement or manage complex security APIs.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If all device drivers are allowed to run without cross ring access protection, then device driver functionality is maintained, but the ability to provide cross ring access protection is limited

Engineering Contradiction:
Improvedevice driver functionalityVSAvoidcross ring access protection capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the system into trusted and untrusted memory regions with different security policies. This segmentation enables cross-ring access protection capability for untrusted drivers while maintaining full functionality for trusted drivers, resolving the contradiction between functionality and protection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies cross-ring access protection locally to the untrusted memory region rather than globally. This allows the system to provide protection capability where needed (untrusted drivers) while maintaining full functionality elsewhere (trusted drivers), thus achieving both objectives simultaneously.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2973175B1Managing device driver cross ring accesses
Publication Date: 2019.07.31 INTEL CORP
  • EP2973175B1 patent drawingFigure 1
  • EP2973175B1 patent drawingFigure 2~3
  • EP2973175B1 patent drawingFigure 4

AI summary

Technologies managing cross ring memory accesses by a device driver on a computing device includes configuring a memory page table associated with the device driver to disable cross ring memory accesses by the device driver, trapping attempted cross ring memory accesses by the device driver, and denying the attempted cross ring memory access if the device driver is determined to be malicious. If the device driver is determined not to be malicious, the memory page table is updated to allow the attempted cross ring memory access. The device driver may be analyzed to determine whether the device driver is malicious by comparing the device driver and the attempted cross ring memory access to security data, such as a device driver fingerprint and/or cross ring memory access heuristics, stored on the computing device.