注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

麦斯·渐行渐远

人无远虑,必有近忧

 
 
 

日志

 
 

MSA 2269637 摘要:基于路径欺骗的DLL预加载攻击  

2010-08-24 11:33:41|  分类: 工作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
by vivimice.

MSRC于8月21日公布了Microsoft Security Advisory 2269637,其中提到了一种目前在Windows下有效的攻击方式:基于路径欺骗的DLL预加载攻击。

这种攻击主要的目的是欺骗应用程序加载攻击者提供的DLL,而不是跟随应用程序一起发布的正宗版本。这需要两个条件:第一是应用程序是直接通过DLL文件名而非完整路径来加载DLL,第二是攻击者提供的DLL在Windows的路径查找过程中具有更高的优先级。

应用程序在加载DLL的时候可以通过两种方式告知操作系统需要加载具体哪个DLL,第一种方式是提供这个DLL的全路径,由于需要提供全路径,这种方式的可移植性不是很好,因为不同的机器上这个路径可能会不一样。第二种方式具备更好的可移植性,就是应用程序提供DLL的文件名,然后操作系统按照路径查找规则来查找这个DLL的全路径,最后加载。这种方式应用程序无需关心DLL的实际位置在哪里,只需要提供文件名就好了。但是后一种方式给攻击者提供了漏洞。

Windows的DLL搜索顺序是这样的:

1、已知的DLLs(如Kernel32.dll和User32.dll)
2、当前进行的可执行模块的所在目录
3、当前目录
4、Windows系统目录
5、Windows目录
6、PATH环境变量中列出的目录

如果攻击者已经知道某个应用程序采用了第二种方式(隐式)加载DLL,并且知道了在搜索DLL的过程中哪一步可以找到这个DLL,那么就可以构造一个攻击环境,来欺骗应用程序加载攻击者提供的DLL,然后执行攻击代码。

虽然路径欺骗攻击不是一种全新的攻击方式,而且也不仅仅只针对Windows(例如更早的时候就已经存在通过修改PATH变量在UNIX下实现路径欺骗攻击),不过由于Windows系统的易用性和广泛性,以及这种攻击的低成本,可能会造成严重的问题。MSRC就发现了一种简单而且容易实施的攻击方式:

假定某用户(victim)安装了某应用程序(attackee),这个应用程序在启动的时候会使用隐式搜索加载somelib.dll,这个dll位于Windows系统目录中,另外victim的计算机上“*.foo"文件是由attackee打开的。那么攻击者可以通过下面的方式对victim的计算机进行攻击:

1、构造一个 somefile.foo 文件(内容无所谓)
2、构造一个包含攻击代码的somelib.dll
3、将上述两个文件放在同一个网络共享目录下
4、诱骗victim进到该共享目录,打开somefile.foo

由于当前工作目录就是这个网络共享目录,因此在打开somefile.foo,attackee启动后,按照路径查找规则,攻击者提供的somelib.dll比Windows系统目录下的somelib.dll在DLL搜索序列中拥有更高的优先级,而被attackee加载进来,接下来的事情就是attackee中包含的攻击代码在attackee所在的安全上下文中被执行。

MSRC发现至少200个Windows应用程序可以被利用来实施这种攻击。目前微软暂时不打算针对这个问题发布安全补丁,原因是这种安全漏洞的根本原始是其他厂商的产品。

对付这种攻击的方法包含两个方面:第一是应用程序总是使用显式加载来载入DLL,第二是禁止加载位于网络共享文件夹的DLL。

对于用户而言,在需要打开不受信任的网络共享文件夹中的文件时,先留个心眼,看看同目录下有没有可疑的DLL文件(有可能是隐藏的),另外最好是首先打开对应的应用程序,然后使用应用程序的“打开”功能来选择这个文件打开,而不是直接双击打开。

  评论这张
 
阅读(547)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018