公開日:2019/04/15 最終更新日:2019/04/25

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

概要

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

影響を受けるシステム

  • WPA3 プロトコルを実装している製品

詳細情報

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 をサポートしています。hostapdwpa_supplicant はともに Extensible Authentication Protocol Password (EAP-PWD) と SAE を実装していますが、下記の脆弱性を含んでいます。

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

楕円曲線暗号グループ (ECC groups) に対する EAP-PWD キャッシュベースの攻撃 (EAP-PWD サイドチャネル攻撃) (CWE-524) - CVE-2019-9495
hostapdwpa_supplicant における SAE 実装は、キャッシュアクセスのパターンによるサイドチャネル攻撃に対して脆弱です。EAP-PWD をサポートしている hostapdwpa_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 メッセージのスカラ値と要素値の検証が行われません。

想定される影響

  • サイドチャネル攻撃によって、パスワードの復元に使用可能な情報を取得される - 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 にアップデートしてください

その他の緩和策については下記を参照してください

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
NTT-CERT 該当製品無し 2019/04/15
アライドテレシス株式会社 該当製品無し 2019/04/15
ジェイティ エンジニアリング株式会社 該当製品無し 2019/04/15
センチュリー・システムズ株式会社 脆弱性情報提供済み 2019/04/15
ソニー株式会社 脆弱性情報提供済み 2019/04/15
ソースネクスト株式会社 該当製品無し 2019/04/15
富士通株式会社 該当製品無し 2019/04/15
東芝デバイス&ストレージ株式会社 該当製品無し 2019/04/15
株式会社デジオン 脆弱性情報提供済み 2019/04/15
株式会社バッファロー 該当製品あり 2019/04/24 株式会社バッファロー の告知ページ
株式会社メルカリ 該当製品無し 2019/04/15

参考情報

  1. Wi-Fi Alliance
    Index of /security/2019-4
  2. Wi-Fi Alliance
    Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i)
  3. Wi-Fi Alliance
    hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
  4. Wi-Fi Alliance
    hostap - hostapd/wpa_supplicant
  5. Wi-Fi Alliance
    hostap - hostapd/wpa_supplicant
  6. CERT/CC Vulnerability Note VU#871675
    WPA3 design issues and implementation vulnerabilities in hostapd and wpa_supplicant
  7. Mathy Vanhoef (NYUAD) and Eyal Ronen (Tel Aviv University & KU Leuven)
    Dragonblood: Analysing WPA3's Dragonfly Handshake
  8. Mathy Vanhoef (NYUAD) and Eyal Ronen (Tel Aviv University & KU Leuven)
    Dragonblood: A Security Analysis of WPA3's SAE Handshake
  9. Wi-Fi Alliance
    hostapd and wpa_supplicant security advisories
  10. Wi-Fi Alliance
    Index of /security/2019-1
  11. Wi-Fi Alliance
    Index of /security/2019-2
  12. Wi-Fi Alliance
    Index of /security/2019-3

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L
基本値: 6.7
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:A/AC:M/Au:S/C:C/I:C/A:P
基本値: 7.0
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2019-9494
CVE-2019-9495
CVE-2019-9496
CVE-2019-9497
CVE-2019-9498
CVE-2019-9499
JVN iPedia

更新履歴

2019/04/15
[参考情報] に CERT/CC Vulnerability Note のリンクを追加しました
2019/04/16
[詳細情報] CVE-2019-9495 の影響を受けるバージョンの記述を変更しました。
2019/04/25
株式会社バッファローのベンダステータスが更新されました