Process I/O Interception via Parasite Code Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems cannot modify existing compiled computer programs to access or modify communication channels between processes and system resources, such as files, without requiring recompilation or restart.
Innovation Solution
A method and system that interrupt the execution of a process, load parasite code, establish a communication channel between processes, update file descriptor tables to reference the channel, and transfer system resources, allowing data processing actions like encryption and decryption without recompiling or restarting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If parasite code is loaded into a running process to modify its behavior, then the program can be modified without recompilation, but the system stability and security may be compromised
Solution Approach 1:
The patent uses file descriptor tables as an intermediary mechanism between the running process and system resources. By modifying the file descriptor table to redirect I/O operations through a communication channel, the system enables program modification without directly injecting code into the running process, thus maintaining stability while achieving adaptability
Solution Approach 2:
The patent segments the I/O operation into multiple components: the original process, the file descriptor table, the communication channel, and the target process. This segmentation allows modification of the I/O path without affecting the integrity of the original process execution, resolving the contradiction between modifiability and stability
2Adaptability or versatility
If file descriptor tables are updated to reference communication channels, then data flow can be intercepted and processed, but the complexity of the system increases
Solution Approach 1:
The file descriptor table is given multiple functions: it continues to serve as the standard I/O interface for processes while simultaneously acting as a redirection mechanism for intercepting data flow. This multi-functionality enables data flow control without adding separate complex infrastructure, as the existing file descriptor mechanism handles both original and intercepted operations
3Adaptability or versatility
If communication channels are established between processes to transfer system resources, then flexibility in resource management is improved, but the time and overhead for resource transfer increases
Solution Approach 1:
The communication channel is established and file descriptor table is updated before the actual data transfer occurs. This preliminary setup allows the I/O operations to be redirected seamlessly, so that during normal operation, data flows through the communication channel without additional transfer overhead, as the redirection is already in place
Data Source
AI summary
System for redirecting input/output, which performs, on a CPU, interrupting an execution of a first process with a first object descriptor table associated with the first process, the first object descriptor table including a reference for the first process to a first system resource; loading parasite code into memory, wherein the parasite code provides access to a second system resource under control of a second process; the second process forcing a switch of execution from the first process to the parasite code, and replacing in the first object descriptor table the reference for the first process to the system resource by a reference to the second system resource, thereby causing the input/output to go through the second system resource instead of the first system resource; and restoring the execution of the first process after the execution of the parasite code is complete.


