减少静态污点分析虚警:一种面向Android应用的验证方法
98 浏览量
更新于2024-08-26
收藏 2.19MB PDF 举报
本文主要探讨了面向Android应用的静态污点分析结果的正确性验证问题,旨在解决静态分析过程中产生的大量虚警问题,提出了一种上下文敏感、路径敏感和域敏感的半自动程序分析方法。
在Android应用程序中,静态污点分析是一种常见的方法,用于检测潜在的隐私泄露漏洞。然而,这种方法往往会产生很多虚假警报(虚警),这给开发者带来额外的工作负担,因为需要手动检查每个警报以确定其真实性。为了解决这个问题,作者提出了一个创新的分析框架,它能够通过减少需要检查的执行路径数量,有效地验证污点分析结果的正确性。
首先,该方法涉及在目标应用中插入桩代码,以生成一条包含源(Source)和汇(Sink)的种子Trace。源通常代表敏感数据的起点,而汇是可能泄露这些数据的位置。如果种子Trace中存在从源到汇的污点传播路径,那么就表明存在真实的隐私泄露漏洞。
接下来,利用基于Trace的污点分析,对这条Trace进行检查,以验证是否存在污点传播路径。如果存在,那么漏洞就被确认为真实;若不存在,则进一步收集Trace的条件集合和污点信息。结合活变量分析(Live Variable Analysis),该方法可以识别出与污点传播无关的变量,从而减少需要考虑的路径。同时,通过条件反转的程序变换技术,设计了一种约束选择策略,能够删除大部分不涉及污点传播的执行路径。
最后,通过对剩余的执行路径进行遍历和分析,进一步验证漏洞是否为虚警。实验中,作者基于FlowDroid实现了这个原型系统,并在DroidBench的75个应用和10个真实应用上进行了验证。结果显示,平均只需要遍历15.09%的路径,虚警率就能平均降低58.17%,证明了该方法在减少静态分析虚警方面的高效性。
关键词:程序验证、污点分析、活变量分析、程序变换、路径敏感。
这篇研究论文属于程序验证和安全分析领域,主要关注如何提高Android应用安全检测的准确性,对于减少误报和提升静态分析工具的实用性具有重要意义。通过引入更精细的上下文、路径和域敏感性,以及优化的路径处理策略,该方法有助于提升静态污点分析的效率和可靠性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-09-21 上传
2021-09-21 上传
2024-01-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38617335
- 粉丝: 7
- 资源: 918
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析