[发明专利]面向Android应用的智能模糊测试方法有效
申请号: | 201611263325.4 | 申请日: | 2016-12-30 |
公开(公告)号: | CN108268371B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 俞研;邱煜;吴家顺;胡恒伟;黄兴远;孙贝 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 王玮 |
地址: | 210094 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向Android应用的智能模糊测试方法。该方法包括应用程序逆向符号执行和Android应用程序模糊测试。使用Android漏洞特征对Android应用进行建模分析,得到Android应用入口函数、敏感操作点、控制流和函数调用信息;通过将敏感操作点作为入口进行逆向符号执行获取路径约束信息;对路径约束信息进行约束求解得到触发该漏洞的路径测试用例;使用生成的路径测试用例对Android应用程序进行模糊测试,监控程序运行状态;对程序运行信息进行分析生成相关漏洞报告。本发明能够生成满足触发漏洞的测试用例,同时避免了路径爆炸,也使用该方法指导下的模糊测试更具有针对性。相比传统模糊测试方法,本方法克服了模糊测试盲目性的问题,提高了模糊测试的效率。 | ||
搜索关键词: | 面向 android 应用 智能 模糊 测试 方法 | ||
【主权项】:
1.一种面向Android应用的智能模糊测试方法,其特征在于包括如下步骤:1)ndroid应用程序进行建模分析;分析反编译后的代码,从而获取到该Android应用程序所有的入口函数、系统调用关系、方法的控制流信息和函数调用信息,使用Android漏洞特征来标记出所有可能存在漏洞的程序点,即敏感操作点;2)步骤1)中获取的敏感操作点作为逆向符号执行入口点,进行逆向符号执行初始化,取出相关操作变量存放到逆向符号执行符号表中,并且初始化路径约束;3)步骤1)中建模分析后获取的信息进行逆向符号执行;逆向分析过程中,当指令是输入、输出和赋值语句类型时,更新逆向符号执行符号表;当指令是条件语句类型时,更新并记录路径约束条件;当指令是调用语句类型时,调用相关API函数;4)执行步骤3)进行逆向符号执行,直到到达入口点为止,保存当前相关路径的符号表和路径约束条件;5)约束求解器对路径约束条件进行求解,生成满足该路径触发条件的测试用例;6)步骤5)中生成的漏洞触发测试用例作为输入对,Android应用进行模糊测试,收集该Android应用的运行状态、异常状态和漏洞信息;7)步骤6)中收集的异常信息进行分析,评估其对系统的影响,确认每个监控到的真实的漏洞,生成漏洞相关报告。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611263325.4/,转载请声明来源钻瓜专利网。