ConsiDroid:基于混合符号执行的 Android 应用 SQL 注入漏洞检测工具
软件工程
2019-08-09 v3 密码学与安全
摘要
在本文中,我们提出一种用于检测 Android 应用中 SQL 注入漏洞的混合符号执行(concolic execution)技术,以及我们称之为 ConsiDroid 的新工具。我们利用 mock 技术扩展应用的源代码,从而不影响原始源代码的执行。扩展后的源代码可视为 Java 应用程序,并可由 SPF 通过混合符号执行运行。我们根据静态分析自动生成 DummyMain 类,以顺序调用基本函数,并触发导致漏洞函数的事件。我们在 ConsiDroid 中通过污点分析扩展 SPF。为使污点分析可行,我们引入一种符号 mock 类新技术,以简化受污染值在代码中的传播。当漏洞函数接收到受污染值时,即检测到 SQL 注入漏洞。此外,ConsiDroid 利用静态分析调整 SPF,以仅检查可疑路径。为说明 ConsiDroid 的适用性,我们从 F-Droid 仓库随机选取了 140 个应用进行检查。从这些应用中,我们发现三个应用存在 SQL 注入漏洞。为验证其漏洞,我们基于 ConsiDroid 的报告使用 Robolectric 手动分析这些应用。
引用
@article{arxiv.1811.10448,
title = {ConsiDroid: A Concolic-based Tool for Detecting SQL Injection Vulnerability in Android Apps},
author = {Ehsan Edalat and Babak Sadeghiyan and Fatemeh Ghassemi},
journal= {arXiv preprint arXiv:1811.10448},
year = {2019}
}