WPA3でのSAE(Dragonfly) Handshakeの脆弱性(Dragonblood) と脆弱性情報(CVE-2019-9494, CVE-2019-9495, CVE-2019-9496, CVE-2019-9497, CVE-2019-9498)

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

04/10/2019にWi-Fi AllianceからSecurity Updateが出ました。WPA3-Personalの初期の限られた実装に問題(SAE: Dragonfly Handshakeの実装の問題から、Dragonbloodと名付けられています)が見つかったそうです。主にサイドチャネル攻撃とダウングレード攻撃になっています。CVEとしては、CVE-2019-9494, CVE-2019-9495, CVE-2019-9496, CVE-2019-9497, CVE-2019-9498, CVE-2019-9499がアサインされています。Wifiユーザに対してこれが悪用されたという証拠は見つかっていないそうです。今後、様々な実装での修正が予想されますので、こちらで取り上げてまとめます。

逐次情報は更新していく予定です。

2019/04/11 10:00 – 各CVEの情報とUbuntuの情報を追記しました。




Priority/CVSS

  • CVE-2019-9494
  • CVE-2019-9495
  • CVE-2019-9496
  • CVE-2019-9497
  • CVE-2019-9498
  • CVE-2019-9499


修正方法

各ディストリビューションの情報を確認してください。

脆弱性概要(詳細は一次情報源のサイトをご確認ください)

  • Dragonblood – Analysing WPA3’s Dragonfly Handshake
  • Dragonblood: A Security Analysis of WPA3’s SAE Handshake (PDF)
  • Dragonblood
  • WPA3のSAE(Simultaneous Authentication of Equals)(通称Dragonfly) Handshakeの実装に問題が見つかりました。

    WPA3に二種類のデザイン的な欠陥が見つかっています。最初のタイプはダウングレード攻撃(脆弱なアルゴリズムを強制的に使わせる)で、もう一つはサイドチャネル攻撃によるパスワードに関する情報の漏洩です。

    今回見つかったダウングレード攻撃により、攻撃者がクライアントに対して従来のブ>ルートフォース攻撃を実行するための、WPA2の4-wayハンドシェイクを部分的に実行させることが出来ます。更に加えて、Dragonflyハンドシェイク自身に対しても、通常よりも>弱い楕円暗号化を使用させるダウングレード攻撃が可能であることが見つかりました。

    サイドチャネル攻撃の方は、Dragonflyのパスワードエンコーディング方法が対象となっています。キャッシュベース攻撃ではDragonflyのhash-to-curveアルゴリズムを悪用し、タイミングベース攻撃ではhash-to-groupアルゴリズムを悪用します。これらの攻撃により漏洩した情報は、辞書攻撃のようにパスワード分割攻撃を実行するために使用できます。たとえば小文字の8-キャラクタのパスワードに対するブルートフォース攻撃では、40以下のハンドシェイクとAmazon EC2での125$相当のインスタンスが必要になるそうです。

    詳細な情報は一次情報源を御確認ください。ツール類(Access Pointのテストを行うツール等も一次情報源から提供されています。

    • CVE-2019-9494 (cache attack against SAE)
      • SAE side-channel攻撃
      • 脆弱性: hostapd(AP)とwpa_supplicantの両方に使われているSAEの実装方法に、幾つかのサイドチャネル攻撃の問題が見つかりました。SAE(Simultaneous Authentication of Equals)は”WPA3-Personal”としても知られています。今回発見されたサイドチャネル攻撃によって、観測できるタイミングの差とキャッシュアクセスパターンをベースとした使用パスワードの情報が漏洩する可能性が有ります。これにより、オフラインの辞書攻撃などと組み合わせることで、パスワードが辞書攻撃に対して強固でない場合には、パスワードを発見される可能性が有ります。
      • 修正方法: wpa_supplicatn/hostapdをv2.8以上のものに更新してください。
      • 緩和策: パスワードを辞書攻撃に対して強固なものに変更してください。
    • CVE-2019-9495 (EAP-pwd side-channel attack)
      • EAP-pwd side-channel攻撃
      • 脆弱性: hostapd(AP)とwpa_supplicantの両方に使われているSAEの実装方法に、幾つかのサイドチャネル攻撃の問題が見つかりました。EAP-pwdはパスワードからのPWD導出に同じような仕組みを使っているため、(攻撃方法が特定されたわけではありませんが)EAP-pwdの実装がSAW実装と同様の脆弱性を含んでいる可能性が有ります。
      • 修正方法:wpa_supplicatn/hostapdをv2.8以上のものに更新してください。
      • 緩和策:パスワードを辞書攻撃に対して強固なものに変更してください。
    • CVE-2019-9496 (SAE confirm missing state validation)
      • SAE confirm での検証の不足
      • 脆弱性: hostapdがAPとしてSAEをしようしている際に、不正な認証シーケンスによりhostapdプロセスがSAE confirmメッセージを処理する時、NULLポインタディリファレンスで終了してしまうことがわかりました。これはhostapd/APモードでSAE confirmメッセージを処理する際の検証に不備があったためです。
      • 修正方法:wpa_supplicatn/hostapdをv2.8以上のものに更新してください。
    • CVE-2019-9497 (EAP-pwd server not checking for reflection attack) , CVE-2019-9498 (EAP-pwd server missing commit validation for scalar/element) , CVE-2019-9499 (EAP-pwd peer missing commit validation for scalar/element)
      • EAP-pwdサーバの検証不備
      • 脆弱性: hostapd(EAP server)/wpa_supplicant(EAP peer)のEAP-pwdでの実装に不備があり、EAP-pwd-Commitメッセージ中のスカラーと要素値をきちんと検証していないことがわかりました。これにより、攻撃者がユーザのパスワードを知らなくてもEAP-pwd認証交換を完了できる攻撃が可能になります。
      • 修正方法:wpa_supplicatn/hostapdをv2.8以上のものに更新してください。

主なディストリビューションの対応状況

詳細は、各ディストリビューションの提供元にご確認ください



対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。


セキュリティ系連載案内


タイトルとURLをコピーしました