Dynamic Taint Tracking via Augmented Classes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing taint-tracking mechanisms in runtime environments increase memory usage and performance overhead, and are often invasive, affecting portability and maintainability.
Innovation Solution
A taint-aware environment with a proxy entry point component that generates augmented classes with taint-tracking functionality, allowing continuous monitoring and remediation of tainted data or code, and is easily pluggable into various runtime environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If taint-tracking mechanisms are added to existing runtime environments, then security monitoring capability is improved, but memory usage and performance overhead increase
Solution Approach 1:
The patent creates a copy of the runtime environment with taint-tracking capabilities added. Instead of modifying the original runtime environment directly, a proxied version is generated that includes security monitoring functionality. This allows the original environment to remain lightweight while the copied version provides enhanced security monitoring.
Solution Approach 2:
The patent introduces a proxy runtime environment as an intermediary layer between the application and the original runtime environment. This proxy layer handles taint-tracking operations, allowing security monitoring without directly burdening the original runtime environment with additional memory overhead.
2Reliability
If taint-tracking mechanisms are added to existing runtime environments, then security monitoring capability is improved, but performance overhead increases
Solution Approach 1:
The patent generates a copied runtime environment that includes taint-tracking functionality. This copying approach allows performance monitoring to be added without degrading the performance of the original runtime environment, as the overhead is isolated to the proxy layer.
Solution Approach 2:
The patent implements dynamic taint-tracking where the monitoring behavior can be adjusted based on runtime conditions. The system can dynamically enable or disable tracking for different data flows and contexts, optimizing performance by avoiding unnecessary monitoring overhead in safe contexts.
3Reliability
If taint-tracking mechanisms modify the runtime environment in a non-pluggable manner, then security monitoring capability is improved, but portability and maintainability deteriorate
Solution Approach 1:
The patent segments the runtime environment into modular components, with taint-tracking functionality separated as an independent module. This modular architecture allows the security monitoring capabilities to be selectively applied and removed without affecting the core runtime environment, improving portability and maintainability.
Solution Approach 2:
By creating a copy of the runtime environment with taint-tracking added, the patent ensures that the original environment remains unchanged and portable. The modified copy can be used for security monitoring while the original can be freely deployed without security modifications.
4Reliability
If taint-tracking mechanisms modify the runtime environment in a non-pluggable manner, then security monitoring capability is improved, but maintainability deteriorates
Solution Approach 1:
The patent divides the system into distinct segments: the original runtime environment and the taint-tracking overlay. This segmentation makes maintenance easier because issues can be isolated to specific segments, and the taint-tracking module can be independently updated, debugged, and maintained without affecting the core runtime environment.
Data Source
AI summary
Systems and methods are provided herein for dynamic, non-invasive taint tracking using auto-generated datatypes. A proxy entry point component of a taint-aware environment continuously monitors for a request to initiate an application. The application has an associated runtime environment and profile parameters specific to the application. Upon identifying the request, a core component of the taint-aware environment generates a set of augmented classes based on the profile parameters. The set of augmented classes contains taint-tracking functionality. The proxy entry point component modifies an initiation pathway of the application to force the runtime environment to retrieve the set of augmented classes prior to execution of the application. The runtime environment continuously monitors for tainted data or tainted code passed through or contained within the application based on the taint-tracking functionality of the set of augmented classes.


