Broadcom製チップセットの脆弱性(CVE-2012-2619)の実証コードを試してみた

2012年10月、Core Security Technologies が Broadcomチップセット「BCM4325」と「BCM4329」のファームウェアにおける DoS脆弱性CVE-2012-2619)を公表しました。この脆弱性は、「Nexus S」や「iPhone 4」、「iPad 2」など多くのデバイスが影響を受けました。「iPad 2」に対して、この脆弱性の実証コード*1を試してみました。
なお、iOS では iOS 6.1 でこの脆弱性修正されており、最新バージョンを使用していれば「iPhone 4」や「iPad 2」は影響を受けません。

実証環境

実証コードの実行環境は、下図の通りです。「Pocket Wifi GP02」を介して、「iPad2」がインターネットにアクセスできる状態で、BackTrack 5 上で CVE-2012-2619 の実証コードを実行しました。実証コードを実行するため、BackTrack 5 では LorconPyLorcon2 をインストールしました。


この実証コードを実行すると、無線 LAN(IEEE 802.11)の電波圏内に問題のある Beacon フレームを送信します。この性質から、無線 LAN の電波圏内に僕の「iPad 2」以外に影響を受けるデバイスがあった場合、それらにも影響を与えてしまいます。そのため、実証コードを実行する場所では影響を受けそうなデバイスが他にないことをあらかじめ確認しました。

実施場所における周囲にあるデバイスの確認

まず、「airodump-ng」を 10 数分程度実行して、無線 LAN インターフェイス「wan1mon*2」が受信する無線 LAN フレームから周囲にあるデバイスMAC アドレスを収集しました(下記 1 行目)。続いて、収集した MAC アドレスから製造メーカを示す OUI(Organizationally Unique Identifier) を取り出しました(下記 2 行目)。

# airodump-ng -w airodump-ng_result --output-format csv wlan1mon
# grep -E "^([0-9a-fA-F]{2}\:){5}[0-9a-fA-F]" airodump-ng_result-01.csv | cut -c -8 | sort | uniq > oui.csv


最後に、取り出した OUI の一覧を Wireshark の「OUI Lookup Tool」 に入力して、製造メーカを特定しました。「OUI Lookup Tool」の結果は下記となります。
OUI「1C:1D:67」、「28:6A:BA」、「A0:0B:BA」は、「Pocket Wifi GP02」、「iPad2」、「Galaxy Nexus(SC-04D)」の MAC アドレスから得られたものでした。その他の 4 つの OUI が周囲にあるデバイスから得られたものでした。これら 4 つの製造メーカと、アドバイザリの [4. VULNERABLE PACKAGES] に掲載されているデバイスを照らし合わせました。この結果、周囲に影響を受けそうなデバイスがおそらくないだろうと判断して、実証コードを実行しました。

00:1B:77 Intel Corporate
00:1D:73 Buffalo Inc.
00:24:A5 Buffalo Inc.
00:26:87 ALLIED TELESIS, K.K corega division.
1C:1D:67 Huawei Device Co., Ltd
28:6A:BA Apple, Inc.
A0:0B:BA SAMSUNG ELECTRO-MECHANICS

実証結果

実証コードを実行すると、1 秒間あたり 20 フレームの問題のある Beacon フレームが送信されました(CloudShark)。Wireshark でこの Beacon フレームを確認したところ、802.11 の Information Element「RSN Informaition」の「Auth Key Management (AKM) Suite Count」に 0xff 0xff が設定されていました。


CVE-2012-2619 の実証コードを実行したときに、「iPad 2」にて次の 3 つの事象を確認しました。これらの事象から、CVE-2012-2619 の実証コードを実行していると、影響を受けるデバイスでは無線 LAN 接続が切断され、無線 LAN を介してインターネットに接続できなくなることが分かります。

  1. Pocket Wifi GP02」との接続が切断された。
  2. 近隣の無線 LAN アクセスポイントを探索しても見つからない。
  3. 無線 LAN アクセスポイントの探索が完了しない。

実証コードを実行したときの「iPad 2」の様子については、下記の動画*3をご覧ください。


所感

この脆弱性による影響は「無線 LAN を介した通信の妨害」のみ(確認した限り)のようですが、実証コードが悪用される場所によっては影響力が大きくなるように感じました。Wifi 版「iPad 2」を使っている身としては、自宅近辺でこの実証コードを実行され続けたら、「iPad 2」でのネットワーク接続ができなくなるので嫌ですね...

*1:Core Security Technologies のアドバイザリの 8.1. PROOF OF CONCEPT に掲載されている実証コードを使用しました。

*2:Monitor モードの無線 LAN 論理インターフェイス

*3:動画では、「AviUtil」で「GP02」の SSID をモザイク処理しています。