基于静态污点分析的Android应用漏洞检测技术研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:xuefeng96ew
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
作为移动互联网最大的流量入口,Android手机推动着社会发展,同时也因为存在大量的应用程序漏洞而对人们的信息安全造成了巨大威胁。对Android应用漏洞的自动化检测方法目前主要集中于污点分析技术,其中静态污点分析技术由于代码覆盖率高,操作过程简单而得到了广泛的关注。然而,当前的静态污点分析工具大都停留在学术研究的领域,当应用于实际的漏洞挖掘工作时会产生很多问题。首先,静态污点分析工具对硬件的要求很高,几乎无法检测大型的Android应用程序。其次,对整个程序的分析过程会分析很多无用的目标,导致缺乏对漏洞的针对性。最后,静态污点分析技术对分析路径是不敏感的,因此会产生大量误报。为了解决上述的问题,本文对于传统的静态污点分析技术进行了改进,设计并实现了一种新的Android应用漏洞检测系统STDroid。一方面,STDroid系统继承传统静态污点分析的优点。另一方面,STDroid增加了对系统库函数进行分析封装、基于上下文选择分析目标和采用符号执行技术过滤分析结果三种改进技术。一定程度上解决了静态污点污点分析在分析大型Android应用时的性能问题,提高分析过程的针对性,提高了漏洞检测的准确率。本论文的主要贡献如下:1.总结了利用静态污点分析进行安卓漏洞检测的关键技术,并对传统静态污点分析工具存在的问题进行了分析,制定了相应的改进目标。2.通过对Android应用程序结构的研究,提出了系统库函数分析封装的改进方案。并根据Android和Java官方的API说明,对系统库函数进行了分类并构建相应的分析模型,优化了污点分析的性能。3.设计了基于上下文选择分析目标的改进方案,并在理论上证明了方案的可行性。该方案基于函数调用上下文,结合用户已有的知识,对被分析的漏洞目标进行精确定位来避免无效分析,提高了漏洞检测的针对性和效率。4.设计了静态符号执行过滤分析结果的改进方案。利用符号执行技术在求解程序执行条件可满足性方面的优势,判断污点分析结果是否在执行路径上可达,过滤了大部分由于路径不敏感特性引起的误报。5.基于静态污点分析技术和改进设计,实现了一个快速、有针对性、准确率高的Android应用漏洞检测系统STDroid。并通过一系列的对比测试,证明STDroid了对商业Android应用程序进行漏洞检测的可行性。
其他文献
目的 :探讨基层医院治疗幼儿急疹的有效方案。方法 :随机抽取2012年9月至2013年3月我院收治的20例幼儿急疹患儿,按治疗方法的不同将其分为静脉抗病毒组、清热解毒中成药组及
在以共沉淀法制备的磁性纳米Fe3O4粒子(Magnetic nanoparticles,MNP)表面进行了化学修饰,制备了一种新型富含羧基功能团的核壳磁性纳米吸附剂(Carboxylic functionalized Fe3O4m
在微波促进下,利用酮糖(1)及糖酸内酯(4)与叶立德(2,Ph3P CHCOOEt)的Wittig反应,立体选择性地合成了糖基烯丙酸酯类化合物(3和5),反应效率显著提高,反应时间由原来的20 h缩短为10 min
目的 :了解佛山市顺德区杏坛镇中小学生臀肌挛缩症的发病率及其性别、年龄、进行臀部药物注射治疗的次数与臀肌挛缩症发病率之间的关系。方法 :采用整体抽样二级梯度筛选法对
合同以其操作简便、易于管理且绝大部分风险由承包人承担而受发包人的青睐,但当合同现实状态与理想状态之间出现量差时承发包双方往往会就合同价款调整问题产生分歧甚至严重