2017年10月18日水曜日

Wi-Fi暗号化の主要プロトコルWPA2に脆弱性(KRACKs)10/18更新


Wi-Fiに暗号化通信の主流となっているWPA2について、プロトコルレベルの脆弱性が公開。(キー再インストール攻撃=)。
詳細は以下に記載されている。

・Key Reinstallation Attacks Breaking WPA2 by forcing nonce reuse
https://www.krackattacks.com/

発表までの流れと対応状況についてはpiyologがわかりやすい。

・WPA2の脆弱性 KRACKsについてまとめてみた(piyolog)
http://d.hatena.ne.jp/Kango/20171016/1488907259

攻撃の対象となっている4HandShakeの流れは以下の通り。
[]がハンドシェイクの部分。
図はWikipedia(en)より。
(1)アクセスポイント(以下AP)側とクライアント側(STA)ではお互いに共有キーを持っている(PSK=いわゆるWi-Fiパスワード…同時にPMK=共有マスターキーでもある)。
(2)PSKを元にそれぞれ(=ペアワイズトランジェントキーPTK)を生成。
(3)[1]APからメッセージ(ランダム文字列 Nonce=ANonce)を送付
(4)STAはANonceを元にテンポラリキー(PTK)を生成
(5)[2]STAはAPに自身のNonce(SNonce)にMIC(Message Integrity Code)を添付したものを送付
(6)APはSNonceを元にPTKを生成。
(7)[3]APはGroup Temporal Key(GTK)を生成、MICを添付してSTAに送付。
(8)[4]STAはキーをインストール後ACKを返送。
(9)AP側はACKを受信してキーをインストール、ハンドシェイク完了。

今回の脆弱性では、(8)の段階で再送信されるとキーが再インストールされ、Nonceがリセットされるという仕様が原因となっている。

つまり偽のおかわり(再送信)を出すことで、暗号化キーを攻撃者が取得可能となる脆弱性があったというもの。
さらに、LinuxやAndroidに至っては、実キーの再インストールではなく、オールゼロキーがインストールされるため、さらに傍受が容易になる問題点をもっており、Androidデバイスの50%(Android6.0以降)にこの問題点がある。

対策としては、クライアント側のパッチ対応でどうにかなるようなので随時提供されるであろうパッチ待ちとなる。

現在のところ
Windows:提供済み(詳細は後日アナウンス)
Andorid:数週間以内に提供(あとはベンダー次第)
MacOS/iOS:調査中

ということらしい。

(10/18追記)------------------------------------
国内メーカーの各製品ごとの脆弱性有無に関して、JVNに掲載された。
JVNVU#90609033
Wi-Fi Protected Access II (WPA2) ハンドシェイクにおいて Nonce およびセッション鍵が再利用される問題
http://jvn.jp/vu/JVNVU90609033/index.html


余談になるが…

セキュリティの観点から言うとPCはともかく、Androidを搭載した多くのモバイル端末では、ベンダーのサポートすらまともに提供されず放置されている端末が山のようにあり、しかもそれらが普通に売られていることが大問題。
昨年ウチの親がジャパネットで購入させられたY!mobileとのセット契約でタブレット(ファーウェイ製)はなんとAndroid4.2(笑)

高齢者のタブレットブームに脆弱性のあるすでにサポートの終わっている端末を平気で売る姿勢にちょっと怒りすら感じる。

Androidでも、下位互換性をなくす→脆弱性のある端末更新を促すという流れにならないかな。

0 件のコメント: