2年前逆向出約炮網(wǎng)站 Ashley Madison 1100萬被泄加密口令明文的匿名破解組織CynoSure Prime又開干了,這次,他們解出了澳大利亞研究員特洛伊·亨特放出的3.2億散列口令。
與上周的口令大放送相比,CynoSure Prime之前的所作所為都相形見絀了。
因設(shè)立在線賬戶安全檢測網(wǎng)站HaveIBeenPwned而聞名的亨特,放出這些加密口令的目的,是想通過讓網(wǎng)站查找并拒絕常見口令,迫使堅持重復(fù)使用口令的人放棄這個習(xí)慣。該挑戰(zhàn)被CynoSure Prime、德國IT安全博士生@m33x,及信息安全專家羅伊斯·威廉姆斯(@tychotithonus)接下了。
亨特放出的口令數(shù)據(jù)庫源自各個不同泄露事件,因而里面出現(xiàn)了很多散列加密算法(共有15個),但其中大多數(shù)都使用SHA-1。該算法在前段時間就已被派發(fā)了死亡通知單,今年2月科學(xué)家們演示了實際的SHA-1碰撞后,其取締就在所難免。
另一個問題在于其脆弱性:散列被用于保護口令,是因為其應(yīng)該是不可逆的:p455w0rd經(jīng)散列后就成了b4341ce88a4943631b9573d9e0e5b28991de945d,該散列值存儲在數(shù)據(jù)庫中,本應(yīng)不可能從散列值得到口令明文。
在用的15種不同散列是用MDXfind工具發(fā)現(xiàn)的。
過程中還發(fā)現(xiàn),有些人在散列中存儲的不僅僅是口令。比如說,還有“郵箱 口令”組合和其他各種個人可識別信息,CyptoSure Prime稱亨特本無意發(fā)布的東西。
亨特稱,CyptoSure Prime的人做了些“相當干凈”的工作,他們非常配合。
他承認,涉及的數(shù)據(jù)泄露帶有“一些垃圾”,因為原擁有者在解析上犯了錯誤,本應(yīng)只有口令的被泄用戶列表把用戶名也包含了進去。
亨特稱,他的發(fā)布中包含了一些不應(yīng)含有的東西,這些數(shù)據(jù)集是在“任何人都可以在幾分鐘的搜索之后就下載的2份文件中”。他正在與CynoSure Prime合作,努力清潔數(shù)據(jù),將這些內(nèi)容從托管在HaveIBeenPwned上的散列列表中清除掉。
說到逆向散列值,該發(fā)布展示了現(xiàn)有工具在這方面的強大能力:在4核英特爾Core i7-6700k系統(tǒng)上運行MDXfind和Hashcat,在4塊GeForce GTX 1080 GPU和64GB內(nèi)存加持下,所有SHA-1散列值中只有116個沒被研究人員恢復(fù)出來。
HaveIBeenPwned(HIBP)發(fā)布中包含的大多數(shù)口令,都在7-10個字符長。
在HaveIBeenPwned上放出的3.2億口令的長度分布
在HaveIBeenPwned上放出的3.2億口令的字符集分布
補充說明:
CynoSure Prime的弗雷德·王對最初的報道做了補充和更正。首先,文中提到的英特爾系統(tǒng)只是個測試系統(tǒng);實際的散列破解使用了數(shù)十臺機器。“文中提到的具體系統(tǒng),被用作交叉驗證的一部分,是我們的研究工作中通常會做的一部分。”
雖然CynoSure的帖子中提到使用MDXfind發(fā)現(xiàn)了15種散列算法,王稱,整個發(fā)布中還有很多其他的算法被找到。
CynoSure Prime表達了關(guān)于亨特這次數(shù)據(jù)發(fā)布的其他顧慮,尤其是他的解析錯誤造成個人信息出現(xiàn)在HaveIBeenPwned上發(fā)布的散列數(shù)據(jù)庫中。
亨特承認這事某種程度上會發(fā)生:“這不是一組帶有分號和口令的干凈地址。我們可能會發(fā)現(xiàn)其中99%都還好,而一些子集就不太妙。”
無論如何,有部分明文數(shù)據(jù)被放了出來。
因為該行動的整個目的是為了促使各類組織不要使用不良口令,他歡迎在數(shù)據(jù)集里輸入“垃圾”,以便能夠改善。