注册表是Windows操作系统的核心 联系客服

发布时间 : 星期一 文章注册表是Windows操作系统的核心更新完毕开始阅读c88a630ff78a6529647d5370

和1的,都是非常低级和关键的Windows服务,它们必须正常启动,Windows NT/2000/XP才能继续启动。通常病毒不会将自己放在这里面,因为这时候WindowsNT/2000/XP只装载了核心部分,只有最基本的功能。Start值为2,表示自动启动,值为3,表示手工启动,值为4,表示禁止启动。这三类服务,可以在\控制面板\\中查看到。

我们需要检查的是,那些Start值为2的服务,其对应的程序文件(ImagePath值项定义)是否可疑。

(2)注册表项HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\ Control\\Session Manager

该项下存放了会话管理器(Smss.exe)的信息。在Windows NT/2000/XP的内核启动阶段,需要启动该项下定义的几个程序。在REG_MULTI_SZ类型的值项BootExecute中,定义了会话管理器装载服务前需要运行的程序。默认值为AutoCheck autochk *和Dfsinit。该默认值表示运行磁盘检查程序,以及启动DFS文件系统的初始化程序。

我们需要检查的是,值项BootExecute存放的是否是默认的执行文件,是否还定义了其他的执行程序。

(3)注册表项HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\Current Version\\Winlogon\\Userinit

该值项类型为字符串值,定义了用户注册进入时执行的初始化程序。在用户注册时,注册管理程序(Winlogon)启动该初始化程序,默认值是Userinit.exe。该程序首先运行注册脚本,建立网络连接,然后启动用户界面程序(Explorer.exe)。用户可以替换该初始化程序为自己的初始化程序(当然,病毒也可以做到)。一般地,用户自己的初始化程序可以在处理完自己需要进行的工作后,再调用Userinit.exe程序即可。

我们需要检查的是,Userinit值项的值是否是Userinit.exe。同时检查\\Winnt\\System32下的Userinit.exe文件的大小和时间是否是正常的。

(4)注册表项HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\Current Version\\Winlogon\\Shell

该值项类型为字符串值,定义了用户界面程序,默认值为Explorer.exe。正常情况下,注册管理程序(Winlogon)启动Userinit定义的初始化程序,该初始化程序会启动用户界面程序,因此不需要运行Shell值项定义的程序。如果注册管理程序没有能成功启动Userinit定义的初始化程序,则注册管理程序会过来启动该Shell值项定义的用户界面程序。

我们需要检查的是, Shell值项的值是否是Explorer.exe。

(5)注册表项HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\Current Version\\Winlogon\\System(适用于Windows NT)

该值项类型为字符串值,该值项中存放了安全管理器程序,默认值为Lsass.exe。安全管理器就是Windows NT启动时,或者屏幕保护后,要求输入用户和密码的画面。用户可以替换该安全管理器程序。

我们需要检查的是System值项的值是否是Lsass.exe。

(6)注册表项HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\ CurrentVersion\\Policies\\Explorer\\Run

在该项下可以有若干个字符串类型的值项,每个值项的名称从1开始,值为程序或者文档的名称。在用户注册进入Windows时,该项下定义的程序将被启动起来。例如该项下有两个值项,第一个是1,值为Notepad.exe,第二个是2,值为C:\\readme.doc,则在用户注册进入Windows 2000时,系统会首先运行起Notepad.exe程序,然后会使用DOC的关联程序打开C:\\readme.doc文档。

我们需要检查的是,如果定义了自动启动程序,则查找该程序是哪个软件对应的,是否为可疑程序。默认情况下,该注册表项下应该为空。

(7)注册表项HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ Policies\\Explorer\\Run

该项与HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ Policies\\Explorer\\Run的作用一样,不同之处在于,由于它位于HKEY_LOCAL_MACHINE下,所以它将应用于所有的用户。在启动顺序上,系统首先启动HKEY_LOCAL_MACHINE下的Run中的程序,再去启动HKEY_CURRENT_USER下Run中的程序。

(8)注册表项HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\ CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx子项(适用于Windows 9x/Me/NT/2000/XP)

由于是位于HKEY_CURRENT_USER下,因此该项只适用于当前这个用户,不适用于其他的用户。在用户注册进入Windows系统时,自动地运行该项下定义的程序或文档。其中Run子项中定义了每次系统启动时都需要运行的程序,值项类型是字符串值,值项的名称是该运行程序的说明,值项的值是程序的名称;RunOnce子项中定义了只运行一次的程序,在该项下的值项中定义的程序运行起来后,该项下的值项就会被删除掉,这通常用于程序的安装过程;RunEx和RunOnceEx的作用和Run、RunOnce是一样的,是Run、RunOnce的扩充形式。

(9)注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\ Windows\\CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx子项(适用于Windows 9x/Me/NT/2000/XP)

该项和HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx作用一样,不同之处在于,由于它位于HKEY_LOCAL_ MACHINE下,所以它将应用于所有的用户。在启动顺序上,系统首先启动HKEY_LOCAL_MACHINE下定义的启动项目,再去启动HKEY_CURRENT_USER下定义的启动项目。

我们需要检查的是,对于默认情况以外定义的程序,需要检查其对应的软件。很多软件将自动启动程序放在注册表中的这个位置。例如Norton Antivirus防毒软件,就会在注册表项HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\ CurrentVersion\\Run下新建一个值项NPS Event Checker,值为C:\\PROGRA~1\\Navnt\\ npscheck.exe。 (10)检查非注册表部分

首先检查启动文件和磁盘引导扇区。对于Windows 9x/Me,启动文件是启动盘目录下的IO.sys和Command.com文件。同时,还包括Autoexec.bat文件中定义的程序文件,以及Config.sys文件中装载的程序文件。对于Windows NT/2000/XP,启动文件是启动盘目录下的Ntldr,Ntdetect.com、Ntbootdd.sys(如果boot.ini文件使用SCSI语法)、Bootsect.dos(如果使用了多重启动,对应于启动到DOS环境),以及Winnt目录下的Ntoskrnl.exe(核心程序文件)和Hal.dll(硬件抽象层)。

其次,对于Windows 9x,还需要检查Win.ini文件和System.ini文件。Win.ini文件中的\和\行,定义了Windows 9x启动时需要装载的程序。 最后,需要检查\开始\菜单中\程序\中的\启动\程序组,\启动\程序组中存放了Windows正常启动起来后,需要启动的程序。

7.禁止旧版本的\自动运行\程序列表(适用范围:Windows 2000/XP)

注册表项HKEY_LOCAL_MACHINE_\\Software\\Microsoft\\Windows\\CurrentVersion\\Run和HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce下存放的是\自动运行\的程序列表,它们是旧版本的\自动运行\程序列表,在Windows95/98/NT中就已经有了。在注册表中有两个值项,可以禁止这两个旧版本列表起作用,替代它们的是RunEx和RunOnceEx注册表项。 这两个值项位于注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer下。

8.禁止远程访问光盘和软盘(适用范围:Windows NT/2000/XP)

在C2级别的安全要求中,必须对可移动介质的安全作保护,它要求当本地用户在使用计算机时,光盘和软盘称为本地用户的专有资源,网络上的其他用户,包括系统管理员,都不能够访问光盘和软盘。这是因为此时使用的可移动介质,通常是本地用户私人的,因此不应该给其他人看到。

下表的值项存放在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon中。

9.设定口令的最小长度(适用范围:Windows 9x/Me/NT/2000/XP)

默认情况下,口令可以设置为空。为了加强安全性,我们可以强行指定口令的最小长度。

在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Network下,创建二进制类型的值项MinPwdLen,并修改其值为口令的长度,例如6。这样,用户在设定口令时,最少要设定6位的长度。 四、提升Windows系统性能

通过注册表,我们可以定制Windows的功能,使之更加符合我们的习惯和需求。 1.定制Windows的登录(适用范围:Windows 9x/Me/NT/2000/XP) (1)开机后自动登录

为了使用Windows NT/2000/XP,我们必须输入一个用户名称和用户口令来登录。在Windows 9x/Me中,如果登录方式设置为\网络登录\,在进入Windows时,也需要输入用户名和口令,否则将不能访问网上邻居中的计算机。 为了方便起见,我们可以将用户名和用户密码存放到注册表中,这样Windows启动时,自动使用注册表中的用户名和用户密码来登录,而不用用户手工输入。 对于Windows NT/2000/XP,在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon下新建值项。对于Windows 9x/Me,在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows \\CurrentVersion\\Winlogon下新建值项。下表中详细列出新建的值项。 (2)在登录前显示自定义的信息

我们可以在Windows启动之前显示一些信息,以给用户一些提示或是警告。 对于WindowsNT/2000/XP,在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon下新建值项。对于Windows 9x/Me,在注册表项HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows \\CurrentVersion\\Winlogon下新建值项。下表中详细列出新建的值项。 (3)必须使用有效用户注册(适用于Windows 98)

在Windows 98中,当出现输入用户名称和密码的画面时,可以单击\取消\按钮,或者按下ESC键,跳过这一步直接进入到Windows中。通过修改注册表,可以禁止这种未授权的使用,而要求只有在Windows98中设置的用户才可以进入。