Kernel System Call Selection for CPU Security and Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern CPU architectures face security vulnerabilities due to techniques like speculative execution and out-of-order execution, which can lead to unauthorized access to confidential data, compromising data integrity and security.
Innovation Solution
Implementing a system call execution control mechanism that selects between safety-oriented and throughput-oriented system calls based on application reliability and data confidentiality, where safety-oriented system calls include permission confirmation and cache flushes, while throughput-oriented system calls skip these steps to enhance processing efficiency without compromising security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If speculative execution and out-of-order execution techniques are used to improve CPU computation performance, then processing speed and throughput are enhanced, but security vulnerabilities arise that allow unauthorized access to confidential data
Solution Approach 1:
The patent segments the system call handling into multiple types (first type with full security checks and cache flushes, second type with reduced checks) based on the reliability of the calling application. This allows different security levels to be applied selectively, maintaining high security for untrusted applications while enabling faster processing for trusted applications, thus resolving the contradiction between performance and security.
Solution Approach 2:
The patent dynamically adjusts the system call processing mode based on the reliability assessment of the application. The kernel selectively applies different processing paths (with or without cache flushes, with or without permission checks) depending on the trust level of the calling process. This dynamic adaptation allows the system to optimize performance for reliable applications while maintaining security posture, resolving the static contradiction between speed and security.
2Reliability
If permission confirmation and cache flush processing are executed for every system call to ensure security, then data leakage is prevented, but data processing efficiency deteriorates
Solution Approach 1:
The patent applies different quality levels of security processing to different system calls based on the calling application's reliability. Trusted applications receive streamlined processing (second type system calls) with reduced security checks, while untrusted applications receive full security processing (first type system calls). This localized differentiation of security measures resolves the contradiction by applying appropriate security intensity only where needed.
Solution Approach 2:
The patent changes the processing parameters (security check depth, cache flush execution) based on the reliability parameter of the calling application. By adjusting these parameters dynamically, the system achieves optimal balance between security and efficiency for different workloads, resolving the contradiction between maintaining high security standards and achieving fast data processing.
3Adaptability or versatility
If multiple system calls are associated with one system call number to enable selective execution, then flexibility and adaptability are improved, but system complexity increases
Solution Approach 1:
The patent segments system calls into different types (first type with full security, second type with reduced security) that share the same system call number. This segmentation allows the kernel to select the appropriate processing path based on application reliability, providing flexibility without requiring multiple separate system call numbers. The segmented approach manages complexity by organizing variations around a unified interface.
Solution Approach 2:
The patent makes a single system call number serve multiple functions by associating it with different types of system calls. The same system call number can trigger different processing modes depending on the calling application's reliability, enabling one interface to handle multiple security scenarios. This universality reduces the number of interfaces needed while maintaining adaptability.
Data Source
AI summary
Provided are an information processing device and an information processing method that execute system call processing with improved processing efficiency without compromising security level. A kernel as a data processor that carries out system call execution control determines reliability of an application that executes system call invocation and reliability of processing data, and selects and executes either a safety-oriented system call A or a throughput-oriented system call B in according to a result of the determination. With the safety-oriented system call A, confirmation of permission to execute a system call and cache flush are executed, but with the throughput-oriented system call B, the confirmation of permission to execute a system call and the cache flush are skipped.


