WPA1,WPA2も脆弱ならもう無線LAN通信自体危険な状態ってこと?KRACKの危険性とは?
KRACK(Key Reinstallation AttaCKs)を日本語に訳すと鍵再インストール攻撃です。
WPA1,WPA2ともに該当する脆弱性で、通信の暗号化が解除されて内容を盗聴されたり、通信を乗っ取られたりする可能性があります。WPAが脆弱になったとはいえ、間違ってもWEPに切替えたりはしないでください。(Aircrack-ngスイート等で10秒ぐらいでクラックされます)
重要なのは「HTTPSの通信内容は見ることができない」ということです。(VPNも同様)
とは言えすでにPOC(実証コード)は(poc-krack)等として攻撃方法知れ渡っているため、まずは対策を記載します。仕組みの解説は後半で記載します。
※動画での解説は記事の最後の段落に記載しておりますのでご参考ください。
KRACK脆弱性への対策は
1.更新(アップデート)を行う
Windowsは10月の月例セキュリティ更新プログラムでこの脆弱性に対応しているそうなので
更新は必ず行うことを推奨します。
バッファローは近日公開(http://buffalo.jp/support_s/t20171017.html)とのことです。
Ciscoも近日公開だそうです。いずれにせよ、家やオフィスが無線環境の方はメーカーのサイトをウォッチしておきましょう。
2.HTTPS(SSL/TLSで暗号化された)サイト以外で買い物しない
キャリアの方はWifiはオフにしてデータ通信(3G・4G・LTEなど)に切り替えましょう。
特にスマホの買い物を行う際は、Wifiで接続し、アプリで買い物した際に通信が暗号化されていないアプリだと、クレジットカード情報などの決済情報が盗まれる可能性が十分にあります。
アプリからの通信が確認できない場合はなるべく、ブラウザ上からSSL暗号化の鍵マークを確認できるサイトからの購入とすることを推奨します。
特にwpa_supplicantを利用している Android 6.0 以降では特に脆弱で、簡単に傍受と悪用ができるので対策は必須かと思われます。
KRACK脆弱性の解説
WPA2 プロトコルは 4-ウェイハンドシェイクを採用しています。
KRACKの脆弱性では4ウェイハンドシェイクの3つ目の通信の際にデータフレーム暗号化用の暗号化キーがダンロードされる仕様に着目します。
無線通信ではメッセージが失われることを考慮してアクセスポイント(AP)は、確認応答として適切な応答を受信しなかった場合、メッセージ3を再送信します。それによりクライアントはメッセージ3を複数回受信することになります。このメッセージを受信する度、同じ暗号化キーを再インストールし、暗号化プロトコルで使用される増分送信パケット番号(nonce)と受信再生カウンタをリセットします。
KRACKの脆弱性とは4ウェイハンドシェイクの3つ目のメッセージの再送信を収集して再生することによって、増分送信パケット番号(nonce)を強制し、攻撃者が使用中のキーを再インストールすることができてしまう脆弱性です。
なぜそんなことができてしまうかというとリセットされた場合に過去にすでに使用されているnonce値と同じ暗号化キーが使用されるからです。
さらにAndroidやLinuxの場合はこの暗号化キーに「0」を設定することも可能なため、他の端末に比べてより簡単にデバイスを乗っ取ることができるそうです。
英文の耐性がある方はMathy Vanhoef氏 の論文(PDF)を読むのが最も深く理解できる早道かもしれません。
KRACK脆弱性の関連情報
最後に日本語字幕付きでKRACKの解説動画が公開されているので内容を確認しましょう(歯車を押すと字幕の設定ができます)
また、関連脆弱性は以下の通りですが、枝葉(派生)を抑えることも大切ですが、根本(脆弱性の根本原理)を理解することがより大切です。
- CVE-2017-13077:4ウェイハンドシェイクでペア暗号化キー(PTK-TK)を再インストールする。
- CVE-2017-13078:4方向ハンドシェイクにおけるグループキー(GTK)の再インストール。
- CVE-2017-13079:4ウェイハンドシェイクにおけるインテグリティグループキー(IGTK)の再インストール。
- CVE-2017-13080:グループ鍵ハンドシェイクにおけるグループ鍵(GTK)の再インストール。
- CVE-2017-13081:グループ鍵ハンドシェイクにおける整合性グループ鍵(IGTK)の再インストール。
- CVE-2017-13082:再送された高速BSS移行(FT)再関連付け要求を受け入れ、ペアワイズ暗号化キー(PTK-TK)を処理中に再インストールします。
- CVE-2017-13084:PeerKeyハンドシェイクにおけるSTKキーの再インストール。
- CVE-2017-13086:TDLSハンドシェイクにおけるTunneled Direct-Link Setup(TDLS)PeerKey(TPK)キーの再インストール。
- CVE-2017-13087:ワイヤレスネットワーク管理(WNM)スリープモード応答フレームを処理する際のグループキー(GTK)の再インストール。
- CVE-2017-13088:ワイヤレスネットワーク管理(WNM)スリープモード応答フレームを処理する際のインテグリティグループキー(IGTK)の再インストール。
パッチが出揃うのにはまだまだ時間がかかる可能性があるので、本記事上部にあるように重要な情報のやりとりにはHTTPSサイトを利用し、WiFiを利用しない選択が可能ならばなるべく利用しない対応を推奨します。
以上です。お役に立てれば幸いです。