JPWO2018146757A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JPWO2018146757A1
JPWO2018146757A1 JP2018566696A JP2018566696A JPWO2018146757A1 JP WO2018146757 A1 JPWO2018146757 A1 JP WO2018146757A1 JP 2018566696 A JP2018566696 A JP 2018566696A JP 2018566696 A JP2018566696 A JP 2018566696A JP WO2018146757 A1 JPWO2018146757 A1 JP WO2018146757A1
Authority
JP
Japan
Prior art keywords
program
determination unit
update
difference
unit
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.)
Granted
Application number
JP2018566696A
Other languages
English (en)
Other versions
JP6523582B2 (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
Application granted granted Critical
Publication of JP6523582B2 publication Critical patent/JP6523582B2/ja
Publication of JPWO2018146757A1 publication Critical patent/JPWO2018146757A1/ja
Expired - Fee Related 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

受信部(115)は、保守端末装置(101)から送信される、現行プログラム(110)の更新に用いられる通信パケットデータ(107)を受信する。制御プログラム構築部(104)は、通信パケットデータ(107)を用いて現行プログラム(110)の更新プログラムをパケット更新プログラム(109)として取得する。差分判定部(106)は、現行プログラム(110)とパケット更新プログラム(109)との差分を解析して、パケット更新プログラム(109)が現行プログラム(110)の正常な更新プログラムである確度を判定する。

Description

本発明は、プログラムの更新に関する。
近年では、ウイルス又は悪意のある不正ソフトウェア(マルウェア)によるサイバー攻撃が増加している。例えば、重要なインフラストラクチャを構成するプラント又は工場に対する、ウイルス又は不正ソフトウェアによるサイバー攻撃が増加している。
例えば、特許文献1では、産業制御システムへの侵入及び異常を検知する侵入防止システムが開示されている。産業制御システムがサイバー攻撃を受けると、不正なアクセスによって、産業制御システムが不正な挙動を起こす。このため、特許文献1の侵入防止システムは、ネットワーク通信の監視と、制御システム挙動(パラメータ)の測定を行うことで、産業制御システムへの侵入及び異常を検知する。
特許文献2では、監視モジュールが、プログラムコードやハードウェア構成、ソフトウェア構成などを保存するメモリの内容を監視することで、制御又は調節を行うユニットの動作状態、ハードウェアの拡張状態、プログラムの状態等を監視する。そして、監視モジュールは、監視の結果、不正な操作を検出する。
特開2014−179074号公報 特表2016−505183号公報
保守端末装置による保守作業では、制御プログラムの更新など、通常の端末装置と比べて多くの処理が可能である。例えば、保守端末装置から、制御プログラムを更新するための通信パケットデータをコントローラに送信することも可能である。作業員が、保守端末装置がウイルスに感染していることに気付かずに保守端末装置を用いて保守作業を行うと、ウイルスにより改ざんされた通信パケットデータが送信される。この結果、ウイルスにより改ざんされた通信パケットデータによって、正規プログラムが不正なプログラムに更新されてしまい、保守対象機器に異常が発生する。
しかしながら、特許文献1及び特許文献2のいずれにおいても、前述の保守端末装置のようなプログラムの更新を管理するプログラム更新管理装置から送信される通信パケットデータによって更新されるプログラムは検査されない。このため、特許文献1及び特許文献2の技術では、プログラム更新管理装置がウイルスに感染した場合に、プログラム更新管理装置から送信される通信パケットデータによってプログラムが不正に更新されることを防止することができないという課題がある。
本発明は、上記のような課題を解決することを主な目的の一つとしている。具体的には、プログラム更新管理装置から送信される通信パケットデータによってプログラムが不正に更新されることを防止することを主な目的とする。
本発明に係る情報処理装置は、
プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信部と、
前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得部と、
前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定部とを有する。
本発明によれば、プログラム更新管理装置から送信される通信パケットデータによってプログラムが不正に更新されることを防止することができる。
実施の形態1に係るシステム構成例を示す図。 実施の形態1に係る正常作業判定装置のハードウェア構成例を示す図。 実施の形態1に係る正常作業判定装置の機能構成例を示す図。 実施の形態1に係る正常作業判定装置の動作例を示すフローチャート。 実施の形態1に係る受信部及び制御プログラム構築部の動作例を示すフローチャート。 実施の形態1に係る過去プログラム記憶部の動作例を示すフローチャート。 実施の形態1に係る差分判定部の動作例を示すフローチャート。 実施の形態1に係る正常確度基準の例を示す図。 実施の形態1に係る差分判定部の動作例を示すフローチャート。 実施の形態2に係る正常作業判定装置の機能構成例を示す図。 実施の形態2に係る保守工事予定DBの動作例を示すフローチャート。 実施の形態2に係る保守工事予定テーブルの例を示す図。 実施の形態2に係る予定作業判定部の動作例を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係るシステム構成例を示す。
図1に示すように、本実施の形態に係るシステムは、正常作業判定装置100、保守端末装置101、複数のコントローラ102及びパケットキャプチャ103で構成される。
正常作業判定装置100は、情報処理装置に相当する。また、正常作業判定装置100により行われる動作は、情報処理方法及び情報処理プログラムに相当する。正常作業判定装置100の詳細は後述する。
保守端末装置101は、コントローラ102で実行される制御プログラムの更新を管理する。保守端末装置101は、プログラム更新管理装置に相当する。保守端末装置101は、通信パケットデータ107をコントローラ102に送信する。
通信パケットデータ107には、制御プログラムの更新に用いられるものと、制御プログラムの更新に用いられないものとがある。なお、通信パケットデータ107の詳細は後述する。
コントローラ102は、保守対象機器であり、複数存在する。各コントローラ102は、保守端末装置101から通信パケットデータ107を受信する。そして、各コントローラ102は、制御プログラムの更新に用いられる通信パケットデータ107を受信した場合は、受信した通信パケットデータ107を用いて制御プログラムを更新する。また、各コントローラ102は、更新後の制御プログラムを他の機器にインストールしてもよい。
なお、以下では、通信パケットデータ107を用いた更新が行われる前の制御プログラムを現行プログラムという。また、通信パケットデータ107を用いた更新により得られる制御プログラムをパケット更新プログラムという。
パケットキャプチャ103は、保守端末装置101からコントローラ102に送信される通信パケットデータ107を収集し、収集した通信パケットデータ107を正常作業判定装置100に送信する。パケットキャプチャ103は、例えば、ホワイトリストを用いる異常検知システムによって実現される。
なお、後述するように、正常作業判定装置100も、通信パケットデータ107を用いて現行プログラムを更新して、パケット更新プログラムを取得する。
ここで、通信パケットデータ107の詳細を説明する。図1に示すように、通信パケットデータ107には、少なくとも、タイムスタンプ、コントローラ情報、命令コマンドが含まれる。
タイムスタンプは、通信パケットデータ107の生成時刻を示す。コントローラ情報は、通信パケットデータ107の宛先のコントローラ102を示す。命令コマンドは、コントローラ情報に示されるコントローラ102への命令である。通信パケットデータ107が制御プログラムの更新に用いられる場合には、命令コマンドには、後述するプログラムデータからパケット更新プログラムを生成するための命令文が記述されている。
制御プログラムの更新に用いられる通信パケットデータ107には、プログラムデータが含まれる。プログラムデータは、パケット更新プログラムを分割して得られる部分プログラムである。つまり、複数のプログラムデータを組み合わせることにより、パケット更新プログラムが得られる。
コントローラ102は、複数の通信パケットデータ107を送信する。パケットキャプチャ103は、保守端末装置101から送信された複数の通信パケットデータ107を収集し、収集した複数の通信パケットデータ107を正常作業判定装置100に送信する。正常作業判定装置100は、複数の通信パケットデータ107をパケットキャプチャ103から受信し、複数の通信パケットデータ107から複数のプログラムデータを抽出し、抽出した複数のプログラムデータを組み合わせてパケット更新プログラムを得る。
なお、通信パケットデータ107には、タイムスタンプ、コントローラ情報、命令コマンド、プログラムデータ以外のデータも含まれているが、本実施の形態に直接関係しないので、説明を省略する。
また、パケットキャプチャ103は、通信パケットデータ107をそのまま正常作業判定装置100に送信してもよい。また、パケットキャプチャ103は、通信パケットデータ107からタイムスタンプ、コントローラ情報、命令コマンド、プログラムデータのみを抽出し、抽出したタイムスタンプ、コントローラ情報、命令コマンド、プログラムデータのみを正常作業判定装置100に送信してもよい。以下では、パケットキャプチャ103は、通信パケットデータ107をそのまま正常作業判定装置100に送信する例を説明する。
図2は、本実施の形態に係る正常作業判定装置100のハードウェア構成例を示す。
正常作業判定装置100は、コンピュータである。
図2に示すように、正常作業判定装置100は、ハードウェアとして、プロセッサ201、メモリ202、通信インタフェース203、補助記憶装置204及び入出力インタフェース205を備える。
プロセッサ201、メモリ202、通信インタフェース203、補助記憶装置204及び入出力インタフェース205はシステムバスで接続されている。
補助記憶装置204には、図3を参照して後述する制御プログラム構築部104、差分判定部106及び受信部115の機能を実現するプログラムが記憶されている。当該プログラムは、メモリ202にロードされる。そして、当該プログラムはメモリ202からプロセッサ201に読み出され、プロセッサ201により実行される。
プロセッサ201がプログラムを実行することで、後述する制御プログラム構築部104、差分判定部106及び受信部115の動作が行われる。
通信インタフェース203は、パケットキャプチャ103と通信するために用いられる。
入出力インタフェース205は、正常作業判定装置100のユーザが各種データを入力するため及び正常作業判定装置100のユーザに各種データを提示するために用いられる。
図3は、本実施の形態に係る正常作業判定装置100の機能構成例を示す。
図3に示すように、正常作業判定装置100は、制御プログラム構築部104、過去プログラム記憶部105、差分判定部106及び受信部115で構成される。
受信部115は、パケットキャプチャ103から、保守端末装置101から送信された通信パケットデータ107を受信する。
受信部115により行われる処理は、受信処理に相当する。
制御プログラム構築部104は、通信パケットデータ107を用いて現行プログラムを更新し、現行プログラムの更新プログラムをパケット更新プログラム109として取得する。つまり、制御プログラム構築部104は、複数の通信パケットデータ107から複数のプログラムデータを抽出し、抽出した複数のプログラムデータを組み合わせて、パケット更新プログラム109を生成する。
また、制御プログラム構築部104は、通信パケットデータ107に含まれるタイムスタンプを時刻情報108として抽出する。また、制御プログラム構築部104は、通信パケットデータ107からコントローラ情報をコントローラ情報114として抽出する。
そして、制御プログラム構築部104は、時刻情報108、パケット更新プログラム109及びコントローラ情報114を差分判定部106に出力する。
また、制御プログラム構築部104は、時刻情報108、パケット更新プログラム109及びコントローラ情報114を過去プログラム記憶部105に格納する。
制御プログラム構築部104は、プログラム取得部に相当する。また、制御プログラム構築部104により行われる処理は、プログラム取得処理に相当する。
過去プログラム記憶部105は、現行プログラム110及び現行プログラム110より以前の制御プログラムを記憶する。なお、現行プログラム110及び現行プログラム110より以前の制御プログラムを、まとめて過去プログラムともいう。
過去プログラム記憶部105は、メモリ202又は補助記憶装置204により実現される。
差分判定部106は、制御プログラム構築部104から時刻情報108、パケット更新プログラム109及びコントローラ情報114を受信する。また、差分判定部106は、過去プログラム記憶部105から現行プログラム110を読み出す。差分判定部106が過去プログラム記憶部105から読み出す現行プログラム110は、制御プログラム構築部104から受信したパケット更新プログラム109の一つ前のバージョン(更新前)の制御プログラムである。
そして、差分判定部106は、現行プログラム110とパケット更新プログラム109との差分を解析して、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである確度を判定する。
より具体的には、差分判定部106は、現行プログラム110とパケット更新プログラム109との差分の量(例えば、変更のあった行数)と、現行プログラム110とパケット更新プログラム109とで値が変更になっているパラメータにおける値の変更度合いとを解析して、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである確度を判定する。
また、差分判定部106は、現行プログラム110とパケット更新プログラム109との差分の量のみを解析して、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである確度を判定してもよい。
そして、差分判定部106は、判定結果111を出力する。判定結果111には、変更状態112と正常確度113が含まれる。変更状態112は、現行プログラム110とパケット更新プログラム109との差分である。正常確度113は、差分判定部106が判定した、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである確度である。
差分判定部106は、例えば、判定結果111を規定の端末装置(不図示)に出力する。また、差分判定部106は、判定結果111の端末装置への出力とともに、判定結果111を補助記憶装置204に格納してもよい。また、差分判定部106は、判定結果111を端末装置に出力せずに、判定結果111を補助記憶装置204に格納してもよい。また、差分判定部106は、判定結果111を入出力インタフェース205であるディスプレイ装置に出力してもよい。
差分判定部106は、正常確度判定部に相当する。また、差分判定部106で行われる処理は、正常確度判定処理に相当する。
前述したように、制御プログラム構築部104、差分判定部106及び受信部115はプログラムで実現される。そして、プロセッサ201が当該プログラムを実行して、制御プログラム構築部104、差分判定部106及び受信部115として動作する。
図3では、プロセッサ201が制御プログラム構築部104、差分判定部106及び受信部115の機能を実現するプログラムを実行している状態を模式的に表している。
***動作の説明***
次に、本実施の形態に係る正常作業判定装置100の動作を説明する。
図4は、正常作業判定装置100の動作の概要を示す。
図5は、受信部115及び制御プログラム構築部104の動作(図4のS301及びS302の詳細)を示す。
図6は、過去プログラム記憶部105の動作(図4のS303及びS305の詳細)を示す。
図7は、差分判定部106の動作(図4のS304の詳細)を示す。
最初に、図4を用いて、正常作業判定装置100の動作の概要を説明する。
先ず、受信部115が、パケットキャプチャ103から通信パケットデータ107を受信する(ステップS301)。
また、受信部115は、通信パケットデータ107を制御プログラム構築部104に出力する。
次に、制御プログラム構築部104が、通信パケットデータ107を用いてパケット更新プログラム109を取得する(ステップS302)。
また、制御プログラム構築部104は、パケット更新プログラム109、時刻情報108及びコントローラ情報114を差分判定部106に転送する。
次に、差分判定部106が、過去プログラム記憶部105から現行プログラム110を読み出す(ステップS303)。
次に、差分判定部106が、パケット更新プログラム109と現行プログラム110との差分を抽出し、正常確度を判定する(ステップS304)。
そして、差分判定部106は、判定結果111を出力する。
差分判定部106により判定された正常確度が規定値以上であれば、制御プログラム構築部104がパケット更新プログラム109を現行プログラム110として過去プログラム記憶部105に格納する(ステップS305)。
次に、図5を用いて、受信部115及び制御プログラム構築部104の動作を説明する。
なお、前述したように、保守端末装置101は、パケット更新プログラムを複数の部分プログラムに分割し、複数の部分プログラムをプログラムデータとして複数の通信パケットデータ107に格納する。そして、保守端末装置101は、複数の通信パケットデータ107をコントローラ102に送信する。パケットキャプチャ103は、保守端末装置101とコントローラ102とを接続するネットワークに接続されており、保守端末装置101からコントローラ102に送信された通信パケットデータ107を収集し、収集した通信パケットデータ107を正常作業判定装置100に送信する。
なお、以下では、保守端末装置101は、プログラムデータを含む最初の通信パケットデータ107を送信する前に、プログラムデータを含まない通信パケットデータ107をコントローラ102に送信するものとする。また、保守端末装置101は、プログラムデータを含む最後の通信パケットデータ107を送信した後に、プログラムデータを含まない通信パケットデータ107をコントローラ102に送信するものとする。
このため、受信部115は、プログラムデータを含まない通信パケットデータ107を受信した後、プログラムデータを含む複数の通信パケットデータ107を受信し、その後、プログラムデータを含まない通信パケットデータ107を受信する。
受信部115は、パケットキャプチャ103から通信パケットデータ107を受信する(ステップS401)。受信部115は、受信した通信パケットデータ107を制御プログラム構築部104に出力する。
次に、制御プログラム構築部104は、今回受信された通信パケットデータ107(以下、今回の通信パケットデータ107という)を分解する。つまり、制御プログラム構築部104は、今回の通信パケットデータ107を、タイムスタンプ、コントローラ情報、命令コマンド等に分解する。そして、制御プログラム構築部104は、通信パケットデータ107にプログラムデータが含まれるか否かを判定する(ステップS402)。
今回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS402でYES)は、通信パケットデータ107は、前回受信された通信パケットデータ107(以下、前回の通信パケットデータ107という)にプログラムデータが含まれるか否かを判定する(ステップS403)。
前回の通信パケットデータ107にプログラムデータが含まれない場合(ステップS403でNO)は、制御プログラム構築部104は、今回の通信パケットデータ107に含まれるタイムスタンプから時刻情報108を生成する。具体的には、今回の通信パケットデータ107に含まれるタイムスタンプを時刻情報108として抽出する。
次に、制御プログラム構築部104は、今回の通信パケットデータ107に含まれるプログラムデータ及びコントローラ情報114と、ステップS404で生成された時刻情報108とを、相互に対応付けて一時記憶領域に保存する(ステップS405)。一時記憶領域は、例えば、メモリ202又はプロセッサ201内のレジスタである。
一方、前回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS403でYES)は、既に時刻情報108は生成済みなので、制御プログラム構築部104は、ステップS404を省略して、今回の通信パケットデータ107に含まれるプログラムデータを一時記憶領域に保存する(ステップS405)。具体的には、制御プログラム構築部104は、前回の通信パケットデータ107に含まれるプログラムデータと対応付けて今回の通信パケットデータ107に含まれるプログラムデータを一時記憶領域に保存する。
ステップS402において今回の通信パケットデータ107にプログラムデータが含まれない場合(ステップS402でNO)は、制御プログラム構築部104は、前回の通信パケットデータ107にプログラムデータが含まれるか否かを判定する(ステップS406)。
前回の通信パケットデータ107にプログラムデータが含まれない場合(ステップS406でNO)は、制御プログラム構築部104は、処理を終了する。
一方、前回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS406でYES)は、制御プログラム構築部104は、一時記憶領域から複数のプログラムデータ、時刻情報108及びコントローラ情報114を読み出す(ステップS407)。
そして、制御プログラム構築部104は、読み出した複数のプログラムデータからパケット更新プログラム109を生成する(ステップS408)。
その後、制御プログラム構築部104は、生成したパケット更新プログラム109と時刻情報108とコントローラ情報114とを差分判定部106に出力する(ステップS409)。
次に、図6を用いて、過去プログラム記憶部105の動作を説明する。
先ず、過去プログラム記憶部105は、差分判定部106から読み出し要求を受信する(ステップS501)。
読み出し要求には、時刻情報108及びコントローラ情報114が含まれる。
次に、過去プログラム記憶部105は、読み出し要求に基づき、過去プログラムの中から、コントローラ情報114に対応する現行プログラム110を抽出し、抽出した現行プログラム110を差分判定部106に出力する(ステップS502)。
より具体的には、過去プログラム記憶部105は、読み出し要求に含まれるコントローラ情報114と同じコントローラ情報114に対応付けられており、読み出し要求に含まれる時刻情報108に示される時刻以前の時刻であって最も新しい時刻が示されている時刻情報108と対応付けられている過去プログラムを、現行プログラム110として抽出する。そして、過去プログラム記憶部105は、抽出した現行プログラム110を差分判定部106に出力する。
また、過去プログラム記憶部105は、制御プログラム構築部104から格納要求を受信する(ステップS503)。
格納要求には、時刻情報108、パケット更新プログラム109及びコントローラ情報114が含まれる。
次に、過去プログラム記憶部105は、格納要求に含まれる時刻情報108、パケット更新プログラム109及びコントローラ情報114を、相互に対応付けて記憶する(ステップS504)。
次に、図7を用いて、差分判定部106の動作を説明する。
差分判定部106は、時刻情報108、パケット更新プログラム109、コントローラ情報114及び現行プログラム110を受信する(ステップS601)。
具体的には、差分判定部106は、制御プログラム構築部104から、時刻情報108、パケット更新プログラム109及びコントローラ情報114を受信し、時刻情報108及びコントローラ情報114を用いて読み出し要求を生成する。そして、差分判定部106は、生成した読み出し要求を過去プログラム記憶部105に出力し、過去プログラム記憶部105から現行プログラム110を受信する。
次に、差分判定部106は、パケット更新プログラム109と現行プログラム110との差分を抽出し、抽出した差分を表す変更状態112を生成する(ステップS602)。
次に、差分判定部106は、ステップS602で生成した変更状態112を用いて正常確度113を求める(ステップS603)。本実施の形態では、差分判定部106は、図8に示す正常確度基準701を用いる。
具体的には、差分判定部106は、パケット更新プログラム109に含まれる行のうち、現行プログラム110から変更になっている行が多いほど正常確度113を低くする。また、行での変更が少なかったときには、差分判定部106は、現行プログラム110とパケット更新プログラム109との間で値が変更になっているパラメータを抽出し、抽出したパラメータにおけるパケット更新プログラム109と現行プログラム110との間の変更の度合いが大きいか否かを判定する。抽出したパラメータにおけるパケット更新プログラム109と現行プログラム110との間の変更の度合いが大きい場合には、差分判定部106は正常確度113を「低」とする。
なお、正常確度113が高い程、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである可能性が高い。換言すると、正常確度113が低い程、パケット更新プログラム109が不正なプログラムである可能性が高い。
最後に、差分判定部106は、判定結果111として、変更状態112及び正常確度113を出力する(ステップS604)。
図9は、図7のステップS600の詳細を説明する。
以下では、図8の正常確度基準701を用いて説明を行う。
先ず、差分判定部106は、現行プログラム110とパケット更新プログラム109との間で変更のあった行を計数する(ステップS801)。
具体的には、差分判定部106は、変更状態112として、パケット更新プログラム109において現行プログラム110から削除されている行数a、パケット更新プログラム109で追加されている行数b、パケット更新プログラム109においてパラメータの値が変更になっている行数cを計数する。
次に、差分判定部106は、プログラムが書き換えられた割合を算出する(ステップS802)。
具体的には、差分判定部106は、ステップS801で計数された変更行の合計(a+b+c)が現行プログラム110の行数の何割にあたるか(a+b+c/現行プログラム110の行数)を計算する。
次に、差分判定部106は、ステップS802で算出した割合が閾値以下であるか否かを判定する(ステップS803)。
ステップS802で算出した割合が閾値を超えている場合(ステップS803でNO)は、差分判定部106は正常確度113を「低」に設定する(ステップS808)。
一方、ステップS802で算出した割合が閾値以下の場合(ステップS803でYES)は、差分判定部106は、変更前のパラメータの値を現行プログラム110から抽出し、変更後のパラメータの値をパケット更新プログラム109から抽出する(ステップS804)。差分判定部106は、ステップS804の処理を、値が変更になっているパラメータの各々に対して行う。
次に、差分判定部106は、パラメータごとに、パラメータの値の増減の割合を算出する(ステップS805)。例えばパラメータの値が10から25に15増加するなどの変化を、ここではパラメータの値が値Xから値YにA増加したと表記する。つまり、パラメータ値の増加量をAと表記し、「X→Y:A増加」と表記する。また、パラメータが値Xから値YにA減少した場合は、「X→Y:A減少」と表記する。差分判定部106は、パラメータの値の増減の絶対値(以下、|A|という)が、パラメータに設定可能な値の幅の何割にあたるかを算出する。具体的には、差分判定部106は、コントローラ情報114を用いてパラメータごとに設定可能な値の幅が示されるパラメータ設定値データから、対応するパラメータの最大値(MAX)と最小値(MIN)を取得する。そして、差分判定部106は、|A|/|MAX−MIN|を算出する。
次に、差分判定部106は、パラメータごとに、ステップS805で得られた値の増減の割合を閾値と比較する(ステップS806)。
そして、全てのパラメータについて値の増減の割合が閾値以下であれば(ステップS806でYES)、差分判定部106は、正常確度113を「高」に設定する(ステップS807)。
一方、一つでも値の増減の割合が閾値を超えていれば(ステップS806でNO)、差分判定部106は正常確度113を「低」に設定する(ステップS808)。
その後、図7に示すように、差分判定部106は、判定結果111として、変更状態112及び正常確度113を出力する(ステップS604)。
なお、差分判定部106は、正常確度113を「高」と設定した場合は、制御プログラム構築部104にパケット更新プログラム109の過去プログラム記憶部105への格納を指示する。制御プログラム構築部104は、差分判定部106からの指示に従い、時刻情報108、パケット更新プログラム109及びコントローラ情報114を含む格納要求を過去プログラム記憶部105に出力する。過去プログラム記憶部105では、図6のステップS503とステップS504に従い、時刻情報108、パケット更新プログラム109及びコントローラ情報114を記憶する。また、差分判定部106は、正常確度113を「低」と設定した場合は、制御プログラム構築部104にパケット更新プログラム109の過去プログラム記憶部105以外の記憶領域への格納を指示する。制御プログラム構築部104は、差分判定部106からの指示に従い、例えば、時刻情報108、パケット更新プログラム109及びコントローラ情報114を検疫用の外部の記憶領域に格納する。
なお、ここでは、差分判定部106により正常確度113が生成された後に、制御プログラム構築部104が、時刻情報108、パケット更新プログラム109及びコントローラ情報114を過去プログラム記憶部105又は外部の記憶領域に格納することとしたが、過去プログラム記憶部105は、図5のステップS409と並行して、時刻情報108、パケット更新プログラム109及びコントローラ情報114を過去プログラム記憶部105に格納するようにしてもよい。
***実施の形態の効果の説明***
以上のように、本実施の形態では、正常作業判定装置100は、パケット更新プログラム109と現行プログラム110との差分を抽出して、パケット更新プログラム109が現行プログラム110の正常な更新パケットである確度を判定する。このため、本実施の形態によれば、保守端末装置101から送信される通信パケットデータ107によって現行プログラム110が不正に更新されることを防止することができる。特に、本実施の形態によれば、ウイルスに感染した保守端末装置101から通信パケットデータ107がコントローラ102に送信され、コントローラ102の現行プログラム110が不正なパケット更新プログラム109で更新される事態を防止することができる。
実施の形態2.
以上の実施の形態1では、差分判定部106は、変更状態112のみで正常確度113を判定している。本実施の形態では、差分判定部106は、変更状態112と、現行プログラム110の更新予定とに基づき、正常確度113を決定する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、本実施の形態で説明していない事項は、実施の形態1と同様である。
***構成の説明***
本実施の形態に係るシステム構成例は、図1に示すものと同じである。
また、本実施の形態に係る正常作業判定装置100のハードウェア構成例は図2に示すものと同じである。
図10は、本実施の形態に係る正常作業判定装置100の機能構成例を示す。
図10では、図3の構成と比較して、予定作業判定部901と保守工事予定DB902とが追加されている。また、本実施の形態では、差分判定部106は、判定結果111を出力せずに、代わりに、時刻情報108、変更状態112及び正常確度113を予定作業判定部901に出力する。なお、本実施の形態では、差分判定部106及び予定作業判定部901が正常確度判定部に相当する。
予定作業判定部901及び保守工事予定DB902以外の構成は、図3に示したものと同じであるため、説明を省略する。
予定作業判定部901は、差分判定部106から、時刻情報108、変更状態112、正常確度113を受信する。また、予定作業判定部901は、時刻情報108を保守工事予定DB902に出力する。そして、予定作業判定部901は、保守工事予定DB902から予定情報903を受信する。予定情報903には、現行プログラム110のコントローラ102についての保守作業又は工事作業の予定が示される。予定作業判定部901は、予定情報903に示される保守作業又は工事作業の予定と変更状態112とが合致するか否かを判定する。そして、予定作業判定部901は、判定の結果、必要であれば、正常確度113を変更する。例えば、差分判定部106から受信した正常確度113が「高」である場合に、予定情報903に示される保守作業又は工事作業で現行プログラム110からパケット更新プログラム109への更新が行われていない可能性が高い場合は、予定作業判定部901は正常確度113を「低」に変更する。一方、差分判定部106から受信した正常確度113が「低」である場合に、予定情報903に示される保守作業又は工事作業で現行プログラム110からパケット更新プログラム109への更新が行われた可能性が高い場合は、予定作業判定部901は正常確度113を「高」に変更する。
予定作業判定部901は、制御プログラム構築部104、差分判定部106及び受信部115と同様、プログラムで実現される。
保守工事予定DB902は、保守工事予定テーブルを管理する。保守工事予定テーブルには、保守作業及び工事作業の予定が記述される。保守工事予定DB902は、予定作業判定部901から時刻情報108を受信し、受信した時刻情報108に対応する保守作業又は工事作業の予定を保守工事予定テーブルから抽出する。そして、保守工事予定DB902は、抽出した保守作業又は工事作業の予定が示される予定情報903を予定作業判定部901に返す。
保守工事予定DB902は、メモリ202又は補助記憶装置204により実現される。
***動作の説明***
次に、本実施の形態に係る正常作業判定装置100の動作を説明する。
差分判定部106が正常確度113を判定するまでの手順は実施の形態1に示したものと同じであるため、差分判定部106が正常確度113を判定するまでの手順の説明は省略する。
本実施の形態では、差分判定部106は、正常確度113を判定すると、時刻情報108、変更状態112及び正常確度113を予定作業判定部901に出力する。
以降では、差分判定部106が予定作業判定部901に時刻情報108、変更状態112及び正常確度113を予定作業判定部901に出力した後の手順を説明する。
図11は、保守工事予定DB902の動作を示す。図12は、保守工事予定DB902が管理する保守工事予定テーブルの例を示す。図13は、予定作業判定部901の動作を示す。
以下に、図11〜図13を用いて、予定作業判定部901及び保守工事予定DB902の動作を説明する。
図13に示すように、予定作業判定部901は、差分判定部106から時刻情報108、変更状態112及び正常確度113を受信する(ステップS1201)。
次に、予定作業判定部901は、時刻情報108を保守工事予定DB902へ出力する(ステップS1202)。
保守工事予定DB902では、図11に示すように、予定作業判定部901から時刻情報108を受信する(ステップS1001)。
そして、保守工事予定DB902は、予定作業判定部901から受信した時刻情報108に示される時刻付近の予定を保守工事予定テーブル1101において検索する(ステップS1002)。
例えば、時刻情報108に示される時刻が図10の符号904のように「2017/02/21 11:00」である場合は、保守工事予定DB902は、保守工事予定テーブル1101の年、月日、開始時刻、終了時刻の列を参照し、「2017/02/21 11:00」に近い予定として、図12の符号905で示す行を抽出する。
このように、時刻情報108に示される時刻付近の予定があった場合(ステップS1003でYES)は、保守工事予定DB902は、当該予定が示される予定情報903を予定作業判定部901に出力する(ステップS1004)。
なお、図11では図示していないが、保守工事予定テーブル1101は、保守端末装置101の識別子、保守対象のコントローラ102の識別子(例:コントローラ名、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、ホスト名)を含んでいてもよい。また、保守工事予定テーブル1101は、保守端末装置101が使用する保守ツール名、保守端末装置101で保守に使用するコマンド名(OSコマンドや、保守ツールのコマンド)を含んでいてもよい。更に、保守工事予定テーブル1101は、保守端末装置101における保守ツールのメニュー、保守端末装置101を使用する保守作業者、保守端末装置101において保守で使用するアカウント情報(ユーザ名など)を含んでもよい。
予定作業判定部901は、図13に示すように、保守工事予定DB902から予定情報903を受信しない場合(ステップS1203でNO)は、正常確度113を「低」に設定する(ステップS1206)。なお、差分判定部106から取得した正常確度113が既に「低」である場合は、予定作業判定部901は正常確度113を更新する必要はない。
一方、保守工事予定DB902から予定情報903を受信した場合(ステップS1203でYES)は、予定作業判定部901は、受信した予定情報903に、コントローラ情報114に関する変更状態112を示唆する情報又は変更状態112が推定できる情報が記述されているか否かを判定する(ステップS1204)。例えば、予定情報903に「コントローラと接続する機器の追加」、「コントローラと接続する機器の撤去」、「パラメータ変更」、「制御プログラムへの機能の追加」等が記述されていれば、予定作業判定部901は、変更状態112を示唆する情報又は変更状態112が推定できる情報が予定情報903に記述されていると判定する。
予定情報903に、変更状態112を示唆する情報又は変更状態112が推定できる情報が記述されている場合(ステップS1204でYES)は、予定作業判定部901は、予定情報903に記述されている情報と、変更状態112とを比較する。そして、予定作業判定部901は、変更状態112が、予定されていた変更状態であるか否かを判定する(ステップS1205)。つまり、予定作業判定部901は、予定情報903に示される保守作業又は工事作業で現行プログラム110からパケット更新プログラム109への更新が予定されていたか否かを判定する。
変更状態112が、予定されていた変更状態である場合(ステップS1205でYES)、すなわち、予定情報903に示される保守作業又は工事作業で現行プログラム110からパケット更新プログラム109への更新が予定されていたと推定できる場合は、予定作業判定部901は、正常確度113を「高」に設定する(ステップS1206)。なお、差分判定部106から取得した正常確度113が既に「高」である場合は、予定作業判定部901は正常確度113を更新する必要はない。
一方、変更状態112が、予定されていた変更状態でない場合(ステップS1205でYES)は、予定作業判定部901は、正常確度113を「低」に設定する(ステップS1206)。なお、差分判定部106から取得した正常確度113が既に「低」である場合は、予定作業判定部901は正常確度113を更新する必要はない。
また、予定情報903から変更状態112が推定できない場合(ステップS1204でNO)は、予定作業判定部901は、差分判定部106から出力された正常確度113が「高」であるか否かを判定する(ステップS1207)。差分判定部106から出力された正常確度113が「高」である場合(ステップS1207でYES)は、予定作業判定部901は、正常確度113を「低」に設定する(ステップS1206)。差分判定部106から出力された正常確度113が「高」でない場合(ステップS1207でNO)は、予定作業判定部901は、ステップS1209を行う。
正常確度113が確定すると、予定作業判定部901は、判定結果111として、変更状態112及び正常確度113を出力する(ステップS1209)。
***実施の形態の効果の説明***
以上のように、本実施の形態では、予定作業判定部901が予定情報903を参照して差分判定部106で判定した正常確度の正当性を判定する。このため、本実施の形態によれば、より高精度にパケット更新プログラム109が正当な更新プログラムであるか否かを判定することが可能である。また、本実施の形態によれば、作業員が正しい時間に正しい作業を行っているかを判定することができ、作業員による不正な操作も検知することができる。
なお、正常確度の判定基準は、正常作業判定装置100のオペレータが、過去の制御プログラムの更新状況を調査して生成することができる。例えば、オペレータは、過去の制御プログラムの更新状況の調査の結果、更新態様として、行の削除、行の追加、パラメータの値の変更、パラメータの置き換え等を設定する。そして、オペレータは、正常確度の判定基準に、発生確率に基づいて更新態様ごとに重み係数を設定してもよい。また、オペレータは、過去の制御プログラムの更新状況に基づき、正常確度の判定基準に、行数増減量の正常値及びパラメータの値の増減量の正常値を設定してもよい。
また、プログラムデータは複数の通信パケットデータに分割されずに、1つの通信パケットデータのみに含まれていてもよい。
また、実施の形態1及び実施の形態2では、正常確度113は「高」と「低」のみであるが、正常確度113の段階を3段階以上としてもよい。
また、差分判定部106及び予定作業判定部901は、判定結果111を、保守作業を行う作業員が利用するタブレット端末又は工事作業を行う作業員が利用するタブレット端末に出力してもよい。
実施の形態3.
本実施の形態では、産業制御システムに設置されたセキュリティ機器が産業制御システムへの攻撃を検知した場合に、攻撃検知アラートを正常作業判定装置100に送信する。正常作業判定装置100は、保守工事予定DB902を参照して、攻撃検知アラートの原因が産業制御システムに対する保守作業によるものなのか、攻撃によるものなのかを判定する。セキュリティ機器の攻撃の検知方法によっては、保守作業による処理を、攻撃活動であると検知してしまうこと(誤検知)がある。本実施の形態では、正常作業判定装置100は、このような誤検知を低減させる。
なお、産業制御システムは、保護対象システムである。
本実施の形態に係る正常作業判定装置100のハードウェア構成は図1に示す通りである。また、本実施の形態に係る正常作業判定装置100の機能構成は図10に示す通りである。しかしながら、正常作業判定装置100の受信部115は、図示していないセキュリティ機器(例:侵入検知装置、ログ分析装置)から、攻撃検知アラートを受信する。
セキュリティ機器は、複数のコントローラ102、産業制御システムに含まれる複数の機器、複数の端末、複数の計算機及び産業制御システム全体に対する攻撃を検知する。セキュリティ機器の一例である侵入検知装置は、産業制御システムのネットワークにおける通信の異常を検知する。また、セキュリティ機器の一例であるログ分析装置は、各コントローラ102、各機器、各端末、各計算機のイベントログ、通信機器のログ、侵入検知装置やアンチウイルスソフトウエアなどのアラートログを収集する。また、ログ分析装置は、収集したログの各々を個別に分析する。更に、ログ分析装置は、複数のログを相互に関係づけて分析することも可能である。ログ分析装置は、このようなログの分析を介して、不審な事象の発生を検知する。
セキュリティ機器は、産業制御システムへの攻撃を検知した場合に、産業制御システムへの攻撃が検知されたことを通知する攻撃検知アラートを正常作業判定装置100に送信する。セキュリティ機器は、通信パケットデータ107として、攻撃検知アラートを正常作業判定装置100に送信する。なお、セキュリティ機器は、ファイル形式で攻撃検知アラートを正常作業判定装置100に通知してもよい。
なお、本実施の形態では、セキュリティ機器は、通信パケットデータ107として攻撃検知アラートを正常作業判定装置100に送信するものとする。
セキュリティ機器が検知する攻撃は、例えば、ウイルス感染、サービス妨害攻撃等である。
攻撃検知アラートは、例えば、以下の構成要素からなる。以下の構成要素の各々は、検知された攻撃の属性を示す。
・攻撃検知時刻(又は、攻撃が開始された時刻から攻撃が終了した時刻(期間))
・攻撃を受けたコントローラ、機器、端末等の識別子(例:IPアドレス、コントローラ名、機器名、端末名等)
・攻撃を行ったコントローラ、機器、端末等の識別子(例:IPアドレス、コントローラ名、機器名、端末名等)
・攻撃の内容(例:アラート識別子や攻撃名称を示す文字列で表現される)
・攻撃が検知された際の状況を通知する情報
上記の「攻撃を検知した際の状況を通知する情報」は、例えば、攻撃に使用されたコマンド(引数を含んでもよい)、攻撃者が操作しようとしたファイルの名称又はレポジトリの名称、攻撃に使用されたプログラムの名称又はツールの名称、当該プログラム又はツールにおけるメニュー名、攻撃に関連するプロセスの名称又はやサービスの名称である。また、「攻撃が検知された際の状況を通知する情報」に、攻撃に使用されたアカウント名が含まれていてもよい。また、不正なログインの試行が検知された場合は、「攻撃が検知された際の状況を通知する情報」に、ログインが試行されたたアカウント名が含まれていてもよい。
なお、上記の「攻撃の内容」や「攻撃が検知された際の状況を通知する情報」の例示は一例であり、セキュリティ機器ごとに異なる。
本実施の形態では、受信部115は、受信した攻撃検知アラートを予定作業判定部901に出力する。
予定作業判定部901は、攻撃検知アラートを解釈し、攻撃検知アラートから上記の構成要素を抽出する。
また、予定作業判定部901は、攻撃検知時刻、攻撃を受けたコントローラ等の識別子を検索キーとして保守工事予定DB902を検索する。検索方法は、実施の形態2に示したものと同じである。保守工事予定DB902には、産業制御システムに対する保守作業の予定が記述されている。
保守工事予定DB902から、該当する予定情報903が検索された場合は、予定作業判定部901は、攻撃検知アラートの発生原因は、保守作業によるものと判定する。該当する予定情報903が検索されない場合は、予定作業判定部901は、攻撃検知アラートの発生原因は保守作業ではなく、攻撃によるものと判定する。
予定作業判定部901は、この判定結果を、判定結果111として外部に出力する。このとき、判定結果111には、変更状態112は設定されない。また、予定作業判定部901は、攻撃検知アラートの原因が攻撃であると判定した場合は、判定結果111の正常確度113を「低」に設定する。一方、攻撃検知アラートの原因が保守作業であると判定した場合は、予定作業判定部901は、判定結果111の正常確度113を「高」に設定する。また、予定作業判定部901は、時刻情報108と正常確度113を省略して、攻撃検知アラートの原因として「保守」又は「攻撃」を示す情報のみで構成される判定結果111を出力してもよい。
本実施の形態では、判定結果111は、例えば、セキュリティ機器の攻撃検知アラートを監視している監視員の端末装置に出力される。正常作業判定装置100と監視員の端末装置とが別装置であれば、予定作業判定部901は、判定結果111を通知パケットに含ませて監視員の端末装置に送信する。正常作業判定装置100が監視員の端末装置であれば、予定作業判定部901は、例えば、判定結果111を表示装置に表示する。
また、予定作業判定部901は、保守工事予定DB902の検索においては、攻撃を受けたコントローラ等の識別子の代わりに、攻撃を行ったコントローラ等の識別子を用いて検索を行ってもよい。
また、予定作業判定部901は、該当する予定情報903が検索された場合に、攻撃検知アラートに含まれる「攻撃を検知した際の状況を通知する情報」を参照して、攻撃検知アラートの原因が保守作業であるのか攻撃であるのかを判定してもよい。
例えば、予定情報903に、保守作業で使用されるコマンドが記載されており、攻撃検知アラートに、「攻撃を検知した際の状況を通知する情報」として、攻撃に使用されたコマンドが記載されているものとする。この場合に、予定作業判定部901は、予定情報903に記載されているコマンドと、攻撃検知アラートに記載されているコマンドとを比較する。そして、これらのコマンドが一致した場合に、予定作業判定部901は、保守作業で使用されたコマンドが原因で攻撃検知アラートが発行されたと判定して、攻撃検知アラートの原因は保守作業であると判定する。一方、これらのコマンドが一致しなければ、予定作業判定部901は、保守作業で予定されていないコマンドが実行されたと判定し、攻撃検知アラートの原因は攻撃であると判定する。
また、予定情報903に、保守作業で使用されるプログラムの名称(又はツールの名称又はメニュー名)が記載されており、攻撃検知アラートに、「攻撃を検知した際の状況を通知する情報」として、攻撃に使用されたプログラムの名称(又はツールの名称又はメニュー名)が記載されているものとする。この場合に、予定作業判定部901は、予定情報903に記載されているプログラムの名称(又はツールの名称又はメニュー名)と攻撃検知アラートに記載されているプログラムの名称(又はツールの名称又はメニュー名)とを比較する。そして、これらのプログラムの名称(又はツールの名称又はメニュー名)が一致した場合は、予定作業判定部901は、攻撃検知アラートの原因は保守作業であると判定する。一方、これらのプログラムの名称(又はツールの名称又はメニュー名)が一致しなければ、攻撃検知アラートの原因は攻撃であると判定する。
また、予定情報903に、保守作業で使用されるアカウント名が記載されており、攻撃検知アラートに、「攻撃を検知した際の状況を通知する情報」として、攻撃に使用されたアカウント名が記載されているものとする。この場合に、予定作業判定部901は、予定情報903に記載されているアカウント名と攻撃検知アラートに記載されているアカウント名とを比較する。そして、これらのアカウント名が一致した場合は、予定作業判定部901は、攻撃検知アラートの原因は保守作業であると判定する。一方、これらのアカウント名が一致しなければ、攻撃検知アラートの原因は攻撃であると判定する。
また、予定情報903に、保守作業で参照(読み出し/更新など)されるファイルの名称(又はレポジトリの名称)が記載されており、攻撃検知アラートに、「攻撃を検知した際の状況を通知する情報」として、攻撃者が操作したファイルの名称(又はレポジトリの名称)が記載されているものとする。この場合に、予定作業判定部901は、予定情報903に記載されているファイルの名称(又はレポジトリの名称)と攻撃検知アラートに記載されているファイルの名称(又はレポジトリの名称)とを比較する。そして、これらのファイルの名称(又はレポジトリの名称)が一致した場合は、予定作業判定部901は、攻撃検知アラートの原因は保守作業であると判定する。一方、ファイルの名称(又はレポジトリの名称)が一致しなければ、攻撃検知アラートの原因は攻撃であると判定する。
同様に、攻撃検知アラートの「攻撃を検知した際の状況を通知する情報」が、予定情報903として抽出されない場合は、予定作業判定部901は、攻撃検知アラートの原因は攻撃であると判定する。
なお、攻撃者は、保守端末装置101を操作する人間、保守端末装置101を遠隔で操作する他の端末装置で動作するマルウェア、保守端末装置101で動作するマルウェアなどが考えられるが、ここでは特定しない。
***実施の形態の効果の説明***
以上のように、本実施の形態では、予定作業判定部901は、保守工事予定DB902を参照し、侵入検知装置やログ分析装置などのセキュリティ機器の攻撃検知アラートの原因を判定する。このため、セキュリティ機器の攻撃検知アラートを監視している監視員が、攻撃検知アラートの原因を自ら調査する必要がないという効果がある。そして、攻撃検知アラートが保守に起因する誤検知による場合は、監視員は、予定作業判定部901の判定結果111を確認するだけで足り、監視員の負担を低減することができる。
以上、本発明の実施の形態について説明したが、これらの実施の形態を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、正常作業判定装置100のハードウェア構成の補足説明を行う。
プロセッサ201は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ201は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)である。
メモリ202は、例えば、RAM(Random Access Memory)である。
補助記憶装置204は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
通信インタフェース203は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インタフェース203は、例えば、通信チップ又はNIC(Network Interface Card)である。
入出力インタフェース205は、例えばキーボード、マウス、ディスプレイ装置である。
また、補助記憶装置204には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ201により実行される。
プロセッサ201はOSの少なくとも一部を実行しながら、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の機能を実現するプログラムを実行する。
プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ202、補助記憶装置204、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、正常作業判定装置100は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
100 正常作業判定装置、101 保守端末装置、102 コントローラ、103 パケットキャプチャ、104 制御プログラム構築部、105 過去プログラム記憶部、106 差分判定部、107 通信パケットデータ、108 時刻情報、109 パケット更新プログラム、110 現行プログラム、111 判定結果、112 変更状態、113 正常確度、114 コントローラ情報、115 受信部、201 プロセッサ、202 メモリ、203 通信インタフェース、204 補助記憶装置、205 入出力インタフェース、701 正常確度基準、901 予定作業判定部、902 保守工事予定DB、903 予定情報、1101 保守工事予定テーブル。

Claims (8)

  1. プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信部と、
    前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得部と、
    前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定部とを有する情報処理装置。
  2. 前記正常確度判定部は、
    前記現行プログラムと前記パケット更新プログラムとの差分の量を解析して、前記確度を判定する請求項1に記載の情報処理装置。
  3. 前記正常確度判定部は、
    前記現行プログラムと前記パケット更新プログラムとの差分の量と、前記現行プログラムと前記パケット更新プログラムとで値が変更になっているパラメータにおける値の変更度合いとを解析して、前記確度を判定する請求項1に記載の情報処理装置。
  4. 前記正常確度判定部は、
    前記現行プログラムの更新予定と、前記現行プログラムと前記パケット更新プログラムとの差分とを解析して、前記確度を判定する請求項1に記載の情報処理装置。
  5. 前記正常確度判定部は、
    前記差分及び前記確度のうちの少なくともいずれかを規定の端末装置に出力する請求項1に記載の情報処理装置。
  6. 前記正常確度判定部は、
    保護対象システムへの攻撃が検知されたことを通知する攻撃検知アラートに示される攻撃の属性と、前記保護対象システムに対する保守作業の予定とを照合して、前記攻撃検知アラートが前記保護対象システムに対する保守作業により発生したか前記保護対象システムに対する攻撃により発生したかを判定する請求項1に記載の情報処理装置。
  7. コンピュータが、プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信し、
    前記コンピュータが、前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得し、
    前記コンピュータが、前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する情報処理方法。
  8. プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信処理と、
    前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得処理と、
    前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定処理とをコンピュータに実行させる情報処理プログラム。
JP2018566696A 2017-02-08 2017-02-08 情報処理装置、情報処理方法及び情報処理プログラム Expired - Fee Related JP6523582B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/004636 WO2018146757A1 (ja) 2017-02-08 2017-02-08 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP6523582B2 JP6523582B2 (ja) 2019-06-05
JPWO2018146757A1 true JPWO2018146757A1 (ja) 2019-06-27

Family

ID=63107993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018566696A Expired - Fee Related JP6523582B2 (ja) 2017-02-08 2017-02-08 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (3)

Country Link
US (1) US20200104503A1 (ja)
JP (1) JP6523582B2 (ja)
WO (1) WO2018146757A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050785B2 (en) * 2018-08-25 2021-06-29 Mcafee, Llc Cooperative mitigation of distributed denial of service attacks originating in local networks
US11228501B2 (en) * 2019-06-11 2022-01-18 At&T Intellectual Property I, L.P. Apparatus and method for object classification based on imagery
JP7289739B2 (ja) * 2019-06-27 2023-06-12 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US11323890B2 (en) 2019-07-10 2022-05-03 At&T Intellectual Property I, L.P. Integrated mobility network planning
JP7446142B2 (ja) 2020-03-31 2024-03-08 三菱電機株式会社 サイバーセキュリティ監査システム
WO2024009741A1 (ja) * 2022-07-05 2024-01-11 パナソニックIpマネジメント株式会社 セキュリティ監視装置、セキュリティ監視方法、および、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318607A (ja) * 2001-04-18 2002-10-31 Omron Corp リニューアル設計支援方法及びシステム並びにそれに用いられる仮想設備
JP2004326337A (ja) * 2003-04-23 2004-11-18 Mitsubishi Electric Corp コード解析プログラム、コード解析自動化プログラム及び自動コード解析システム
JP2012212380A (ja) * 2011-03-31 2012-11-01 Internatl Business Mach Corp <Ibm> ソフトウエア更新を適用した情報処理装置を検査するシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318607A (ja) * 2001-04-18 2002-10-31 Omron Corp リニューアル設計支援方法及びシステム並びにそれに用いられる仮想設備
JP2004326337A (ja) * 2003-04-23 2004-11-18 Mitsubishi Electric Corp コード解析プログラム、コード解析自動化プログラム及び自動コード解析システム
JP2012212380A (ja) * 2011-03-31 2012-11-01 Internatl Business Mach Corp <Ibm> ソフトウエア更新を適用した情報処理装置を検査するシステム

Also Published As

Publication number Publication date
US20200104503A1 (en) 2020-04-02
JP6523582B2 (ja) 2019-06-05
WO2018146757A1 (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
JP6523582B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
EP3373179B1 (en) Information processing device, information processing method, and information processing program
US9853994B2 (en) Attack analysis system, cooperation apparatus, attack analysis cooperation method, and program
JP6201614B2 (ja) ログ分析装置、方法およびプログラム
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
US8850582B2 (en) Security monitoring system and security monitoring method
US20160248788A1 (en) Monitoring apparatus and method
US10033761B2 (en) System and method for monitoring falsification of content after detection of unauthorized access
US10972490B2 (en) Specifying system, specifying device, and specifying method
WO2016208159A1 (ja) 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体
JP6058246B2 (ja) 情報処理装置及び情報処理方法及びプログラム
US11777961B2 (en) Asset remediation trend map generation and utilization for threat mitigation
JP7311350B2 (ja) 監視装置、監視方法、および監視プログラム
US20220277078A1 (en) Attack Kill Chain Generation and Utilization for Threat Analysis
JP2005242754A (ja) セキュリティ管理システム
WO2020246227A1 (ja) ルール生成装置、ルール生成方法、及びコンピュータ読み取り可能な記録媒体
US20230018096A1 (en) Analysis apparatus, analysis method, and non-transitory computer readable medium storing analysis program
JP6067195B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP2019186686A (ja) ネットワーク監視装置,ネットワーク監視プログラム及びネットワーク監視方法
JP2010211453A (ja) ファイル改竄チェック方法および装置
KR20150091713A (ko) 공격특성 dna 분석 장치 및 그 방법
JP2014191513A (ja) 管理装置、管理方法及び管理プログラム
JP6053646B2 (ja) 監視装置及び情報処理システム及び監視方法及びプログラム
JP6760884B2 (ja) 生成システム、生成方法及び生成プログラム
JP2007226365A (ja) ウィルス検出システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190123

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190123

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190222

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: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190425

R150 Certificate of patent or registration of utility model

Ref document number: 6523582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees