[发明专利]一种基于动态二进制翻译框架的代码复用攻击检测系统无效
申请号: | 201210073563.4 | 申请日: | 2012-03-20 |
公开(公告)号: | CN102662830A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 刘超;孙建华;陈浩 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 二进制 翻译 框架 代码 攻击 检测 系统 | ||
技术领域
本发明属于计算机安全领域,具体是一种基于动态二进制翻译框架的代码复用攻击检测系统。
背景技术
软件规模的不断扩展使得漏洞数量日益增多,互联网的普及使得基于软件漏洞的攻击呈现范围广、方式多、蔓延快等特点,对用户的安全造成严重威胁。早期针对缓冲区溢出漏洞的主要攻击方式是代码注入,攻击者本地或者远程向进程地址空间注入可执行的二进制代码,改变程序的控制流使进程执行这段代码,目前存在大量针对代码注入攻击的防御机制。
代码复用攻击(Code Reuse Attack)是当前较为常见的攻击方式,是代码注入攻击的演化,无需攻击者注入恶意代码,利用动态库或者程序中的合法函数和指令发动有效攻击。基于ROP(Return OrientedProgramming)以及JOp(Jump-Oriented Programming)技术的代码复用攻击,分别利用以RET和JMP指令结束的指令序列,可实现任意目的的攻击。目前,黑客们已成功在各种平台、设备、软件中实施代码复用攻击,代码复用攻击自动化构造技术的出现使得代码复用攻击已成为威胁最大的一种攻击方式。
二进制翻译技术能够将一种平台的二进制可执行文件翻译为同平台或者其他平台中可执行的二进制代码,使可执行程序能突破平台的限制,增强了软件和处理器之间的适应性。动态二进制翻译指在程序的执行过程中对源程序进行实时翻译,实时监控整个翻译和执行过程,是追踪程序控制流常采用的一种技术。
动态二进制探测(Instrumentatation)技术利用动态二进制翻译技术,在程序中加入额外代码收集程序行为信息或者改变程序行为。探测技术可运用在程序各阶段,作用在二进制代码的级别,不需要源代码的支持,覆盖所有被执行的客户代码并对代码进行分析,很容易地区分程序的数据和代码,主要应用于程序行为分析、程序漏洞的检测和防御,程序安全性保证等方面。
现有防御机制或者检测系统存在这样那样的不足,如需源代码支持,性能开销大等缺点。本发明结合动态二进制翻译框架,设计了一种代码复用攻击的检测系统,解决了目前检测系统中存在的不足。
发明内容
本发明提出了一种基于动态二进制翻译框架的代码复用攻击检测系统,该系统能保证非恶意程序的正常执行,检测和终止恶意攻击的运行。它包括翻译器、探测器、Cache以及跳台四个模块。
翻译器负责程序的翻译工作,以基本块为单位,截获程序的指令流逐条对程序的二进制指令解码翻译。采用同平台翻译技术和“翻译-执行”模式,每翻译完一个基本块,执行该基本块。
探测器通过执行C代码或者添加汇编代码到目标代码中,提供指令的正常执行、安全性检测以及指令的优化,分为常规探测和攻击检测。常规探测为基础部分,保证程序正常运行;攻击检测为核心,主要处理程序中存在控制流转移的潜在危险指令。
Cache一方面分配内存空间缓存翻译过后的目标代码,降低重复翻译引入的开销;一方面建立并维护Cache中的映射表,映射表保存着基本块源地址和翻译地址之间的映射关系。
跳台(Trampoline)实质上是由嵌入内存中的汇编指令序列构成,通过调用跳台首地址执行嵌入的汇编指令序列,主要用于实现函数调用、其他跳台调用、指令的优化等,保证程序的翻译和执行工作有序进行。
与已有的漏洞检测技术或者攻击检测系统相比,本发明具有如下特点:
a)无需程序源代码支持。很多传统检测方法或系统需要程序提源代码,而目前操作系统中的大部分程序不提供源代码,大大限制了检测机制的适用范围。本发明基于动态二进制翻译技术,截获程序的二进制指令并翻译为同平台的可执行目标代码,为非开源程序提供安全性检测。
b)运行的高效性。程序通过检测系统翻译和检测后再运行,必将导致性能开销急剧增长,本发明提出Cache缓存翻译后的目标代码,设置局部Cache和跳转目标预测机制优化目标代码的执行性能,保证程序的运行效率。
附图说明
图1为本发明系统结构示意图;
图2为本发明中翻译器组件工作流程图;
图3为本发明中Cache机制的结构示意图;
图4为本发明提出的核心组件攻击检测器的结构示意图;
图5为本发明提出的影子栈内存布局;
具体实施方式
下面结合附图以及实例对本发明的具体实施方式作进一步的详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210073563.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:3G流量管理和优化平台系统
- 下一篇:一种螺旋开瓶器