2019/05/31

Green Mountain Grills 社製グリルのセキュリティ分析

IoT インターネット

2019 年 5 月 31 日 Trevor Collins 著

Green Mountain Grill(GMG)社の Davy Crockett のような自動化されたバーベキューグリルは、さまざまな種類の肉や食品の優れた調理器具であり、全行程でグリルの手動での調整は必要ありません。GMG は、利便性をさらに向上させるため、Wi-Fi コントローラによるグリルの監視と制御を可能にし、室内のソファに座ったままでグリルを操作できるようにしました。しかしながら、この利便性には代償が伴うようです。

グリルのセットアップでは、スマートフォンにアプリをダウンロードし、ブロードキャストされている Wi-Fi ネットワークにグリルに接続します。アプリを使って自宅の Wi-Fi ネットワークにグリルを追加でき、セットアップが完了すると、アプリを使って食品やグリルの温度や火力を制御できます。グリルの無線コントローラのファームウェアのアップデートにも、このアプリを使います。ファームウェアのアップデートには、ポート TCP 8080 経由のシリアル接続が使用されます。

グリルの無線コントローラの分析

ほとんどの IoT デバイスを調査する場合と同様、今回も最初に、NMAP を使ってポートスキャンを分析しました。NMAP によって、TCP ポート 80、8080、および 8181 が開いていて、http 要求に応答していることがわかりました。8080 と 8181 にアクセスすると、404 の応答が返されます。これは、HTTP サーバは動作しているものの、ロードするページがないことを意味します。しかしながら、ポート 80 にはログインウィンドウがあり、ユーザ名とパスワードは容易に推測できるもの、すなわち、ユーザは「admin」、パスワードは「admin」であることがわかりました。そして、この認証情報を使うことで、HLK-RM08K の Wi-Fi チップに直接アクセスすることができました。簡単な方法でグリルを攻撃できることがわかったため、このチップのテストはここまでにしておくことにしました。

グリルの無線コントローラへの通信には認証が必要なかっただけでなく、認証をサポートしていなかったため、ローカル無線ネットワークにアクセスできれば、誰でもファームウェアの制限の範囲内でデバイスを制御できることがわかりました。我々は概念実証として、ポート 8080 でグリルに接続し、アプリを使用したり認証したりすることなくグリルの温度を変更できることを確認しました。また、shutdown コマンドを送信したところ、グリルから「OK」の応答が返された後に、実際にグリルが停止することもわかりました。

分析を続けてコントローラを分解してみたところ、グリルの頭脳として、STM8207CB マイクロコントローラが使われていることがわかりました。また、マイクロコントローラへの直接アクセスを可能にする SWIM コネクタ、さらには、前述の HLK-RM08K Wi-Fi チップも見つかりました。これは、小規模の Wi-Fi からシリアルへの接続でよく使われます。

GMG では、無線ネットワーク経由で無線コントローラにファームウェアアップデートをリリースできます。我々は、パケットキャプチャを実行して、ファームウェアアップデート時の Wi-Fi 経由のこのデバイスのトラフィックを分析しました。そして、そのトラフィックの分析によって、ファイルパスや名前、さらには、接続が暗号化されていないと推測する手掛かりも見つかり、ファームウェアが平文で(暗号化されずに)送信され、認証は不要であることがわかりました。今回の分析では詳しく調べませんでしたが、第三者がサーバを偽装し、カスタムファームウェアをこのデバイスに強制送信する可能性もあるでしょう。

この無線コントローラではファームウェアアップデートに認証が不要であるため、ローカルアクセスを使ってカスタムファームウェアビルドをインストールし、温度制限を無効にすることができました。このチップには読み取り fuse がありましたが、製造元が無効にすることも多いため、このマイクロコントローラから既存のファームウェアを読み取ることはできないだろうと我々は考えていましたが、製造元が読み取り fuse をそのように設定していないことがわかりました。

我々は GMG のサポートに連絡して、以上の脆弱性を説明し、解決に取り組むよう提案しました。GMG からは、我々の脆弱性の報告を受け取り、問題を分析中であることを知らせる返事が何度かありましたが、その後に連絡が途絶えました。我々は、責任ある公開のプロセスの重要性を十分に認識し、セキュリティの脆弱性を発見した場合は、その情報を一般公開する前に製造元に通知しています。しかしながら、通常の 90 日の情報公開の期限を大きく過ぎたことから、この脆弱性が存在するグリルの利用者が追加のセキュリティ対策を実行できるようにするために、これらの脆弱性を一般公開することにしました。

分析によって明らかになった脆弱性と考えられる主な影響は以下のとおりです。

  • このグリルの無線コントローラには、設定変更にあたっての認証が欠如しています。そのため、攻撃者が、長時間にわたって強制的にグリルを強火で稼働させることで、グリルが損傷する恐れがあります。
  • このグリルには、ファームウェアアップデートの暗号化と認証が欠如しています。そのため、グリルへのネットワークアクセスを手に入れた攻撃者が、カスタムファームウェアをロードすることで、温度制限などの基本的な安全機能を無効にし、結果としてグリルが過熱して火災が発生する恐れがあります。
  • さらには、攻撃者がカスタムファームウェアのアップデートを使って、ユーザに知られることなくバックドアを追加する可能性もあります。これにより、攻撃者にグリルを制限なく変更されてしまう恐れがあります。

対策の提案

ほとんどの IoT デバイスがそうであるように、GMG の Davy Crockett や類似するグリルの所有者は、追加のセキュリティ対策を講じる必要があります。具体的には、グリルをセグメンテーションされた無線ネットワークに接続し、そのネットワークとの間のアクセスを可能な範囲で最大限に制限します。ネットワークアクセスを制限することで、攻撃者がグリルの無線コントローラに不正目的でアクセスしたり、すでに感染したデバイスから同じネットワークの他のシステムへと侵入したりするのを防止できます。

これまでの経緯

2018 年 10 月 7 日 脆弱性を発見
2018 年 10 月 9 日 製造元に報告
2018 年 10 月 22 日 製造元が報告を確認
2019 年 1 月 7 日 情報の一般公開を製造元に予告
2019 年 5 月 31 日 情報を一般公開