Value-Based Information Flow Tracking in Android
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current information flow tracking solutions for mobile devices suffer from usability and precision issues, including high processing costs, coarse-grained permissions, and the inability to differentiate between raw data leakage and computed inferences, leading to inaccurate reports and unnecessary pessimistic conclusions about legitimate apps.
Innovation Solution
A value-based information flow tracking system that tracks tainted data operation history and deploys on unmodified Android versions without requiring root access, using a sandbox mechanism to monitor numerical values and prevent sensitive data transmission by instrumenting numerical instructions and recording operands and return values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional taint-based data flow tracking is used, then data flow monitoring capability is provided, but processing cost increases and precision deteriorates due to tracking all instructions
Solution Approach 1:
The patent extracts only the essential arithmetic operations from the complete instruction set to track data flow. Instead of monitoring all instructions as in traditional taint-based approaches, the system selectively tracks only numerical operations (addition, subtraction, multiplication, division, modulus) that actually manipulate sensitive data values. This extraction reduces processing overhead while maintaining accurate data flow monitoring capability.
Solution Approach 2:
The patent changes the tracking parameter from binary taint status (tainted/not tainted) to actual numerical values. By storing and comparing actual data values rather than just their taint markers, the system achieves more precise data flow characterization. This parameter change enables differentiation between legitimate computed values and actual data leaks, improving measurement precision.
2Reliability
If traditional taint propagation is performed, then data flow tracking is achieved, but system complexity increases
Solution Approach 1:
The patent uses a simplified copying mechanism where actual numerical values are copied and stored in a data structure (array or hash map) rather than implementing complex taint propagation through the entire program. This copying approach maintains reliability by tracking actual values while reducing complexity compared to full taint propagation systems that must manage taint states across all program variables and control flows.
Solution Approach 2:
The patent applies partial action by tracking only the arithmetic operations that manipulate sensitive data, rather than implementing complete taint propagation for all instructions. This partial tracking is sufficient for detecting data leaks since arithmetic operations are the primary means of manipulating sensitive values, thereby reducing system complexity while maintaining adequate reliability.
3Ease of manufacture
If coarse-grained permissions are used, then implementation simplicity is maintained, but measurement precision deteriorates due to inability to differentiate data types
Solution Approach 1:
The patent applies local quality by differentiating tracking based on the specific arithmetic operation and data type involved. Instead of uniform coarse-grained permissions, the system implements fine-grained tracking for different numerical operations (addition, subtraction, multiplication, division, modulus) and different data types (integers, floats). This local differentiation enables precise detection of data leaks while maintaining implementation simplicity through a systematic approach to tracking each operation type.
Solution Approach 2:
The patent changes the permission model from coarse-grained (allow/deny at high level) to fine-grained parameter-based tracking. By monitoring the actual parameters of arithmetic operations (operands, operators, results) and comparing them against sensitive data values, the system achieves precise data leakage detection. This parameter change enables differentiation between legitimate computations and actual leaks.
4Reliability
If all data values are tracked, then complete data flow monitoring is achieved, but false positives increase due to inability to distinguish computed values from raw data
Solution Approach 1:
The patent performs preliminary action by storing sensitive data values in a data structure before they are processed. This pre-storage enables the system to recognize and track actual sensitive data throughout its transformation through arithmetic operations. By having the baseline sensitive values available beforehand, the system can accurately distinguish between computed values derived from sensitive data and actual data leaks, reducing false positives.
Solution Approach 2:
The patent implements feedback by continuously comparing the results of arithmetic operations against the stored sensitive data values. When an arithmetic operation produces a result that matches a sensitive data value, the system identifies this as potential data leakage and generates an alarm. This feedback mechanism enables accurate differentiation between legitimate computed values (which will not match stored sensitive values unless leaked) and actual data leaks.
Data Source
AI summary
A computer-implemented method, computer system, and computer program product are directed to improving computer security of a device using value based information flow tracking. Embodiments automatically capture raw data values from a data source of the device and store in memory the captured raw data values in a collection of sensitive data. Embodiments determine whether computed values of functions of a data flow are included in the collection of sensitive data. Based upon the determining, embodiments prevent values of the collection of sensitive data from being transmitted from a sink of the device. Embodiments may determine whether string representations of computed operand and return values of numerical or arithmetic operations of the functions of the data flow are included in the collection of sensitive data.


