iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Security

網路安全基礎概念與實作系列 第 10

Day 10: 密碼攻擊手法概論

  • 分享至 

  • xImage
  •  

今天要來學習五種常見的密碼攻擊方式,每種方式都有不同的特性,適用在不同的情況下。

1. 暴力破解(Brute Force Attack)

  • 介紹
    暴力破解是最基本、一般攻擊者最常用的攻擊方式,駭客逐一嘗試所有可能的密碼組合,直到找到正確密碼。
    只要有足夠的時間和資源,就可以破解任何形式的密碼,計算複雜度會隨著密碼長度指數增長(每增加一位數,可能組合數量會大幅上升)。假設密碼是4位數字"1234",駭客需要從0000開始逐一嘗試直到找到正確密碼,數字最大為9999,共有10000種可能的組合。

  • 防禦措施:

  1. 增加密碼長度與複雜度,每增加一個字符,密碼可能性會大大增加,也可以混合搭配大小寫、特殊符號和數字,讓密碼變得難以破解。
  2. 當檢測到連續多次失敗登入嘗試時,增加登入間隔時間,減少攻擊成功的可能性。
  3. 假設攻擊者破解密碼,會遇到第二組身份驗證來避免輕易地洩漏資料。

2. 字典攻擊(Dictionary Attack)

  • 介紹:
    字典攻擊使用預定的常用密碼列表來嘗試破解,由於很多用戶使用簡單、常見的密碼,像是"admin"、"123456",因此字典攻擊比暴力破解更有效率。這種攻擊方式不會逐一嘗試所有可能的密碼組合,而是針對性的嘗試那些使用頻率高的密碼。假設某個簡單的字典可能包含上萬個常見密碼,則攻擊者只需依序測試這些密碼,看哪個正確即可。

  • 防禦措施:

  1. 規定用戶設置更複雜的密碼,例如要求密碼包含大小寫字母、數字和特殊符號。
  2. 設置多次錯誤嘗試後鎖定帳戶的機制,防止發生頻繁的字典攻擊。
  3. 使用鹽值(Salt)技術,為每個密碼添加隨機數據來防止字典攻擊。

3. 彩虹表攻擊(Rainbow Table Attack)

  • 介紹:
    彩虹表攻擊是透過雜湊演算法計算,並存儲大量可能的雜湊值(hash),雜湊值是將數據轉換成固定的數字串,主要用於保護密碼和驗證數據。當獲得目標系統的密碼雜湊值時,可以快速查詢匹配的密碼,不需要重新計算每次的雜湊值。彩虹表能有效率的解雜湊,因為它使用預先計算好的結果,攻擊者只需要獲取目標的雜湊值就能夠開始攻擊。

  • 防禦措施:

  1. 將鹽值加到每個密碼中,使彩虹表攻擊無法預測雜湊值。
  2. 避免使用過時的雜湊算法,像是 MD5 和 SHA-1,這些算法已經容易受到彩虹表攻擊,應使用像是SHA-256等更安全的算法。

4. 混合攻擊(Hybrid Attack)

  • 介紹:
    混合攻擊結合暴力破解和字典攻擊的技術,攻擊者先使用字典攻擊嘗試常見密碼,然後對這些密碼進行修改,像是在末尾添加數字或符號,進行暴力破解。攻擊者會假設用戶可能使用簡單的密碼變體,像是"password123" 或 "qwerty!",並進行針對性破解。

  • 防禦措施:

  1. 強密碼策略,確保用戶的密碼不容易被猜測或簡單變化。
  2. 啟用密碼黑名單,防止用戶設置弱密碼和常見變體。

5. 憑證填充攻擊(Credential Stuffing Attack)

  • 介紹:
    攻擊者利用從其他數據洩漏中獲得的用戶名和密碼組合,嘗試登錄不同的網站或服務。如果用戶在多個網站重複使用相同的密碼,攻擊者成功登錄的機會將提高。憑證填充攻擊針對那些使用相同密碼的帳戶,攻擊過程簡單且效率很高。

  • 防禦措施:

  1. 在不同網站使用不同的密碼,並使用密碼管理工具來記錄。
  2. 即使攻擊者獲得了正確的憑證,還需進行額外驗證,也就是啟用多因素驗證(MFA)。
  3. 如果發現短時間內,有多次嘗試登錄的行為,系統將會立即觸發防護措施。

上一篇
Day 9: 使用 Python 實作 RSA 加密與解密
下一篇
Day 11: 模擬彩虹表攻擊
系列文
網路安全基礎概念與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言