首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 234 毫秒
1.
根据Intel 80X86体系结构与栈缓冲区溢出的基本特点,从汇编语言程序的视角对缓冲区溢出攻击进行分类,分析了现有的动态防御机制所存在的优缺点,指出现有防御策略所存在的不足.提出一种基于返回地址变换的动态栈缓冲区溢出防御机制,理论分析和实验表明新机制能够极大概率对抗各种缓冲区溢出攻击.该机制能根据所部署系统的安全要求不同采用不同的方案,以满足不同的安全性和不同的效率要求.  相似文献   

2.
《软件工程师》2017,(9):30-33
计算机网络安全漏洞和网络攻击伴随着网络的存在会随时发生,栈缓冲区溢出漏洞攻击是网络攻击中最常见的一种攻击技术。文章剖析了Windows栈工作原理,以及栈溢出漏洞攻击技术方法,针对常见的栈溢出漏洞攻击提出了几种防御措施,能预防大部分针对栈溢出漏洞的攻击。  相似文献   

3.
通过对缓冲区溢出攻击原理的研究和分析,讨论了C/C++源程序缓冲区溢出的常见表现,并分析了其原因和产生机理,提出了一种基于安全分离控制和数据信息的双栈结构的C编译器模型,其好处是无论数据栈如何溢出,控制线都不受影响,缺点是该法一样不能防御所有的缓冲溢出攻击。  相似文献   

4.
已有的检测缓冲区溢出漏洞的方法有静态的也有动态的.静态分析在软件运行前,析其源代码,找出可能存在的漏洞;动态方法在运行时对可能存在漏洞的软件行为进行监视,发现异常后,进行判断,然后做出适当处理.在分析了传统缓冲区溢出方法的基础上,依据缓冲区溢出攻击的发展趋势,针对非控制数据的缓冲区溢出攻击,提出了一种主要针对非控制数据缓冲区溢出攻击的测试方法,使用变量标识来测试是否发生了缓冲区溢出攻击.这种方法综合了静态和动态分析的优点,能够有效地防御缓冲区溢出攻击.  相似文献   

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

6.
基于缓冲区溢出进行攻击以达到远程控制是当今最盛行的一种攻击手段。当前 ,基于缓冲区溢出的攻击主要有基于栈的和非栈的两种手段。本文重点在于解决基于非栈的缓冲区溢出攻击中的参数地址的精确定位问题。  相似文献   

7.
巫玲  王新昊 《福建电脑》2007,(8):43-44,40
本文首先分析了缓冲区溢出攻击的基本原理和常见的两种攻击方式:栈溢出和堆溢出,然后介绍了缓冲区溢出防范的技术,最后提供了缓冲区溢出攻击防护的可行办法。  相似文献   

8.
缓冲区溢出在CERT报道的安全事件中占到一半。缓冲区溢出攻击是当前十分常见的一种攻击。本文首先介绍了C程序的存储空间布局,然后具体说明了缓冲区溢出攻击的原理、攻击类型和方法,接着对目前主要的几种防御工具软件的原理、优缺点进行了分析,最后,总结归纳防御缓冲区溢出攻击的基本方法。  相似文献   

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

10.
Vista的抵御缓冲区溢出攻击技术研究*   总被引:1,自引:0,他引:1  
缓冲区溢出攻击是一种在互联网时代被广泛利用并危害严重的主要攻击方式。分析了缓冲区溢出攻击的基本原理,总结了缓冲区溢出攻击的关键步骤,并研究分析了Windows Vista的抵御缓冲区溢出攻击的四种关键技术,包括地址空间配置随机化(ASLR)、数据执行保护(DEP)、GS栈保护和安全(structured exception handling, SEH)等技术;最后对Windows Vista抵御缓冲区溢出的整体效果进行了分析,指出了Vista仍然不能完全抵御缓冲区溢出攻击。  相似文献   

11.

Despite all the efforts made by the scientific community in terms of computer security, buffer overflow vulnerabilities continue being the biggest security flaw in applications, since they compromise the security of the system through memory corruption. To tackle this problem, there are different techniques based on the binary analysis of the application in question. With this objective in mind, the present paper proposes an algorithm based on the dynamic instrumentation of binaries, that is, dynamic local variables belonging to the functions of the program are detected, and a check is performed to see whether there is an overflow of memory between them. The results obtained show how the proposed algorithm is able to detect buffer overflow errors in the stack frames of a function.

  相似文献   

12.
代码注入式攻击方法已经成为针对内存攻击的典型代表,缓冲区溢出攻击是其中最常用的一种代码注入攻击方法。它依靠修改程序的控制流指向,使程序转向预先注入的恶意代码区,以取得系统权限。提出了一种基于数据保护的随机化方法,即通过保护程序内的指针和数组来有效地防御缓冲区溢出攻击的方法。  相似文献   

13.
控制流劫持攻击利用程序内存漏洞获取程序的控制权,进而控制程序执行恶意代码,对系统安全造成极大的威胁.为了应对控制流劫持攻击,研究人员提出了一系列的防御手段.控制流完整性是一种运行时防御方法,通过阻止进程控制流的非法转移,来确保控制流始终处于程序要求的范围之内.近年来,越来越多的研究致力于解决控制流完整性的相关问题,例如提出新的控制流完整性方案、新的控制流完整性方案评估方法等.首先阐述了控制流完整性的基本原理,然后对现有控制流完整性方案进行了分类,并分别进行了分析,同时介绍了现有针对控制流完整性方案的评估方法与评价指标.最后,对控制流完整性的未来工作进行了展望,以期对未来的控制流完整性研究提供参考.  相似文献   

14.
设计了一种动态检测嵌入式软件堆栈溢出及使用量的方案,在不受堆栈溢出影响的定时器中断服务程序中,周期检测堆栈使用量,通过LED提示堆栈溢出深度.通过设置堆栈溢出缓冲区,在RAM空间中隔离堆栈和全局变量分区,使得浅度堆栈溢出不影响系统正常运行,同时,堆栈溢出缓冲区保存了关键的上下文信息,将该信息存储在非易失性存储器中,运行一段时间后,通过专用工具读取非易失性存储器中的堆栈使用量数据和溢出上下文信息,分析异常位置,从而调整堆栈尺寸或者调整程序设计,以提高系统运行的稳定性.  相似文献   

15.
栈溢出的动态检测技术   总被引:3,自引:0,他引:3  
刘通平 《计算机科学》2007,34(9):282-286
缓冲区溢出是计算机界的一个古老话题,计算机界和学术界为检测和预防缓冲区溢出投入了很多的精力。但根据CERT(www.cert.org)的数据显示,最近几年中,缓冲区溢出大约占程序错误的50%。另外,根据CERT Ad—visory数据显示,目前仍然有50%左右的安全威胁系来自缓冲区溢出。因此可以说,缓冲区溢出的问题并没有得到根本的解决,而栈溢出是一种最基本的缓冲区溢出。和堆溢出相比,栈溢出更难于监控和危害性更大,因此研究栈溢出具有实际意义。本文对各种栈溢出的检测技术进行了分类和总结,希望能够对栈设计溢出的检测工具提供一些思路。同时,本文介绍了实现栈溢出的动态检测技术中涉及到的各种插装技术,并对各种各样的插装技术进行了总结。  相似文献   

16.
缓冲区溢出检测模型研究   总被引:1,自引:0,他引:1  
根据缓冲区溢出的基本原理,论文提出一种对缓冲区溢出进行检测的模型,模型通过对检测对象中的一些元素进行抽象和定义,给出检测缓冲区溢出的方法,并根据模型开发出针对C源程序的缓冲区溢出辅助检测工具Bufcheck。  相似文献   

17.
张贵民  李清宝  王炜  朱毅 《计算机应用》2013,33(9):2520-2524
软件防篡改是软件保护的重要手段。针对由缓冲区溢出等攻击导致的控制流篡改,提出一种基于函数级控制流监控的软件防篡改方法。以函数级控制流描述软件正常行为,利用二进制重写技术在软件函数入口处植入哨兵,由监控模块实时获取哨兵发送的软件运行状态,通过对比运行状态和预期值判断程序是否被篡改。实现了原型系统并对其进行了性能分析,实验结果表明,基于函数级控制流监控的软件防篡改方法能有效检测对控制流的篡改攻击,无误报且开销较低,其实现不依赖程序源码,无需修改底层硬件和操作系统,监控机制与被保护软件隔离,提高了安全性。  相似文献   

18.
堆栈测试是嵌入式操作系统安全评估的重要环节,堆栈溢出会覆盖邻近堆栈中的数据,造成数据错乱进而引发系统崩溃。然而捕获并定位堆栈溢出具有一定难度。首先,溢出数据可能会侵占操作系统中其它任务的私有堆栈,而发生溢出的任务本身没有异常表现,以致难以确定堆栈溢出的根源;其次,由于操作系统任务的优先级差异,堆栈溢出的暴露时间可能滞后于其发生时间。提出了一种基于实时堆栈分配与回收行为监测的动态堆栈测试方法,首先在堆栈行为测试点插入桩函数,以采集任务堆栈的测试码;然后设置上位机测试程序,以分析测试码并提供测试结果,实现实时捕获并定位堆栈溢出。利用此方法,在基于车载远程信息处理终端的实际测试中,定位到了3处造成系统崩溃或复位的堆栈溢出异常,评估了操作系统堆栈的安全性。另外,根据测试结果,优化了堆栈大小的静态分配,在单个任务中最多节省了42%的堆栈空间,并将整个任务RAM压缩至原来的63%。  相似文献   

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

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