(57)【要約】【課題】制御システムの既存動作を損なうことなく、制御システムに侵入したマルウェアを検出する。【解決手段】ルータ部１１Ｂが、システムネットワーク２０から受信した仮想ＰＣ１３宛てのパケットを、内部ネットワーク１２を介して当該仮想ＰＣ１３へ転送するとともに、当該内部ネットワーク１２を介して当該仮想ＰＣ１３から受信したレスポンスパケットをシステムネットワーク２０へ転送し、記憶部１６が、内部ネットワーク１２を介してやり取りが想定される正当な各種パケットの発信元アドレスおよび／または実行コマンドが登録された想定リスト１６Ａを記憶し、不正検出部１４が、内部ネットワーク１２を介してやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを想定リスト１６Ａとを照合して、当該パケットによる不正アクセスの有無を検出する。【選択図】  図１
2014063349.tif 000002
【特許請求の範囲】
【請求項１】
システムネットワークを介して接続された複数のノードから構築されて、２４時間連続して稼働して設備を制御する制御システムに対して、外部から侵入するマルウェアを検出するマルウェア検出装置であって、
当該装置内部に設けた内部ネットワークに接続されて、前記マルウェアのアクセス対象となる仮想ＰＣと、
前記システムネットワークから受信した前記仮想ＰＣ宛てのパケットを、前記内部ネットワークを介して当該仮想ＰＣへ転送するとともに、当該内部ネットワークを介して当該仮想ＰＣから受信したレスポンスパケットを前記システムネットワークへ転送するルータ部と、
前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りが想定される正当な各種パケットについて、当該パケットの発信元アドレスおよび／または実行コマンドが登録された想定リストを記憶する記憶部と、
前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを、前記記憶部の想定リストとを照合し、その照合結果に基づいて当該パケットによる不正アクセスの有無を検出する不正検出部と
を備えることを特徴とするマルウェア検出装置。
【請求項２】
請求項１に記載のマルウェア検出装置において、
前記不正検出部は、前記内部ネットワークから取り込んだパケットの宛先が前記仮想ＰＣである場合、または当該パケットが前記仮想ＰＣ宛てのパケットに対するレスポンスとして前記仮想ＰＣから送信されたパケットである場合に、当該パケットのアクセス内容が前記想定リストと一致しない場合には、当該パケットが前記システムネットワークに接続された前記ノードに侵入したマルウェアからのものであると判定することを特徴とするマルウェア検出装置。
【請求項３】
請求項１または請求項２に記載のマルウェア検出装置において、
前記不正検出部は、前記内部ネットワークから取り込んだパケットの宛先が前記仮想ＰＣではなく、かつ、当該パケットが前記仮想ＰＣ宛てのパケットに対するレスポンスとして前記仮想ＰＣから送信されたパケットではない場合に、当該パケットのアクセス内容が前記想定リストと一致しない場合には、当該パケットが前記仮想ＰＣに侵入したマルウェアからのものであると判定することを特徴とするマルウェア検出装置。
【請求項４】
システムネットワークを介して接続された複数のノードから構築されて、２４時間連続して稼働して設備を制御する制御システムに対して、外部から侵入するマルウェアを検出するマルウェア検出装置で用いられるマルウェア検出方法であって、
ルータ部が、前記システムネットワークから受信した、前記マルウェアのアクセス対象となる仮想ＰＣ宛てのパケットを、当該装置内部に設けた内部ネットワークを介して当該仮想ＰＣへ転送するとともに、当該内部ネットワークを介して当該仮想ＰＣから受信したレスポンスパケットを前記システムネットワークへ転送するルータステップと、
記憶部が、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りが想定される正当な各種パケットについて、当該パケットの発信元アドレスおよび／または実行コマンドが登録された想定リストを記憶する記憶ステップと、
不正検出部が、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを、前記記憶部の想定リストとを照合し、その照合結果に基づいて当該パケットによる不正アクセスの有無を検出する不正検出ステップと
を備えることを特徴とするマルウェア検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク・セキュリティ技術に関し、特に制御システムに侵入したマルウェア（Malware)を検出するマルウェア検出技術に関する。
【背景技術】
【０００２】
情報システムにおいて、ネットワークからＰＣへのマルウェアの不正侵入は、大きな社会問題となっている。マルウェアは、コンピュータウイルスやワームなど、悪意のあるプログラムや悪質なプログラムの総称である。このようなマルウェアは、ＰＣへ不正侵入した後、そのＰＣを踏み台にして他のＰＣへ不正侵入することにより、活動範囲を拡大させるため、被害が大きくなることが多い。
【０００３】
従来、このような不正侵入への対策技術として、おとりサーバによる通信を監視して、その偵察行動に応じて新たなおとりサーバを構築するための構築用情報と、おとりサーバによる通信を新たなおとりサーバに導くための機器設定用情報とを生成し、構築用情報に基づいて不正侵入者に侵入させるおとりサーバを動的に構築するとともに、機器設定用情報に基づいておとりサーバによる通信をネットワークの外部に出さないように制御する技術が提案されている（例えば、特許文献１など参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−００４６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような情報システムと同様に、プラントや建物設備の制御・監視・管理を行う制御システムにおいても、コンピュータでシステム化されているため、マルウェアの不正侵入への対策を講じて、システムのセキュリティ性を向上させる必要がある。
しかしながら、制御システムは、一般的な情報システムにはない、各種の制約があるため、情報システムと同様の対策を講じることができないという問題点があった。
【０００６】
例えば、制御システムの各ノードを構成するＰＣは、各機器で得られた測定データに基づき新たな指示データを出力する処理を繰り返し実行しているため、十分な応答性を得るためには、測定データの取得に要する時間、すなわちスキャンタイムを短くする必要ある。したがって、情報システムと同様にして、アンチウィルスソフトを並行稼働させた場合には、処理遅延が発生してスキャンタイムが増大する恐れがあり、十分な応答性を確保できなくなる。
【０００７】
また、制御システムの各ノードを構成するＰＣは、２４時間連続して稼働して設備を制御することが原則である。したがって、情報システムと同様のアンチウィルスソフトを制御システムのＰＣで用いる場合、アンチウィルスソフトのインストールや新たなマルウェアへの対応のための更新などを行う際に必要となる、ＰＣの停止やリブートを行うことができない。
【０００８】
本発明はこのような課題を解決するためのものであり、制御システムの既存動作を損なうことなく、制御システムに侵入したマルウェアを検出できるマルウェア検出技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
このような目的を達成するために、本発明にかかるマルウェア検出装置は、システムネットワークを介して接続された複数のノードから構築されて、２４時間連続して稼働して設備を制御する制御システムに対して、外部から侵入するマルウェアを検出するマルウェア検出装置であって、当該装置内部に設けた内部ネットワークに接続されて、前記マルウェアのアクセス対象となる仮想ＰＣと、前記システムネットワークから受信した前記仮想ＰＣ宛てのパケットを、前記内部ネットワークを介して当該仮想ＰＣへ転送するとともに、当該内部ネットワークを介して当該仮想ＰＣから受信したレスポンスパケットを前記システムネットワークへ転送するルータ部と、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りが想定される正当な各種パケットについて、当該パケットの発信元アドレスおよび／または実行コマンドが登録された想定リストを記憶する記憶部と、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを、前記記憶部の想定リストとを照合し、その照合結果に基づいて当該パケットによる不正アクセスの有無を検出する不正検出部とを備えている。
【００１０】
また、上記マルウェア検出装置の一構成例は、前記不正検出部が、前記内部ネットワークから取り込んだパケットの宛先が前記仮想ＰＣである場合、または当該パケットが前記仮想ＰＣ宛てのパケットに対するレスポンスとして前記仮想ＰＣから送信されたパケットである場合に、当該パケットのアクセス内容が前記想定リストと一致しない場合には、当該パケットが前記システムネットワークに接続された前記ノードに侵入したマルウェアからのものであると判定するようにしたものである。
【００１１】
また、上記マルウェア検出装置の一構成例は、前記不正検出部が、前記内部ネットワークから取り込んだパケットの宛先が前記仮想ＰＣではなく、かつ、当該パケットが前記仮想ＰＣ宛てのパケットに対するレスポンスとして前記仮想ＰＣから送信されたパケットではない場合に、当該パケットのアクセス内容が前記想定リストと一致しない場合には、当該パケットが前記仮想ＰＣに侵入したマルウェアからのものであると判定するようにしたものである。
【００１２】
また、本発明にかかるマルウェア検出方法は、システムネットワークを介して接続された複数のノードから構築されて、２４時間連続して稼働して設備を制御する制御システムに対して、外部から侵入するマルウェアを検出するマルウェア検出装置で用いられるマルウェア検出方法であって、ルータ部が、前記システムネットワークから受信した、前記マルウェアのアクセス対象となる仮想ＰＣ宛てのパケットを、当該装置内部に設けた内部ネットワークを介して当該仮想ＰＣへ転送するとともに、当該内部ネットワークを介して当該仮想ＰＣからレスポンス受信したパケットを前記システムネットワークへ転送するルータステップと、記憶部が、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りが想定される正当な各種パケットについて、当該パケットの発信元アドレスおよび／または実行コマンドが登録された想定リストを記憶する記憶ステップと、不正検出部が、前記内部ネットワークを介して前記ルータ部と前記仮想ＰＣとの間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを、前記記憶部の想定リストとを照合し、その照合結果に基づいて当該パケットによる不正アクセスの有無を検出する不正検出ステップとを備えている。
【発明の効果】
【００１３】
本発明によれば、制御システムの各ノードを構成するＰＣにおいて、アンチウィルスソフトを並行稼働させることなく、制御システムに侵入したマルウェアを検出することができる。このため、アンチウィルスソフトを並行稼働させた際に生じうる処理遅延の発生を回避でき、測定データの取得に要する時間、すなわちスキャンタイムの増大を抑制でき、設備制御において、十分な応答性を確保することが可能となる。また、アンチウィルスソフトのインストールや新たなマルウェアへの対応のための更新などを行う必要がなくなるため、ＰＣの停止やリブートを行う必要がなくなり、２４時間連続して稼働して設備を制御することができる。したがって、一般的な情報システムにはない、各種の制約がある制御システムについて、制御システムの既存動作を損なうことなく、制御システムに侵入したマルウェアを検出することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】マルウェア検出装置の構成を示すブロック図である。
【図２】マルウェア検出装置の構成を示すブロック図である。
【図３】転送設定情報の構成例である。
【図４】想定リストの構成例である。
【図５】代理ネットワークＩ／Ｆ部およびパケット転送制御部のパケット転送処理を示すフローチャートである。
【図６】不正検出部および仮想ＰＣ記録部の不正アクセス検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［発明の原理］
まず、本発明の原理について説明する。
２４時間連続して稼働して設備を制御する制御システムでは、次のような制約がある。
まず、制御システムの各ノードを構成するＰＣは、各機器で得られた測定データに基づき新たな指示データを出力する処理を繰り返し実行しているため、十分な応答性を得るためには、測定データの取得に要する時間、すなわちスキャンタイムを短くする必要ある。したがって、このようなＰＣでアンチウィルスソフトを並行稼働させた場合には、処理遅延が発生してスキャンタイムが増大する恐れがあり、十分な応答性を確保できなくなる。
【００１６】
また、制御システムの各ノードを構成するＰＣは、２４時間連続して稼働して設備を制御することが原則である。したがって、情報システムと同様のアンチウィルスソフトを制御システムのＰＣで用いる場合、アンチウィルスソフトのインストールや新たなマルウェアへの対応のための更新などを行う際に必要となる、ＰＣの停止やリブートを行うことができない。
【００１７】
また、アンチウィルスソフトを用いた場合、新たなマルウェアに対応するため、アンチウィルスソフトのプログラムを、逐次、修正する必要があるが、ＰＣの動作保証の観点から、このようなプログラムに対する修正を適用することは避ける必要がある。
また、ＰＣのハードディスクに保存されている各種ファイルをスキャンして、マルウェアを検出する方法もあるが、ＰＣの処理負担が増大するとともに、ハードディスクのアクセス速度が遅延するため、処理遅延が発生してスキャンタイムが増大する恐れがあり、十分な応答性を確保できなくなる。
【００１８】
一方、制御システムは、一般的な情報システムとは異なる特徴的なネットワーク構成を有している。
すなわち、システムネットワークに接続されている各ノードは、固定的なＩＰアドレスを有しており、動的に変化するものではない。また、インターネットへの接続が必須ではなく、外部ネットワークへの接続を遮断することが可能である。また、外部ネットワークからの限定的監視ニーズがあり、ファイアーウォールにより限定的に接続を許可することも可能である。
【００１９】
本発明は、前述した制御システムに特有の制約に加えて、このようなネットワーク構成上の特徴に着目し、ノードを構成するＰＣにアンチウィルスソフトをインストールせずに、システムネットワーク上でマルウェアによる不正アクセスを監視するものとし、この際、正当なアクセスをリスト化した想定リストで照合することにより、マルウェアによる不正アクセスを検出するようにしたものである。
【００２０】
［実施の形態］
次に、本発明の一実施の形態について図面を参照して説明する。
まず、図１を参照して、本実施の形態にかかるマルウェア検出装置１０について説明する。図１は、マルウェア検出装置の構成を示すブロック図である。図２は、マルウェア検出装置の構成を示すブロック図である。
【００２１】
このマルウェア検出装置１０は、全体としてサーバ装置やＰＣなどの情報通信装置からなり、プラントや建物設備の制御・監視・管理を行う制御システム１のシステムネットワーク２０に接続されて、制御システム１内へ不正侵入したマルウェアを検出する機能を有している。
【００２２】
ノードＮＤは、全体としてサーバ装置やＰＣなどの情報通信装置からなり、システムネットワーク２０に接続されて、制御システム１における各種処理を行う機能を有している。
ゲートウェイ３０は、全体として一般的なゲートウェイ装置からなり、システムネットワーク２０と外部ネットワークＮＷとを中継接続する機能を有している。
【００２３】
マルウェア検出装置１０には、主な機能部として、ルータ部１１、内部ネットワーク１２、仮想ＰＣ１３、不正検出部１４、仮想ＰＣ記録部１５、および記憶部１６が設けられている。
【００２４】
ルータ部１１は、専用の通信処理回路からなり、システムネットワーク２０と内部ネットワーク１２との間でやり取りされるパケットを制限して転送するファイアーウォール機能と、仮想ＰＣ１３内の通信Ｉ／Ｆの動作を代理する機能とを有している。
このルータ部１１は、代理ネットワークＩ／Ｆ部１１Ａとパケット転送制御部１１Ｂとから構成されている。
【００２５】
代理ネットワークＩ／Ｆ部１１Ａは、システムネットワーク２０とパケット転送制御部１１Ｂとに接続されて、システムネットワーク２０側から仮想ＰＣ１３宛てのリクエストを示すパケットを受信して、パケット転送制御部１１Ｂへ転送する機能と、当該リクエストへの応答に応じて仮想ＰＣ１３から送信されてパケット転送制御部１１Ｂで受信したパケットを、システムネットワーク２０からリクエスト元へ転送する機能とを有している。
【００２６】
この代理ネットワークＩ／Ｆ部１１Ａは、システムネットワーク２０と接続するための通信ポート１１Ｘを有しており、この通信ポート１１Ｘには、システムネットワーク２０のＩＰアドレスやＭＡＣアドレスが割り当てられている。図２の例では、システムネットワーク２０が「ＬＡＮ２」として割り当てられており、ＩＰアドレスとして「１７２．１８．２１．２３４」が割り当てられている。また、外部ネットワークＮＷへのパケット送信先となるゲートウェイＧＷとして、ゲートウェイ３０の通信ポート３０ＰのＩＰアドレス「１７２．１８．２１．２」が割り当てられている。
また、通信ポート１１Ｘでは、仮想ＰＣ１３で使用するポート番号と同じポート番号が使用可能な状態にオープンされている。図２の例では、使用可能なポート番号として「１３７」，「１３９」，「４４５」，〜，「１３５」がオープンされている。
【００２７】
パケット転送制御部１１Ｂは、代理ネットワークＩ／Ｆ部１１Ａと内部ネットワーク１２とに接続されて、代理ネットワークＩ／Ｆ部１１Ａから転送された仮想ＰＣ１３宛てのリクエストを示すパケットを、仮想ＰＣ１３の通信ポート１３Ｐのうち、代理ネットワークＩ／Ｆ部１１Ａで当該パケットを受信したポート番号と同じポート番号へ、内部ネットワーク１２を介して転送する機能と、当該リクエストへの応答に応じて仮想ＰＣ１３から送信されたパケットを内部ネットワーク１２から受信し、代理ネットワークＩ／Ｆ部１１Ａへ転送する機能とを有している。
【００２８】
このパケット転送制御部１１Ｂは、内部ネットワーク１２と接続するための通信ポート１６Ｐを有しており、この通信ポート１６Ｐには、内部ネットワーク１２のＩＰアドレスやＭＡＣアドレスが割り当てられている。図２の例では、内部ネットワーク１２が「ＬＡＮ１」として割り当てられており、ＩＰアドレスとして「１９２．１６８．１．１」が割り当てられている。
【００２９】
また、パケット転送制御部１１Ｂは、ルータとしての一般的な機能として、例えばパケット転送時にフィルタ情報に応じてパケットの転送／破棄を行う機能や、システムネットワーク２０と内部ネットワーク１２とのネットワークアドレス変換する機能を有している。
図３は、転送設定情報の構成例である。ここでは、外部ネットワークＮＷへのパケット送信先となるゲートウェイＧＷ、代理ネットワークＩ／Ｆ部１１Ａの通信ポート１１Ｘ、パケット転送制御部１１Ｂの通信ポート１１Ｙに関する各ＩＰアドレスのほか、システムネットワーク２０から仮想ＰＣ１３へ転送するパケットの転送可否を示すフィルタ情報や、システムネットワーク２０と内部ネットワーク１２とのネットワークアドレス変換のためのＮＡＴ(Network Address Translation)情報が設定されている。
【００３０】
内部ネットワーク１２は、マルウェア検出装置１０の内部に設けられて、ルータ部１１、仮想ＰＣ１３、および不正検出部１４が、内部ネットワーク１２を介して相互にパケット通信可能に接続する機能を有している。
【００３１】
仮想ＰＣ１３は、マルウェア検出装置１０のコンピュータ（図示せず）により、メモリ上で仮想的に構築されて、マルウェアのアクセス対象となるＰＣ（パーソナルコンピュータ）からなり、内部ネットワーク１２と接続されて、パケット転送制御部１１Ｂから内部ネットワーク１２を介して受信したパケットに含まれるリクエストの実行コマンドに応じた処理を実行する機能と、この処理で得られた内容を含む応答を示すパケットを内部ネットワーク１２を介してパケット転送制御部１１Ｂへ送信する機能とを有している。
【００３２】
このパケット転送制御部１１Ｂは、内部ネットワーク１２と接続するための通信ポート１３Ｐを有しており、この通信ポート１３Ｐには、内部ネットワーク１２のＩＰアドレスやＭＡＣアドレスが割り当てられている。また、通信ポート１３Ｐには、仮想ＰＣ１３で使用するポート番号が使用可能な状態に設定されている。図２の例では、ＩＰアドレスとして「１９２．１６８．１．１８０」が割り当てられている。また、外部ネットワークＮＷへのパケット送信先となるゲートウェイＧＷとして、パケット転送制御部１１Ｂの通信ポート１１ＹのＩＰアドレス「１９２．１６８．１．１」が割り当てられている。
また、通信ポート１３Ｐでは、いくつかのポート番号が使用可能な状態にオープンされている。図２の例では、使用可能なポート番号として「１３７」，「１３９」，「４４５」，〜，「１３５」がオープンされている。
【００３３】
不正検出部１４は、内部ネットワーク１２に接続されて、パケット転送制御部１１Ｂと仮想ＰＣ１３との間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスや実行コマンドを確認することにより当該パケットのアクセス内容を分析する機能と、得られたアクセス内容の発信元アドレスおよび／または実行コマンドが、後述する記憶部１６の想定リスト１６Ａに登録されているか否かに基づいて、当該パケットが不正アクセスであるか否かを判定する機能とを有している。
【００３４】
また、不正検出部１４は、当該パケットが仮想ＰＣ１３宛てのパケットまたは仮想ＰＣ１３宛てのパケットに対するレスポンスである場合には、当該不正アクセスがシステムネットワーク２０上のノードＮＤに侵入したマルウェアによるものと判定する機能と、当該パケットが仮想ＰＣ１３宛てのパケットおよび仮想ＰＣ１３宛てのパケットに対するレスポンスでない場合には、当該不正アクセスが仮想ＰＣ１３に侵入したマルウェアによる可能性があると判定する機能と、これら不正アクセスに対応するパケットと判定結果とを含む不正検出結果１６Ｂを記憶部１６に記録する機能とを有している。
【００３５】
仮想ＰＣ記録部１５は、不正検出部１４において仮想ＰＣ１３へのマルウェア侵入の可能性があると判定された場合には、仮想ＰＣ１３の動作状態を示す不正イメージデータ１６Ｃをを記憶部１６に記録する機能とを有している。
【００３６】
記憶部１６は、ハードディスクや半導体メモリからなり、各機能部での処理動作に用いる各種処理情報やプログラムを記憶する機能を有している。
記憶部１６で記憶する処理情報として、想定リスト１６Ａ、不正検出結果１６Ｂ、および不正イメージデータ１６Ｃがある。
図４は、想定リストの構成例である。想定リスト１６Ａは、内部ネットワーク１２でのやり取りが想定される、正常なパケットのアクセス内容を示すリストである。ここでは、パケットの特徴を示す、発信元アドレス、実行コマンドなどの属性情報からなる組がエントリとしてそれぞれ登録されている。
【００３７】
不正検出結果１６Ｂは、不正検出部１４で検出した不正アクセスの内容を示す情報である。例えば、システムネットワーク２０上のノードＮＤに侵入したマルウェアからの不正アクセスについては、当該不正アクセスが検出されたパケットのパケットデータとその判定結果が、不正検出結果１６Ｂとして記録される。
不正イメージデータ１６Ｃは、マルウェアが侵入した可能性がある仮想ＰＣ１３の動作状態を示すメモリイメージであり、仮想ＰＣ１３にマルウェアが侵入している場合には、そのマルウェアの検体を含んでいる。
【００３８】
マルウェア検出装置１０における機能部のうち、仮想ＰＣ１３、不正検出部１４、および仮想ＰＣ記録部１５は、ＣＰＵ（図示せず）が記憶部１６からプログラム（図示せず）を読み出して実行してなる演算処理部により実現される。このプログラムは、外部装置や記録媒体（ともに図示せず）に予め保存されており、マルウェア検出装置１０の記憶部１６に転送されて格納される。
【００３９】
［実施の形態の動作］
次に、図５および図６を参照して、本実施の形態にかかるマルウェア検出装置１０の動作について説明する。図５は、代理ネットワークＩ／Ｆ部およびパケット転送制御部のパケット転送処理を示すフローチャートである。図６は、不正検出部および仮想ＰＣ記録部の不正アクセス検出処理を示すフローチャートである。
【００４０】
代理ネットワークＩ／Ｆ部１１Ａにおいて、システムネットワーク２０から通信ポート１１Ｘでパケットａが受信された際、図５に示すパケット転送処理が開始される。
まず、代理ネットワークＩ／Ｆ部１１Ａは、受信したパケットａがＡＲＰ（Address Resolution Protocol）パケットか否か判定する（ステップ１００）。ＡＲＰは、ＩＰアドレスからＭＡＣアドレスを知るためのプロトコルである。
【００４１】
ここで、パケットａがＡＲＰパケットである場合（ステップ１００：ＹＥＳ）、代理ネットワークＩ／Ｆ部１１Ａは、ＡＲＰ処理に応じて当該パケットａを代理で応答し（ステップ１０１）、一連のパケット転送処理を終了する。
一方、パケットａがＡＲＰパケットでない場合（ステップ１００：ＮＯ）、代理ネットワークＩ／Ｆ部１１Ａは、パケットａをパケット転送制御部１１Ｂへ渡す（ステップ１０２）。
【００４２】
パケット転送制御部１１Ｂは、代理ネットワークＩ／Ｆ部１１Ａから受け取ったパケットａを、仮想ＰＣ１３の通信ポート１３Ｐのうち、代理ネットワークＩ／Ｆ部１１Ａの通信ポート１１Ｘで当該パケットを受信したポート番号ｍと同じポート番号ｍへ、内部ネットワーク１２を介して転送する（ステップ１１０）。
また、パケット転送制御部１１Ｂは、パケットａのポート番号ｍを記憶しておく（ステップ１１１）。
【００４３】
この後、パケット転送制御部１１Ｂは、仮想ＰＣ１３から送信されたパケットｂを、通信ポート１１Ｙで受信し（ステップ１１２）、パケットｂが、仮想ＰＣ１３の通信ポート１３Ｐのうち、ポート番号ｍから送信されたパケットａに対する応答パケットか否か確認する（ステップ１１３）。
ここで、パケットｂがポート番号ｍからの応答パケットである場合（ステップ１１３：ＹＥＳ）、パケット転送制御部１１Ｂは、パケットｂを代理ネットワークＩ／Ｆ部１１Ａへ渡す（ステップ１１４）。
【００４４】
代理ネットワークＩ／Ｆ部１１Ａは、パケット転送制御部１１Ｂから受け取ったパケットｂを、通信ポート１１Ｘのポート番号ｍからシステムネットワーク２０へ送信し（ステップ１０３）、一連のパケット転送処理を終了する。
一方、パケットｂがポート番号ｍからの応答パケットでない場合（ステップ１１３：ＮＯ）、パケット転送制御部１１Ｂは、パケットｂを破棄し（ステップ１１５）、一連のパケット転送処理を終了する。
【００４５】
また、内部ネットワーク１２を介してパケット転送制御部１１Ｂと仮想ＰＣ１３との間でパケットｃがやり取りされた場合、図６の不正アクセス検出処理が開始される。
まず、不正検出部１４は、内部ネットワーク１２から取り込んだパケットｃの宛先を確認する（ステップ１２０）。
【００４６】
ここで、パケットｃの宛先が仮想ＰＣ１３である場合（ステップ１２０：ＹＥＳ）、不正検出部１４は、パケットｃの発信元アドレスや実行コマンドを確認することにより当該パケットのアクセス内容を分析し（ステップ１２１）、得られたアクセス内容の発信元アドレスおよび／または実行コマンドが、予め設定されている想定リスト１６Ａに登録されているか否か確認する（ステップ１２２）。
【００４７】
この際、パケットｃのアクセス内容が想定リスト１６Ａに登録されている場合（ステップ１２２：ＮＯ）、不正検出部１４は、一連の不正アクセス検出処理を終了する。
一方、パケットｃのアクセス内容が想定リスト１６Ａに登録されていない場合（ステップ１２２：ＹＥＳ）、不正検出部１４は、当該パケットｃによるアクセスを、システムネットワーク２０上のノードＮＤからの不正アクセスであると判定し（ステップ１２３）、パケットｃと判定結果を含む不正検出結果１６Ｂを記憶部１６に記録し（ステップ１２４）、一連の不正アクセス検出処理を終了する。
【００４８】
不正検出結果１６Ｂについては、記憶部１６に記録する以外に、マルウェア検出装置１０の画面表示部（図示せず）に表示してもよく、システムネットワーク２０に接続されている監視装置（図示せず）に転送して、制御システム１の運転員に通知するようにしてもよい。
【００４９】
また、ステップ１２０において、パケットｃの宛先が仮想ＰＣ１３でない場合（ステップ１２０：ＮＯ）、不正検出部１４は、パケットｃが仮想ＰＣ１３宛てのパケットに対するレスポンスとして、仮想ＰＣ１３からパケット転送制御部１１Ｂへ送信されたパケットか否か確認する（ステップ１２５）。
ここで、パケットｃが上記レスポンスのパケットである場合（ステップ１２５：ＹＥＳ）、前述したステップ１２１へ移行する。
【００５０】
一方、パケットｃが上記レスポンスのパケットでない場合（ステップ１２５：ＮＯ）、不正検出部１４は、パケットｃの発信元アドレスや実行コマンドを確認することにより当該パケットのアクセス内容を分析し（ステップ１２６）、得られたアクセス内容の発信元アドレスおよび／または実行コマンドが、予め設定されている想定リスト１６Ａに登録されているか否か確認する（ステップ１２７）。
【００５１】
この際、パケットｃのアクセス内容が想定リスト１６Ａに登録されている場合（ステップ１２７：ＮＯ）、不正検出部１４は、一連の不正アクセス検出処理を終了する。
一方、パケットｃのアクセス内容が想定リスト１６Ａに登録されていない場合（ステップ１２７：ＹＥＳ）、不正検出部１４は、当該パケットｃのアクセスにより、仮想ＰＣにマルウェア侵入の可能性があると判定し（ステップ１２８）、パケットｃと判定結果を含む不正検出結果１６Ｂを記憶部１６に記録し（ステップ１２９）、一連の不正アクセス検出処理を終了する。
【００５２】
また、仮想ＰＣ記録部１５は、不正検出部１４における、仮想ＰＣ１３へのマルウェア侵入の可能性ありの判定に応じて、仮想ＰＣ１３の動作状態を示すメモリイメージを取得し（ステップ１３０）、不正イメージデータ１６Ｃとして記憶部１６に記録し（ステップ１３１）、一連の不正アクセス検出処理を終了する。
【００５３】
［実施の形態の効果］
このように、本実施の形態は、ルータ部１１Ｂが、システムネットワーク２０から受信した仮想ＰＣ１３宛てのパケットを、内部ネットワーク１２を介して当該仮想ＰＣ１３へ転送するとともに、当該内部ネットワーク１２を介して当該仮想ＰＣ１３から受信したパケットをシステムネットワーク２０へ転送し、記憶部１６が、内部ネットワーク１２を介してルータ部１１と仮想ＰＣ１３との間でやり取りが想定される正当な各種パケットについて、当該パケットの発信元アドレスおよび／または実行コマンドが登録された想定リスト１６Ａを記憶し、不正検出部１４が、内部ネットワーク１２を介してルータ部１１と仮想ＰＣ１３との間でやり取りされるパケットを取り込んで、当該パケットの発信元アドレスおよび／または実行コマンドを、想定リスト１６Ａとを照合し、その照合結果に基づいて当該パケットによる不正アクセスの有無を検出するようにしたものである。
【００５４】
これにより、制御システムの各ノードを構成するＰＣにおいて、アンチウィルスソフトを並行稼働させることなく、制御システムに侵入したマルウェアを検出することができる。このため、アンチウィルスソフトを並行稼働させた際に生じうる処理遅延の発生を回避でき、測定データの取得に要する時間、すなわちスキャンタイムの増大を抑制でき、設備制御において、十分な応答性を確保することが可能となる。また、アンチウィルスソフトのインストールや新たなマルウェアへの対応のための更新などを行う必要がなくなるため、ＰＣの停止やリブートを行う必要がなくなり、２４時間連続して稼働して設備を制御することができる。
したがって、本発明によれば、一般的な情報システムにはない、各種の制約がある制御システムについて、制御システムの既存動作を損なうことなく、制御システムに侵入したマルウェアを検出することが可能となる。
【００５５】
また、本実施の形態では、不正検出部１４が、内部ネットワーク１２から取り込んだパケットの宛先が仮想ＰＣ１３である場合、または当該パケットが仮想ＰＣ１３宛てのパケットに対するレスポンスとして仮想ＰＣ１３から送信されたパケットである場合に、当該パケットのアクセス内容が想定リスト１６Ａと一致しない場合には、当該パケットがシステムネットワーク２０に接続されたノードＮＤに侵入したマルウェアからのものであると判定するようにしたものである。
これにより、マルウェアがノードＮＤに侵入した場合、その侵入した箇所を特定することができる。
【００５６】
また、本実施の形態は、不正検出部１４が、内部ネットワーク１２から取り込んだパケットの宛先が仮想ＰＣ１３ではなく、かつ、当該パケットが仮想ＰＣ１３宛てのパケットに対するレスポンスとして仮想ＰＣ１３から送信されたパケットではない場合に、当該パケットのアクセス内容が想定リスト１６Ａと一致しない場合には、当該パケットが仮想ＰＣ１３に侵入したマルウェアからのものであると判定するようにしたものである。
これにより、マルウェアが仮想ＰＣ１３に侵入した場合、仮想ＰＣ１３の動作状態を示す不正イメージデータ１６Ｃの保存によりマルウェアの検体を確保できる。
【００５７】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００５８】
１…制御システム、１０…マルウェア検出装置、１１…ルータ部、１１Ａ…代理ネットワークＩ／Ｆ部、１１Ｂ…パケット転送制御部、１１Ｘ，１１Ｙ…通信ポート、１２…内部ネットワーク、１３…仮想ＰＣ、１３Ｐ…通信ポート、１４…不正検出部、１５…仮想ＰＣ記録部、１６…記憶部、１６Ａ…想定リスト、１６Ｂ…不正検出結果、１６Ｃ…不正イメージデータ、２０…システムネットワーク、３０…ゲートウェイ、３０Ｐ…通信ポート、ＮＤ…ノード、ＮＷ…外部ネットワーク。
【図１】
2014063349.tif 000003
【図２】
2014063349.tif 000004
【図３】
2014063349.tif 000005
【図４】
2014063349.tif 000006
【図５】
2014063349.tif 000007
【図６】
2014063349.tif 000008