ニュース
Broadcom Wi-Fiの脆弱性「Broadpwn」詳細。ワームの悪夢再び
~Wi-Fiをオンにしているだけで突かれる可能性、Galaxy/Nexus/iPhoneなどが標的に
2017年7月28日 18:58
セキュリティ研究者のNitay Artenstein氏は26日、BroadcomのWi-Fiチップ「BCM43xx」ファミリに任意のコードを実行できる脆弱性「Broadpwn」の詳細を発表した。悪用されれば、2000年前後に流行した“ワーム”の悪夢が再来すると警鐘を鳴らしている。なお、Appleの「iOS 10.3.3」および「macOS Sierra 10.12.6」ではこの脆弱性が修正されている。
BroadcomのBCM43xxファミリは、SamsungのGalaxy S3からS8までのすべての製品およびGalaxy Note 3、GoogleのNexus 5/6/6X/6P、そしてiPhone 5以降のすべてのiPhoneに入っており、これらのデバイスを対象にこの脆弱性が悪用される可能性がある。
BCM43xxのチップは、Cortex-R4マイクロコントローラ、および独自のプロセッサをベースとしており、前者はMACおよびMLMEレイヤーをハンドルし、後者は802.11物理層を担う。起動時には、Cortex-R4側でプログラムがRAMに読み込まれる。しかしこのRAM領域はASLR(Adress Space Layout Randomization:アドレス空間配置のランダム化)およびDEP(Data Execution Prevention)の機能がなく、すべての領域にRWX(読み込み/書き込み/実行)パーミッションが与えられていたという。そこでNitay氏はこのRAM領域でプログラムが実行できないかどうか研究した。
このCortex-R4はHNDRTEと呼ばれる“ミステリアスな”独自のリアルタイムOSを動作させている。HNDRTEのソースコードはプロプライエタリで、公開されていない。しかし以前、VMG-1312と呼ばれるBroadcomのチップセットを使用したWi-Fiルーターで、BroadcomはLinux向けのオープンソースドライバとともにプロプライエタリのドライバのソースコードを流出しており、そのなかから糸口を見つけることにしたという。
もう1つの課題は、攻撃するターゲットと同じネットワーク内にいない状態で、どうやってWi-Fiチップ内に侵入するかであった。そこで研究者らはIEEE 802.11アソシエーションの挙動に着目した。
IEEE 802.11は暗号化通信が行なわれる前にも通信が行なわれている。それがアクセスポイントを探している段階だ。端末はまずアクセスポイントに対してプローブリクエストを投げ、アクセスポイントからレスポンスが返される。そのあと、サポートされている暗号化タイプや802.11の機能などを含むデータもやりとりされる。実際の暗号化通信はこのシーケンスのあとに行なわれるため、このシーケンスでMACアドレスやSSIDを偽装したり、認証を経ずにバグを引き起こすことが可能になる。
Broadcomは802.11のさまざまなプロトコル、およびファームウェア自体のさまざまな機能を容易に処理するために、モジュラー構造でこのシーケンスを実装しており、それが「wlc_attach_module」である。そしてこの中の関数を絞り込んでいったところ、トラフィックの優先順位を設定するワイヤレスマルチメディアエクステンション(WMM)の関数「wlc_iem_add_parse_fn」にバグを見つけた。
このプログラムで、バッファ「current_wmm_ie」が大きさ「ie」のデータを保持するのに十分な大きさであることを確認せずに、関数「memcpy()」を呼び出した。研究者が実際に試したところ、current_wmm_ieは44バイト分のメモリをアロケートしたが、ieの最大サイズは255バイトで、211バイト分オーバーフローしたという。
オーバーフローしたコードは「wlc_pm_st」の型となり、省電力モードに入る、もしくは省電力モードを続けるといった電力管理状態を表示する。しかし、この構造体内でデータを上書きしてもシステムがクラッシュしない領域、そしてSSID文字列を保持していた隣接する構造体の領域を合わせても44バイトしかなく、有意義なプログラムを置くことはできない。
そこで研究者たちは、さきほどの領域を実際のプログラムにジャンブするスタブとして、実際プログラムのペイロードとしてより大容量なリングバッファ(スキャンしたSSIDの情報を保持指定おく場所)に置くことにした。
最後は、Broadcomのチップから脱してメインのアプリケーションプロセッサ上のコード実行に昇格することだが、現在主に3つのアプローチが考えられている。
1.Broadcomのカーネルドライバのバグを見つけること。ただしこの方法は困難であり、下手すればシステムがクラッシュしてしまい意味がない。
2.PCI Expressバスを使いカーネルメモリを直接読み書きする。
3.攻撃対象がHTTPS以外のサイトを参照するのを待ち、Wi-Fiチップから悪意のあるURLにリダイレクトする。ただしWebブラウザごとにエクスプロイドチェーンを用意する必要がる。
現在の研究対象は主に3番となっており、すでに研究者は暗号化されていないHTTPトラフィックを発見する関数を見つけている。
ブログの最後で、このBroadpwnは初めての「Wi-Fiワーム」であると位置づけた。同研究で、混雑した都市部で約1時間モニタリングしたところ、Probe Requestで数百のSSID名を盗聴し、このうち約70%がBroadcomのWi-Fiチップであったという。このため、Broadpwnを悪用したプログラムがもし出回れば、数日間の内に巨大な影響を及ぼすだろうとしている。
楽天市場 売れ筋ランキング
Amazon売れ筋ランキング
Anker Soundcore P40i (Bluetooth 5.3) 【完全ワイヤレスイヤホン/ウルトラノイズキャンセリング 2.0 / マルチポイント接続 / 最大60時間再生 / PSE技術基準適合】オフホワイト
¥7,990
イヤホン bluetooth ワイヤレスイヤホン 48時間の再生時間 重低音 LEDディスプレイ表示 小型/軽量 IPX7防水 ブルートゥース 接続瞬時 Hi-Fi ブルートゥースイヤホン Type-C 急速充電 ぶるーとぅーすイヤホン iPhone/Android/Pad適用 スポーツ/通勤/通学/WEB会議 (ホワイト)
¥39,999
【VGP 2025 金賞】EarFun Air Pro 4 ワイヤレスイヤホン Bluetooth 5.4/50dBアダプティブ式 ハイブリッドANC/最先端チップ「QCC3091」aptX Losslessに対応/ハイレゾ LDAC対応/Snapdragon Sound™ に対応/Auracast™に対応/52時間連続再生【6マイクAI 通話/PSE認証済み】 装着検出機能 (ブラック)
¥9,990
EarPods with 3.5 mm Headphone Plug
¥2,668
Anker Soundcore Liberty 4(Bluetooth 5.3)【完全ワイヤレスイヤホン/ウルトラノイズキャンセリング 2.0 / 3Dオーディオ / ワイヤレス充電/マルチポイント接続/外音取り込み / 最大28時間再生 / ハイレゾ / IPX4防水規格 / ヘルスモニタリング/PSE技術基準適合】ミッドナイトブラック
¥14,990
by Amazon 炭酸水 ラベルレス 500ml ×24本 強炭酸水 ペットボトル 500ミリリットル (Smart Basic)
¥1,409
by Amazon 天然水 ラベルレス 500ml ×24本 富士山の天然水 バナジウム含有 水 ミネラルウォーター ペットボトル 静岡県産 500ミリリットル (Smart Basic)
¥1,173
コカ・コーラ い・ろ・は・す天然水ラベルレス 560ml ×24本
¥2,131
キリン 自然が磨いた天然水 ラベルレス 水 2リットル 9本 国産 天然水 ミネラルウォーター ペットボトル 軟水
¥2,722
い・ろ・は・すラベルレス 2LPET ×8本 【Amazon.co.jp限定】
¥1,168