Pathname Independent Binary Probing via Hash-Based Debugging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in applying runtime instrumentation, such as live patches, to applications and services running within containers or virtual machines, as they often require knowledge of the exact name and location of the application, service, or shared library, which can be complex due to multiple versions and installations across the system.
Innovation Solution
A probing application is created that uses build identifiers and debug information to modify the functionality of binary files during execution, independent of their location, by intercepting system calls and inserting object code into memory, allowing for live patching and instrumentation without relying on file names or paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If runtime instrumentation is applied using traditional methods, then patches can be applied to applications, but the system requires knowledge of exact name and location of applications which increases complexity
Solution Approach 1:
The patent introduces an intermediary hashing mechanism that transforms application file paths into hash values. This intermediary layer decouples the patching system from direct knowledge of application locations, allowing reliable patch application without requiring the system to track exact file paths and locations of applications and services.
2Adaptability or versatility
If multiple versions of applications are supported, then system versatility is improved, but difficulty in identifying correct version increases
Solution Approach 1:
The patent changes the identification parameter from human-readable file paths to cryptographic hash values. By computing hashes from application binaries and using them as unique identifiers, the system can reliably distinguish between multiple versions of applications and services, making version identification automated and accurate regardless of how many versions exist in the system.
3Duration of action of stationary object
If live patching is performed during execution, then system availability is maintained, but precision in targeting specific binary versions is required
Solution Approach 1:
The patent replaces the mechanical approach of path-based identification with a cryptographic hashing system. By substituting file path strings with hash values computed from the actual binary content, the system achieves precise targeting of specific binary versions during live patching, ensuring that patches are applied to the correct application version even when multiple versions coexist.
Data Source
AI summary
A system includes one or more processors in communication with a memory and configured to receive a task to probe a portion of the memory associated with a version of a binary file during execution of the binary file. The task includes a portion of object code and a hash identifier, both associated with the version of the binary file. A database mapping hash identifiers to debug information associated with installed binary files is accessed. Debug information for the version of the binary file associated with the hash identifier is retrieved. A probing application is built using the debug information and the portion of object code. Upon execution of the version of the binary file, the probing application places the object code into the portion of the memory.


