連載
» 2014年05月20日 10時00分 公開

制御システム技術者のためのセキュリティ基礎講座(6):制御システムのネットワーク監視「侵入検知システム(IDS)」をどう使うか (3/3)

[佐々木 弘志 / マカフィー,MONOist]
前のページへ 1|2|3       

IDSの活用例(1)(特定のコマンド検知)

 IDSを活用する上でのポイントは、IDSが対象のネットワークで使用している通信プロトコルに対応しているかどうかである。先にも述べたように、制御システムのネットワークでは多くの場合、専用の通信プロトコルが使用されている。IDSの中にはこれら制御系の通信プロトコルにも対応しているものが存在し、ICS-CERTなどで公開された脆弱性を利用した攻撃を検知するためのシグニチャ(検知ルール)を持っている※6)

※6)McAfee Network Security Platformの対応通信プロトコル一覧(https://kc.mcafee.com/corporate/index?page=content&id=KB61036

 ところが、国内で用いられているプロトコルの一部は仕様が公開されておらず、公開されていたとしても現時点でIDSで対応できるプロトコルは限られているのが実情だ。ではIDSは制御システムネットワークで活用できないのかというとそうではない。IDSの中には、シグネチャをカスタムで作成して追加することができるものがあるので、この機能によって、IDSが非対応の通信プロトコルであっても、特定のコマンドを検知することが可能だ。

 図3に示したのは、「DNP3」という電力や水道系のシステムなどでよく用いられている通信プロトコルのシグニチャ設定の例である。先に述べたように制御システムのプロトコルは構造がシンプルなので、こうした検知ルールを作成するのは比較的簡単である。このような検知ルールを用いて、リセットコマンドや停止コマンドなどの制御機器の動作に影響を与えるような通信を監視することができる。

図3 図3:デジタルボンド社が公開するIDS用シグニチャの例。通信の中身の特定のオフセット位置を監視している(http://www.digitalbond.com/tools/quickdraw/dnp3-rules/rule-1111201/

IDSの活用例(2)(通信内容のホワイトリスト化)

 IDSは通信の中身を見ることができるため、IPアドレスに加えて、アプリケーションをベースにした通信制御(ACL:Access Control List)を行うことができる。この特性を生かして、決まった通信ルールから外れる通信を検知することができる。つまり通信内容を「ホワイトリスト化」するわけだ。

 制御システムネットワーク内では、通信する機器の組み合わせや内容が決まっていることが多いため、例えば、制御システムネットワーク内で、送信元と送信先のIPアドレスのリストを指定したり、特定のIPアドレス間での「ファイル共有通信禁止」といったようなルールを作成することができる。このようなルールを作成してネットワークを監視した場合、例えば、リストにないIPアドレスからの通信を検知して、制御システムに対する盗聴や攻撃の可能性を検知したり(図4-1)、マルウェア拡散時の特徴であるファイル共有系の通信を検知することによって、マルウェア感染したパソコンから他のパソコンに感染しようとする動きを察知することができる(図4-2)。

図4 図4:制御システムネットワークにおける通信内容のホワイトリスト化(出典:マカフィー)

制御システム技術者から見たIDS

 ここまで見てきたように、IDSはもともと情報システムで用いられているソリューションを制御系のネットワークに応用していることから、あくまでIPベースの通信に対してのみ有効であり、シリアル通信のように非IPベースの通信に対しての有効なセキュリティ対策は、世界的に見てもまだまだこれからといったところである。

 筆者としては、IPベースの通信に関しては、情報システムでの実績があるIDSやファイアウォールなどのソリューションを応用するのが早道だと考えるが、非IPベースの通信については、通信プロトコルの特性やOSやリソースの制限についてよく知っている制御システム技術者が、セキュリティの観点で自身の製品を見直して機能追加する方がよいものが生まれるのではないかと考えている。

 例えば、PLCに対する通信を例に取って、先のIDSで行った特定コマンドの検知の機能をPLC本体に持たせることを考えてみる。つまり、外部からの不正なコマンドによる攻撃を防ぐために、セキュリティレベルに応じて特定の通信コマンド以外は受け付けないようなモードを作るというのはどうだろうか。

 PLCの情報読み出し系のコマンドのみを受け付け、停止、リセット、プログラム変更など、可用性を損ねるコマンドを受け付けないようにすれば、悪意ある攻撃だけでなく、権限のないユーザーのオペレーションミスも防げるかもしれない。これはあくまで一例だが、制御システム技術者がセキュリティという観点で制御システムネットワークの監視に寄与することのできる余地というのはまだまだ大きいし、新しいビジネスチャンスにもなり得ると感じる。

次回は「状況認識」

 次回は、第4回でも述べた「状況認識」について取り上げる。これまで紹介したセキュリティ対策は、「防御」することを目的としたものだったが、「状況認識」とは、制御システム内で発生するさまざまな異常の兆候を察知して、早期の対策ができるようにするための考え方である。これを実現するためのツールSIEM(Security Information and Event Management)の活用と合わせて紹介する。


危機を迎える制御システムのセキュリティ対策とは?:「制御システムセキュリティ」コーナーへ

「制御システムセキュリティ」コーナー

工場やプラントなどの制御システム機器へのサイバー攻撃から工場を守るためには何が必要なのでしょうか。「制御システムセキュリティ」コーナーでは、制御システムセキュリティ関連の最新情報をお伝えしています。併せてご覧ください。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.