减少静态污点分析虚警:一种面向Android应用的验证方法
53 浏览量
更新于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 上传
2019-08-18 上传
2021-09-21 上传
2024-01-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38617335
- 粉丝: 7
- 资源: 918
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜