[发明专利]基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法有效
申请号: | 201910509701.0 | 申请日: | 2019-06-13 |
公开(公告)号: | CN110287693B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 谢海;朱涛;陈水全 | 申请(专利权)人: | 成都积微物联集团股份有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/57 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 徐金琼 |
地址: | 610000 四川省成都市青白江区香岛大道*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 符号 执行 路径 剪枝 缓冲区 溢出 漏洞 自动检测 方法 | ||
本发明涉及基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,包括:A.初始化缓存;B.获取待测试的二进制程序的控制流图;C.对当前符号执行的跳转路径进行评分;D.调整待执行路径的执行顺序;E.对于和已符号执行的路径相同路径后缀的待执行路径,直接调用已执行结果;F.对缓冲区溢出的约束条件进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中;G.从步骤C重复执行,直到所有路径执行完毕。本发明能够通过动/静态结合的方式自动检测缓冲区溢出漏洞,能够运用于漏洞检测以及安全审计,以及够快速进行自动检测并生成溢出漏洞触发测试用例,极大程度的节省了检测时间和人力成本。
技术领域
本发明涉及软件测试的方法,具体讲是基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法。
背景技术
软件安全是一种旨在保护软件免受恶意攻击和黑客攻击,以便软件在这些潜在风险下继续正常运行的思想。然而由于种种局限,如语言本身的安全缺陷或者开发者在开发过程中的疏漏等,使得软件往往存在一些可利用的漏洞。这些漏洞的存在使得软件的安全性大大降低,一旦被攻击者找到并利用,将对软件用户和版权拥有者造成巨大损失。缓冲区溢出是一种最为常见的软件漏洞。
内存错误漏洞是软件漏洞的一种重要表现形式,而内存错误漏洞主要表现为缓冲区溢出(Buffer Overflow)。缓冲区在系统中的表现形式是多样的,高级语言定义的变量、数组、结构体等在运行时可以说都是保存在缓冲区内的,按照冯.诺依曼存储程序原理,程序代码是作为二进制数据存储在内存的,同样程序的数据也在内存中,因此直接从内存的二进制形式上是无法区分哪些是数据哪些是代码的,这也为缓冲区溢出攻击提供了可能。缓冲区溢出分为堆溢出,栈溢出和BSS段溢出等形式。攻击者通过注入ShellCode(一段用于利用软件漏洞而执行的代码)的方式来跳转执行任意代码,进行破坏、控制等。该攻击方式危害大,影响范围广,难以彻底消除。缓冲区溢出漏洞指的是通过往程序的缓冲区写超出其长度的内容,从而造成缓冲区的溢出,破坏程序的堆栈,造成程序转而执行其它指令以达到攻击的目的。缓冲区溢出攻击可以导致攻击者非法提升权限获取系统控制权限等,可造成严重后果。
目前存在动态测试和静态分析两种手段来发现程序中的缓冲区溢出漏洞。静态分析不涉及被测软件的动态执行,并且可以在运行程序之前的早期阶段检测可能的缺陷。在编码之后和执行单元测试之前完成。可以由机器完成,以自动“遍历”源代码并检测不合规规则。经典的例子是一个编译器,它可以找到词汇、句法甚至一些语义错误。由于漏洞可能发生在某条特定的路径中,所以静态分析技术往往是路径相关的,分析的结果可能会给出一条不完整的路径片段。静态分析工具为了保证分析结果的准确性而产生了大量的警报,这些警报绝大部分是冗余的,只包含了小部分真正漏洞。真正在使用这些工具的过程中,需要安全审计人员手工检查上述缓冲区溢出警报,编写测试用例覆盖静态分析产生的路径,以分析该路径是否存在缓冲区溢出的可能。动态测试通过编写测试用例运行不同的程序路径,分析是否能够触发潜在漏洞。动态分析的缺点十分明显,即需要软件测试人员手动设计测试用例,而测试用例一旦设计的不够完善,将可能导致漏洞无法被检测到。
符号执行(Symbolic Execution)是一种程序分析技术,它可以通过分析程序来得到让特定代码区域执行的输入。顾名思义,使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到可以触发目标代码的具体值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都积微物联集团股份有限公司,未经成都积微物联集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910509701.0/2.html,转载请声明来源钻瓜专利网。