[发明专利]基于脆弱性模型和符号执行结合的软件安全检测方法有效
申请号: | 201610067441.2 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740149B | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 魏强;曹琰;柳晓龙;武泽慧;任开磊;王允超 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州大通专利商标代理有限公司41111 | 代理人: | 陈大通 |
地址: | 450052 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 脆弱 模型 符号 执行 结合 软件 安全 检测 方法 | ||
1.一种基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:包含如下步骤:
步骤1.将输入数据载入待测程序,输入数据驱动待测程序执行,进行异常检测;
步骤2.判断是否达到程序路径覆盖率要求,若满足,则结束测试,否则,进入步骤3;
步骤3.将输入数据符号化,确定输入点和输入数据大小,标记符号执行中的符号变量,并将这些符号变量定义为原始符号变量集合,符号变量包含原始符号变量和中间符号变量,中间符号变量是原始符号变量表达式表示的符号变量,程序开始符号执行与实际执行,符号执行收集路径约束条件,获取输入点与程序运行路径的对应关系,根据程序跳转点对符号变量的约束,建立程序路径约束条件;
步骤4.根据步骤3中收集的路径约束条件,查看路径中是否有触发脆弱性的代码区域,并根据路径引导算法计算驱使程序引导到该代码区域的约束条件;同时,根据缓冲区溢出脆弱性特点,对安全脆弱性形式化建模,通过脆弱性模型与路径约束条件的匹配,计算触发脆弱性的约束条件;
步骤5.调用STP约束求解器,对步骤4中的约束条件进行求解,获取新的测试用的输入数据,跳转至步骤1中执行。
2.根据权利要求1中所述的基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:步骤3中的输入点为程序获取输入数据的输入函数调用处,同时为符号执行的起始点。
3.根据权利要求1所述的基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:步骤3中输入数据读入到内存后,程序进入执行状态,对于即将执行的每一句指令,首先判断是否涉及符号变量操作,若涉及符号变量操作,则进行符号执行,否则只需实际执行,以保持和符号执行同步即可;
步骤3中的程序路径约束条件即为原始符号变量和中间符号变量建立方程组。
4.根据权利要求1所述的基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:步骤4中缓冲区溢出脆弱性中对安全脆弱性形式化建模包含对缓冲区内容进行符号化,对缓冲区大小进行符号化,及对已使用长度进行符号化,并建立指针变量和缓冲区的映射关系,通过符号化方式检测缓冲区溢出脆弱性。
5.根据权利要求1所述的基于脆弱性模型和符号执行结合的软件安全检测方法,其特征在于:步骤4中还包含根据整型溢出脆弱性特点进行形式化建模,将整型溢出脆弱性抽象为source-sink问题,计算触发脆弱性的约束条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610067441.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:云测试方法及装置
- 下一篇:软件用户行为回退处理方法及装置