- 6
- 0
- 约2.92千字
- 约 23页
- 2018-05-22 发布于天津
- 举报
缓冲区溢出攻击 计算机系统安全课件典型实例.ppt
缓冲区溢出攻击 曹天杰 tjcao@cumt.edu.cn 中国矿业大学计算机科学与技术学院 主要内容 概要 缓冲区溢出攻击分析 检测与防御 讨厌的Windows 又出错了! 0? 到底表示什么意思呢?不知道... 常见的情形 点确定,关掉算了! 如何能够进行系统调用? 刻意调整这个地址, 使它能指向一段系统调用程序, 如CMD.EXE 概念 缓冲区溢出指的是一种系统攻击的手段,通过向程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。 堆栈 从物理上讲,堆栈是就是一段连续分配的内存空间 静态全局变量是位于数据段并且在程序开始运行的时候被加载 动态的局部变量 则分配在堆栈里面 从操作上来讲,堆栈是一个先入后出的队列,其生长方向与内存的生长方向正好相反 规定内存的生长方向为向上,则栈的生长方向为向下,压栈的操作push=ESP-4 ,出栈的操作是pop=ESP+4 在Win32系统中,ESP是堆栈指针寄存器,它指向当前堆栈储存区域的顶部。 EBP是基址寄存器,它指向当前堆栈储存区的底部。当要在堆栈中进行搜索时,常常需要它作用一个静态参考点。 除此之外,EIP是指令指针,它指向下一条将要被执行的指令。 在一次函数调用中,堆栈中将被依次压入: 参数,返回地址,EBP 如果函数有局部变量,接下
原创力文档

文档评论(0)