弱密碼 & 身份驗證不當

網路安全漏洞分析與防護

網頁安全實務課程

2025年度

20 投影片
8 攻擊手法
5 防護策略

課程大綱

基礎概念

  • 身份驗證基礎
  • 密碼安全原理
  • 常見漏洞類型

攻擊手法

  • 暴力破解攻擊
  • 字典攻擊
  • 彩虹表攻擊
  • 社交工程

漏洞成因

  • 弱密碼政策
  • 不當儲存
  • 會話管理缺陷

防護策略

  • 強密碼政策
  • 多因子驗證
  • 安全實作

身份驗證基礎

什麼是身份驗證?

身份驗證(Authentication)是確認使用者身份的過程,確保只有合法使用者能夠存取系統資源。

三種驗證因子

知識因子

你知道什麼

密碼、PIN碼

持有因子

你擁有什麼

手機、硬體金鑰

生物因子

你是什麼

指紋、虹膜

弱密碼問題

什麼是弱密碼?

弱密碼是指容易被猜測、破解或通過自動化工具攻擊的密碼。

常見弱密碼類型

簡單密碼

123456, password, admin

個人資訊

生日、姓名、電話號碼

鍵盤模式

qwerty, 123456789

重複使用

多個帳號使用相同密碼

統計數據

81% 資料洩露與弱密碼相關
23.2M 使用"123456"的帳號數量

OWASP Top 10 地位

2021年排名

A07

Identification and Authentication Failures

身份識別和身份驗證失敗

影響統計

3.61% 應用程式受影響比例
132k 相關漏洞數量
22 平均 CVE 評分

常見弱點

  • 允許自動化攻擊(如憑證填充)
  • 允許暴力破解或其他自動化攻擊
  • 允許預設、弱密碼或知名密碼
  • 弱密碼恢復和忘記密碼流程

攻擊手法概覽

暴力破解攻擊

系統性嘗試所有可能的密碼組合

難度: 低 時間: 長

字典攻擊

使用常見密碼列表進行攻擊

難度: 低 時間: 中

彩虹表攻擊

使用預計算的雜湊值表格

難度: 中 時間: 短

社交工程

透過心理操縱獲取密碼

難度: 中 時間: 變動

暴力破解攻擊

攻擊原理

暴力破解是一種試錯方法,攻擊者系統性地嘗試所有可能的密碼組合,直到找到正確的密碼。

攻擊流程

1

目標識別

確定攻擊目標和登入介面

2

工具準備

使用 Hydra、Medusa 等工具

3

密碼生成

產生所有可能的密碼組合

4

自動嘗試

自動化測試每個密碼

時間複雜度

密碼長度 字符集 可能組合 破解時間
4位數字 10 10,000 < 1秒
6位字母 26 308,915,776 幾分鐘
8位混合 94 6.1 × 10¹⁵ 數年

字典攻擊

攻擊原理

字典攻擊使用預先編譯的常見密碼列表,比暴力破解更有效率,因為它針對人類常用的密碼模式。

字典類型

通用字典

rockyou.txt, common-passwords.txt

1400萬+ 密碼

語言字典

特定語言的常見詞彙

數十萬詞彙

組織字典

針對特定組織的客製化字典

數千詞彙

洩露字典

從資料洩露事件收集的密碼

數億密碼

常用工具

Hydra

支援多種協定的暴力破解工具

John the Ripper

強大的密碼破解工具

Hashcat

GPU加速的密碼恢復工具

成功率統計

25% 前100個常見密碼
50% 前1000個常見密碼
65% 前10000個常見密碼

彩虹表攻擊

攻擊原理

彩虹表是預先計算的雜湊值與明文密碼對應表,使用時間-空間權衡技術,大幅減少密碼破解時間。

工作原理

預計算階段

生成大量密碼的雜湊值表

壓縮儲存

使用鏈結技術減少儲存空間

快速查找

在表中查找目標雜湊值

優點

  • 破解速度極快
  • 適合批量破解
  • 成功率高

缺點

  • 需要大量儲存空間
  • 預計算時間長
  • 無法對抗加鹽雜湊

防禦:加鹽雜湊

無鹽雜湊

MD5("password") = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

加鹽雜湊

MD5("password" + "randomsalt") = 不可預測的雜湊值

社交工程攻擊

憑證填充攻擊

攻擊原理

憑證填充利用使用者在多個網站重複使用相同密碼的習慣,使用從資料洩露中獲得的帳號密碼組合進行大規模自動化登入嘗試。

攻擊流程

1

資料收集

從暗網購買或收集洩露的帳號密碼

2

目標選擇

選擇高價值的目標網站

3

自動化攻擊

使用機器人大量嘗試登入

4

成功利用

獲取有效帳號進行後續攻擊

漏洞成因分析

主要成因

身份驗證漏洞通常源於設計缺陷、實作錯誤和管理疏失的組合。

技術層面

弱密碼政策

缺乏複雜度要求、長度限制不足

不安全儲存

明文儲存、弱雜湊演算法、缺乏加鹽

會話管理缺陷

會話ID可預測、無逾時機制

缺乏防護機制

無帳號鎖定、無驗證碼保護

管理層面

預設憑證

未更改系統預設密碼

權限管理不當

過度授權、權限未及時回收

缺乏監控

無異常登入檢測機制

員工教育不足

缺乏安全意識培訓

使用者層面

密碼重複使用

多個帳號使用相同密碼

社交工程易感性

容易受騙提供敏感資訊

安全意識薄弱

不了解密碼安全重要性

便利性優先

為了方便而犧牲安全性

真實案例分析

LinkedIn 資料洩露事件 (2012)

2012年

影響規模

6.5億 用戶密碼洩露

主要原因

  • 使用不安全的SHA-1雜湊
  • 未使用鹽值(Salt)
  • 密碼政策過於寬鬆

後果

數百萬密碼被破解,用戶面臨帳號盜用風險

Facebook 明文密碼儲存 (2019)

2019年

影響規模

6億 用戶密碼以明文儲存

主要原因

  • 系統錯誤導致明文記錄
  • 內部員工可直接查看
  • 缺乏適當的資料保護

台灣本土案例

政府機關資料洩露

高風險

事件概述

多個政府機關因使用弱密碼和預設帳號,導致敏感資料外洩,影響數萬民眾個資安全。

主要問題

  • 使用預設管理員密碼 "admin/admin"
  • 密碼政策執行不力
  • 缺乏定期密碼更新機制
  • 員工安全意識不足

大學校務系統入侵

中風險

事件概述

某知名大學校務系統遭入侵,學生成績和個人資料被竄改,起因為弱密碼保護。

影響範圍

  • 3萬名學生資料外洩
  • 成績系統被惡意修改
  • 學校聲譽受損
  • 法律責任問題

潛在危害與影響

經濟損失

直接損失

  • 資金被盜用或轉移
  • 系統修復和升級成本
  • 法律訴訟費用
  • 監管罰款

間接損失

  • 業務中斷造成的收入損失
  • 客戶流失
  • 股價下跌
  • 保險費用增加

聲譽損害

品牌信任度下降

客戶對企業安全能力失去信心,影響長期業務發展

媒體負面報導

安全事件成為新聞焦點,持續影響企業形象

競爭劣勢

在市場競爭中處於不利地位,客戶轉向競爭對手

經濟損失統計

全球統計數據

$4.45M 平均資料洩露成本 (2023)
277天 平均發現和處理時間
$165 每筆洩露記錄成本

成本組成分析

檢測與調查 35%
通知與法律 30%
業務損失 20%
修復成本 15%

防護策略概覽

多層次防禦架構

使用者教育

安全意識培訓、密碼管理教育

技術控制

強密碼政策、多因子驗證、加密儲存

管理制度

存取控制政策、定期稽核、事件回應

監控檢測

異常行為檢測、即時警報、日誌分析

核心防禦原則

深度防禦

多層次安全控制,避免單點失效

最小權限

僅授予必要的最小存取權限

零信任

不信任任何使用者或設備

持續改進

定期評估和更新安全措施

技術防禦措施

強密碼政策

複雜度要求

  • 最少8-12個字符
  • 包含大小寫字母、數字、特殊符號
  • 禁用常見弱密碼
  • 定期強制更新

密碼檢查

  • 即時強度檢測
  • 與洩露密碼庫比對
  • 禁止重複使用歷史密碼
  • 個人資訊檢查

多因子驗證 (MFA)

SMS 驗證碼

簡單易用,但容易被攔截

安全性: 低

應用程式驗證

Google Authenticator, Authy

安全性: 中

硬體金鑰

YubiKey, FIDO2 金鑰

安全性: 高

生物識別

指紋、臉部、虹膜識別

安全性: 高

管理防禦措施

政策制定

密碼政策

  • 明確的密碼複雜度要求
  • 定期更新週期規定
  • 禁用共享帳號政策
  • 違規處理程序

存取控制政策

  • 角色基礎存取控制 (RBAC)
  • 最小權限原則
  • 權限定期審查
  • 離職權限回收

員工教育

安全意識培訓

頻率: 每季度一次

內容:

  • 密碼安全最佳實務
  • 社交工程識別
  • 釣魚郵件防範
  • 事件回報程序

模擬演練

類型:

  • 釣魚郵件測試
  • 社交工程演練
  • 密碼安全檢查
  • 事件回應演習

課程總結

重點回顧

威脅嚴重性

弱密碼和身份驗證不當是 OWASP Top 10 中的重要威脅,影響範圍廣泛且損失巨大。

攻擊手法多樣

從技術攻擊到社交工程,攻擊者有多種方式利用身份驗證弱點。

防禦需要全面

技術控制、管理制度和使用者教育缺一不可,需要多層次防禦。

投資回報明顯

預防投資遠低於事件處理成本,早期投入安全措施效益顯著。

行動建議

立即行動

  • 檢查並更新弱密碼
  • 啟用多因子驗證
  • 更改預設密碼
  • 安裝密碼管理工具

短期規劃

  • 制定密碼政策
  • 實施帳號鎖定機制
  • 建立監控系統
  • 進行員工培訓

長期建設

  • 建立完整的身份管理系統
  • 實施零信任架構
  • 定期安全稽核
  • 持續改進安全措施

記住

安全不是一次性的工作,而是持續的過程。
只有通過技術、管理和人員的全面配合,
才能有效防範身份驗證相關的安全威脅。

感謝聆聽

如有任何問題,歡迎討論交流