今年5月のランサムウェアの感染と発病は世界150か国に及び、それはいわゆるOAパソコンだけではなく、病院や工場のような閉鎖されているはずのネットワークにも広がり、国内でも工場の操業停止が起こりました。プラントや工場の設備のネットワーク、すなわち制御ネットワークのリスクは今後ますます高まってゆきます。制御セキュリティとはどのようなものか、すでに発行されている国際規格IEC-62443の考え方を踏まえ、取り組みのステップを解説します。
本記事は工業技術社月刊「計装」2017年8月号「制御セキュリティ特集」に寄稿した記事に一部追記し、編集部と共著者のご了解のもと掲載しています。掲載記事は本誌をご覧ください。※補足記事あり
1.はじめに
今年5月のランサムウェア(身代金要求ウィルス:WannaCryおよびその亜種)による大規模なインシデントでは、世界150か国以上で多くのPCが被害にあった。パソコンをロックする手法だが、緊急停止を余儀なくされた工場やプラントあったかもしれない。制御の現場では、制御装置本体が正常でも、監視や操作ができなくなれば甚大な事故につながる可能性があるからである。このウィルスの特徴のひとつとして、ウィルスを添付したメールの大量配信など、明確なインターネット経由での配布・感染経路が定かではないことだ。(本原稿作成時点)サイバーセキュリティ対策が、インターネットとの接点や、特定の通信に注目するだけでは十分ではないことを示唆している。
人の悪意によらない制御ネットワークのインシデントもある。2006年8月、米国アラバマ州Browns Ferry原子力発電所3号機において、復水脱塩装置の冗長化PLCのネットワークモジュールが故障し、制御ネットワークに過大な量の通信データを送信した。これが原因で、原子炉循環水ポンプのコントローラが機能停止。この結果、反応炉循環水量低下となり、手動にて原子炉緊急停止をする事態となった。[1]
PLCが過大なデータを送信した詳細は不明なるも、基板の故障もしくは不適切なソフトウェアが原因であるとの報告がある。[2]「ブロードキャストストーム(broadcast storm)」と呼ばれる現象で、どこのネットワークでも起こりうるインシデントである。またこのような現象を、悪意を持って利用する事例も考えられる。
「PLCから保守用のデータを送信しているだけ」と考えていても、スイッチやルータなどのネットワーク機器同士が、双方向またはマルチキャスト通信[3]を行っている(ARP[4]、ICMP[5])。故障によってこのような処理が不適切な量のデータを送信してしまうケースもある。不要なデータであっても、制御システムや監視操作のパソコンには深刻な影響を与える可能性がある。(図1)
スイッチ(ハブ)やルータ、そしてIoTゲートウェイ的な集約装置も、ネットワーク機能を持つ立派なコンピュータである。前述のようなインシデントの本質は、どこにでも存在するリスクである。
アメリカ国立標準技術研究所(NIST)では、一般に起こりうるサイバーセキュリティインシデントとして注意するよう、このようなケースもガイドラインで提言している。[6] IOTにより様々な目的で、様々な部門が制御ネットワークに機器をつなげる現代、そのリスクをトータルで管理することが難しくなってきている。工場現場にある様々なシステムやSCADAがどのような役割を担い、どのような機能を維持しなければ危険な状態になるのか、それは現場ごとに異なる。制御計装エンジニアがリスクを特定しなければ、危険(ハザード)の所在すら実は定かではないからだ。
本稿では、情報セキュリティと制御セキュリティの違いを示しながら、プラントや工場の生産設備におけるサイバーセキュリティ対策において、制御計装エンジニアの役割がとても重要であることと、制御計装エンジニアがどのようなアプローチで取り組みを始めるべきか、最初のステップを解説する。
2.サイバーセキュリティが近年注目される背景
近年のIoT、Industrie4.0により制御ネットワークを取り巻く状況は大きく変化してきている。機器データを利用し、効率改善や予防保全を行う事例が増えている。ドイツが提唱推進するIndustrie4.0では、企業間のビジネスネットワークとの連携によって、工場のラインの稼働スケジュールやコンフィグレーションすら、ダイナミックに変化させることを目指している。[7]
ネットワークの物理的な接続形態も多様化している。設備オーナの業務ネットワークに接続されるだけではなく、現場機械の制御システムが保守センターにインターネットを介して接続するケースも増えている。送信するデータも、ファイルを1日に1度だけ送るのではなく、VPN(Virtual Private Network)[8]をつかって、PLCからのリアルタイムに近い周期の計測データを送信するケースも増えている。(図2)
従来縁遠かった情報ネットワークと制御(オートメーション)が密に融合し、映画にあるような、「遠隔でロボットを制御し、人の命を脅かす」インシデントが現実のものとなりつつある。人の命や環境というのは大げさに思えるだろうか。アニメにあるような、政府要人を接客ロボットが襲撃するような話ではない。(図3)
現場にある産業用ロボットの安全PLCを機能障害にすれば、日常の作業が重大な事故や損害につながる。このような可能性が一般に知られたのが、2010年のウィルス Stuxnet[9]である。
このため情報ネットワークと制御(オートメーション)の融合がもたらすリスクへの対処が注目されるようになった。制御システムにおいても「ネットワークの信頼性」を包含した「制御セキュリティ」が重視される背景である。情報の秘匿のみならず、設備の稼働や人命、環境を守るという大きな役割を、制御セキュリティは担っている。
3.情報セキュリティと制御セキュリティの違い
NISTのガイドライン[6]では、情報システムと制御システムの相違点をまとめている。ここでは、そのなかで、「Performance」と「Availability/Reliability」、「Operation」について確認する。
3.1 性能要件(Performance)
制御システムが通信する主なデータは、機器の動作状態を示す物理量である。個々の瞬間の値ではなく、その時間的な変化や振る舞いが主人公である。早く変化しているのか、遅く変化しているのか、その変化を数学的に処理することが制御演算である。ロボットもロケットも、自動車も医療機器も、コンピュータによる制御は、10分の1秒などの正確な一定周期で、物理量を処理し続けることが大前提である。このためデータ伝達の遅延(または異常な早着)はもちろん、データパケットを再送するなどもってのほかである。
そもそも計測値には、自然現象としてノイズや誤差が一定の割合で含まれる。「ある瞬間の値が無効」という事態は、制御計装エンジニアにとっては織り込み済みである。近年の多くの制御信号は、TCP/IPのプロトコルを用いて通信しているが、TCPの恩恵は全く期待していない。機械装置に近い階層になればなるほどその傾向は強くなる。
また重要な制御システムの操作端末には、複雑なセキュリティ機能はつけられない。緊急操作端末で、「英数字大文字小文字特殊記号を2つ以上使った16文字以上のパスワードで月に一度変更するような仕組み」を入れては、緊急操作が阻害される可能性が高い。
緊急に圧力を逃がす弁を開かねばならない緊迫した状況で、虹彩認証装置が血走った眼を認識するかどうか。手に汗を握る局面で指紋認証にエラーが出ないか。(私のスマホは手汗がひどいと認証してくれない)現場の微量な腐食性ガスで認証ICカードの金属部が腐食しないか。これは冗談ではないのだ。計装制御エンジニアの皆様にとっては、ごく当たり前の日常生活のため、ご納得いただけることだろう。
3.2 可用性・信頼性(Availability Reliability)
情報セキュリティ分野の優先順位は、情報の「秘匿(C)」「完全性(I)」「可用性(A)」の順であると、一般に示されている。情報ネットワークの場合、Primaryは「秘匿」である。一方で制御セキュリティではPrimaryが「可用性」で、「完全性」「秘匿」と説明される。とはいえ情報ネットワークでも、運用やシステムの目的によっては可能性が重要になる。ここで注目すべきは、可用性の観点である。特に「安全(S)」に対する観点が必要な点が大きく異なる。(図4)※引用元 こちらもご覧ください。
たとえば、プラントの状態が深刻な時こそ、通常とは異なる通信状態になる可能性が高い。通常は1つの端末で監視(操作せず自動運転)しているだけの設備でも、設備の緊急時には操作指令を頻繁に送信するかもしれない。そんな時に限って操作端末PCが不調になる。当然、新しいPCと急いで取り換える必要がある。
10年に一度の緊急事態の際、ネットワークトラフィック(通信量や通信データの内容)がいつもと異なるとしても、「不正なアクセスだ!」と勘違いしてはならないし、スイッチ(ハブ)に突然新しいPCがつながったとしても、すぐに通信遮断すべきだとは断定できない。通常しない操作も、する可能性がないとは言えない。
もちろん、ウィルスが不正な指令データを送信している可能性もあるが、その瞬間の設備の運転状態に基づき、運転責任者が判断するべき事項である。可用性とは、厳格な意味で、現場の機械や設備の稼働や安全をまっとうすることである。セキュリティ機器や制御システムですら、それを阻害してはならない。生産工場の現場であっても、優先すべきは「安全(S)」であり、そのための「可用性(A)」であり「秘匿(C)」であるという観点が、情報セキュリティ系との大きな違いであろう。安全のためならば、制御や保護のシステムを強制的に退避処理に移行し、設備を停止することもありうる。機能安全による安全対策である。
余談であるが、「セキュリティが高い」という表現を用いる場合、情報セキュリティでは、大切な情報が保管されている装置(中央サーバなど)が中核であり、そのエリアに最も高度なセキュリティ機能を付与する。IEC-62443[11]~[16]では、機械を制御する重要なコントローラのセキュリティレベル(SL:Security Level 0~4)は、SL0またはSL1としている。(図5)大切な制御現場のセキュリティレベルの数値のほうが低い。不特定多数がアクセスするような領域はSL4である。したがって、最も高度なセキュリティ機能を示すレベルはSL4である。このような定義は、高度なセキュリティ機能を、制御システムには付与しにくいからといえる。
大切な機器であるのに高度なセキュリティ機能を付与できない。このため制御セキュリティ対策は、「セキュリティ機能」の付帯を主にするのではなく、リスク分析に基づいた、「アーキテクチャ(構造)」を主としなければならない。このセキュリティ対策のアプローチを、Defense In Depthという。次の4章で解説する。
※上記のセキュリティレベルについての解説は、すでに発行されているIEC-62443 Part1,2,3[11]~[16]に基づきます。図はその中の制御システムの想定モデルを引用しています。セキュリティレベルはリスク分析の結果として決定されるため、実際の現場では想定モデルのレベル値とは異なる可能性があります。とはいえ現場には古くてセキュリティ機能の全くない制御機器が多数あります。実際のTUV-SUDドイツのアセスメントでも、想定モデルを目安にお客様へのコンサルティングを行いますゆえ、ここでは判りやすさのため本モデルで背景を解説しています。なお、一部でIEC-62443とISA SecureのEDSAを混同するご意見を頂きますが、ISA Secureが主張するIEC-62443 Part4は、IECとして現在まだ審議中で発行されたものではございません。よって本稿は、IEC-62443-4-1,2については触れていません。なお当該パートは、装置単体の規格ですので、本稿の趣旨である計装エンジニアの役割の重要性の解説としては対象外です。本稿ではページの都合上詳しく書けませんでした。詳しくは月刊「計装」10月号をご覧ください。
3.3 システムの運用(Operation)
制御の現場にPCベースの端末であるとする。それが接続する制御システムは、専用のハードウェアで、専用のOSが動作していることが一般的である。このためPC端末のOSは、アップグレードしたくてもできないケースが多い。関連する制御システムの更新を伴う場合、全体の更新は、途方もない時間と労力、リスク、コストがかかる可能性があるためである。また制御システムやPC端末は、機械メーカが供給するケースが一般的である。アップグレードにはその機械メーカの保証が必要である。設備オーナが独自に更新することは極めて危険な行為である。このように、設備を長期にわたり運用する上での管理アプローチも大きく異なる。
プラントや設備の現場のPCが古いバージョンのOSのままであることを指して、「制御分野はセキュリティ対策が遅れている」という表現が使われることがある。誤解である。したくてもできないケースが多い。ぜひ「制御セキュリティ対策は極めて難しい」と表現してもらいたい。セキュリティ機能をもつ機器を安易に入れられないことも一因である。
4.制御セキュリティに取り組む
4.1 Defense in Depth
IoTやIndustrie4.0の制御セキュリティ対策は、機械のコントローラ同士の接続や、製造ラインをまたいだネットワークの接続が避けられず、インターネットからの脅威に備えるだけでは不十分である。たとえば、工場に重要な冷却ファン2台が、相互バックアップするような仕組みを備えているとする。個別にローカルにパネルPCを設置して、各々のファンを手動で起動できる配慮をしているとする。
このように万一の設備トラブルに配慮した計装エンジニアリングをしても、2台のファンの制御装置が、IoTやIndustrie4.0の目的で、共通のネットワークにつながっている場合、冒頭に示した、ネットワーク感染するウィルスや、機器故障によるパケットストームが発生すれば、両方のファンの制御装置や操作パネルPCが同時に機能不能になる可能性がある。IoTシステムは「診断データを送っているだけ」と意識していても、通信システムは相互にバックグラウンドで通信する処理を有する。IoTで情報を集約するということは、工場の中の機器の相互バックアップや冗長設計にも影響を与える。情報系との分離のほか、お隣の機械システムとの分離も考慮する必要がある。
このようなことから、IEC-62443における制御ネットワークのセキュリティは、Defense In Depthの思想で作ることを求めている。機械や設備の用途や危険度を踏まえたグルーピングと分離を行い、階層化しインシデントの影響が全体に波及することを防ぐアプローチである。制御計装エンジニアにとって、電動機器の電源系統を、分離・階層化するのと同じようなイメージである。したがって、このアプローチを実行するためには、設備固有の稼働や安全、および保守や運用に関わる制約を熟知した「その現場を担当する」制御計装エンジニアの参画が不可欠である。さらにいえば、計装エンジニア自身が、最低限のネットワーク技術やセキュリティ技術の基礎を身に着け、立案することが理想である。
そういえば強く拒否されるかもしれない。しかし皆さんは、5Sや4Sと称し、現場の「整理」「整頓」「清掃」「清潔」を自らの手で行っていないだろうか。KY(危険予知)は隣の工程エリアが予定しているクレーンの玉掛けに対しても実施しないだろうか。作業現場の清掃や整頓を外部の第三者に任せっきりの現場が、安全を達成できるだろうか。セキュリティも、5Sや4Sに加えるべきもう一つの「S」である。自分の安全は自分で守る、その意識をぜひ制御ネットワークに対しても持っていただきたい。
4.2 制御セキュリティ対策のステップ
第一に、設備やプラントの災害リスクを把握する、ハイレベルリスク分析と呼ばれる作業から取り掛かる。プラントHAZOPなどにより設備のリスクアセスメントを終えている場合は、リスクレベル(この場合のリスクとは、人命や環境、損害等に対する評価)の高いハザード項目に注目する。ハザードのリスクを下げるための方策(安全機能や警報)を担うシステム、故障が重大なハザードにつながる制御システムを特定する。ネットワークに存在するリスクを洗い出し、レベル付けしたアセスメントレポートを作成する。これがなければ後段の作業はいずれも難しい。
第二に、ネットワークの接続状態の全貌を把握する。主要な機器だけではなく、制御盤内のメーカ用予備PCから、遠隔監視サービスのネットワーク、ハブなどの通信機器も含めて棚卸し、ネットワークを「見える化」する。構成物としてのアイデンティティを明確にする。つまりID番号を振り、機能を特定する。現場のケーブルにも統一的な番号を附番する。工場操業が停止する期間があれば、附番したタグをつける。用途や接続先によってケーブルの色替えすることも有効である。併せて、機材のIPアドレスをチェックする。このような手順を経て「見える化」すると、「現実の配線接続」と「論理的な接続」が異なることがわかる。
論理的な接続とは、IPアドレスをベースにしたネットワークの世界の中でのグルーピングや接続関係である。納入時の構成図では、異なるネットワークとして書かれているにもかかわらず、現実は同じネットワークセグメント(IPアドレスのネットワークグルーピングが同じ)で、一台のハブにすべてつながっていた、というケースもある。セキュリティ対策は論理的な接続だけで立案することも可能であるが、ネットワークとネットワークの間にパケットフィルタを入れたいと思っても、物理的にわかれていなければ実現できない。またIEC62443ー3ー3において、高いセキュリティレベルの達成には、制御ネットワークとの物理的な分離も必要である。このためネットワークを論理的・物理的に見える化することはとても重要である。
またネットワークの設計は、設備が稼働する何十年の間管理され続ける必要がある。将来の拡張工事や、追加のIoT工事などの際、適切なセキュリティ対策を実施するためには、現実の配線や階層と、論理的な構成が可能な限り一致し、将来の関係者が理解しやすいことが望ましい。IPアドレスの体系、たとえばネットワークアドレスを用途や機能ごとに分離するだけでも、制御セキュリティとしてIPストームの対策なるなど効果も高い。この段階のネットワークの整理や再構築も、Defense In Depthによる制御セキュリティ対策の一部である。
第三に、見える化したネットワーク全体を、ゾーンとコンジットによって区分け(色分けする)(図6)ゾーンとは、同じ用途、同じセキュリティレベルのエリアのことである。このゾーニングは、もちろん最初に行った機械設備の運用やリスクレベルに基づき階層化してゆく。前述したような、バックアップ関係にある機械設備の考慮もこの段階で行っておく。
PCに操作監視機能とPLCのロジックを変更する機能を有するソフトウェアが共存している場合、ゾーンの分離のためならば、2つのPCに機能を分離し、それぞれを別なゾーンに設置する対策も必要になる。コンジットとは、ゾーンとゾーンを接続する(物理的・論理的)通信媒体の経路の範囲である。同じプロトコルが流れる範囲や、VPNなどで暗号化された通信経路を区別する。これは次の段階で、セキュリティ機器をゾーンの間に設置する際の情報として必要である。
IEC-62443[11]~[16]では、この段階でSL-T(Security Level – Target)を設定する。セキュリティ機能を搭載できない機器レベルがSL-T=0である。階層化したゾーンに、1~4を目標値として設定する。SLは7つの観点に基づくベクトルである。詳細は本稿では割愛するが、ゾーンの性質を明確にするため、各ゾーンにレベルを明記しておくことは、階層化の適切さを確認するためにも有効である。
※ここのセキュリティレベルについての記述も前述の通り、すでに発行されているIEC-62443 Part1,2,3[11]~[16]に基づきます。本稿ではページの都合上詳しく書けませんでした。詳しくは月刊「計装」10月号をご覧ください。
第四に、セキュリティリスク分析を行う。この場合のリスクとは、「脆弱性×脅威(脅威×脅威源)」である。ゾーンやコンジットごとに、想定されるリスクを列記し、脅威を明確化してゆく。悪意のある人物が原因の場合もあれば、運転オペレータの誤操作かもしれない。または冒頭のような、機材の故障かもしれない。脅威分析は設備全体を俯瞰する計装エンジニアで担当できるだろう。しかしネットワーク機器の特性に基づく脆弱性分析は機材を熟知するシステムインテグレータの支援が必要かもしれない。このステップを分割して実施することもありうる。ゾーンに含まれる(接続される)機器すべてに対して、リスクをスコア化し、対策を明記する。機能安全で言えば、システムFMEAに類似した作業である。この活動を通し、不足しているセキュリティ障壁をゾーン間に追加する。ファイアーウォールやルータ、パケットフィルタなどを活用する。
このようなセキュリティ機器設置の対策が終わったのちは、その運用と保守のルールを図書化にする作業に移る。設備運転中にスイッチなどの通信機器を、緊急で交換する必要があるかもしれない。それがレイヤー3スイッチ[10]ならば、交換時に様々な初期設定が必要であろう。ネットワーク機器の緊急保守マニュアルの整備や、現場保守員への継続的な教育の実施は不可欠である。マニュアルや設定、運用時の想定リスクなどを、パッケージにして現場に用意しておくことも大切である。機械設備の緊急時に、ネットワーク設備の専門担当者がその場にいるとは限らないからである。
IoTやIndustrie4.0のさらなる活用のため、将来、新しいIT機器の設置や機器の更新が予想される。その際には、前述したステップに改めて取り組む必要があるが、その際に最も必要になるのは、リスク分析のディスカッション内容の記録である。当時は「リスクが低い」と判断し特別な対策をしなかったハザードも、将来の機能拡張時には対策が必要になるかもしれない。リスク分析は、ディスカッションの内容を、参照した書類などとともに、適切に長期にわたって管理しておくことが何より大切である。
このような運用段階のルールや管理方法をまとめたものを、セキュリティポリシーといい、IEC 62443 2-1にまとめられている。(図7)機会があれば別な機会に解説したい。
5.まとめ
情報セキュリティと制御セキュリティの違いから、取り組みのステップを解説した。
工場や設備、プラントは一つとして同じものはなく、場所ごとに設備の制御や保護、運用保守の様態、制約は異なる。その設備の実態を踏まえたリスク分析から、制御セキュリティ対策は始まる。IoTやIndustrie4.0の時代を迎え、情報ネットワークと制御(オートメーション)が密に融合するこれからの時代、制御計装エンジニア自身が中心となり、制御キュリティ対策に取り組むことの必要性、重要性について解説した。
本稿が、制御計装エンジニアの皆様が、制御セキュリティについて、それぞれの現場で取り組むきっかけになれば幸甚である。
最後になるが、TUV-SUDでは、このような制御セキュリティについての基礎セミナーから、実際の現場ネットワークの改善コンサルティング、セキュリティポリシー作成支援、国際規格IEC 62443に基づくドイツのサイバーセキュリティ専門家による評価試験など、取り組みの段階に応じたサービスを提供している。特に基礎セミナーは、制御計装技術者にとってわかりやすく、実例や制御ネットワークの実情に即した解説をなっており好評をいただいている。制御セキュリティはどのような現場でも喫緊の課題である。ぜひ、TUV-SUDをご活用いただきたい。
株式会社制御システム研究所は、TUV-SUDジャパンの公式パートナーです。
脚注および参考文献
[1] U.S. Nuclear Regulatory Commission (NRC) Information Notice 2007-15 in April 17, 2007
[2]Joseph Weiss 著”Protecting Industrial Control Systems from Electric Threats”,2010.June.
[3]マルチキャスト通信:ネットワークに接続されている装置すべてに、一斉にデータを送信する方式。温度や圧力など、ある瞬間の値(瞬時値)を、分散型制御システムでリアルタイムに共有する目的で使用される。
[4]ARP(Address Resolution Protocol): IPアドレスから、装置のネットワークICに固有のMACアドレス(Media Access Control address)を問い合わせるための装置間のバックグラウンド通信。
[5]ICMP(Internet Control Message Protocol):「エラー」や「通信処理制御信号」 を転送するための装置間の通信。TCP/IPを使用する装置間で、通信状態を確認するために 使用されるバックグラウンド通信。
[6] US, NIST (National Institute of Standards and Technology) Special Publication 800-82 Revision 2
Guide to Industrial Control Systems (ICS) Security
[7] ドイツ工学アカデミー acatech (Deutsche Akademie der Technikwissenschaften), “Recommendations for implementing the strategic initiative INDUSTRIE 4.0”,April 2013.
[8]VPN(Virtual Private Network):暗号化したデータを拠点間でやり取りすることで、途中にインターネットなど様々な種類のネットワークが介在しても、拠点間があたかもローカルなネットワークで結ばれているように機能する仮想ネットワーク技術。多くのルータ製品やFirewall製品が機能として搭載している。
[9]Stuxnet:イラン核施設の遠心分離機の回転速度に関わる制御システムに特定のコマンドを出し機能を停止させ、数千台の遠心分離機の全てを稼働不能にしたとされる。David E. Sanger著”Confront and Conceal: Obama’s Secret Wars and Surprising Use of American Power”, 2012, June.
[10]レイヤー3スイッチ(Layer 3 Switch):ルータ機能を持ち、異なるネットワークワークにデータを転送する機能を持つ装置。
[11] IEC/TS 62443-1-1 Ed 1.0, “Industrial communication networks – Network and system security –Part 1-1: Terminology, concepts and models”, 2009-07.
[12] IEC 62443-2-1 Ed 1.0, “Industrial communication networks – Network and system security –Part 2-1: Establishing an industrial automation and control system security program”, 2010-11.
[13] IEC TR 62443-2-3 Ed 1.0, “Security for industrial automation and control systems –Part 2-3: Patch management in the IACS environment”, 2015-06.
[14] IEC 62443-2-4 Ed 1.0, “Security for industrial automation and control systems –Part 2-4: Security program requirements for IACS service providers”, 2015-06.
[15] IEC/TR 62443-3-1 Ed 1.0, “Industrial communication networks – Network and system security –Part 3-1: Security technologies for industrial automation and control systems”, 2009-07.
[16] IEC 62443-3-3 Ed 1.0, “Industrial communication networks – Network and system security –Part 3-3: System security requirements and security levels”, 2013-08.