Runtime Application Self-Repair via Dynamic Policy Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic taint analysis methods require source code modifications, recompilation, and user consent for security vulnerability fixes, limiting their effectiveness and applicability in real-time security monitoring and self-repair of applications.

Innovation Solution

A method that instruments applications with a visually configurable policy, allowing for runtime modifications without source code changes, automatically detects and fixes security violations, and communicates policy updates across distributed application instances for self and distributed-repair.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing dynamic taint analysis methods are used to detect security vulnerabilities, then security analysis precision is improved, but source code modification and recompilation are required which reduces ease of operation and increases device complexity

Engineering Contradiction:
Improvesecurity analysis precisionVSAvoidease of operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces a policy configuration system as an intermediary layer between the application and security analysis. This mediator enables dynamic taint analysis through policy files rather than source code modifications, allowing security rules to be configured and updated without changing the application code itself, thus resolving the contradiction between analysis precision and ease of operation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary instrumentation of the application with taint tracking capabilities before runtime security analysis. By pre-configuring the application with instrumentation code and policy files, the system enables precise security analysis without requiring source code modifications during operation, addressing both precision and ease of operation requirements

Inventive Principle:
Principle #10Preliminary action

2Reliability

If existing dynamic taint analysis methods are used to detect security vulnerabilities, then security violation detection is improved, but user consent and application termination are required which reduces productivity and increases loss of time

Engineering Contradiction:
Improvesecurity violation detectionVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements self-service mechanisms where the system automatically detects, analyzes, and repairs security violations without requiring user consent or application termination. The self-repair functionality automatically generates and applies security patches, while distributed-repair shares repair information across multiple instances, eliminating productivity losses associated with manual intervention and application downtime

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where security violations are detected, analyzed, and repaired in real-time during application execution. The feedback mechanism allows the system to learn from detected violations and automatically adjust security policies, maintaining reliable security detection while ensuring continuous application operation and maximizing productivity

Inventive Principle:
Principle #23Feedback

3Reliability

If existing dynamic taint analysis methods are used, then security policy enforcement is improved, but source code modification requirements increase device complexity and reduce adaptability

Engineering Contradiction:
Improvesecurity policy enforcementVSAvoidadaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transforms static security policies into dynamic, runtime-configurable policies. The system allows security policies to be modified, updated, and adapted during application execution through policy files and configuration interfaces, eliminating the need for source code modifications and enabling flexible adaptation to new security requirements, thus resolving the contradiction between reliable enforcement and adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables security policy enforcement through parameter changes in configuration files rather than source code modifications. By allowing security parameters to be adjusted at runtime through policy configurations, the system maintains reliable security enforcement while providing high adaptability to different security requirements and application scenarios

Inventive Principle:
Principle #35Parameter changes

4Reliability

If security vulnerability fixes are applied through existing methods, then security reliability is improved, but recompilation and redeployment requirements increase loss of time and reduce productivity

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidloss of time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements self-service repair mechanisms that automatically generate and apply security patches without requiring recompilation or redeployment. The system repairs security vulnerabilities by dynamically modifying runtime behavior based on analyzed violation patterns, eliminating time-consuming build and deployment cycles while maintaining improved security reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary security analysis and prepares repair strategies during application execution before vulnerabilities are fully exploited. By pre-analyzing violation patterns and preparing security patches in advance, the system can rapidly deploy fixes without time-consuming recompilation and redeployment processes, reducing loss of time while ensuring security reliability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9684788B2Self-repair and distributed-repair of applications
Publication Date: 2017.06.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9684788B2 patent drawing
  • US9684788B2 patent drawing
  • US9684788B2 patent drawing

AI summary

A method is provided to instrument applications with an instrumentation policy that is visually configurable and allows for run-time modifications of the policy. Instrumentation is achieved without modifying the source code of the applications. Modification of the instrumentation policy of an application is applied without re-compiling, re-deploying, and re-provisioning the application. The instrumentation tracks the flow of values at run time throughout the execution of an application and fixes any security violation automatically by dynamically modifying any value that violates integrity or confidentiality.