
[説明] Belkin Wemo Smart Plug WSP080 v1.2 のデバイスファームウェア更新プロセス中におけるファームウェアの署名検証の不備により、攻撃者が細工されたファームウェアファイルを介してサービス拒否 (DoS) を引き起こす可能性があります。
[追加情報] Wemo スマートプラグのファームウェアをモバイルアプリ経由で更新する際、スマートプラグのファームウェアバイナリの署名が無効な場合、Wemo スマートプラグが応答を停止する(文鎮化する)ことが判明しました。
Wemo Android アプリ (com.belkin.wemoandroid) を悪用して、改変したファームウェアを Wemo Smart Plug に注入します。 元のファームウェアは以下にあります: http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc. Android Volley ライブラリの onResponse メソッドにコードを注入することで、Wemo アプリ内のこの URL を変更します。 1 バイトを変更したバイナリを指すように URL を変更します。 具体的には、以下のようにバイナリを変更します: @00124C90 (ファームウェアファイル末尾の 4 行目) A3 E0 49 D5 を A3 E0 50 D5 に変更。
スマートプラグへのネットワークトラフィックを傍受することで、改変されたファームウェアがデバイスに送信されることを確認しました。 改変されたファームウェアがスマートプラグに受信されると、プラグは応答を停止し、リセットやモバイルアプリによる検出ができなくなります。
[脆弱性タイプ] サービス拒否
[製品ベンダー] Belkin
[影響を受ける製品コードベース] Wemo Smart Plug WSP080 - Wemo Android App (com.belkin.wemoandroid) (1.2)
[影響を受けるコンポーネント] http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc
[攻撃タイプ] リモート
[攻撃ベクター] この攻撃は、ファームウェアバイナリがスマートプラグに配信される途中の任意の時点で、少なくとも 1 バイトを変更するだけで実行可能です。 これは、ファームウェアがモバイルデバイスや MQTT サーバにダウンロードされる際、またはいずれかのネットワーク上を転送中に行うことができます。
crafted_firmware_tz.bin.enc を Web サーバにホストします。brickDevice.py 内の元のファームウェア URL (http://34.135.183.171/wemo/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc) を、ホストしたファイルの URL に置き換えます。brickDevice.py スクリプトを実行します。https://www.computer.org/csdl/proceedings-article/eurosp/2023/651200b047/1OFthXNYuRy https://research.utwente.nl/en/publications/aot-attack-on-things-a-security-analysis-of-iot-firmware-updates