LoginSignup
4
4

More than 5 years have passed since last update.

ZigBeeの脆弱性

Posted at

Black Hat 2015で発表されたドローンが上空からIoTをハッキング!に関してちょっと調べてみました。

該当のペーパーはこちらZIGBEE EXPLOITです。

これによれば、ZigBeeの特定プロファイルにおける認証方式の仕様バグのようです。
(ZigBeeのプロファイル仕様を正しく把握できていないので、誤読があるかも)

内容

ZigBeeのプロファイルの内、以下の2つに関しての話題です。

  • Home Automation Public Application Profile (HAPAP)
    住宅オートメーション用。On/Offスイッチ、サーモスタットなどの各種センサー

  • Light Link Profile (ZLL)
    住宅向け照明コントロール専用(HAPAPとは独立)

これらは仕様として
「接続ごとの暗号キーを決めるシーケンスにおいて、初回のキーに決め打ちのキーを使うことが選択肢として設けられている」
ようです。

そして、センサーデバイス側の事情として「低コスト、低スペック」があり、ZigBeeネットワークに参加してくる側が、他に選択肢を持たない場合、受ける側(Trust Center)もそれに応じてしまいます。

決打ちのキーで暗号化された通信路でAESのキーを作成し、それ以降は生成したキーを使って通信をします。このため、途中から解読することは難しく、ネットワークに参加する初回のみが危ないようです。
ただ、接続後でも、ピンポイントでJammingし、センサー側をリセット状態にすることで(この辺のシーケンスは不明)、再度初期化シーケンスを行わせることが可能なようです。

さらには、セキュアなやりとりを選択するデバイスだとしても、Jammingをうまく使うことで、順番に選択肢を狭めていき、最終的にデフォルトの決打ちキーを選択させてしまうことも可能だとか。

この決打ちキーは、ZigBeeのタッチリンクにも使われているようで、同様に盗み見ることができてしまうようです。

照明On/Offならまだしも、ドアロックを乗っ取られるとかなりマズいですね。

このペーパーでは、盗み見用のハードもソフトもそろいつつあり、現実的な問題になるのも時間の問題だと警告しています。

対応方法

ペーパーでは、対応方法として以下をあげています。

  • そもそも耐タンパにすべし
    (セキュアなキーを持っていても開けたらわかるなら意味ない)

  • デフォルトの決打ちキーを使うな

  • キー生成シーケンスは別チャネルでやれ

  • キーは定期的にローテーションしろ

だそうです。
ZigBeeの仕様として、何が Must で、何が Option なのかが把握できていないので、「できるけどやらない」、「option指定だからやらない」、「コスト的にやれない」、「仕様からはずれちゃうからやらない」などの理由の予想がつかず、正直ピンときていません。

その他

他にも、同様に初回のキーやりとりがあぶないと、別シーケンスの提案をしているペーパーもありました。

参考

下記はいずれもZigBee公式サイトから。

所感

ZigBeeのことを、あまりに知らなすぎて調べるのが難しいです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4