NT安全漏洞及其解决建议(1)
引言
Windows NT越来越受欢迎。Internet上采用NT平台作为服务器的站点越来越多,同时,众多企业已经采用NT平台作为企业计算和内部网Intranet的解决方案。本文讨论了Windows NT系统上的重大安全漏洞,包括两大部分:第一,NT服务器和工作站的安全漏洞;第二,关于浏览器和NT机器的两个严重安全漏洞。随着新的安全漏洞被发现,或在基本产品上被改变,本文也将作更新。
概况
Windows NT所采用的存储数据库和加密过程导致了一系列安全漏洞值得探讨。特别地,NT把用户信息和加密口令保存于NT Registry中的SAM文件中,即安全帐户管理(Security Accounts Management)数据库。加密口令分两个步骤完成。首先,采用RSA MD4系统对口令进行加密。第二步则是令人迷惑的缺乏复杂度的过程,不添加任何“调料”,比如加密口令时考虑时间的因素。结果,NT口令比UNIX口令更加脆弱,更容易受到一本简单词典的攻击。由于有这么多与NT口令有关的安全问题,Microsoft已经在NT第5.0版中加密口令时增加一个步骤。
这里描述的某些安全漏洞是很严重的。在最坏的情况下,一个黑客可以利用这些漏洞来破译一个或多个DomainAdministrator帐户的口令,并且对NT域中所有主机进行破坏活动。
NT服务器和工作站的安全漏洞
1.安全漏洞:安全帐户管理(SAM)数据库可以由以下用户被复制:Administrator帐户,Administrator组中的所有成员,备份操作员,服务器操作员,以及所有具有备份特权的人员。
解释:SAM数据库的一个备份拷贝能够被某些工具所利用来破解口令。NT在对用户进行身份验证时,只能达到加密RSA的水平。在这种情况下,甚至没有必要使用工具来猜测那些明文口令。能解码SAM数据库并能破解口令的工具有:PWDump和NTCrack。实际上,PWDump的作者还有另一个软件包,PWAudit,它可以跟踪由PWDump获取到的任何东西的内容。
减小风险的建议:严格限制Administrator组和备份组帐户的成员资格。加强对这些帐户的跟踪,尤其是Administrator帐户的登录(LOGOn)失败和注销(LOGOff)失败。对SAM进行的任何权限改变和对其本身的修改进行审计,并且设置发送一个警告给Administrator,告知有事件发生。切记要改变缺省权限设置来预防这个漏洞。
改变Administrator帐户的名字,显然可以防止黑客对缺省命名的帐户进行攻击。这个措施可以解决一系列的安全漏洞。为系统管理员和备份操作员创建特殊帐户。系统管理员在进行特殊任务时必须用这个特殊帐户注册,然后注销。所有具有Administrator和备份特权的帐户绝对不能浏览Web。所有的帐户只能具有User或者Power User组的权限。
采用口令过滤器来检测和减少易猜测的口令,例如,PASSPROP (Windows NT Resource Kit提供),ScanNT (一个商业口令检测工具软件包)。使用加强的口令不易被猜测。Service Pack 3可以加强NT口令,一个加强的口令必须包含大小写字母,数字,以及特殊字符。使用二级身份验证机制,比如令牌卡(Token Card),可提供更强壮的安全解决方案,它比较昂贵。
2.安全漏洞:每次紧急修复盘(Emergency Repair Disk - ERD)
在更新时,整个SAM数据库被复制到%system%repairsam._。
解释:在缺省的权限设置下,每个人对该文件都有“读”(Read)的访问权,Administrator和系统本身具有“完全控制”(Full Control)的权利,Power User有“改变”(Change)的权利。SAM数据库的一个备份拷贝能够被某些工具所利用,来破解口令。NT在对用户进行身份验证时,只能达到加密RSA的水平。在这种情况下,甚至没有必要使用工具来猜测那些明文口令。能解码SAM数据库并能破解口令的工具有:PWDump和NTCrack。
减小风险的建议:确保%system%repairsam在每次ERD更新后,对所有人不可读。严格控制对该文件的读权利。不应该有任何用户或者组对该文件有任何访问权。最好的实践方针是,不要给Administrator访问该文件的权利,如果需要更新该文件,Administrator暂时改变一下权利,当更新操作完成后,Administrator立即把权限设置成不可访问。
3.安全漏洞:SAM数据库和其它NT服务器文件可能被NT的SMB所读取,SMB是指服务器消息块(ServerMessage Block),Microsoft早期LAN产品的一种继承协议。
解释:SMB有很多尚未公开的“后门”,能不用授权就可以存取SAM和NT服务器上的其它文件。SMB协议允许远程访问共享目录,Registry数据库,以及其它一些系统服务。通过SMB协议可访问的服务的准确数目尚未有任何记载。另外,如何控制访问这些服务的方法也尚未有任何记载。
利用这些弱点而写的程序在Internet上随处可见。执行这些程序不需要Administrator访问权或者交互式访问权。另一个漏洞是,SMB在验证用户身份时,使用一种简易加密的方法,发送申请包。因此,它的文件传输授权机制很容易被击溃。
SAM数据库的一个备份拷贝能够被某些工具所利用,来破解口令。NT在对用户进行身份验证时,只能达到加密RSA的水平。在这种情况下,甚至没有必要使用工具来猜测那些明文口令。能解码SAM数据库并能破解口令的工具有:PWDump和NTCrack。当前,对于使用SMB进行NT组网,还没有任何其它可选的方法。
减小风险的建议:在防火墙上,截止从端口135到142的所有TCP和UDP连接,这样可以有利于控制,其中包括对基于RPC工作于端口135的安全漏洞的控制。最安全的方法是利用代理(Proxy)来限制或者完全拒绝网络上基于SMB的连接。然而,限制SMB连接可能导致系统功能的局限性。在内部路由器上设置ACL,在各个独立子网之间,截止端口135到142。
4.安全漏洞:特洛伊木马(Trojan Horses)和病毒,可能依靠缺省权利作SAM的备份,获取访问SAM中的口令信息,或者通过访问紧急修复盘ERD的更新盘。
解释:特洛伊木马(Trojan Horses)和病毒,可以由以下各组中的任何成员在用缺省权限作备份时执行(缺省地,它们包括:Administrator管理员,Administrator组成员,备份操作员,服务器操作员,以及具有备份特权的任何人),或者在访问ERD更新盘时执行(缺省地,包括任何人)。例如,如果一个用户是Administrator组的成员,当他在系统上工作时,特洛伊木马可能做出任何事情。
减小风险的建议:所有具有Administrator和备份特权的帐户绝对不能浏览Web。所有的帐户只能具有User或者Power User组的权限。
5.安全漏洞:能够物理上访问Windows NT机器的任何人,可能利用某些工具程序来获得Administrator级别的访问权。
解释:Internet上有些工具程序,可以相对容易地获得Administrator特权(比如NTRecover,Winternal Software的NTLocksmith)。
减小风险的建议:改善保安措施。
6.安全漏洞:重新安装Widnows NT软件,可以获得Administrator级别的访问权。
解释:重新安装整个的操作系统,覆盖原来的系统,就可以获得Administrator