买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:河南省电子规划研究院有限责任公司
摘要:本发明公开了一种软件依赖包的安全检测系统,涉及依赖包安全检测技术领域,通过模糊代码生成模块使用模糊测试算法生成若干随机或半随机的模糊测试代码,模糊测试模块将生成的模糊测试代码输入到依赖包中,判断依赖包是否存在安全漏洞,路径建立模块对依赖包进行符号执行后建立依赖包的程序符号执行路径,分析符号执行路径,寻找导致程序崩溃或异常行为的安全漏洞触发条件,根据发现的安全漏洞触发条件,生成有输入值的符号测试代码,将生成的符号测试代码输入到依赖包中,验证发现的安全漏洞是否存在。该检测系统联合模糊测试与符号执行算法对软件依赖包进行全局检测,不仅有效提高测试覆盖率,而且能发现更多潜在的安全漏洞。
主权项:1.一种软件依赖包的安全检测系统,其特征在于:包括收集模块、静态分析模块、模糊代码生成模块、模糊测试模块、路径建立模块、符号代码生成模块、符号执行模块、评估报告模块;收集模块:用于收集软件依赖包及依赖包相关信息;静态分析模块:通过搜索引擎获取依赖包的二进制文件,分析依赖包的二进制文件,静态识别依赖包是否存在安全漏洞;模糊代码生成模块:当静态识别依赖包不存在安全漏洞时,使用模糊测试算法生成若干随机或半随机的模糊测试代码;模糊测试模块:将生成的模糊测试代码输入到依赖包中,观察依赖包的程序行为并记录异常情况,分析模糊测试的结果,识别程序的异常行为,判断依赖包是否存在安全漏洞;路径建立模块:若判断依赖包不存在安全漏洞,对依赖包进行符号执行后建立依赖包的程序符号执行路径,并探索依赖包的程序执行空间;符号代码生成模块:分析符号执行路径,寻找导致程序崩溃或异常行为的安全漏洞触发条件,根据发现的安全漏洞触发条件,生成有输入值的符号测试代码;符号执行模块:将生成的符号测试代码输入到依赖包中,验证发现的安全漏洞是否存在,分析验证测试的结果,进一步判断是否存在安全漏洞;评估报告模块:当确认依赖包中存在安全漏洞时,评估安全漏洞严重程度,并将发现的安全漏洞整理成报告后提交给开发人员;所述路径建立模块设置符号执行环境,包括选择符号执行引擎、配置环境变量、设置符号执行参数,依据符号执行目标使用符号执行引擎对依赖包进行符号执行,探索程序的执行空间并建立程序的符号执行路径;符号执行引擎探索所有执行路径,并在执行路径中添加符号化输入变量,根据符号执行的结果,生成执行路径上的路径约束;符号执行引擎自动基于路径约束继续进行符号执行,拓展和探索更多的执行路径,对生成的执行路径进行优化,寻找最优执行路径进行使用,将生成的最优执行路径通过可视化工具可视化为路径图;所述符号执行引擎探索所有执行路径,并在执行路径中添加符号化输入变量,根据符号执行的结果,生成执行路径上的路径约束,包括以下步骤:符号执行引擎对程序进行静态分析,获取程序的控制流图、函数调用图,在开始符号执行之前,符号执行引擎为程序中的输入变量添加符号化标记;符号执行引擎从程序的入口点开始,按照控制流图探索所有的执行路径,且在每个分支点符号执行引擎同时考虑两个分支,并记录每个分支的约束条件;当符号执行引擎沿着执行路径探索时,收集每个分支点的约束条件,约束条件描述某个分支被选中或不被选中的条件;符号执行引擎在每个分支点根据当前路径上的符号化输入变量和约束条件,执行符号化的计算并生成符号化的执行结果,当在执行路径中遇到循环或者递归调用时,符号执行引擎合并相似的路径,并根据约束条件简化路径;当在执行路径中遇到循环或者递归调用时,符号执行引擎合并相似的路径,包括以下步骤:通过比较路径约束的相似程度判断路径之间的相似度,函数表达式为:式中,XSDP1,P2表示P1路径与P2路径的相似度,C1为P1路径的约束条件,C2为P2路径的约束条件,|C1∩C2|表示P1路径与P2路径约束条件的交集的大小,即两条路径共同满足的约束条件的数量,|C1∪C2|表示P1路径与P2路径约束条件的并集的大小,即两条路径总共满足的约束条件的数量;所述符号执行引擎对生成的执行路径进行优化,寻找最优执行路径进行使用包括以下步骤:符号执行引擎获取执行路径的覆盖率、约束复杂度以及路径长度,对执行路径的覆盖率、约束复杂度以及路径长度进行标准化处理后,通过路径分析模型输出执行路径的执行指数,路径分析模型的函数表达式为:式中,zxs为执行指数,fgsZs为覆盖率,fgs为执行路径覆盖的程序语句数量,Zs为依赖包总程序语句数量,为约束复杂度,n为约束条件中涉及到的不同类型的逻辑运算符的数量,counti表示约束条件中第i种类型的逻辑运算符的数量,ωi为第i种类型的逻辑运算符的权重,ljc为路径长度,α、β、γ分别为覆盖率、约束复杂度以及路径长度的比例系数,且α、β、γ均大于0;将所有执行路径依据执行指数由大到小进行排序,生成执行路径列表,选择执行路径列表中正序排序第一的执行路径作为最优执行路径。
全文数据:
权利要求:
百度查询: 河南省电子规划研究院有限责任公司 一种软件依赖包的安全检测系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。