【龍田百科】SOS!你的密碼存在被暴力破解的可能!
發布時間:2024-02-01
暴力破解,是一(yī)種針對于密碼的破譯方法,将密碼進行逐個推算直到找出真正的密碼爲止。而當遇到人爲設置密碼(非随機密碼,人爲設置密碼有規律可循)的場景,則可以使用密碼字典(例如彩虹表)查找高頻(pín)密碼,破解時間大(dà)大(dà)縮短。
暴力破解的方法
 
01
窮舉法
 
 

 

窮舉法是指根據輸入密碼的設定長度、選定的字符集生(shēng)成可能的密碼全集,進行地毯式搜索。例如一(yī)個已知(zhī)是四位并且全部由數字組成的密碼,其可能共有10000種組合,因此最多嘗試10000次就能找到正确的密碼。理論上利用這種方法可以破解任何一(yī)種密碼,但随着密碼複雜(zá)度增加,破解密碼的時間會指數級延長。
窮舉法适用于猜解随機生(shēng)成的短信驗證碼等,因爲各種随機生(shēng)成密碼出現的概率是一(yī)樣的,不受人的記憶影響。
02
字典式攻擊
 
 
 
字典式攻擊是将出現頻(pín)率最高的密碼保存到文件中(zhōng),這文件就是字典,暴破時使用字典中(zhōng)的這些密碼去(qù)猜解。
字典式攻擊适用于猜解人爲設定的口令,因爲人爲設定受人方便記憶影響不同密碼出現的概率是不一(yī)樣的,12345678、password作爲密碼的概率比fghtsaer作爲密碼的概率要高得多。與窮舉法相比,字典式攻擊雖然損失了較小(xiǎo)的命中(zhōng)率但節省了較多的時間。
03
彩虹表攻擊
 
 
 
彩虹表攻擊也屬于字典式攻擊,但它是一(yī)種高效地破解哈希算法(MD5、SHA1、SHA256/512等)的攻擊方式。彩虹表是時間空間折中(zhōng)的方法,其核心思想是将明文計算得到的哈希值由R函數映射回明文空間,交替計算明文和哈希值,生(shēng)成哈希鏈,将這個鏈的首尾存儲在表中(zhōng),中(zhōng)間的都删掉,用的時候臨時算,那麽存儲的空間比原來的減少了一(yī)半,而計算次數也并沒有大(dà)量增多。

 

你的密碼容易被破解嗎(ma)

 

許多人設置的密碼都過于簡單,或者使用電話(huà)号碼、出生(shēng)日期、親人或寵物(wù)的名字作爲密碼,或者在不同網站使用相同密碼,這些行爲導緻密碼很容易被破解。
在 2020 年末,NordPass 公布了 2020 年使用率最高的 200 個密碼,排名靠前的幾個密碼分(fēn)别爲 123456、123456789、password、12345678、111111、123123、12345、1234567890、1234567、000000、1234 …… ,除了純數字,還有各種數字和字母組合,例如:qwerty、abc123 和 picture1 等。
暴力破解不會造成直接的入侵,但攻擊者通過暴力破解獲得了系統/用戶的賬号和密碼,以此爲後續的入侵做準備。對于個人而言,直接從用戶那裏竊取金錢,或者竊取其身份,身份盜用可能導緻進一(yī)步的财務損失。對于企業而言,通過暴力破解可以登錄Telnet服務、POP3服務和MySQL服務等,登錄成功将會導緻用戶信息洩露、文件共享、郵件洩露或無法正常發送郵件等高危事件。
如何防禦暴力破解攻擊

 

 

個人層面:增強密碼安全性

  • 提升密碼長度和複雜(zá)度
密碼應由數字、大(dà)小(xiǎo)寫字母和特殊符号混合組成,且密碼越長,破解密碼的時間就會成指數增加,一(yī)旦密碼超過了某個長度,基本上就不能用暴力破解了。例如,使用破解的服務器集群,每秒可以嘗試3500億次,這個速度破解6位密碼隻需要4.08秒,7位密碼隻需6.47分(fēn)鍾,8位密碼需要10.24小(xiǎo)時,9位密碼需要40.53天,10位密碼就需要10.55年了。
  • 在不同的地方使用不同的密碼
重複使用電子郵件、銀行和社交媒體(tǐ)帳戶的密碼更可能導緻身份被盜用。可以将網站的縮寫作爲密碼的後綴,例如登陸QQ的密碼是Hl9tysY.qq,登陸微博的密碼是Hl9tysY.wb,這樣每個網站都有獨立的密碼且不容易忘記。
  • 避免使用字典單詞、數字組合、相鄰鍵盤組合、重複的字符串
例如:password、12345678、asdfg、aaaa等。
  • 避免使用名字或者非機密的個人信息作爲密碼
  • 定期修改密碼

 

系統層面:做好密碼防暴力破解設計

系統設計時考慮以下(xià)幾個方面:
  • 鎖定策略:輸錯密碼幾次就鎖定一(yī)段時間。
  • 驗證碼技術:要求用戶完成簡單的任務才能登陸到系統,用戶可以輕松完成,但暴力工(gōng)具無法完成。例如,圖形驗證碼、短信等。
  • 密碼複雜(zá)度限制強制用戶設置長而複雜(zá)的密碼,并強制定期更改密碼。
  • 雙因子認證:結合兩種不同的認證因素對用戶進行認證的方法。例如密碼、身份證、安全令牌、指紋、面部識别、地理信息等。
 
 
注:本文素材來自華爲,版權歸作者所