首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 734 毫秒
1.
控制流劫持攻击是一种常见的针对计算机软件的攻击,给计算机软件安全带来了巨大的危害,是信息安全领域的研究热点。首先,从攻击代码的来源角度出发,阐述了进程控制流劫持攻击的相关研究;其次,根据控制流劫持攻击技术的发展现状,基于不同防御思想介绍了近年来国内外的相关防御技术;最后对控制流劫持攻防技术发展趋势进行总结和展望。  相似文献   

2.
内存数据被污染往往是程序漏洞被利用的本质所在,从功能角度把内存数据划分为控制相关和非控制相关,由此引出控制流劫持攻击和非控制数据攻击。两者危害程度相当,前者因利用成本较低而成为主流,但随着控制流劫持防御方法的不断完善,非控制数据攻击逐渐被重视。研究者先后在顶级会议上提出了数据导向攻击得自动化利用框架Data-oriented Exploits (DOE)以及图灵完备性地证明Data-oriented Programming (DOP),使得非控制数据攻击成为热点。本文基于这两种攻击形式,首先简化内存安全通用模型,并对经典内存数据污染攻击和防御的原理进行分析,其次分别论述新型控制流劫持和非控制数据攻击与防御的研究现状,最后探讨内存安全领域未来的研究方向,并给出两者协作攻击和防御的可能方案。  相似文献   

3.
动态代码生成技术广泛使用在浏览器、Flash播放器等重要日常软件中,近年来其中曝出严重的安全问题,为控制流劫持攻击和相应的防御提供了新机会,受到越来越多的关注。针对动态生成代码在数据区且可被执行和直接依赖输入的特性,本文从代码注入攻击和代码重用攻击两个角度总结分析了控制流劫持攻击新技术,并从强制性防御和闪避防御(Moving target defense)两个角度对相关的主要防御新方法进行了阐述。同时提出动态代码生成系统安全性的衡量模型,对代表性防御技术进行对比分析和评估,并探讨了面向动态生成代码攻防技术的发展趋势和下一步的研究方向。  相似文献   

4.
面对控制流劫持攻击的威胁,业界使用控制流完整性保护技术来保障进程的执行安全。传统的控制流完整性验证保护机制依赖于动态二进制改写技术,在分析、实施等过程中难度较大,且有可能带来二进制兼容的问题。通过研究近几年提出的上下文敏感的控制流保护技术PathArmor,分析了其检测进程控制流的时机。然后针对PathArmor只在进程做系统调用时才进行检测的机制,提出了改进的方法。该方法依据内核页错误中断处理机制,通过修改用户页面的保护属性主动触发可执行页面的执行错误;接着,修改页错误中断处理过程,钩挂do_page_fault以处理主动触发的执行错误。用户进程代码和数据的完整性得以保证的同时,得到了更多陷入内核接受检查的机会。在Nginx,bzip2,SQLite等典型应用环境下的实验结果表明,改进的方法能够明显增加系统安全分析的粒度,更好地保护程序的控制流。  相似文献   

5.
随机化技术防御进程控制流劫持攻击,是建立在攻击者无法了解当前内存地址空间布局的基础之上,但是,攻击者可以利用内存信息泄露绕过随机化防御获得gadget地址,向程序注入由gadget地址构造的payload,继续实施控制流劫持攻击,窃取敏感数据并夺取或破坏执行软件的系统。目前,异构冗余执行系统是解决该问题的方法之一,基本思想是同一程序运行多个多样化进程,同时处理等效的程序输入。随机化技术使冗余的进程对恶意输入做出不同的输出,同时正常功能不受影响。近年来,一些符合上述描述的系统已经被提出,分析进程异构冗余执行系统的表决设计可以发现,基于ptrace的实现方法会引入大量的上下文切换,影响系统的执行效率。率先直接修改内核设计出一种进程异构冗余执行系统,表决过程完全在内核中完成,冗余的进程独立地采用内存地址空间随机化技术,构建相互异构的内存地址空间布局,在与内存信息泄露相关的系统调用处进行表决,发现泄露信息不一致,阻断进程控制流劫持攻击。即使攻击者跳过内存信息泄露进行漏洞利用,异构内存空间布局也使得注入由gadget地址构造的payload无法同时在冗余的进程中有效,阻断进程控制流劫持攻击。实现...  相似文献   

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

7.
陈志锋  李清宝  张平  王烨 《软件学报》2017,28(7):1732-1745
近年来,代码复用攻击与防御成为安全领域研究的热点.内核级代码复用攻击使用内核自身代码绕过传统的防御机制.现有的代码复用攻击检测与防御方法多面向应用层代码复用攻击,忽略了内核级代码复用攻击.为有效检测内核级代码复用攻击,提出了一种基于细粒度控制流完整性(CFI)的检测方法.首先根据代码复用攻击原理和正常程序控制流构建CFI约束规则,然后提出了基于状态机和CFI约束规则的检测模型.在此基础上,基于编译器辅助实现CFI标签指令插桩,并在Hypervisor中实现CFI约束规则验证,提高了检测方法的安全性.实验结果表明该方法能够有效检测内核级代码复用攻击,并且性能开销不超过60%.  相似文献   

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

9.
控制流完整性保护技术(control flow integrity,简称CFI)是防御面向返回编程攻击(return-oriented programming,简称ROP)的一种有效途径.针对现有CFI中存在的四大问题:性能开销大、依赖程序代码信息、容易遭受历史刷新攻击以及规避攻击,提出了基于硬件分支信息的ROP攻击检测方法——MIBChecker (mispredicted indirect branch checker).该方法实时地利用硬件性能管理单元(performance monitor unit,简称PMU)的事件触发机制,针对每个预测失败的间接分支进行ROP攻击检测,规避了历史刷新攻击的可能,同时提出基于敏感系统调用参数的新型检测方法来检测短攻击链(称为gadgets-chain) ROP攻击.实验结果表明,MIBChecker能够不受历史刷新攻击的影响进行ROP短指令片段(称为gadget)检测,可有效地检测出常规ROP攻击和规避攻击,并仅引入5.7%的性能开销.  相似文献   

10.
根据栈缓冲区溢出的基本原理,介绍了三种缓冲区溢出攻击的基本模式,分析了现有的动态防御方法所存在的优缺点。以此为基础,提出了一种基于控制流相关数据保护的栈缓冲区溢出动态防御方法,引入了加密机制,有效地防御攻击者对保护数据的篡改。设计并实现了针对目标文件为对象的二进制文件重构工具,通过理论分析和实验表明该方法能够极大概率防御各种缓冲区溢出攻击。  相似文献   

11.
薛永岭  黄皓  张博 《计算机工程》2009,35(9):133-135
针对恶意篡改程序控制流攻击方式,提出一种监控程序控制流完整性的方法。对程序源代码进行扫描,以函数作为识别程序行为的基本粒子,利用函数调用执行的序列信息,建立表现程序原意的行为轨迹模型,利用该模型在运行期监控程序的执行流程。实验结果表明,该方法对篡改控制流的攻击起到了很好的防御作用。  相似文献   

12.
高级持续威胁(APT,advanced persistent threats)会使用漏洞实现攻击代码的自动加载和攻击行为的隐藏,并通过复用代码攻击绕过堆栈的不可执行限制,这是网络安全的重要威胁.传统的控制流完整性和地址随机化技术虽然有效抑制了APT的步伐,但软件的复杂性和攻击演化使软件仍存在被攻击的时间窗口.为此,以资...  相似文献   

13.
DoS攻击的研究与源地址追踪   总被引:2,自引:0,他引:2  
本文介绍了DoS攻击的发展概貌,并重点介绍了几种常见攻击方法的原理和防御措施,随后给出了国际上最新的网络攻击IP源地址追踪方案,最后介绍了由作者提出的带认证机制的入口包标记方法实现的IP源地址追踪。  相似文献   

14.
传统的控制流混淆方案是通过引入一些特殊结构来混淆或隐藏原程序的控制流信息,但这会导致大量的额外开销,此外针对控制流中其他敏感信息,常用的混淆技术并没有完善的保护方案。针对这些问题,提出了基于隐式跳转的控制流混淆技术。分析建立程序的控制流图,获取每个基本块的依赖关系,建立状态转移模型,为每个基本块分配一个运行时状态,并根据该状态生成的密钥来对控制流的跳转、函数的调用及变量的引用等敏感信息进行加密保护,使之转换为需要在运行时解密才能使用的隐式形式,从而实现反静态分析。此外,针对相同对象的密文重复问题,提出了基于环境密钥的两阶段加密方案,进一步减少敏感信息的暴露。实验结果表明,该方案并不会对程序运行时性能造成很大影响,同时还能较为完善地帮助程序抵抗静态分析。  相似文献   

15.
Modern obfuscation techniques are intended to discourage reverse engineering and malicious tampering of software programs. We study control-flow obfuscation, which works by modifying the control flow of the program to be obfuscated, and observe that it is difficult to evaluate the robustness of these obfuscation techniques. In this paper, we present a framework for quantitative analysis of control-flow obfuscating transformations. Our framework is based upon the control-flow graph of the program, and we show that many existing control-flow obfuscation techniques can be expressed as a sequence of basic transformations on these graphs. We also propose a new measure of the difficulty of reversing these obfuscated programs, and we show that our framework can be used to easily evaluate the space penalty due to the transformations.   相似文献   

16.
目前大多数因特网应用都采用服务器/客户机模式,服务器程序安全对网络安全至关重要。本文提出了一种新的针对服务进程的防御技术,通过对关键API的拦截和安全性检查,可以发现大多数针对服务器程序的攻击.这种方法具有鲜明的特色:效率高,通用性好,漏报率低,误报率为零。实验表明,该方法能够防范一大类针对服务器程序的已
知和未知攻击。本文给出了该技术在Microsof IIS上的实现。  相似文献   

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

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

京公网安备 11010802026262号