Kernel System Call Selection for CPU Security and Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputation performanceVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedata securityVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvesystem call selection flexibilityVSAvoidsystem call management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20230236906A1Information processing device, information processing method, and program
Publication Date: 2023.07.27 SONY GROUP CORP
  • US20230236906A1 patent drawing
  • US20230236906A1 patent drawing
  • US20230236906A1 patent drawing

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.