发明名称 一种基于虚拟机技术和动态符号执行的整数溢出检测方法
摘要 本发明的目的在于提供一种基于虚拟机技术和动态符号执行的整数溢出检测方法,能够直接对x86平台下的二进制程序进行测试,该基于虚拟机技术和动态符号执行的整数溢出检测方法,利用虚拟机技术将目标二进制程序进行模拟执行,在执行的过程中对其进行二进制翻译,通过将目标二进制代码翻译成中间表示,再将中间表示翻译成本地可执行代码进行具体执行;同时将中间表示翻译成LLVM代码进行符号执行;将具体执行和符号执行进行结合,在符号执行的过程中将目标代码翻译成LLVM语言表示,在LLVM语言的基础上进行整数溢出检测,并采用符号执行和约束求解方法产生测试用例,利用具体执行的方式进行检测。
申请公布号 CN103399780A 申请公布日期 2013.11.20
申请号 CN201310277338.7 申请日期 2013.07.03
申请人 清华大学;中国人民解放军总参谋部第五十四研究所 发明人 陈渝;肖奇学;王欢;史元春;郭世泽;吴志勇;曹鼎;范文良
分类号 G06F9/455(2006.01)I;G06F11/36(2006.01)I;G06F11/14(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 高燕燕
主权项 基于虚拟机技术和动态符号执行的整数溢出检测方法,其特征在于,利用虚拟机技术将目标二进制程序进行模拟执行,在执行的过程中对其进行二进制翻译,通过将目标二进制代码翻译成中间表示,再将中间表示翻译成本地可执行代码进行具体执行;同时将中间表示翻译成LLVM代码进行符号执行;将具体执行和符号执行进行结合,在符号执行的过程中将目标代码翻译成LLVM语言表示,在LLVM语言的基础上进行整数溢出检测,并采用符号执行和约束求解方法产生测试用例,利用具体执行的方式进行检测。
地址 100084 北京市海淀区清华园