JPWO2018146757A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
Description
プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信部と、
前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得部と、
前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定部とを有する。
***構成の説明***
図1は、本実施の形態に係るシステム構成例を示す。
図1に示すように、本実施の形態に係るシステムは、正常作業判定装置100、保守端末装置101、複数のコントローラ102及びパケットキャプチャ103で構成される。
通信パケットデータ107には、制御プログラムの更新に用いられるものと、制御プログラムの更新に用いられないものとがある。なお、通信パケットデータ107の詳細は後述する。
コントローラ102は、保守対象機器であり、複数存在する。各コントローラ102は、保守端末装置101から通信パケットデータ107を受信する。そして、各コントローラ102は、制御プログラムの更新に用いられる通信パケットデータ107を受信した場合は、受信した通信パケットデータ107を用いて制御プログラムを更新する。また、各コントローラ102は、更新後の制御プログラムを他の機器にインストールしてもよい。
なお、以下では、通信パケットデータ107を用いた更新が行われる前の制御プログラムを現行プログラムという。また、通信パケットデータ107を用いた更新により得られる制御プログラムをパケット更新プログラムという。
パケットキャプチャ103は、保守端末装置101からコントローラ102に送信される通信パケットデータ107を収集し、収集した通信パケットデータ107を正常作業判定装置100に送信する。パケットキャプチャ103は、例えば、ホワイトリストを用いる異常検知システムによって実現される。
なお、後述するように、正常作業判定装置100も、通信パケットデータ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に送信する例を説明する。
正常作業判定装置100は、コンピュータである。
図2に示すように、正常作業判定装置100は、ハードウェアとして、プロセッサ201、メモリ202、通信インタフェース203、補助記憶装置204及び入出力インタフェース205を備える。
プロセッサ201、メモリ202、通信インタフェース203、補助記憶装置204及び入出力インタフェース205はシステムバスで接続されている。
プロセッサ201がプログラムを実行することで、後述する制御プログラム構築部104、差分判定部106及び受信部115の動作が行われる。
通信インタフェース203は、パケットキャプチャ103と通信するために用いられる。
入出力インタフェース205は、正常作業判定装置100のユーザが各種データを入力するため及び正常作業判定装置100のユーザに各種データを提示するために用いられる。
図3に示すように、正常作業判定装置100は、制御プログラム構築部104、過去プログラム記憶部105、差分判定部106及び受信部115で構成される。
受信部115により行われる処理は、受信処理に相当する。
また、制御プログラム構築部104は、通信パケットデータ107に含まれるタイムスタンプを時刻情報108として抽出する。また、制御プログラム構築部104は、通信パケットデータ107からコントローラ情報をコントローラ情報114として抽出する。
そして、制御プログラム構築部104は、時刻情報108、パケット更新プログラム109及びコントローラ情報114を差分判定部106に出力する。
また、制御プログラム構築部104は、時刻情報108、パケット更新プログラム109及びコントローラ情報114を過去プログラム記憶部105に格納する。
制御プログラム構築部104は、プログラム取得部に相当する。また、制御プログラム構築部104により行われる処理は、プログラム取得処理に相当する。
過去プログラム記憶部105は、メモリ202又は補助記憶装置204により実現される。
そして、差分判定部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で行われる処理は、正常確度判定処理に相当する。
図3では、プロセッサ201が制御プログラム構築部104、差分判定部106及び受信部115の機能を実現するプログラムを実行している状態を模式的に表している。
次に、本実施の形態に係る正常作業判定装置100の動作を説明する。
図4は、正常作業判定装置100の動作の概要を示す。
図5は、受信部115及び制御プログラム構築部104の動作(図4のS301及びS302の詳細)を示す。
図6は、過去プログラム記憶部105の動作(図4のS303及びS305の詳細)を示す。
図7は、差分判定部106の動作(図4のS304の詳細)を示す。
また、受信部115は、通信パケットデータ107を制御プログラム構築部104に出力する。
また、制御プログラム構築部104は、パケット更新プログラム109、時刻情報108及びコントローラ情報114を差分判定部106に転送する。
そして、差分判定部106は、判定結果111を出力する。
なお、前述したように、保守端末装置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を受信する。
今回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS402でYES)は、通信パケットデータ107は、前回受信された通信パケットデータ107(以下、前回の通信パケットデータ107という)にプログラムデータが含まれるか否かを判定する(ステップS403)。
次に、制御プログラム構築部104は、今回の通信パケットデータ107に含まれるプログラムデータ及びコントローラ情報114と、ステップS404で生成された時刻情報108とを、相互に対応付けて一時記憶領域に保存する(ステップS405)。一時記憶領域は、例えば、メモリ202又はプロセッサ201内のレジスタである。
一方、前回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS403でYES)は、既に時刻情報108は生成済みなので、制御プログラム構築部104は、ステップS404を省略して、今回の通信パケットデータ107に含まれるプログラムデータを一時記憶領域に保存する(ステップS405)。具体的には、制御プログラム構築部104は、前回の通信パケットデータ107に含まれるプログラムデータと対応付けて今回の通信パケットデータ107に含まれるプログラムデータを一時記憶領域に保存する。
一方、前回の通信パケットデータ107にプログラムデータが含まれる場合(ステップS406でYES)は、制御プログラム構築部104は、一時記憶領域から複数のプログラムデータ、時刻情報108及びコントローラ情報114を読み出す(ステップS407)。
そして、制御プログラム構築部104は、読み出した複数のプログラムデータからパケット更新プログラム109を生成する(ステップS408)。
その後、制御プログラム構築部104は、生成したパケット更新プログラム109と時刻情報108とコントローラ情報114とを差分判定部106に出力する(ステップS409)。
読み出し要求には、時刻情報108及びコントローラ情報114が含まれる。
より具体的には、過去プログラム記憶部105は、読み出し要求に含まれるコントローラ情報114と同じコントローラ情報114に対応付けられており、読み出し要求に含まれる時刻情報108に示される時刻以前の時刻であって最も新しい時刻が示されている時刻情報108と対応付けられている過去プログラムを、現行プログラム110として抽出する。そして、過去プログラム記憶部105は、抽出した現行プログラム110を差分判定部106に出力する。
格納要求には、時刻情報108、パケット更新プログラム109及びコントローラ情報114が含まれる。
具体的には、差分判定部106は、制御プログラム構築部104から、時刻情報108、パケット更新プログラム109及びコントローラ情報114を受信し、時刻情報108及びコントローラ情報114を用いて読み出し要求を生成する。そして、差分判定部106は、生成した読み出し要求を過去プログラム記憶部105に出力し、過去プログラム記憶部105から現行プログラム110を受信する。
具体的には、差分判定部106は、パケット更新プログラム109に含まれる行のうち、現行プログラム110から変更になっている行が多いほど正常確度113を低くする。また、行での変更が少なかったときには、差分判定部106は、現行プログラム110とパケット更新プログラム109との間で値が変更になっているパラメータを抽出し、抽出したパラメータにおけるパケット更新プログラム109と現行プログラム110との間の変更の度合いが大きいか否かを判定する。抽出したパラメータにおけるパケット更新プログラム109と現行プログラム110との間の変更の度合いが大きい場合には、差分判定部106は正常確度113を「低」とする。
なお、正常確度113が高い程、パケット更新プログラム109が現行プログラム110の正常な更新プログラムである可能性が高い。換言すると、正常確度113が低い程、パケット更新プログラム109が不正なプログラムである可能性が高い。
以下では、図8の正常確度基準701を用いて説明を行う。
具体的には、差分判定部106は、変更状態112として、パケット更新プログラム109において現行プログラム110から削除されている行数a、パケット更新プログラム109で追加されている行数b、パケット更新プログラム109においてパラメータの値が変更になっている行数cを計数する。
具体的には、差分判定部106は、ステップS801で計数された変更行の合計(a+b+c)が現行プログラム110の行数の何割にあたるか(a+b+c/現行プログラム110の行数)を計算する。
そして、全てのパラメータについて値の増減の割合が閾値以下であれば(ステップS806でYES)、差分判定部106は、正常確度113を「高」に設定する(ステップS807)。
一方、一つでも値の増減の割合が閾値を超えていれば(ステップS806でNO)、差分判定部106は正常確度113を「低」に設定する(ステップS808)。
なお、差分判定部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で更新される事態を防止することができる。
以上の実施の形態1では、差分判定部106は、変更状態112のみで正常確度113を判定している。本実施の形態では、差分判定部106は、変更状態112と、現行プログラム110の更新予定とに基づき、正常確度113を決定する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、本実施の形態で説明していない事項は、実施の形態1と同様である。
本実施の形態に係るシステム構成例は、図1に示すものと同じである。
また、本実施の形態に係る正常作業判定装置100のハードウェア構成例は図2に示すものと同じである。
図10では、図3の構成と比較して、予定作業判定部901と保守工事予定DB902とが追加されている。また、本実施の形態では、差分判定部106は、判定結果111を出力せずに、代わりに、時刻情報108、変更状態112及び正常確度113を予定作業判定部901に出力する。なお、本実施の形態では、差分判定部106及び予定作業判定部901が正常確度判定部に相当する。
予定作業判定部901及び保守工事予定DB902以外の構成は、図3に示したものと同じであるため、説明を省略する。
予定作業判定部901は、制御プログラム構築部104、差分判定部106及び受信部115と同様、プログラムで実現される。
保守工事予定DB902は、メモリ202又は補助記憶装置204により実現される。
次に、本実施の形態に係る正常作業判定装置100の動作を説明する。
差分判定部106が正常確度113を判定するまでの手順は実施の形態1に示したものと同じであるため、差分判定部106が正常確度113を判定するまでの手順の説明は省略する。
以降では、差分判定部106が予定作業判定部901に時刻情報108、変更状態112及び正常確度113を予定作業判定部901に出力した後の手順を説明する。
以下に、図11〜図13を用いて、予定作業判定部901及び保守工事予定DB902の動作を説明する。
次に、予定作業判定部901は、時刻情報108を保守工事予定DB902へ出力する(ステップS1202)。
そして、保守工事予定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において保守で使用するアカウント情報(ユーザ名など)を含んでもよい。
一方、保守工事予定DB902から予定情報903を受信した場合(ステップS1203でYES)は、予定作業判定部901は、受信した予定情報903に、コントローラ情報114に関する変更状態112を示唆する情報又は変更状態112が推定できる情報が記述されているか否かを判定する(ステップS1204)。例えば、予定情報903に「コントローラと接続する機器の追加」、「コントローラと接続する機器の撤去」、「パラメータ変更」、「制御プログラムへの機能の追加」等が記述されていれば、予定作業判定部901は、変更状態112を示唆する情報又は変更状態112が推定できる情報が予定情報903に記述されていると判定する。
変更状態112が、予定されていた変更状態である場合(ステップS1205でYES)、すなわち、予定情報903に示される保守作業又は工事作業で現行プログラム110からパケット更新プログラム109への更新が予定されていたと推定できる場合は、予定作業判定部901は、正常確度113を「高」に設定する(ステップS1206)。なお、差分判定部106から取得した正常確度113が既に「高」である場合は、予定作業判定部901は正常確度113を更新する必要はない。
一方、変更状態112が、予定されていた変更状態でない場合(ステップS1205でYES)は、予定作業判定部901は、正常確度113を「低」に設定する(ステップS1206)。なお、差分判定部106から取得した正常確度113が既に「低」である場合は、予定作業判定部901は正常確度113を更新する必要はない。
以上のように、本実施の形態では、予定作業判定部901が予定情報903を参照して差分判定部106で判定した正常確度の正当性を判定する。このため、本実施の形態によれば、より高精度にパケット更新プログラム109が正当な更新プログラムであるか否かを判定することが可能である。また、本実施の形態によれば、作業員が正しい時間に正しい作業を行っているかを判定することができ、作業員による不正な操作も検知することができる。
本実施の形態では、産業制御システムに設置されたセキュリティ機器が産業制御システムへの攻撃を検知した場合に、攻撃検知アラートを正常作業判定装置100に送信する。正常作業判定装置100は、保守工事予定DB902を参照して、攻撃検知アラートの原因が産業制御システムに対する保守作業によるものなのか、攻撃によるものなのかを判定する。セキュリティ機器の攻撃の検知方法によっては、保守作業による処理を、攻撃活動であると検知してしまうこと(誤検知)がある。本実施の形態では、正常作業判定装置100は、このような誤検知を低減させる。
なお、産業制御システムは、保護対象システムである。
セキュリティ機器は、複数のコントローラ102、産業制御システムに含まれる複数の機器、複数の端末、複数の計算機及び産業制御システム全体に対する攻撃を検知する。セキュリティ機器の一例である侵入検知装置は、産業制御システムのネットワークにおける通信の異常を検知する。また、セキュリティ機器の一例であるログ分析装置は、各コントローラ102、各機器、各端末、各計算機のイベントログ、通信機器のログ、侵入検知装置やアンチウイルスソフトウエアなどのアラートログを収集する。また、ログ分析装置は、収集したログの各々を個別に分析する。更に、ログ分析装置は、複数のログを相互に関係づけて分析することも可能である。ログ分析装置は、このようなログの分析を介して、不審な事象の発生を検知する。
セキュリティ機器は、産業制御システムへの攻撃を検知した場合に、産業制御システムへの攻撃が検知されたことを通知する攻撃検知アラートを正常作業判定装置100に送信する。セキュリティ機器は、通信パケットデータ107として、攻撃検知アラートを正常作業判定装置100に送信する。なお、セキュリティ機器は、ファイル形式で攻撃検知アラートを正常作業判定装置100に通知してもよい。
なお、本実施の形態では、セキュリティ機器は、通信パケットデータ107として攻撃検知アラートを正常作業判定装置100に送信するものとする。
セキュリティ機器が検知する攻撃は、例えば、ウイルス感染、サービス妨害攻撃等である。
・攻撃検知時刻(又は、攻撃が開始された時刻から攻撃が終了した時刻(期間))
・攻撃を受けたコントローラ、機器、端末等の識別子(例:IPアドレス、コントローラ名、機器名、端末名等)
・攻撃を行ったコントローラ、機器、端末等の識別子(例:IPアドレス、コントローラ名、機器名、端末名等)
・攻撃の内容(例:アラート識別子や攻撃名称を示す文字列で表現される)
・攻撃が検知された際の状況を通知する情報
上記の「攻撃を検知した際の状況を通知する情報」は、例えば、攻撃に使用されたコマンド(引数を含んでもよい)、攻撃者が操作しようとしたファイルの名称又はレポジトリの名称、攻撃に使用されたプログラムの名称又はツールの名称、当該プログラム又はツールにおけるメニュー名、攻撃に関連するプロセスの名称又はやサービスの名称である。また、「攻撃が検知された際の状況を通知する情報」に、攻撃に使用されたアカウント名が含まれていてもよい。また、不正なログインの試行が検知された場合は、「攻撃が検知された際の状況を通知する情報」に、ログインが試行されたたアカウント名が含まれていてもよい。
なお、上記の「攻撃の内容」や「攻撃が検知された際の状況を通知する情報」の例示は一例であり、セキュリティ機器ごとに異なる。
予定作業判定部901は、攻撃検知アラートを解釈し、攻撃検知アラートから上記の構成要素を抽出する。
また、予定作業判定部901は、攻撃検知時刻、攻撃を受けたコントローラ等の識別子を検索キーとして保守工事予定DB902を検索する。検索方法は、実施の形態2に示したものと同じである。保守工事予定DB902には、産業制御システムに対する保守作業の予定が記述されている。
保守工事予定DB902から、該当する予定情報903が検索された場合は、予定作業判定部901は、攻撃検知アラートの発生原因は、保守作業によるものと判定する。該当する予定情報903が検索されない場合は、予定作業判定部901は、攻撃検知アラートの発生原因は保守作業ではなく、攻撃によるものと判定する。
予定作業判定部901は、この判定結果を、判定結果111として外部に出力する。このとき、判定結果111には、変更状態112は設定されない。また、予定作業判定部901は、攻撃検知アラートの原因が攻撃であると判定した場合は、判定結果111の正常確度113を「低」に設定する。一方、攻撃検知アラートの原因が保守作業であると判定した場合は、予定作業判定部901は、判定結果111の正常確度113を「高」に設定する。また、予定作業判定部901は、時刻情報108と正常確度113を省略して、攻撃検知アラートの原因として「保守」又は「攻撃」を示す情報のみで構成される判定結果111を出力してもよい。
例えば、予定情報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は、例えばキーボード、マウス、ディスプレイ装置である。
そして、OSの少なくとも一部がプロセッサ201により実行される。
プロセッサ201はOSの少なくとも一部を実行しながら、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の機能を実現するプログラムを実行する。
プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ202、補助記憶装置204、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、正常作業判定装置100は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、制御プログラム構築部104、差分判定部106、受信部115及び予定作業判定部901は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
Claims (8)
- プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信部と、
前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得部と、
前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定部とを有する情報処理装置。 - 前記正常確度判定部は、
前記現行プログラムと前記パケット更新プログラムとの差分の量を解析して、前記確度を判定する請求項1に記載の情報処理装置。 - 前記正常確度判定部は、
前記現行プログラムと前記パケット更新プログラムとの差分の量と、前記現行プログラムと前記パケット更新プログラムとで値が変更になっているパラメータにおける値の変更度合いとを解析して、前記確度を判定する請求項1に記載の情報処理装置。 - 前記正常確度判定部は、
前記現行プログラムの更新予定と、前記現行プログラムと前記パケット更新プログラムとの差分とを解析して、前記確度を判定する請求項1に記載の情報処理装置。 - 前記正常確度判定部は、
前記差分及び前記確度のうちの少なくともいずれかを規定の端末装置に出力する請求項1に記載の情報処理装置。 - 前記正常確度判定部は、
保護対象システムへの攻撃が検知されたことを通知する攻撃検知アラートに示される攻撃の属性と、前記保護対象システムに対する保守作業の予定とを照合して、前記攻撃検知アラートが前記保護対象システムに対する保守作業により発生したか前記保護対象システムに対する攻撃により発生したかを判定する請求項1に記載の情報処理装置。 - コンピュータが、プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信し、
前記コンピュータが、前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得し、
前記コンピュータが、前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する情報処理方法。 - プログラムの更新を管理するプログラム更新管理装置から送信される、現行プログラムの更新に用いられる通信パケットデータを受信する受信処理と、
前記通信パケットデータを用いて前記現行プログラムの更新プログラムをパケット更新プログラムとして取得するプログラム取得処理と、
前記現行プログラムと前記パケット更新プログラムとの差分を解析して、前記パケット更新プログラムが前記現行プログラムの正常な更新プログラムである確度を判定する正常確度判定処理とをコンピュータに実行させる情報処理プログラム。
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)
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)
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> | ソフトウエア更新を適用した情報処理装置を検査するシステム |
-
2017
- 2017-02-08 US US16/470,053 patent/US20200104503A1/en not_active Abandoned
- 2017-02-08 JP JP2018566696A patent/JP6523582B2/ja not_active Expired - Fee Related
- 2017-02-08 WO PCT/JP2017/004636 patent/WO2018146757A1/ja active Application Filing
Patent Citations (3)
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 |
WO2018146757A1 (ja) | 2018-08-16 |
JP6523582B2 (ja) | 2019-06-05 |
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 | |
WO2016208159A1 (ja) | 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体 | |
US10972490B2 (en) | Specifying system, specifying device, and specifying method | |
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 | |
KR20150091713A (ko) | 공격특성 dna 분석 장치 및 그 방법 | |
JP6067195B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2019186686A (ja) | ネットワーク監視装置,ネットワーク監視プログラム及びネットワーク監視方法 | |
JP2010211453A (ja) | ファイル改竄チェック方法および装置 | |
JP6053646B2 (ja) | 監視装置及び情報処理システム及び監視方法及びプログラム | |
JP2014191513A (ja) | 管理装置、管理方法及び管理プログラム | |
JP6760884B2 (ja) | 生成システム、生成方法及び生成プログラム | |
JP2005234849A (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 |