Kernel Driver Code Injection for Application Control
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
Data Source
Figure 1~2
Figure 3
Figure 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.