缓冲区溢出攻击的分析及防范策略谢志强(已取走).doc

上传人:飞****2 文档编号:56231613 上传时间:2022-11-01 格式:DOC 页数:10 大小:32KB
返回 下载 相关 举报
缓冲区溢出攻击的分析及防范策略谢志强(已取走).doc_第1页
第1页 / 共10页
缓冲区溢出攻击的分析及防范策略谢志强(已取走).doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《缓冲区溢出攻击的分析及防范策略谢志强(已取走).doc》由会员分享,可在线阅读,更多相关《缓冲区溢出攻击的分析及防范策略谢志强(已取走).doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、缓冲区溢出攻击的分析及防范策略一、 缓冲区与出的概念及原理(一)何谓缓冲区溢出缓冲区是用户为程序运行时在计算机中申请得的一段连续的内存,它保存了给定类型的数据。缓冲区溢出指的是一种常见且危害很大的系统攻击手段,通过向程序的缓冲区写入超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他的指令,以达到攻击的目的。(二)缓冲区溢出的原理从上面的缓冲区溢出概念可以看出,缓冲区溢出就是将一个超过缓冲区长度的字符串置入缓冲区的结果,这是由于程序设计语言的一些漏洞,如C/C+语言中,不对缓冲区、数组及指针进行边界检查,(strcpy()、strcat()、sprintf()、gets(

2、)等语句),在程序员也忽略对边界进行检查而向一个有限空间的缓冲区中置入过长的字符串可能会带来两种结果:一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另一种后果是利用这种漏洞可以执行任意指令,甚至可以取得系统特权,由此而引发多种攻击方法。缓冲区溢出对系统的安全性带来很大的威胁,比如向程序的有限空间的缓冲区中置入过长的字符串,造成缓冲区溢出,从而破坏程序的堆栈,使程序转去执行其他的指令,如果这些指令是放在有Root权限的内存里,那么一旦这些指令得到了运行,入侵者就以Root的权限控制了系统,这也是我们所说的U2R(User to Root Attacks)攻击。例如

3、在Unix系统中,使用一些精心编写的程序,利用SUID程序(如FDFORMAT)中存在的缓冲区溢出错误就可以取得系统超级用户权限,在Unix取得超级用户权限就意味着黑客可以随意控制系统。为了避免这种利用程序设计语言漏洞而对系统的恶意攻击,我们必须要仔细分析缓冲区溢出攻击的产生及类型,从而做出相应的防范策略。二 、缓冲区溢出攻击的分析(一)缓冲区溢出攻击的产生C编程语言中,静态变量分配在数据段中,动态变量分配在堆栈段中,C语言允许程序员在运行时在内存的两个不同部分(堆栈和堆)中创建存储器。通常,分配到堆的数据是那些malloc()或新建时获得的数据,而分配到堆栈的数据一般包括非静态的局部变量和所

4、有按值传递的参数。大部分其它信息存储在全局静态存储器中。一个程序在内存中通常分为程序段、数据段和堆栈三个部分。程序段里为程序的机器码和只读数据,这个段通常是只读代码,故禁止对程序段进行写操作。数据段放的是程序中的静态数据。存储器主要分为三个部分,一是文本区域,即程序区,用来存储程序指令,只读属性;二是数据区域,它的大小可以由brk系统调用来改变;三是堆栈,其特点是LIFO(last in, first out)。当C程序调用函数的时候,首先将参数压入堆栈,然后保存指令寄存器(IP)中的内容作为返回地址(RET),放入堆栈的是地址寄存器(FP),然后把当前的栈指针(SP)拷贝到FP,作为新的基地

5、址,并为本地变量留出一定的空间,把SP减去适当的数值。计算机执行一条指令,并保留指向下一条指令的指针(IP)。当函数或过程被调用的时候,在堆栈中被保留下来的指令指针将被作为返回地址(RET)。执行完成后,RET替换IP,程序接着继续执行本来的流程。(二)缓冲区溢出攻击的类型缓冲区溢出的目的在于扰乱具有某些特权运行程序的功能,这样就可以让攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机甚至服务器就被控制了。一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root的shell。但并不总是这样,为了达到这个目的,攻击者必须达到如下两个目标:在程序的地址

6、空间里安排适当的代码通过适当地初始化寄存器和存储器,让程序跳转到安排好的地址空间执行。我们可以根据这两个目标来对缓冲区溢出攻击进行分类。三、 缓冲区溢出攻击的防范策略缓冲区溢出攻击的防范是和整个系统的安全性分不开的。如果整个网络系统的安全设计很差,则遭受缓冲区溢出攻击的机会也大大增加。针对缓冲区溢出,我们可以采取多种防范策略。(一)系统管理上的防范策略1、关闭不需要的特权程序由于缓冲区溢出只有在获得更高的特权时才有意义,所以带有特权的Unix下的suid程序和Windows下由系统管理员启动的服务进程都经常是缓冲区溢出攻击的目标。这时候,关闭一些不必要的特权程序就可以降低被攻击的风险。如Sol

7、aris下的fdformat是个有缓冲区溢出漏洞的suid程序,因为这个格式化软盘的命令用的较少,最直接的措施是去掉这个程序或者去掉suid位。当有缓冲区溢出漏洞的程序还没有补丁时,就可以用这种方法。2、及时给程序漏洞打补丁这是漏洞出现后最迅速有效的补救措施。大部分的入侵是利用一些已被公布的漏洞达成的,如能及时补上这些漏洞,无疑极大的增强了系统抵抗攻击的能力。这两种措施对管理员来说,代价都不是很高,但能很有效地防止住大部分的攻击企图。(二)软件开发过程中的防范策略发生缓冲区溢出的主要及各要素是:数组没有边界检查而导致的缓冲区溢出;函数返回地址或函数指针被改变,使程序流程的改变成为可能;植入代码

8、被成功的执行等等。所以针对这些要素,从技术上我们就可以采取一定的措施。为了防止静态数据段、堆栈和堆这三种数据段中的一个缓冲区溢出覆盖另一个段中的函数地址指针,我们应该为这三种数据段隔离分配线形地址空间。四、总结缓冲区溢出是当今很流行的一种网络攻击方法,它易于攻击而且危害严重,给系统的安全带来了极大的隐患。因此,如何及时有效地检测出计算机网络系统入侵行为,已越来越成为网络安全管理的一项重要内容。缓冲区溢出的漏洞一般有以下几种情况:(一)系统漏洞如操作系统、服务器程序、数据库程序等,这种漏洞可以通过升级软件、打安全“补丁”等方法来解决。(二)应用软件在软件开发过程中,如果程序员没有很强的安全意识和

9、良好的编程习惯,也会产生很多安全漏洞。本文从上面的系统环境及程序设计语言角度,对目前主要的网络攻击方式:缓冲区溢出攻击的出现和原理进行了详细的分析,并根据缓冲区溢出攻击的类型提出了相应的防范策略。然而,飞速发展的网络技术还需要我们继续对各种黑客攻击系统的方法做更多的关注和应付措施的探索,为网络安全做出更大的实践意义的研究。 参考文献 【1】张小斌,严望佳,黑客分析与防范技术M 北京清华大学出版社,1999。【2】陈意云 编译原理和技术M,合肥,中国科技大学出版社,1997。【3】 汪立东,方滨兴,Unix缓冲区溢出攻击:技术原理、防范与检测,计算机工程与应用,2000(2)。【4】谭毓安,网络

10、攻击防护编码设计,北京希望电子出版社,2002。【摘要】本文重点探讨一下缓冲区溢出对计算机系统造成的危害。因为几十年来,缓冲区溢出一直引起许多严重的安全性问题。近年由CERT/CC(Computer Emergency Response Term/Coodination Center)发布的忠告中关于缓冲区溢出漏洞占56.76%以上。本文首先解释了缓冲区溢出的概念,从程序语言本身存在缺陷,不够健壮的角度出发,对缓冲区溢出的原理进行了详细的阐述;再次,通过一个会导致缓冲区溢出的程序代码对缓冲区溢出攻击的产生进行了实例分析,同时还对Unix操作系统下的缓冲区溢出攻击进行了有针对性的分析,并总结出缓

11、冲区溢出攻击的类型;最后,结合缓冲区溢出攻击的类型,从系统管理和软件开发两个角度提出了缓冲区溢出攻击的防范策略。【关键词】缓冲区溢出 攻击随着Internet及相关信息技术的迅速发展,网上的电子商务呈现出极大的增长势头,但是投入的增多意味着风险也随之而来,网络安全问题成为各种网上活动需要考虑的头等大事。目 录一、 缓冲区与出的概念及原理1(一)何谓缓冲区溢出1(二)缓冲区溢出的原理1二 、缓冲区溢出攻击的分析1(一)缓冲区溢出攻击的产生1(二)缓冲区溢出攻击的类型2三、 缓冲区溢出攻击的防范策略2(一)系统管理上的防范策略2(二)软件开发过程中的防范策略3四、总结3(一)系统漏洞3(二)应用软件3五、参考文献42009年 兴安职业技术学院缓冲区溢出攻击的分析及防范策略院 系: 专 业: 姓 名: 指导老师: 完成时间: 毕业论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 兴安职业技术学院毕业论文(设计)评定论文(设计)题目:院(系) 专业 年级 作者 学号 指导教师评语:论文(设计)成绩: 指导教师签字: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com