红联Linux门户
Linux帮助

防范Possible NSIISlog.DLL Remote Buffer Overflow Attack攻击

发布时间:2008-12-10 11:16:55来源:红联作者:05冬天
屡次遭到攻击 平均每月一次
我用的服务器是 LINUX 5server 64BIT
请问具体怎么操作才能防止他人继续用这个攻击我
------------------------------------------------------------------------------------
以下我在百度搜索到 但没谈怎么防范
Buffer Overflow Attack
缓冲区溢出(buffer overflow)是一种系统攻击的手段,通过往程序的缓冲区写入超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它的命令,以达到攻击的目的。根据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。之所以缓冲区溢出可以实现的原因是系统程序没有检测用户输入的参数,也就是没有检测变量的长度是否符合要求。
一个例子:
example1.c
void function(char *str) { buffer[16];
strcpy(buffer,str);
}
上面的strcpy()将直接把str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序出错。存在像strcpy()这样的标准函数还有strcat()、sprintf()、vsprintf()、gets()、scanf(),以及在循环内的getc()、fgetc()、getchat()等。
当然,随便向缓冲区里填东西造成它溢出一般只会出现”Segmentation fault”段错误,而不能达到攻击的目的。最常见的手段是通过是某个特殊的程序的缓冲区溢出而执行一个shell,通过shell的权限可以执行高级的命令。如果这个特殊的程序属于root且具有suid权限的话,攻击成功就能获得一个具有root权限的shell,就可以对系统为所欲为了。
一个程序在内存中通常分为程序段,数据段和堆栈3部分。程序段里面放着程序的机器码和只读数据。数据段放的是程序中的静态数据。动态数据则通过堆栈来存放。
--------------------------------------------------------------------------------------------
linux系统可以安装补丁吗 例如windows那样每月在线升级补丁
文章评论

共有 3 条评论

  1. jagub 于 2008-12-15 16:42:23发表:

    我是初学者,您能不能说的再详细一些

  2. 05冬天 于 2008-12-15 16:24:32发表:

    人气好差哦

  3. 05冬天 于 2008-12-10 13:38:50发表:

    无人碰到过这种攻击吗?