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組中的所有成員,備份操作員,服務器操作員,5自學網,以及所有具有備份特權的人員。 解釋: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%\repair\sam._。 解釋:在缺省的權限設置下,每個人對該文件都有“讀”(Read)的訪問權,Administrator和系統本身具有“完全控制”(FullControl)的權利,PowerUser有“改變”(Change)的權利。SAM數據庫的一個備份拷貝能夠被某些工具所利用,來破解口令。NT在對用戶進行身份驗證時,只能達到加密RSA的水平。在這種情況下,甚至沒有必要使用工具來猜測那些明文口令。能解碼SAM數據庫並能破解口令的工具有:PWDump和NTCrack。 減小風險的建議:確保%system%\repair\sam在每次ERD更新後,對所有人不可讀。嚴格控制對該文件的讀權利。不應該有任何用戶或者組對該文件有任何訪問權。最好的實踐方針是,不要給Administrator訪問該文件的權利,如果需要更新該文件,Administrator暫時改變一下權利,當更新操作完成後,Administrator立即把權限設置成不可訪問。