查看: 9968|回复: 8
收起左侧

彻底禁止U盘病毒感染你电脑的方法

[复制链接]
feitianyumeng
发表于 2009-4-5 10:24:09 | 显示全部楼层 |阅读模式
彻底禁止U盘病毒感染你电脑的方法
在网上找了许多解决方法大体都是一个思路:通过组策略禁止自动播放或修改注册表禁止自动播放,但这种方法只是不让病毒在插入U盘的时候自动运行。要想打开U盘还得点右键选择打开或者点资源管理器左边的树形结构,非常麻烦,并且一不小心双击U盘就会感染病毒。
    下面介绍一种可以彻底杜绝U盘病毒自动传播的方法 :
      首先,说明U盘病毒传播的原理:病毒首先在U盘根目录下建立一个AUTORUN.INF文件。系统在插入U盘的时候会根据这个AUTORUN.INF文件,在注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]下建立一个U盘的关联项,使双击打开指定的程序(如病毒程序)。因此只需禁止在此注册表位置创建子项即可(如下面介绍的修改权限法)。本方法对XP有效,win2000不能设置注册表的权限。
                                              澄清现在流传的对自动播放的误解
现在U盘病毒非常猖狂~几乎随便拿一个U盘来扫描都可以发现病毒。
有人就建议在组策略中关闭自动播放(计算机配置→管理模板→系统,关闭自动播放)以防止双击打开U盘的时候病毒被激活。
这个方法实际上是错误的,如此设置对避免双击激活病毒没有任何帮助。
从Windows XP开始,自动运行被分成自动播放和自动运行两部分,两者有点关系但不是一回事。
没有查到自动播放和自动运行的M$官方定义,简单说一下:
比如说,默认情况下插入一张光盘,Windows XP会弹出一个窗口显示正在搜索光盘上的内容,然后出现一个对话框,根据光盘中的内容会让你选择是浏览光盘、播放音乐还是干什么等等。这是自动播放。这种情况在U盘上也会出现。
如果这张光盘上有Autorun.inf,那么搜索窗口将不会出现,Windows XP将读取Autorun.inf然后根据该文件的内容决定采取什么行为,通常将是运行Autorun.inf指定的程序。这就是自动运行。U盘支持不完全的自动运行,插上时不会执行Autorun.inf脚本但双击时会。
如果关闭了自动播放,Autorun.inf的脚本将不会被自动运行,插入光盘后也不会出现什么程序。当然那个搜索对话框更不会出现~这大概是自动播放和自动运行唯一的关系。
但是,如果你插入一张有Autorun.inf的文件,然后打开右键菜单,你可以发现“自动播放”那几个字是粗体,表明如果你双击光驱图标Autorun.inf脚本仍然会被执行。这个情况对U盘同样适用。
所以即使你关闭了自动播放,接上一个带了毒的U盘,双击,病毒仍然会被激活,唯一的区别就是原来可能出现的让你选择操作的窗口不会再出现。
想预防U盘病毒,最简单的方法是永远不要双击打开U盘,用右键菜单进,而且右键菜单要看清楚!现在已经有病毒伪造右键菜单中的“打开”项了。据说有个更恶劣的U盘毒把“打开”和“资源管理器”都伪造出来(右键菜单中两个“打开”两个“资源管理器,毫无疑问前两个是假的)。
最好记得打开U盘前扫描一遍病毒。
这一点Linux做的很好,可以设置插入可移动媒体时自动运行的程序,Windows MS还没有这个功能。
一个修改注册表权限免疫U盘病毒的方法:
QUOTE:
打开注册表项
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
在键MountPoints2上点右键,选择权限,将Administrators组和SYSTEM组的完全控制都设为阻止即可。
简单说下原理:
Windows读取Autorun.inf后,会修改MountPoints2下的子键以添加新的右键菜单项。
将这个键的权限设为阻止,指向病毒的菜单项无法出现,病毒自然也就不能被激活。
附M$知识库中提供的关闭自动运行的方法~未验证对U盘自动运行是否有效果:
QUOTE:
如果您的计算机连接了 CD-ROM 自动换片器,则可能需要禁用自动运行 CD-ROM(自动运行光盘 [CD] 或自动播放音频 CD-ROM)。如果对 CD-ROM 自动换片器启用了自动运行 CD-ROM,则每次在其中一个托盘中插入新 CD-ROM 时,Windows 都会循环通过自动换片器中的每个托盘。
在用户界面中,没有用于启用或禁用自动运行 CD-ROM 的选项。要启用或禁用自动运行 CD-ROM,必须编辑注册表: 1. 依次单击开始和运行,在打开框中键入 regedit,然后按 Enter 键。
2. 找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDRom
3. 要禁用自动运行 CD-ROM,请将 Autorun 的值更改为 0(零)。要启用自动运行 CD-ROM,请将 Autorun 的值更改为 1。
4. 重新启动计算机。
注意:此方法可禁用自动运行 CD-ROM。如果要根据在 CD-ROM 驱动器中插入的 CD-ROM 来禁用自动运行 CD-ROM,可以在插入 CD-ROM 的同时按住其中一个 Shift 键不放。
还有其他两个注册表项会影响此功能:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoDriveTypeAutoRun = 0x00000095
- 和 -
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoDriveTypeAutoRun = 0x00000095
每个注册表项的正确值均为 0x00000095。
补充一点:组策略中禁止自动播放完全可以避免感染Autorun.inf病毒吗。
实际上在发这个帖子时我也有点奇怪,因为仅仅在组策略中关闭自动播放的情况下,往U盘中拷一个简单的Autorun.inf
QUOTE:[autorun]
open=NOTEPAD.exe
然后将Windows自带的记事本程序NOTEPAD.exe同样拷到U盘下,重新插入再看右键菜单,没有发现自动播放项,直接双击也正常打开了U盘。看起来似乎确实起作用了。
       但我记得以前在关闭了自动播放时,遇见的带毒U盘右键里面往往都多了一个“粗体”的Auto项,即双击盘符时将执行Auto的事件,这又是怎么回事?莫非我记错了?
       换一个恶劣点的Autorun.inf试试
QUOTE:
[autorun]
OPEN=NOTEPAD.exe
shell\open=打开(&O)
shell\open\Command=NOTEPAD.exe
shell\open\Default=1
shell\explore=资源管理器(&X)
shell\explore\Command=NOTEPAD.exe
icon=game.ico
加入一个图标是为了检查Autorun.inf是否被读取,这个Autorun.inf会伪造右键菜单里的打开和资源管理器,点击就运行NOTEPAD.exe。重新插入后图标变了,检查右键菜单,没有新的项创建,双击看看。哈哈,熟悉的记事本蹦出来了,证明打开和资源管理器已被修改。如果把NOTEPAD.exe换成病毒文件,恭喜,你已经中毒了。
       这个实验证明靠组策略中关闭自动播放来预防U盘毒是完全没有用的(上面这个Autorun.inf已经烂大街了),看来最可靠的预防方法还是锁住MountPoints2键,试了一下,锁住以后即使遇到这种恶劣的Autorun.inf也不会中招——因为它根本动不了右键菜单。帖子回复里面网友horseluke的意见是使用组策略还需要关闭Shell Hardware Detection服务,以前我关闭这个服务后遇到了奇怪的问题,Windows XP启动时间变长了?!所以不打算关闭,就锁键吧,反正暂时没有发现有什么异常。
       胡乱猜测了一下,可能U盘的自动运行/自动播放机制和光盘的不一样,光盘是读取到Autorun.inf时自动在右键菜单中创建一项“粗体”的自动播放(M$在Windows XP中想划清自动运行和自动播放的关系,但显然弄巧成拙了),是否存在这一步与是否开启自动播放无关,双击光盘盘符或点击自动播放通常都会读取Autorun.inf中open=后面的程序;对U盘则没有这些待遇,所以病毒必须通过Autorun.inf创建一个Auto或者直接修改原来菜单中的内容。这也解释了为什么即使关闭了自动播放,在光盘的右键菜单中仍然可以看到自动播放,U盘的却看不到(大概从来就看不到)。再次强调这些仅仅是胡乱猜测。
禁止U盘病毒自动传播的具体方法:
    1. 点开始->运行 输入 regedit  回车
    2. 打开注册表编辑器后展开项[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]
    3. 右键点MountPoints2 选择权限
    4. 依次点击“安全中的用户和组”的每一项,把每个用户下面的权限中都改成拒绝,确定
    5. 此后AUTORUN.INF不再起作用,右键菜单不会被修改,即使U盘有病毒也不会激活,任何时候双击都会正常进入U盘
    6. 不会有任何副作用,我和我周围的同学改了几个月都没出问题。
               用好了IceSword和SReng,可以手动清除许多病毒。把隐藏文件和受保护的操作系统文件设置为始终显示,这类U盘病毒就很容易被发现。除了光盘以外,其他任何盘符下的AutoRun.inf都是病毒生成的,AutoRun.inf里面指定的可执行程序是病毒主程序。
cdwuai
发表于 2009-4-5 10:36:48 | 显示全部楼层
好东西,谢谢!
jbkk988
发表于 2009-4-5 16:58:31 | 显示全部楼层
学习一下,看看好用吗?
77885420d
发表于 2009-4-6 11:54:08 | 显示全部楼层
学习了,谢谢楼主
杨宝明
发表于 2009-5-9 21:13:39 | 显示全部楼层
学习一下,看看好用吗?
白羊座
发表于 2009-5-9 21:23:17 | 显示全部楼层

回复 1楼 feitianyumeng 的帖子

方法不错,但只是对付了autorun
伪造文件夹图标的,不能免疫
所以说任何阻止一个可移动磁盘中毒的方法都不能100%
除非使用只读开关
yula
发表于 2009-5-14 16:05:31 | 显示全部楼层
太复杂了,但还是感谢楼主
applewebb
发表于 2009-5-14 17:32:11 | 显示全部楼层
好东西 长知识了
0往事随风0
发表于 2009-5-15 07:46:24 | 显示全部楼层
有点复杂
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 15:09 , Processed in 0.120236 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表