期待のネット新技術
「FragAttack」を悪用した攻撃の足掛かりとなる脆弱性
【利便性を向上するWi-Fi規格】特別編(6)
2021年6月29日 06:00
【光Ethernetの歴史と発展】編も、そろそろ終盤に差し掛かったところではあるが、既報の通り、ニューヨーク大学アブダビ校のMathy Vanhoef氏が発見した、Wi-Fiのプロトコルそのものに起因する脆弱性の仕組みや対処法について、解説していきたい。
ちなみに、今回の脆弱性は、2017年に11月に「WPA2/WPA」の脆弱性を発見して公表したMathy Vanhoef氏が、オープンソースのWi-Fiスタックを分析し、IEEE 802.11の規格を体系的に調査していく中で新たに発見したものだそうだ。
「利便性を向上するWi-Fi規格」記事一覧
- Wi-Fiにおけるメッシュネットワークの必要性
- Wi-Fiメッシュ標準「IEEE 802.11s」策定の流れと採用技術
- Wi-Fiメッシュで通信コストを最小化する仕組みとは?
- 「IEEE 802.11s」策定までの流れと採用技術
- 11s非準拠のQualcomm「Wi-Fi SON」がWi-Fiメッシュの主流に
- 「Wi-Fi SON」製品は相互非互換、Wi-Fi Allianceは「EasyMesh」発表
- 最初のWi-Fi暗号化規格「WEP」、当初の目論見は“有線LAN同等のセキュリティ”
- Wi-Fi暗号化は「WPA」から「802.11i」を経て「WPA2」へ
- より強固になった「WPA」で採用された「TKIP」の4つの特徴
- 「AES」採用の「IEEE 802.11i」「WPA2」、11n普及で浸透
- WPA/WPA2の脆弱性“KRACKs”、悪用のハードルは?
- 4-way Handshake廃止で「SAE」採用の「WPA3」、登場は2018年末?
- SSID&パスフレーズをボタンを押してやり取りする標準規格「WPS」
- ボタンを押してSSID&パスフレーズをやり取りする「WPS」の接続手順
- WPSのPIN認証における脆弱性を解消した「WPS 2.0」
- フリーWi-Fi向け「Wi-Fi CERTIFIED Enhanced Open」で傍受が不可能に
- 暗号鍵を安全に共有する「Wi-Fi CERTIFIED Enhanced Open」
- 「IEEE 802.11u」がPasspoint仕様である「Hotspot 2.0」のベースに
- 国内キャリアも採用のホットスポット提供指標「WISPr」
- ホットスポットでの認証の問題を解消した「HotSpot 2.0」
- 【特別編1】全Wi-Fi機器に影響、脆弱性「FragAttack」の仕組みは?
- 【特別編2】脆弱性「FragAttack」悪用した攻撃手法とは?
- 【特別編3】脆弱性「FragAttack」を悪用する3つ目の攻撃シナリオとその手法
- 【特別編4】A-MSDUを悪用する「Frame Aggregation」を利用した攻撃の流れ
- 【特別編5】「Mixed Key Attack」を利用した攻撃シナリオとその手法
- 【特別編6】「FragAttack」を悪用した攻撃の足掛かりとなる脆弱性
- 【特別編7】Wi-Fiの脆弱性「FragAttack」を悪用した攻撃への対策とは?
攻撃の足掛かりとなる脆弱性「Non-Con」「Plain. frag.」「Bcast. frag.」「Fake eapol」
『【特別編3】脆弱性「FragAttack」を悪用する3つ目の攻撃シナリオとその手法』で紹介した「Fragment Cache Poisoning」の攻撃手法に関して言えば、手順はほぼMixed Key Attackと同じであり、実際に攻撃を行うためにはネットワークドライバーにパッチを当てる必要があったそうだ。
右の結果を見ると、Windowsと、Android、iOSは影響を受けておらず、また、業務用ルーターも影響とは無縁だ。その一方で、macOSと家庭用ルーター、さらにカメラやRaspberry Pi Nanoなどは全滅だ。
Windows/Linuxのネットワークドライバー(左下の表)で言えば、影響するものとしないものが、さまざまにまじりあっている格好だ。右下の表を見ると、FreeBSDに関しては見事に全滅となっている一方で、NetBSDやOpenBSDには影響がない。
さて、3種類の攻撃手法の説明は以上だが、テスト結果の一覧には、ほかにNon-Con.(Non-consecutive packet numbers)、Plain. frag.(Mixed plaintext and encrypted fragments)、Bcast. frag.(Broadcast plaintext fragments)、Fake eapol(Cloaking A-MSDUs as handshake frames/Cloaking A-MSDUs as handshake frames/EAPOL forwarding & fragmentation)という結果も示されている。
これは、3種類の攻撃について、その足掛かりというか、攻撃の基礎となる脆弱性を単体で確認したものだ。これらの説明もしておこう。
Non-Con
まずNon-Conは、「CVE-2020-26146」として認識されているが、要するにFragmentのパケット番号が連続しているかどうかのチェックをしないという脆弱性だ。
受信側がこれを行わないと、受信したFragmentが同じFrameに属しているかどうかが確認できないことになる。今回のテストで言えば、Fragmentをサポートする68台の機器の内、実に52台がこの脆弱性を内包していた。この脆弱性を突いて、異なるパケットのFragmentを混ぜることでユーザーデータを流出させる攻撃が可能としている。
この脆弱性は、CCMPとGCMP、それと再構成されたFrameが検証されていない場合にはTKIPにも影響を与える。面白いのは、2013年に導入されたGCMPでは暗号化されたFragmentが連続したPNを持たなければならない、とはSpecificationで要求されていなかったことだ。
2015年にIEEE 802.11のWorkgroupがこの問題に気付き、GCMPでもPNのチェックを行うようSpecificationが改定された。ただ、これが理由で、LinuxのVersion 4.0~4.4でGCMPを利用すると、Fragmentを再構成する際にPNのチェックが行われないままとなっている。
Plain. frag.
次のPlain. fragは、「CVE-2020-26147」として認識されており、暗号化されたFragmentと暗号化されない平文のままのFragmentを再構成してしまう、という脆弱性だ。これを悪用すると、攻撃者は暗号化されたFragmentを平文のFragmentへと置き換えられてしまう。以下がそのテストだ。
左が黒、右が白の丸:最初のFragmentが暗号化されていることを要求、21台
左が白、右が黒の丸:最後のFragmentが暗号化されていることを要求、9台
黒の丸 :Fragmentの1つが暗号化されていることを要求、3台
ほかに11台は平文だけのFrameも受け付けているが、これは「CVE-2020-26140」として認識されている脆弱性だ。また、9台が、平文のFragment Frameは受け付けるものの、Fragmentされていない平文のFrameは受け付けないという問題(CVE-2020-26143)を抱えており、前者は雷の、後者は「◎」のマークで示されている。68台のデバイスのうち53台が、このように何らかの脆弱性を抱えているわけだ。
ちなみに、LinuxにおけるDefragmentationのインプリメントでは、FragmentのPNが連続しているかどうかをチェックすることでFragmentが暗号化されているかを確認する仕組みを採用している。
ただ、その実装を見ると、Frameの復号後にPNをセッション変数に格納して、FragmentのPNと比較する仕組みになっているが、結果として(2つ目の)平文Fragmentを受信した際に、単に前のFragmentのPNと番号が連続しているかどうかだけをチェックしており、それが平文か暗号化されているかまでチェックしていない。
このため、連続したPNを持つが異なるシーケンス番号の、有効な暗号化Fragmentをまず転送し、その後で正しいシーケンス番号を持つ平文Fragmentを注入するという手順で、このPNチェックを回避できるとしている。
Bcast. frag.
Bcast. frag.は、本来FragmentされないBroadcast FrameをFragmentして送り付けた場合に、これを受け取ってしまうという問題である。実際、いくつかのデバイスは、このFragmentされたFrameを、FragmentしていないFrameとみなして処理してしまう。
また、セキュアなネットワークで暗号化されていないBroadcast Fragmentが送信された際に、2回目以降のBroadcast Fragment Frameを受け入れてしまう機器も存在する。これは「CVE-2020-26145」として認識されている脆弱性でもある。
これを悪用し、2つ目のFragment化されたFrameにパケットをカプセル化して注入することが可能だ。こちらの影響を受ける機種はそれほど多くはないが、それでも影響を受ける機種があることが、結果から確認できる。
なお、先の表における「TWFM-B003D」に記された上が白で下が黒の丸は、4-way Handshakeの実行中にのみ、この問題の影響を受けるということを示している。
Fake eapol
Fake eapolのうち、まずCloaking A-MSDUs as handshake framesについて。クライアントはネットワークに接続する際に平文の4-way Handshakeを受け入れるが、この際に実装を誤ると、平文のA-MSDUを注入できてしまう。これは「CVE-2020-26144」として認識されている脆弱性である。これを悪用して、4-way Handshakeを実行中に平文のA-MSDUを注入できるというものだ。
実際、「AWUS036ACH」をWindows 10で利用している環境に対して、これを悪用した攻撃を行うと、BSOD(Blue Screen of Death)が発生した。さらに、一部製品の実装には、A-MSDUの最初の8Bytesが有効なLLC/SNAPヘッダーと一致する場合、それを削除して取り扱うというものがある。これはSpecificationにそぐわない実装で、攻撃を防ぐことができない。
次がFake eapolのうちEAPOL forwarding & fragmentationだ。クライアントはネットワークに接続する際に、平文の4-way Handshakeを受け入れる必要がある。ただ、一部機種では、そのHandshakeのFrameが、ネットワーク上のほかのクライアントに宛てたものだったとき、送信側の認証が済んでいなくても、これを転送してしまうという脆弱性「CVE-2020-26139」がある。
このFake eapolに関する2つの問題を抱えているのは、FreeBSDとNetBSD AP、ASUS「RT-N10」、Linksys「WAG320N」など特定の家庭向けアクセスポイントである。攻撃者はこれを悪用し、マルチチャネルのMitM(Man-in-the-Middle)ポジションを利用してA-MSDU攻撃を行える。
WindowsやmacOSでの影響はないが、家庭用ルーター(と業務用でもLANCOM「LN-1700f」)では影響があるほか、FreeBSDも全滅に近い。また、Windowsでもドライバーの作り次第ではBSODが発生するため、問題は決して軽微と言えるものではない。
「周波数帯を拡張するWi-Fi 6E」記事一覧
「Wi-Fi高速化への道」記事一覧
- 20年前、最初のWi-Fiは1Mbpsだった……「IEEE 802.11/a」
- ノートPCへの搭載で、ついにWi-Fi本格普及へ「IEEE 802.11b/g」
- 最大600Mbpsの「IEEE 802.11n」、MIMO規格分裂で策定に遅れ
- 1300Mbpsに到達した「IEEE 802.11ac」、2013年に最初の標準化
- 「IEEE 802.11ac」のOptional規格、理論値最大6933Mbps
- 「IEEE 802.11ac」でスループット大幅増、2012年に国内向け製品登場
- 11ac Wave 2認証と、ビームフォーミングの実装状況
- 「IEEE 802.11ad」普及進まず、「IEEE 802.11ax」標準化進む
- 「IEEE 802.11ax」は8ユーザーの同時通信可能、OFDMAも採用
- 「IEEE 802.11ax」チップベンダーとクライアントの製品動向
- 11ad同様に60GHz帯を用いる「WiGig」、UWBの失敗を糧に標準化へ
- 最大7GbpsのWiGig対応チップセットは11adとの両対応に
- 11adの推進役はIntelからQualcommへ
- 次世代の60GHz帯無線LAN規格「IEEE 802.11ay」
- 60GHz帯の次世代規格「IEEE 802.11ay」の機能要件
「利便性を向上するWi-Fi規格」記事一覧
- メッシュネットワーク編【1】【2】【3】【4】【5】【6】
- Wi-Fi暗号化編【1】【2】【3】【4】【5】【6】
- WPS(SSID&パスフレーズ交換)編【1】【2】【3】
- フリーWi-Fiスポット向け接続規格編【1】【2】【3】【4】【5】【6】
- スマホでQRコードを読み取り、ほかの機器をWi-Fi接続する「Wi-Fi Easy Connect」
- Wi-FiでVoIPを実現する音声伝達向け規格「Wi-Fi CERTIFIED Voice-Personal」
- Wi-Fi子機同士を直接接続する「Wi-Fi Direct」
- 高精度の屋内測位機能を提供する「Wi-Fi CERTIFIED Location」
- Wi-Fiで100μs精度の時刻同期ができる「Wi-Fi CERTIFIED TimeSync」
- 公衆Wi-Fiアクセスポイント向けの「Wi-Fi CERTIFIED Vantage」
- 同一LAN内移動時のローミングなどを規定した「Wi-Fi CERTIFIED Agile Multiband」
- 異なるESSIDのへの接続を高速化「Wi-Fi CERTIFIED Optimized Connectivity」
- 11axはCBRSとあわせて伸びる分野~Ruckus Networksインタビュー1
- 11axはCBRSとあわせて伸びる分野~Ruckus Networksインタビュー2