网络攻击与防范讲课文档.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

(3)在Windows系统下,可以按下Ctrl+Alt+Del键,查看任务列表。(4)使用SSH(SecureShell)、IPV6等协议。(5)使用安全的拓扑结构。(6)可以使用Antisniff软件。(7)判断网络是否有Sniffer的经验。如果网络通讯丢包率非常高、某台机器长时间的占用了较大的带宽时就可能有人在监听。对网关、交换机、路由器等区域就应该加强防范,防止在这些区域存在嗅探器。第30页,共84页。5.5缓冲区溢出5.5.1缓冲区溢出原理缓冲区(buffer)是内存中存放计算机正在处理数据的地方。当数据量超出缓冲区的长度时,多出来的数据就会破坏堆栈中的数据,导致应用程序或整个系统的崩溃等故障;攻击者还可以在溢出数据中加上精心设计的机器代码,当这些代码溢出到缓冲区以外时会被执行,就能达到破坏计算机系统目的,这就是所谓的缓冲区溢出(bufferoverflow)攻击。第31页,共84页。缓冲区溢出攻击可以通过下面两个方法实现。1.通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使系统崩溃。例:#includestring.hvoidmain(intargc,char*argv[]){charbuffer[10];strcpy(buffer,argv[1]);}执行该程序,输入字符串长度小于10时,程序正常运行,否则系统崩溃。第32页,共84页。当缓冲区溢出时,导致程序不能正常工作的原因是:在该例中输入13个‘A’(0x41)时,RET地址变成0,而这个地址已不在程序使用的虚拟地址空间范围了,这时系统就会提示“SegmentationgViolation”错误。第33页,共84页。2.通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击目的。例如下面程序:#includeiostream.h#includestring.hvoidfunction(inta){charbuffer[5];char*ret;ret=buffer+12;第34页,共84页。*ret+=8;}voidmain(){intx;x=10;function(7);x=1;coutxendl;}程序的运行结果是?第35页,共84页。程序的实际运行结果是10,而不是1。为什么?参照图5.7,上段程序的执行过程是:首先依次为形式参数a、RET、EBP分配4字节的内存,最后在为语句charbuffer[5]分配内存时,实际需要5字节的内存。但是对于32位存储器来说,内存的分配是以4个字节为单位来进行的,所以,在为buffer分配的内存一共需要8个字节(需要额外分配3个字节来进行填充)。第36页,共84页。执行ret=buffer+12这条语句后,ret恰好指向RET(buffer地址和RET地址正好相差12个字节)。RET的值恰好是函数function(7)的返回地址,即“x=1”的首地址,但执行*ret+=8语句后就将RET的值加上了8个字节,而x=1这条语句恰好占有8个字节。由于RET存放函数function(7)的返回地址,function(7)执行结束后,将跳过x=1这条语句,直接执行coutxend了,这就是为什么上段程序输出10而不是1的原因。第37页,共84页。5.5.2缓冲区溢出攻击方法1.在程序的地址空间里安排适当的代码(1)植入法。(2)利用已经存在的代码。2.控制程序转移到攻击代码(1)激活记录。(2)函数指针。(

文档评论(0)

192****6519 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档