大部分密碼破解成功率達73% 你的密碼中招了嗎?

文章來源: - 新聞取自各大新聞媒體,新聞內容並不代表本網立場!
(被閱讀 次)

說起口令,其實大家並不陌生,從我們每天解鎖手機、登錄郵箱到網絡購物,都會涉及到口令。口令俗稱“密碼”,對應英文 Password,是當前最主要的身份認證方法。

8.54 億中文用戶占了世界上 20% 的互聯網用戶,比美國人口的兩倍還多。北京大學汪定博士以第一作者完成的一項研究發現,雖然中文用戶的密碼構造行為與英文用戶有很大差異,但世界各大知名網站對中英文用戶采取同樣的密碼保護措施,都沒有考慮中文用戶密碼的特點。

(來源:iStock)

汪定說,對於黑客而言,各大網站的密碼保護措施無異於皇帝的新衣。

今年 8 月,這項針對中英文網民密碼比較的研究發表在全球四大頂級信息安全學術會議之一的 USENIX (美國高等計算係統協會)Security 會議上。

中文網民常用密碼:生日和手機號

汪定團隊分析了 2009 年到 2012 年間由黑客曝光的 1.06 億個真實網絡密碼,其中包括 6 個中文服務器上的 7310 萬個密碼和 3 個英文服務器上的 3320 萬個密碼。值得注意的是,雖然這是 2012 年之前的數據,但多年來密碼係統進化很慢,其改變是很少的。

他們還比較了社交論壇、遊戲、電子商務網、程序員論壇以及雅虎英文國際用戶的密碼。研究發現,與英文互聯網用戶相比,中文互聯網用戶的確在密碼設置上有特點。

中文網民更喜歡用數字作為密碼,尤其是手機號和生日,英文網民則更喜歡用純粹字母作為密碼。據汪定此前研究,中文網民的密碼有 27% 到 45% 僅由數字構成,英文網民密碼僅由數字構成的低於 16%。

英文網民傾向於用某些單詞和短語,有 25.88%的網民會將 5 個字母以上的單詞作為密碼模塊,如 password(密碼)、letmein(讓我登錄)、sunshine(陽光)、princess(公主),當然也包括“abcdef”“abc123”以及“123456”。

研究還發現,16.99% 的中文網民熱衷在密碼中插入 6 個日期數字的模塊,這個數字更可能是生日。有 30.89% 的中文網民使用 4 個以上的日期數字,這個比例是英文網民的 3.59 倍。13.49% 的中文網民使用 4 位數的年份數據作為密碼模塊,是英文網民的 3.55 倍。

更有意思的是,如果一個中文用戶使用一長串數字做密碼,那麽這個密碼是 11 位手機號的概率是 66.74%。要知道,2.91% 中文網民使用 11 位手機號碼作為密碼模塊,而 4.36%的中文網民口令含有 11 位以上的數字,因此其概率為 2.91/4.36=66.74%。

類似地,如果知道一個中文用戶的密碼不低於 11 位,那麽這個密碼含有 11 位手機號的概率是 23.48%。要知道,2.91% 中文網民使用 11 位手機號碼構造密碼,同時有 12.39%的中文網民密碼長度不低於 11 位,因此其概率為 2.91/12.39=23.48%。

中文網民隻有 2.41%使用英文單詞作為密碼模塊,但他們更喜歡用拚音名字(11.50%),尤其是全名。

此外,愛情主題在中國網民口令中占很大地位,比如“woaini1314”“5201314”。

研究發現,一些基於英文字母的所謂“強”密碼可能在中文環境中很弱,比如“woaini1314”,這個密碼在穀歌、新浪微博等網絡平台均被評為強等級,然而中文網絡用戶很容易猜到這個密碼的含義。

再比如“brysjhhrhl”,大部分中文網民能猜到這是“白日依山盡,黃河入海流”的縮寫。這就讓從英文用戶視角解決密碼安全問題的思路出現偏差。

(來源:汪定)

據汪定 2016 年的研究,對於具體網站而言,以 126 郵箱為例,前 10 位密碼是123456,123456789,111111,password,000000,123123,12345678,5201314,18881888,1234567,這 10 個口令占據總數的 3.53%。

而中國鐵路 12306 網站的前十位口令是 123456,a123456,5201314,123456a,111111,woaini1314,123123,000000,qq123456,1qaz2wsx。這十位占 1.28%。

中文網民密碼在小猜測次數下更弱

根據密碼破解過程中是否需要連網,密碼猜測算法分為在線破解和離線破解。

在線破解需要連網,但不需要拿到網站服務器上存儲的密碼庫,攻擊者隻需要通過與服務器進行交互,針對目標帳號依次嚐試可能的密碼,直到猜測出密碼,或因嚐試次數過多被服務器阻止。因此,在線猜測一般也稱為小猜測次數下的攻擊。

離線破解不需要連網,但需要拿到網站服務器上存儲的密碼庫,針對目標帳號,在本地依次嚐試可能的密碼,直到猜測出密碼或因算力有限自動放棄猜測。因此,離線猜測不受猜測次數的限製,一般也稱為大猜測次數下的攻擊。

汪定團隊的研究顯示,中文網民的密碼在小猜測次數下(即在線猜測)更弱。

在基於概率的上下文無關文法 (PCFG)的攻擊實驗中,如果允許 100 次猜測,約 10% 的中文用戶口令會被破解,而僅有 3.5% 的英文用戶口令被破解;如果允許 1000 萬次猜測,32%的中文用戶口令會被破解,而至少有 43%的英文用戶口令被破解。

在基於馬爾科夫鏈(一種口令出現概率的計算模型)的攻擊實驗中,也觀測到了類似的情況。這一現象意味著,應針對中文用戶采取特別的密碼保護措施。比如,針對中文用戶定製密碼黑名單,設計專門針對中文用戶的密碼強度評測算法。遺憾的是,當前世界各大主流網站均沒有意識到這一點,對中英文用戶采用完全相同的密碼保護措施。

密碼更容易被定向破解

密碼,也就是信息安全學者口中的“口令”,屬於網絡安全係統中的密鑰範疇。更確切地說,密碼是密鑰類別中人類可記憶的短密鑰。

人類大腦隻能記住有限的 5-7 個密碼,可記憶的密碼要求盡量短、有規律、不複雜。然而密碼太簡單或具有共性,也就更容易被破解。要抗猜測的話,密碼則應盡量長、無規律、越複雜越好。

由於信息化社會的不斷推進,越來越多的服務開始聯網,用戶擁有幾十個甚至上百的密碼帳號。為了方便記憶,用戶不可避免地使用流行密碼,在不同網站重複使用同一個密碼,在密碼中嵌入個人相關信息,如姓名和生日。

2016 年,汪定通過對 442 位中文用戶的口令使用習慣調查發現,用戶在新網站注冊口令時,往往會重用(44.8%)現有口令,或者修改(32.6%)現有口令,隻有 14.5%的用戶會構造全新口令。很多人基於個人信息構造口令,其中包括姓名、生日、用戶名、Email 前綴、身份證號、電話號碼,甚至地名。

(來源:汪定)

比如 12306 網站密碼中,名字含有率為 22.35%,生日為 24.10%,賬號名為 23.60%,Email 前綴為 12.66%,用戶名 3.00%,手機號 2.73%。

僅以名字為例,12306 網站中,姓名全稱的占比 4.68%,姓氏有 11.15%,僅名字 6.49%,名字縮寫+姓氏為 13.64%。

這就給了黑客很大的破解密碼空間。根據破解過程中是否利用用戶個人信息,密碼猜測算法分為漫步破解和定向破解。前者不關心攻擊對象是誰,按照猜測排名依次類推;後者則盡可能利用個人信息,如姓名、生日、年齡、職業、學曆、性別,以及該網站的舊口令和其他網站泄露的密碼。

網絡上唾手可得的用戶個人信息,以及近年公開泄露的數以千計的口令文件,使定向破解越來越現實。僅 2019 上半年,就發生了數百起口令文件泄露事件。近年曾經發生過泄露事件的著名網站包括 Yahoo、Dropbox、LinkedIn、Adobe、小米、 CSDN 和天涯,等等。

依據汪定的解釋,傳統的漫步破解方式就像盜賊偷來一大串鑰匙,然後逐一進行開鎖嚐試,費時費力;新的定向破解方法相當於是盜賊對目標進行了調查了解後,給目標定製鑰匙來開鎖,也就是利用用戶個人特定的脆弱密碼行為來猜測密碼。

汪定帶領團隊開發了定向猜測方法。他們驗證了定向猜測方法的可行性。如果知道用戶的姓名和生日等常見個人信息,僅猜 100 次,成功率就可達 20%;如果還知道用戶在其它網站用過的密碼,成功率可以達到 73%以上。這項研究引起了美國國家身份認證標準中關於密碼安全部分的修改。

專訪汪定:如何設置你的密碼

口令安全研究是一個新領域,2017 年拿到北大博士學位的汪定是中國口令安全領域的第一位博士。據他近 10 年的研究和了解,當前口令安全研究仍處於非常初級的階段,很多看似簡單的問題實則因涉及到多學科交叉知識,變得難以入手。這也合理地解釋了,為什麽當前一提起密碼,人人似乎都遇到了很多問題,但又沒有可供使用的較完善解決手段。

幸運的是,這一領域逐漸受到越來越多的重視,吸引了越來越多的研究力量。自 2009 年社交網站 Rockyou 泄露 3200 萬用戶帳號信息以來,數以千計的網站發生了口令文件泄露事件。這一方麵引起了人們對口令安全問題的高度關注,同時也為口令安全研究提供了原始素材——密碼集。一旦口令文件被黑客獲得,往往會離線猜測出泄露文件中 80%以上口令帳戶,導致用戶的隱私、聲譽和財務受到損失。

需要指出的是,即使網站采用了強健的 Hash 函數(一種從任何一種數據中創建小的數字“指紋”的方法)並加鹽(在散列中加入字符串)運算後存儲,也隻是一定程度上延緩了黑客破解口令的速度,並不能有效消除離線猜測的威脅。

汪定的博士題目是《口令安全關鍵問題研究》,導師是北大王平教授。汪定非常熱愛這一研究領域,一談密碼(他口中的“口令”),眼神裏便閃爍著光彩。“口令安全領域有太多需要研究的問題,尤其是缺乏一套口令安全理論體係。”

為攻克這些既有理論價值,又有現實意義的難題,汪定常常放棄周末和節假日。在導師支持下,他帶領的口令安全研究團隊每周六舉行討論班,7 年來風雨無阻。“我們周末也要忙碌,趕 deadline(最後期限)熬夜寫 paper(論文)、做研究,這麽努力的一個原因是我們身在口令安全這一重要的領域,裏程碑式貢獻如果都是由歐美學者完成,這是多麽可惜的一件事。中國學者需要發出聲音。”

一位著名密碼學專家在看到他的博士論文後評價說,“一看這個論文,就知道你沒有周末”。

他的付出也得到了回報,僅僅這篇博士論文就獲得了北京大學優秀博士論文獎、中國計算機學會優秀博士論文獎、ACM SIGSAC 中國優秀博士論文獎、 ACM 中國優秀博士論文獎等多個獎勵。博士畢業後,汪定留在北大進行博士後研究(合作導師是中科院院士黃如),繼續深耕口令安全,取得了包括前文介紹的 Usenix Security 論文在內的數項成果。

這位 1985 年 12 月出生的青年學者雖然沒有出國留學經曆,但鑒於研究出色,他在今年博士後出站後要迎來另一個身份:南開大學網絡空間安全學院教授。

圖 | 汪定為 DeepTech 編輯講解口令和密碼的關係。(來源:孫滔)

DeepTech:我很好奇的是,你們的工作與黑客的工作有什麽區別?

汪定:首先是動機不同。黑客是從獲利的角度,我們是從防禦的角度希望更好保護用戶、保護網站。另外方法和手段不同,我們主要是采用科學的方法,比較偏理論性的方法,我們追求的是邏輯的嚴密和方法的科學,甚至是成一套理論體係,而黑客關注的是攻擊效果和收益,不關注方法是否成科學體係,各種方法他都可以去嚐試。

另外,我們的研究結果出來之後,確實會給黑客們提供一些改進的手段。

應當說,我們有一定的交集,但實際上交集並不大。我們是研究底層的那些安全理論與機製,在我們得出比較科學的理論之後,才能夠輔助網站去設置更好的口令保護策略。

網站現有的這些口令保護策略,可以說是“皇帝的新衣”,這也是我們在 2015 年歐洲計算機安全年會上發表過一篇論文的題目:The Emperor's New Password Creation Policies(密碼生成策略:皇帝的新衣)。

目前的很多口令安全保護策略是延續上世紀 80 年代、90 年代美國的做法,這些做法迄今為止很少有所變化。一些網站要求用戶設置口令長度必須大於多少,必須包含大小寫字母和數字,定期強製用戶修改口令,其實這些沒有嚴密的理論和係統性實驗的支撐。

我們近期調研了 120 個世界各行業主流網站,它們的口令保護措施非常原始、混亂,包括蘋果、微軟、雅虎這些大公司,其它也都差不多如此。表麵原因是,學術界不知道怎麽辦,業界也不知道怎麽辦;根本原因是,學術界研究不足,一些基礎性問題沒有根本解決。

DeepTech:對於普通網民,我們應當如何設置密碼?你有哪些建議?

汪定:這是一個非常現實的問題。目前關於這個問題的回答五花八門,根據我們對最新研究進展的了解,基本上可以給出兩條比較可行的建議:第一個是對帳戶分級分類,第二個是密碼越長越好。

分級分類的意思是,人類的認知能力有限,我們保護賬號的精力也是有限的,那麽我們把帳號根據重要程度分級,將重要的賬戶進行重點的保護,那些不怎麽重要的賬號就可以用簡單的密碼設置,同類帳戶可以密碼重用。

越長越好的意思是,在符合網站要求的前提下,盡量設置長的密碼。這裏不對字符類型有要求,那樣會增加用戶的記憶難度,並且對提高安全性來講效果並不好,也就是說口令長度要比口令的複雜度更重要。

如果要補充的話,就是不能使用個人信息做密碼。另外,每過多少天就更換密碼的策略不實用,因為現在人們大都有數十個賬號,沒有那麽多精力來管理。

DeepTech:這似乎很簡單,並沒有特殊的招數?

汪定:能做到上麵兩條已經不容易了。如果有餘力的話,用戶可以使用自己的容易記憶的特殊經曆,可以加一些自己的特殊元素。

DeepTech:在線猜測是如何破解具體某人密碼的,難解的密碼可能會需要多久?

汪定:對於指定攻擊目標的這種攻擊屬於定向攻擊。從公開研究的角度來講,目前我們的TarGuess 算法框架是先進的。

根據用戶泄露的個人信息類別的不同,來相應地選擇攻擊算法,比如說拿到用戶的姓名、生日之類可以直接構成口令的信息,那麽可以采用相應的 TarGuess-I 攻擊方法。如果拿到用戶在其他網站的口令,來攻擊另一個網站的口令,這時候又是一種方法 TarGuess-II 。如果攻擊者把這兩種信息都拿到了,他會選擇第三種攻擊方法 TarGuess-III 。

根據得到的不同信息,黑客可以有相應的不同的方法,我們設計了包含了 7 種常見攻擊場景的 7 個算法,即 TarGuess I~VII。我們這個 TarGuess 算法框架發表 3 年來,我們又在嚐試新的猜測算法,已初步取得了不錯的結果。

對於黑客來說,現在市麵上有很多公開的破解工具。他們肯定會先嚐試這些簡單的方法,如果破解失敗他才會使用學術界的方法,因為學術界的方法對於他們而言有一定的門檻。

我們考慮了 3 種最主要的用戶口令的脆弱行為。第一個是使用流行口令,第二個是用戶在口令當中包含個人信息,第三個是用戶重複使用口令。如果說這三種行為都拿來利用的話,我們的成功率在 73% 左右;如果僅僅知道用戶的姓名、生日等個人信息,成功率是 20%;如果知道這個用戶在其他網站的口令,成功率可高達 70%。

DeepTech:你說的暴力破解是指的拿到網站口令文件庫來破解,對吧?

汪定:暴力破解一般是指拿到網站口令文件庫,然後在本地破解。因為往往網站存儲的不是明文,有可能是采用了 Hash 函數並加鹽運算後存儲,需要把它恢複出來,那就需要反向的破解,包括基於猜測字典的破解和暴力破解。後者一般不關注破解效率,適用於算力強大的攻擊者。

根據我們的經驗,一台普通的 PC 機加上 GPU,對於百萬量級的口令文件庫,如果使用傳統加鹽哈希(如SHA-1, MD5),沒有使用慢哈希(如PBKDF2, Scrypt)的話,一兩星期可以恢複 90% 以上。

DeepTech:是不是計算速度越快就會破解越快?

汪定:是的。這跟計算機速度有很大的關係,這個硬件速度的提升對攻擊者更有利。

DeepTech:如果發生大規模泄露事件,會有哪些可能的補救措施?

汪定:目前絕大部分網站都把保護口令帳戶的責任推給用戶,要讓用戶生成所謂的強口令,如果帳戶出現安全問題,那是因為用戶自己的口令強度不夠。而現在學術界的共識是,應讓網站承擔更多的責任,網站可以把用戶的口令保護得更好,做到別讓口令文件泄漏,即使泄露了也能及時發現,並且通過使用慢哈希(如 Scrypt,Argon2),讓黑客也很難將明文口令恢複出來。

現在就是慢哈希函數並加鹽的基本思路,即使黑客拿到了口令文件口令數據庫,他恢複出來口令會很慢,或者耗費大量的內存,導致攻擊成本非常高。

DeepTech:國家還沒有這方麵的政策要求嗎?

汪定:現在沒有這麽一個明確具體的針對口令帳戶的政策,隻是說現在學術界逐漸形成一個共識,網站應當來承擔責任,這樣有利於維持一個健康的口令安全生態。從保護個人信息這一宏觀角度來看, 2018 年 5 月 1 日,國家標準《個人信息安全規範》已正式實施,對個人信息的收集、保存、使用及泄露事件處理進行了原則性的規範。

DeepTech:指紋識別、麵部識別會不會是一種選擇呢?加了這些防範措施,是不是更安全呢?

汪定:在可預見的未來,口令仍將是最主要的身份認證方法。在口令基礎之上防範的方法隻是錦上添花。因為指紋可以複製且不可更改,基於深度學習的換臉軟件又能繞過麵部 3D 識別,那麽隻有口令在我們大腦當中誰也輕易拿不走,至少目前口令的腦電波還不能無線遠距離破譯。

DeepTech:區塊鏈技術與口令安全有關係嗎?

汪定:有密切的關係。因為任何一個係統,隻要與人打交道,就得進行身份認證,這是第一道防線。

口令是最主要的身份認證方法。區塊鏈它也是個信息係統,也需要做身份認證的。比如比特幣,是區塊鏈最著名的應用,經常看到新聞裏說某某比特幣交易所的口令文件被黑客竊取了,丟失巨額資金。很多比特幣用戶的腦錢包私鑰,就是口令,口令被猜測出來,該私鑰對應地址上的比特幣就會被竊取。

DeepTech:那麽一些涉密機構以及涉密數據有更好的口令安全措施嗎?

汪定:不難理解,強力部門往往有更多的資金和技術來執行口令保護措施,但目前是否存在非常完善的口令安全措施,答案大概率應當是否定的。比如說希拉裏郵箱密碼被破解出來了,導致了機密郵件被泄露。其實很多名人政要的密碼也是很容易被猜測出來,甚至弱得超乎你的想象。

無論什麽機密,隻要是涉及人,特別容易出錯,尤其是在當前口令安全理論體係還沒有建立、很多基礎性問題沒有解決的情況下。

DeepTech:口令安全研究更遠的前景是怎樣的?

汪定:希望口令這個生態係統能夠穩健地運轉起來,而不是目前這樣盲目、無序和混亂。它可能不是 perfect(完美)的,但是建立了基本理論體係,它就能夠穩健運轉,就像今天我們使用的操作係統。