【活用ガイド】

JVNDB-2019-002625

WPA3 のプロトコルと実装に複数の脆弱性

概要

WPA3 プロトコルならびに hostapd と wpa_supplicant の実装には複数の脆弱性が存在し、遠隔の攻撃者によって、弱いパスワード情報や権限の取得、ならびにサービス運用妨害 (DoS) 攻撃が行われる可能性があります。これらの脆弱性は "Dragonblood" と呼称されています。

CERT/CC では引き続き WPA3 プロトコルの検証を行っています。今回発見された WPA3 の実装に関する脆弱性はプロトコルの仕様そのものに起因する可能性があります。

WPA3 は鍵交換プロトコルとして、 Simultaneous Authentication of Equals (SAE) を採用しています。これは "Dragonfly Key Exchange" とも呼ばれるもので、WPA2 における Pre-Shared Key (PSK) プロトコルの代替として機能しています。hostapd は WPA3 の認証処理におけるアクセスポイントおよび認証サーバの daemon です。また、wpa_supplicant は WPA authenticator (アクセスポイント) との鍵交換処理を実装した supplicant (クライアント) であり、WPA3 をサポートしています。hostapd と wpa_supplicant はともに Extensible Authentication Protocol Password (EAP-PWD) と SAE を実装していますが、下記の脆弱性を含んでいます。

楕円曲線暗号グループ (ECC groups) に対する SAE のキャッシュベースの攻撃 (SAE サイドチャネル攻撃) (CWE-208, CWE-524) - CVE-2019-9494
hostapd と wpa_supplicant における SAE 実装は、観測可能なタイミングの違いならびにキャッシュアクセスのパターンによるサイドチャネル攻撃に対して脆弱です。

楕円曲線暗号グループ (ECC groups) に対する EAP-PWD キャッシュベースの攻撃 (EAP-PWD サイドチャネル攻撃) (CWE-524) - CVE-2019-9495
hostapd と wpa_supplicant における SAE 実装は、キャッシュアクセスのパターンによるサイドチャネル攻撃に対して脆弱です。EAP-PWD をサポートしている hostapd と wpa_supplicant のバージョン 2.7 およびそれ以前が本脆弱性の影響を受けます。

SAE confirm 処理においてメッセージの検証が行われない問題 (CWE-642) - CVE-2019-9496
hostapd プロセスが hostapd/AP モードで動作している際の SAE confirm のメッセージ処理における検証に不備があり、不正な認証シーケンスによって hostapd プロセスが終了してしまう可能性があります。SAE をサポートしている hostapd の全てのバージョンが本脆弱性の影響を受けます。

EAP-PWD リフレクション攻撃 (EAP-pwd-Commit メッセージの検証不備) (CWE-301) - CVE-2019-9497
hostapd (EAP Server) ならびに wpa_supplicant (EAP Peer) における EAP-PWD 実装では、EAP-pwd-Commit メッセージのスカラ値と要素値の検証が行われません。

EAP-PWD Server における EAP-pwd-Commit メッセージの検証不備 (CWE-346) - CVE-2019-9498
hostapd (EAP Server) における EAP-PWD 実装では、ビルドに用いられた暗号ライブラリが EAP-pwd-Commit メッセージの要素値 (EC point) に対する検証処理を実装していない場合に、EAP-pwd-Commit メッセージのスカラ値と要素値の検証が行われません。

EAP-PWD Peer における EAP-pwd-Commit メッセージの検証不備 (CWE-346) - CVE-2019-9499
wpa_supplicant (EAP Peer) における EAP-PWD 実装では、ビルドに用いられた暗号ライブラリが EAP-pwd-Commit メッセージの要素値 (EC point) に対する検証処理を実装していない場合に、EAP-pwd-Commit メッセージのスカラ値と要素値の検証が行われません。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 6.7 (警告) [JPCERT/CC値]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 低
CVSS v2 による深刻度
基本値: 7.0 (危険) [JPCERT/CC値]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 中
  • 攻撃前の認証要否: 単一
  • 機密性への影響(C): 全面的
  • 完全性への影響(I): 全面的
  • 可用性への影響(A): 部分的
影響を受けるシステム


(複数のベンダ)
  • (複数の製品)

想定される影響

*サイドチャネル攻撃によって、パスワードの復元に使用可能な情報を取得される - CVE-2019-9494
*辞書攻撃により、弱いパスワードを取得される - CVE-2019-9495
本攻撃には、アプリケーションのインストールならびに実行を行うための権限が必要となります。また、メモリアクセスのパターン解析は共有キャッシュを観測することで可能です。hostapd/wpa_supplicant 2.7 およびそれ以降のバージョンは、CVE-2019-9494 のタイミング攻撃の影響は受けません
*hostapd のプロセスを終了させられる (サービス運用妨害) - CVE-2019-9496
*EAP-PWD の認証を回避される - CVE-2019-9497
暗号ライブラリが EC point に対する検証処理を実装している場合、攻撃者はセッション鍵の取得や鍵交換を行うことができません
*不正なスカラ/要素値をもつメッセージ使用してセッション鍵を取得され、認証を回避される - CVE-2019-9498, CVE-2019-9499
対策

[アップデートする]
wpa_supplicant と hostapd をバージョン 2.8 にアップデートしてください

その他の緩和策については下記を参照してください
*CVE-2019-9494 https://w1.fi/security/2019-1/
*CVE-2019-9495 https://w1.fi/security/2019-2/
*CVE-2019-9496 https://w1.fi/security/2019-3/
*CVE-2019-9497 https://w1.fi/security/2019-4/
*CVE-2019-9498 https://w1.fi/security/2019-4/
*CVE-2019-9499 https://w1.fi/security/2019-4/
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. タイミングの違いに起因する情報漏えい(CWE-208) [その他]
  2. 重要な情報を含むキャッシュの使用(CWE-524) [その他]
  3. 重要な状態データの外部制御(CWE-642) [その他]
  4. 同一生成元ポリシー違反(CWE-346) [その他]
  5. 認証プロトコルのリフレクション攻撃(CWE-301) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2019-9494
  2. CVE-2019-9495
  3. CVE-2019-9496
  4. CVE-2019-9497
  5. CVE-2019-9498
  6. CVE-2019-9499
参考情報

  1. JVN : JVNVU#94228755
  2. National Vulnerability Database (NVD) : CVE-2019-9494
  3. National Vulnerability Database (NVD) : CVE-2019-9495
  4. National Vulnerability Database (NVD) : CVE-2019-9496
  5. National Vulnerability Database (NVD) : CVE-2019-9497
  6. National Vulnerability Database (NVD) : CVE-2019-9498
  7. National Vulnerability Database (NVD) : CVE-2019-9499
  8. US-CERT Vulnerability Note : VU#871675
  9. 関連文書 : Dragonblood: Analysing WPA3's Dragonfly Handshake
  10. 関連文書 : Dragonblood: A Security Analysis of WPA3's SAE Handshake
  11. 関連文書 : hostapd and wpa_supplicant security advisories 
  12. 関連文書 : Index of /security/2019-1
  13. 関連文書 : Index of /security/2019-2
  14. 関連文書 : Index of /security/2019-3
  15. 関連文書 : Index of /security/2019-4
  16. 関連文書 : Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i)
  17. 関連文書 : hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
  18. 関連文書 : hostap - hostapd/wpa_supplicant 
更新履歴

  • [2019年04月16日]
      掲載
  • [2019年04月17日]
      概要:内容を更新
  • [2019年12月27日]
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9494) を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9495) を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9496) を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9497) を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9498) を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2019-9499) を追加