連載
» 2014年03月04日 10時00分 公開

制御システム技術者のためのセキュリティ基礎講座(4):制御システムの守り方――カギを握る「多層防御」と「状況認識」 (2/3)

[佐々木 弘志 / マカフィー,MONOist]

ネットワーク層以下のセキュリティソリューション

 では、この「多層防御」を制御システムにおいて実現するにはどうしたらよいだろうか。制御システム技術者にとって関係が深いと思われるネットワーク層以下について、現状考えられているソリューションを紹介しよう。

 「ネットワーク層」におけるセキュリティは、IPベースのネットワークであれば、オフィスのセキュリティでも用いられているファイアウォールやIDSなどのネットワークセキュリティ装置が使用される。ただし、対象とするネットワークによっては、制御システム独自のイーサネットベースの通信プロトコルを用いたネットワーク(EtherCAT、EtherNet/IP)が存在しているため使用に制限がある。さらに、シリアル通信のようなIPベースでない通信に対しては有効な対策がないのが現状である。

 「アプリケーション層」はどうだろうか。制御用の端末パソコンに対して、アンチウイルスソフトは有効な対策の1つだが、可用性の問題やそもそもインターネットにつながっていない場合もあるため、アンチウイルスソフトの定義ファイル※3)の更新が難しいといった事情がある。

※3):アンチウイルスソフトがスキャン時に比較対象とするマルウェアのリストファイル。DATとも呼ばれる。

 それに対して、最近、注目を浴びているのが、「ホワイトリスト型のウイルス対策」である。この対策は、簡単に言ってしまえば、起動してよいアプリケーションのリストを作成して、それ以外のプロセスを起動させないというものである。制御システムの端末パソコンのように、やることが決まっていて変更が少ないパソコンに対して有効だとされるソリューションだ。

 ただし、PLCやDCSのようにリアルタイムOSなどを用いている制御装置については、有効な対策がないのが現状である。現状できることがあるとすれば、PLCやDCSにおいて、通常とは違う不正な通信やファイルに対する耐性(Robustness)を高めるということだ。

 スタックスネット(Stuxnet)のように標的型で上位端末を乗っ取られてしまった場合の対処は難しいが、例えば、悪意のある不正な通信を受けても、止まったり、異常動作しないように作っておくというのは大事な対策の1つである(関連記事:制御システムを狙ったマルウェア「Stuxnet」って何?)。制御システム技術者で開発に携わっている人の心情としては、仕様外の通信についてはユーザーの責任で防いでほしいと言いたいところかもしれないが、ユーザーのミスでなく、マルウェアや攻撃者による攻撃があることを考えるとそうも言っていられないだろう。

 最後に、「データ層」であるが、データベース監視、ファイル監視のようなソリューションが存在し、データベース操作やUSBメモリなどのリムーバブルメディアに関するファイルのコピーなどを監視、禁止することができる。これもWindowsのようなOSには適用できるが、もともと装置の機能として備えている場合は別として、対応外のOSを持つ制御装置内のファイルやデータベースについては、後から追加するのは困難な状況がある。

制御システムセキュリティにおける「状況認識」とは?

 「多層防御」を実現するため、「どう守るか」に注力することも重要だが、もう1つの重要な考え方として「状況認識」が挙げられる。ここでいう「状況認識」とは、システム全体のログやイベント情報を集めて相関分析を行い、早期に異常を察知し対策を行うことである。

 これは、特に制御システムに対しては大事な考え方である。制御システムは可用性を重視するため古いシステムが残り続けることが多く、攻撃を受けやすい環境にある。さまざまなソリューションやセキュリティポリシーで多層防御することは当然重要なのだが、ある程度攻撃が成功してしまう前提で「いかに早く攻撃に気づいて対策が打てるか」がということも大きなポイントとなっている。そのため「状況認識」の実現が重要になるわけだ。

 状況認識を実現するツールとしては、「SIEM(System Information and Event Management)」というソリューションが知られている。SIEMとは、システム全体のログやイベント情報を集めて相関分析を行うソリューションのことだ。

 具体的に、複数のログを組み合わせて初めて異常と判断できる例を紹介する。図2は、「Aさんのパソコンがサーバ上の機密情報にアクセスしている」というログと、「Aさんは退出中(入退室管理のログから)」というログが同時に発生した場合を示している。

図2:SIEMの相関分析例 図2:SIEMの相関分析例

 この場合、個々のログ自体は正常の動作だが、組み合わせると「Aさんが不在なのに、Aさんのパソコンが機密情報にアクセスしている」という結果となり「異常だ」と判別できるようになる。SIEMはこうした状況をあらかじめルール化しておくことで、1つ1つのログだけでは判別できない問題の検知を可能とするものだ。ただし、制御システムにおける相関分析の活用については、世界的にもまだ発展途上といったところである。

Copyright © ITmedia, Inc. All Rights Reserved.