【技术实现步骤摘要】
一种安卓系统服务内存消耗类漏洞挖掘方法
[0001]本专利技术属于软件漏洞挖掘
,具体涉及安卓系统服务内存消耗类漏洞挖掘方法。
技术介绍
[0002]内存消耗类漏洞是一种可以通过多次触发数据存储指令占用进程内存资源,影响进程的正常运行,从而导致拒绝服务攻击的漏洞。安卓系统服务中存在大量未被监控的数据存储过程,这些数据存储过程及其相关的数据存储操作有可能导致安卓系统服务中的内存消耗类漏洞。现许多工作通过确定程序中不被需要但是未被释放的数据来检测内存泄露问题,但是这一方法不适用于检测安卓系统服务的内存消耗类漏洞,因为安卓系统服务中存储的内存数据可能在未来被使用,因此不能被视作不被需要的数据;此外还有一些工作仅聚焦于确定程序内存消耗的边界。
[0003]模糊测试是一项高效的漏洞挖掘技术,但是现有的方法难以满足自动化挖掘安卓系统内存消耗类漏洞的需要。现有的模糊测试方法难以满足挖掘安卓系统服务中内存消耗类漏洞的需求。首先,设计缺乏对数据存储指令的系统性理解,因此它们无法有效地覆盖大量安卓系统服务接口中不同种类的数据存储指令;其次,大多数模糊测试方法在输入生成和种子选择上依赖于人为提供的领域知识,比如AFLGO[1]在种子选择时采用固定时间进行阶段划分,但是不同的安卓系统服务接口提供了不同的功能,因此需要一种不依赖于专家知识的通用解决方案;此外一些工作虽然提出了针对这一问题的缓解措施,但是它们在内存消耗类漏洞挖掘方面仍然不够高效,比如Vuzzer[2]使用静态分析技术激进地提取条件检查的数据流特征用于输入生成,但是 ...
【技术保护点】
【技术特征摘要】
1.一种安卓系统服务内存消耗类漏洞挖掘方法,其特征在于,分为静态分析和动态模糊测试两个阶段;其中:(一)静态分析阶段;静态分析的任务是定位潜在漏洞,并且为模糊测试生成初始输入;具体来说,首先通过启发式规则定位数据存储指令和能够到达这些指令的系统服务接口;然后收集到达数据存储指令的约束条件,并根据约束条件生成模糊测试的初始输入;(二)动态模糊测试阶段,动态模糊测试的目的是判断时间窗口内对数据存储指令的攻击是否足以造成安全影响;在动态模糊测试过程中,在反馈收集、种子选择、种子生成和变异、攻击代码生成这四个方面采用新的方法,从而实现高效的模糊测试:具体为:(1)关于反馈收集,设计轻量级的反馈收集方法,来指导模糊测试;包括高效地收集模糊测试过程中输入的执行路径和内存消耗状况,以此评估种子输入在探索和内存消耗方面的贡献;具体地,收集执行路径到目标指令的距离作为模糊测试探索的反馈信息,称为探索贡献,收集内存大小的变化作为模糊测试攻击的反馈信息,称为内存消耗贡献;(2)关于种子选择,模糊测试需要选取高质量的种子输入进行变异和执行;具体采用模拟退火算法,结合收集的反馈信息,动态地选择和淘汰种子输入;(3)关于种子生成和变异,根据种子在模糊测试所处的阶段分别采取不同的变异策略生成新的输入;(4)关于攻击代码生成,复用模糊测试中高质量的种子,产生有效的攻击代码。2.根据权利要求1所述的安卓系统服务内存消耗类漏洞挖掘方法,其特征在于,在静态分析阶段:所述潜在漏洞定位的具体做法为:基于对安卓系统服务中的内存消耗漏洞的观察,漏洞存在一些约束条件——系统服务要保存所存储数据的引用,并且用于保存的数据结构具有可变的大小;据此,首先识别安卓系统服务中定义的所有字段,和安卓框架中的所有全局静态字段;然后从中选出容器字段,并将它们的扩容操作标记为数据存储指令;最后用后向控制流分析找到可能到达数据存储指令的系统服务接口,并通过数据流分析过滤出参数与目标指令有数据依赖的接口;所述模糊测试初始输入的生成,是从路径约束的分支条件中选取初始输入;分支语句将输入与特定的常量或是动态的系统状态变量进行比较;故直接使用常量或者这类函数的返回值作为初始输入。3.根据权利要求2所述的安卓系统服务内存消耗类漏洞挖掘方法,其特征在于,在静态分析过程中,还根据控制流和数据流分析结果将接口参数划分为控制流相关输入、数据流相关输入和其他类输入,便于之后模糊测试在不同阶段选择性变异不同类别的输入。4.根据权利要求3所述的安卓系统服务内存消耗类漏洞挖掘方法,其特征在于,在模糊测试阶段,关于反馈收集中所述的执行路径到目标指令距离的计算流程为:依据数据存储指令是否被调用取决于它们调用者控制流结构中的前置条件,收集函数级别的执行路径,并利用函数内控制流CFG信息来改进函数级别距离计算的精确性,从而计算函数到达目标的估计概率;进而利用这一概率计算定向模糊测试的“距离”;具体地,首先将函数调用图CG上的目标函数可达概率设置为1.0,然后在CG图上后向遍历计算每一个可达函数...
【专利技术属性】
技术研发人员:杨珉,张磊,张晓寒,张源,杨哲慜,张智搏,
申请(专利权)人:复旦大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。