国内刊号:51-1307/TP
国际刊号:1001-9081
发布日期:
作者:秦彪, 郭帆, 涂风涛
单位:1. 江西师范大学 计算机信息工程学院, 南昌 330022;2. 豫章师范学院 计算机系, 南昌 330103
关键词:程序验证,污点分析,活变量分析,程序变换,路径敏感
基金:国家自然科学基金资助项目(61562040,61762049);江西省教育厅科技项目(GJJ161305,GJJ151330)。
应用静态污点分析检测Android应用的隐私泄露漏洞会产生许多虚警,为此提出一种上下文敏感、路径敏感和域敏感的半自动程序分析方法,仅需遍历少量执行路径即可判定漏洞是否虚警。首先,运行插桩后的应用来获得一条覆盖Source和Sink的种子Trace。然后,应用基于Trace的污点分析方法来验证Trace中是否存在污点传播路径,是则表明漏洞真实存在;否则进一步收集Trace的条件集合和污点信息,结合活变量分析和基于条件反转的程序变换方法设计约束选择策略,以删除大部分与污点传播无关的可执行路径。最后,遍历剩余执行路径并分析相应Trace来验证漏洞是否虚警。基于FlowDroid实现原型系统,对DroidBench的75个应用和10个真实应用进行验证,每个应用平均仅需遍历15.09%的路径,虚警率平均降低58.17%。实验结果表明该方法可以较高效地减少静态分析结果的虚警。
来源:2019年第10期
《计算机应用》期刊编辑部