Kernel Error Prevention via Sanitizer-Derived Trigger Conditions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Operating system kernels are prone to errors that can cause system crashes or be exploited by attackers, and current patching processes take an average of 66 days, leaving systems vulnerable during this time.
Innovation Solution
A two-layer architecture that analyzes sanitizer reports to construct triggering conditions for kernel errors, skipping error sites and terminating malicious processes to prevent errors from being triggered, using sanitizers like KASAN, KMSAN, and KCSAN to generate reports and implement helper functions at runtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If official patches are released to fix kernel errors, then security and reliability are improved, but the time delay of 66 days leaves systems vulnerable
Solution Approach 1:
The system performs preliminary actions by constructing triggering conditions for kernel errors in advance, before official patches are released. The infrastructure proactively identifies and prepares countermeasures for potential kernel vulnerabilities, allowing the system to prevent exploitation before the 66-day patch window expires.
Solution Approach 2:
The infrastructure applies preliminary anti-action by pre-constraining the triggering conditions of kernel errors. Before attackers can exploit vulnerabilities, the system has already established constraints that prevent the error-triggering conditions from being met, effectively neutralizing threats before they can cause harm.
2Reliability
If sanitizers are used to detect kernel errors, then security is improved, but performance overhead increases
Solution Approach 1:
The infrastructure extracts only the essential triggering conditions from comprehensive sanitizer reports. Instead of implementing all sanitizer checks, the system identifies and implements only the specific conditions that would trigger known kernel errors, reducing the performance overhead while maintaining security effectiveness.
Solution Approach 2:
The system applies partial action by implementing a subset of error prevention measures rather than all possible sanitizer checks. The infrastructure focuses on constraining specific triggering conditions for known vulnerabilities, providing sufficient security protection without the full performance cost of comprehensive sanitization.
3Reliability
If triggering conditions are constrained to prevent errors, then security is improved, but system complexity increases
Solution Approach 1:
The infrastructure segments the kernel error prevention problem into distinct triggering conditions for different types of errors. Each error type (use-after-free, out-of-bound access, etc.) is handled by specific, modular constraint mechanisms, making the overall system more manageable and maintainable despite the multiple security measures implemented.
Data Source
AI summary
A method for preventing an error from being triggered includes receiving a sanitizer report of a program as an input, analyzing the sanitizer report to find information about an error in a sanitized kernel image, mapping the information about the error to a native kernel image, constructing a triggering condition based on the information in a native kernel image, and in a case where the triggering condition is met, sending a command to an operating system to kill the program in the native kernel image.


