譯者 | 陳峻
審校 | 重樓
現如今,隨著人工智能(AI)應用的普及和快速迭代,幾乎任何人都可以輕而易舉地利用AI進行密碼破解之類的攻擊。這已經引起了業界的擔憂。下面,我將圍繞著:密碼破解究竟意味著什么,基于AI的密碼猜測技術,以及我們該如何保護自己的密碼免受此類攻擊這三個方面展開討論。
破解密碼意味著什么?
長期以來,密碼始終是網絡攻擊者關注的焦點。他們只需獲取密碼,就能繞過所有的安全系統,攫取整個系統的相關信息,及其存儲在其中的所有數據。讓我們先來了解一下與密碼破解有關的散列(哈希,hashing)概念。密碼散列是一種通過更改原始記錄中的數字,來安全地存儲用戶密碼的方法。其過程為:對用戶的真實密碼(通常為純文本)進行數學計算處理,以輸出固定長度的加密散列值。例如,您在登錄某個網站時將密碼設置為“secret_password123”,那么該網站的預定義散列函數會根據該輸入的數據,生成類似“3a5b9c1d8e7f2b6g”的特定散列輸出。換句話說,您在該網站數據庫中留存的數據記錄將是“3a5b9c1d8e7f2b6g”,而不是“secret_password123”。對此,如果網絡攻擊者劫持了該網站的數據庫,他們就不得不通過計算“3a5b9c1d8e7f2b6g”值,來逆向推導出您的真實密碼。然而,散列(哈希)算法的一個特點便是單向性。這會使得密碼的破解過程變得相當復雜。不過,隨著AI的賦能,黑客如今已可以采用多維度、不同的方法,去嘗試著破解真實的散列密碼。
AI能夠破解密碼嗎?
憑借人工智能的快速計算、以及處理大型數據集的能力,網絡攻擊者能夠據此,來縮短并破解某些由加密算法保護的密碼。其中,最為典型的當屬AI在密碼破解過程中的學習能力。只要有足夠的數據和時間被用來學習特定的加密算法,人工智能模型就能夠學會理解和破解加密所用到的數學關系。可見,與普通的試錯方法相比,人工智能可以更有效、更快速地破解密碼。除了機器學習,網絡攻擊者仍然可以借助人工智能,對密碼開展暴力破解的攻擊方式。此處的暴力破解是指,嘗試所有可能的密碼組合,以找到正確密碼的過程。而人工智能完全可以優化該過程,以減少重復破解密碼的嘗試次數。
此外,人工智能還可以研究文本語言以及語法,成功地破解出那些基于自然語言的加密密鑰。也就是說,利用人工智能的語言模型,網絡攻擊者可以更加高效地在密碼分析中,使用基于頻率分析的方式予以破解。
基于AI的密碼猜測技術
密碼的猜測往往直接涉及到各種數學方法。作為密碼學研究領域的一個分支,密碼分析最典型的方式莫過于歷史上赫赫有名的英格瑪密碼(Enigma Code)。當然,人工智能也會用到如下以數學為基礎的方式:- 頻率分析:它試圖通過分析密文中字母或符號的出現頻率,來猜測加密密鑰或密碼。通常,自然語言中的字母有著一定的頻率分布規律,而經過加密后的文本字母也會出現類似的頻率分布。這種規律的捕捉對于簡單的加密算法而言,是特別有效的。
- 差分密碼分析:這是發現塊密碼算法(block cipher algorithms)弱點的理想方法。該分析方法試圖通過檢查加密算法,在輸入和輸出之間的差異中,找到所使用的加密密鑰。
- 線性和微分密碼分析:它涉及到用于分析對稱密鑰加密算法的數學技術。該技術試圖利用加密算法的線性方程、或差分方程,去發現加密密鑰。
- 錯誤分析:在加密算法的實際執行過程中,系統極可能會出現各種潛在的錯誤,或是暴露出與安全相關的漏洞。該分析試圖利用此類錯誤或漏洞,來伺機獲取加密密鑰。
- 隨機性測試:由于加密算法的安全性主要取決于隨機性,因此攻擊者可以通過數學方法,來測試確定加密算法中使用到的隨機性(其實是基于算法的“偽隨機性”),以預測算法的輸出結果。
- 特殊算法攻擊:利用加密算法的相關知識和深入研究,網絡攻擊者可以發現某些典型算法的弱點,進而在此基礎上開發出專門設計好的攻擊方式。
如何加強密碼安全,防范人工智能攻擊
鑒于網絡攻擊者可以將人工智能和密碼破解技術結合起來發起攻擊,普通用戶又該如何采取行之有效的措施,來予以應對呢?使用長而復雜的密碼
許多人趨向使用簡單的短語作為密碼,以方便記憶。素不知,此舉也方便了攻擊者。對此,我們需要采用足夠長的密碼(至少12個字符),以應對簡單的猜測攻擊。與此同時,密碼中必須包含不同類型的字符,如:大、小寫字母、數字和特殊字符等。例如,您不應該使用曾被認為神秘難測的“P@ssw0rd”之類的簡單密碼,而應當使用“Tr#78sF$a24pQ”這樣在結構上更為復雜的密碼。
如果您擔心自己記不住長而復雜的密碼的話,請使用一些功能強大的密碼管理工具來協助您。當然,筆和紙這種老套的方式,并非毫無使用場景。
為每個平臺設置不同的密碼
許多人會在不同平臺的多個賬戶中使用相同的密碼。這種所謂的“圖省事兒”往往潛藏著重大的安全風險。試想,如果網絡攻擊者獲取了您其中一個賬戶的訪問權限,那么他將輕而易舉地訪問您的其他賬戶。因此,我們需要通過為每個平臺創建不同的密碼的方式,來切斷賬戶之間的聯系。注意,此處所謂的“賬戶之間的聯系”,不應只是簡單地從一個應用的“password_1234”密碼,更換為另一個應用的密碼--“1235_password”,而是要盡量減少重復字符組合的出現頻率。使用雙因素身份驗證
雙因素身份驗證(Two-factor authentication,2FA)可以提供額外的安全保障。除了密碼,2FA機制需要向您的手機、電子郵件或其他設備發送一串代碼,以完成后續的身份驗證。由于此舉能夠更好地保護您的賬戶免受惡意攻擊,因此請確保您在主動支持 2FA 的平臺上啟用此項功能。遵守密碼更新和注銷政策
定期更改密碼有助于防范那些曾被用到過的密碼被盜取,而不會波及到現有使用的密碼。此外,請養成注銷個人資料的習慣。此舉將能夠避免那些不再使用的設備、應用等在您毫不知情的狀態下泄漏出去。人工智能和網絡安全的未來
人工智能技術的發展可謂日新月異。不只是技術專家和軟件開發者正在積極探索AI的使用場景,讓人類的生活更加輕松;也不乏黑客和惡意攻擊者使用AI獲取他人的密碼,或達到其他不可告人的目的。針對如何防范AI盜取用戶密碼,希望上述簡單實用的規避要點,能夠給您提供幫助。譯者介紹
陳峻 (Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。原文標題:Yes, AI Can Crack Your Password, but Can You Prevent It? ,作者:FATIH KÜÇÜKKARAKURT)