星期二, 12月 11

5台服務器 + 25塊顯卡 = 6小時破解所有Windows密碼


 密碼破解專家傑里米·戈斯尼(Jeremi Gosney)搭建了一個計算機集群,每秒可以測試多達3500億個密碼猜測值。這樣快的速度可以說是前所未見,在不到6個小時的時間裡,它就可以試遍每一個可能的Windows密碼。



這個集群由五台服務器組成,它採用了比較新的虛擬化軟件,可以利用25個AMD Radeon圖形卡。在破解由NTLM加密算法(自2003年以來,微軟在每個版本的Windows Server中都使用了NTLM算法)產生的密碼哈希值時,它每秒可以測試3500億個猜測值。因此,它可以在5.5小時內嘗試驚人的95 8個組合,足以破解每一個可能的包含大寫和小寫字母、數字和符號的8字符密碼。這樣的密碼策略在很多企業中都很常見。而微軟用LM算法保護的密碼——很多企業都在使用,以便跟版本更老的Windows兼容——會在短短的6分鐘內被破解。

這個基於Linux的GPU集群在Virtual OpenCL 集群平台上運行,所以圖形卡可以像在一台單獨的桌面電腦上那樣發揮作用。ocl-Hashcat Plus(一個容易找到的密碼破解套件,針對GPU運算進行過優化)則在這個系統上運行,讓設備可以用幾乎前所未有的速度,處理至少44個其他算法生成的密碼。除了進行“暴力式攻擊”之外,這個集群還可以同樣高速地開展其他種類的攻擊,比如涉及數百萬單詞的“字典式攻擊”。

“有了這個集群,我們可以做人們通常用Hashcat做的一切事情,只不過速度​​現在大大加快了。”Stricture 諮詢集團創始人和CEO傑里米·戈斯尼在給媒體的一封郵件中寫道: “我們現在攻擊哈希值的速度是以前的大約4倍。”

戈斯尼上週在挪威奧斯陸的Passwords^12大會上展示了這個系統。他以前使用的電腦配有4個AMD Radeon HD6990圖形卡,對NTLM哈希的猜測速度是每秒約880億次。戈斯尼用它破解了LinkedIn用戶650萬密碼哈希中的90%。除了強大的硬件之外,他的攻擊工具還包括一個含有5億多單詞的單詞表,以及各種先進的編程規則。

使用這個新集群,同樣的攻擊,速度提高了大約4倍。比如現在的集群可以對SHA1(該算法用於產生LinkedIn密碼)進行630億次猜測,以前的硬件只能進行155億次猜測。對於廣泛使用的MD5算法,現在的集群每秒可以嘗試1800億個組合,速度也差不多是原來的4倍。

這樣的速度也適用於所謂的“離線破解”,即黑客利用網站或網絡服務器上的漏洞獲得密碼列表。這些密碼通常是使用單向加密哈希函數存儲的,對於每一個唯一的明文字符串,單向加密哈希函數都會產生一個唯一的字符串。從理論上講,哈希不能用數學方法逆轉。唯一的破解方法就是將各種密碼組合輸入到相同的加密函數進行測試。當某個組合的輸出跟列表中的哈希值匹配時,密碼就被破解了。

該技術不適用於網絡攻擊,原因之一是大多數網站都會限制同一個賬戶的密碼輸入次數。
在過去的十年裡,GPU運算的發展對“離線破解”密碼的巨大進步做出了貢獻。但是,在這個新集群出現之前,由於電腦主板、BIOS系統、軟件驅動程序的限制,一台電腦上最多只能運行8個圖形卡。戈斯尼的突破在於使用了VCL虛擬化軟件,它可以在一個集群上配備大量圖形卡,同時讓它們像在同一台電腦上那樣發揮作用。

“在VCL出現之前,人們嘗試過很多不同的東西,獲得了不同程度的成功,”戈斯尼說, “但VCL是其他解決辦法的終結者,因為現在我們有了一個通用的解決方案,它可以自動為你處理各個複雜的方面。而且它的也非常很容易管理,因為所有的計算節點只要安裝VCL就可以了。你的軟件只需要安裝在集群控制器上。”

新集群的出現,意味著工程師用合適的哈希函數設計密碼存儲系統的工作比以往任何時候都更加重要了。不同於MD5、SHA1、SHA2,最近公佈的SHA3以及其他各種“快速”算法,像Bcrypt、PBKDF2和SHA512crypt這樣的函數,需要花費相當多的時間和計算資源才能把輸入明文轉化為加密哈希值。因此,新的集群即便速度是原來的4倍,對於Bcrypt也只能每秒測試7.1萬個猜測值,對SHA512crypt每秒測試36.4萬個。

就目前來說,你的大部分密碼都是“快速”算法生成的。因此,你最好使用長於9個字符的密碼,使用13甚至20個字符更加安全。但是,僅僅使用長密碼是不夠的,你還要避免在密碼中使用名字、單詞或常用短語。最簡單的方法,就是使用密碼管理程序(比如Password Safe )隨機生成的文本字符串。

沒有留言: