查看完整版本: 深入剖析U盘病毒启动原理(autorun.inf / NoDriveTypeAutoRun)

似水年华 2007-6-16 06:28 PM

深入剖析U盘病毒启动原理(autorun.inf / NoDriveTypeAutoRun)

常见的Autorun.inf文件格式大致如下:   [color=#ff6600]      [AutoRun]   [/color][color=#ff6600] [/color][color=#ff6600] [/color][color=#ff6600] [/color][color=#ff6600][color=#99cc00]//表示AutoRun部分开始,必须输入[/color]
      icon=C:\ixigua.ico[/color][color=#ff6600] [/color][color=#ff6600] [/color][color=#ff6600] [/color][color=#ff6600][color=#99cc00]//指定给C盘一个个性化的盘符图标C.ico[/color]
      open=C:\ixigua.exe [color=#99cc00] //指定要运行程序的路径和名称,只要在此放入病毒程序就可自动运行;[/color][/color]
  在Windows系统有允许和阻止自动运行的键值的方法:

在注册表中找到如下键:
[indent][indent]键路径:[size=2][HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer][/size]

在右侧窗格中有 "[size=2]NoDriveTypeAutoRun[/size]"这个键决定了是否执行[size=2]Autorun[/size]功能.其中每一位代表一个设备,不同设备用以下数值表示:

[table=80%][tr][td=1,1,124]设备名称[/td][td=1,1,73][align=center]第几位[/align][/td][td=1,1,77][align=center]数值[/align][/td][td=1,1,116][align=center]设备用如下数值表示[/align][/td][td=1,1,118]设备名称含义[/td][/tr][tr][td][size=2]DRIVE_UNKNOWN[/size][/td][td][align=center]0[/align][/td][td][align=center]1[/align][/td][td][align=center]01H[/align][/td][td]不能识别的类型设备[/td][/tr][tr][td][size=2]DRIVE_NO_ROOT_DIR[/size][/td][td][align=center]1[/align][/td][td][align=center]0[/align][/td][td][align=center]02H[/align][/td][td]没有根目录的驱动器[/td][/tr][tr][td][size=2]DRIVE_REMOVABLE[/size][/td][td][align=center]2[/align][/td][td][align=center]1[/align][/td][td][align=center]04H[/align][/td][td]可移动驱动器[/td][/tr][tr][td][size=2][color=#0000ff]DRIVE_FIXED[/color][/size][/td][td][align=center]3[/align][/td][td][align=center][color=#ff6600]0[/color][/align][/td][td][align=center]08H[/align][/td][td]固定的驱动器[/td][/tr][tr][td][size=2]DRIVE_REMOTE[/size][/td][td][align=center]4[/align][/td][td][align=center]1[/align][/td][td][align=center]10H[/align][/td][td]网络驱动器[/td][/tr][tr][td][size=2]DRIVE_CDROM[/size][/td][td][align=center]5[/align][/td][td][align=center]0[/align][/td][td][align=center]20H[/align][/td][td]光驱[/td][/tr][tr][td][size=2]DRIVE_RAMDISK[/size][/td][td][align=center]6[/align][/td][td][align=center]0[/align][/td][td][align=center]40H[/align][/td][td]RAM磁盘[/td][/tr][/table]其中: 保留 7 1 80h  未指定的驱动器类型

[/indent][/indent]      [color=#ff0000] 以上值"0"表示设备运行,"1"表示设备不运行。[/color]

       从上面可以看出,对应的[b][size=2][color=#ff6600]DRIVE_CDROM、[/color][/size][/b][b][size=2][color=#ff6600]DRIVE_NO_ROOT_DIR、DRIVE_FIXED、DRIVE_RAMDISK[/color][/size][/b]是可以自动运 行的。所以要禁止硬盘自动运行AutoRun.inf文件,就必须将[size=2][color=#ff0000][b]DRIVE_FIXED[/b][/color][/size]这些键的值设为[color=#ff6600][b]1[/b][/color],由于DRIVE_FIXED代表固定的驱动 器(即硬盘)。如果仅想禁止软件光盘的AutoRun功能,但又保留对CD音频碟的自动播放能力,这时只需将“[size=2][color=#0000ff]NoDriveTypeAutoRun[/color][/size]”的 键值改为:[color=#0000ff]BD,00,00,00[/color]即可。   
       U盘病毒就是利用这种系统特性,一般在感染后会修改系统的注册表,将显示所有文件的选项设置为禁止。甚至修改磁盘关联,杀毒软件一般会只把病毒文件清除, 但对残余的文件不会处理。这也是常见的杀毒软件为什么常常无法清除干净,或者清除后双击无法打开磁盘的原因。

123957 2007-6-16 11:07 PM

[attach]1228[/attach]

1234wea 2007-6-18 11:19 PM

谢谢。。还的要4个子。非常感谢~放到系统上防止U盘病毒

小鸟 2007-8-30 08:05 AM

谢谢似水这么详细的解释!
页: [1]
Google