缓冲区溢出攻击如何应对缓冲区溢出漏洞攻击?

缓冲区溢出攻击  时间:2021-08-29  阅读:()

何为缓冲区溢出攻击,分布式拒绝服务攻击

分布式拒绝服务攻击(DDOS)通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。

这种攻击方式可分为以下几种: 通过使网络过载来干扰甚至阻断正常的网络通讯; 通过向服务器提交大量请求,使服务器超负荷; 阻断某一用户访问服务器; 阻断某服务与特定系统或个人的通讯。

缓冲区溢出

啊~~ 看你的样子你好像不知道啊! 缓冲区溢出算比较严重的问题.... 你上百度查一下啊... 缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。

利用缓冲区溢出攻击,可以导致程序运行失败、系统当机、重新启动等后果。

更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

缓冲区溢出攻击有多种英文名称:buffer overflow,buffer overrun,smash the stack,trash the stack,scribble the stack, mangle the stack, memory leak,overrun screw;它们指的都是同一种攻击手段。

第一个缓冲区溢出攻击--Morris蠕虫,发生在二十年前,它曾造成了全世界6000多台网络服务器瘫痪。

我家的电脑前几天刚出现这样的问题 吓死我了 要是我的话 建议你"一键GHOST"然后重新下载防毒软件 什么360 卡巴斯基 瑞星 你平常用哪些就下下来 游戏什么的重新下载吧 虽然比较麻烦 我家的电脑 反正现在好了 嘿嘿~~~小窃喜一下 反应也快了~~~

缓冲区溢出的攻击

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。

造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

下面通过一个示例来详细看看什么是缓冲区溢出。

程序的缓冲区就像一个个格子,每个格子中存放不同的东西,有的是命令,有的是数据,当程序需要接收用户数据,程序预先为之分配了4个格子(下图1中黄色的0~3号格子)。

按照程序设计,就是要求用户输入的数据不超过4个。

而用户在输入数据时,假设输入了16个数据,而且程序也没有对用户输入数据的多少进行检查,就往预先分配的格子中存放,这样不仅4个分配的格子被使用了,其后相邻的12个格子中的内容都被新数据覆盖了。

这样原来12个格子中的内容就丢失了。

这时就出现了缓冲区(0~3号格子)溢出了。

在上面示例的基础上来看一个代码实例,程序如下: void function(char *str) { char buffer[16]; strcpy(buffer,str); } 上面的strcpy()将直接把str中的内容copy到buffer中。

这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。

存在象strcpy这样的问题的标准函数还有strcat(),sprintf(),vsprintf(),gets(),scanf()等。

当然,随便往缓冲区中填东西造成它溢出一般只会出现“分段错误”(Segmentation fault),而不能达到攻击的目的。

最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。

如果该程序有root或者suid执行权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。

缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。

而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。

被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。

在1998年Lincoln实验室用来评估入侵检测的的5种远程攻击中,有2种是缓冲区溢出。

而在1998年CERT的13份建议中,有9份是是与缓冲区溢出有关的,在1999年,至少有半数的建议是和缓冲区溢出有关的。

在Bugtraq的调查中,有2/3的被调查者认为缓冲区溢出漏洞是一个很严重的安全问题。

缓冲区溢出漏洞和攻击有很多种形式,会在第二节对他们进行描述和分类。

相应地防卫手段也随者攻击方法的不同而不同,将在第四节描述,它的内容包括针对每种攻击类型的有效的防卫手段。

缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。

一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root权限的shell。

为了达到这个目的,攻击者必须达到如下的两个目标: 1. 在程序的地址空间里安排适当的代码。

2. 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。

可以根据这两个目标来对缓冲区溢出攻击进行分类。

缓冲区溢出式攻击方法分析与防范策略

它一般是由于编成人员的疏忽造成的。

具体的讲,溢出漏洞是由于程序中的某个或某些输入函数(使用者输入参数)对所接收数据的边界验证不严密而造成。

根据程序执行中堆栈调用原理,程序对超出边界的部分如果没有经过验证自动去掉,那么超出边界的部分就会覆盖后面的存放程序指针的数据,当执行完上面的代码,程序会自动调用指针所指向地址的命令。

根据这个原理,恶意使用者就可以构造出溢出程序。

如何应对缓冲区溢出漏洞攻击?

1999年,至少有半数的建议与缓冲区溢出有关,目前公开的安全漏洞通告也有相当一部分属于 缓冲区溢出漏洞。

缓冲区溢出攻击利用了目标程序的缓冲区溢出漏洞,通过操作目标程序堆栈并暴力改写其返回地址,从而获得目标控制权。

它的原理是:向一个有限空间的缓冲区中拷贝过长的字符串,这带来两种后果,一是过长的字符串覆盖了相临的存储单元而造成程序瘫痪,甚至造成宕机、系统e69da5e6ba90e799bee5baa631333332636430或进程重启等;二是可让攻击者运行恶意代码,执行任意指令,甚至获得超级权限等。

事实上,在网络空间中利用这种缓冲区溢出漏洞而发起的攻击屡见不鲜。

早在1988年,美国康奈尔大学的计算机科学系研究生,23岁的莫里斯利用Unix fingered程序不限制输入长度的漏洞,输入512个字符后使缓冲器溢出。

莫里斯又写了一段特别大的程序使他的恶意程序能以root(根)身份执行,并感染到其他机器上。

年初名燥一时的“SQL Slammer”蠕虫王的发作原理,就是利用未及时更新补丁的MS SQL Server数据库缓冲区溢出漏洞,采用不正确的方式将数据发到MS SQL Server的监听端口,这个错误可以引起缓冲溢出攻击。

攻击代码通过缓冲溢出获得非法权限后,被攻击主机上的Sqlserver.exe进程会尝试向随机的IP地址不断发送攻击代码,感染其他机器,最终形成UDP Flood,造成网络堵塞甚至瘫痪。

由上可知,缓冲区溢出攻击通常是在一个字符串里综合了代码植入和激活纪录。

如攻击者将目标定为具有溢出漏洞的自动变量,然后向程序传递超长的字符串,进而引发缓冲区溢出。

经过精巧设计的攻击代码以一定的权限运行漏洞程序,获得目标主机的控制权。

这种攻击手段屡次得逞主要是利用了程序中边境条件、函数指针等设计不当问题,即利用了C程序本身的不安全性。

大多数Windows、Linux、Unix系列的开发都依赖于C语言,所以缓冲区溢出攻击成为操作系统、数据库等应用程序最普遍的漏洞之一。

值得关注的是,防火墙对这种攻击方式无能为力,因为攻击者传输的数据分组并无异常特征,没有任何欺骗(这就是Nimda、SQL Slammer可以顺利穿透防火墙的原因)。

另外可以用来实施缓冲区溢出攻击的字符串非常多样化,无法与正常数据有效进行区分。

缓冲区溢出攻击不是一种窃密和欺骗的手段,而是从计算机系统的最底层发起攻击,因此在它的攻击下系统的身份验证和访问权限等安全策略形同虚设。

用户及开发者该如何降低因缓冲区溢出而造成的攻击损失呢?首先,编程人员可以使用具有类型安全的语言 Java以避免C的缺陷;产品发布前仔细检查程序溢出情况;使用检查堆栈溢出的编译器等。

作为普通用户或系统管理员,应及时为自己的操作系统和应用程序更新补丁;减少不必要的开放服务端口等,合理配置您的系统。

  • 缓冲区溢出攻击如何应对缓冲区溢出漏洞攻击?相关文档

易探云韩国云服务器仅50元/月,510元/年起

韩国云服务器哪个好?韩国云服务器好用吗?韩国是距离我国很近的一个国家,很多站长用户在考虑国外云服务器时,也会将韩国云服务器列入其中。绝大部分用户都是接触的免备案香港和美国居多,在加上服务器确实不错,所以形成了习惯性依赖。但也有不少用户开始寻找其它的海外免备案云服务器,比如韩国云服务器。下面云服务器网(yuntue.com)就推荐最好用的韩国cn2云服务器,韩国CN2云服务器租用推荐。为什么推荐租用...

UCloud 618活动:香港云服务器月付13元起;最高可购3年,AMD/Intel系列

ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...

Webhosting24:$1.48/月起,日本东京NTT直连/AMD Ryzen 高性能VPS/美国洛杉矶5950X平台大流量VPS/1Gbps端口/

Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...

缓冲区溢出攻击为你推荐
云和数据黑马和云和数据哪家好?有啥区别增值税专用发票和增值税普通发票的区别普通增值税发票和专用增值税发票有区别吗?开发管理项目管理有几个阶段?方便快捷请问有什么方便快捷的方法除黑头文件保护word保护文档怎么取消制作证书怎么做证书啊!监控设备安装如何安装监控系统2g内存条2G内存是什么概念说明书之家网站哪里有SONY专业摄像机的使用说明书最好的电脑操作系统什么版本的电脑系统好用
如何注销域名备案 国外免费域名网站 免费顶级域名 亚洲大于500m 新加坡主机 主机测评网 l5639 搬瓦工官网 贵州电信宽带测速 好玩的桌面 好看的桌面背景大图 evssl 卡巴斯基永久免费版 福建天翼加速 91vps cdn加速原理 hdd 免费网页空间 支持外链的相册 百度云加速 更多