Device Driver Cross Ring Access Control via Memory Segmentation
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If cross ring access protection is globally enforced, then system security is improved, but legacy device drivers stop functioning properly
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.
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.
2Adaptability or versatility
If cross ring access protection is not enforced, then legacy device drivers function properly, but security vulnerabilities arise
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).
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.
3Reliability
If device drivers implement cross ring access APIs, then secure access is enabled, but device driver complexity increases
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2~3
Figure 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.