インターネット・オブ・シングス(IoT)が私たちの生活を便利にしてくれることは間違いありません。電気や家電製品を遠くから付けたり消したり、オンラインで監視したりしたいのなら、Wi-Fi接続コンセント「スマートプラグ」で手軽に実現できます。しかし、IoTデバイスはセキュリティがしっかりしていないと、いつでもサイバー攻撃の対象になりうるのです。
この脆弱性が実害を伴うようなサイバー攻撃につながる可能性はあるのでしょうか? スマートプラグ自体への影響という意味ではわずかでしょう。攻撃者はせいぜいスイッチをオフにするか、最悪でもスイッチに過負荷をかける程度でしょう。しかし、プラグが他のデバイスとネットワーク接続されていると、脅威のポテンシャルが拡大します。その時点でプラグは大規模な攻撃のエントリーポイントになる危険性があります。それについては、レポートの後半で可能性のある攻撃について具体例を取り上げてみたいと思います。
次にハードウェアに移り、デバイスを分解しました。メインボード上のチップを特定し、デバイスと通信するためのヘッダーを見つけ、メモリーをフラッシュから取り出しました。そしてオンラインリサーチを通じて、ボード上の各チップのデータシートを入手しました。
ユニバーサル非同期レシーバー/トランスミッター(UART)パッドがボード上にあることがわかり、ドキュメンテーションで確認しました。そのヘッダーにワイヤーをハンダ付けして、アクティブに送信しているかどうかを確認しました。デバイスとの通信のテストには、以下に示したExodus Breakoutボードを使用しました。
通信速度を総当たりしてみると、UARTインターフェースを介してデバッグ情報を取得することができました。次に、UARTによってログインプロンプトが表示されましたが、オンラインリサーチや当てずっぽうでも有効なパスワードにはたどりつけませんでした。
さらに、抽出したファームウェアをオープンソースバイナリ解析ツールのbinwalkを使用して分析しました。Binwalkは調査を進めるためにファームウェアからファイルシステムを抽出し、そのファイルシステムにアクセスすることでシステム構成とアクセスバイナリを確認することができました。
ネットワークやリモートの脆弱性はローカルの欠陥よりも危険です。このため、ローカルネットワークを傍受してUPnPポートを詳しく見ていきます。このテスト段階の間に、私たちの主任アナリストはExodus Intelligence Exploitationに関する講座を受講しました。インストラクターの1人であるElvis b1ack0wl)は、UPnPファザーを開発していて、私たちの調査に力を貸してくれました。このツールを使用して、オープンなUPnPポートのファジー化を開始する一方、WemoのUARTインターフェースを監視すると、間もなく、UARTインターフェースでクラッシュが発生したのです。
何回も試して結果をよく観察したところ、クラッシュは以下のパケットによって引き起こされたことがわかりました。