IoTデバイス管理して守る(AWS IoT Device Management & Defender)
目次
IoTにおけるデバイス管理とは
IoT(Internet of Things)システムを構築することで、収集したデータを分析することにより、さまざまなビジネスの可能性が生まれます。一方でIoTでは多種多様、かつ大量のデバイスが使用されます。これらのIoTで活用される様々なデバイスに対しても、デスクトップコンピュータやスマートフォン、サーバーなどと同様に、セキュリティ対策や、新しいアプリケーションのインストール、既存のアプリケーションの機能拡張などのために、ソフトウェアの更新や設定変更といった頻繁な運用が必要となります。
IoTにおけるデバイス管理はどのくらい複雑なのか
IoTシステムにおける、デバイス管理は非常に複雑です。その理由は、やることの多さと、規模の大きさがあります。
やることの多さ
IoTシステムが拡大していくにつれて、様々な種類のデバイスを用いることになります。具体的には、各種センサーや通信方式に合わせた多種類のIoTゲートウェイなど、用途やOSなどの仕組みが異なる機器同士を統合してシステムを構築していきます。多種多様で分散したデバイスを使用するには、多様なファームウェアやパッチの適用状況管理や、監視方法の検討をしていく必要があります。
規模の大きさ
多くのIoTシステムはPoCから始まり、少規模のユーザーとデバイスを用いたフェーズからスタートします。そして、順々にさまざまなデバイスや機能を追加していく、という流れを経ます。システムが巨大化するにつれて、デバイスの種類が増えていくだけでなく、設置場所や設置している数も拡大し、最終的には世界中に分散した接続デバイスを容易に管理、監視、そして保護するアプリケーションやAPIが必要となります。
つまり、PoCのフェーズから本格展開まで規模を拡張することのできるデバイス管理と、大規模かつ広範囲な対象を管理できる必要があります。
IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→
IoTにおけるデバイス管理は何をすればいい?
IoTシステムにおけるさまざまなデバイスにも、エンタープライズアプリケーションと同様に、構築、運用、そして破棄までのライフサイクルが存在します。具体的にどのようなことをしていけばいいのか、記載します。
デバイスの一覧化
さまざまなデバイスから成るIoTプロジェクトの規模と多様性が拡大していくと、デバイスの組み合わせによってはできないことやセキュリティの脆弱性対応のために緊急の更新といったタスクが増えていきます。そこでファームウェア更新やルールベースのアクションなど、デバイスの情報を一覧化しておく必要性が生じます。
新規に追加されるデバイスや更新されるデバイス、廃棄されるデバイスなど、デバイスの動的な階層化や論理グループの作成を簡単に行うことで、展開や保守の効率を向上させることになります。
デバイスの設定変更
いったんデバイスが出荷されると、設置されている各デバイスは、システムの進化に合わせて頻繁に更新されなくてはなりません。クライアント認証のために証明書を更新したり、システム変更があった際にもデバイス側の設定変更が必要になるケースがあります。
そのため、複雑なルールに基づいて大量のデバイスへの設定変更を、スケジュールされた時間に自動的に実行する機能や、リモートでデバイスの設定変更を実行できる機能は、運用にあたって非常に重要となっています。
デバイスの監視
IoTシステムを停止させておくことなく運用するためには、デバイスの全体像を表示したり、デバイスの状態やエラー、何かしらのトラブルに関する通知を行うためのルールを設定することができる集約的なダッシュボードが必要となります。また、デバイス側の自動修復・自動再起動などの各イベントの通知や、管理者監査ログ、デバイス診断ログ、接続ログなど、各種ログを収集して、トラブルの際には対応できるようにしておくことも重要です。
デバイスソフトウェアおよびファームウェアの管理と更新
IoTシステムにおいて最も重要なことは、デバイスのセキュリティです。デバイスの脆弱性が発覚したら、迅速にファームウェアやパッチが適用できるようにしておく必要があります。そのためには、世界中に分散されたデバイス上のソフトウェアやファームウェアを集中システムから更新する機能が必要です。
これには、ファームウェアをデバイスに送り込むことはもちろん、接続が切断された場合でも実施できるような代替策を備えておく必要があります。また、これらの仕組みは多種多様なデバイスに対して一様に実施される必要があります。
デバイスの置き換えと廃棄
IoTデバイスは時に不良品や故障により交換や置き換え、廃棄が必要になります。そのような際に、システム側に登録されるシリアル番号、事前共有鍵、証明書などの登録や失効処理だけではなく、認証用のデータなどのセキュリティ性の高いデータは安全な方法で削除されなくてはなりません。
また、場合によっては廃棄業者による廃棄証明なども必要になります。どのようなケースに廃棄証明が必要か、などの法的なルールも確認し、運用者で共通認識を持っておく必要があります。
AWS IoTでデバイスを管理するAWS IoT Device Management
IoTシステムにおけるデバイス管理は非常に複雑である一方、安全にIoTシステムを運用していくためには必要不可欠です。IoTシステムのデバイス管理のために、AWSにおいてはAWS IoT Device Managementというサービスが利用できるようになっています。AWS IoT Device Managementでは、下記の機能を提供しています。
- 一括登録
AWSでIoTサービスを利用するためには、証明書、権限(ポリシー)などのデバイス情報をAWS上に登録する必要がありますが、この登録処理を複数デバイスまとめて実行し、一覧化する機能です。必要なパラメータを記載したオブジェクトをS3に格納して管理します。 - フリートのインデックス作成とデバイス検索
デバイスをひとまとめにしたグループのことをフリートといいますが、デバイスのグループや種類を簡単に検索できるように、インデックスを作成する機能です。この機能を用いることで、検索結果に応じてデバイスジョブやポリシーの一括適用をするためのデバイスグループを作成したり、デバイスのグループの状態をダッシュボード化することが可能です。 - デバイスジョブ
特定のデバイスグループに対して何らかのアクションを実施する機能です。ファームウェアの更新やデバイス情報の定期的な取得に役立ちます。 - セキュアトンネリング
個々のデバイスと安全に通信する機能を提供します。企業によっては外部FWに強固な制限があるケースもありますが、そのようなケースでもセキュアな通信を実現し、企業セキュリティポリシーに準拠しやすい接続機能を提供します。 - ロギング機能
デバイスのグループやAWS IoTに登録したすべての機器について、ログをAmazon CloudWatch Logsに送信できる機能です。これにより、デバイスにおいて何かイベントが発生した際には通知が可能になるだけでなく、故障などの不具合が発生した際にはトラブルシューティングを行うことも可能になります。
IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→
IoTデバイスのセキュリティ課題
IoTデバイスは通常のサーバー同様に、CPUやメモリ、OSが搭載されています。したがって、条件を満たせばマルウェアを含めたさまざまなアプリケーションが稼働可能です。また、インターネットに接続されているため、外部の攻撃者が攻撃を行いやすいという特徴があります。
また、管理が不十分なIoTデバイスを狙ってポートスキャンを実施する、といった攻撃に向けた調査も容易に実施可能です。このように、IoTデバイスはセキュリティの脅威にさらされやすいという特徴があります。AWS IoT Device Defenderを用いることで、このようなサイバー攻撃の危険性を検知し、セキュリティ性の高いデバイスの運用が可能になります。
AWS IoT Device Defenderによる監査と脅威の検出
AWS IoT Device Defenderは、クラウド側の設定やデバイスの挙動に対してセキュリティチェックを行い、脅威や問題があればそれを検出してセキュリティのリスクを軽減してくれるマネージドサービスです。具体的には下記の機能を有しています。
- クラウド側のセキュリティ設定の監査機能
デバイスに付与するポリシー(権限)を確認し、過剰な権限がついていないかどうかの確認や、デバイス証明書の有効期限のチェックが実施されます。チェック項目はAWS側で用意されており、すべての項目をチェックしたり、一部の項目のみに絞ったり、といった対応が可能です。 - デバイス側の不正な異常動作の検出機能
デバイスから届くメッセージサイズやデバイスからクラウドへ接続する際の認証エラーの回数など、IoTデバイスのふるまいを機械学習で判定し、攻撃にさらされていないかを判断します。加えて、デバイス上でエージェントを動かすことによって、デバイスから想定外のサイズのパケットが出ていないか、といった詳細な挙動をチェックすることも可能になり、より安全な運用が可能になります。
まとめ
IoTシステムのデバイス運用は非常に複雑ですが、運用面においてAWS IoT Device Management、セキュリティ面においてAWS IoT Device Defenderが用意されており、運用の負荷を大幅に軽減することが可能です。これらのサービスを利用して、安全にIoTシステムの構築、運用を進めましょう