口令短因此容易被破解,但長的話太復(fù)雜且容易重復(fù)使用?口令設(shè)置標(biāo)準(zhǔn)到底應(yīng)該怎樣才合適?
美國國家標(biāo)準(zhǔn)與技術(shù)研究院(National Institutes of Standards and Technology, NIST) 在其《數(shù)字身份指南》特刊800-63-3中發(fā)布的反向口令策略推薦引起了很多爭議。盡管其中包含了許多優(yōu)秀的,沒有爭議的身份驗(yàn)證信息,但是很多人認(rèn)為這些新的建議根本就是錯誤的。
在討論NIST口令策略的之前,我們先來回顧一下普遍認(rèn)為的最好的口令策略建議。
在所有情況下,不要使用通用口令(例如“password”或者“qwerty”),并且永遠(yuǎn)不要在不同站點(diǎn)使用同樣的口令。
這些建議的總體問題是MFA和口令管理器不能適用于所有站點(diǎn)和設(shè)備。這意味你不得不使用一些口令。如果你的口令管理器選擇了隨機(jī),長且復(fù)雜的口令,這些口令只適用于你的某些設(shè)備,而對其他設(shè)備無效,這意味著你需要記住或者記錄那些長而復(fù)雜的口令,以備不時(shí)之需。
為什么NIST改變了其口令策略
所以,無論如何你必須設(shè)置自己的口令。如果你使用了長口令,有一定的概率你會重復(fù)使用它們或者只是在不同站點(diǎn)做一些細(xì)微的變化。如果我們都開始使用長又簡單的口令,大部分人可能會使用簡單的英語單詞。就像我們今天遇到的口令復(fù)雜性問題一樣——復(fù)雜的口令實(shí)際上并不復(fù)雜(因?yàn)榇蠖鄶?shù)人使用相同的32個字符),我們可能會創(chuàng)建黑客更容易猜到的口令。我們創(chuàng)建的口令從一個糟糕的口令,例如“Password”變成了“ThisIsMyPassword”,或者類似的口令。
NIST認(rèn)為重復(fù)使用和不夠復(fù)雜的口令將帶來極大的風(fēng)險(xiǎn),而這兩者也是其指南試圖所避免的。
微軟研究院首席研究員Cormac Herley表示:
我們知道面對后者(復(fù)雜性),人們只會做簡單的替換。一份列有20個由6個小寫字母組成的口令,約占所有賬戶的3%。一份列有20個由8個字母(復(fù)雜)組成的口令,占大約2%。不要擔(dān)心GPUs和線下攻擊,這些口令甚至無法阻擋那些漫不經(jīng)心的在線猜測攻擊。如果你用一個簡單,非迭代的加鹽散列存儲口令,我們知道,沒有什么能保證用戶選擇的口令能夠抵擋離線攻擊。如果強(qiáng)制要求使用16位口令,肯定有些口令會非常常見,至少給攻擊者提供了足夠的賬戶。防止離線猜測的方法是確保文件沒有泄露,使用迭代或者內(nèi)存難解散列(memory-hard hash),并且有方法可以進(jìn)行監(jiān)測和修復(fù)。
引發(fā)爭議的NIST轉(zhuǎn)變
幾十年來,建立的口令策略要求使用長而復(fù)雜的口令,并定期更改口令。所以應(yīng)該討論口令應(yīng)該多長,多復(fù)雜,多久進(jìn)行更改,而不是對基本原則進(jìn)行討論。
這份在2017年6月發(fā)布的NIST口令策略最終版,顛覆了全球長期以來的口令原則。現(xiàn)在,NIST表示使用更短且不復(fù)雜的口令是可以的,并且除非口令遭到泄露否則永遠(yuǎn)不用更改口令。
NIST的新口令策略是根據(jù)以往大部分口令的泄露方式?jīng)Q定的。黑客活動的最初幾十年,大多數(shù)口令都是通過口令猜測或破解(例如將一個非明文形式轉(zhuǎn)換為口令明文形式)而泄露的。在這種攻擊環(huán)境中,使用長而復(fù)雜的口令是有意義的。
如今,大多數(shù)口令都因底層口令存儲數(shù)據(jù)庫和社交工程遭到大量入侵而遭到泄露。互聯(lián)網(wǎng)上有數(shù)以億計(jì)的登錄名/口令組合,任何人都可以輕松訪問或購買。這種入侵方式并不關(guān)心口令的長度或復(fù)雜程度。此外,長度和復(fù)雜性要求增加了用戶在其他站點(diǎn)上使用相同口令的概率。有一項(xiàng)研究表明,普通用戶有6到7個口令,會在100多個網(wǎng)站上重復(fù)使用。這是災(zāi)難的根源。NIST表示考慮到不斷變化的戰(zhàn)場,遵循舊的建議將使你更有可能因?yàn)檫@些決定而受到損失。
這個變化如此之大,以至于近乎所有計(jì)算機(jī)專家都拒絕相信,因此也拒絕遵循新的指南。更重要的是,計(jì)算機(jī)安全法規(guī)或指導(dǎo)機(jī)構(gòu)(PCI-DSS, HIPAA SOX等)也不例外,沒有一個機(jī)構(gòu)計(jì)劃更新他們的口令策略。
關(guān)于這次口令爭論
許多人都是NIST忠實(shí)的支持者,因?yàn)橛懻摵椭贫ㄐ翹IST政策的是一群專注,有想法的,希望提高計(jì)算機(jī)安全的研究人員。NIST以前決策背后的數(shù)據(jù)通常是令人信服的。所以沒有理由只是因?yàn)槊總€人的直覺都不想接受新的建議,而去反對NIST。大家應(yīng)該以數(shù)據(jù)為導(dǎo)向。
凱文·米特尼克用強(qiáng)有力的論據(jù),證明使用短口令很容易被黑客入侵。從那以后,他提出了更多證據(jù)和案例來支持自己的觀點(diǎn),認(rèn)為所有人不僅應(yīng)該遵從舊的建議,還應(yīng)該確保口令更長(至少12到16個字符)。
不要遵循NIST的新口令建議
深入研究NIST新口令策略決策背后的數(shù)據(jù),你會發(fā)現(xiàn)這些數(shù)據(jù)無法支持新的結(jié)論。有些數(shù)據(jù)能夠支持新策略,但不像過去認(rèn)為的那樣令人信服。最重要的是,NIST的建議基于新的,不斷發(fā)展的口令攻擊方法,其中口令(或者其散列)只是從先前的權(quán)限提升攻擊中竊取的。這種類型的攻擊依然有效,但是遠(yuǎn)程攻擊者不需要任何先前權(quán)限攻擊就可以輕易獲取你的口令。
比如,給你發(fā)送一個帶有惡意鏈接的郵件,如果點(diǎn)開了這個鏈接,將會泄露你的口令或口令散列。在某些案例中,只需在預(yù)覽模式下打開電子郵件就足夠了。微軟發(fā)布了相關(guān)補(bǔ)丁防止口令泄露,但幾乎沒有人使用它或使用其他任何能夠阻止口令泄露的防御措施。大多數(shù)公司都容易受到這類攻擊。
以最新的Adobe Acrobat漏洞為例,該漏洞在2月25日被修復(fù)。一個Adobe Acrobat文檔可能包含一個SMB鏈接,當(dāng)用戶打開PDF文檔時(shí),該鏈接將自動啟用。這個漏洞沒有觸發(fā)Acrobat的正常消息提醒,要求用戶批準(zhǔn)URL讀取。就像前面討論的漏洞一樣,該漏洞可能會泄露用戶的NT散列。任何有理性的人都應(yīng)該知道任何允許UNC路徑訪問的其他形式的文件都可能具有感染性,并泄露用戶的口令散列。
有多少的潛在受害者可能會點(diǎn)擊郵件中的惡意鏈接呢?相當(dāng)多數(shù)量的人。多年來,社交工程和網(wǎng)絡(luò)釣魚是造成大量惡意數(shù)據(jù)泄露成功的原因,而且這種情況在短期內(nèi)不太可能發(fā)生改變。大多數(shù)計(jì)算機(jī)安全報(bào)告表示,有70%到90%的惡意數(shù)據(jù)泄露是由社會工程和網(wǎng)絡(luò)釣魚造成。這種類型的攻擊是頭號威脅。只要這種程度的成功率加上能夠遠(yuǎn)程通過非權(quán)限提升攻擊竊取口令散列的能力,有理由認(rèn)為除了使用長而復(fù)雜的口令之外,沒有人能推薦其他方法來抵擋這種風(fēng)險(xiǎn)。
八個字符是不夠的
NIST推廣的最短可接受口令長度(8個字符)已經(jīng)不再適用了。隨著時(shí)間的推移,口令破解器的表現(xiàn)越來越快,越來越好。直到最近,一個包含8個字符的復(fù)雜口令被認(rèn)為是非常不安全的,但是大部分組織機(jī)構(gòu)確可以接受。
這個假設(shè)最近被打破。開源口令散列破解工具HashCat宣布,任何8個字符的NT口令散列,都可以在2.5個小時(shí)內(nèi)被破解為明文。祝那些用8個字符的口令保護(hù)環(huán)境的企業(yè)好運(yùn)。
Mitnick經(jīng)常成功破解12到16個字符長的超復(fù)雜口令,而且他沒有世界上最快的口令破解設(shè)備。所以多長的口令才足夠長呢?
答案是越長越好,但是現(xiàn)實(shí)是對大多數(shù)企業(yè)網(wǎng)絡(luò)來說,僅憑口令無法保護(hù)那些含有你財(cái)務(wù)或個人信息的網(wǎng)站。使用口令,但是不要用于那些你真正需要保護(hù)或者關(guān)心的內(nèi)容上。至少在我們找到更好、更強(qiáng)大、更流暢的身份驗(yàn)證方法之前,使用MFA保護(hù)任何對你有真正有價(jià)值的東西。
什么時(shí)候更改你的口令?
NIST認(rèn)為你只需要在你認(rèn)為口令被泄露的時(shí)候更改口令,而不是定期更改口令,例如像以前的最佳做法,每45到90天進(jìn)行一次更改。這個建議存在的問題是你很有可能不知道你的口令已經(jīng)被泄露或者何時(shí)被泄露。
如果一直在使用一個口令管理器,可以實(shí)時(shí)檢查用戶創(chuàng)建和使用的每個口令,對付已知的口令泄露和發(fā)現(xiàn)口令泄露。
不要完全忽視NIST
NIST有關(guān)口令的策略,但是其身份指南是可靠的。他們鼓勵管理員和用戶從簡單的登陸口令轉(zhuǎn)向使用更強(qiáng)大的身份驗(yàn)證方法。他們不鼓勵使用SMS信息作為強(qiáng)驗(yàn)證,而建議使用更復(fù)雜的方法。他們同時(shí)也為不同場景推薦了不同的身份驗(yàn)證的方法,這是很有意義。