コンプライアンス
LoRaWANハードウェアを攻撃から保護する
今回の記事では、LoRaWANを使用する組織に悪影響を及ぼす可能性のある危険なハードウェア攻撃の詳細を説明します。LoRaWAN(Long Range Wide Area Network)とは、既に世界中のIoT構成に広く使用されている低消費電力の通信ネットワーク技術です。
今回の記事では、LoRaWANを使用する組織に悪影響を及ぼす可能性のある危険なハードウェア攻撃の詳細を説明します。LoRaWAN(Long Range Wide Area Network)とは、既に世界中のIoT構成に広く使用されている低消費電力の通信ネットワーク技術です。今後の企業およびスマートシティにおいては当たり前のように導入されていく技術と考えられています。導入の決め手となっているのは、その汎用性と手頃な価格です。一方、広範囲で使用されるデバイスおよびソフトウェアがそうであるように、サイバー犯罪者や攻撃者からの侵害・悪用の可能性は大きな懸念となります。トレンドマイクロではこれまで、LoRaWANのセキュリティとLoRaWANの通信の弱点について分析を行ってまいりました。広大な農地や都市全体に配置されるセンサなど、LoRaWANデバイスの多くが戸外に展開されるため、それらのデバイスを攻撃から守る対処は特に厄介なものとなります。つまり、保護されていないLoRaWANデバイスは、悪意のあるアクタに攻撃される可能性が高いということです。
LoRaWANへのハードウェア攻撃
以降のセクションでは、組織内の貴重な内部データが侵害される可能性のある各種ハードウェアハッキング技術を紹介します。また、このような種類の攻撃を緩和するセキュリティ手順の概要も説明します。
LoRaトランシーバのデータスクレイピング
LoRaトランシーバは、SPIハードウェアのインタフェースを介してマイクロコントローラと通信を行っています。マイクロコントローラは、このSPIアクセスをさまざまな目的で使用しています(アップリンクパケットの取得やゲートウェイへのダウンリンクパケットの送信など)。
HydraBusデバイス(一般に入手可能なオープンソースのデバイス)を使用すれば、このトランシーバと容易にインタフェースすることもできます。
以下のように、HydraBus用のSPIサンプルスクリプトを適応させ、読み取ることができます。
これにより、以下のようなデータが得られます。
トランシーバは機密情報を扱いませんが、さまざまなモードの設定と操作を可能にするレジストリがいくつかあります。これらのレジストリから一部のユーザデータを取得できます。たとえば、以下のページレジストリでは無線データへのアクセスを表示できます。
マイクロコントローラの公開インタフェースの悪用
送信パケットの暗号化またはトランシーバからの受信パケットの復号を行うすべての鍵および計算が、マイクロコントローラ上で実行されます。残念ながら、以下の図のUARTインタフェースのように、これらのマイクロコントローラのインタフェースの中には危険にさらされる可能性のあるものもあります。インタフェースは直接操作可能です。また、インタフェースの認証機構がアクセスポータルに適用されていない場合は機密情報をダンプできます。
攻撃者は他の経路またはアクセス方法を使用してデータを取得する可能性もあります。たとえば、JTAGまたはICSPインタフェースが有効な場合は、特定のセキュリティ機能からさえも攻撃が行われる可能性があります。メモリ保護が使用されている場合は、グリッチ攻撃が行われ、内部のフラッシュメモリにある機密データへの部分的または完全なアクセス権が取得される可能性があります。
外部のフラッシュメモリへのアクセス
マイクロコントローラで外部のフラッシュメモリを使用する場合は、デバイスの表面実装技術(SMT)パッケージに基づき、公開されているアクセスポートを通じて攻撃者がこのメモリに接続する可能性があります。 特定の場合において、攻撃者は実際にフラッシュメモリをプリント回路基板(PCB)から取り外し、ファームウェアをダンプ(ファームウェアイメージをコピーまたは抽出するプロセス)できます。
セキュアエレメントに対する攻撃
マイクロコントローラに対して行われる攻撃には多くの種類がありますが、セキュアエレメント(SE)によって攻撃の試みをある程度阻止できます。LoRaWANの場合は、通信の暗号化とメッセージの完全性保護のために導出されたマスターキーをSEによって安全に保管できます。
LoRaWANノードスタックには、少数の組み込みSEを含む実装例があります。ただし、このセキュアエレメントを調査するために、トレンドマイクロはJan Jongboom氏のブログ記事でmbedが立証したアプローチを採用しています。それぞれの実験で同じコンポーネントを使用します。
• 1 x ATSAMD21J1
• 1 x AT88CKSCKTUDFN-XPRO
• 1x SX1276MB1MAS
セキュアエレメントは、以下のようにUDFNソケット内に配置された事前プロビジョニング済みのATECC608A-MAHTN-Tです。
mbedのGithubリポジトリにも、mbedのOSおよびライブラリとともにATECC608A-MAHTN-Tを使用するコードの適切な例があります。指定されたコードを使用すれば、CryptoLibライブラリとUFDNソケットを使用するI2Cで安全にデータを伝送できます。
開発者にとっては残念なことですが、セキュアブートはATECC608A-MAHTN-Tでサポートされるものの、サンプル内に実装されません。したがって、セキュアエレメントを用いた実装がデバイスで使用される場合、攻撃者は容易に別のマイクロコントローラでセキュアエレメントを使用できるようになります。つまり、SEに保存されているデータにその他のMCUがアクセスできます。
このセキュアエレメントにはセキュアブート機能が搭載されており、マイクロコントローラの認証を行っています。下図に、Microchip社による説明の一部を引用します。
製品で使用されているセキュアエレメントのインスタンスは、ほとんど文書化されていません。残念ながら、開発者がこれらのセキュアエレメントの有益なセキュリティ機能をすべて把握するのは容易ではありません。
LoRaWANのためのセキュリティの推奨事項
LoRaWAN技術を利用する際の助けとなるように、サイバー犯罪者や攻撃者からデバイスを保護するためのベストプラクティスを記載した広範なリストを作成しました。リストには以前の調査で説明した攻撃手法への対策も網羅しています。
攻撃 | 推奨されるベストプラクティス |
盗聴(Eavesdroppinng) |
|
ビット反転(Bit-Flipping) |
|
ACKスプーフィング(ACK spoofing) |
|
カウンターオーバーフローによるサービス拒否(Denial of Service with counter overflow) |
|
LoRaのクラスBに対する攻撃 |
|
ルートキーの管理(Root key management) |
|
ハードウェア攻撃(Hardware attacks) |
|
セキュアエレメントの再利用(Secure Element reuse) |
|
表:想定される攻撃手法に対するベストプラクティスリスト
LoRaWANは成長と進化を続けるテクノロジであり、スマートシティおよび重要産業用の低価格で使いやすいIoTソリューションの構築に役立ちます。デバイスは配達フリートの追跡、ダムの水位確認、資産のセキュリティ確保、さらには構築の安全性の監視に既に使用されています。こうした企業、従業員、重要業務を保護するには、サイバーセキュリティを優先することが不可欠です。本記事では、LoRaWANハードウェアの弱点を指摘し、攻撃を緩和するために組織が講じることのできる対策を示します。セキュリティの課題に関する詳細については、テクニカルブリーフ(英語)を参照してください。
参考記事:
- 「Protecting LoRaWAN Hardware from Attacks in the Wild」
by Sébastien Dudek