论文部分内容阅读
随着Android系统迅速占领了庞大的智能手机市场份额,Android应用的安全性得到了越来越多的关注,相关研究成为学术界和工业界的热点。准确发现Android应用中存在的漏洞仍然面临挑战,选题具有重要意义。 当前仍然主要采用动静态结合的分析方法发现Android应用中的漏洞。其中,在静态分析发现疑似漏洞后,如何高效、准确地确认漏洞是本文拟解决的主要问题。因此,本文开展Android应用动态漏洞确认技术研究,主要的贡献如下: (1)提出了一种基于回退机制的UI遍历方法。该方法基于深度优先遍历算法,对UI控件进行有序触发,同时引入回退机制,减少冗余跳转,以此提高分析效率。同时,利用真机分析环境解决模拟器对抗问题,并实现了界面输入条件构造方法,直接触发目标组件,解决应用组件覆盖不全的问题。对10万个应用进行分析,实验结果表明,与SmartDroid相比,本文方法在分析效率上平均提升60.04%,在路径覆盖率上平均提升41.33%。 (2)设计并实现了基于路径感知的漏洞确认技术。该技术重点解决Android应用动态漏洞确认的问题,适用于各个Android版本的应用漏洞分析。该技术通过在虚拟机插桩获取应用运行时的函数调用关系,对疑似漏洞是否执行进行验证,提高漏洞发现的准确率。对2万个包含漏洞的各个Android版本的应用进行漏洞确认,实验结果表明,成功验证了1.93万个应用,单位应用平均分析时间为9分钟。 (3)设计并实现了Android应用动态漏洞确认模块。该模块可在VARAS平台上,作为Android应用安全分析流水线的一个阶段,对Android应用进行漏洞确认。对2万个应用进行分析,实验结果表明,该技术能够在自动化漏洞发现中提高对应用的分析效率、路径覆盖率和输出漏洞的准确率。