JP6541903B2 - 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム - Google Patents

攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム Download PDF

Info

Publication number
JP6541903B2
JP6541903B2 JP2018563982A JP2018563982A JP6541903B2 JP 6541903 B2 JP6541903 B2 JP 6541903B2 JP 2018563982 A JP2018563982 A JP 2018563982A JP 2018563982 A JP2018563982 A JP 2018563982A JP 6541903 B2 JP6541903 B2 JP 6541903B2
Authority
JP
Japan
Prior art keywords
command
normal
manufacturing
attack
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018563982A
Other languages
English (en)
Other versions
JPWO2018138793A1 (ja
Inventor
雅司 立床
雅司 立床
樋口 毅
毅 樋口
河内 清人
清人 河内
米田 健
健 米田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018138793A1 publication Critical patent/JPWO2018138793A1/ja
Application granted granted Critical
Publication of JP6541903B2 publication Critical patent/JP6541903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、工場・プラント等の制御に関わる命令(以下、製造コマンドと称す)に対するサイバー攻撃や故障等の異常による不正な改ざん・挿入、破棄を検知する技術に関する。
製造コマンドに含まれる製造対象製品を識別するための製品IDを用いて、製造工程の異常を検知する方法が開示されている(例えば、特許文献1参照)。
さらに、工場・プラント等の正常な稼働状況をシミュレーションにより取得しておき、実際の工場・プラント等の稼働状況と、事前に取得しておいたシミュレーション結果とを比較することで、異常を検知する方法が開示されている(例えば、特許文献2参照)。
特開2016−014992号公報 特開2013−218725号公報
しかしながら、従来技術には、以下のような課題がある。
特許文献1、2に係る従来方法は、正常な製造コマンドの流れをシミュレーションにより取得して、製造コマンドの時系列順序を正常コマンド群として記憶しておく。さらに、従来方法は、実際の工場・プラント等における製造コマンドの時系列順序も、同様に実コマンド群として記憶しておく。
そして、従来方法は、実際の工場・プラント等で新たな製造コマンドが発生した時点で、正常コマンド群と実コマンド群から、新たな製造コマンドの製品IDを持つものだけを抽出して、抽出結果を比較することで、製造コマンドの攻撃・異常を検知することが可能であった。しかしながら、従来方法は、製品IDを含まない製造コマンドがある場合には、検知が困難であった。
本発明は、前記のような課題を解決するためになされたものであり、製品IDを含まない製造コマンドがある場合にも、サイバー攻撃や故障等の異常による不正な改ざん・挿入、破棄を検知することのできる攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラムを得ることを目的とする。
本発明に係る攻撃・異常検知装置は、記憶部と、コマンド抽出部と、検知部とを備え、実工場における製造コマンドに含まれる攻撃・異常を検知する攻撃・異常検知装置であって、記憶部は、正常な製造コマンドの集合が記憶された正常コマンド記憶領域と、実工場から送信される実際の製造コマンドの集合が記憶された実コマンド記憶領域とを有し、コマンド抽出部は、コマンド宛先、コマンド名、コマンドパラメータを含んで構成された実際の製造コマンドを実工場から受信し、コマンド宛先が同じ実際の製造コマンドに関して受信した順に到達順の番号を付して実際の製造コマンドの集合の1つの要素として実コマンド記憶領域に記憶させ、実際の製造コマンドを今回受信した際に、コマンド宛先、コマンド名、コマンドパラメータ、到達順を含んだ構成として正常コマンド記憶領域に記憶された正常な製造コマンドの集合の中から、今回受信した実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を正常コマンド群として抽出し、実コマンド記憶領域に記憶された実際の製造コマンドの集合の中から、今回受信した実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を実コマンド群として抽出し、検知部は、コマンド抽出部によって抽出された正常コマンド群および実コマンド群を到達順ごとに比較する第1検知処理を実行することで攻撃・異常を検知するものである。
また、本発明に係る攻撃・異常検知方法は、実工場における製造コマンドに含まれる攻撃・異常を検知する攻撃・異常検知装置により実行される攻撃・異常検知方法であって、コマンド宛先、コマンド名、コマンドパラメータを含んで構成された実際の製造コマンドを実工場から受信する第1ステップと、コマンド宛先が同じ実際の製造コマンドに関して、受信した順に到達順の番号を付して実際の製造コマンドの集合の1つの要素として実コマンド記憶領域に記憶させる第2ステップと、コマンド宛先、コマンド名、コマンドパラメータ、到達順を含んだ構成として正常コマンド記憶領域に正常な製造コマンドの集合を記憶させておく第3ステップと、実際の製造コマンドを今回受信した際に、第3ステップによって正常コマンド記憶領域に記憶された正常な製造コマンドの集合の中から、今回受信した実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を正常コマンド群として抽出する第4ステップと、実コマンド記憶領域に記憶された実際の製造コマンドの集合の中から、今回受信した実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を実コマンド群として抽出する第5ステップと、第4ステップによって抽出された正常コマンド群および第5ステップによって抽出された実コマンド群を到達順ごとに比較する第1検知処理を実行することで攻撃・異常を検知する第6ステップとを有するものである。
さらに、本発明に係る攻撃・異常検知プログラムは、攻撃・異常検知装置に備えられたコマンド抽出部、および検知部として機能させるためのものである。
本発明によれば、コマンド記憶領域に記憶された、コマンド宛先および到達順の情報を含む正常な製造コマンドの集合と実際の製造コマンドの集合のそれぞれの中から、新たに受信した実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を抽出する構成と、抽出した両要素の到着順ごとにコマンド内容を比較することで、攻撃・異常を検知する構成を備えている。この結果、製品IDを含まない製造コマンドがある場合にも、サイバー攻撃や故障等の異常による不正な改ざん・挿入、破棄を検知することのできる攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラムを得る
本発明の実施の形態1における検知サーバの構成図である。 本発明の実施の形態1における検知サーバ、工場シミュレータ、および実工場の接続構成を示した図である。 本発明の実施の形態1における検知サーバ、工場シミュレータ、および実工場監視装置のハードウェア構成例を示す図である。 本発明の実施の形態1における検知サーバで実行される攻撃・異常検知処理の一連動作を示すフローチャートである。 本発明の実施の形態1におけるコマンド記憶領域の具体例として、コマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態1におけるコマンド記憶領域の具体例として、図5に示すコマンド記憶領域の例の状態で、実工場から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態1におけるコマンド記憶領域の具体例として、図6に示すコマンド記憶領域の例の状態で、実工場から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態2における検知サーバの構成図である。 本発明の実施の形態2における検知サーバで実行される攻撃・異常検知処理の一連動作を示すフローチャートである。 本発明の実施の形態2におけるコマンド記憶領域の具体例として、コマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態2におけるコマンド記憶領域の具体例として、図10に示すコマンド記憶領域の例の状態で、実工場から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態2におけるコマンド記憶領域の具体例として、図11に示すコマンド記憶領域の例の状態で、実工場から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態3における検知サーバの構成図である。 本発明の実施の形態3における検知サーバで実行される攻撃・異常検知処理の一連動作を示すフローチャートである。 本発明の実施の形態3におけるコマンド記憶領域の具体例として、コマンド記憶領域が記憶されている状態を示した図である。 本発明の実施の形態3におけるコマンド記憶領域の具体例として、図15に示すコマンド記憶領域の例の状態で、実工場から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域が記憶されている状態を示した図である。
以下、本発明の攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラムの好適な実施の形態につき図面を用いて説明する。
本発明は、製造コマンドの宛先となる生産設備等への製造コマンド発行順序が、多品種少量生産の工場・プラント等だけでなく、少品種大量生産が求められるマスカスタム生産においても、製造コマンドの宛先単位で保証されることに着目している。そして、この着目に基づいて、正常コマンド群と実コマンド群の比較時に、工場・プラント等で新たに発生した製造コマンドの宛先と同一の宛先を持つ製造コマンドだけを抽出して比較することで、従来技術の課題を解決することを技術的特徴としている。
以下の各実施の形態では、正常な製造コマンドの流れをシミュレーションするコンピュータ(以下、シミュレーション装置と称す)から取得した正常な製造コマンドと、実際の工場・プラント等(以下、実工場と称す)から得られる実際の製造コマンドの流れを比較することで、攻撃・異常を検知可能な攻撃・異常検知装置等を説明する。なお、各実施の形態のフローチャートに示す手順により、本発明に係る情報処理方法を実現可能である。
実施の形態1.
図1は、本発明の実施の形態1における検知サーバ101の構成図である。検知サーバ101は、攻撃・異常検知装置の具体例に相当する。
検知サーバ101は、宛先別コマンド抽出部102、攻撃・異常検知部103、およびコマンド記憶領域110から構成される。また、コマンド記憶領域110は、正常コマンド記憶領域120および実コマンド記憶領域130から構成される。そして、コマンド記憶領域110は、検知サーバ101が保持する情報を格納する。
正常コマンド記憶領域120には、例えば、図1に示す情報が記憶されている。すなわち、本実施の形態1における正常コマンド記憶領域120は、コマンド宛先121、コマンド名122、コマンドパラメータ123、到達順124から構成される。
実コマンド記憶領域130には、例えば、図1に示す情報が記憶されている。すなわち、本実施の形態1における実コマンド記憶領域130は、コマンド宛先131、コマンド名132、コマンドパラメータ133、到達順134から構成される。
工場シミュレータ151は、シミュレーション装置の例に相当する。実工場152は、実工場の例に相当する。
図2は、本発明の実施の形態1における検知サーバ101、工場シミュレータ151、および実工場152の接続構成を示した図である。工場シミュレータ151は、シミュレーションを実現し、結果を送信する工場シミュレータ210を備える。工場シミュレータ210は、コマンド送信部211および工場シミュレーション部212から構成される。
実工場152は、工場内の製造コマンドを監視し、結果を送信する実工場監視装置220を備える。実工場監視装置220は、コマンド送信部221およびコマンド監視部222から構成される。
なお、検知サーバ101は、複数の工場シミュレータ151および複数の実工場152が接続される構成であってもかまわない。さらに、検知サーバ101に接続されている工場シミュレータ151は、複数の工場シミュレータ151が複数階層からなるネットワーク構成であってもよく、同様に、実工場152も、複数の実工場152が複数階層からなるネットワーク構成であってもよい。
上述の検知サーバ101、工場シミュレータ210、および実工場監視装置220は、コンピュータであり、データ管理装置の各構成要素は、プログラムにより処理を実行できる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
図3は、本発明の実施の形態1における検知サーバ101、工場シミュレータ210、および実工場監視装置220のハードウェア構成例を示す図である。図3においては、演算装置301、外部記憶装置302、主記憶装置303、通信装置304が、バス305により相互に接続されている。
演算装置301は、プログラムを実行するCPU(Central Processing Unit)である。外部記憶装置302は、例えば、ROM(Read Only Memory)やハードディスクである。
主記憶装置303は、通常、RAM(Random Access Memory)である。通信装置304は、通常、イーサネット(登録商標)に対応した通信カードである。
プログラムは、通常は、外部記憶装置302に記憶されており、主記憶装置303にロードされた状態で、順次、演算装置301に読み込まれ、処理が実行される。具体的なプログラムは、図1において宛先別コマンド抽出部102および攻撃・異常検知部103として説明されている機能を実現するプログラムに相当する。
また、図1に示すコマンド記憶領域110は、例えば、外部記憶装置302により実現される。
さらに、外部記憶装置302には、オペレーティングシステム(OS)も記憶されている。そして、OSの少なくとも一部が、主記憶装置303にロードされ、演算装置301は、OSを実行しながら、図1に示す宛先別コマンド抽出部102および攻撃・異常検知部103の機能を実現するプログラムを実行する。
また、本実施の形態1の説明において、処理の結果を示す情報、データ、信号値、変数値のそれぞれは、主記憶装置303にファイルとして記憶されている。
なお、図3の構成は、あくまでも検知サーバ101、工場シミュレータ210、および実工場監視装置220のハードウェア構成の一例を示すものであり、図3に記載の構成に限らず、他の構成であってもよい。例えば、表示ディスプレイ等の出力装置や、マウス・キーボードといった入力装置が、バス305にさらに接続されたハードウェア構成であってもよい。
以下、図1に基づいて、本実施の形態1における検知サーバ101の動作を説明する。なお、各動作の詳細については、図4に示したフローチャートに基づいて、後述する。
宛先別コマンド抽出部102は、工場シミュレータ151から送信された製造コマンドを受信する。そして、宛先別コマンド抽出部102は、受信した製造コマンドから、コマンド宛先、コマンド名、コマンドパラメータを抽出し、コマンド宛先ごとの到達順を付与する。その後、宛先別コマンド抽出部102は、正常コマンド記憶領域120に、コマンド宛先111、コマンド名112、コマンドパラメータ113、到達順114を記憶させる。
さらに、宛先別コマンド抽出部102は、実工場152から送信されたコマンドを受信する。そして、宛先別コマンド抽出部102は、受信したコマンドから、コマンド宛先、コマンド名、コマンドパラメータを抽出し、コマンド宛先ごとの到達順を付与する。その後、宛先別コマンド抽出部102は、実コマンド記憶領域130に、コマンド宛先121、コマンド名122、コマンドパラメータ123、到達順124を記憶させる。
攻撃・異常検知部103は、正常コマンド記憶領域120および実コマンド記憶領域130から、宛先別コマンド抽出部102が受信した実工場152の製造コマンドのコマンド宛先と同一のコマンド宛先を持つ製造コマンドを取得する。
さらに、攻撃・異常検知部103は、実コマンド記憶領域130から取得した製造コマンド群が、正常コマンド記憶領域120から取得した製造コマンド群の部分集合になっている場合には、正常と判定し、それ以外の場合には、異常と判定する。
判定結果は、実コマンド記憶領域130に記憶される構成であってもよく、あるいは、別装置に送信されるような構成等で、通知されるようになっていてもかまわない。
次に、本実施の形態1で用いるデータ構造について説明する。
図1の正常コマンド記憶領域120は、正常コマンドの格納形式の一例を示す図である。コマンド宛先121は、製造コマンドの宛先を識別するための一意な識別子である。コマンド名122は、製造コマンドの種類を識別するための一意な識別子である。コマンドパラメータ123は、製造コマンドの実行に必要な数値、文字列、バイナリ等のパラメータを、1つまたは複数記憶するための領域である。
到達順124は、製造コマンドの宛先別に到達した順序を記憶するための領域である。なお、製造コマンドに対して時刻のような順序を識別可能な情報が付与されている場合には、到達順124の代わりにその情報を用いてもよい。
図1の実コマンド記憶領域130は、実コマンドの格納形式の一例を示す図である。コマンド宛先131は、製造コマンドの宛先を識別するための一意な識別子である。コマンド名132は、製造コマンドの種類を識別するための一意な識別子である。コマンドパラメータ133は、製造コマンドの実行に必要な数値、文字列、バイナリ等のパラメータを、1つまたは複数記憶するための領域である。
到達順134は、製造コマンドの宛先別に到達した順序を記憶するための領域である。なお、製造コマンドに対して時刻のような順序を識別可能な情報が付与されている場合には、到達順134の代わりにその情報を用いてもよい。また、製造コマンドの正常、攻撃・異常の判定結果を記憶する領域が追加されてもよい。
図4は、本発明の実施の形態1における検知サーバ101で実行される攻撃・異常検知処理の一連動作を示すフローチャートである。以下、この図4に示すフローチャートに基づいて、検知サーバ101内の宛先別コマンド抽出部102および攻撃・異常検知部103による攻撃・異常検知処理について説明する。
なお、図4の一連処理においては、実工場152の動作が正常な場合には、必ず同一のコマンド宛先および到達順を持つ工場シミュレータ151からの製造コマンドが、実工場152からの製造コマンドよりも先に到達し、正常コマンド記憶領域120に先に記憶されるものとする。
ステップS101において、宛先別コマンド抽出部102は、工場シミュレータ151または実工場152より、製造コマンドを受信する。
次に、ステップS102において、宛先別コマンド抽出部102は、受信した製造コマンドの送信元を解釈する。そして、宛先別コマンド抽出部102は、製造コマンドの送信元が実工場152の場合には、ステップS103に進み、製造コマンドの送信元が工場シミュレータ151の場合には、ステップS104に進む。
ステップS103に進んだ場合には、宛先別コマンド抽出部102は、製造コマンドの宛先の到達順に番号を付与し、コマンド宛先、コマンド名、コマンドパラメータ、到達順を、実コマンド記憶領域130に追加する。その後、ステップS105に進む。
一方、ステップS104に進んだ場合には、宛先別コマンド抽出部102は、製造コマンドの宛先の到達順に番号を付与し、コマンド宛先、コマンド名、コマンドパラメータ、到達順を、正常コマンド記憶領域120に追加する。
ステップS103からステップS105に進んだ場合には、攻撃・異常検知部103は、正常コマンド記憶領域120および実コマンド記憶領域130から、先のステップS101で受信した実工場152からの製造コマンドと同一の宛先を持つ製造コマンド群である正常コマンド群および実コマンド群を取得する。
次に、ステップS106において、攻撃・異常検知部103は、ステップS105で取得した正常コマンド群と実コマンド群とを比較する。そして、攻撃・異常検知部103は、正常コマンド群と実コマンド群とで製造コマンドの順序が一致する場合には、正常と判定し、ステップS107に進む。一方、攻撃・異常検知部103は、正常コマンド群と実コマンド群とで製造コマンドの順序が一致しない場合には、攻撃・異常と判定し、ステップS108に進む。
ここで、「製造コマンドの順序が一致する」とは、正常コマンド群と実コマンド群のうちの到達順が同一の製造コマンドについて、コマンド宛先、コマンド名、コマンドパラメータが一致することである。
このとき、攻撃・異常検知部103は、正常コマンド群の到達順には存在するが、実コマンド群の到達順には存在しない製造コマンドがあった場合でも、製造コマンドの順序が一致する場合には、正常と判定する。
一方、攻撃・異常検知部103は、実コマンド群の到達順には存在するが、正常コマンド群の到達順には存在しない製造コマンドがあった場合には、製造コマンドの順序が一致していても攻撃・異常と判定する。
本実施の形態1における攻撃・異常検知の動作処理について、図5、図6、図7のコマンド記憶領域の例を用いて、具体的に説明する。
図5は、本発明の実施の形態1におけるコマンド記憶領域110の具体例として、コマンド記憶領域510が記憶されている状態を示した図である。まず、図5に示すコマンド記憶領域510に対する攻撃・異常検知の動作処理例について説明する。
正常コマンド記憶領域520には、宛先別コマンド抽出部102が、工場シミュレータ151から送信された製造コマンドを解釈して、コマンド宛先521、コマンド名522、コマンドパラメータ523を抽出し、到達順524を付与した結果が蓄積されているものとする。
一方、実コマンド記憶領域530には、宛先別コマンド抽出部102が、実工場152から送信された製造コマンドを解釈して、コマンド宛先531、コマンド名532、コマンドパラメータ533を抽出し、到達順534を付与した結果が蓄積されているものとする。
ここで、正常コマンド記憶領域520には、4つの製造コマンドが蓄積されており、実コマンド記憶領域530には、2つの製造コマンドが蓄積されており、正常な状態である例に基づき、動作を説明する。
図6は、本発明の実施の形態1におけるコマンド記憶領域110の具体例として、図5に示すコマンド記憶領域510の例の状態で、実工場152から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域610が記憶されている状態を示した図である。
より具体的には、コマンド記憶領域610の例は、図5に示すコマンド記憶領域510の例の状態で、宛先別コマンド抽出部102が、実工場152から新たに1つの製造コマンド「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1)」を受信し、実コマンド記憶領域630に蓄積した状態に相当する。
ここで、攻撃・異常検知部103は、前述の新たな製造コマンドから、コマンド宛先=設備2となる正常コマンド群を正常コマンド記憶領域620から取得し、コマンド宛先=設備2となる実コマンド群を実コマンド記憶領域630から取得する。
この結果として、攻撃・異常検知部103は、正常コマンド群として「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1)」、実コマンド群として「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1)」を得る。
このとき、攻撃・異常検知部103は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部103は、比較結果として、コマンド宛先、コマンド名、コマンドパラメータ、到達順がすべて一致するため、製造コマンドの順序が一致していると解釈し、正常と判定する。
次に、図7は、本発明の実施の形態1におけるコマンド記憶領域110の具体例として、図6に示すコマンド記憶領域610の例の状態で、実工場152から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域710が記憶されている状態を示した図である。
より具体的には、コマンド記憶領域710の例は、図6に示すコマンド記憶領域610の例の状態で、宛先別コマンド抽出部102が、実工場152から新たに1つの製造コマンド「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=0、B=50、...、到達順=3)」を受信し、実コマンド記憶領域730に蓄積した状態に相当する。
ここで、攻撃・異常検知部103は、前述の新たな製造コマンドから、コマンド宛先=設備1となる正常コマンド群を正常コマンド記憶領域720から取得し、コマンド宛先=設備1となる実コマンド群を実コマンド記憶領域730から取得する。
この結果として、攻撃・異常検知部103は、正常コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=100、B=20、...、到達順=1)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2)、(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=3)」を得る。
同様にして、攻撃・異常検知部103は、実コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=100、B=20、...、到達順=1、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2))、(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=0、B=50、...、到達順=3)」を得る。
このとき、攻撃・異常検知部103は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部103は、比較結果として、到達順1、2の製造コマンドについては、コマンド宛先、コマンド名、コマンドパラメータ、到達順がすべて一致するが、到達順3の製造コマンドについては、コマンドパラメータが一致しないため、製造コマンドの順序が一致していないと解釈し、攻撃・異常と判定する。
このように、本実施の形態1では、検知サーバ101が管理するコマンド記憶領域110内の正常コマンド記憶領域120および実コマンド記憶領域130に、宛先別コマンド抽出部102が抽出した製造コマンドを蓄積し、さらに、攻撃・異常検知部103が実工場152から新たに受信した製造コマンドに関して、正常コマンド群および実コマンド群を抽出し、両者の順序を比較することで、攻撃・異常を検知する処理構成を備えている。
従来は、製品IDに基づき、正常コマンド群および実コマンド群を管理しなければならず、製品IDが付与されていない製造コマンドを扱うことが困難であった。これに対して、本実施の形態1による処理構成を用いることにより、製品IDが付与されていない製造コマンドがあったとしても、必ず付与される製造コマンドの宛先を用いることで、実工場の製造コマンドに対する攻撃・異常を検知できるという顕著な効果を得ることができる。
実施の形態2.
本実施の形態2では、製造コマンドの宛先に加えて、製品ID等の追加情報を用いて、特定の宛先の製造コマンドが破棄される攻撃・異常を検知可能な検知サーバを実現する場合について説明する。
図8は、本発明の実施の形態2における検知サーバ801の構成図である。検知サーバ801は、攻撃・異常検知装置の具体例に相当する。
検知サーバ801は、図1の検知サーバ101と比較して、正常コマンド記憶領域820および実コマンド記憶領域830が記憶するデータ項目に、製品IDがさらに追加されている点が異なっている。そこで、この相違点を中心に、以下に説明する。
ここで、製品IDは、コマンド宛先以外に、製造コマンドの適用対象を識別できる情報の例である。従って、コマンド宛先以外の、製造コマンドの適用対象を識別できる情報の条件に該当する情報であれば、製品ID以外の情報を追加情報として用いてもかまわない。
図9は、本発明の実施の形態2における検知サーバ801で実行される攻撃・異常検知処理の一連動作を示すフローチャートである。以下、この図9に示すフローチャートに基づいて、検知サーバ801内の宛先別コマンド抽出部802および攻撃・異常検知部803による攻撃・異常検知処理について説明する。
ステップS201において、宛先別コマンド抽出部802は、工場シミュレータ851または実工場852より、製造コマンドを受信する。
次に、ステップS202において、宛先別コマンド抽出部802は、受信した製造コマンドの送信元を解釈する。そして、宛先別コマンド抽出部802は、製造コマンドの送信元が実工場852の場合には、ステップS203に進み、製造コマンドの送信元が工場シミュレータ851の場合には、ステップS204に進む。
ステップS203に進んだ場合には、宛先別コマンド抽出部802は、製造コマンドの宛先の到達順に番号を付与し、コマンド宛先、コマンド名、コマンドパラメータ、到達順、製品IDを、実コマンド記憶領域830に追加する。その後、ステップS205に進む。
一方、ステップS204に進んだ場合には、宛先別コマンド抽出部802は、製造コマンドの宛先の到達順に番号を付与し、コマンド宛先、コマンド名、コマンドパラメータ、到達順、製品IDを、正常コマンド記憶領域820に追加する。
ステップS203からステップS205に進んだ場合には、攻撃・異常検知部803は、正常コマンド記憶領域820および実コマンド記憶領域830から、先のステップS201で受信した実工場852からの製造コマンドと同一の宛先を持つ製造コマンド群である正常コマンド群および実コマンド群を取得する。
次に、ステップS206において、攻撃・異常検知部803は、ステップS205で取得した正常コマンド群と実コマンド群とを比較する。そして、攻撃・異常検知部803は、正常コマンド群と実コマンド群とで製造コマンドの順序が一致する場合には、ステップS207に進む。一方、攻撃・異常検知部803は、正常コマンド群と実コマンド群とで製造コマンドの順序が一致しない場合には、攻撃・異常と判定し、ステップS210に進む。
ここで、「製造コマンドの順序が一致する」とは、正常コマンド群と実コマンド群のうちの到達順が同一の製造コマンドについて、コマンド宛先、コマンド名、コマンドパラメータが一致することである。
このとき、攻撃・異常検知部803は、正常コマンド群の到達順には存在するが、実コマンド群の到達順には存在しない製造コマンドがあった場合でも、製造コマンドの順序が一致する場合には、正常と判定する。
一方、攻撃・異常検知部803は、実コマンド群の到達順には存在するが、正常コマンド群の到達順には存在しない製造コマンドがあった場合には、製造コマンドの順序が一致していても、攻撃・異常と判定する。
ステップS207に進んだ場合には、攻撃・異常検知部803は、正常コマンド記憶領域820および実コマンド記憶領域830から、先のステップS201で受信した実工場852からの製造コマンドと同一の製品IDを持つ製造コマンド群である正常コマンド群および実コマンド群を取得する。
次に、ステップS208において、攻撃・異常検知部803は、ステップS207で取得した正常コマンド群と実コマンド群とを比較する。攻撃・異常検知部803は、正常コマンド群と実コマンド群とで製造コマンドの集合が一致する場合には、正常と判定して、ステップS209に進む。一方、攻撃・異常検知部803は、正常コマンド群と実コマンド群とで製造コマンドの集合が一致しない場合には、攻撃・異常と判定して、ステップS210に進む。
ここで、「製造コマンドの集合が一致する」とは、正常コマンド群と実コマンド群のうちの製品IDが同一の製造コマンドについて、コマンド宛先、コマンド名、コマンドパラメータが一致することである。
このとき、攻撃・異常検知部803は、正常コマンド群の到達順には存在するが、実コマンド群の到達順には存在しない製造コマンドがあった場合でも、製造コマンドの集合が一致する場合には、正常と判定する。
一方、攻撃・異常検知部803は、実コマンド群の製品IDには存在するが、正常コマンド群の製品IDには存在しない製造コマンドがあった場合には、製造コマンドの集合が一致していても、攻撃・異常と判定する。
本実施の形態2における攻撃・異常検知の動作処理について、図10、図11、図12のコマンド記憶領域の例を用いて、具体的に説明する。
図10は、本発明の実施の形態2におけるコマンド記憶領域810の具体例として、コマンド記憶領域1010が記憶されている状態を示した図である。まず、図10に示すコマンド記憶領域1010に対する攻撃・異常検知の動作処理例について説明する。
正常コマンド記憶領域1020には、宛先別コマンド抽出部802が、工場シミュレータ851から送信された製造コマンドを解釈して、コマンド宛先1021、コマンド名1022、コマンドパラメータ1023、製品ID1025を抽出し、到達順1024を付与した結果が蓄積されているものとする。
一方、実コマンド記憶領域1030には、宛先別コマンド抽出部802が、実工場852から送信された製造コマンドを解釈して、コマンド宛先1031、コマンド名1032、コマンドパラメータ1033、製品ID1035を抽出し、到達順1034を付与した結果が蓄積されているものとする。
ここで、正常コマンド記憶領域1020には、5つの製造コマンドが蓄積されており、実コマンド記憶領域1030には、3つの製造コマンドが蓄積されており、正常な状態である例に基づき、動作を説明する。
図11は、本発明の実施の形態2におけるコマンド記憶領域1010の具体例として、図10に示すコマンド記憶領域1010の例の状態で、実工場852から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域1110が記憶されている状態を示した図である。
より具体的には、コマンド記憶領域1110の例は、図10に示すコマンド記憶領域1010の例の状態で、宛先別コマンド抽出部802が、実工場852から新たに1つの製造コマンド「(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=50、D=0、...、到達順=4、製品ID=P002)」を受信し、実コマンド記憶領域1130に蓄積した状態に相当する。
ここで、攻撃・異常検知部803は、前述の新たな製造コマンドから、コマンド宛先=設備1となる正常コマンド群を正常コマンド記憶領域1120から取得し、コマンド宛先=設備1となる実コマンド群を実コマンド記憶領域1130から取得する。
この結果として、攻撃・異常検知部803は、正常コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=100、B=20、...、到達順=1)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2)、(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=3)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=50、D=0、...、到達順=4)」を得る。
同様にして、攻撃・異常検知部803は、実コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=100、B=20、...、到達順=1)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2)、(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=3)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=50、D=0、...、到達順=4)」を得る。
このとき、攻撃・異常検知部803は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部803は、比較結果として、コマンド宛先、コマンド名、コマンドパラメータ、到達順がすべて一致するため、製造コマンドの順序が一致していると解釈する。
次に、攻撃・異常検知部803は、前述の新たな製造コマンドから、製品ID=P002となる正常コマンド群を正常コマンド記憶領域1120から取得し、製品ID=P002となる実コマンド群を実コマンド記憶領域1130から取得する。
この結果として、攻撃・異常検知部803は、正常コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=3)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=50、D=0、...、到達順=4)」を得る。
同様にして、攻撃・異常検知部803は、実コマンド群として「(コマンド宛先=設備1、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=3)、(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=50、D=0、...、到達順=4)」を得る。
このとき、攻撃・異常検知部803は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部803は、比較結果として、コマンド宛先、コマンド名、コマンドパラメータがすべて一致するため、製造コマンドの集合が一致していると解釈する。
次に、図12は、本発明の実施の形態2におけるコマンド記憶領域1010の具体例として、図11に示すコマンド記憶領域1110の例の状態で、実工場852から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域1210が記憶されている状態を示した図である。
より具体的には、コマンド記憶領域1210の例は、図11に示すコマンド記憶領域1110の例の状態で、宛先別コマンド抽出部802が、実工場852から新たに1つの製造コマンド「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1、製品ID=P102)」を受信し、実コマンド記憶領域1230に蓄積した状態に相当する。
ここで、攻撃・異常検知部803は、前述の新たな製造コマンドから、コマンド宛先=設備2となる正常コマンド群を正常コマンド記憶領域1220から取得し、コマンド宛先=設備2となる実コマンド群を実コマンド記憶領域1230から取得する。
この結果として、攻撃・異常検知部803は、正常コマンド群として「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1)」を得る。
同様にして、攻撃・異常検知部803は、実コマンド群として「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1)」を得る。
このとき、攻撃・異常検知部803は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部803は、比較結果として、コマンド宛先、コマンド名、コマンドパラメータ、到達順がすべて一致するため、製造コマンドの順序が一致していると解釈する。
次に、攻撃・異常検知部803は、前述の新たな製造コマンドから、製品ID=P102となる正常コマンド群を正常コマンド記憶領域1120から取得し、製品ID=P102となる実コマンド群を実コマンド記憶領域1130から取得する。
この結果として、攻撃・異常検知部803は、正常コマンド群として「空集合」を得る。同様にして、攻撃・異常検知部803は、実コマンド群として「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=80、B=15、...、到達順=1、製品ID=P102)」を得る。
このとき、攻撃・異常検知部803は、得られた正常コマンド群と実コマンド群を比較する。そして、攻撃・異常検知部803は、比較結果として、実コマンド群と比較すべき正常コマンド群が空集合のため、製造コマンドの集合が一致していないと解釈し、攻撃・異常と判定する。
このように、本実施の形態2では、製造コマンドの宛先に加えて製品IDを用いることで、特定の製造コマンドの宛先が破棄された場合であっても、製品IDを用いて実工場の製造コマンドに対する攻撃・異常が検知できるという顕著な効果を得ることができる。
実施の形態3.
本実施の形態3では、製造コマンドの宛先に加えて、製品ID等の追加情報を用いた場合に、特定の宛先の製造コマンドおよび製品IDが破棄される攻撃・異常を検知可能な検知サーバを実現する場合について説明する。
図13は、本発明の実施の形態3における検知サーバ1301の構成図である。検知サーバ1301は、攻撃・異常検知装置の具体例に相当する。
検知サーバ1301は、図1の検知サーバ101と比較して、時間計測部1304をさらに備えているとともに、正常コマンド記憶領域1320および実コマンド記憶領域1330が記憶するデータ項目に、製品ID、到達予想時間、到達時間、累積時間がさらに追加されている点が異なっている。そこで、これらの相違点を中心に、以下に説明する。
図14は、本発明の実施の形態3における検知サーバ1301で実行される攻撃・異常検知処理の一連動作を示すフローチャートである。以下、この図14に示すフローチャートに基づいて、検知サーバ1301内の宛先別コマンド抽出部1302および攻撃・異常検知部1303による攻撃・異常検知処理について説明する。
ステップS301において、宛先別コマンド抽出部1302は、時間計測部1304により起動される。そして、宛先別コマンド抽出部1302は、正常コマンド記憶領域1320より、コマンド宛先ごとに、到達時間1327が空欄の製造コマンドのうち、到達順が最も小さい製造コマンドを抽出し、次に来るべき実コマンドの一覧として記憶しておく。
次に、ステップS302において、宛先別コマンド抽出部1302は、次に来るべき実コマンドの一覧の中に製造コマンドが存在するか否かを確認する。そして、宛先別コマンド抽出部1302は、次に来るべき実コマンドの一覧の中に製造コマンドが存在する場合には、その1つを取り出し、ステップS303に進む。一方、宛先別コマンド抽出部1302は、次に来るべき実コマンドの一覧の中に製造コマンドが存在しない場合には、一連処理を終了する。
ステップS303に進んだ場合には、宛先別コマンド抽出部1302は、ステップS302で取り出した製造コマンドの累積時間に、前回起動時の時間と現在時刻との差分を加算する。
さらに、宛先別コマンド抽出部1302は、同一のコマンド宛先、かつ、同一の到達順を持つ製造コマンドが、実コマンド記憶領域1330に存在する場合には、累積時間で到達時間を更新し、正常コマンド記憶領域1320の当該の製造コマンドの到達時間1327および累積時間1328を更新する。
次に、ステップS304において、攻撃・異常検知部1303は、当該製造コマンドの累積時間が、到達予想時間を超過しているか否かを確認する。そして、攻撃・異常検知部1303は、当該製造コマンドの累積時間が到達予想時間を超過していない場合には、正常と判定し、ステップS305へ進む。
一方、攻撃・異常検知部1303は、当該製造コマンドの累積時間が到達予想時間を超過している場合には、攻撃・異常と判定し、ステップS306へ進む。その後、いずれの判定結果の場合にも、ステップS307に進む。
ステップS307に進んだ場合には、宛先別コマンド抽出部1302は、次に来るべき実コマンドの一覧の中から、処理対象となっていた製造コマンドを削除する。その後、ステップS302に戻り、次の処理対象コマンドについて一連処理を繰り返す。
本実施の形態3における攻撃・異常検知の動作処理について、図15、図16のコマンド記憶領域の例を用いて、具体的に説明する。
0082
図15は、本発明の実施の形態3におけるコマンド記憶領域1310の具体例として、コマンド記憶領域1510が記憶されている状態を示した図である。まず、図15に示すコマンド記憶領域1510に対する攻撃・異常検知の動作処理例について説明する。
正常コマンド記憶領域1520には、宛先別コマンド抽出部1302が、工場シミュレータ1351から送信された製造コマンドを解釈して、コマンド宛先1521、コマンド名1522、コマンドパラメータ1523、製品ID1525、到達想定時間1526を抽出し、到達順1524を付与した結果が蓄積されているものとする。
一方、実コマンド記憶領域1530には、宛先別コマンド抽出部1302が、実工場1352から送信された製造コマンドを解釈して、コマンド宛先1531、コマンド名1532、コマンドパラメータ1533、製品ID1535を抽出し、到達順1534を付与した結果が蓄積されているものとする。
ここで、正常コマンド記憶領域1520には、3つの製造コマンドが蓄積されており、実コマンド記憶領域1530には、1つの製造コマンドが蓄積されており、正常な状態である例に基づき、動作を説明する。
図16は、本発明の実施の形態3におけるコマンド記憶領域1310の具体例として、図15に示すコマンド記憶領域1510の例の状態で、実工場1352から新たに1つの製造コマンドがさらに受信され、更新されたコマンド記憶領域1610が記憶されている状態を示した図である。
より具体的には、コマンド記憶領域1610の例は、図15に示すコマンド記憶領域1510の例の状態で、宛先別コマンド抽出部1302が、実工場1352から新たに1つの製造コマンド「(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2、製品ID=P001)」を受信し、実コマンド記憶領域1630に蓄積した状態に相当する。
ここで、時間計測部1304が、時間超過の攻撃・異常検知を行う処理の起動を宛先別コマンド抽出部1302に依頼すると、宛先別コマンド抽出部1302は、正常コマンド記憶領域1620から「(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2、製品ID=P001、到達想定時間=120、到達時間=(空欄)、累積時間=10)、(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=1、製品ID=P002、到達想定時間=150、到達時間=(空欄)、累積時間=100)」を取得する。
ここで、前回の時間計測部1304の起動と現在時刻との時間差分が90とすると、宛先別コマンド抽出部1302は、到達時間と累積時間を更新する結果、「(コマンド宛先=設備1、コマンド名=工程完了、コマンドパラメータ=C=100、D=0、...、到達順=2、製品ID=P001、到達想定時間=120、到達時間=100、累積時間=100)、(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=1、製品ID=P002、到達想定時間=150、到達時間=(空欄)、累積時間=190)」となる。
このとき、「(コマンド宛先=設備2、コマンド名=工程開始、コマンドパラメータ=A=150、B=50、...、到達順=1、製品ID=P002、到達想定時間=150、到達時間=(空欄)、累積時間=190)」は、到達想定時間を累積時間が超過している。従って、攻撃・異常検知部1303は、攻撃・異常と判定する。
このように、本実施の形態3では、製造コマンドの到達想定時間と到達時間と累積時間を用いることで、特定の宛先の製造コマンドおよび製品IDが破棄された場合であっても、到達想定時間と累積時間の差分から、攻撃・異常が検知できるという顕著な効果を得ることができる。
101 検知サーバ、102 宛先別コマンド抽出部、103 攻撃・異常検知部、110 コマンド記憶領域、120 正常コマンド記憶領域、130 実コマンド記憶領域、151 工場シミュレータ、152 実工場、301 演算装置、302 外部記憶装置、303 主記憶装置、304 通信装置、305 バス。

Claims (7)

  1. 記憶部と、コマンド抽出部と、検知部とを備え、実工場における製造コマンドに含まれる攻撃・異常を検知する攻撃・異常検知装置であって、
    前記記憶部は、正常な製造コマンドの集合が記憶された正常コマンド記憶領域と、前記実工場から送信される実際の製造コマンドの集合が記憶された実コマンド記憶領域とを有し、
    前記コマンド抽出部は、
    コマンド宛先、コマンド名、コマンドパラメータを含んで構成された実際の製造コマンドを前記実工場から受信し、コマンド宛先が同じ実際の製造コマンドに関して受信した順に到達順の番号を付して前記実際の製造コマンドの集合の1つの要素として前記実コマンド記憶領域に記憶させ、
    前記実際の製造コマンドを今回受信した際に、コマンド宛先、コマンド名、コマンドパラメータ、到達順を含んだ構成として前記正常コマンド記憶領域に記憶された前記正常な製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を正常コマンド群として抽出し、前記実コマンド記憶領域に記憶された前記実際の製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を実コマンド群として抽出し、
    前記検知部は、前記コマンド抽出部によって抽出された前記正常コマンド群および前記実コマンド群を前記到達順ごとに比較する第1検知処理を実行することで攻撃・異常を検知する
    攻撃・異常検知装置。
  2. 前記コマンド抽出部は、前記実工場の動作が正常な場合に前記実工場から送信される実際の製造コマンドと同一のコマンド宛先、同一のコマンド名、同一のコマンドパラメータを含んで構成された正常な製造コマンドを工場シミュレータによるシミュレーション結果として受信し、コマンド宛先が同じ正常な製造コマンドに関して受信した順に到達順の番号を付して前記正常な製造コマンドの集合の1つの要素として前記正常コマンド記憶領域に記憶させる
    請求項1に記載の攻撃・異常検知装置。
  3. 前記コマンド抽出部により受信される前記実際の製造コマンドおよび前記正常な製造コマンドのそれぞれは、前記コマンド宛先以外に、製造コマンドの適用対象を識別するための判別情報が含まれており、
    前記コマンド抽出部は、前記検知部により前記第1検知処理が実行された結果、前記今回受信した前記実際の製造コマンドが正常であると仮判定された場合には、前記実際の製造コマンドを今回受信した際に、コマンド宛先、コマンド名、コマンドパラメータ、到達順、判別情報を含んだ構成として前記正常コマンド記憶領域に記憶された前記正常な製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれている判別情報と同一の判別情報を有する要素を第2の正常コマンド群として抽出し、コマンド宛先、コマンド名、コマンドパラメータ、到達順、判別情報を含んだ構成として前記実コマンド記憶領域に記憶された前記実際の製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれている判別情報と同一の判別情報を有する要素を第2の実コマンド群として抽出し、
    前記検知部は、前記コマンド抽出部によって抽出された前記第2の正常コマンド群および前記第2の実コマンド群を比較する第2検知処理を実行し、前記第2の実コマンド群が前記第2の正常コマンド群と一致するか、または部分集合となっていることで前記今回受信した前記実際の製造コマンドが正常であることを最終判定する
    請求項1または2に記載の攻撃・異常検知装置。
  4. 次に受信すべき実際の製造コマンドについて到達時間を計測する時間計測部をさらに備え、
    前記コマンド抽出部により受信される前記正常な製造コマンドは、到達想定時間が含まれて構成されており、
    前記コマンド抽出部は、前記正常コマンド記憶領域に記憶された前記正常な製造コマンドの集合の中から、次に到達すべき実際の製造コマンドに相当する正常なコマンドを対応する到達予想時間とともに抽出し、
    前記検知部は、前記次に到達すべき実際の製造コマンドが、前記対応する到達予想時間を経過しても受信できない場合には、実際の正常コマンドの受信異常が発生したことを検知する
    請求項1から3のいずれか1項に記載の攻撃・異常検知装置。
  5. コンピュータを、請求項1から4のいずれか1項に記載された攻撃・異常検知装置に備えられた前記コマンド抽出部、および前記検知部として機能させるための攻撃・異常検知プログラム。
  6. 実工場における製造コマンドに含まれる攻撃・異常を検知する攻撃・異常検知装置により実行される攻撃・異常検知方法であって、
    コマンド宛先、コマンド名、コマンドパラメータを含んで構成された実際の製造コマンドを前記実工場から受信する第1ステップと、
    コマンド宛先が同じ実際の製造コマンドに関して、受信した順に到達順の番号を付して実際の製造コマンドの集合の1つの要素として実コマンド記憶領域に記憶させる第2ステップと、
    コマンド宛先、コマンド名、コマンドパラメータ、到達順を含んだ構成として正常コマンド記憶領域に正常な製造コマンドの集合を記憶させておく第3ステップと、
    前記実際の製造コマンドを今回受信した際に、前記第3ステップによって前記正常コマンド記憶領域に記憶された前記正常な製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を正常コマンド群として抽出する第4ステップと、
    前記実コマンド記憶領域に記憶された前記実際の製造コマンドの集合の中から、前記今回受信した前記実際の製造コマンドに含まれているコマンド宛先と同一のコマンド宛先を有する要素を実コマンド群として抽出する第5ステップと、
    前記第4ステップによって抽出された前記正常コマンド群および前記第5ステップによって抽出された前記実コマンド群を前記到達順ごとに比較する第1検知処理を実行することで攻撃・異常を検知する第6ステップと
    を有する攻撃・異常検知方法。
  7. 前記第3ステップにおいて、前記正常コマンド記憶領域に前記正常な製造コマンドの集合として記憶されたそれぞれの正常な製造コマンドは、到達予測時間をさらに含んで構成されており、
    前記第3ステップによって前記正常コマンド記憶領域に記憶された前記正常な製造コマンドの集合の中から、次に到達すべき実際の製造コマンドに相当する正常なコマンドを対応する到達予想時間とともに抽出する第7ステップと、
    前記次に到達すべき実際の製造コマンドが、前記対応する到達予想時間を経過しても受信できない場合には、実際の正常コマンドの受信異常が発生したことを検知する第8ステップと
    をさらに有する
    請求項6に記載の攻撃・異常検知方法。
JP2018563982A 2017-01-25 2017-01-25 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム Active JP6541903B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/002478 WO2018138793A1 (ja) 2017-01-25 2017-01-25 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム

Publications (2)

Publication Number Publication Date
JPWO2018138793A1 JPWO2018138793A1 (ja) 2019-06-27
JP6541903B2 true JP6541903B2 (ja) 2019-07-10

Family

ID=62977954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018563982A Active JP6541903B2 (ja) 2017-01-25 2017-01-25 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム

Country Status (7)

Country Link
US (1) US11467565B2 (ja)
JP (1) JP6541903B2 (ja)
KR (1) KR102115734B1 (ja)
CN (1) CN110192196B (ja)
DE (1) DE112017006528T5 (ja)
TW (1) TWI632442B (ja)
WO (1) WO2018138793A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3860079B1 (en) * 2020-01-31 2024-01-24 Deutsche Telekom AG Method and system for a secure and valid configuration of network elements
CN115485715B (zh) * 2020-10-13 2024-06-18 三菱电机株式会社 模型生成装置、异常判定装置、异常判定***、模型生成方法及计算机可读取记录介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
US8036872B2 (en) * 2006-03-10 2011-10-11 Edsa Micro Corporation Systems and methods for performing automatic real-time harmonics analyses for use in real-time power analytics of an electrical power distribution system
US9557723B2 (en) * 2006-07-19 2017-01-31 Power Analytics Corporation Real-time predictive systems for intelligent energy monitoring and management of electrical power networks
JP2012059032A (ja) 2010-09-09 2012-03-22 Hitachi Ltd 生産計画作成方法及びその装置
US9659250B2 (en) * 2011-08-31 2017-05-23 Hitachi Power Solutions Co., Ltd. Facility state monitoring method and device for same
CN102624736B (zh) * 2012-03-20 2014-11-12 瑞斯康达科技发展股份有限公司 一种tl1命令校验方法及装置
WO2014090310A1 (en) 2012-12-13 2014-06-19 Abb Technology Ag System and method for monitoring and/or diagnosing operation of a production line of an industrial plant
JP5538597B2 (ja) 2013-06-19 2014-07-02 株式会社日立製作所 異常検知方法及び異常検知システム
WO2015116176A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Device provided script to convert command
DE102014206683A1 (de) * 2014-04-07 2015-10-08 Wobben Properties Gmbh Vorrichtung und Verfahren zum automatisierten Bearbeiten von Werkstücken
JP6387707B2 (ja) 2014-07-01 2018-09-12 富士通株式会社 異常検出システム、表示装置、異常検出方法及び異常検出プログラム
TWI562013B (en) * 2015-07-06 2016-12-11 Wistron Corp Method, system and apparatus for predicting abnormality
JP6076421B2 (ja) * 2015-07-23 2017-02-08 株式会社日立パワーソリューションズ 設備状態監視方法およびその装置
JP6176341B2 (ja) * 2016-01-06 2017-08-09 横河電機株式会社 プロセス制御装置及びシステム並びにその健全性判定方法
JP6031202B1 (ja) * 2016-01-29 2016-11-24 ファナック株式会社 製造機械の異常の原因を発見するセル制御装置

Also Published As

Publication number Publication date
KR102115734B1 (ko) 2020-05-27
WO2018138793A1 (ja) 2018-08-02
TW201827963A (zh) 2018-08-01
JPWO2018138793A1 (ja) 2019-06-27
US11467565B2 (en) 2022-10-11
TWI632442B (zh) 2018-08-11
KR20190090028A (ko) 2019-07-31
DE112017006528T5 (de) 2019-09-26
CN110192196A (zh) 2019-08-30
US20200073369A1 (en) 2020-03-05
CN110192196B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
KR102271449B1 (ko) 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법
JP6919569B2 (ja) ログ分析システム、方法、及び記録媒体
CN107408181B (zh) 恶意软件感染终端的检测装置、恶意软件感染终端的检测***、恶意软件感染终端的检测方法以及记录介质
JP6528448B2 (ja) ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム
US20130212681A1 (en) Security Monitoring System and Security Monitoring Method
JP6058246B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP7311350B2 (ja) 監視装置、監視方法、および監視プログラム
JP6491356B2 (ja) 分類方法、分類装置および分類プログラム
JP6280862B2 (ja) イベント分析システムおよび方法
US10262122B2 (en) Analysis apparatus, analysis system, analysis method, and analysis program
US10459730B2 (en) Analysis system and analysis method for executing analysis process with at least portions of time series data and analysis data as input data
CN109981326B (zh) 家庭宽带感知故障定位的方法及装置
JP2019110513A (ja) 異常検知方法、学習方法、異常検知装置、および、学習装置
KR20210063049A (ko) 산업 제어 시스템을 위한 위험도 산출 방법 및 이를 위한 장치
CN111813845A (zh) 基于etl任务的增量数据抽取方法、装置、设备及介质
US11570187B1 (en) Detection of cyberattacks and operational issues of internet of things devices
JP6541903B2 (ja) 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム
JP2008158889A (ja) トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置
CN113872959A (zh) 一种风险资产等级判定和动态降级方法和装置及设备
JP7298701B2 (ja) 分析システム、方法およびプログラム
JP2017211806A (ja) 通信の監視方法、セキュリティ管理システム及びプログラム
CN113553370A (zh) 异常检测方法、装置、电子设备及可读存储介质
US20210092159A1 (en) System for the prioritization and dynamic presentation of digital content
KR102081492B1 (ko) 사이버 위협 정보에 대한 통합 표현 규격 데이터 생성 방법 및 장치
JP7140268B2 (ja) 警告装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190205

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190611

R150 Certificate of patent or registration of utility model

Ref document number: 6541903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250