Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment Transformers
The IFDS algorithm is pivotal in solving field-sensitive data-flow problems. However, its conventional use of access paths for field sensitivity leads to the generation of a large number of data-flow facts. This causes scalability challenges in larger programs, limiting its practical application in extensive codebases. In response, we propose a new field-sensitive technique that reinterprets the generation of access paths as a Context-Free Language (CFL) for field-sensitivity and formulates it as an IDE problem. This approach significantly reduces the number of data-flow facts generated and handled during the analysis, which is a major factor in performance degradation. To demonstrate the effectiveness of this approach, we developed a taint analysis tool, IDEDroid, in the IFDS/IDE framework. IDEDroid outperforms FlowDroid, an established IFDS-based taint analysis tool, in the analysis of 24 major Android apps while improving its precision (guaranteed theoretically). The speed improvement ranges from <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline" overflow="scroll"> <mml:mn>2.1</mml:mn> <mml:mo>×</mml:mo> </mml:math> to <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline" overflow="scroll"> <mml:mn>2,368.4</mml:mn> <mml:mo>×</mml:mo> </mml:math> , averaging at <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline" overflow="scroll"> <mml:mn>222.0</mml:mn> <mml:mo>×</mml:mo> </mml:math> , with precision gains reaching up to <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline" overflow="scroll"> <mml:mn>20.0</mml:mn> <mml:mo>%</mml:mo> </mml:math> (in terms of false positives reduced). This performance indicates that IDEDroid is substantially more effective in detecting information-flow leaks, making it a potentially superior tool for mobile app vetting in the market.
Authors
- Jingling Xue (ORCID: https://orcid.org/0000-0003-0380-3506)
- Haofeng Li (ORCID: https://orcid.org/0009-0008-0931-8767)
- Jie Lu (ORCID: https://orcid.org/0000-0002-4162-0404)
- Chenghang Shi (ORCID: https://orcid.org/0009-0003-3055-8929)
- Lian Li (ORCID: https://orcid.org/0000-0002-4476-0541)
Institutions
- UNSW Sydney (AU)
- Institute of Computing Technology (CN)
- University of Chinese Academy of Sciences (CN)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2024-10-08
- DOI
- https://doi.org/10.1145/3689804
- Citations
- 3
- Primary Topic
- Advanced Malware Detection Techniques
- Type
- article
- Field-Weighted Citation Impact
- 1.05