Evernote安全問題帶來的啟示
近日,對于SaaS來說最大的壞消息當(dāng)數(shù)Evernote(印象筆記)被黑客攻擊。該公司表示,他們發(fā)現(xiàn)有人試圖侵入公司系統(tǒng),讀取用戶名、電子郵件地址和經(jīng)過加密保護(hù)的用戶密碼。但是該公司在其官方網(wǎng)站發(fā)布公告,建議其用戶在下次登錄時(shí)選擇新的密碼,同時(shí)提供了關(guān)于用戶如何設(shè)置密碼的建議。修改密碼將影響所有的Evernote應(yīng)用。好消息是由于Evernote服務(wù)器并沒有存儲(chǔ)任何用戶支付信息,因此不會(huì)有支付信息泄露的情況。
Evernote官方表示,在攻擊過程中,攻擊者獲取了其用戶的用戶名、電子郵件和加密密碼等數(shù)據(jù)。但是在隨后的分析中,Evernote沒有發(fā)現(xiàn)任何證據(jù)表明用戶帳戶中的內(nèi)容在未經(jīng)授權(quán)的情況下被獲取。
及時(shí)升級認(rèn)證手段保障賬戶安全
與LinkedIn當(dāng)時(shí)被拖庫時(shí)只是采用了普通的MD5哈希相比,Evernote使用了加鹽的MD5。因此,在一定程度上加大了黑客暴力破解的難度。另外,Evernote的工程師計(jì)劃在今年晚些時(shí)候升級他們的安全系統(tǒng),將在安卓客戶端的Evernote應(yīng)用中移除密碼存儲(chǔ)機(jī)制。
為了確保安全性,Evernote匆匆推出了一個(gè)雙因子認(rèn)證身份驗(yàn)證系統(tǒng),以增強(qiáng)系統(tǒng)安全。在新推出的驗(yàn)證系統(tǒng)中,Evernote要求用戶在登陸后,通過接收SMS短信驗(yàn)證碼的方式,實(shí)行二步驗(yàn)證來保證用戶賬戶安全。Evernote這一舉措,與Dropbox網(wǎng)盤去年未受到攻擊后采用的升級措施一樣。雖然用戶可能會(huì)受到干擾,但相信二步驗(yàn)證這種方式,能給用戶的數(shù)據(jù)帶來更多的安全保證。
從2010年的600萬用戶,到今年的5000萬用戶,Evernote的用戶數(shù)呈幾何數(shù)增長。正所謂樹大招風(fēng),所以吸引了黑客的光顧。對于此次事件,用戶以及業(yè)界對于Evernote數(shù)據(jù)的安全性保護(hù)方法的關(guān)注也很高。甚至有很多人對于MD5的加密頗有微辭。當(dāng)然,也有人表示說Evernote做的已經(jīng)很好了,至少在MD5哈希的基礎(chǔ)上已經(jīng)做了加鹽處理。
然而,筆者認(rèn)為,Evernote之前的做法做到了安全與投入成本的平衡。并未因?yàn)樽非筮^高的安全性而做出很多無謂的安全設(shè)施投資。事實(shí)上,由于Evernote官方緊急推行了雙因子身份認(rèn)證,因此即使密碼被破解對于用戶而言也不會(huì)造成數(shù)據(jù)丟失。況且,官方也表示了目前還未發(fā)現(xiàn)非法的數(shù)據(jù)修改操作。也從側(cè)面反映出了Evernote此次的做法也是有效的。
存儲(chǔ)的加密方式優(yōu)于用戶強(qiáng)密碼
筆者看來,對于數(shù)據(jù)敏感的服務(wù)提供商來說,廣泛推行雙因子身份認(rèn)證是一個(gè)行之有效且經(jīng)濟(jì)實(shí)惠的方式。由于二次認(rèn)證的存在,用戶可以降低密碼的復(fù)雜度,對于用戶來說也是一種便利。因?yàn)椋坏┓?wù)提供商的數(shù)據(jù)庫未被加密亦或是簡單的MD5,復(fù)雜密碼的有效性依然值得商榷。
前面說過,有些人對于Evernote采用MD5加鹽的方式做為密碼存儲(chǔ)的方式持鄙夷態(tài)度。如果Evernote使用更為安全的加鹽HMAC、PBKDF2、SCrypt或者 BCrypt呢?
HMAC雖然是一種哈希運(yùn)算消息認(rèn)證碼,但是由于引入了密鑰作為運(yùn)算的因子,更像是加密算法,其安全性也已經(jīng)不完全依賴于所使用的哈希算法,安全性有保障。由于HMAC使用加鹽以及SHA系列算法,使得彩虹表的構(gòu)建成本以等比級數(shù)倍增。同樣,對于使用方的服務(wù)器負(fù)載需求也很高。
理論角度講,只要算法實(shí)現(xiàn)上沒有硬傷的情況下,PBKDF2、SCrypt或者 BCrypt是安全性比HMAC更高的加密方式。PBKDF2、BCrypt與SCrypt的共同點(diǎn)是算法中都有一個(gè)參數(shù),可以指明計(jì)算密碼摘要所需的計(jì)算強(qiáng)度。可以根據(jù)計(jì)算機(jī)性能的提升而修改計(jì)算強(qiáng)度,從而使彩虹表的構(gòu)建處于無法持續(xù)構(gòu)建,但是其對計(jì)算資源消耗的程度也相當(dāng)之高,足以使服務(wù)器自發(fā)產(chǎn)生“拒絕服務(wù)”。所以有人說,scrypt確實(shí)給暴力破解帶來了很大的難度,但是似乎幫了拒絕服務(wù)攻擊的人。
因此,對于企業(yè)網(wǎng)站來說,對于密碼存儲(chǔ)要量力而為,基礎(chǔ)資源有限的網(wǎng)站可以選擇加鹽的SHA系列加密算法,配合雙因子身份驗(yàn)證。而具備雄厚計(jì)算資源的網(wǎng)站而言,使用較強(qiáng)的加密算法保護(hù)密碼存儲(chǔ)的安全是才上選。





















