[发明专利]符号错误和赋值截断的二进制漏洞检测定位装置无效
申请号: | 200910025884.5 | 申请日: | 2009-03-12 |
公开(公告)号: | CN101551773A | 公开(公告)日: | 2009-10-07 |
发明(设计)人: | 陈平;王逸;辛知;茅兵;谢立 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) | 代理人: | 柏尚春 |
地址: | 210093江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 符号 错误 赋值 截断 二进制 漏洞 检测 定位 装置 | ||
技术领域
本发明涉及整形漏洞检测定位装置,特别是一种符号错误和赋值截断的二进 制漏洞检测定位装置。
背景技术
整形漏洞是著名的软件安全漏洞之一,在C或C++程序中尤为突出。整形漏洞 分为四类:(1)整形下溢出(IntegerUnderflow);(2)整形上溢出(IntegerOverflo w);(3)符号转换错误(SignednessError);(4)赋值截断(AssignmentTruncation)。 2006年CVE(CommonVulnerabilityandExploit)指出缓冲区溢出漏洞(bufferoverf low)呈下降趋势,而其他一些漏洞呈上升趋势,如:符号转换错误,赋值截断等。 目前,虽然已有了一些针对整形溢出的漏洞检测工具,但是针对符号转换错误和 赋值截断漏洞还没有很好的检测和定位工具。符号转换错误和赋值截断漏洞往往 会触发很严重的攻击,如任意代码执行(arbitrarycodeexecution),拒绝服务攻击 (denialofservice),等等。
符号转换错误和赋值截断漏洞一般与程序语义相关,因此很难被检测和定位。 程序员经常忽视,甚至对这两种整形漏洞知之甚少。标准编译器,如GCC,对符号 转换错误和赋值截断漏洞也不能提供警告或错误信息。更糟糕的是,这两种整形 漏洞常常与某些攻击方法结合,共同产生内存错误。现有的安全工具几乎都不能 检测并定位符号转换错误和赋值截断漏洞。
此外,与有源代码的程序相比,二进制程序缺少显式的类型信息,需要从某 些特定的操作和函数定义中获得这些信息。
特别是,目前针对符号转换错误和赋值截断漏洞的检测工具很少,而且至少 存在如下的缺点之一:(1)需要源代码(2)人工参与(3)不能检测和定位符号转换错 误和赋值截断漏洞。目前,在二进制程序分析工具中,典型的工具是Valgrind,它 将二进制代码转换成VEX中间代码,并在此中间代码上进行分析。在Valgrind上, 已经出现了许多功能插件,如内存错误分析插件Memcheck,类型引用插件Catchc onv等。本发明基于Valgrind以及Catchconv,检测和定位符号错误和赋值截断。 相关资料参见:N.Nethercote and J.Seward.Valgrind:A framework for heavy weigh t dynamic binary instrumentation.In Proceedings of PLDI 2007,San Diego,Califo rnia,USA,June 2007或者J.Seward and N.Nethercote.Using valgrind to detect un defined value errors with bit-precision.In Proceedings of the USENIX05 Annual T echnical Conference,Anaheim,California,USA,April 2005或者D.A.Molnar and D. Wagner.Catchconv:Symbolic execution and run-time type inference for integer c onversion errors.Technical Report UCB/EECS-2007-23,EECS Department,University of California,Berkeley,February 2007。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种符号错误和赋 值截断的二进制漏洞检测定位装置,对二进制程序进行保护。
技术方案:本发明公开了一种符号错误和赋值截断的二进制漏洞检测定位装 置,该装置包括以下单元:
用于将二进制代码转换成VEX中间代码的代码转换单元;
信息记录单元,所述信息记录单元包括:用于记录变量的类型信息的类型信 息提取模块;用于记录变量的最新值的数值信息提取模块;用于记录赋给变量最 新值的指令地址的指令地址提取模块;
检测定位单元,所述检测定位单元包括:符号错误检测模块以及赋值截断检 测模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910025884.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电力变换装置
- 下一篇:模制定子、模制电动机和空调机