IoTが各分野で実用段階に入っている。自動車分野では自動運転を見据えたConnected Carが普及し、工場でもFactory IoTの取り組みが進展する。
IoTの実用化に伴い、サイバー攻撃による被害も増加している。MiraiやReaperといったボットウイルスは、ネットワークカメラやNASなどのIoT機器に存在する既知の脆弱性を突いて機器を乗っ取り、遠隔操作を可能にする。すでに数百万台のIoT機器がReaperに感染しているとの報告もある。
またランサムウェアのWannaCryはPCやスマートフォンだけでなく、駅のデジタルサイネージや小売店舗の端末といったIoT機器も標的にした。工場の片隅に置かれた放置PCが感染源となり、全社ネットワークに被害が拡大した事例もある。
IoTの普及はさまざまな利便性をもたらす一方で、私たちは知らないうちにセキュリティ上の脅威にさらされている。IoTのセキュリティ対策は、今や最重要課題の1つである。
ここで、IoTセキュリティに関する政策や法制度の動向を見てみよう。2016年は各国、各団体によりガイドラインが公開されたガイドラインラッシュの年であったが、2017年からは法規制の整備が本格化している。米国や欧州では以下のようにデバイス系の法律や規制が成立した。
米国:IoT Cybersecurity Improvement Act 2017 法案 IoTデバイスにセキュリティ機能の搭載を強制する法案(2017年8月に成立)
欧州:EU Cybersecurity Agencyによる認証制度「EU Framework for Cyber security Certification」(2017年9月に成立)
これらはパッチ適用が可能であること、パスワードがハードコードされていないこと、既知のセキュリティ脆弱性に対応済みであること、などを義務付ける内容になっている。
IoTセキュリティの技術的対策
それでは、どのような機能をセキュリティ対策として実装すれば安心だろうか。IoTセキュリティ関連のガイドラインが多数あるなかでも、2017年5月に公開された、IPAの「『つながる世界の開発指針』の実践に向けた手引き[IoT高信頼化機能 編]」が参考になる。
同書は個別のベンダーに依存せず、各種ガイドラインと比較しても、より詳細なIoTセキュリティ機能を紹介している。IoT高信頼化機能とは、「IoT機器とIoTシステムが相互につながる環境において安全安心を確保するために必要な機能」と定義されており、ここでの安全安心はセーフティ、セキュリティ、リライアビリティの3つの側面を含んでいる。
同書ではIoTシステムでの技術的対策として実装する機能について、初期設定や寿命管理など合計23個を挙げている(図表1)。これらの機能は安全安心を実現するための機能であるが、セキュリティ機能と捉えることもできる。
IoTシステムでセキュリティ対策を検討する場合、ここから適切な機能を抽出する。選定に際しては、設計対象のIoTシステムのユースケースをもとに、起こりうる脅威やリスクを想定し、必要となる対策機能を23個のなかから抽出して定義する。
脅威、リスクの想定時に重要なのは、モノのライフサイクルを踏まえることである。そのIoTシステムの利用時だけでなく、使い始めから使い終わりまで運用の視点を加味して設計する必要がある。
たとえばリサイクル業者に渡ったWebカメラからは旧利用者のデータが漏洩するリスクがあるので、消去機能を盛り込むなどの対策を検討する。またこれらの機能は、IoTシステムのサーバー側だけではなく、IoT機器側に組み込む必要のある場合も多く、両者の開発者が異なる場合は、設計の初期段階から連携することが重要となる。
とくにIoT機器側の開発では、従来ITにつながらない機器の開発プロセスではあまり重視されていなかった情報セキュリティの考慮が不可欠であり、Secure by Design(*1)の思想が重要となる。
IoTセキュリティ機能の抽出と
実装シミュレーション
次に、前述した手引きの内容に基づき、IoTセキュリティ機能の抽出から実装までの流れをシミュレーションしてみよう。設計対象のIoTシステムとしては、Factory IoTを想定している(図表2)。
Factory IoTのユースケースとしては、下記のような例が挙げられる。
・ラインのロボットに取り付けたセンサからデータを収集し、ロボットの稼働状況を可視化する。
・センサから収集したデータを加工、分析し、ロボットの故障予知を実行する。
・故障予知の情報をオペレータに通知する。
・故障予知の情報をもとにリモートでロボットを再起動する。
上記のユースケースでは、どこにどのような脅威があるだろうか。
クラウドと接続するインターネット部分では、サービス妨害やなりすましの脅威が考えられる。クラウド側では盗聴や情報漏えい、不正アクセスなどが想定される。工場内のロボットやコントローラのライフサイクルを10〜20年と想定すると、定期的な検査や故障時の修理といった運用が考えられる。その場合、検査のために持ち込まれたPC、USBの利用などでウイルスに感染するリスクなどもあるだろう(図表3)。
こういった脅威への技術的対策を、IoT高信頼化機能から選んだ例が図表4となる。なりすましや盗聴、不正アクセスに備えて、認証や暗号化、アクセス制御の機能が必要となる。ウイルス感染や盗難・破壊に対しては、監視やリモートアップデートの機能を選定する。またこれらの機能は、IoT機器とクラウドの双方で実装する必要がある。
以下に選定した機能を「IBM Watson IoT Platform」により、クラウド側で実装する例を紹介する。
認証機能と
暗号化機能の実装例
Watson IoT Platformでは、デバイスとクラウドの接続に関して複数のポリシーがサポートされている。たとえばTLS通信の有無や、デバイスの認証として「トークン認証」と「クライアント証明書認証」に対応する。デバイス側にクライアント証明書をもたせることでTLS相互認証が可能となり、認証強度を高められる(図表5)。
監視機能の実装例
Watson IoT Platformはデータを収集し、可視化、グラフ化する機能を備え、規則によるアクションをサポートしている。デバイスからの収集データに含まれる特定のプロパティを監視して、固定値や閾値で異常を検知し、任意の宛先に通知できる。図表6はデバイスの温度データを監視し、閾値の80を超えるとLINEに通知するというアクションを実装した例である。
リモートアップデート機能や
停止機能の実装例
Watson IoT Platformではデバイスやデバイス・ゲートウェイ側に導入するClient Libraryが提供されている。CやJava、Node.js、pythonなど、さまざまなLibraryをGitHubから入手できる(https: //github.com/ibm-watson-iot)。
Client Library内に実際のアクション・コードを実装すれば、IBM Cloudコンソールから図表7のようにリブートやリセット、ファームウェア更新などのアクションを実行できる。ただしデバイス操作は、万一不正アクセスなどの被害が生じた際の損害リスクが高いため、充分なアクセス制御を実施し、実行者の多要素・多段認証などを組み合わせて保護する必要がある。
モノのライフサイクルと
運用視点の考慮点
IoTセキュリティの検討では、モノのライフサイクルと運用視点での考慮が必要である。暗号化と証明書を例に、考慮すべき2つのポイントについて解説する。
まず暗号化では、暗号アルゴリズムや暗号鍵の「危き殆たい化か」を考慮する必要がある。長期ライフサイクルのIoT機器では、当時の技術や処理能力では容易に解読できなかった暗号アルゴリズムが、コンピュータ性能の進化によって10年後には短時間で解読されるといった危殆化リスクがある。そのため、極力堅牢なアルゴリズムや鍵長を選択しておく必要がある。
ただし、そのIoT機器が非力なコンピュータの場合は実装が困難であることも考えられるので、費用とリスクのトレードオフとなる。
次に、IoT機器の認証でクライアント証明書を使用する場合は、証明書管理の検討も重要な考慮点となる。IoT機器内のどこに証明書・鍵を保管するかを考える必要がある。たとえば、ある自動車部品の事例では、証明書を抜き出せないように強固な保管場所であるHSM(Hardware Security Module)に格納している。
また、証明書には有効期限があるので期限をどのくらいに設定するか、証明書を交換する場合の運用をどうするか、なども考慮する必要がある。IoT機器内に焼き付けている証明書の場合、リモートアップデートが難しいので、メーカーや代理店に持ち込んで証明書を交換することになる。たとえばAmazon Dash Buttonは、電池の寿命が数年程度でライフサイクルが短い。そのようなIoT機器については、証明書は長期の有効期限を設定し、証明書交換をせず、使い捨てにするという運用もある。
証明書の運用では、どこまで費用をかけてそのIoTシステムを守る必要があるのか、費用やリスクとのバランスで最適なソリューションを決めることが重要である。
以上本稿では、IoTセキュリティの最新動向、技術的対策およびその実装例について述べた。IoTは各分野で実用化が進む一方、攻撃による被害が増加しており、IoTセキュリティの重要性がますます高まっている。モノのライフサイクルや運用の視点を設計段階から考慮する必要があり、IoTシステム開発者とIoT機器開発者の連携とSecure by designの考え方がより重要である。
・・・・・・・・
著者|川端 美和子氏
日本アイ・ビー・エム システムズ・エンジニアリング株式会社
セキュリティー
ITアーキテクト
2001年、入社。Webシステムの基盤構築を担当(AIX、WAS、BPM)。2007〜2008年に日本IBMに出向し、製造業のユーザーを担当するクライアントITアーキテクトとしてプリセールス活動に従事。現在はIBM Cloud Kubernetes Serviceを用いたクラウド基盤の設計開発を担当。2児の母。
[IS magazine No.22(2019年1月)掲載]