IoTセキュリティ
世界中で数十億台のIoTデバイスが接続される中、これらのデバイスのセキュリティ確保は、 ボットネット、プライバシー侵害、重要インフラへの攻撃を防ぐ上で極めて重要になっています。
IoTセキュリティの課題
ハードウェアの制約
- 限られた計算能力
- 制限されたメモリとストレージ
- 厳しいバッテリー消費
- 強力な暗号化が困難
長いライフサイクル
- デバイスがアップデートなしで何年も稼働する
- メーカーのサポートが限定的
- パッチ適用やアップデートが困難
- ハードウェアが急速に陳腐化する
規模と多様性
- 数十億台の異種デバイス
- 複数のプロトコルと標準
- 分散型の管理
- 限られた可視性
一般的な脅威
ボットネット
DDoSやスパムに使用される、侵害されたデバイスのネットワーク。
- Mirai:2016年にDyn DNSをダウンさせたボットネット
- Hajime:IoTデバイスに感染するワーム
- Echobot:50以上のIoT脆弱性を悪用
デフォルト認証情報
- ファームウェアにハードコードされたパスワード
- メーカーのバックドア
- 認証情報を変更できない
- 公開されているデフォルトパスワードのリスト
中間者攻撃(Man-in-the-Middle)
- 暗号化されていない通信
- 証明書検証の欠如
- 安全でないプロトコル(HTTP、Telnet)
- リプレイ攻撃
IoTセキュリティアーキテクチャ
デバイス層(Device Layer)
- Secure Boot:ファームウェアの完全性検証
- Hardware Security Module (HSM):鍵の安全な保管
- Trusted Execution Environment (TEE):隔離された処理
- Physically Unclonable Function (PUF):デバイス固有のアイデンティティ
通信層(Communication Layer)
- TLS/DTLS:トランスポート暗号化
- MQTT with TLS:セキュアなメッセージング
- CoAP with DTLS:セキュアな軽量プロトコル
- LoRaWAN Security:LPWAN向けの暗号化
クラウド/エッジ層(Cloud/Edge Layer)
- Device Authentication:相互TLS、X.509証明書
- Authorization:コマンドとデータに対するRBAC
- Data Encryption:転送中および保存時
- Secure Updates:デジタル署名付きOTA
ファームウェアセキュリティ
セキュアな開発
- バックドアとデバッグインターフェースを削除する
- 不要なサービスを無効化する
- 強力な認証を実装する
- すべての入力を検証する
- 検証済みの暗号ライブラリを使用する
Over-The-Air(OTA)アップデート
- ファームウェアのデジタル署名
- インストール前の完全性検証
- 失敗時のロールバック機能
- セキュアなアップデートのためのデュアルパーティション
- 帯域幅を節約するための差分(delta)アップデート
ファームウェア解析
- Binwalk:ファームウェアの抽出と解析
- Firmware Analysis Toolkit (FAT):自動解析
- Ghidra:リバースエンジニアリング
- QEMU:ファームウェアのエミュレーション
セキュアなIoTプロトコル
MQTT (Message Queue Telemetry Transport)
- TLS上でMQTTを使用する(ポート8883)
- ユーザー名/パスワードまたは証明書による認証を実装する
- トピックごとのアクセス制御リスト(ACL)
- 開かれたワイルドカードトピックを避ける
CoAP (Constrained Application Protocol)
- 暗号化のためのDTLS付きCoAP
- 事前共有鍵または証明書
- Object Security for Constrained RESTful Environments (OSCORE)
ZigbeeとZ-Wave
- AES-128暗号化
- セキュアなペアリング手順
- ネットワーク鍵のローテーション
- リプレイ保護のためのフレームカウンター
IoTネットワークセグメンテーション
ネットワーク分離
- IoTデバイス専用のVLAN
- IoTと企業ネットワークの間のファイアウォール
- デバイスタイプごとのマイクロセグメンテーション
- 公開されたデバイス向けのDMZ
アクセス制御
- 許可された通信のホワイトリスト
- 可能な場合はインターネットへの直接アクセスをブロックする
- クラウド通信のためのプロキシ/ゲートウェイ
- 異常なトラフィックの監視
産業用IoT(IIoT)
固有の課題
- セキュリティ機能のないレガシーシステム
- 重要な稼働時間——パッチ適用が複雑
- セキュリティ障害による安全性(safety)への影響
- エアギャップが常に可能とは限らない
ICS/SCADAセキュリティ
- Purdueモデルによるセグメンテーションを実装する
- OT専用のIDS/IPS
- 単方向ゲートウェイ
- 完全な資産インベントリ
- パッシブなネットワーク監視
IoTデバイス管理
管理プラットフォーム
- AWS IoT Core:デバイス管理とセキュリティ
- Azure IoT Hub:双方向通信
- Google Cloud IoT:デバイスレジストリとテレメトリ
- ThingWorx:IIoTプラットフォーム
セキュリティ機能
- 自動化されたセキュアなデバイスプロビジョニング
- 証明書ベースの認証
- ポリシーベースのアクセス制御
- ライフサイクル管理
- 完全な監査ログ
IoTセキュリティテスト
ハードウェアハッキング
- UART/JTAGインターフェース解析
- SPI/I2C経由のファームウェア抽出
- サイドチャネル攻撃
- 電力解析
ツール
- Bus Pirate:ユニバーサルバスインターフェース
- JTAGulator:JTAGピンアウトの特定
- Wireshark:プロトコル解析
- Scapy:パケット操作
- Attify Badge:IoTセキュリティテストツール
標準とフレームワーク
OWASP IoT Top 10
- Weak, Guessable, or Hardcoded Passwords
- Insecure Network Services
- Insecure Ecosystem Interfaces
- Lack of Secure Update Mechanism
- Use of Insecure or Outdated Components
NIST Cybersecurity for IoT
- Device Identification
- Device Configuration
- Data Protection
- Logical Access to Interfaces
- Software/Firmware Update
- Cybersecurity State Awareness
ベストプラクティス
- 最初からセキュリティ・バイ・デザイン(security by design)を実装する
- 不要なサービスとポートを無効化する
- デバイスごとに固有の認証情報を使用する
- セキュアなアップデートメカニズムを実装する
- 転送中および保存時のデータを暗号化する
- デバイスの動作を監視する
- 最新のデバイスインベントリを維持する
- 製品寿命(end-of-life)と廃棄(decommissioning)を計画する
- 定期的にセキュリティテストを実施する
- IoTのリスクについてユーザーを教育する
IoTセキュリティは、ハードウェアの制約、膨大な規模、 そしてデバイスの多様性により、固有の課題を抱えています。デバイスの 設計からライフサイクル全体の管理に至るまでセキュリティを考慮する総合的なアプローチが不可欠です。 コネクテッドデバイスの指数関数的な増加に伴い、IoTセキュリティへの投資は任意ではなく、 大規模攻撃を防ぎ、プライバシーと重要インフラを保護するために不可欠です。
