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