网络安全第2章黑客与攻击技术.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文档。上传文档
查看更多
2.6 缓冲区溢出 2.6.1 缓冲区溢出的概念 缓冲区溢出攻击是一种系统攻击的手段,通过往缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。 第六十二页,共一百零三页。 2.6.2 缓冲区溢出的原理 缓冲区溢出的根本原因来自C语言(C++)本质的不安全性: 数组和指针的引用没有边界检查; 标准C函数库中存在许多非安全字符串操作,如strcpy() 、gets() 等。 当程序写入超过缓冲区的边界时,就发生所谓的“缓冲区溢出”。 第六十三页,共一百零三页。 2.6.2 缓冲区溢出的原理 void functon(char *str) { char buffer[16 ]; strcpy(buffer,str); } 该程序的功能是通过strcpy函数把str中的字符串拷贝到数组buffer[16]中去,如果str的长度超过16就会造成数组buffer的溢出,使程序出错。 第六十四页,共一百零三页。 2.6.2 缓冲区溢出的原理 向一个有限空间的缓冲区中植入超长字符串,可能出现两个结果: 一是过长的字符串会覆盖下一个相邻的内存块,导致一些不可预料的结果:也许程序可以继续,也许程序的执行出现奇怪现象,也许程序完全失败; 另一种结果就是利用这种漏洞可以执行任意指令,甚至可以得到超级用户(管理员)权限。 C语言把这一艰巨任务交给了开发人员,要求他们进行边界检查,编写安全的程序。然而这一要求往往被人们忽视,从而给黑客有机可乘。 第六十五页,共一百零三页。 2.6.3 缓冲区溢出的防范 (1)编写正确的代码 编写安全的程序代码是解决缓冲区溢出漏洞的最根本办法。在程序开发时就要考虑可能的安全问题,杜绝缓冲区溢出的可能性,尤其在C程序中使用数组时,只要数组边界不溢出,那么缓冲区溢出攻击就无从谈起,所以对所有数组的读写操作都应控制在正确的范围内,通常可通过优化技术来实现。 (2)非执行的缓冲区 非执行的缓冲区技术是指通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被攻击程序输入缓冲区的代码。 第六十六页,共一百零三页。 2.6.3 缓冲区溢出的防范 (3)指针完整性检查 堆栈保护是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。指针完整性检查是指在程序指针被引用之前先检测它是否被改变,一旦改变就不会被使用。 (4)用好安全补丁 实际上,让普通用户解决其遇到的安全问题是不现实的,用补丁修补缺陷则是一个不错的、也是可行的解决方法。 第六十七页,共一百零三页。 2.7 拒绝服务攻击 2.7.1 拒绝服务攻击的概念 DoS攻击是一种简单有效的攻击方式,其目的是使服务器拒绝正常的访问,破坏系统的正常运行,最终使部分网络连接失败,甚至网络系统失效。 从广义上来讲,任何导致服务器不能正常提供服务的攻击都叫做拒绝服务攻击。 第六十八页,共一百零三页。 2.7.2 拒绝服务攻击的原理 DoS攻击的基本原理是: 首先,攻击者向服务器发送大量的带有虚假地址的请求,服务器发送回复信息后,等待回传信息 由于地址是伪造的,所以服务器一直等不到回传的信息,分配给这次请求的资源就始终没有被释放 当服务器等待一定的时间后,连接会因超时而被切断 攻击者会再传送一批请求。在这种反复发送地址请求的情况下,服务器资源最终会被耗尽。 第六十九页,共一百零三页。 2.7.2 拒绝服务攻击的原理 最典型的DOS攻击是Synflood. 原理:TCP连接的三次握手和半开连接 攻击者:发送大量伪造的TCP连接请求 方法1:伪装成当时不在线的IP地址发动攻击 方法2:在主机或路由器上阻截目标机的SYN/ACK分组 目标机:堆栈溢出崩溃或无法处理正常请求 防御: 缩短SYN Timeout时间 (设置为20秒以下 ) 设置SYN Cookie 设置路由器和防火墙,在给定的时间内只允许数量有限的半开TCP连接发往主机 第七十页,共一百零三页。 2.7.2 拒绝服务攻击的原理 . . . . SYN/ACK SYN/ACK SYN/ACK SYN SYN SYN 攻击者 目标主机 SYN SYN/ACK 1 n SYN/ACK SYN/ACK SYN/ACK SYN/ACK . . . . 等待应答SYN/ACK . . . . . . . . . 第七十一页,共一百零三页。 2.7.3 分布式拒绝服务攻击 DDoS(D

文档评论(0)

虾虾教育 + 关注
官方认证
文档贡献者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档