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

 

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

 

你的密碼容易被(bèi)破解嗎

 

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

 

 

個人層面(miàn):增強密碼安全性

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

 

系統層面(miàn):做好(hǎo)密碼防暴力破解設計

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