一句话:提出 DocFlow,利用平台文档自动识别敏感方法并生成污点规范,无需访问源代码。
Android 应用的静态分析依赖平台建模和敏感方法列表,但 API 数量庞大、平台更新快且存在闭源库,手工收集不现实。DocFlow 直接利用平台文档建模 API 方法语义,识别敏感方法(source 与 sink)并赋予语义标签,无需访问源代码,因而可用于专有库。作者在 Android 平台包和闭源 Google Play Services 库上评估,结果显示其检测敏感方法精度高,能适配新 API 版本,且易于扩展到其他方法类型。该工作表明 Android 文档编码了丰富语义信息,可替代源码分析或特征工程来分类敏感方法。
Security practitioners routinely use static analysis to detect security problems and privacy violations in Android apps. The soundness of these analyses depends on how the platform is modelled and the list of sensitive methods. Collecting these methods often becomes impractical given the number of methods available, the pace at which the Android platform is updated, and the proprietary libraries Google releases on each new version. Despite the constant evolution of the Android platform, app developers cope with all these new features thanks to the documentation that comes with each new Android release. In this work, we take advantage of the rich documentation provided by platforms like Android and propose DocFlow, a framework to generate taint specifications for a platform, directly from its documentation. DocFlow models the semantics of API methods using their documentation to detect sensitive methods (sources and sinks) and assigns them semantic labels. Our approach does not require access to source code, enabling the analysis of proprietary libraries for which the code is unavailable. We evaluate DocFlow using Android platform packages and closed-source Google Play Services libraries. Our results show that our framework detects sensitive methods with high precision, adapts to new API versions, and can be easily extended to detect other method types. Our approach provides evidence that Android documentation encodes rich semantic information to categorise sensitive methods, removing the need to analyse source code or perform feature extraction.
DOI 原文 ·
@inproceedings{paperbot11254,
title = {DocFlow: Extracting Taint Specifications from Software Documentation},
author = {Marcos Tileria and Jorge Blasco and Santanu Kumar Dash},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3623312}
}