4
雷鋒網(wǎng)按:康奈爾、MIT和Dropbox的研究人員在最近的IEEE安全隱私研討會上發(fā)表論文,文章指出在不危及安全的情況下自動更正密碼能顯著增強(qiáng)可用性,主要是為了避免密碼多種字符組成造成遺忘的麻煩。然而,雷鋒網(wǎng)擔(dān)心的是,自動更正密碼就意味著陌生人也有可能登錄你的賬號,那么,該如何平衡效率與安全?雷鋒網(wǎng)特約專欄作者——上海交通大學(xué)計算機(jī)系密碼與計算機(jī)安全實驗室(LoCCS)軟件安全小組(GoSSIP),將在文章中告訴你答案。
某天小明正在開心地瀏覽他最愛的網(wǎng)站,突然間一個一言不合網(wǎng)站竟丟了個登陸框出來。小明一邊內(nèi)心極度不情愿,一邊無比熟練地輸入密碼敲下回車,然而一低頭卻發(fā)現(xiàn)鍵盤上的大寫鎖定開著。正當(dāng)內(nèi)心抱怨又要重敲一遍的時候,小明吃驚地發(fā)現(xiàn),自己居然登陸成功了。
在反復(fù)打開、關(guān)閉大寫鎖定重復(fù)登陸了幾次,并確定大寫鎖定鍵沒有壞后,小明發(fā)現(xiàn)兩個密碼都是可以登陸的。這太奇怪了,小明不禁要問,錯誤的密碼都可以登陸,那別人用其他密碼也能登陸我的賬戶嗎?我還能在這個網(wǎng)站上放心地玩耍么?
其實,網(wǎng)站只是啟用了打字錯誤糾正(typo correction)功能,除了大寫鎖定造成的大小寫反轉(zhuǎn)(Password -> pASSWORD)外,還可以處理首字母大小寫錯誤(Password -> password)和尾部多余字符(Password -> Password`)問題, 這種機(jī)制極大地增加了合法用戶登陸的成功率,網(wǎng)站的可用性(usability)大有改善。
然而,大部分的現(xiàn)實應(yīng)用都存在安全性與可用性之間的權(quán)衡,兩者此消彼長。因此,在可用性提高的同時,隨之而來的安全風(fēng)險有哪些,我們的賬號被陌生人登入的可能性有多大,這些問題都值得關(guān)注。
來自康奈爾大學(xué)的研究人員在發(fā)表于2016年學(xué)術(shù)界頂級安全研究會議S&P上的“pASSWORD tYPOS and How to Correct Them Securely”一文中,對這些問題給予了解答。
具體來說,這篇文章主要回答了下面三個問題:
在敲入密碼時,什么樣的typo最常出現(xiàn),根據(jù)帕累托法則(也叫二八定律),自動糾正最常出現(xiàn)的typo類型即可對可用性有很大影響;
typo correction對可用性的影響究竟如何;
typo correction對于安全性的影響如何?
為回答第一個問題,研究人員在Amazon Mechanical Turk上發(fā)起了一個密碼轉(zhuǎn)錄實驗。
這里額外介紹下Amazon Mechanical Turk,它是一個線上“勞動力”市場,網(wǎng)站自己的介紹是人工的人工智能(Artificial Artificial Intelligence),任何人都可以在上面發(fā)布人力智能任務(wù)(HIT, Human Intelligence Tasks,比如識別并錄入一張超市小票中所有的條目名稱和價格)并提供報價,其他人則可以在其上完成這些任務(wù)并獲得相應(yīng)報酬。
(截圖來自Amazon)
這個密碼轉(zhuǎn)錄實驗就是請實驗者敲入圖片中的密碼,最后有4300人參與,輸入了10w多密碼。統(tǒng)計結(jié)果發(fā)現(xiàn),排名前三的typo分別是大寫鎖定(11%)、首字母翻轉(zhuǎn)(4.5%)和在末尾添加字符“.”(4.6%),共占到了所有typo的20%。因此,文章接下來選擇這三種typo類型加入到typo correction機(jī)制進(jìn)行研究。
關(guān)于引入錯誤糾正機(jī)制對實際可用性的影響,研究人員通過發(fā)布一個特殊版本的Dropbox版本,記錄用戶輸入的密碼并觀察是否登錄成功,發(fā)現(xiàn)有3%的用戶是由于上面提到的三種typo導(dǎo)致登陸失敗。而在輸入密碼錯誤的用戶中,如果三種typo可以自動糾正,則會有20%的用戶可以節(jié)省至少1分鐘的時間。可以看出引入錯誤容忍機(jī)制,對于可用性的提高是有顯著影響的。
最后,回到typo容忍機(jī)制對于安全性的影響。
對于基于密碼的認(rèn)證系統(tǒng)來說,切實的威脅主要來自兩個方面。
第一是服務(wù)器被黑,攻擊者可以拿到存在服務(wù)器上的認(rèn)證信息,這些信息通常是真實密碼經(jīng)加鹽慢哈希后的結(jié)果(比如對應(yīng)于PasswoRd這個密碼,服務(wù)器上可能存儲的就是將其拼接一個16字節(jié)隨機(jī)數(shù)據(jù)后進(jìn)行10000次MD5后的結(jié)果),而不會存儲變換后密碼對應(yīng)的哈希結(jié)果。在這種情況下,是否引入typo容忍機(jī)制對于攻擊者來說其實并無差別,因此對安全性也并無影響。
第二種威脅是遠(yuǎn)程猜測,攻擊者可以不斷嘗試不同的密碼直到登陸成功為止,不過實際中網(wǎng)站都會設(shè)定一個安全次數(shù),在攻擊者嘗試錯誤密碼一定次數(shù)(q)后賬戶就會被鎖定。但在這種條件下,引入錯誤容忍機(jī)制的確會給攻擊者帶來優(yōu)勢。原本攻擊者發(fā)起1次登陸請求只能驗證1個密碼是否正確,而錯誤容忍機(jī)制的存在使得攻擊者可以一次排除4個不正確的密碼,那么攻擊者的成功率是否就因此而增加了300%呢?
其實不然,因為用戶選擇的密碼并不是均勻分布的,用戶對密碼選擇的偏向性導(dǎo)致某些字符串是正確密碼的概率遠(yuǎn)大于其他字符串。因此,為了弄清對安全性的實際影響究竟如何,研究人員又做了模擬實驗,實驗中假定攻擊者知道密碼的分布情況,并且采取優(yōu)先選擇最可能密碼的策略。
結(jié)果表明,攻擊者分別進(jìn)行10次嘗試,登入某個隨機(jī)選擇的用戶賬戶的成功率在啟用了錯誤容忍機(jī)制后從0.79%增加到了0.96%。而在進(jìn)一步限制容忍策略后(比如若變換后的密碼出現(xiàn)的概率較高,則不進(jìn)行此種變換),成功率更是只從0.79%增加到0.81%,相較于可用性方面帶來的提升,這可以忽略不計。
因此,在實際中,實現(xiàn)一個不影響安全性的容忍typo的密碼檢查方案是可行的。目前,作者仍在繼續(xù)研究其他可能的typo correction方案,以安全地更正其他類型的typo。所以如果有一天我們真的遇到像小明那樣的情況,不必?fù)?dān)心,只管盡情享受這個變動帶來的便捷吧。
雷鋒網(wǎng)注:本文為雷鋒網(wǎng)獨家約稿,轉(zhuǎn)載請聯(lián)系授權(quán)并標(biāo)注出處和作者,不得刪減內(nèi)容。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。