Software Transformation for Security Policy Enforcement
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If runtime monitoring is applied to all potential violations, then security enforcement is improved, but system performance deteriorates due to excessive checks
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.
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.
3Quantity of substance
If comprehensive static analysis is performed, then coverage of security policies is improved, but false positive rate increases
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.
Data Source
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.


