Runtime Information Leakage Detection via Concrete Value Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for detecting information leakage in web and mobile applications are overly conservative and inefficient, as they fail to distinguish between actual and non-vulnerable data flows, leading to false positives and high overhead, and lack accuracy in quantifying information release.
Innovation Solution
A runtime tracking method that records concrete values at source and sink statements, using thread IDs to compute similarity between values, allowing for efficient and accurate detection of potential information leakage without instrumenting the entire program, focusing only on source and sink statements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If standard source-to-sink data flow tracking is used to detect information leakage, then potential leakage vulnerabilities are identified, but false positives occur and actual vulnerabilities are not distinguished from non-vulnerable data flows
Solution Approach 1:
The patent changes the detection parameter from simple source-to-sink reachability to quantitative information flow measurement. It introduces a quantitative metric that measures the actual amount of information leaked by comparing concrete values at source and sink statements, transforming the detection approach from binary (leakage yes/no) to continuous (amount of leakage), thereby improving both precision and reducing false positives
Solution Approach 2:
The patent replaces the mechanical data flow tracking mechanism with a value-based comparison mechanism. Instead of tracking data flow paths through the program, it directly compares concrete values exhibited at source and sink statements during runtime, substituting the complex path-tracking system with a simpler value-matching system that is both more accurate and less prone to false positives
2Measurement precision
If entire program instrumentation is performed to track data flow, then comprehensive leakage detection is achieved, but overhead becomes excessively high
Solution Approach 1:
The patent extracts only the essential elements needed for leakage detection: concrete values at source and sink statements. It removes the unnecessary overhead of instrumenting the entire program by focusing instrumentation only at critical points (source and sink statements), thereby achieving comprehensive leakage detection with minimal performance impact
Solution Approach 2:
The patent segments the program analysis into discrete observable events at source and sink statements. By dividing the continuous data flow tracking into discrete value comparisons at specific points, it reduces the computational overhead while maintaining detection completeness, as only relevant value transitions are captured and analyzed
3Loss of information
If qualitative source-to-sink tracking is used, then leakage paths are identified, but quantitative measurement of information release is lacking
Solution Approach 1:
The patent transforms the measurement parameter from qualitative (presence/absence of data flow) to quantitative (amount of information leaked). It introduces a numerical metric that counts the number of matching concrete values between source and sink statements, providing a precise quantitative measurement of information release rather than merely indicating whether leakage occurred
Data Source
AI summary
A method includes recording, during execution of a program and by a computing system, concrete values exhibited at source and sink statements in the program. The source statements read confidential information and the sink statements release the confidential information to an outside environment. The method includes determining, by the computing system, using at least the recorded concrete values and source-sink pairs whether information leakage meeting one or more quantitative criteria occurs by the program. Apparatus and program products are also disclosed.


