概览
自动运行是微软提供的当移动设备被插入时自动运行程序的便利特性.所有的可移动设备上都可以有自动运行例如CDs, DVDs, USB 内存棒
这个特性带来了严重的安全隐患,因为它允许蠕虫,木马很容易的在用户间传播.同时越来越多的恶意软件使用自动运行特性.
本文给出了自动运行的定义,指出相关风险和解决办法
自动运行和自动播放
虽然自动运行和自动播放可以相互替换,但是有一些不同
自动运行
自动运行由window95引入.用于当可移动媒体插入到计算机时自动运行程序.autorun.inf文件存储在可移动设备的根目录,当连接到计算机的时候执行.
自动播放
自动播放由windowsxp引入.该特性允许你为不同类型的文件选择不同播放程序.例如一台计算机安装了多个播放器,自动播放会询问用户使用哪一个播放器
自动播放不同于自动运行,因为当你插入媒体使用自动运行,自动播放是询问你选择要执行的动作
autorun.inf
autorun.inf是自动运行特性的指令文件.这个简单的文本配置文件包含了操作系统指令.它包括的指令有要运行的文件,使用的图标,和任何附加的右键菜单项.当计算机检测到可移动设备,就会在根目录查找autorun.inf并执行
移动媒体类型
usb 内存棒或闪存设备是使用usb口的存储设备.它们通常用于存储数据,以方便在计算机之间传递数据.usb内存棒是广泛使用的可移动媒体.
U3驱动器
U3驱动器或智能驱动器是预装了启动程序当插入时自动运行的usb内存棒.启动程序类似于windows开始菜单,可以完全在usb上运行程序,而不在主机上留下任何痕迹和数据.U3驱动器不需要管理员权限在计算机上运行,并且多自带防病毒软件.
U3驱动器的独特之处是有两个驱动器,一个只读分区保存自动运行文件,另一个是标准的闪存.当u3插入计算机两个驱动器都可以看到.
CDs 和 DVDs
CDs 和 DVDs可以保存各种类型数据,包括音乐,电影,软件
外置硬盘
外置硬盘是一种硬盘驱动器,通过usb口连接到计算机外部.它们用于廉价的保存和备份大量数据.外置硬盘预装了autorun.inf文件
mp3播放器
mp3播放器是便携的存储和播放音频文件的媒体设备.用户从互联网下载音乐并通过usb端口存储到mp3播放器.mp3播放器预装了autorun.inf文件
自动运行的隐患
对于恶意代码作者来讲自动运行非常吸引人,因为它传播起来非常方便.autorun.inf用于传播蠕虫和木马.文件中经常包含指令,告诉操作系统执行一个移动设备上的被感染的文件.根据恶意代码,autorun.inf可以在执行之后自我删除,改变文件图标避免被检测,甚至改变右键菜单迷惑用户.
例如,一个被感染的usb棒,当被插入公司计算机,它携带的蠕虫将会感染这台机器.中毒的机器会扫描所有的可移动设备并感染它们.公司网络瞬间也被感染,通常用户毫不知情.同时,新插入的usb记忆棒也会被感染.
一旦机器被感染,恶意软件会做很多事情,这取决于软件作者.通常会下载其它的rootkit.rootkit会安装键盘记录偷取帐号,用户名,密码和其它敏感信息.
使用自动运行的已知威胁.
多年以前恶意软件已经开始使用autorun.inf特性.大规模应用只是时间问题.
sony bmg rootkit
2005,sony 在它们的音乐cd上安装rootkit,用于收集用户的个人信息而没有任何提示或许可.同时打开安全漏洞.用户基本上没有发现这个rootkit,因为它利用了autorun特性.当用户发现并试图卸载它时,他们发现它系统已经不可使用了
Digital picture frames
2008年初,报告显示被感染的Digital picture frames(是不是就是avi呀?)出现在互联网上.这些封装的帧中包含了一个讨厌的病毒,它会通过autorun.inf偷偷的安装.很多人收到这些图片帧,被安装了恶意软件.一旦故事发生,所有的零售店都召回了.
禁止自动运行的一些的解决办法
有几种办法阻止autorun.inf自动运行,当然有些是更有效的办法.下面将解释几种缓和的策略及其优缺点.CCIRC 已经测试了这些方法只推荐第一种.
虽然本文中列出解决办法,但是其效果主要依赖用户操作.感受网络可以禁止自动运行,但是不能阻止用户执行程序. CCIRC 推荐确保预防性的安全措施到位,包括但不限于,更新杀毒软件和限制防火墙策略.
同时,请注意有些解决办法涉及修改一些注册表,因此建议在修改之前备份所有注册表.
方法 | 优点 | 缺点 | 推荐 | Sys:doesNotexit | 有效
简单的改变注册键,作为组策略应用
禁止任何autorun.inf运行,无论是否
已经执行过
| 微软不支持 | 是 | kb950582 | 有效
简单的改变注册键,作为组策略应用 | 在注册键可以被修改之前需要应用升级
即使修改了也只对部分auturun.inf有效
| 不 | MountPoint2 | 有效
简单的改变注册键,作为组策略应用 | 对于副作用未知 | 不 | NodrivertypeAutorun | 简单的改变注册键,作为组策略应用 | 对于修改之前的,mountpoint2优先它执行autorun.inf | 不 | shift key | 简单实现 | 每次使用可移动媒体的时候都要使用. | 不 |
SYS:DoesNotExist
禁止所有的autorun.inf执行.通过改变注册键作为全局策略使用.
1 打开记事本
2 复制下面文字并粘帖到记事本,[]中的内容要保持在一行内.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]@="@SYS:DoesNotExist"
3 保存文件为 NoAutoRun.reg. 后缀一定是reg
4 右键选择合并,确认所有的提示警告.或者使用如下命令 "REG IMPORT NoAutoRun.reg".
5 重启计算机
修改这个键值会阻止任何autorun.inf的运行,即使在修改之前计算机已经运行过并且缓存在mountpoint2中.这样可以没有任何副作用的禁止自动运行. CCIRC 推荐此法,特别在公司网络.
应该指出的是 CERT cc 更新了对于禁止自动运行他们推荐删除MountPoint2键同时添加 sYS:DoesNotExist.因为他们发现即使添加了SYS:DoesNotExist, MountPoint2键下的缓存项会覆盖它并自动运行.通过我们的广泛测试,我们没有重现,因此CCIRC只推荐添加 SYS:DoesNotExist,CCIRC目前并不推荐删除 MountPoint2注册键,因为缺少资料其是可行的.
KB953252
http://support.microsoft.com/?scid=kb%3Bzh-cn%3B953252&x=12&y=11
2008年9月 微软发布了如何解决 Windows 中的"禁用自动运行的注册表项"强制.
这是回应 Technet 文章 91525 没有正确的禁止自动运行.
微软推荐为了禁止自动运行,必须要安装一个更新.更新安装之后,可以如下操作
1. 单击 开始 收起这个图片展开这个图片 the Start button ,在 开始搜索 框中键入 gpedit.msc ,,然后按 Enter 键。 收起这个图片展开这个图片 User Account Control permission 如果将提示您输入管理员密码或进行确认,键入该的密码,或单击 允许 。
2. 在 计算机配置 ,下展开 管理模板 、 Windows 组件 ,然后单击 自动播放策略 。
3. 在 详细信息 窗格双击 关闭自动播放 。
4. 单击 启用 ,然后选择在 关闭自动播放 框中所有驱动器上禁用自动运行中的 所有驱动器 。
5. 重新启动计算机。
MountPoint2
当一个计算机检测到可移动设备,计算机会扫描该设备以查找autorun.inf文件.并且在MountPoint2键下记录下autorun.inf.这个键保存了每一个连接到该计算机的设备的信息.改变MountPoint2键的权限可以阻止运行auturun.inf,即使再次之前计算机已经连接过可移动设备.按照如下方法改变MountPoint2的权限:
1 开始->运行-> 输入 "regedit"
2 找到 HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\MountPoints2.
3 右键mountpoint2 选择 权限 ("permission").
4 点"高级",并取消 "从父继承权限项应用到子对象,包括这些在此明确定义的项目"
5 点击 "移除" "是" "确定"
即使方法起效了,cCIrC 并不推荐,因为这将限制MountPoint2键的可用信息和它对系统的其它影响(there is limited information available regarding what the MountPoint2 registry key does and what other effects it may have on the operating system.)
NoDriveTypeAutoRun
微软推荐如果要禁止可移动设备上的autorun.inf特性,可以通过修改下面的注册键值为0xffHK_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun.
修改该键可以阻止任何可移动设备上的autorun.inf被执行.然而,如果在修改之前,计算机已经连接过可移动设备,所有的可移动设备信息已经缓存在MountPoint2下.在修改之后移动设备再次使用,MountPoint2会覆盖NoDriveTypeAutoRun,autorun.inf还是会被执行.
CCIRC不推荐使用此法,我们在一个已经使用过移动设备的操作系统上测试,发现部分autorun.inf会被执行.即使NoDriveTypeAutoRun注册键改变阻止恶意软件传播,在移动设备上的autorun.inf还是会执行右键菜单和改变驱动器图标.
Shift Key
当插入移动设备时按住shift键以阻止autorun.inf运行是最简单的办法.缺点是用户必须牢记.CCIRC不推荐,因为它完全取决于用户,这是不可靠的安全措施,特别在企业环境.
测试在windows xp使用 U3 智能设备进行测试. E盘是cD-rOM,f盘是标准闪盘.配置好autorun.inf可执行,它会增加右键菜单项和改变文件夹图标.
U3 drive 首次使用测试结果
方法 | 文件是否运行 | 自动播放是否运行 | 右键菜单是否改变 | 图标是否改变 | Sys:DoesNotExist | no | no
| no
| no
| KB953252 | no | no | no
| 均被改变 | MountPoint2 | no | yes | no
| 均被改变 | NoDriveTypeAutoRun | no | no | 均被改变 | 均被改变 | Shift Key | no | no | 均被改变 | 均被改变 |
U3 drive 已经运行过
方法 | 文件是否运行 | 自动播放是否运行 | 右键菜单是否改变 | 图标是否改变 | Sys:DoesNotExist | no | no
| no
| no
| KB953252 | no | no | no
| 均被改变 | MountPoint2 | no | yes | no
| 均被改变 | NoDriveTypeAutoRun | no | no | 只有 F 盘
| 均被改变 | Shift Key | yes | yes | 均被改变 | 均被改变 |
原文地址:
http://www.securitepublique.gc.ca/prg/em/ccirc/2008/tr08-004-eng.aspx
[ 本帖最后由 cutcut 于 2009-1-21 17:07 编辑 ] |