告诉您的位置:首页 > 资讯中心 > 防护技巧 > 正文 |
 |
| 网络安全常识:缓冲区溢出攻击安全防范体系 |
| 2003年10月27日14:33:33 天极网 |
302 Found
302 Found
nginx/1.0.5
缓冲溢出漏洞危害不容忽视
当您在家里通过宽带体验冲网的极速感觉时,当您在办公室通过即时通讯软件与远在大洋彼岸的客户商业交流时,是否想过您的系统是否坚如磐石,是否被网络另一端心怀叵测的黑客盯上。或许有人认为装上了防火墙、防病毒就可以安全无忧了,遗憾的是这些仅解决了部分问题,而系统本身的漏洞而遭受攻击却极难防范。我们讨论一种漏洞攻击方式-----远程缓冲溢出攻击,因为这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权,危害很大,也是最普遍的漏洞,大约80%的安全事件与缓冲区溢出有关。如最近微软于7月17日公开的Windows安全漏洞“RPC接口缓存溢出可能导致运行任意代码(MS03-026)”,其影响范围和危害不亚于“SQL Slammer”,被认为至今微软最严重缓冲溢出漏洞。
我们知道,缓冲区溢出漏洞是一种软件中边境条件、函数指针等设计不当的造成地址空间错误,它的原理是:向一个有限空间的缓冲区中拷贝了过长的字符串,带来了两种后果,一是过长的字符串覆盖了相临的存储单元而造成程序瘫痪,甚至造成宕机、系统或进程重启等;二是利用漏洞可以让攻击者运行恶意代码,执行任意指令,甚至获得超级权限等。
早在1988年,美国康奈尔大学的计算机科学系研究生,23岁的莫里斯(Morris)利用了UNIX fingered程序不限制输入长度的漏洞使缓冲器溢出。Morris又写了一段程序使他的恶意程序能以root(根)身份执行,并传播到其他机器上,结果造成6000台Internet上的服务器瘫痪,占当时总数的10%。 “SQL Slammer”蠕虫王的发作原理,就是利用未及时更新补丁的MS SQL Server数据库缓冲溢出漏洞。采用不正确的方式将数据发到MS Sql Server的监听端口,这个错误可以引起缓冲溢出攻击。目前新出现的MSBLAST病毒正是利用了微软关于RPC 接口中远程任意可执行代码漏洞,“中招”的机器会反复重启,或者拷贝、粘贴功能不工作等现象。事实上,如果成功利用缓冲漏洞,攻击者就有可能获得对远程计算机的完全控制,并以本地系统权限执行任意指令,如安装程序、查看或更改、删除数据、格式化硬盘等,危害性不言而喻。
通常缓冲区溢出攻击都是一次完成攻击代码植入和程序转向攻击代码两种功能。如通常攻击者将目标定为具有溢出漏洞的自动变量,然后向程序传递超长的字符串,进而引发缓冲区溢出。然后这段精巧设计的攻击代码以一定的权限运行漏洞程序,既而获得目标主机的控制权。这种攻击手段屡次得逞主要利用了C程序中数组边境条件、函数指针等设计不当的漏洞,大多数Windows、Linux、Unix、数据库系列的开发都依赖于C语言,而C的缺点是缺乏类型安全,所以缓冲区溢出攻击成为操作系统、数据库等大型应用程序最普遍的漏洞公告之一。 [未结束]
|
| [1] [2] 【】 |
|
302 Found
302 Found
nginx/1.0.5
|