Windows NT越来越受欢迎。Internet上采用NT平台作为服务器的站点越来越多,同时,众多企业已经采用NT平台作为企业计算和内部网Intranet的解决方案。本文讨论了Windows NT系统上的重大安全漏洞,包括两大部分:第一,NT服务器和工作站的安全漏洞;第二,关于浏览器和NT机器的两个严重安全漏洞。随着新的安全漏洞被发现,或在基本产品上被改变,本文也将作更新。
概况
Windows NT所采用的存储数据库和加密过程导致了一系列安全漏洞值得探讨。特别地,NT把用户信息和加密口令保存于NT Registry中的SAM文件中,即安全帐户管理(Security Accounts Management)数据库。加密口令分两个步骤完成。首先,采用RSAMD4系统对口令进行加密。第二步则是令人迷惑的缺乏复杂度的过程,不添加任何“调料”,比如加密口令时考虑时间的因素。结果,NT口令比UNIX口令更加脆弱,更容易受到一本简单字典的攻击。由于有这么多与NT口令有关的安全问题,Microsoft已经在NT第5.0版中加密口令时增加一个步骤。
这里描述的某些安全漏洞是很严重的。在最坏的情况下,一个黑客可以利用这些漏洞来破译一个或多个Domain Administrator帐户的口令,并且对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口令,一个加强的口令必须包含大小写字母,数字,以及特殊字符。使用二级身份验证机制,比如令牌卡(TokenCard),可提供更强壮的安全解决方案,它比较昂贵。
2.安全漏洞:每次紧急修复盘(Emergency Repair Disk-ERD)在更新时,整个SAM数据库被复制到%system%
epairsam._。
解释:在缺省的权限设置下,每个人对该文件都有“读”(Read)的访问权,Administrator和系统本身具有“完全控制”(FullControl)的权利,PowerUser有“改变”(Change)的权利。SAM数据库的一个备份拷贝能够被某些工具所利用,来破解口令。NT在对用户进行身份验证时,只能达到加密RSA的水平。在这种情况下,甚至没有必要使用工具来猜测那些明文口令。能解码SAM数据库并能破解口令的工具有:PWDump和NTCrack。
减小风险的建议:确保%system%
epairsam在每次ERD更新后,对所有人不可读。严格控制对该文件的读权利。不应该有任何用户或者组对该文件有任何访问权。最好的实践方针是,不要给Administrator访问该文件的权利,如果需要更新该文件,Administrator暂时改变一下权利,当更新操作完成后,Administrator立即把权限设置成不可访问。