别让士兵们下马!——防止木马启动
话说藏在木马里的希腊士兵入城以后,并没有急着下马屠城,而是待到夜深人静之时,才出来打开了牢固的城门,为特洛伊的毁灭奏响了哀歌。而计算机内部没有人类社会的地理和时间关系,即使你的硬盘里现在就存放着100个木马程序,它们也比特洛伊海滩上那只大木马的处境好不到哪里去,因为对于操作系统来说,任何有害程序只要没有运行,它就可以等同于那些未能下马的士兵,一律视为无害。要让系统变成特洛伊城的黑夜,唯一的方法只能是启动木马的服务器端,而启动木马的最简单途径,就是通过“启动项”加载运行。(图5.查看启动项的工具)

任何操作系统都会在启动时自动运行一些程序,用以初始化系统环境或额外功能等,这些被允许跟随系统启动而运行的程序被放置在专门的区域里供系统启动时加载运行,这些区域就是“启动项”,不同的系统提供的“启动项”数量也不同,对于Win9x来说,它提供了至少5个“启动项”:DOS环境下的Autoexec.bat、Config.sys,Windows环境下的“启动”程序组、注册表的2个Run项和1个RunServices项,分别是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
到了2000/XP系统时代,DOS环境被取消,却新增了一种称之为“服务”的启动区域,注册表也在保持原项目不变的基础上增加了2个“启动项”:
项目 键名
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows run