過時的MD5如何使您的密碼置於危險之中

MD5 Outdated Hashing Function

5F4DCC3B5AA765D61D8327DEB882CF99 - 對於絕大多數人來說,這可能看起來像一個隨機的字母和數字串。然而,對於追踪人們個人數據的網絡犯罪分子來說,這種特殊的字母數字符號可能是一個非常好的跡象。

5F4DCC3B5AA765D61D8327DEB882CF99是使用MD5進行哈希處理時“密碼”一詞的哈希值,今天,我們將解釋如果在在線數據庫中找到此特定字符串會產生多大的後果。首先,讓我們確保我們熟悉基本概念。

我們已經討論了密碼存儲的重要性,並且我們已經確定散列實際上是處理此類信息的唯一正確方法。

Hashing是一種加密函數,正如您從第一段中看到的那樣,它將密碼轉換為難以辨認的文本字符串。從這個意義上說,它與加密類似,但由於沒有密鑰,因此無法逆轉這一過程。換句話說,您可以使用散列將密碼轉換為符號字符串,但不能將字符串轉換回密碼。從理論上講,這就是使散列成為存儲密碼的最佳方法的原因。不幸的是,現實情況有點複雜。

選擇正確的散列函數的重要性

有許多不同的散列函數(也稱為算法),即使您將它們應用於相同的密碼,它們中的每一個都會產生完全不同的結果。正如您可能猜到的,某些算法比其他算法更安全。 MD5,我們上面提到的功能,可以說是最糟糕的。

MD5於1992年推出,但在四年內,人們開始對其安全性產生懷疑。起初,這些攻擊並不真實,而且使用MD5進行哈希登錄數據的普通用戶並沒有立即發生任何危險。研究仍在繼續,計算機硬件變得更加強大,當然,在2008年,一群加密專家設法使用三台PlayStation 3遊戲機的計算能力打造了MD5簽名的SSL證書。當時,安全行業最知名的公司之一布魯斯施奈爾表示“沒有人應該再使用MD5了”。如今,這些話比以往任何時候都更加真實。

研究人員發現MD5仍在廣泛使用

自加密社區證明MD5的安全性不足以來已有十多年了,您認為在那個時候,人們會意識到使用它是一個壞主意。不幸的是,雖然SSL證書不再與MD5有任何關係,但在最近的黑客攻擊事件中洩露的數據庫確實表明一些在線服務提供商繼續使用古老的哈希函數。

但是,找出他們中有多少人這樣做是不可能的。通常,您不知道密碼是如何存儲的,雖然您可以隨時詢問每個網站運營商,但您不會得到所有這些密碼的回复。. 即使你這樣做,進行可能提供任何有意義數據的規模的調查也是不切實際的。

然而,來自希臘比雷埃夫斯大學的研究人員仍然很好奇,他們組織了一個實驗,可能只是給我們一些網站存儲我們密碼的數據。

今天的大多數網站都建立在開源內容管理系統(CMS)上 - 這些軟件可讓您通過相對易於使用的後端管理面板控制整個在線平台。甚至一些更加個性化的在線服務通常也基於Web應用程序框架 - 預先編寫的計算機代碼,作為網站其餘部分的基礎。

為了避免網站所有者選擇和實施密碼散列機制的麻煩,幾乎所有的CMS和一些應用程序框架都有自己的。希臘的eggheads想知道他們的設計是多麼好。結果並不完全令人鼓舞。

研究人員對49個流行的內容管理系統和47個Web應用程序框架進行了實驗,他們關註三個主要因素 - 哈希算法本身;散列機制是否採用多次迭代;密碼是否在被散列之前被醃製。

默認情況下,13個經過測試的CMS仍依賴MD5進行用戶密碼的散列,還有6個使用SHA1 - 另一個早已被宣佈為過時的功能。有點令人驚訝的是,據報導,據報導,全世界所有網站中佔三分之一的CMS都是依賴MD5的CMS之一。

還有更令人不安的數據。 WordPress可能會使用MD5,但至少它會在對它們進行哈希處理之前對其進行處理,並且哈希函數應用了8000多次,所有這些都使密碼破解者的工作變得更加困難。 18個測試的內容管理系統不使用迭代,7個不使用用戶的密碼。

在Web應用程序框架方面,事情並沒有根本的不同。只有1個測試框架使用MD5,但總共10個依賴弱哈希函數,6個不使用迭代。其中兩個框架不會限制用戶的密碼。

銀色襯裡

很容易讓毫無疑問令人失望的數字聳人聽聞,並說所有使用WordPress的網站都在不安全地存儲密碼。但這是錯誤的。

專家研究的目標是CMS的默認散列機制。每個開發人員都可以將其更改為依賴於更強大功能的不同開發人員。更重要的是,即使散列算法不那麼強大,鹽析和大量迭代仍應足以阻止大多數黑客進入他們的軌道。

該研究確實表明,許多CMS的散列機制並不像它們應該的那樣強大,支持和開發它們的社區應該考慮做20個測試系統已經做的事情 - 使用bcrypt作為默認算法保護人們的密碼。

如果您的易於猜測和廣泛重用的密碼落入壞人手中,那麼不完美的存儲實踐永遠不會成為藉口。因此,普通用戶的優先級應該不同。

July 16, 2019

發表評論