Dynamic Taint Tracking via Augmented Classes

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity monitoring capabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If taint-tracking mechanisms are added to existing runtime environments, then security monitoring capability is improved, but performance overhead increases

Engineering Contradiction:
Improvesecurity monitoring capabilityVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvesecurity monitoring capabilityVSAvoidportability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

4Reliability

If taint-tracking mechanisms modify the runtime environment in a non-pluggable manner, then security monitoring capability is improved, but maintainability deteriorates

Engineering Contradiction:
Improvesecurity monitoring capabilityVSAvoidmaintainability
Core Design Contradiction:
ReliabilityVSEase of repair

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10783243B2Dynamic, non-invasive taint tracking using auto-generated datatypes
Publication Date: 2020.09.22 SAP SE
  • US10783243B2 patent drawing
  • US10783243B2 patent drawing
  • US10783243B2 patent drawing

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.