基于动静态污点流的Android安全威胁分析
发布时间:2021-01-17 12:54
随着移动设备融入日常生活,移动应用程序可以访问个人数据和网络,从而造成了数据泄露威胁。因此,有必要设计有效的技术来分析和检测这些威胁。目前,针对Android恶意应用程序的污点流分析主要分为静态和动态两种。静态分析基于在不执行代码的情况下提取的特征,而动态分析则基于在代码执行时提取的特征。通常,静态分析更有效,它详尽地检查所有数据流并精确定位有问题的数据流,但是,静态分析会因过度计算而产生误报,或者会因应用程序在非运行时隐藏恶意性而产生漏报。动态分析可以处理在应用程序运行时发生的动态代码加载和系统调用,但是耗时且占用系统资源。在本文中,我们提出了一种动静态污点流的分析方法,它基于开源解决方案,可以帮助安全专业人员更好地理解Android环境下的威胁分析过程。本文提出的方法首先进行静态污点流分析,筛选出有可疑敏感隐私泄露的应用程序,接着自动化上传至沙盒运行应用程序,使用工具进行分析,得到记录文件,确认应用程序中的恶意行为,并将结果通知给用户。静态污点流分析部分基于FlowDroid,它是一种针对Android应用程序新颖且高度精确的静态污点流分析工具。我们在进行控制流和数据流的分析、可达...
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:95 页
【学位级别】:硕士
【部分图文】:
Android恶意应用程序样本数量图
第二章 相关理论与技术第二章 相关理论与技术本章主要介绍 Android 平台相关的基础知识以及污点流分析技术。首先简要ndroid 操作系统框架与恶意应用程序,然后详细阐述了 Android 应用程序污的基本原理和关键技术。 Android 系统框架与恶意应用程序1. Android 系统框架。如图 2.1 所示,Android 操作系统采用了分层的框架底向上分为四层,分别是:Linux 内核层、系统运行库层、应用程序框架层程序层。下层服务上层,上层支持下层,这种严格的分层机制,使得 And很大的灵活性、稳定性和可扩展性。
图 2.2 污点流分析的处理过程2.2.2 识别污点源和汇聚点一般而言,能成为污点源 source 点的是一些与个人敏感隐私相关的数据,如联系人、短信、账号密码、IMEI、数据库等;能成为汇聚点 sink 点的则是一些能存储或发送信息的媒介,如存储卡、短信、因特网、进程通信等;而所谓的污点流即是从预定义的污点源 source 点,如返回位置信息的 API 方法开始,然后跟随数据流,直到它到达给定的汇聚点 sink 点处的接收器,如将信息写入套接字的方法,它能提供有关哪些数据可能泄漏到哪里的准确信息。要进行污点流分析,首先需要识别污点源 source 点和汇聚点 sink 点。然而目前,我们缺乏通用的标准。造成这点的原因有两点:一是编程语言、系统模型之间的差异,二是现存种类繁多的安全漏洞类型,污点流分析关注的漏洞不同,就会导致污点源source 点和汇聚点 sink 点的收集方法迥然不同。如在表 2.1[34]中,我们收集 Web 框架中关键对象的属性作为在 Web 应用程序安全漏洞检测中的污点源 source 点。
【参考文献】:
期刊论文
[1]Android恶意软件检测方法研究综述[J]. 李江华,邱晨. 计算机应用研究. 2019(01)
[2]Android平台应用隐私泄露检测与评估技术[J]. 李自清,王咏宁. 软件. 2017(10)
[3]污点分析技术的原理和实践应用[J]. 王蕾,李丰,李炼,冯晓兵. 软件学报. 2017(04)
[4]基于多级签名匹配算法的Android恶意应用检测[J]. 秦中元,王志远,吴伏宝,吴颖真,游雁天,徐倩怡. 计算机应用研究. 2016(03)
[5]沙箱技术研究综述[J]. 赵旭,陈丹敏,颜学雄,王清贤. 中原工学院学报. 2014(04)
本文编号:2982925
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:95 页
【学位级别】:硕士
【部分图文】:
Android恶意应用程序样本数量图
第二章 相关理论与技术第二章 相关理论与技术本章主要介绍 Android 平台相关的基础知识以及污点流分析技术。首先简要ndroid 操作系统框架与恶意应用程序,然后详细阐述了 Android 应用程序污的基本原理和关键技术。 Android 系统框架与恶意应用程序1. Android 系统框架。如图 2.1 所示,Android 操作系统采用了分层的框架底向上分为四层,分别是:Linux 内核层、系统运行库层、应用程序框架层程序层。下层服务上层,上层支持下层,这种严格的分层机制,使得 And很大的灵活性、稳定性和可扩展性。
图 2.2 污点流分析的处理过程2.2.2 识别污点源和汇聚点一般而言,能成为污点源 source 点的是一些与个人敏感隐私相关的数据,如联系人、短信、账号密码、IMEI、数据库等;能成为汇聚点 sink 点的则是一些能存储或发送信息的媒介,如存储卡、短信、因特网、进程通信等;而所谓的污点流即是从预定义的污点源 source 点,如返回位置信息的 API 方法开始,然后跟随数据流,直到它到达给定的汇聚点 sink 点处的接收器,如将信息写入套接字的方法,它能提供有关哪些数据可能泄漏到哪里的准确信息。要进行污点流分析,首先需要识别污点源 source 点和汇聚点 sink 点。然而目前,我们缺乏通用的标准。造成这点的原因有两点:一是编程语言、系统模型之间的差异,二是现存种类繁多的安全漏洞类型,污点流分析关注的漏洞不同,就会导致污点源source 点和汇聚点 sink 点的收集方法迥然不同。如在表 2.1[34]中,我们收集 Web 框架中关键对象的属性作为在 Web 应用程序安全漏洞检测中的污点源 source 点。
【参考文献】:
期刊论文
[1]Android恶意软件检测方法研究综述[J]. 李江华,邱晨. 计算机应用研究. 2019(01)
[2]Android平台应用隐私泄露检测与评估技术[J]. 李自清,王咏宁. 软件. 2017(10)
[3]污点分析技术的原理和实践应用[J]. 王蕾,李丰,李炼,冯晓兵. 软件学报. 2017(04)
[4]基于多级签名匹配算法的Android恶意应用检测[J]. 秦中元,王志远,吴伏宝,吴颖真,游雁天,徐倩怡. 计算机应用研究. 2016(03)
[5]沙箱技术研究综述[J]. 赵旭,陈丹敏,颜学雄,王清贤. 中原工学院学报. 2014(04)
本文编号:2982925
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2982925.html