Kernel Driver Code Injection for Application Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for controlling a process of one application module by another in a computer system often fail due to privilege issues and security interceptions, leading to code injecting failures.

Innovation Solution

A method involving a driving module that determines the memory space of a first application, injects codes from a second application, and triggers the first application module to execute these codes, utilizing high privilege and secure operations to avoid interceptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If an application module attempts to inject codes into another application module's process, then control over the target process can be achieved, but the operation may fail due to insufficient privilege or be intercepted as a dangerous operation

Engineering Contradiction:
Improvecode injection success rateVSAvoidsecurity interception
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a driver module as an intermediary component operating at the kernel layer. This driver module acts as a mediator between application modules, enabling the source application module to inject codes into the target application module's process through the driver module's assistance. The driver module's high privilege level allows it to bypass security restrictions that would normally block inter-application code injection, thus resolving the contradiction between achieving code injection control and avoiding security interceptions

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the operational dimension from user space to kernel space by introducing a driver module at the kernel layer. Instead of attempting code injection directly between application modules in user space (where privilege restrictions apply), the system transitions to the kernel layer dimension where the driver module has elevated privileges. This dimensional shift allows code injection operations to succeed without being blocked by user-level security mechanisms

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If an application module uses high privilege to inject codes, then code injection can be achieved, but the system complexity increases due to requiring driver module

Engineering Contradiction:
Improvecode injection success rateVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The driver module is designed with multi-functionality to justify its inclusion in the system. Beyond facilitating code injection, the driver module can perform other system-level operations such as process management, memory management, and security control. This universal functionality means the driver module serves multiple purposes within the system, reducing the relative complexity burden by providing broad utility across different operations rather than being a single-purpose component

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

Data Source

PatentEP2979177B1Method for controlling process of application and computer system
Publication Date: 2018.04.18 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • EP2979177B1 patent drawingFigure 1~2
  • EP2979177B1 patent drawingFigure 3
  • EP2979177B1 patent drawingFigure 4~5

AI summary

A method for controlling a process of an application and a computer system are provided, which are applied in the field of computer technology. When a driving module in the computer system controls a process of a first application, the driving module may firstly determine a memory space for the process of the first application, inject codes of a second application into the memory space, and then trigger a first application module in the computer system to execute the process of the first application injected with the codes. Since the driving module has a relatively high calling privilege, the code injecting failure due to a low privilege is avoided. Since the security of operations of the driving module is determined by the driving module itself, this operation for injecting codes will not be considered as a dangerous operation and will not be intercepted.