即使網易被拖庫,MD5 的數據(密碼和密保)是否也會被輕易破解?

1、目前發現4、5個帳號都安全 2、這裡只討論md5數據的破解成本(在密碼大於6位並且混合了數字和中英文) 3、網易前員工,然而並非五毛


如果網站不強制密碼必須有一定強度,多數用戶都會選擇使用弱密碼,也就是在攻擊者彩虹表裡的那些密碼。這樣的五千萬條md5密碼對攻擊者來說大約等於四千萬條明文密碼。


題主問MD5的破解成本,那你可以看一下這個,當我還是學生的時候需求量不大,買的這

md5解密,md5在線查詢,md5 crack online-充值/charge

當然了,黑客大多是自己做彩虹表的,邊際成本更低,這個只是做得特別大且公開而已

(哦,看到@天諭截圖就是來自這裡)

我再次強調一點:十多年前人們就發現MD5是皇帝的新衣

當你想對一個數據採用單向散列演算法處理時,請使用SHA-512/256或至少其他SHA-2系列的哈希演算法

當你要存儲用戶的密碼時,請使用scrypt或bcrypt或PBKDF2,請不要直接SHA-2,請務必不自己設計加密演算法

至於前面有人點名SHA-2 + salt藥丸,我不知道為什麼,隨機salt還是OK的

題主是網易前員工,我希望並不說明題主核實過網易是md5存儲的,如果是,那才真的藥丸


彩虹表

加鹽也是有彩虹表的

MD5 藥丸,MD5 + Salt 也藥丸,SHA256 + Salt 也藥丸

這些 Hash 摘要演算法的速度太快了,配合 GPU 出彩虹表一大堆一大堆的

所以要用 PBKDF2/bcrypt 這種,讓 Hash 演算法夠慢

Speed Hashing

https://crackstation.net/hashing-security.htm


見我的文章:即使被拖庫,也可以保證密碼不泄露


補充一下you conquer的回答。

首先使用鹽的話明顯彩虹表就派不上用場了,除非你所有用戶都用同一個鹽(怎麼可能,那沒意義……)。

其次,you conquer給的參考文獻里提到的破解sha256的方法並不是用彩虹表,而是直接用GPU在線暴力破解。這種情況下即使你加了鹽,攻擊者仍然可以枚舉八位字元concat上鹽(明文,且很大可能是跟hash後的密碼存在同一個地方,很難想像攻擊者獲得了hash後的密碼而沒獲得鹽的情況)後hash,由於sha256本身計算很快,GPU上暴力破解一個8位密碼+鹽只需要3到4天(據我查的資料),所以如果你被攻擊者盯上了(APT?),光使用一個8位密碼+鹽還是很不安全的。但是如果攻擊者想要一次性破解大量用戶密碼(比如脫了某網站的褲,想獲得所有人明文密碼)就比較困難了,加了鹽後並沒有現成的彩虹表可查,而在線暴力破解一個就得數天,2億人得破解到哪天。

所以防定向破解(APT?)要用PBKDF2這種慢的,防止被在線破解;當然從對所有用戶負責的角度來說,即使是B2C的web application能用PBKDF2是最好的了。

一些自己的理解,如有謬誤歡迎交流。


單純的一次md5 基本就是明文 用之前泄露的密碼做字典 拿著顯卡來碰撞 估計至少90%都跑的出來 時間也就不到半天

所以說為了安全 最好還是多次md5+salt 或者移位md5 當然保存好salt很重要


每個密碼都拿賬號和密碼做運算後再md5。


現在網上流傳有一份100條郵箱的樣本。

從中隨機選取一條來做實驗

扔到一個md5在線破解網站中

秒出結果,密碼長度10位,混合英文字母以及數字。

我就舉個例子,詳細原理樓上幾位大牛已經講得很清楚了。

所以成本什麼的。。真心不高。。

#別問我,沒褲子。


看到這麼多碼農說,用md5啊,加個salt就好了啊,自創一個hash演算法啊,以及各種山寨創意。我就懂了為啥這種事情層出不窮了,碼農們都是這個水平,應用到工程中就是這個結果了。

即便不懂密碼學(比如我),要是有一點點想法,去google一下how to store user password securely, 第一條就全講明白了(百度也可以 如何安全的存儲用戶的密碼(1))。不理解一個腦子正常,會用搜索引擎的碼農,怎麼樣才能搞出這麼弱的方案。

https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/


我來歪個樓,樓上說的對嗎?對。

但是真的是過分誇大md5的弱點,過分強調彩虹表的作用了。讓他們一說md5就是一坨翔,彩虹表包羅所有。

只要密碼強度夠強(12位以上),只要是非常見的(無規律性),只要是之前未泄露過明文的(可能被md5後 加入彩虹表),就是你告訴black hat們md5,他也束手無策。

你自己就是一個很好的例子。他們不會漫無目的地豪無成本地計算每一個md5.


新的系統都會採用單個密碼加單個隨機鹽的方式,這種方式單個賬號的破解還好,多的話每個密碼都要生產對應的彩虹表,需要大量的時間和運算存儲資源,不具備大量操作的可行性(簡單密碼怎麼都容易破解的,應該在註冊的時候提醒用戶,不在討論範圍內)。

網易郵箱是比較老的系統了,那個時候密碼用md5散列過都可以算良心企業了(csdn都是直接明文存的)。考慮兼容性,後面應該也還是用了md5,如果沒有特殊的安全設計的話,是很不安全的。

md5破解方法歸根結底還是密碼錶碰撞法,只要自己的密碼夠長夠複雜不在黑客的密碼錶裡面,那麼個人安全就有一定的保障了。檢測自己密碼強度,可以把自己的密碼散列之後看md5逆向的網站的資料庫里是否存在,不存在就比較安全了。


看了好多回答,感覺國內這些互聯網公司真是藥丸。各種MD5演算法套個殼子之類。你們敢公開密碼存儲演算法嗎?公開以後你們還敢說被拖庫了有任何的安全性?MD5這個演算法本身已經被證明是不安全的了,為了用戶好請不要再使用了。目前我個人站點的密碼存儲是使用的加鹽bcrypt演算法進行存儲,至少目前來看是不存在被暴力破解的可能性的


你要是知道有http://cmd5.com這麼個網站,你就不會問這樣的問題了


當然了 有cmd5.la這類網站,解密分分鐘的事。


混合了前後綴只能在知道前後綴的情況下暴力破解了,當然CPU肯定不是最佳方案。彩虹表以及在線解密網站 http://www.cmd5.com 或者http://www.ttmd5.com 也是用不了的。


如果回頭,新聞評論被禁,或者競爭對手獲得大量郵箱客戶,那就是有人在搞鬼,話說網易的被破,其他的網站是不是也要改密碼,肯定有人想搞網易


網易沒給MD5加隨機鹽么?


要我說自己做個hash算了,自己修改下md5的實現


網易怎麼可能被拖庫,網上是不是瘋了,什麼上億數據泄漏。開玩笑呢?網易在安全方面做的不比bat差多少,在bat待過的同學你們覺得網易會泄漏上億這麼核心的數據?

再來回答樓主的問題,如果網易被拖庫,拿到的數據都不會是明文,就連電話號郵箱都是加過密的。更別說密碼,如果用md5做過散列,加過salt,想破解基本不可能。


推薦閱讀:

獨自乘機出行的乘客若遇突發緊急病情,怎樣做可以最小化傷害?
吃鯡魚罐頭是怎樣一種體驗?
如何通過網路安全傳輸文件?
為什麼不在補辦身份證時換新頭像並同步到資料庫以使得舊身份證失效?
如何看待馬路上撞死動物的問題?

TAG:網路安全 | 安全 | 加密 | 密碼 | MD5 |