この記事は、シスコのセキュリティ リサーチ&オペレーションのなかの Cisco RSIRT(Product Security Incident Response Team)プリンシパル エンジニアである Omar Santos によるブログ「Perspective About the Recent WPA Vulnerabilities (KRACK Attacks)」(2017/10/16)の抄訳です。
10 月 16 日に、ルーヴェン カトリック大学の Mathy Vanhoef 氏と Frank Piessens 氏が論文を発表し、Wi-Fi Protected Access(WPA)と Wi-Fi Protected Access II(WPA2)プロトコルに影響を及ぼす一連の脆弱性について明らかにしました。一連の脆弱性はプロトコル レベルのもので、WPA と WPA2 の仕様に準拠したインフラ デバイスやワイヤレス クライアントが影響を受けます。これらの脆弱性は、KRACK(Key Reinstallation AttaCK:鍵再インストール攻撃)とも呼ばれており、https://www.krackattacks.com には詳細も公開されています。
影響を受けるシスコ製品
Cisco Product Security Incident Response Team(PSIRT)は、今回の脆弱性からシスコ製品が受ける影響を、シスコ セキュリティ アドバイザリ(英語 / 日本語)で公表しています。
※日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。
重要なのは、この問題を完全に修復するのに、影響を受けるアクセス ポイントとクライアントの両方に修正プログラムを適用する必要があるということです。インフラ側のワイヤレス デバイスにだけ修正プログラムを適用しても、一連の脆弱性は完全に解消されません。同様に、クライアントだけ修正しても、10 件の脆弱性のうち 9 件には対応できますが、CVE-2017-13082 に記載されている脆弱性は修正できません。
業界協調
Mathy Vanhoef 氏はこれらの脆弱性について、当初 Cisco PSIRT に報告しました。シスコは Unified Security Incident Response Plan(USIRP、セキュリティ インシデント統合対応プラン)を通じて、Industry Consortium for Advancement of Security on the Internet(ICASI、インターネットのセキュリティ向上を図る業界コンソーシアム)に連絡しました。
USIRP によって、ICASI メンバー企業による Product Security Incident Response Team(PSIRT、プロダクト セキュリティ インシデント レスポンス チーム)が発足しました。ここでは参加企業が団結し、多数の利害関係者が絡む複雑なインターネットのセキュリティ問題の迅速な解決を目指します。それらのセキュリティ問題には、一般的なソフトウェアの脆弱性、複数の ICASI メンバー企業に影響を及ぼすインシデント(緊急、突発的なもの)、戦略的な対応が必要な長期的/継続的な問題などが含まれます。
シスコは、これらの脆弱性の調査において、研究機関、CERT コーディネーション センター、Wi-Fi Alliance、および同業者などとも連携しています。
ICASI は、業界での協調と協働作業の概要を
http://www.icasi.org/wi-fi-protected-access-wpa-vulnerabilities で公表しています。
脆弱性の詳細および追加情報
一連の脆弱性には、以下の共通脆弱性(CVE)識別番号が割り当てられています。
- CVE-2017-13077
-
- 4-way ハンドシェイク中に Pairwise Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Pairwise Key をサプリカントに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がサプリカントとオーセンティケータの間に割り込み、過去にサプリカントとオーセンティケータの間で使用されたメッセージ交換を再送信する、などの手口が考えられます。
-
- CVE-2017-13078
-
- 4-way ハンドシェイク中に、Group Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Group Key をサプリカントに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がサプリカントとオーセンティケータの間に割り込み、過去にサプリカントとオーセンティケータの間で使用されたメッセージ交換を再送信する、などの手口が考えられます。
-
- CVE-2017-13079
-
- 4-way ハンドシェイク中に Integrity Group Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Integrity Group Key をサプリカントに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がサプリカントとオーセンティケータの間に割り込み、過去にサプリカントとオーセンティケータの間で使用されたメッセージ交換を再送信する、などの手口が考えられます。
-
- CVE-2017-13080
-
- Group Key ハンドシェイクの際に、Group Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Group Key をサプリカントに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がサプリカントとオーセンティケータの間に割り込み、過去にサプリカントとオーセンティケータの間で使用されたメッセージ交換を再送信する、などの手口が考えられます。
-
- CVE-2017-13081
-
- Group Key ハンドシェイクの際に、Integrity Group Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Integrity Group Key をサプリカントに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がサプリカントとオーセンティケータの間に割り込み、過去にサプリカントとオーセンティケータの間で使用されたメッセージ交換を再送信する、などの手口が考えられます。
-
- CVE-2017-13082
-
- Fast BSS Transition 再接続リクエストの再送信を受け入れ、その処理中に Pairwise Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、以前使用した Pairwise Key をオーセンティケータに強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者が FT ハンドシェイクを受動的に傍受し、サプリカントからオーセンティケータに再接続リクエストを再送信させる、などの手口が考えられます。
-
- CVE-2017-13084
-
- PeerKey ハンドシェイクの際に、Station-to-station link(STSL)の Transient Key(STK)が再インストールされる危険性があります。
- 近接する未認証の攻撃者が、以前使用した STK を STSL に強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者がステーション間に割り込み、過去にステーション間で使用したメッセージ交換を再送信させる、などの手口が考えられます。
-
- CVE-2017-13086
-
- Tunneled Direct-Link Setup(TDLS)ハンドシェイクの際に、TDLS PeerKey(TPK)Key が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、11z 標準に準拠したサプリカントに、過去に使用した TPK Key を強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者が TDLS ハンドシェイクを受動的に傍受し、サプリカントとオーセンティケータ間で過去に使用されたメッセージ交換を再送信させる、などの手口が考えられます。
-
- CVE-2017-13087
-
- Wireless Network Management(WNM)Sleep Mode レスポンス フレームの処理中に Group Key(GTK)が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、11v 標準に準拠したサプリカントに対して、過去に使用した Group Key を強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者が WNM Sleep Mode レスポンス フレームを受動的に傍受し、以前使用した同フレームを再送信させる、などの手口が考えられます。
-
- CVE-2017-13088
-
- WNM Sleep Mode レスポンス フレームの処理中に Integrity Ggroup Key(IGTK)が再インストールされる危険性があります。
- 近接する未認証の攻撃者は、11v 標準に準拠したサプリカントに対して、過去に使用した Integrity Ggroup Key を強制的に再インストールできる可能性があります。
- この脆弱性が不正利用されるシナリオとしては、攻撃者が WNM Sleep Mode レスポンス フレームを受動的に傍受し、以前使用した同フレームを再送信させる、などの手口が考えられます。
-
影響のカテゴリ
前述の脆弱性は、次の 2 つのカテゴリに分類できます。
- 「サプリカント」として動作するワイヤレス エンドポイントに影響を及ぼすもの
- 「オーセンティケータ」として動作するインフラ側のワイヤレス デバイスに影響を及ぼすもの
不正利用
不正利用これらの脆弱性を不正に利用する手法は、個々のデバイスの設定により異なります。不正利用に成功すると、未認証の攻撃者が、過去に使用した暗号、または Integrity Key を再インストールできるようになります(クライアントまたはアクセス ポイントのどちらで不正利用されるかは、脆弱性により異なります)。
公開された脆弱性を不正に利用して、過去に使用されていた鍵の再インストールに成功すると、攻撃者は再インストールされた鍵を使用してトラフィックを直接読み取り復号できる可能性があります。さらに攻撃者は、過去に確認されたトラフィックの偽造や再送信を試みる可能性もあります。
これらの攻撃は、ハンドシェイク メッセージを巧妙に再送信することで実行可能になります。
攻撃シナリオの例の詳細については、発表論文や KRACK 攻撃の Web サイトを参照してください。
すべてのケースで、攻撃者は攻撃対象のアクセス ポイント、ワイヤレス ルータ、リピータやクライアントの近くにいる必要があります。つまり攻撃者は、影響を及ぼすワイヤレス ネットワークの電波圏内にいる必要があります。
攻撃の検出方法
公開された攻撃手法のいくつかは、本物のアクセス ポイントとは別のチャネルにいる攻撃者が、同じ基本サービス セット識別子(BSSID)を提示しています。SSID は、企業や家庭のワイヤレス ネットワークやパブリック ホット スポットなどの WLAN を識別するプライマリ名です。
クライアント デバイスは、この名前を基にワイヤレス ネットワークを識別して参加します。これはシスコ エンタープライズ ワイヤレス アクセス ポイントで検出し、ワイヤレス LAN コント ローラー(WLC)からの通知によりユーザが行動を起こします。
WLAN に対するKRACK 攻撃には、次の 2 つの基本的な手口があります。
- AP インフラストラクチャの偽造:この方法には、別のチャネルで同じ MAC アドレスを生成することも含まれます。これは比較的容易な手法です。ただし、この攻撃は非常にわかりやすく、容易に検出できます。
- 正当な接続にフレームを挿入し、クライアントに反応させる:検出の難易度が上がりますが、NULL 鍵攻撃または初期化ベクトルの再利用を調べることで検出できます。インフラ側のワイヤレス デバイス(AP や WLC など)はデータ フレームを検出するために、現在の稼働チャネルで自身の MAC アドレスを含めたデータ フレームを送信します。この件については、ワイヤレス分野の SME が調査しています。
ワイヤレス LAN コント ローラー(WLC)で次の操作を行います。
ステップ 1:不正検出が有効になっていることを確認します。
ステップ 2:「管理されている SSID」を使用する不正な AP を悪意のあるものとしてフラグを立てるルールを作成します。
ステップ 3:[ワイヤレス(Wireless)] > [802.11a/n/ac] > [RRM] > [一般(General)] に移動し、[ノイズ/干渉/不正/Clean Air モニタリング対象チャネル(Noise/Interference/Rogue/Clean Air Monitoring Channels)] セクションの下の [チャネル リスト(Channel List)] が、[全チャネル(All Channels)] に設定されていることを確認します。
これらの推奨事項はワイヤレスのベスト プラクティスの一部で、『Rogue Management and Detection best practice document(不正管理および検出のベスト プラクティス ドキュメント)』に記載されています。
回避策
IEEE 802.11r または Fast BSS Transition(FT)(「高速ローミング」とも呼ばれる)をインフラ側のワイヤレス デバイスで無効にすることで、脆弱性のいくつかを軽減できる可能性があります。ただし高負荷環境で FT を無効にするとパフォーマンスが低下します。
FT キーの階層は、クライアントが各アクセスポイント(AP)で再認証せずに、AP 間で Fast BSS Transition できるように設計されています。最新の WLAN デバイスは FT をサポートしており、通常はデフォルトで有効化されています。FT が有効になっている場合、最初のハンドシェイクの際に、ワイヤレス クライアントと AP が Pairwise Transient Key(PTK)を事前計算できます。これらの PTK の鍵は、クライアントが新しいターゲット AP との再接続リクエストまたはレスポンスの交換をした後に、クライアントと AP に適用されます。FT を無効にすると、
ワイヤレス ネットワークが不安定になり、パフォーマンスが低下する可能性があります。ほとんどの環境では FT の無効化を回避策として採用していないのはそのためです。
これらの脆弱性に対する回避策はまだ確立されていません(CVE-2017-13082 に対する回避策は特定されています)。
修復
シスコでは、影響を受ける製品に対して修正プログラムの提供を開始しています。影響を範囲が拡大した場合は、修正プログラムを順次公開します。影響を受けるすべての製品と、利用可能な修正プログラムの詳細については、シスコ セキュリティ アドバイザリ(英語 / 日本語)を参照してください。
※日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。