电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

第七章计算机系统安全(缓冲区溢出)精编版

  • 资源ID:145717709       资源大小:570.98KB        全文页数:66页
  • 资源格式: PPTX        下载积分:29金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要29金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

第七章计算机系统安全(缓冲区溢出)精编版

2020/9/22,网络安全Network Security,2020/9/22,第7章 计算机系统安全(缓冲区溢出),缓冲区溢出概述,缓冲区溢出攻击的原理,缓冲区溢出攻击的防御技术,2020/9/22,第7章 计算机系统安全(缓冲区溢出),缓冲区溢出概述,缓冲区溢出攻击的原理,缓冲区溢出攻击的防御技术,2020/9/22,缓冲溢出概述,1. 缓冲区的定义 连续的一段存储空间。 2. 缓冲区溢出的定义 指写入缓冲区的数据量超过该缓冲区能容纳的最大限度,造成溢出的数据改写了与该缓冲区相邻的原始数据的情形。 Buffer overflow is the result of writing more data into a buffer than the buffer can hold.,2020/9/22,Example,Consider the following code,int main(void) char buffer4; strcpy(buffer, “AAA”); ,AAA0,2020/9/22,Example (contd.),Now we input 4+4+3 As instead of 4 As.,int main(void) char buffer4; strcpy(buffer, “ ”); ,AAA,AAAAAAAAAAA,main stack frame,previous stack frame,buffer4,Higher addresses,Lower addresses,?,2020/9/22,缓冲溢出概述(续),3. 缓冲区溢出的危害 利用缓冲区溢出实现在本地或者远程系统上实现任意执行代码的目的,从而进一步达到对被攻击系统的完全掌控; 利用缓冲区溢出进行DoS(Denial of Service)攻击; 利用缓冲区溢出破坏关键数据,使系统的稳定性和有效性受到不同程度的影响; 实现蠕虫程序 1988 Robert T. Morris蠕虫利用UNIX 系统中In, the Morris Internet worm exploited buffer overflow vulnerability in fingerd server program on UNIX systems. 曾在2001年造成大约26亿美元损失的Code Red蠕虫及其变体就是利用了Microsoft IIS中的缓冲区溢出进行攻击 2002年的Sapphire蠕虫和2004年的Witty蠕虫也都利用了缓冲区溢出进行攻击。 In 2004, the Witty worm takes advantage of a buffer overflow flaw in several Internet Security Systems (ISS) products.,2020/9/22,Source from CERT (Computer Emergency Response Team) CERT Advisories,缓冲区溢出相关的软件安全隐患数目占整个软件安全隐患数目的比例,2020/9/22,缓冲溢出概述(续),4. 造成缓冲区溢出的根本原因 代码在操作缓冲区时,没有有效地对缓冲区边界进行检查,使得写入缓冲区的数据量超过缓冲区能够容纳的范围,从而导致溢出的数据改写了与该缓冲区相邻存储单元的内容。 C and C+ are the most common languages to create buffer overflows. C语言中许多字符串处理函数如:Strcpy、Strcat、Gets、Sprintf等都没有对数组越界加以检测和限制。,2020/9/22,缓冲溢出概述(续),Microsoft Windows,Linux/Unix,Apple Macintosh等主流操作系统无一例外存在缓冲区溢出问题。 存在缓冲区溢出问题的应用程序也广泛存在,涉及数据库系统例如Microsoft SQL Server 2000, Oracle9i,网络服务(Microsoft IIS),网络协议实现(例如OpenSSL),多媒体软件(Apple QuickTime)等等,2020/9/22,缓冲溢出概述(续),缓冲区溢出可以成为攻击者实现攻击目标的手段,但是单纯地溢出缓冲区并不能达到攻击的目的。 在绝大多数情况下,一旦程序中发生缓冲区溢出,系统会立即中止程序并报告“fault segment”。例如缓冲区溢出,将使返回地址改写为一个非法的、不存在的地址,从而出现core dump错误,不能达到攻击目的。 只有对缓冲区溢出“适当地”加以利用,攻击者才能通过其实现攻击目标。,2020/9/22,第7章 计算机系统安全(缓冲区溢出),缓冲区溢出概述,缓冲区溢出攻击的原理,缓冲区溢出攻击的防御技术,2020/9/22,缓冲溢出攻击的原理,1. 缓冲区溢出攻击模式,Attacked System,溢出缓冲区,重定向到攻击程序,任意地执行程序,执行攻击程序,Attacker,注入恶意数据,获得控制权,找到可利用的缓冲区溢出隐患,恶意数据可以通过 命令行参数、 环境变量、 输入文件或者 网络数据注入,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置 预备知识点 进程在内存中的布局,2020/9/22,缓冲溢出攻击的原理(续),代码段/文本段 用于放置程序的可执行代码 (机器码) 。 数据段 用于放置已初始化的全局变量和已初始化的局部静态变量。 BSS (Block Started by Symbol)段 用于放置未初始化的全局变量和未初始化的局部静态变量。 堆 用于动态分配内存。 堆栈段 用于存放函数的参数,返回地址,调用函数的栈基址以及局部非静态变量。 进程的环境变量和参数,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置(续) 堆栈(stack) 堆(heap) 数据段(data) BSS段,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置(续) 堆栈(stack) 堆(heap) 数据段(data) BSS段,2020/9/22,被调函数堆栈布局,堆栈采用后进先出(LIFO)的方式管理数据,这种方式是实现函数嵌套调用的关键。,Previous stack frames,Function arguments,Return address,Previous frame pointer,Local variables,High address,Low address,从右到左的顺序,指令寄存器(EIP),基址寄存器(EBP),局部非静态变量,2020/9/22,缓冲溢出攻击的原理(续),基于堆栈的缓冲区溢出,void function(char *str) char buffer4; strcpy(buffer, str); void main (int argc, char *argv) char large_string8; int i; for(i=0; i<8; i+) large_bufferi=A function(large_string); ,2020/9/22,Example (contd.),Large_string,上一个栈帧地址,返回地址,argv,内存低端,内存高端,argc,ESP,main函数栈帧,void main (int argc, char *argv),i,2020/9/22,缓冲溢出攻击的原理(续),基于堆栈的缓冲区溢出,void function(char *str) char buffer4; strcpy(buffer, str); void main (int argc, char *argv) char large_string8; int i; for(i=0; i<8; i+) large_bufferi=A function(large_string); ,2020/9/22,Example (contd.),Large_string,上一个栈帧地址,返回地址,argv,内存低端,内存高端,argc,ESP,Main函数的栈帧,i,*str,返回地址,main函数的栈帧地址,buffer,function函数栈帧,function函数 被调用,调用 strcpy之前,void function (char *str),2020/9/22,Example (contd.),Large_string,上一个栈帧地址,返回地址,argv,内存低端,内存高端,argc,ESP,Main函数的栈帧,i,*str,返回地址,AAAA,AAAA,function函数栈帧,function函数 被调用,调用 strcpy之后,void function (char *str),2020/9/22,缓冲溢出攻击的原理(续),基于堆栈的缓冲区溢出的潜在危害 改写返回地址 改写调用函数栈的栈帧地址,2020/9/22,缓冲溢出攻击的原理(续),基于堆栈的缓冲区溢出的潜在危害(续) 改写函数指针 改写虚函数指针 改写异常处理指针 改写数据指针,void BadCode(char * string) void (*p)() = .; char buff100; strcpy(buff, string); p(); ,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置(续) 堆栈(stack) 堆(heap) 数据段(data) BSS段,2020/9/22,缓冲溢出攻击的原理(续),基于堆的缓冲区溢出 Heap is a contiguous memory used to dynamically allocate space where the size will be known only during the execution of the code. 在Linux中,堆空间按照Doug Lea算法实现动态分配。在C程序中,标准库函数malloc()/free()用于从堆中动态申请/释放块;对于C+程序,相应函数为new/delete。,2020/9/22,缓冲溢出攻击的原理(续),基于堆的缓冲区溢出(续),void main(int argc, char *argv) char *buf1 = (char *) malloc(16); char *buf2 = (char *) malloc(16); strcpy(buf1,”AAAAAAAAAAAAAAA”); strcpy(buf2, argv1); ,2020/9/22,基于堆的缓冲区溢出,正常输入 Prompt:BB.BBB (total 15 Bs) 产生溢出的输入 Prompt:BB.BBB (total 40 Bs),(a) heap layout without overflow,2020/9/22,基于堆的缓冲区溢出攻击举例,1996年BSDI crontab被发现存在基于堆的缓冲区溢出隐患,攻击者可以通过输入一个长文件名溢出在堆上的缓冲区,溢出数据改写的区域是保存有用户名、密码、uid, gid等信息的区域。,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置(续) 堆栈(stack) 堆(heap) 数据段(data) BSS段,2020/9/22,缓冲溢出攻击的原理(续),基于数据段的缓冲区溢出,void Overflow_Data(char* input) static char buf4=”CCCC”; int i; for (i = 0; i < 12 ; i+) bufi = A; ,2020/9/22,缓冲溢出攻击的原理(续),2. 缓冲区溢出可能发生的位置(续) 堆栈(sta

注意事项

本文(第七章计算机系统安全(缓冲区溢出)精编版)为本站会员(ahu****ng1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.