Software Transformation for Security Policy Enforcement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for enforcing information security policies face challenges with low precision in static methods and high runtime overhead in dynamic methods, failing to effectively manage information flow and declassification policies.

Innovation Solution

A hybrid approach combining static analysis and runtime monitoring, where static analysis identifies potential information flow violations and runtime monitoring is focused only on flagged violations, reducing unnecessary runtime checks and overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If static analysis is used to enforce information security policies, then precision in identifying violations is improved, but runtime overhead increases due to comprehensive checks

Engineering Contradiction:
Improveprecision in identifying information flow violationsVSAvoidruntime overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs static analysis before runtime execution to pre-identify potential information flow violations. By analyzing the program statically and generating a violation map in advance, the system prepares security check information beforehand, avoiding the need for comprehensive runtime analysis and reducing runtime overhead while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the security enforcement process into two distinct phases: static analysis phase (offline) and runtime monitoring phase (online). The static analysis phase identifies potential violations and creates a violation map, while the runtime phase only checks against pre-identified violations. This segmentation allows comprehensive analysis to be performed offline, reducing the burden during runtime execution.

Inventive Principle:
Principle #1Segmentation

2Reliability

If runtime monitoring is applied to all potential violations, then security enforcement is improved, but system performance deteriorates due to excessive checks

Engineering Contradiction:
Improvesecurity enforcementVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different levels of monitoring intensity to different parts of the program based on the violation map generated by static analysis. Only specific locations identified as potential violation points are monitored at runtime, while other parts of the program execute without additional security checks. This localized approach maintains security enforcement where needed while preserving system performance elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial monitoring at runtime by only checking against the subset of violations identified in the static analysis phase, rather than implementing comprehensive runtime monitoring for all possible violations. This partial action approach provides sufficient security enforcement for the identified critical paths while avoiding the performance penalty of exhaustive monitoring.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If comprehensive static analysis is performed, then coverage of security policies is improved, but false positive rate increases

Engineering Contradiction:
Improvecoverage of security policiesVSAvoidfalse positive rate
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system introduces a violation map as an intermediary artifact between static analysis and runtime monitoring. The static analysis phase generates this violation map that captures potential information flow violations with their contextual information. This intermediary structure allows the system to maintain comprehensive policy coverage while filtering out false positives by providing contextual information that can be used to make more precise determinations at runtime.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10904291B1Low-overhead software transformation to enforce information security policies
Publication Date: 2021.01.26 HRL LAB
  • US10904291B1 patent drawing
  • US10904291B1 patent drawing
  • US10904291B1 patent drawing

AI summary

Described is a system for enforcing software policies. The system transforms an original software by inserting additional instructions into the original software. The additional instructions have the effect of determining, at run-time, whether proceeding with execution of the original software is in accordance with a predefined policy. Transforming the original software relies on software analysis to determine whether any run-time checks normally inserted into the original software can be safely omitted. The transformed software prevents unauthorized information from passing to the network.