Wi-Fi認証の「Wi-Fi Protected Access II」（WPA2）に関する脆弱性の詳細な情報が10月16日、特設サイトで公開された。脆弱性は全部で10件あり、この脆弱性には「KRACKs」（key reinstallation attacks：鍵再インストール攻撃）という通称が与えられた。

情報を公開したベルギーのルーヴェン・カトリック大学のセキュリティ研究者、Mathy Vanhoef氏によると、一連の脆弱性はクライアント機器がWi-Fiのアクセスポイント（AP）と接続する際における「4ウェイ・ハンドシェイク」という処理に起因する。



「4ウェイ・ハンドシェイク」の流れ（Mathy Vanhoef氏、Frank Piessens氏の研究論文より抜粋） 「4ウェイ・ハンドシェイク」の流れ（Mathy Vanhoef氏、Frank Piessens氏の研究論文より抜粋）

4ウェイ・ハンドシェイクでは、クライアント機器がAPとの間で暗号化通信を行うために、認証や暗号鍵などに関するメッセージを複数やりとりする。その際にメッセージが失われたり、削除されたりする場合があり、APからクライアントに対してメッセージを再送信する。この時、クライアントが受信する暗号鍵が再インストールされ、やりとりしたパケットなどの情報がリセットされる。

攻撃者は、この仕組みを悪用して細工したメッセージを送り付ける手法などにより、暗号化されたパケットを復号して内容を盗聴したり、攻撃コードを埋め込んだり、ユーザーを不正サイトに誘導したりするといった、さまざまな攻撃を実行可能だという。

WPA2は、現在のWi-Fi暗号化通信における認証でセキュリティレベルが高いとされていることから、世界中で広く利用されている。Vanhoef氏は、この問題がWPA2の仕様によるものであり、個別の製品やその実装が原因ではないと解説。WPA2をサポートする大半の機器に影響が及ぶ可能性があり、WPA2が正しく実装された機器では影響を受ける可能性が高いという。

初期調査では、AndroidやLinux、Apple、Windows、OpenBSD、MediaTek、Linksysなどの製品で攻撃の影響を受けることが判明した。Vanhoef氏は、Android 6.0（Marshmallow）を搭載するデバイスで脆弱性の悪用を実証し、特にLinuxで広く普及しているWi-Fiクライアントの「wpa_supplicant」のバージョン2.4以上が致命的だと指摘。Android 6.0以降のバージョンは、Android全体の約41％を占めている。

脆弱性に関する情報は、今回の公表に先立って米US-CERTなどに提供され、8月下旬にUS-CERTからWi-Fi機器メーカーなどにも提供されている。脆弱性を修正するには、各メーカーが機器ごとに提供するパッチを適用しなければならないが、多くの機器で提供されるまでに、長い時間がかかるとみられる。

Vanhoef氏の見解では、現状でユーザーは、WPA2を介したWi-Fiの利用を慎重に行い、メーカーからパッチが提供されれば、速やかに適用すべきとしている。また今回、WPA2の危険性が指摘されたからといって、既にクラッキングが可能なWEPなど古い認証方式を利用すべきではないともアドバイスしている。

Vanhoef氏らの研究者グループは、脆弱性悪用の概念実証のためのスクリプトも公開している。Wi-Fi Allianceは16日、今回の脆弱性問題についてスクリプトを活用した脆弱性検査テストの準備を進めていることを明かし、機器メーカーらと協力して迅速に対処すると表明した。

※編集部より：初出時に「HTTPSやVPNなど別の手段でも、この脆弱性を悪用する攻撃に対して十分な保護にはなりづらいという。」との記載がありましたが、内容に誤りがありましたため、当該表記を削除いたしました。お詫びいたします。