[发明专利]一种基于动态二进制翻译框架的代码复用攻击检测系统无效
申请号: | 201210073563.4 | 申请日: | 2012-03-20 |
公开(公告)号: | CN102662830A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 刘超;孙建华;陈浩 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 二进制 翻译 框架 代码 攻击 检测 系统 | ||
1.一种基于动态二进制翻译框架的代码复用攻击检测系统,其特征在于:应用程序被加载到检测系统中翻译运行,包含翻译器、探测器、Cache、跳台四个模块:
翻译器负责程序的翻译工作,以基本块为单位,截获程序的指令流逐条对程序的二进制指令解码翻译。采用同平台翻译技术和“翻译-执行”模式,每翻译完一个基本块,执行该基本块;
指令解码后,探测器通过执行C代码或者添加汇编代码到指令对应的目标代码中,提供指令的正常执行、安全性检测以及指令的优化,分为常规探测和攻击检测;常规探测为基础部分,保证程序正常运行;攻击检测为核心,主要处理程序中存在控制流转移的潜在危险指令;
生成的目标代码由Cache管理,Cache一方面分配内存空间缓存翻译过后的目标代码,降低重复翻译引入的开销;一方面建立并维护映射表,映射表保存着基本块源地址和翻译地址之间的映射关系,为查询基本块是否翻译过提供支持;
跳台(Trampoline)用于保证程序的翻译和执行工作有序进行,同时为指令安全性检测提供支持;跳台实质上是由嵌入内存中的汇编指令序列构成,通过调用跳台首地址执行嵌入的汇编指令序列,主要用于实现函数调用、其他跳台调用、指令的优化等,保证程序的翻译和执行工作有序进行。
2.根据权利1所述的系统,其特征在于:探测器的攻击检测包含ELF动态分析、指令识别、ROP攻击检测、控制流攻击检测、指令识别五部分:
ELF动态分析依据ELF文件格式遍历程序,获取程序共享对象中的所有函数地址范围信息,为检测潜在危险指令安全性提供信息支持;
指令识别器甄别指令的类型,即识别指令为CALL、RET还是JMP指令,进而决定攻击检测器选取何种检测机制;
ROP攻击检测提出影子栈思想,保存返回地址的副本,监测返回地址是否被篡改,处理利用CALL和RET指令发动的攻击;
控制流攻击检测通过判断指令源地址SRC和跳转目标地址DST的合法性,检测利用JMP指令发动的攻击;
攻击报告用于当检测到代码复用攻击或其他类型攻击时,向用户报告攻击并终止程序的运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210073563.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:3G流量管理和优化平台系统
- 下一篇:一种螺旋开瓶器