孫滔
說起口令,其實大家并不陌生,從我們每天解鎖手機、登錄郵箱到網(wǎng)絡(luò)購物,都會涉及到口令??诹钏追Q“密碼”,對應(yīng)英文Password,是當(dāng)前最主要的身份認(rèn)證方法。
8.54億中文用戶占了世界上20%的互聯(lián)網(wǎng)用戶,比美國人口的兩倍還多。北京大學(xué)汪定博士以第一作者完成的一項研究發(fā)現(xiàn),雖然中文用戶的密碼構(gòu)造行為與英文用戶有很大差異,但世界各大知名網(wǎng)站對中英文用戶采取同樣的密碼保護(hù)措施,都沒有考慮中文用戶密碼的特點。汪定說,對于黑客而言,各大網(wǎng)站的密碼保護(hù)措施無異于皇帝的新衣。
今年8月,這項針對中英文網(wǎng)民密碼比較的研究發(fā)表在全球四大頂級信息安全學(xué)術(shù)會議之一的USENIX(美國高等計算系統(tǒng)協(xié)會)Security會議上。
汪定團(tuán)隊分析了2009年-2012年間由黑客曝光的1.06億個真實網(wǎng)絡(luò)密碼,其中包括6個中文服務(wù)器上的7310萬個密碼和3個英文服務(wù)器上的3320萬個密碼。值得注意的是,雖然這是2012年之前的數(shù)據(jù),但多年來密碼系統(tǒng)進(jìn)化很慢,其改變是很少的。
他們還比較了社交論壇、游戲、電子商務(wù)網(wǎng)、程序員論壇以及雅虎英文國際用戶的密碼。研究發(fā)現(xiàn),與英文互聯(lián)網(wǎng)用戶相比,中文互聯(lián)網(wǎng)用戶的確在密碼設(shè)置上有特點。
中文網(wǎng)民更喜歡用數(shù)字作為密碼,尤其是手機號和生日,英文網(wǎng)民則更喜歡用純粹字母作為密碼。據(jù)汪定此前研究,中文網(wǎng)民的密碼有27%到45%僅由數(shù)字構(gòu)成,英文網(wǎng)民密碼僅由數(shù)字構(gòu)成的低于16%。
英文網(wǎng)民傾向于用某些單詞和短語,有25.88%的網(wǎng)民會將5個字母以上的單詞作為密碼模塊,如password(密碼)、letmein(讓我登錄)、sunshine(陽光)、princess(公主),當(dāng)然也包括“abcdef”“abcl23”以及“123456”。
研究還發(fā)現(xiàn),16.99%的中文網(wǎng)民熱衷在密碼中插入6個日期數(shù)字的模塊,這個數(shù)字更可能是生日。有30.89%的中文網(wǎng)民使用4個以上的日期數(shù)字,這個比例是英文網(wǎng)民的3.59倍。13.49%的中文網(wǎng)民使用4位數(shù)的年份數(shù)據(jù)作為密碼模塊,是英文網(wǎng)民的3.55倍。更有意思的是,如果一個中文用戶使用一長串?dāng)?shù)字做密碼,那么這個密碼是11位手機號的概率是66.74%。要知道,2.91%中文網(wǎng)民使用11位手機號碼作為密碼模塊,而4.36%的中文網(wǎng)民口令含有11位以上的數(shù)字,因此其概率為2.91/4.36=66.74%。類似地,如果知道一個中文用戶的密碼不低于11位,那么這個密碼含有11位手機號的概率是23.48%。要知道,2.91%中文網(wǎng)民使用11位手機號碼構(gòu)造密碼,同時有12.39%的中文網(wǎng)民密碼長度不低于11位,因此其概率為2.91/12.39=23.48%。中文網(wǎng)民只有2.41%使用英文單詞作為密碼模塊,但他們更喜歡用拼音名字(11.50%),尤其是全名。此外,愛情主題在中國網(wǎng)民口令中占很大地位,比如“woainil314”“5201314”。
研究發(fā)現(xiàn),一些基于英文字母的所謂“強”密碼可能在中文環(huán)境中很弱,比如“woainil314”,這個密碼在谷歌、新浪微博等網(wǎng)絡(luò)平臺均被評為強等級,然而中文網(wǎng)絡(luò)用戶很容易猜到這個密碼的含義。再比如“brysjhhrhl”,大部分中文網(wǎng)民能猜到這是“白曰依山盡,黃河入海流”的縮寫。這就讓從英文用戶視角解決密碼安全問題的思路出現(xiàn)偏差。
據(jù)汪定2016年的研究,對于具體網(wǎng)站而言,以126郵箱為例,前10位密碼是123456,123456789,111111,password,UUUUUU,123123,123456/8,5201314,18881888,1234567,這10個口令占據(jù)總數(shù)的3.53%。而中國鐵路12306網(wǎng)站的前10位口令是123456,a123456,5201314,123456a,111111,woainil314,123123,000000,qql23456,lqaz2wsx。這10位占1.28%。
根據(jù)密碼破解過程中是否需要連網(wǎng),密碼猜測算法分為在線破解和離線破解。在線破解需要連網(wǎng),但不需要拿到網(wǎng)站服務(wù)器上存儲的密碼庫,攻擊者只需要通過與服務(wù)器進(jìn)行交互,針對目標(biāo)賬號依次嘗試可能的密碼,直到猜測出密碼,或因嘗試次數(shù)過多被服務(wù)器阻止。因此,在線猜測一般也稱為小猜測次數(shù)下的攻擊。離線破解不需要連網(wǎng),但需要拿到網(wǎng)站服務(wù)器上存儲的密碼庫,針對目標(biāo)賬號,在本地依次嘗試可能的密碼,直到猜測出密碼或因算力有限自動放棄猜測。因此,離線猜測不受猜測次數(shù)的限制,一般也稱為大猜測次數(shù)下的攻擊。
人們常使用簡單易記的密碼
汪定團(tuán)隊的研究顯示,中文網(wǎng)民的密碼在小猜測次數(shù)下(即在線猜測)更弱。在基于概率的上下文無關(guān)文法(PCFG)的攻擊實驗中,如果允許100次猜測,約10%的中文用戶口令會被破解,而僅有3.5%的英文用戶口令被破解;如果允許1000萬次猜測,32%的中文用戶口令會被破解,而至少有43%的英文用戶口令被破解。在基于馬爾科夫鏈(一種口令出現(xiàn)概率的計算模型)的攻擊實驗中,也觀測到了類似的情況。這一現(xiàn)象意味著,應(yīng)針對中文用戶采取特別的密碼保護(hù)措施。比如,針對中文用戶定制密碼黑名單,設(shè)計專門針對中文用戶的密碼強度評測算法。遺憾的是,當(dāng)前世界各大主流網(wǎng)站均沒有意識到這一點,對中英文用戶采用完全相同的密碼保護(hù)措施。
密碼,也就是信息安全學(xué)者口中的“口令”,屬于網(wǎng)絡(luò)安全系統(tǒng)中的密鑰范疇。更確切地說,密碼是密鑰類別中人類可記憶的短密鑰。
人類大腦只能記住有限的5~7個密碼,可記憶的密碼要求盡量短、有規(guī)律、不復(fù)雜。然而密碼太簡單或具有共性,也就更容易被破解。要抗猜測的話,密碼則應(yīng)盡量長、無規(guī)律、越復(fù)雜越好。由于信息化社會的不斷推進(jìn),越來越多的服務(wù)開始聯(lián)網(wǎng),用戶擁有幾十個甚至上百的密碼帳號。為了方便記憶,用戶不可避免地使用流行密碼,在不同網(wǎng)站重復(fù)使用同一個密碼,在密碼中嵌入個人相關(guān)信息,如姓名和生曰。
2016年,汪定通過對442位中文用戶的口令使用習(xí)慣調(diào)查發(fā)現(xiàn),用戶在新網(wǎng)站注冊口令時,往往會重用(44.8%)現(xiàn)有口令,或者修改(32.6%)現(xiàn)有口令,只有14.5%的用戶會構(gòu)造全新口令。很多人基于個人信息構(gòu)造口令,其中包括姓名、生日、用戶名、Email前綴、身份證號、電話號碼,甚至地名。比如12306網(wǎng)站密碼中,名字含有率為22.35%,生日為24.10%,賬號名為23.60%,Email前綴為12.66%,用戶名3.00%,手機號2.73%。僅以名字為例,12306網(wǎng)站中,姓名全稱的占比4.68%,姓氏有11.15%,僅名字6.49%,名字縮寫+姓氏為13.64%。這就給了黑客很大的破解密碼空間。根據(jù)破解過程中是否利用用戶個人信息,密碼猜測算法分為漫步破解和定向破解。前者不關(guān)心攻擊對象是誰,按照猜測排名依次類推;后者則盡可能利用個人信息,如姓名、生日、年齡、職業(yè)、學(xué)歷、性別,以及該網(wǎng)站的舊口令和其他網(wǎng)站泄露的密碼。
網(wǎng)絡(luò)上唾手可得的用戶個人信息,以及近年公開泄露的數(shù)以千計的口令文件,使定向破解越來越現(xiàn)實。僅2019年上半年,就發(fā)生了數(shù)百起口令文件泄露事件。近年曾經(jīng)發(fā)生過泄露事件的著名網(wǎng)站包括Yahoo、Dropbox、LinkedIn、Adobe、小米、CSDN和天涯等等。依據(jù)汪定的解釋,傳統(tǒng)的漫步破解方式就像盜賊偷來一大串鑰匙,然后逐一進(jìn)行開鎖嘗試,費時費力;新的定向破解方法相當(dāng)于是盜賊對目標(biāo)進(jìn)行了調(diào)查了解后,給目標(biāo)定制鑰匙來開鎖,也就是利用用戶個人特定的脆弱密碼行為來猜測密碼。
汪定帶領(lǐng)團(tuán)隊開發(fā)了定向猜測方法。他們驗證了定向猜測方法的可行性。如果知道用戶的姓名和生日等常見個人信息,僅猜100次,成功率就可達(dá)20%;如果還知道用戶在其他網(wǎng)站用過的密碼,成功率可以達(dá)到73%以上。這項研究引起了美國國家身份認(rèn)證標(biāo)準(zhǔn)中關(guān)于密碼安全部分的修改。
口令安全研究是一個新領(lǐng)域,2017年拿到北大博士學(xué)位的汪定是中國口令安全領(lǐng)域的第一位博士。據(jù)他近10年的研究和了解,當(dāng)前口令安全研究仍處于非常初級的階段,很多看似簡單的問題實則因涉及到多學(xué)科交叉知識,變得難以入手。這也合理地解釋了,為什么當(dāng)前一提起密碼,人人似乎都遇到了很多問題,但又沒有可供使用的較完善解決手段。
幸運的是,這一領(lǐng)域逐漸受到越來越多的重視,吸引了越來越多的研究力量。自2009年社交網(wǎng)站Rockyou泄露3200萬用戶帳號信息以來,數(shù)以千計的網(wǎng)站發(fā)生了口令文件泄露事件。這一方面引起了人們對口令安全問題的高度關(guān)注,同時也為口令安全研究提供了原始素材——密碼集。一旦口令文件被黑客獲得,往往會離線猜測出泄露文件中80%以上口令帳戶,導(dǎo)致用戶的隱私、聲譽和財務(wù)受到損失。
需要指出的是,即使網(wǎng)站采用了強健的Hash函數(shù)(一種從任何一種數(shù)據(jù)中創(chuàng)建小的數(shù)字“指紋”的方法)并加鹽(在散列中加入字符串)運算后存儲,也只是一定程度上延緩了黑客破解口令的速度,并不能有效消除離線猜測的威脅。
汪定的博士題目是《口令安全關(guān)鍵問題研究》,導(dǎo)師是北大王平教授。汪定非常熱愛這一研究領(lǐng)域,一談密碼(他口中的“口令”),眼神里便閃爍著光彩?!翱诹畎踩I(lǐng)域有太多需要研究的問題,尤其是缺乏一套口令安全理論體系?!睘楣タ诉@些既有理論價值,又有現(xiàn)實意義的難題,汪定常常放棄周末和節(jié)假日。在導(dǎo)師支持下,他帶領(lǐng)的口令安全研究團(tuán)隊每周六舉行討論班,七年來風(fēng)雨無阻?!拔覀冎苣┮惨β担sdeadline(最后期限)熬夜寫paper(論文)、做研究,這么努力的一個原因是我們身在口令安全這一重要的領(lǐng)域,里程碑式貢獻(xiàn)如果都是由歐美學(xué)者完成,這是多么可惜的一件事。中國學(xué)者需要發(fā)出聲音?!币晃恢艽a學(xué)專家在看到他的博士論文后評價說:“一看這個論文,就知道你沒有周末”。
他的付出也得到了回報,僅僅這篇博士論文就獲得了北京大學(xué)優(yōu)秀博士論文獎、中國計算機學(xué)會優(yōu)秀博士論文獎、ACM SIGSAC中國優(yōu)秀博士論文獎、ACM中國優(yōu)秀博士論文獎等多個獎勵。博士畢業(yè)后,汪定留在北大進(jìn)行博士后研究(合作導(dǎo)師是中科院院士黃如),繼續(xù)深耕口令安全,取得了包括前文介紹的UsenixSecurity論文在內(nèi)的數(shù)項成果。
這位1985年12月出生的青年學(xué)者雖然沒有出國留學(xué)經(jīng)歷,但鑒于研究出色,他在今年博士后出站后要迎來另一個身份:南開大學(xué)網(wǎng)絡(luò)空間安全學(xué)院教授。
問:我很好奇的是,你們的工作與黑客的工作有什么區(qū)別?
汪定:首先是動機不同。黑客是從獲利的角度,我們是從防御的角度希望更好保護(hù)用戶、保護(hù)網(wǎng)站。另外方法和手段不同,我們主要是采用科學(xué)的方法,比較偏理論性的方法,我們追求的是邏輯的嚴(yán)密和方法的科學(xué),甚至是成一套理論體系,而黑客關(guān)注的是攻擊效果和收益,不關(guān)注方法是否成科學(xué)體系,各種方法他都可以去嘗試。
另外,我們的研究結(jié)果出來之后,確實會給黑客們提供一些改進(jìn)的手段。應(yīng)當(dāng)說,我們有一定的交集,但實際上交集并不大。我們是研究底層的那些安全理論與機制,在我們得出比較科學(xué)的理論之后,才能夠輔助網(wǎng)站去設(shè)置更好的口令保護(hù)策略。
網(wǎng)站現(xiàn)有的這些口令保護(hù)策略,可以說是“皇帝的新衣”,這也是我們在2015年歐洲計算機安全年會上發(fā)表過一篇論文的題目:TheEmperor's New Password Creation Poficies(密碼生成策略:皇帝的新衣)。目前的很多口令安全保護(hù)策略是延續(xù)20世紀(jì)80年代、90年代美國的做法,這些做法迄今為止很少有所變化。一些網(wǎng)站要求用戶設(shè)置口令長度必須大于多少,必須包含大小寫字母和數(shù)字,定期強制用戶修改口令,其實這些沒有嚴(yán)密的理論和系統(tǒng)性實驗的支撐。
我們近期調(diào)研了120個世界各行業(yè)主流網(wǎng)站,它們的口令保護(hù)措施非常原始、混亂,包括蘋果、微軟、雅虎這些大公司,其他也都差不多如此。表面原因是,學(xué)術(shù)界不知道怎么辦,業(yè)界也不知道怎么辦;根本原因是,學(xué)術(shù)界研究不足,一些基礎(chǔ)性問題沒有根本解決。
問:對于普通網(wǎng)民,我們應(yīng)當(dāng)如何設(shè)置密碼?你有哪些建議?
汪定:這是一個非?,F(xiàn)實的問題。目前關(guān)于這個問題的回答五花八門,根據(jù)我們對最新研究進(jìn)展的了解,基本上可以給出兩條比較可行的建議:第一個是對帳戶分級分類,第二個是密碼越長越好。
分級分類的意思是,人類的認(rèn)知能力有限,我們保護(hù)賬號的精力也是有限的,那么我們把帳號根據(jù)重要程度分級,將重要的賬戶進(jìn)行重點的保護(hù),那些不怎么重要的賬號就可以用簡單的密碼設(shè)置,同類帳戶可以密碼重用。
越長越好的意思是,在符合網(wǎng)站要求的前提下,盡量設(shè)置長的密碼。這里不對字符類型有要求,那樣會增加用戶的記憶難度,并且對提高安全性來講效果并不好,也就是說口令長度要比口令的復(fù)雜度更重要。
汪定講解口令和密碼的關(guān)系
如果要補充的話,就是不能使用個人信息做密碼。另外,每過多少天就更換密碼的策略不實用,因為現(xiàn)在人們大都有數(shù)十個賬號,沒有那么多精力來管理。
問:這似乎很簡單,并沒有特殊的招數(shù)?
汪定:能做到上面兩條已經(jīng)不容易了。如果有余力的話,用戶可以使用自己的容易記憶的特殊經(jīng)歷,可以加一些自己的特殊元素。
問:在線猜測是如何破解具體某人密碼的,難解的密碼可能會需要多久?
汪定:對于指定攻擊目標(biāo)的這種攻擊屬于定向攻擊。從公開研究的角度來講,目前我們的TarGuess算法框架是先進(jìn)的。
根據(jù)用戶泄露的個人信息類別的不同,來相應(yīng)地選擇攻擊算法,比如說拿到用戶的姓名、生日之類可以直接構(gòu)成口令的信息,那么可以采用相應(yīng)的TarGuess-I攻擊方法。如果拿到用戶在其他網(wǎng)站的口令,來攻擊另一個網(wǎng)站的口令,這時候又是一種方法TarGuess-II。如果攻擊者把這兩種信息都拿到了,他會選擇第三種攻擊方法TarGuess-III。
根據(jù)得到的不同信息,黑客可以有相應(yīng)的不同的方法,我們設(shè)計了包含了7種常見攻擊場景的7個算法,即TarGuess I-VII。我們這個TarGuess算法框架發(fā)表3年來,我們又在嘗試新的猜測算法,已初步取得了不錯的結(jié)果。
對于黑客來說,現(xiàn)在市面上有很多公開的破解工具。他們肯定會先嘗試這些簡單的方法,如果破解失敗他才會使用學(xué)術(shù)界的方法,因為學(xué)術(shù)界的方法對于他們而言有一定的門檻。
我們考慮了3種最主要的用戶口令的脆弱行為。第一個是使用流行口令,第二個是用戶在口令當(dāng)中包含個人信息,第三個是用戶重復(fù)使用口令。如果說這三種行為都拿來利用的話,我們的成功率在73%左右;如果僅僅知道用戶的姓名、生日等個人信息,成功率是20%;如果知道這個用戶在其他網(wǎng)站的口令,成功率可高達(dá)70%。
問:你說的暴力破解是指的拿到網(wǎng)站口令文件庫來破解,對吧?
汪定:暴力破解一般是指拿到網(wǎng)站口令文件庫,然后在本地破解。因為往往網(wǎng)站存儲的不是明文,有可能是采用了Hash函數(shù)并加鹽運算后存儲,需要把它恢復(fù)出來,那就需要反向的破解,包括基于猜測字典的破解和暴力破解。后者一般不關(guān)注破解效率,適用于算力強大的攻擊者。
根據(jù)我們的經(jīng)驗,一臺普通的PC機加上GPU,對于百萬量級的口令文件庫,如果使用傳統(tǒng)加鹽哈希(如SHA-1,MD5),沒有使用慢哈希(如PBKDF2,Scrypt)的話,一兩星期可以恢復(fù)90%以上。
問:是不是計算速度越快就會破解越快?
汪定:是的。這跟計算機速度有很大的關(guān)系,這個硬件速度的提升對攻擊者更有利。
問:如果發(fā)生大規(guī)模泄露事件,會有哪些可能的補救措施?
汪定:目前絕大部分網(wǎng)站都把保護(hù)口令帳戶的責(zé)任推給用戶,要讓用戶生成所謂的強口令,如果帳戶出現(xiàn)安全問題,那是因為用戶自己的口令強度不夠。而現(xiàn)在學(xué)術(shù)界的共識是,應(yīng)讓網(wǎng)站承擔(dān)更多的責(zé)任,網(wǎng)站可以把用戶的口令保護(hù)得更好,做到別讓口令文件泄漏,即使泄露了也能及時發(fā)現(xiàn),并且通過使用慢哈希(如Scrypt,Argon2),讓黑客也很難將明文口令恢復(fù)出來。
現(xiàn)在就是慢哈希函數(shù)并加鹽的基本思路,即使黑客拿到了口令文件口令數(shù)據(jù)庫,他恢復(fù)出來口令會很慢,或者耗費大量的內(nèi)存,導(dǎo)致攻擊成本非常高。
問:國家還沒有這方面的政策要求嗎?
汪定:現(xiàn)在沒有這么一個明確具體的針對口令帳戶的政策,只是說現(xiàn)在學(xué)術(shù)界逐漸形成一個共識,網(wǎng)站應(yīng)當(dāng)來承擔(dān)責(zé)任,這樣有利于維持一個健康的口令安全生態(tài)。從保護(hù)個人信息這一宏觀角度來看,2018年5月1日,國家標(biāo)準(zhǔn)《個人信息安全規(guī)范》已正式實施,對個人信息的收集、保存、使用及泄露事件處理進(jìn)行了原則性的規(guī)范。
問:指紋識別、面部識別會不會是一種選擇呢?加了這些防范措施,是不是更安全呢?
汪定:在可預(yù)見的未來,口令仍將是最主要的身份認(rèn)證方法。在口令基礎(chǔ)之上防范的方法只是錦上添花。因為指紋可以復(fù)制且不可更改,基于深度學(xué)習(xí)的換臉軟件又能繞過面部3D識別,那么只有口令在我們大腦當(dāng)中誰也輕易拿不走,至少目前口令的腦電波還不能無線遠(yuǎn)距離破譯。
問:區(qū)塊鏈技術(shù)與口令安全有關(guān)系嗎?
汪定:有密切的關(guān)系。因為任何一個系統(tǒng),只要與人打交道,就得進(jìn)行身份認(rèn)證,這是第一道防線。
口令是最主要的身份認(rèn)證方法。區(qū)塊鏈它也是個信息系統(tǒng),也需要做身份認(rèn)證的。比如比特幣,是區(qū)塊鏈最著名的應(yīng)用,經(jīng)??吹叫侣劺镎f某某比特幣交易所的口令文件被黑客竊取了,丟失巨額資金。很多比特幣用戶的腦錢包私鑰,就是口令,口令被猜測出來,該私鑰對應(yīng)地址上的比特幣就會被竊取。
問:那么一些涉密機構(gòu)以及涉密數(shù)據(jù)有更好的口令安全措施嗎?
汪定:不難理解,強力部門往往有更多的資金和技術(shù)來執(zhí)行口令保護(hù)措施,但目前是否存在非常完善的口令安全措施,答案大概率應(yīng)當(dāng)是否定的。比如說希拉里郵箱密碼被破解出來了,導(dǎo)致了機密郵件被泄露。其實很多名人政要的密碼也是很容易被猜測出來,甚至弱得超乎你的想象。
無論什么機密,只要是涉及人,特別容易出錯,尤其是在當(dāng)前口令安全理論體系還沒有建立、很多基礎(chǔ)性問題沒有解決的情況下。
問:口令安全研究更遠(yuǎn)的前景是怎樣的?
汪定:希望口令這個生態(tài)系統(tǒng)能夠穩(wěn)健地運轉(zhuǎn)起來,而不是目前這樣盲目、無序和混亂。它可能不是perfect(完美)的,但是建立了基本理論體系,它就能夠穩(wěn)健運轉(zhuǎn),就像今天我們使用的操作系統(tǒng)。(摘自美《深科技》)(編輯/華生)