一句话:提出 Taintmini,用通用数据流图建模跨语言、跨页面、跨小程序的数据流,静态检测敏感数据泄露。
小程序通过超级应用提供的 API 可访问位置、手机号等敏感信息,存在无意或恶意泄露风险。现有污点分析难以处理小程序特有的跨语言、跨页面和跨小程序数据流。本文提出 Taintmini 框架,核心是构建一种通用数据流图,统一表示小程序内部及小程序之间的数据传播,并在此基础上进行静态污点分析以追踪敏感数据。作者在 238,866 个小程序上评估,检测出 27,184 个包含敏感数据流的小程序;进一步识别隐私泄露合谋小程序,发现 455 个明确违反隐私政策。结果表明该方法能大规模发现小程序生态中的隐私风险。
Mini-programs, which are programs running inside mobile super apps such as WeChat, often have access to privacy-sensitive information, such as location data and phone numbers, through APUs provided by the super apps. This access poses a risk of privacy sensitive data leaks, either accidentally from carelessly programmed mini-programs or intentionally from malicious ones. To address this concern, it is crucial to track the flow of sensitive data in mini-programs for either human analysis or automated tools. Although existing taint analysis techniques have been widely studied, they face unique challenges in tracking sensitive data flows in mini-programs, such as cross-language, cross-page, and cross-mini-program data flows. This paper presents a novel framework, Taintmini, which addresses these challenges by using a novel universal data flow graph approach that captures data flows within and across mini-programs. We have evaluated Taintminiwith 238,866 mini-programs and detect 27,184 that contain sensitive data flows. We have also applied Taintminito detect privacy leakage colluding mini-programs and identify 455 such programs from them that clearly violate privacy policy.
@inproceedings{WangKZYL23,
title = {Taintmini: Detecting Flow of Sensitive Data in Mini-Programs with Static Taint Analysis},
author = {Chao Wang and Ronny Ko and Yue Zhang and Yuqing Yang and Zhiqiang Lin},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00086}
}