首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 187 毫秒
1.
通用平台目标二进制代码运行时控制流的提取主要依赖于处理器硬件特性,或其动态二进制插桩工具,该平台的控制流完整性验证方法无法直接移植到进阶精简指令集机器( ARM)架构中。为此,基于控制流完整性验证技术,设计一种用于ARM架构,利用缓冲溢出漏洞检测控制流劫持攻击的方法。该方法在程序加载时、执行前动态构建合法跳转地址白名单,在目标二进制代码动态执行过程中完成控制流完整性验证,从而检测非法控制流转移,并对非法跳转地址进行分析,实现漏洞的检测和诊断。在ARM-Linux系统的动态二进制分析平台上实施测试,结果表明,该方法能够检测出漏洞,并精确定位攻击矢量。  相似文献   

2.
Returned-Oriented-Programming (ROP)攻击能突破传统防御机制如DEP和W (+) X.目前ROP攻击检测误报率较高,无法准确区分ROP攻击与正常指令执行.ROP攻击需执行系统调用完成攻击,执行系统调用前寄存器须设置为正确的值,并且每条x86指令对应一个或多个gadget.基于上述特点,提出一种有效的二进制代码级ROP攻击检测方法:截获返回指令并作为起始点计算gadget数目,并在系统调用执行前判断寄存器是否被修改为与其参数类型相同的值.该方法不依赖启发式学习,能准确检测栈溢出的ROP攻击.通过动态插桩工具实现原型系统,对ROP攻击和正常程序进行了测试,实验结果表明系统漏报率和误报率较低,且性能损失较小.  相似文献   

3.
基于动态二进制平台DynamoRIO,研究了面向二进制代码的缓冲区溢出攻击样本的自动化检测方法.该方法利用动态二进制平台的插桩技术,针对不同的溢出覆盖类型,通过异常捕获、控制流分析和内存状态检查实现了对缓冲区溢出的自动化检测.实验结果表明,该方法能够自动化地、准确地检测出样本中存在的缓冲区溢出攻击,在缓冲区溢出攻击的自动化检测方面具有较好的应用价值.  相似文献   

4.
韩浩  茅兵  谢立 《计算机工程》2012,38(4):122-125
根据面向返回的编程(ROP)攻击及其变种的攻击原理,设计一个针对ROP攻击的动态运行时检测系统。该系统包括静态插桩和动态运行监控2个阶段。静态插桩为待检测程序装配分析代码,动态运行利用ret完整性检测、call完整性检测和jmp完整性检测方法分析程序的控制流和数据流,判断是否为ROP攻击。实验结果表明,该方法能完全检测出ROP恶意代码。  相似文献   

5.
ROPDetector:一种基于硬件性能计数器的ROP攻击实时检测方法   总被引:1,自引:0,他引:1  
面向返回编程(Return-Oriented Programming,ROP)是针对软件漏洞利用最广泛的攻击技术之一,能够绕过数据执行保护、地址空间布局随机化等防御机制.本文提出了一种基于硬件的ROP攻击实时检测方法,在不需要任何边缘信息(如源代码、编译器支持)和二进制重写的情况下,利用现代CPU中的硬件性能计数器监控...  相似文献   

6.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案。并通过在IA-64体系结构上对C和C 编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率。  相似文献   

7.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案.并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率.  相似文献   

8.
李丹  王震宇  井靖  王国好 《计算机科学》2013,40(Z6):315-319
间接跳转目标地址的识别一直是二进制代码控制流重构的难点之一,其跳转目标一般依赖于程序动态执行时的信息,传统方法无法精确识别。通过对控制流重构技术的研究,提出一种基于路径约束的间接跳转目标地址识别方法,即对于一个间接跳转,在初始控制流图的基础上构建从程序入口点到间接跳转的路径集合,对于每条路径,首先通过数据流分析相关技术得到跳转目标地址关于自由变量的一个表达式,然后对路径约束求解,得到满足约束的自由变量的一组特定解,并以此确定跳转目标表达式的值。通过该方法,每个间接跳转都可以根据路径集合确定跳转目标的地址集合。  相似文献   

9.
彭建山  周传涛  王清贤  丁大钊 《计算机科学》2018,45(1):240-244, 260
ROP是一种流行的软件漏洞利用技术,它与ROP检测技术的对抗正在不断升级。主流的ROP检测工具kBouncer和ROPecker通过LBR寄存器追踪间接跳转指令的执行过程,结合ROP特征检测,对传统的ROP以及改进的JOP等攻击行为都有很好的检测效果。Nicholas提出了绕防方法,但它存在可用gadget数量少、实现难度大等问题。提出了一种基于多路径分发的ROP框架构造方法,基于3种类型的gadget模块构造了一个gadget循环执行的框架,在该框架内可以使用丰富的常规gadget,从而形成一条完整、高效的ROP攻击链。实验表明该方法的实现难度低,不仅能够完成复杂的ROP功能,而且特征足够小,能够绕过主流ROP检测工具的检测。  相似文献   

10.
为了在不修改处理器结构的基础上检测代码重用攻击,提出面向代码重用攻击检测的安全调试架构。针对通用基础调试结构可利用的调试信号,设计总线跟踪模块,为执行内存访问控制提供接口。研究基于性能计数器的函数级代码重用攻击检测方法,增加跟踪检测微控制单元,使安全调试架构与性能计数器配合工作,在不插桩的前提下完成检测。实验结果表明,安全调试架构传输延时小,资源消耗少,能够有效检测代码重用攻击。  相似文献   

11.
黄志军  郑滔 《计算机科学》2012,39(9):120-125
随着Return-Oriented Programming(ROP)思想的提出,程序安全面临新的挑战。ROP攻击操作粒度细致,特征隐蔽,构造精巧,静态特征稀少,因此传统的安全防御措施很难对之有效。在这种背景下,利用执行时的动态特征去识别、防御ROP攻击变得非常重要。Dynamic Binary Instrumentation(DBI)技术的引入,为ROP攻击动态特性分析提供了有力的支持。介绍一种利用DBI分析技术识别ROP攻击序列的方法,即通过识别恶意的程序执行流,约束库函数的调用规范,来检测ROP攻击。与此同时,还设计了一套可扩展的程序防御框架,用于检测程序的扩展,由此说明该检测工具的通用性与可扩展性。  相似文献   

12.
静态二进制翻译的入口点通常为main函数,所以main函数执行之前的动态地址解析部分就无法在目标机上恢复。通过分析基于ELF文件的动态地址解析机制,提出了在目标代码中插入代码模拟动态地址解析的方法来解决该问题。该方法已在静态二进制翻译项目中实现,测试结果表明该方法是有效的。  相似文献   

13.
C/C++在提供灵活的使用方式和高效目标码的同时,由于缺少边界检查机制,缓冲区溢出成为C/C++程序面临的一种严重的攻击威胁。给出了一种缓冲区溢出攻击的动态防护方法。使用在库中声明的数组来备份函数的控制流信息,包括返回地址和栈帧指针,来动态监测非法的篡改行为。该方法可以对缓冲区溢出攻击中的直接攻击和间接攻击均有效防护。通过RIPE基准平台和两道实际应用的测试以及理论比较表明该方法的有效性。  相似文献   

14.
缓冲区溢出是常见的网络漏洞攻击,其中最重要的是栈溢出攻击。通过分析缓冲区溢出攻击的方法和特点,提出一种基于StackShield改进的RetProtect算法,首先利用IDA Pro对源程序反汇编分析,然后建立新的库函数,并通过修改gcc源代码来实现程序执行时对函数返回地址的备份的方法来检测缓冲区溢出攻击的发生。与其它栈溢出攻击检测方法相比,RetProtect算法可有效地阻止对返回地址进行淹没的栈溢出攻击,对用户透明,系统兼容性好。  相似文献   

15.
内存溢出攻击是计算机系统中历史悠久且依旧广泛存在的攻击手段,而指针加密技术可以有效阻止此攻击.通过软件手段实现这一技术的方式将导致程序运行效率的显著降低并且产生额外的内存开销.所以本文基于RocketChip的RoCC(Rocket Custom Coprocessor)接口实现一个加解密指针的协处理器PEC-V.其通过RISC-V的自定义指令控制协处理器加解密返回地址和函数指针等值达到阻止溢出攻击的目的.PEC-V主要使用PUF(Physical Unclonable Function)来避免在内存中储存加密指针的键值,所以此机制在保证了加密键值的随机性的同时也减少了访问内存的次数.实验结果显示,PEC-V能够有效防御各类缓冲区溢出攻击,且程序平均运行效率仅下降3%,相对既往方案显著提高了性能.  相似文献   

16.
控制流完整性(CFI)是一种在程序中通过保护间接转移有效减少代码注入和代码重用攻击等威胁的技术。由于二进制程序缺少源代码级别的语义, CFI策略的设定需要很谨慎。现有的面向二进制的CFI解决方案,如BinCFI和CCFIR,虽然能够提供对二进制程序的防护能力,但它们应用的策略过于宽松,依然会受到复杂的代码重用攻击。本文提出一种新的面向二进制的CFI保护方案,称为BinCC。它可以通过静态二进制重写为x86下的二进制程序提供细粒度保护。通过代码复制和静态分析,我们把二进制代码分成几个互斥代码块。再进一步将代码中的每个间接转移块归类为块间转移或块内转移,并分别应用严格CFI策略来限制这些转移。为了评估BinCC,我们引入新的指标来评估每种间接转移中合法目标的平均数量,以及利用call-precededgadgets产生ROP漏洞利用的难度。实验结果表明与BinCFI比较, BinCC显著地将合法转移目标降低了81.34%,并显著增加了攻击者绕过CFI限制实施复杂的ROP攻击的难度。另外,与BinCC可以降低大约14%的空间开销,而只提升了4%的运行开销。  相似文献   

17.

Kernel callback queues (KQs) are the established mechanism for event handling in modern kernels. Unfortunately, real-world malware has abused KQs to run malicious logic, through an attack called kernel queue injection (KQI). Current kernel-level defense mechanisms have difficulties with KQI attacks, since they work without necessarily changing legitimate kernel code or data. In this paper, we present the design, implementation, and evaluation of KQguard, an efficient and effective protection mechanism of KQs. KQguard employs static and dynamic analysis of kernel and device drivers to learn specifications of legitimate event handlers. At runtime, KQguard rejects all the unknown KQ requests that cannot be validated. We implement KQguard on the Windows Research Kernel (WRK), Windows XP, and Linux, using source code instrumentation or binary patching. Our extensive experimental evaluation shows that KQguard is effective (i.e., it can have zero false positives against representative benign workloads after enough training and very low false negatives against 125 real-world malware), and it incurs a small overhead (up to ~5%). We also present the result of an automated analysis of 1,528 real-world kernel-level malware samples aiming to detect their KQ Injection behaviors. KQguard protects KQs in both Windows and Linux kernels, can accommodate new device drivers, and can support closed source device drivers through dynamic analysis of their binary code.

  相似文献   

18.
史胜利  任平安 《计算机工程》2011,37(10):111-113
根据攻击者通常通过修改函数返回地址或函数入口地址来改变程序流程的特点以及ELF文件的结构特点,在调用函数和函数调用返回时对某些特定信息进行处理,以检测出攻击行为。依靠动态程序监控平台pin提供的API函数来编写程序运行时监控工具,提出缓冲区溢出攻击实时检测的方法。实例分析表明该方法具有无需对现有的软、硬件系统进行修改的特点。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号