缓冲区溢出属于网络安全吗(缓冲区溢出攻击属于针对什么的攻击)
导语:何为缓冲区溢出攻击?浅谈网络安全二
上一章节我们阐述了缓冲区溢出攻击的攻击方法与原理,本章节我们对缓冲区攻击如何进行防御进行详细讲解!
缓冲区溢出攻击的防范是和整个系统的安全性密不可分的,要是整个网络系统的安全设计很差,那么遭受缓冲区溢出攻击的可能性也就越大,针对缓冲区溢出,应该采取多种防范措施。
一、严格编写程序代码
有过C语言程序设计或者是汇编语言经验的读者一定深有体会,编写正确严格的代码是一件非常耗时耗力的工作,虽然软件的发展经历了半个世纪的时间,但是依旧存在着漏洞程序,所以人们开发了一些工具和技术来帮助经验不足的程序员来编写安全的程序。
比如说高级查错工具,如fault injection等,这些工具的目的就是在于通过人为随机的产生一些缓冲区溢出来寻找代码的安全漏洞,可是由于C语言的本身特点,这些工具不能找出所有的缓冲区溢出漏洞,因此侦错技术只是被用来减少缓冲区溢出漏洞,并不能完全消灭,想要完全消灭这类漏洞,就需要程序员严格编写代码。
二、禁止执行堆栈数据段
在进行系统操作时数据地址空间不可执行,从而禁止攻击者执行被植入的攻击代码,这种措施在一定的程度上也对缓冲区溢出攻击起到了防范作用。
但是攻击者不一定非要通过植入攻击代码来实现缓冲区溢出攻击,所以这种方法并不能彻底解决缓冲区溢出攻击。
三、利用程序编译器的边界检查
植入攻击代码时引起缓冲区溢出攻击的一个方面,改变程序执行的流程则是另一个方面,而利用程序编译器的边界检查则使得缓冲区溢出攻击不可能实现,从而完全消除了缓冲区溢出攻击的威胁。
四、指针完全性检查
程序指针完整性检查和边界检查略有不同,程序指针完整性检查在程序指针被改变之前检测,因此即使攻击者成功改变了程序的指针,也会因为先前检测到指针的变化而失效,这样虽然不能完全解决问题,但是他确实阻止了大多数的缓冲区溢出攻击,并且这种方法在性能方面有很大优势,兼容性特别优良。
对于想要彻底解决缓冲区溢出攻击,现阶段是不可能实现了,或许在未来,科技的不断发展,有可能会彻底解决这类问题。
总结
现阶段对于缓冲区溢出攻击,无法做到彻底解决,只能通过技术层次来应对这类问题的发生,至于彻底解决,则需要在编程模式和CPU体系这两方面,在现有的基础上进行优化修改,相信在未来,科技的不断发展与网络安全不断普及,会彻底解决缓冲区溢出漏洞。
今天的分享到此为止,能够看到最后,我相信都是对网络安全兴趣浓厚的人士,欢迎大家的关注与点赞,我们不见不散。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小茜创作整理编辑!