发明名称 基于脆弱性模型和符号执行结合的软件安全检测方法
摘要 本发明涉及一种基于脆弱性模型和符号执行结合的软件安全检测方法,包含:将程序与外部环境所交互的输入测试数据符号化;确定符号执行的符号变量,开始符号执行与实际执行,符号执行收集路径约束条件,获取输入与程序运行路径的对应关系信息;根据路径约束条件,查看是否有可能触发漏洞的代码区域,计算能够驱使程序引导到该代码区域的约束条件,并根据漏洞模型,计算可能触发漏洞的约束条件;调用STP约束求解器计算可能触发漏洞的路径约束条件,得到可能触发漏洞的输入数据;得到新的输入数据载入待测程序进行新一轮测试。本发明能够在深层次分析程序路径直达危险代码区域,并生成较为准确的测试输入数据,触发检测程序漏洞,提高软件安全性。
申请公布号 CN105740149A 申请公布日期 2016.07.06
申请号 CN201610067441.2 申请日期 2016.01.29
申请人 中国人民解放军信息工程大学 发明人 魏强;曹琰;柳晓龙;武泽慧;任开磊;王允超
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 郑州大通专利商标代理有限公司 41111 代理人 陈大通
主权项 一种基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:包含如下步骤:步骤1.将输入数据载入待测程序,输入数据驱动待测程序执行,进行异常检测;步骤2.判断是否达到程序路径覆盖率要求,若满足,则结束测试,否则,进入步骤3;步骤3.将输入数据符号化,确定输入点和输入数据大小,标记符号执行中的符号变量,并将这些符号变量定义为原始符号变量集合,符号变量包含原始符号变量和中间符号变量,中间符号变量是原始符号变量表达式表示的符号变量,程序开始符号执行与实际执行,符号执行收集路径约束条件,获取输入与程序运行路径的对应关系,根据程序跳转点对变量的约束,建立程序路径约束条件;步骤4.根据步骤3中收集的路径约束条件,查看路径中是否有触发脆弱性的代码区域,并根据路径引导算法计算驱使程序引导到该代码区域的约束条件;同时,根据缓冲区溢出脆弱性特点,对安全脆弱性形式化建模,通过脆弱性模型与路径约束条件的匹配,计算触发脆弱性的约束条件;步骤5.调用STP约束求解器,对步骤4中的约束条件进行求解,获取新的测试用的输入数据,跳转至步骤1中执行。
地址 450052 河南省郑州市高新区科学大道62号