您的位置:首页 > 其它

彻底杜绝病毒利用 autorun.inf 感染系统

2008-12-10 10:41 417 查看
现在木马/病毒的传播方式,比较有”特色”的,是通过可移动磁盘(优盘、移动硬盘、MP3、存储卡+读卡器),以及通过arp欺骗重定向所有局域网内电脑的www访问,我们今天讨论前者。

可移动磁盘的”自动运行”功能,应该是从Windows 95开始的,我的印象中,Win31的时代,似乎没有听说过这个东西。出来了那么多年了,似乎也没有听说有什么问题,最常见的就是软件的安装光盘放进去会自动开始安装,音乐CD放进去会自动开始播放,如果装了什么超级解霸之类的软件,VCD/DVD放进去也会自动播放。安全方面的,我就听说过一个利用这个来破解屏幕保护密码的,后来也没有关心,想来这个bug也应该修复了吧。

现在影响最大的,应该就是n多的病毒,都利用这个来传播了。优盘插上,没有任何动静的,就把你的系统感染了,然后再插上的任何优盘,都又成了传播的中介,不声不响之间,危害巨大。看到优盘的根目录下,有什么OSO啊,美女游戏啊,就是这些病毒了。

实现的原理很简单,关键就是autorun.inf文件,在默认情况下,这个文件会自动被加载,然后按照里面定义,可以启动一个可执行程序。autorun.inf的格式大致是下面这样:

[autorun]
open=autorun.exe
icon=autorun.exe,0

相当一目了然,第一行定义了自动运行的程序(如果是病毒,就可能是open=oso.exe了),第二行定义了显示的图标。

禁用自动运行的办法有很多,大致有服务、注册表、组策略三种(可能还有更多,欢迎补充),我这儿介绍最简单的一种,就是禁用Shell Hardware Detection服务,对于这个服务,微软自己的解释是”Provides notifications for AutoPlay hardware events”,也就是”为自动播放硬件事件提供通知”,把这个服务设置为Disabled(禁用),重新启动,自动运行功能就算是废掉了。

但是这依然是不安全的,原因是很多朋友(我觉得至少有50%),最习惯的方式就是打开电脑,然后不断的双击,进入驱动器,进入目录……),对于驱动器,默认的双击,在有autorun.inf存在的时候,就是运行里面定义的程序(在不存在autorun.inf的时候,才是打开),结果大家都能想到,就是相当于手动运行了病毒,自作孽啊……

如何彻底禁用这个功能,目前似乎没有直接的办法(希望过几天能够更新这个),所以我们就只能另辟蹊径,想办法如何不让病毒建立autorun.inf,虽然病毒母体依然会传播,但至少不会如此不明不白的扩散,以至于自己当了帮凶还不知道了。

最原始的办法自然是自己建立autorun.inf,但是马上病毒就开始删除或者覆盖了;

接下来是加上只读属性,这个也很容易破解,替换属性即可;

再接下来是建立同名目录,因为按照目前的定义,在存在同名目录的情况下,文件无法建立,然后病毒开始删除目录了;



今天这儿介绍的办法,是利用带点的目录,具体的技术文章大家可以Google到,具体流程是:

在磁盘根目录下建立autorun.inf目录;

进入autorun.inf目录;

建立autorun.inf.目录(注意这个.);

第三步是关键,因为在通常情况下,在有非空子目录的情况下,目录无法被删除(可惜的是这儿也有个办法……)。

接下来,最有效的办法:

上面,我们讨论了如何通过禁止Shell Hardware Detection服务的方式,来屏蔽光盘/优盘插入时候的自动运行,但出现了这样的问题:

通过rd /s /q,可以直接删除包含带点目录的autorun.inf目录;

通过改名操作,也可以直接对包含带点目录的autorun.inf目录进行重命名;

禁用Shell Hardware Detection,会使得系统无法识别CD/DVD的驱动器类型;

最重要的是,就算禁用了自动运行,大部分的用户,还是因为在我的电脑里面的双击盘符操作,而”手动调用自动执行”,从而感染病毒……OK,今天的主角出场!

参考cnbeta上的cnlong朋友的意见,测试通过,通过注册表编辑器+权限控制,彻底杜绝双击盘符情况下的autorun.inf调用,具体的办法如下:

开始——运行——regedit;



定位到HKEY_CURRENT_USER/Software/Microsoft/Windows/
CurrentVersion/Explorer/MountPoints2;

在MountPoints2上右键——权限;



添加——输入everyone——检查名称——确定;



选择完全控制栏的拒绝,应用,对安全警告回答是;



应该算是比较完美的方案了:经过这样的权限设置,任何情况下的autorun.inf调用将被屏蔽,在默认状态下,带autorun的光盘和优盘被装载的时候,目录会被打开,双击盘符的结果是打开目录,而不是执行程序,同时,右键也不会出现任何形式的自动运行菜单。

分析一下,那个键值应该就是Windows用来记录和管理双击盘符和盘符上的右键菜单的,在里面查找,然后决定执行什么操作,仔细查看的话,你会发现更多的内容。我们把这个键值的操作权限对everyone屏蔽之后,系统无法访问到这个对应表,于是只有打开的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: