一句话:提出可扩展静态分析框架 SAND,通过抽象建模移动应用数据库交互,精确检测 SQL 反模式。
移动应用的本地数据库支撑着诸多重要功能,但使用不当(即 SQL 反模式)会导致资源高消耗甚至安全漏洞。本文提出 SAND,一种可扩展的静态分析方法,用于检测移动应用中本地数据库的误用。SAND 的核心是为常见的应用/数据库交互形式设计了新颖抽象,从而能够简洁且精确地规约待检测的反模式。作者在包含 1000 个 Android 应用的多样化套件上进行了实验验证,结果表明这些抽象能够以 12 至 74 行代码简洁规约文献中所有已知反模式,反模式建模精度达 99.4% 至 100%,且平均每个应用扫描耗时约 41 秒。
Local databases underpin important features in many mobile applications, such as responsiveness in the face of poor connectivity. However, failure to use such databases correctly can lead to high resource consumption or even security vulnerabilities. We present SAND, an extensible static analysis approach that checks for misuse of local databases, also known as SQL antipatterns, in mobile apps. SAND features novel abstractions for common forms of application/database interactions, which enables concise and precise specification of the antipatterns that SAND checks for. To validate the efficacy of SAND, we have experimented with a diverse suite of 1,000 Android apps. We show that the abstractions that power SAND allow concise specification of all the known antipatterns from the literature (12-74 LOC), and that the antipatterns are modeled accurately (99.4-100% precision). As for performance, SAND requires on average 41 seconds to complete a scan on a mobile app.
DOI 原文 ·
@inproceedings{paperbot6670,
title = {SAND: a static analysis approach for detecting SQL antipatterns},
author = {Yingjun Lyu and Sasha Volokh and William G. J. Halfond and Omer Tripp},
booktitle = {ISSTA},
year = {2021},
doi = {10.1145/3460319.3464818}
}