テキサス・インスツルメンツ、ArmisのBluetoothチップの脆弱性を回避

Table of Contents

テキサス・インスツルメンツ、ArmisのBluetoothチップの脆弱性を回避

テキサス・インスツルメンツ社は、チップセットの脆弱性に関するより詳細な説明が明らかになった後、いわゆる「Bleedingbit Bluetooth Low Energy」の脆弱性に関する情報セキュリティ研究者の調査結果をやや弱々しく否定した。

ひざを擦りむいて泣き叫ぶ

TIチップの脆弱性によりIT Wi-Fiキットが危険にさらされる:BleedingBitチップセットの脆弱性により、ワイヤレスゲートウェイが乗っ取られる危険性がある

続きを読む

先週ロンドンで行われたBlack Hatで、リサーチ会社ArmisのBen Seri氏とDor Zusman氏は、11月に発見したTI製Bluetooth Low Energy(BLE)チップの乗っ取り方法について詳細に語った。

影響を受ける2つのチップ(CC2640とCC2650)は、CiscoおよびArubaの無線APの複数のモデルに搭載されています。Armisが侵入に成功したのは、チップのファームウェア更新方法でした。この方法は、暗号化されていない接続を介してファームウェアをアップロードするものでした。アップロードは認証が必要でした。

Seri 氏と Zusman 氏は、Black Hat でのプレゼンテーションで、メモリ破損問題をどのように引き起こしたかについて詳細に説明し、そのおかげでチップとそれが組み込まれているルーターを乗っ取ることができたと述べている。

両氏によると、BLEチップがアドバタイジングパケット(他のデバイスが自身の存在を認識して接続できるようにするため)をブロードキャストする際、パケットのヘッダーには「長さ」と記されたフィールドが含まれるという。このフィールドは、廃止されたBluetooth 4.2仕様では「6ビットの長さ」とされている。2年前に導入されたBluetooth 5.0では、この長さが8ビットに拡張された。

セリ氏によると、TIの影響を受けるチップは、Bluetooth 4.2と5.0の両方のアドバタイジングPDUを問題なく処理し、受信パケットの長さをチェックし、長さフィールドの「欠落」した最後の2ビットを無視することで、4.2仕様のメッセージを実行します。これらの2ビットは4.2仕様では将来の使用のために予約(RFU)されていましたが、後にBluetooth 5.0では長さフィールドの一部として完全に組み込まれました。Armisはチップのファームウェアをリバースエンジニアリングし、長さ認証を回避してチップを騙し、RFU予約ビットを読み取って実行させることで、長さ超過の4.2仕様メッセージを実行させる方法を発見しました。

それを行った後、彼らはチップをクラッシュさせる組み合わせが見つかるまで、長さフィールドの「余分な」ビットをそれぞれオンにしたという。

バッファオーバーフローを誘発する最初の試みを阻止した二次的なコード検証方法を発見した後(ザスマン氏は最終的な「エクスプロイトの成功率は50%」と認めている)、Armisの研究者たちは、チップに「アドレス空間レイアウトのランダム化機能がない」ことを突き止め、「(我々の)目的のメモリを含むパケットを(チップに)散布」してICall_ valuesメモリオーバーフローを誘発した。そこから彼らは、チップのメモリが制御可能なループで動作するようになるまで、ペイロードをカスタマイズすることができた。

ザスマン氏はブラックハットの聴衆にこう語った。

まずシェルコード環境を構築し、GAPタスクを停止します。バックドアをインストールし、脆弱性をトリガーしたデータエントリを自身にリンクさせ、次のトリガーでクラッシュしないようにします。次に2つの変数を復元し、再度実行されないようにCiscoゲートウェイから接続を解除します。これで基本的に完了です。わずか32バイトでAPを攻撃できたのです。

完全な技術的詳細は Armis の Web サイトで公開されており、Black Hat プレゼンテーションは BH サイトから入手できます。

パッチを当て、警告した - TI

テキサス・インスツルメンツは、エル・レグが同社にコメントを求めた際、アーミスが公表した調査結果に特に満足していなかった。同社は、「アーミスが悪用している潜在的なセキュリティ上の脆弱性は、以前のソフトウェア更新で解決されている」などと述べた。

TIは次のように付け加えた。「さらに、Armisのレポートで言及されている無線ファームウェアダウンロード(OAD)プロファイル機能は、TI.com(関連URLはこちら)に記載されているように、包括的なセキュリティソリューションとして意図されておらず、販売もされていません。セキュリティ関連システムを設計する際には、セキュリティ対応機能を使用することをお客様に推奨します。」

シスコは声明の中で次のように述べている。

シスコは、特定のチップ上のBluetooth Low Energy(BLE)スタックにおけるサードパーティ製ソフトウェアの脆弱性を認識しており、この脆弱性は複数のベンダーに影響を及ぼします。シスコPSIRTは、この問題に関する詳細情報を提供するセキュリティアドバイザリを発行し、影響を受ける可能性のあるシスコ製品と、それに伴うお客様の対応が必要となる可能性のある製品について言及しました。影響を受けるすべてのシスコ製品向けに修正ソフトウェアが利用可能です。

TI の 3 つのチップすべてのファームウェア アップデートは TI の Web サイトから入手できますが、影響を受けるデバイスのベンダーからまずアップデートを探す必要があります。

CC2640 (非 R2) の場合、BLE-STACK バージョン 2.2.2 は TI の Web サイトにあります。

「SimpleLink CC2640R2F SDK バージョン 1.30.00.25 (BLE-STACK 3.0.1) 以降にアップデート」したい人は、こちらをご覧ください。

最後に、CC1350 の場合、Simplelink CC13x0 SDK バージョン 2.30.00.20 (BLE-STACK 2.3.4) 以降はここから入手できます。®

12月13日に追加更新

Armis社は記事の公開後、次のような声明を私たちに送ってきました。「これほど複雑な脆弱性の組織的な開示には、慎重な調整が必要です。問題を特定した後、TI社に連絡を取り、適切なセキュリティ担当者と連携しました。公開レポートでは、TI社が既にBLE-STACKの問題を特定し、修正プログラムを提供していることを明確に伝えました。しかし、TI社自身が述べているように、彼らはこれをセキュリティの問題ではなく、安定性の問題として認識していました。」

Discover More