近年の制御システムのセキュリティ課題
〔1〕制御システムへのセキュリティ対策の課題
制御システムにおけるセキュリティの脅威は、これまでは、クローズドであったがゆえに使わざるを得なかったリムーバブルメディア(USBメモリ)によるマルウェア感染といった脅威が主流であった。しかし、今後は、外部との接続が増えるにつれて、リムーバブルメディアを使用する機会は減り、従来よりもネットワークを介したセキュリティ脅威が大きくなるだろう。
制御システムにおいては、情報システムと比べた場合に、対策を実施するうえでは次のような課題がある。
(1)制御システムの通信プロトコルは、イーサネット対応が一般化してきたが、セキュリティに対する考慮がないものが多い。
(2)国内の制御システムの通信プロトコルはメーカー独自(非公開)のものが多く、ネットワークセキュリティ製品が活用しにくい。
次に、これらの課題について解説する。
〔2〕セキュリティに脆弱なプロトコルの課題
工場やプラント内の制御システムのネットワークにおいて、イーサネット化が進んでいることは先にも述べた。例えば、計測器などで広く使われているModbus注7というプロトコルは、シリアル通信のプロトコルであったが、Modbus/TCPが登場し、イーサネット環境でも利用できるようになった。
ただ、その中身は、Modbusプロトコルのコマンドのフォーマットをそのまま活用して、イーサネット環境で使えるようにTCP/IPの層を追加しただけのものであるため、暗号化や認証などのセキュリティに関する考慮がなされてない。そのため、Modbus/TCPなどの制御系プロトコルに対応するネットワークセキュリティ製品が販売されているが、国内のPLC注8やDCS注9で用いられている制御プロトコルは、仕様が非公開で独自のものが多いため、それらの製品の機能を使用することが難しいケースが多い。
また、制御システムのネットワークでは、OPCサーバと呼ばれるメーカー間のプロトコルの違いを吸収して、上位のシステムとの連携を行うソリューションが多く用いられているが、現在、日本国内では、OPC Classic注10が主流であり、DCOM注11という技術が使用されているため、セキュリティ上の問題が指摘されている。
日本と欧米の工場・プラントにおけるネットワークの違い
〔1〕システム全体の垂直統合への課題
前述したセキュリティ課題の対策について述べる前に、欧米のスマートファクトリーと、日本の工場・プラントの現状のネットワークについてその違いを見てみよう。
図1に、欧米も含めた、垂直統合型の旧来の工場・プラントネットワークの接続概念図を示す。図1に示すように、通常、ERPからデバイスの統合システムを一気通貫で提供できる会社は存在しない。そのため、ERPからデバイスまでシステム全体の垂直統合を行う場合には、会社間のプロトコルの違いを吸収するために、それぞれのシステムの接点でのデータの変換が必要であった。
図1 これまでの工場・プラントの垂直統合におけるネットワーク接続の概念図
ERP:Enterprise Resource Plannning、統合業務パッケージ。 MES:Manufacturing Execution System、工場・プラントのシステムや労働者の作業を監視・管理するシステム。 MESは、作業手順、入荷、出荷、品質管理、保守、スケジューリングなどとも連携することがある。
SCADA:Supervisory Control And Data Acquisition、産業制御システムの一種であり、パソコンによるシステム監視とプロセス制御を行う。 FA(Factory Automation)、PA(Plant Automation)業界で使用される。
OPC DA:注10を参照。 PLC:注8を参照。 DCS:注9を参照。
出所 インテル セキュリティ資料より
〔2〕OPC Unified Architectureによる垂直統合
しかし、このような無駄を排するために、欧米では、大手ベンダのシーメンス(Siemens)などを中心に、早くから制御システムにおける国際標準規格の策定が進められてきた。
例えば、PLCのプログラミング言語の国際規格(IEC61131-3)注12は良い例である。この国際規格の浸透によって、欧米ではベンダ間でのプログラムの交換が容易になり、PLCにおけるマルチベンダ環境の構築が容易となった。
その流れのなかで、2008年、これまでセキュリティ上の問題が指摘されていたOPC Classic仕様の機能性のすべてを、拡張可能なフレームワークに統合したOPC Unified Architecture(OPC UA)が発表された。このアーキテクチャは、従来のWindowsのDCOM技術への依存から、プラットフォーム非依存となっており、課題であったセキュリティ対策も行われている(表1)。現在では、このOPC UAは、国際標準規格(IEC 62541)となり、欧米におけるスマートファクトリーのデータ交換のデファクト規格となっている。
表1 OPC UAで行われているセキュリティ対策
出所 OPC Foundation のWebサイトより、https://jp.opcfoundation.org/about/opc-technologies/opc-ua/
〔3〕Industrie 4.0の本質
OPC UAを用いた垂直統合の概念図を、図2に示す。図1と比べて、マルチベンダの環境であっても、各社のプロトコルの違いによる変換を行う必要がなく、ERPからデバイスの層まで一気通貫でデータをシームレスに扱うことができる。
図2 OPC UAを用いたプラント・工場の垂直統合のネットワーク接続の概要
出所 インテル セキュリティ資料より
とはいえ、これまで使用してきた古いプロトコルに従ったデバイス(例:図2のC社のデバイス)もあるため、完全にプロトコル変換をなくすことは難しいが、各ベンダが国際標準を用いることで、かなりの効率化を図ることができるのは明らかだ。そして、実は、このERPのような情報システムを提供する会社と制御システムを提供する会社のシステムがデータの扱いレベルでシームレスに接続する環境こそがドイツが進めるIndustrie 4.0の本質なのである。
〔4〕日本の国際標準対応への障壁となる「囲い込み」戦略
日本の現状を見てみると、図1の状態が依然として続いており、国際標準への対応も遅れている。その理由を一言でいえば、これまで国内制御ベンダ各社がとってきた「囲い込み」戦略である。
日本の場合、幸か不幸か、国内だけでそれなりの市場があったため、これまでは、各社が囲い込み戦略を行い、部分最適化を徹底することで、大きな収益をあげることができた。そのため、各社は、他社との互換性を気にせずに、独自の効率的な機能を開発することで、強い日本の製造業を支えてきた。
しかし、この方法は、日本経済の失速とともに壁にぶつかる。各社ごとの効率化に限界が見えるなかで、新しいパラダイムであるスマートファクトリーに移行したくても、そもそも国際標準への対応を怠ってきたベンダ各社にとっては、これまで開発してきた独自機能の互換性という重い足かせがあるため、なかなかそこに踏み出せない。
筆者は、今からでもよいから全面的な国際標準への対応を進めるべきだと考える。移行時にはエンドユーザーも含めて大きな痛みが伴うだろうが、システム間でデータ変換を行う必要があり、シームレスなやり取りができないという不利な現状を打破し、欧米と同じ土俵に立てれば、これまで培ってきた効率化のノウハウが生きるはずである。そのときには、互いに相互接続性が高まるため、次に述べるようなセキュリティ対策が重要となってくる。
▼ 注7
1978年、Modicon(モディコン)社によって開発・公開された通信プロトコルで、PLC間、または計測器などの装置間の接続に広く使われている。
▼ 注8
PLC:Programmable Logic Controller、ピーエルシー。シーケンサと呼ばれることもある。いわば小型コンピュータの一種で、ユーザーが専用のプログラムを作成し、PLCに転送することによって、工場などの自動機械や各種設備などの各種動作制御を行える。
▼ 注9
DCS:Distributed Control System、ディーシーエス。分散制御システムと呼ばれ、制御システムを構成する機器ごとに設置される。これら複数のDCSは、ネットワーク接続されたなかで互いに補完しあいながら、プラントなど大規模環境において、流体の温度や圧力などを統合制御する。
▼ 注10
OPC Classic:OLE for Process Control、オーピーシー クラシック。産業オートメーション分野やその他業界における、データ交換を目的とした相互運用を行うための標準規格。
OPC Classicは、ソフトウェア・コンポーネント間のデータ交換のため、Microsoft Windowsの技術であるCOM/DCOM(分散型コンポーネント・オブジェクト・モデル)に基づく。 その仕様は、プロセスデータ(OPC DA)、アラーム(OPC AE)、履歴データ(OPC HDA)にアクセスするために別々に定義されているが、通常OPCというと、OPC DAのことを指す場合が多い。
▼ 注11
DCOM:Distributed Component Object Model、ディーコム。マイクロソフトが開発したソフトウェア基盤の一種であるCOMを拡張して、ネットワークを経由した分散環境においてデータのやり取りや処理依頼を可能にする技術のこと。通信ポートを動的に割り当て、広範なポートを使用するため、セキュリティ上問題があり、情報システムでは使われなくなっている。
▼ 注12
IEC 61131-3:PLCプログラミングの国際基準規格。国際電気標準会議(IEC)が1993年12月に発行した標準規格で、PLC用の5種類のプログラム言語〔ラダー・ロジック、シーケンシャル・ファンクション・チャート(SFC)、ファンクション・ブロック・ダイアグラム(FBD)、ストラクチャード・テキスト(ST言語)、インストラクション・リスト(IL)〕を定義したものである。日本国内では、ラダー・ロジック、ファンクション・ブロック・ダイアグラムを用いる文化が主流であり、IEC 61131-3対応を謳っているケースであっても、実際には、独自機能が多くプログラムの互換性が低いケースが多い。