大多網(wǎng)民肯定不可避免反復(fù)用過某一兩個(gè)密碼。實(shí)際上,大部分年齡介于18-65歲之間的網(wǎng)民都這樣做過,并且越是年輕的網(wǎng)民,越有可能為自己的所有帳戶使用同一個(gè)密碼。
大家都知道這種做法不好,而且大部分網(wǎng)民都知道怎樣創(chuàng)建足夠強(qiáng)的密碼:應(yīng)該包含隨機(jī)字母、數(shù)字和字符,至少16位長(zhǎng),并且最重要的是:必須確保唯一性。
那么為什么大家不為自己的每個(gè)帳戶創(chuàng)建這樣不僅唯一,而且足夠安全的密碼?原因在于,按照美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)協(xié)會(huì)(NIST)去年發(fā)布的新版標(biāo)識(shí)管理指南的結(jié)論,對(duì)于密碼“復(fù)雜性”的強(qiáng)調(diào),實(shí)際上忽略了需要持續(xù)管理大量密碼這一現(xiàn)實(shí)情況。
每個(gè)網(wǎng)民平均有大約200個(gè)在線帳戶,因此實(shí)際上很難去責(zé)怪用戶不保證自己大量密碼的唯一性。但同時(shí)我們更沒有理由去責(zé)怪那些為了遵守優(yōu)秀實(shí)踐而要求用戶必須使用足夠復(fù)雜密碼,但對(duì)用戶的忽視又束手無策的公司。
不幸的是,雖然 NIST 的新版標(biāo)識(shí)管理指南對(duì)于密碼安全機(jī)制的矯正提供了看似非常卓越的路線圖,但在密碼要求、安全檢查或用戶密碼使用習(xí)慣方面,實(shí)際上并不會(huì)產(chǎn)生多大的影響。
是時(shí)候了,企業(yè)必須停止抵抗變化,引導(dǎo)自己的員工和客戶養(yǎng)成更安全、更可管理的密碼使用習(xí)慣。了解威脅的具體實(shí)施方式,這有助于我們采取簡(jiǎn)單的預(yù)防性措施斬?cái)嗌煜蚴鼙Wo(hù)帳戶的黑手。
別被人猜到了
一如往常,網(wǎng)絡(luò)漫畫網(wǎng)站XKCD通過簡(jiǎn)潔風(fēng)趣的漫畫描述了帳戶被接管的實(shí)際情況(其實(shí)真不需要太多攻擊手段) —— “這把鑰匙能打開那個(gè)鎖嗎?”
我們可以非常合理地做出這樣的假設(shè):位于某地的某人針對(duì)某個(gè)網(wǎng)站運(yùn)行了帳戶檢查工具,輸入一系列已知的郵件地址和類似密碼,或包含網(wǎng)站名稱的密碼。例如使用“123456”、“abcd1234”或“password”,畢竟這些都是不安全密碼界的佼佼者。
密碼不應(yīng)與用戶名相同,不應(yīng)包含網(wǎng)站或相關(guān)服務(wù)的名稱,也不應(yīng)是連續(xù)字母或數(shù)字,更不應(yīng)是簡(jiǎn)單的組合或普通單詞。我們都知道,攻擊者可以通過一些工具非?焖俚貦z查所有此類密碼,進(jìn)而判斷自己能否打開某個(gè)用戶帳戶的大門,這些工具還會(huì)試著使用密碼的各種變體,以此來應(yīng)對(duì)用戶們?cè)诤?jiǎn)單密碼基礎(chǔ)上發(fā)揮的“小聰明”。
為避免用戶使用易于猜測(cè)的密碼,企業(yè)應(yīng)創(chuàng)建或下載常用密碼列表,將用戶使用的密碼與這些列表進(jìn)行對(duì)比。對(duì)于相符的,形式較為簡(jiǎn)單的,或包含網(wǎng)站 / 服務(wù)名稱的密碼(或者其他類似的變體,例如為披薩外賣網(wǎng)站的帳戶使用“PapaJohn1”這樣的密碼),應(yīng)該建議用戶不要使用。更好的做法則是檢查并確保用戶選擇的密碼并不在第三方已泄露密碼范圍之列。如上文所述,大部分用戶會(huì)在多個(gè)網(wǎng)站上使用相同的密碼,如果一個(gè)網(wǎng)站的密碼外泄,就會(huì)將你的公司(以及用戶帳戶)置于危險(xiǎn)之中。
別被人輕松破解了
簡(jiǎn)單密碼還會(huì)造成另一個(gè)問題:手頭資源有限的攻擊者可以借助這樣的密碼更快速地破解加密算法。
一些全球很受歡迎的在線服務(wù)依然在使用過時(shí)、甚至不安全的加密技術(shù)來“保護(hù)”密碼,這一點(diǎn)著實(shí)令人感覺遺憾。這些加密算法雖然可以阻止低水平攻擊者通過讀取用戶密碼訪問數(shù)據(jù)庫(kù),但在技能更嫻熟的攻擊者看來,這只不過是一種有趣的“拼圖游戲”而已。
除了使用字典防止用戶設(shè)置重復(fù)、簡(jiǎn)單,或其他易于猜測(cè)的密碼,企業(yè)還需要了解自己所用哈希算法的局限,并建議用戶設(shè)置更復(fù)雜的密碼,例如同時(shí)包含數(shù)字和字母,甚至通過易于記憶的短句來生成更復(fù)雜的密碼。
如上所述,當(dāng)今攻擊者所用的工具可以通過常用密碼列表發(fā)起攻擊,甚至可以自動(dòng)嘗試常用密碼的各種變體。實(shí)際上,這意味著類似 MD5 這種古老(但依然常用)的哈希算法甚至可以在幾秒鐘內(nèi)被破解,哪怕用戶給密碼添加了一串?dāng)?shù)字或?qū)⒆帜浮皁”用數(shù)字“0”替代,也于事無補(bǔ)。
幫助用戶創(chuàng)建更長(zhǎng)、更復(fù)雜的密碼,這是一種增加暴力密碼破解難度的好方法,使用諸如 bcrypt 這樣的強(qiáng)哈希算法才能讓密碼更難以被暴力破解。通過將 bcrypt 這樣的算法與類似短句的長(zhǎng)密碼(NIST 建議使用包含符號(hào)和空格,64 位長(zhǎng)的密碼)配合使用,才能真正有效遏制暴力破解(這種情況下的暴力破解可能需要幾十年時(shí)間)。
不要直接交鑰匙
保護(hù)帳戶不被進(jìn)行此類攻擊的好的方法是確保密碼沒有被“已經(jīng)”攻陷。攻擊者可能已掌握了數(shù)十億個(gè)密碼,這些密碼可能是從明網(wǎng)(Clearnet,“暗網(wǎng)”的對(duì)應(yīng)面)盜取而來,甚至被編譯為“組合列表”,其中包含各種用戶名以及對(duì)應(yīng)的密碼,而這樣的東西正在黑市以非常低廉的價(jià)格出售。好在白帽子和安全專家們也在收集這些密碼,借此追蹤已經(jīng)不再安全的憑據(jù)。
NIST 在新版指南中明確提出,針對(duì)已知被攻陷憑據(jù)檢查用戶的密碼,是一種可有效測(cè)試密碼安全性的做法。更重要的是,企業(yè)通過這樣的檢查可以幫助客戶和員工更全面地了解自己所面對(duì)的安全態(tài)勢(shì),而用戶安全性的提高也有助于大幅改善整個(gè)網(wǎng)絡(luò)的安全性。
已知被攻陷憑據(jù)列表不僅可以免費(fèi)獲取,甚至可以通過這樣的靜態(tài)列表,實(shí)現(xiàn)比以往單純提出密碼復(fù)雜度要求時(shí)更高程度的密碼安全保護(hù)。
然而靜態(tài)的列表會(huì)逐漸過時(shí),因此 IT 團(tuán)隊(duì)需要定期進(jìn)行更新。從長(zhǎng)遠(yuǎn)的角度來看,具備一個(gè)持續(xù)更新的已知被盜密碼數(shù)據(jù)庫(kù),這已經(jīng)成為一種更好的策略。但企業(yè)也不需要用手工的方式對(duì)這樣的列表進(jìn)行增補(bǔ),IT 團(tuán)隊(duì)可以放心地定期檢查新密碼和現(xiàn)有密碼,而這些服務(wù)通常會(huì)包含自動(dòng)化的緩解工具,對(duì)需要更新密碼的員工或用戶發(fā)出提醒。
這一點(diǎn)為何重要
很多人都會(huì)重復(fù)使用密碼,因此對(duì)企業(yè)來說,上文提到的檢查措施非常必要。尤其是對(duì)于員工每天都在用的應(yīng)用程序,簡(jiǎn)單的或重復(fù)使用的密碼最容易違背 IT 有關(guān)密碼安全的要求,而企業(yè)網(wǎng)絡(luò)內(nèi)部很可能已經(jīng)有至少一個(gè)帳戶在使用重復(fù)的密碼。
更糟的是,員工們?yōu)榱朔?IT 要求采取的“小聰明”做法也成了攻擊者設(shè)法潛入受保護(hù)網(wǎng)絡(luò)內(nèi)部的最便捷途徑。
針對(duì)企業(yè)郵件系統(tǒng)的帳戶目錄使用 NIST 密碼安全檢查機(jī)制有助于確保員工沒有重復(fù)使用已被攻陷的密碼,這樣可以更好地保護(hù)業(yè)務(wù)數(shù)據(jù),同時(shí)也可以確保密碼不會(huì)太簡(jiǎn)單,太易于猜測(cè),或直接使用了已攻陷密碼的其他變體。
將這樣的措施與強(qiáng)哈希算法配合,這樣一種簡(jiǎn)單、自動(dòng)的機(jī)制不僅足以防止帳戶被接管,還有助于幫助用戶養(yǎng)成更好的密碼使用習(xí)慣,讓這樣的密碼在面對(duì)技能不那么嫻熟的攻擊者時(shí)發(fā)揮出更大的保護(hù)作用。