保护Exchange免受缓冲溢出攻击

2008-02-23 06:09:58来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

 不管什么时候,假如您检查微软网站中的为Windows(或其他大多数微软产品)作的最新的安全更新,您将会发现大多数重要的补丁都是为系统防止缓冲溢出而设计的。在像做这样的设计时主要考虑是,一个攻击者能够使用一个恶意的代码片断作为执行他/她自己的代码的基础。

  这里有很多种缓冲溢出攻击的类型,但是他们都是基于恶意代码编写或利用那些原来研发的代码编程语言上的漏洞。那些用C写的程式是最容易受到缓冲溢出攻击的,因为C程式产生运行时间错误,并且在大多数被使用的C资料库没有被缺省设计为在执行时作错误检查(这一点正在改变)。 bitsCN.Com

  假如您能够确保您的输入是正确的,那么没有运行错误检查是好的做法。但是,黑客们已发现当一个没有检查溢出C程式相应用户输入时,在程式执行失败时,可能会进入一个包括执行代码异常长的队列。这就是为什么我告诉您大多数的视窗操作系统和一些视窗服务器系统产品是用C写成的。 bitsCN.nET中国网管博客

  不要找我的错误,Windows不是唯一的容易被C程式的缓存溢出攻击影响的操作系统,同样Linux也相同容易被影响。

bitsCN.Com

  两种最主要的缓存溢出攻击类型是堆栈攻击和堆攻击。堆栈攻击是最常用的,因为他们是最容易被执行的。一个基于堆栈的缓冲运行工作是因为程式使用内存对象作为一个堆栈来存储用户输入。通常,在程式请求用户输入之前,堆栈会被清空。在这一点,程式写出一个返回内存地址到堆栈,然后用户的输入被放置到堆栈的顶端。当堆栈被处理时,用户的输入获得发送到指定的返回地址。 bitsCN_com

  可是个堆栈不具备无限制的大小。程式员编码一定要为堆栈预制指定的大小数量。假如用户的输入比喻预制指定的数量长,堆栈就会溢出。对于堆栈本身来说,溢出并不是什么大问题,但是当碰到恶意输入时,就会变成一个巨大的安全漏洞。

中国.网管联盟

  假设举一个例子,一个程式希望用户输入他/她的名字。相比输入名字,黑客更愿意输入一个超过堆栈大小的可执行指令。这个指令通常都很简短。比如说,在Linux环境中指令通常是需要系统打开一个实时指令窗口(就像大家都知道的循环Linux 的root内核)。
 然而,一个可执行指令的缓冲溢出不是指指令要被执行。过程的另一方面是,攻击者必须指定一个返回地址指向恶意的指令。因此,程式损坏的一部分原因是因为堆栈溢出。程式试图去修复将要用到的返回地址,但是返回地址的指向已被黑客改成了指到黑客定制的指令。意思就是黑客一定要知道恶意指令将要存放的位置。为了知道准确的地址,恶意指令常常被在NOP指示下的两部分填补。假如黑客指定的地址被填充,恶意指令将会被执行。

bitsCN_com

  最后一个部分是可执行程式的许可权限。众所周知,大多数流行的操作系统都有一些机制来控制用户的登录访问级别。可执行程式的典型需要是比普通的登陆的许可权限级别更高,因此运行在内核模式或许可权限继承自服务账户。当一个堆栈溢出攻击运行指令在一个新的返回地址时,程式认为他一直在运行。这就意味着被打开的命令提示窗口正在运行相同的一批许可命令,作为危及安全的应用。通常讲,这个的意思就是攻击者将会获得对操作系统的任何控制。

bitsCN.Com

  保护自己的技巧

bitsCN_com

  那么,怎样能够保护您免受这一类的攻击呢?最容易和最紧急的技巧是确保您的操作系统,Exchange服务器和其他运行在服务器上的程式及时更新。这样将修复潜在的缓存溢出使用。 中国.网管联盟

  另一个技巧是您谨慎地使用运行在其上的特别应用软件。我曾看到过许多人使用域管理员账户作为服务账户。这样问题就会出现:假如服务被不正常的使用,这样黑客就会访问到您的整个域。最好运行服务作为本地系统。然而假如一个服务必须需要用一个用户帐号作为服务账号,用一个本地用户账号就比用一个域账号好。另一方面,假如服务被危及安全,那么攻击者将被限制到控制那一个服务器而不是整个的域的机器。 bbs.bitsCN.com

您可用的最后一个技巧是用一个应用代理,在应用代理之后的方法是站在用户和应用之间并且过滤用户的输入,在字符串层和协议层来确定用户的输入是有效的。不幸的是您不可能去电脑里面为Exchange服务器存储并且购买一个应用代理。但是当正确配置的时候,在前端处理/后端处理配置中运行Exchange能够达到作为一个应用代理的同样的目的。 bbs.bitsCN.com

  另外一个应用代理的例子是个工具,叫做URLscan,虽然您不能完全理解,但是您能够从Microsoft的Web站点下载这个工具。这个工具能够监控进入您的IIS服务器(IIS是Exchange需要的)中去的请求,来确保请求不会过长并且请求中不包含恶意代码。

中国.网管联盟

,

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 关于如何转移除邮箱之外的EXCHANGE角色

下一篇: 如何在Outlook 2003和OWA中允许接受EXE附件

热门词条
热门标签