本稿は、MONOistに2019年01月23日に掲載された記事の転載です。
様々な機器がネットワークにつながるようになり、機器の生産性や利便性は大きく高まった。しかし同時にセキュリティの問題が生じ、様々なトラブルが散見されるようになったのも事実である。本連載では急速にコネクテッド化が進む、産業用ロボット、医療機器、複合機(MFP)などに焦点を当てて、顕在化してきたセキュリティリスクと、取りうる対策について紹介する。
私たちの身の回りには多くのロボットが存在している。身近な例ではソフトバンクのPepperや、ソニーのAIBOなど人間や動物を模倣したロボットがあるし、製造業の現場では多くの産業用ロボットが用いられる。ロボットの多くは有線、または無線ネットワークを通じてITシステムによって制御される。そのため常にサイバーセキュリティの脅威に晒されているといえる。
ロボットは生産システムの中に組み込まれていることが多く、ロボットが誤動作することによって、生産される製品の品質に問題が生じることが考えられるほか、ロボット自体がウィルスやマルウェアに感染することで、生産がストップしてしまうと、被害は莫大になってしまう。実際に日本を含む世界中の国でこのような例は散見されており、セキュリティ対策は喫緊の課題と言える。
本稿では筆者が主に取り扱うことの多い産業用ロボットに特化して、サイバーセキュリティ対策のポイントについて解説する。具体的にはロボットのアーキテクチャについて簡単に説明し、ロボットがどのようなセキュリティリスクを抱えているのかについて明らかにする。その上で、サイバーセキュリティ施策の要件を提言する。
産業用ロボットは悪意あるプログラムが思うがままに実行できる無法地帯か
先に述べた通り、ロボットはITシステムによって制御されている。このITシステムをロボットコントローラーと呼ぶが、これらにはWindowsやLinuxなどの汎用OSが用いられることも多くなってきている。タッチパネルや高速ネットワーク通信、タブレット端末などとの連携が進む中で、汎用OSはこれらを標準でサポートしているということもあり、汎用OSの採用はますます進むことが予想される。
Windowsベースのホストをロボットコントローラーとして動作させるためには、データベース(Windowsの場合はMicrosoft SQL Serverが多い)や管理画面などの表示のためにWebサーバ(Microsoft Internet Infomation Servicesが多い)などを稼働させる必要がある。その上にコントローラーとして動作させるためのアプリケーションを開発、実装することでロボットコントローラとして稼働させることができる。そのためセキュリティ対策も、OSレベル、データベースレベル、Webサーバレベル、アプリケーションレベルでそれぞれ個別に対策を取る必要がある。
個々の製品で用いているOSやソフトウェアをそれぞれ個別に対策する必要がある
しかしながら開発仕様書に実装すべき機能はリスト化がされているが、セキュリティ対策については特段の対策がない状況が散見される。Windows Updateのようなパッチが当たっていないケースや、オフィスで使っているパソコンであれば基本的な対策と言えるウィルス対策ソフトすら欠如しているケースも多い。OS、データベース、Webサーバに存在する既知の脆弱性を活用すれば、思うがままにに悪意あるプログラムを実行できる無法地帯といっても過言ではない。
このような状況を鑑みてか、近々発行されるISO 10218-1改訂版ではサイバーセキュリティに関する要求項目ができる可能性が高いと見られる。ただしどのような対策を取るべきか、まだ議論が煮詰まっていない段階にあるため、筆者はIT環境におけるサイバーセキュリティの標準プラクティスをベースに産業用機器の特徴を加味したうえで、次のようなアプローチを推奨したい。
ロボットのセキュリティを確保する3つのステップ
テュフ ラインランドジャパンでは3つのステップでロボットコントローラーのサイバーセキュリティ対策を推進することを推奨している。
第1のステップではセキュリティ診断を実施し、現状の問題点を明らかにし、取るべき対策を明確にする。第2のステップではセキュリティガイドラインを作成することで、製品開発のプロセスにセキュリティという観点を盛り込むようにする。第3のステップでは定期的なセキュリティ検査を実施することで、高いセキュリティレベルを保つことを目的とする。
ロボットコントローラーのサイバーセキュリティを確保する3つのステップ
セキュリティ診断
人間も健康診断をせずにどこが悪いかわからない状態で薬の服用や、手術をすることができないのと同じで、ITシステムも健康診断をしなければセキュリティ対策の方針を立てるのは困難である。
そのため、脆弱性の診断、ペンテスト(ハッカーの方法を模倣して、機器に対して実際に攻撃を仕掛ける)、プログラムソースコードなどのレビューを通じ、現状のセキュリティレベルをまず明確にするべきである。そのうえで“至急”“短期”“中期”“長期”といった期間ごとに打つべき対策を明確にし、きちんと実行することが重要となる。
セキュリティガイドラインの作成
セキュリティガイドラインの作成は、技術的な観点と製品差別化の観点から非常に重要である。まず技術的な観点から享受できるメリットは以下の4点が挙げられる。
•各工程でのセキュリティ対策担当範囲を明確にすることで、曖昧さを無くすとともに、セキュリティレベルが向上する
•担当分野、各国、各地域ごとに統一されていなかったセキュリティレベルを平準化することことができる
•セキュリティ要件を事前に定義することにより、開発が進んだ後の手戻りを防ぐことができる
•開発を他社に委託する際に要求する仕様を明確にできるため、外部委託によるリードタイムやコストの削減が可能になる
また製品差別化の観点からセキュリティを考えると、製品の機能や価格面での差別化が難しくなっている中、セキュリティ対策を適切に実施していること自体が差別化要素として、評価のポイントとなるケースが増えてきている。
ユーザーもセキュリティガイドラインを独自に設け、調達基準にセキュリティ対策が考慮されるようになるケースが出始めたため、自社のセキュリティに対する取り組みを明示的に示すことができるセキュリティガイドラインの作成は、他社に対する競合優位を保つうえでも有効な手段といえる。
定期セキュリティ検査
機器も人間と同様に、1年前に健康だったので今年は健康診断を受けなくていいというわけにはいかない。IT技術をベースとしてロボットが制御されている以上、常に新しい攻撃手法や脆弱性などに対応するとともに、パッチやアップデート、機能追加などで新規に追加したコードなどに脆弱性がないかチェックすることが求められる。
一方で、定期的なセキュリティ検査を自社で実施することはハードルが高い場合が多い。その理由は以下の通りだ。
•年に数回のテストのために機材、ソフトウェアをそろえなければならず、コストが高い
•OS、データベース、 Webサーバなど、それぞれの分野に通じたセキュリティ専門家の知見が必要になる
•セキュリティテストを行う人材の確保が難しい
•内部でテストを行った場合に、適切に問題へ対処できるかというガバナンスの問題が発生する
などがある。テスト環境の構築やテストに必要なソフトウェアの導入、テストを実施する専門家を雇用するコストなどを考慮すると、専門家に任せた方が効率的であるといえる。筆者の勤務するテュフ ラインランド ジャパンでは、このようなニーズに応えるため回数券方式のテストメニューなども提供している。年に数回のテストを行い、常に安全な環境を提供することが製造事業者の責務となるだろう。
ロボットの重要度が加速的に増しており、我々の生活と切り離せなくなってきている。ロボットが動作を停止してしまうと、商品の生産やサービスの提供に大きな影響を及ぼしかねない。ロボットのセキュリティ対策は、今後とも重要度が増していくことは間違いなく、喫緊の課題といえるだろう。対策に不十分なところがあると心当たりがある場合には、即座に対策を強化することを推奨する。
デジタルトランスフォーメーション & サイバーセキュリティ 貝田 章太郎
MONOist 連載
第二回 医療機器サイバーセキュリティのチェックすべきポイント
第三回 IoT機器に求められるGDPR対応、対策のポイントを解説