JP2017076884A - 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法 - Google Patents

不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法 Download PDF

Info

Publication number
JP2017076884A
JP2017076884A JP2015203386A JP2015203386A JP2017076884A JP 2017076884 A JP2017076884 A JP 2017076884A JP 2015203386 A JP2015203386 A JP 2015203386A JP 2015203386 A JP2015203386 A JP 2015203386A JP 2017076884 A JP2017076884 A JP 2017076884A
Authority
JP
Japan
Prior art keywords
detection
control
policy
control command
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
JP2015203386A
Other languages
English (en)
Other versions
JP6507075B2 (ja
Inventor
宏樹 内山
Hiroki Uchiyama
宏樹 内山
修吾 三上
Shugo Mikami
修吾 三上
信 萱島
Makoto Kayashima
信 萱島
訓 大久保
Satoshi Okubo
訓 大久保
耕平 山口
Kohei Yamaguchi
耕平 山口
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015203386A priority Critical patent/JP6507075B2/ja
Publication of JP2017076884A publication Critical patent/JP2017076884A/ja
Application granted granted Critical
Publication of JP6507075B2 publication Critical patent/JP6507075B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】リソース及び設置スペースに制約がある検知装置が、制御システム内の重要業務に関わる不正な通信を高速かつ高精度に検知する。【解決手段】検知装置は、第1制御装置が第2制御装置に送信する、複数の制御コマンドそれぞれの受信時刻と、第2制御装置が前記第1制御装置に送信する、複数の制御コマンドそれぞれに対するレスポンスの受信時刻と、の差を示す応答時間それぞれに基づいて、制御コマンドが重要業務に属するか否かを示すフィルタポリシを生成し、重要業務に属する制御コマンドが不正なコマンドであるか否かを示す検知ポリシを取得し、検知処理において、フィルタポリシを参照して、受信した制御コマンドが重要業務であると判定した場合に、検知ポリシを参照して受信した制御コマンドが不正なコマンドであるか否か判定する。【選択図】図1

Description

本発明は、不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法に関する。
電力、鉄道、水道、ガス等の社会インフラ、及び自動車で利用される制御システムは、センサの情報に基づいてバルブやアクチュエータ等の装置を動作させ、予め設定されている圧力や温度を保つことが要求される。当該動作を実現するために、制御システムに含まれる制御装置等の組込み装置は、定期的にセンサからの情報を取得することで装置の状態を確認し、他の制御装置やサーバ等に装置の状態を通知し、必要に応じて制御を行うことが必要となる。このため、制御システムは、周期的に大量の通信を行い、その通信データに基づく処理を行うことが通例である。
制御システムにはこれまで専用OSや専用プロトコルが利用され、インターネット等の外部ネットワークからアクセスできない領域に孤立した状態で設置されていたため、コンピュータウィルスやDoS攻撃等のサイバー攻撃と無縁であると考えられてきた。しかし、コスト削減のために、制御システムに汎用OSや汎用プロトコルが利用されるケース、及び処理効率向上のために制御システムと情報システムとが接続されるケースが増加している。そのため、制御システムがサイバー攻撃を受ける可能性が高まっている。
さらに、近年、制御システムをターゲットとしたコンピュータウィルスが発見されており、制御システムにおいても情報システムと同様にマルウェア等の感染や外部からの不正アクセスを検知する技術が求められている。
本技術分野の背景技術として、特開2006−115007号公報(特許文献1)がある。この公報には、「監視対象ネットワークと外部ネットワークとの通信が不正な通信であることを検知するために参照するシグネチャルールを、複数ブロックに分割するシグネチャルール分割手段と、分割された複数ブロックのシグネチャルールのそれぞれを、複数の侵入検知処理装置のそれぞれに対応させ、複数の侵入検知処理装置のそれぞれが、対応するブロックのシグネチャルールを検出する処理を実行する検出処理実行手段とを有することを特徴とする侵入検知処理装置である。」と記載されている(要約参照)。
特開2006−115007号公報
制御システムに含まれる組込み装置のリソース(例えば、処理性能、記憶容量、及び帯域等)には制約がある。低リソースの検知装置が、制御システム内で送受信される大量の通信パケットを検証し、不正通信を検知することは困難である。また、特許文献1に記載の技術において、検知性能を向上させるために複数の検知装置が制御システム内に設置されている。しかし、制御システムでは、制御盤という限られたスペース内に制御業務に必要となる機器が設置される必要があり、特許文献1に記載の技術のように、複数の検知装置を設置することは困難である。そこで、本発明の一態様は、リソース及び設置スペースに制約がある検知装置を用いて、制御システム内の重要業務に関する不正な通信を高速かつ高精度に検知する。
上記課題を解決するため、本発明の一態様は、以下の構成を採用する。第1制御装置と第2制御装置との間の不正通信を検知する、検知装置であって、プロセッサと、記憶装置と、を含み、前記プロセッサは、前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、前記フィルタポリシと、前記検知ポリシと、を前記記憶装置に格納し、前記第1制御装置から第1制御コマンドを受信し、前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知装置。
本発明の一態様によれば、リソース及び設置スペースに制約がある検知装置を用いて、制御システム内の重要業務に関する不正な通信を高速かつ高精度に検知する。
実施例1における制御システム向け不正通信検知システムの構成例を示すブロック図である。 制御システム向け不正通信検知システムに含まれる各装置のハードウェア構成例を示すブロック図である。 実施例1における基準用データ生成処理の一例を示すシーケンス図である。 実施例1における、通信パケット格納部に格納される通信パケットの構成例である。 実施例1における基準用データの構成例である。 実施例1における分類用データ生成処理の一例を示すシーケンス図である。 実施例1におけるフィルタポリシ生成処理の一例を示すフローチャートである。 実施例1における業務分類データの構成例である。 実施例1におけるフィルタポリシの構成例である。 実施例1における、検知装置に格納されているフィルタポリシの収集処理及び更新処理の一例を示すシーケンス図である。 実施例1における、検知装置に格納されている検知ポリシの収集処理及び更新処理の一例を示すシーケンス図である。 実施例1における検知ポリシの構成例である。 実施例1における、制御装置間で送受信されるパケットの正当性の検証処理の一例を示すシーケンス図である。
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
本実施例は、制御システム向け不正通信検知システムを説明する。制御システム向け不正通信検知システムに含まれる検知装置は、制御装置間で送受信される制御コマンドを収集する。検知装置は、各制御コマンドの応答時間や送受信サイズに基づいて、収集した制御コマンドを1以上の制御コマンド群に分類する。検知装置は、各制御コマンドの応答時間や送受信サイズに基づいて、1以上の制御コマンド群から、システムに対して与える影響が大きい重要業務の制御コマンド群を特定する。検知装置は、その通信パケット群の中で通信パケット毎に変更される領域のみに絞り込むフィルタポリシを生成する。
検知装置は、検知処理において、受信した制御コマンドが重要業務の制御コマンドである場合に、当該制御コマンドのペイロードを参照して、受信した制御コマンドが不正な通信であるか否かを判定する。検知装置は、受信した制御コマンドが不正な通信であると判定した場合、受信制御コマンドの情報を含むアラートを生成する。
図1は、本実施例の制御システム向け不正通信検知システムの構成例を示す。本実施形態の制御システム向け不正通信検知システム100は、例えば、複数の制御装置10−1〜10−n、ネットワーク装置20、検知装置30、管理装置40、及びネットワーク50を含む。以下、制御装置10−1〜10−nを特に区別しない場合、制御装置10と表記する。同様に、制御装置10−1〜10−nそれぞれに含まれる各部についても、当該各部を特に区別しない場合、ハイフン以下を省略して表記する。
図1は、制御システム向け不正通信検知システム100に2つの制御装置10が含まれる例を示しているが、制御システム向け不正通信検知システム100に含まれる制御装置10の数は問わない。
制御装置10は、制御処理を行うプログラムである制御処理部101と、後述する通信装置によって実現され、ネットワーク50やネットワーク装置20等と通信を行う通信部102と、を含む。
ネットワーク装置20は、ネットワーク装置20に入力された通信パケットを複製するプログラムであるパケット複製部201と、ネットワーク50と通信を行う第一通信部202と、検知装置30と通信を行う第二通信部203と、制御装置10−nと通信を行う第三通信部204と、を含む。なお、ネットワーク装置20は、4つ以上の通信部を含んでもよい。各通信部は、例えば、後述する通信装置によって実現される。
検知装置30は、通信部301、並びにそれぞれプログラムである、通信パケット取得部302、業務分類部303、重要業務判定部304、差分抽出部305、フィルタポリシ生成部306、フィルタリング処理部307、検知部308、アラート生成部309、動作モード管理部318、基準用データ生成部319、分類用データ生成部320、フィルタポリシ更新部321、及び検知ポリシ更新部322を含む。
また、検知装置30は、それぞれデータを格納する領域である、通信パケット格納部310、基準用データ格納部311、分類用データ格納部312、判定閾値格納部313、業務分類データ格納部314、フィルタポリシ格納部315、検知ポリシ格納部316、及びアラート格納部317を含む。
通信部301は、後述する通信装置によって実現され、ネットワーク装置20と通信を行う。通信パケット取得部302は、通信部301に入力された通信パケットの情報を取得する。業務分類部303は、通信パケット取得部302が取得した通信パケットを業務毎に分類する。分類用データ生成部320は、業務分類部303が通信パケットを分類する指標を示す分類用データを生成する。
重要業務判定部304は、業務分類部303が分類した業務から、制御装置10の動作に影響を及ぼす重要業務を決定する。基準用データ生成部319は、重要業務判定部304が重要業務を決定する基準を示す基準用データを生成する。
差分抽出部305は、重要業務のパケット内のデータの差分領域を抽出する。差分領域の詳細については後述する。フィルタポリシ生成部306は、重要業務のパケットを特定するフィルタポリシを生成する。フィルタリング処理部307は、フィルタポリシ生成部306が生成したフィルタポリシに従って、入力されたパケットをフィルタする。検知部308は、後述する検知ポリシに従って、フィルタを通過したパケットやデータの正当性を検証する。
アラート生成部309は、検知部308が不正なパケットやデータの存在を検知した場合にアラートを生成する。動作モード管理部318は、検知装置30の動作モードを管理する。検知装置30は、設定中の動作モードに規定された処理を実行することができる。動作モードの具体例については後述する。検知装置30は、動作モード管理部318が動管理する動作モードに従って動作することにより、例えば、ユーザが意図しない検知装置30の動作を防ぐことができ、ひいては不正な処理の実行を防ぐことができる。
フィルタポリシ更新部321は、管理装置40からの指示に従って、フィルタポリシを更新する。検知ポリシ更新部322は、管理装置40からの指示に従って、検知ポリシを更新する。
通信パケット格納部310は、通信パケット取得部302が取得した通信パケットを格納する。基準用データ格納部311は、基準用データ生成部319が生成した基準用データを格納する。分類用データ格納部312は、分類用データ生成部320が生成した分類用データを格納する。判定閾値格納部313は、業務分類部303が業務を分類する際に利用する閾値を格納する。業務分類データ格納部314は、通信パケットが属する業務情報を示す業務分類データを格納する。
フィルタポリシ格納部315は、フィルタポリシ生成部306が生成したフィルタポリシを格納する。検知ポリシ格納部316は、検知部308が不正なパケットやデータの存在を検知する際に利用する検知ポリシを格納する。アラート格納部317は、アラート生成部309が生成したアラートを格納する。
管理装置40は、通信部406、並びにそれぞれプログラムである、基準パケット生成部、フィルタポリシ生成部402、検知ポリシ生成部403、フィルタポリシ収集部404、及び検知ポリシ収集部405を含む。また、管理装置40は、それぞれデータを格納する領域である、フィルタポリシ格納部407、及び検知ポリシ格納部408を含む。
通信部406は、例えば、後述する通信装置によって実現され、ネットワーク50と通信を行う。基準パケット生成部401は、基準用データ生成部319が基準用データを生成する際に利用する基準パケットを生成する。フィルタポリシ生成部402は、フィルタポリシ格納部315及びフィルタポリシ格納部407に格納するフィルタポリシを生成する。検知ポリシ生成部403は、検知ポリシ格納部316及び検知ポリシ格納部408に格納する検知ポリシを生成する。
フィルタポリシ収集部404は、フィルタポリシ格納部315に格納されているフィルタポリシを収集する。検知ポリシ収集部405は、検知ポリシ格納部316に格納されている検知ポリシを収集する。フィルタポリシ格納部407は、フィルタポリシ生成部402が生成した、又はフィルタポリシ収集部404が収集したフィルタポリシを格納する。検知ポリシ格納部408は、検知ポリシ生成部403が生成した、又は検知ポリシ収集部405が収集した検知ポリシを格納する。
図2は、制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40のハードウェア構成例を示す。制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40は、例えば、バスなどの内部通信線16で連結された、通信装置11、入出力装置12、補助記憶装置13、CPU14、及びメモリ15を含む計算機17上に構成される。
CPU14は、メモリ15に格納されたプログラムに従って動作するプロセッサ及び/又は論理回路を含む。メモリ15は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU14が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置13は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU14が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置13から読み出されて、メモリ15にロードされて、CPU14によって実行される。
計算機17は、入出力インターフェースを有してもよい。入出力インターフェースは、入出力装置12が接続され、オペレータからの入力を受け、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。入出力装置12は、例えば、キーボードやマウスの等の入力装置、及びディスプレイ装置やプリンタ等の出力装置を含む。
通信装置11は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置11は、例えば、USB等のシリアルインターフェースを含む。なお、計算機17は、複数の通信装置11を含んでもよい。例えば、ネットワーク装置20に含まれる各通信部は、それぞれ異なる通信装置11によって実現されてもよい。
CPU14が実行するプログラムは、例えば、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して計算機17に提供され、非一時的記憶媒体である不揮発性の補助記憶装置13に格納されてもよい。このため、計算機17は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40は、物理的に一つの計算機17上で、又は、論理的又は物理的に構成された複数の計算機17上で構成される計算機システムであり、同一の計算機17上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
プログラムはCPU14によって実行されることで、定められた処理を記憶装置及び通信ポートを用いながら行う。従って、本実施形態及び他の実施形態においてプログラムを主語とする説明は、CPU14を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機17及び計算機システムが行う処理である。
CPU14は、プログラムに従って動作することによって、所定の機能を実現する機能部(手段)として動作する。例えば、CPU14は、通信パケット取得部302に従って動作することで通信パケット取得部(通信パケット取得手段)として機能し、業務分類部303に従って動作することで業務分類部(業務分類手段)として機能する。他のプログラムについても同様である。さらに、CPU14は、各プログラムが実行する複数の処理のそれぞれを実現する機能部(手段)としても動作する。計算機17及び計算機システムは、これらの機能部(手段)を含む装置及びシステムである。
図3は、基準用データ生成処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを初期モードに設定する(S501)。初期モードは、基準用データの生成処理を実行するためのモードである。動作モード管理部318が動作モードを初期モードに設定できない、又は後述するステップS502以降の処理が初期モードに設定されないまま実行されようとする場合は、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。
次に、基準パケット生成部401は、基準パケットを生成する(S502)。基準パケット生成部401は、例えば、入出力装置12を介したユーザからの基準パケット生成指示を受け付けたこと、又は動作モードが初期モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして基準パケットの生成を開始する。
次に、通信部406は、基準パケット生成部401が生成した基準パケットを、制御装置10−nに送信する(S503)。ここで基準パケットとは、制御コマンドが示す業務が重要業務であるか否かを判定する基準を示すパケットである。例えば、Ping等のネットワークレベルで送受信されるパケット(即ちネットワーク層より上位の層における処理を実施しないパケット)、及びユーザアプリケーションにおいて、アプリケーションのデータ参照のみを行い、書き込みや内部処理を行わないようなパケット、は基準パケットの一例である。また、基準パケット生成部401は、特性(例えば、パケットのデータ量、及びパケットが示す制御処理等)の異なる複数の基準パケットを送信してもよい。
次に、ネットワーク装置20のパケット複製部201は、管理装置40から受信した基準パケットを複製する(S504)。次に、第二通信部203はパケット複製部201が複製した基準パケットを検知装置30に送信し(S505)、第三通信部204はパケット複製部201が複製した基準パケットを制御装置10−nに送信する(S506)。
次に、通信パケット取得部302は、当該複製した基準パケットを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S508)。次に、通信パケット取得部302は、通信部301が受信した基準パケットのサイズを取得する(S509)。次に、通信パケット取得部302は、受信した基準パケットの情報を示す通信パケットを通信パケット格納部310に格納する(S510)。
ここで、通信パケット格納部310に格納される通信パケットの構成例を説明する。図4は、通信パケット格納部310に格納される通信パケットの構成例を示す。通信パケット1101は、例えば、検知装置30が当該通信パケットに対応する基準パケットを受信した時刻を示す受信時刻1102と、当該通信パケットに対応する基準パケットのサイズ1103と、当該通信パケットに対応する基準パケットのバイナリデータを示すパケットデータ1104と、を含む。なお、通信パケット1101の構成要素の順序は図4の例に限定されるものではない。
図3の説明に戻る。一方、制御処理部101−nは、ネットワーク装置20から受信した基準パケットを処理する(S507)。次に、制御処理部101−nは、基準パケットの処理結果を示すレスポンスを生成し、通信部102−nは制御処理部101−nが生成したレスポンスを管理装置40に送信する(S511)。
次に、ネットワーク装置20のパケット複製部201は、受信したレスポンスを複製する(S512)。次に、第二通信部203はパケット複製部201が複製したレスポンスを検知装置30に送信し(S513)、第三通信部204はパケット複製部201が複製したレスポンスを管理装置40に送信する(S514)。
次に、通信パケット取得部302は、通信部301がネットワーク装置20から当該複製したレスポンスを受信した受信時刻を、例えば検知装置30のOS等から取得する(S515)。次に、通信パケット取得部302は、通信部301が受信した当該複製したレスポンスのサイズを取得する(S516)。次に、通信パケット取得部302は、受信したレスポンスの情報を示す通信パケットを通信パケット格納部310に格納する(S517)。レスポンスの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。
次に、基準用データ生成部319は、ステップS510で格納された基準パケットの通信パケットの情報と、ステップS517で格納されたレスポンスの通信パケットの情報と、を用いて基準用データを生成する(S518)。
ここで基準用データの構成例を説明する。図5は、基準用データの構成例を示す。基準用データ1201は、例えば、基準パケットを検知装置30が受信した時刻を示すコマンド受信時刻1202と、基準コマンドに対するレスポンスを検知装置30が受信した時刻を示すレスポンス受信時刻1203と、コマンド受信時刻1202とレスポンス受信時刻1203との差分を示す応答時間1204と、基準パケットのサイズ1205と、レスポンスパケットのサイズ1206と、コマンドパケットのサイズとレスポンスパケットのサイズとの和を示す送受信サイズ1207と、基準パケットのバイナリデータを示すパケットデータ1208と、を含む。なお、基準用データ1201の構成要素の順序は図5の例に限定されるものではない。
図3の説明に戻る。次に、基準用データ生成部319は、生成した基準用データを基準用データ格納部311に格納する(S519)。なお、図3の例では検知装置30が基準用データを生成する処理を例示したが、検知装置30以外の装置が基準用データを生成してもよい。また、図3の処理によらず生成された基準用データが基準用データ格納部311に予め直接格納されていてもよい。
図6は、制御装置10−1と制御装置10−nの間で試運転時等に行われる制御業務の通信パケットに基づく、分類用データ生成処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを収集モードに設定する(S601)。収集モードは、制御業務の通信パケットを収集し、分類用データを生成するためのモードである。ここで、動作モード管理部318が動作モードを収集モードに設定できない、又は後述するステップS602以降の処理が収集モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。
次に、制御処理部101−1は制御コマンドを生成する(S602)。制御コマンドは、例えば、制御装置10の動作の制御、及び制御装置10の状態の取得等を行うためのコマンドである。制御処理部101−1は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが収集モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして制御コマンドの生成を開始する。次に、通信部102−1は、制御処理部101−1が生成した制御コマンドを制御装置10−nに送信する(S603)。
次に、ネットワーク装置20のパケット複製部201は、第三通信部204が制御装置10−1から受信した制御コマンドを複製する(S604)。次に、第二通信部203はパケット複製部201が複製した制御コマンドを検知装置30に送信し(S605)、第三通信部204はパケット複製部201が複製した制御コマンドを制御装置10−nに送信する(S606)。
次に、通信パケット取得部302は、当該複製した制御コマンドを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S608)。次に、通信パケット取得部302は、受信した制御コマンドのサイズを取得する(S609)。次に、通信パケット取得部302は、受信した制御コマンドの情報を示す通信パケットを通信パケット格納部310に格納する(S610)。制御コマンドの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。
一方、制御処理部101−nは、ネットワーク装置20から受信した制御コマンドが示す制御業務を行う(S607)。次に、制御処理部101−nは制御業務の処理結果を示すレスポンスを生成し、通信部102−nは制御処理部101−nが生成したレスポンスを制御装置10−1に送信する(S611)。
次に、ネットワーク装置20のパケット複製部201は、第三通信部204が受信したレスポンスを複製する(S612)。次に、第二通信部203はパケット複製部201が複製したレスポンスを検知装置30に送信し(S613)、第一通信部202はパケット複製部201が複製したレスポンスを制御装置10−1に送信する(S614)。
次に、通信パケット取得部302は、当該複製したレスポンスを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S615)。次に、通信パケット取得部302は、通信部301が受信したレスポンスのパケットの送受信サイズを取得する(S616)。次に、通信パケット取得部302は、受信したレスポンスの情報を示す通信パケットを通信パケット格納部310に格納する(S617)。レスポンスの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。
次に、分類用データ生成部320は、S610で格納された制御コマンドの通信パケットの情報と、S617で格納されたレスポンスの通信パケットの情報と、を用いて分類用データを生成する(S618)。なお、分類用データの構成は、図5に示した基準用データの構成と同様である。具体的には、分類用データの構成は、図5の基準用データの構成の説明中の「基準パケット」を「制御コマンド」と読み替えることにより、説明される。
次に、分類用データ生成部320は、生成した分類用データを分類用データ格納部312に格納する(S619)。図6の処理は、1つの制御コマンドに対して1つの分類用データが生成される処理を示す。本実施例においては、業務分類の対象とする複数のコマンドそれぞれに対して、ステップS602〜ステップS619の処理が実施される。
図7は、基準用データや分類用データが生成された後に実行されるフィルタポリシ生成処理の一例を示す。はじめに、例えば入出力装置12を介したユーザからの指示に従って、フィルタポリシ生成処理が開始する(S701)。
具体的には、例えば、動作モード管理部318が当該指示に従って、動作モードをフィルタポリシ生成モードに設定することにより、フィルタポリシ生成処理が開始する。フィルタポリシ生成モードは、フィルタポリシを生成するためのモードである。ここで、動作モード管理部318が動作モードをフィルタポリシ生成モードに設定できない、又は後述するステップS702以降の処理がフィルタポリシ生成モードに設定されないまま実行されようとする場合には、検知装置30は以降の処理を中止してもよい。
次に、業務分類部303は、分類用データ格納部312に格納されている分類用データを取得する(S702)。次に、業務分類部303は、取得した分類用データそれぞれに対して、当該分類用データの応答時間や送受信サイズに基づいて、分類用データに対応する制御コマンドが示す制御業務の重要度を示す分類指標を算出する(S703)。
分類用データの応答時間を送受信サイズで割った値は当該分類用データの分類指標の一例である。また、分類用データの応答時間は当該分類用データの分類指標の一例である。また、応答時間の増加関数であり、かつ送受信サイズの減少関数である所定の関数に、分類用データの応答時間及び送受信サイズを代入した値は、当該分類用データの分類指標の一例である。
次に、業務分類部303は、生成した分類指標それぞれと、判定閾値格納部313に格納されている判定閾値と、を比較して、分類用データそれぞれに対して業務を識別する情報を示す業務IDを割り当てる。
なお、業務分類部303は、例えば、以下のようにして、各分類用データに業務IDを割り当てる。業務分類部303は、例えば、算出した分類指標を小さい順にソートする。業務分類部303は、最小の分類指標を含み、かつ長さが判定閾値である区間、に含まれる分類指標に対応する分類用データに第1の業務IDを割り当てる。さらに、業務分類部303は、業務IDが割り当てられていない分類用データの最小の分類指標を含み、かつ既に業務IDが割り当てられた分類用データの分類指標を含まない区間であって、長さが判定閾値である区間に、含まれる分類指標に対応する分類用データに第2の業務IDを割り当てる。業務分類部303は同様の処理を繰り返すことにより、全ての分類用データに業務IDを割り当てることができる。業務分類部303は、上述の処理により、高速かつ高精度に同一の業務に属する分類用データを特定することができる。
業務分類部303は、分類用データそれぞれに対応する業務分類データを生成し、生成した業務分類データを業務分類データ格納部314に格納する(S704)。ここで業務分類データの構成例を説明する。
図8は、業務分類データ格納部314に格納される業務分類データの構成例を示す。業務分類データ1301は、当該業務分類データに対応する分類用データの業務ID1302と、当該業務分類データに対応する分類用データの分類指標1303と、当該業務分類データに対応する分類用データのパケットデータを示すパケットデータ1304と、を含む。なお、業務分類データは、分類指標1303を含まなくてもよい。また、業務分類データ1301の構成要素の順序は上記に限定されるものではない。
図7の説明に戻る。次に、重要業務判定部304は、基準用データ格納部311に格納されている基準用データの分類指標を用いて、生成した業務分類データの業務IDから重要業務の業務IDを決定し、決定した業務IDをフィルタポリシ格納部315に格納する(S705)。
なお、重要業務判定部304は、例えば、以下のようにして、重要業務の業務IDを決定する。重要業務判定部304は、例えば、業務IDそれぞれに対して、当該業務IDを有する業務分類データから、1つ分類指標を選択する。なお、このとき、重要業務判定部304は、当該業務IDに対応する業務分類データから、最小の分類指標を選択するのが好ましい。重要業務判定部304は、基準用データの分類指標と、選択した分類指標それぞれと、を比較し、基準用データの分類指標より大きい分類指標を有する業務IDを重要業務の業務IDに決定する。
基準用データの分類指標は、基準パケットの応答時間に基づいて定められている。従って、例えば、基準パケットがネットワークレベルで送受信されるパケットである場合、重要業務判定部304が上述の処理を実行することにより、ネットワークレベルより上位のレベルの処理を実行する制御コマンドに対応する分類用データが重要業務に分類される可能性を高くすることができる。
また、例えば、基準パケットが、ユーザアプリケーションにおいて、アプリケーションのデータ参照のみを行い、書き込みや内部処理を行わないようなパケットである場合、重要業務判定部304が上述の処理を実行することにより、アプリケーションのデータ参照以外の処理を実行する制御コマンドに対応する分類用データが重要業務に分類される可能性を高くすることができる。
また、重要業務判定部304は、所定の閾値と、選択した分類指標それぞれと、を比較し、当該所定の閾値より大きい分類指標を有する業務IDを重要業務の業務IDに決定してもよい。
以下、重要業務の業務IDそれぞれに対してフィルタポリシが作成される処理の例を説明する。フィルタポリシ生成部306は、フィルタポリシが未作成の1つの重要業務の業務IDをフィルタポリシ格納部315から取得し、取得した業務IDに対応する全ての業務分類データのパケットデータ1304を、業務分類データ格納部314から取得する(S706)。
次に、差分抽出部305は、取得したパケットデータ内のペイロードそれぞれを比較し、ペイロード内においてデータが異なる領域を示す差分領域を特定する(S707)。具体的には、例えば、差分抽出部305は、取得したペイロードそれぞれの各ビットを比較し、全てのペイロードにおいて同一の値を有するビット以外のビットからなる領域を差分領域に決定する。差分抽出部305が差分領域を抽出することにより、後述するステップS1010の異常検知処理において、検知精度の低下を抑制しつつ、検知部308が異常検知のために参照する領域を減少させることができ、ひいては処理量を減少させることができる。なお、S707において、差分抽出部305はペイロードの全てのビットを差分領域としてもよい。
ここで、例えば、差分抽出部305が取得したパケットデータ内のそれぞれの各ビットビットを比較した際に、全てのパケットデータにおいて同一の値を有するビット数がペイロードの全ビット数の所定割合以下であると判定した場合、全てのパケットデータにおいて同一の値を有するビットからなる領域を、差分領域に代えて特定してもよい。
次に、フィルタポリシ生成部306は、ステップS706で取得した業務ID及びパケットデータ1304と、差分抽出部305が決定した差分領域と、に基づいて、フィルタポリシを生成し、生成したフィルタポリシをフィルタポリシ格納部315に格納する(S708)。
ここで、フィルタポリシの構成例について説明する。図9は、フィルタポリシ格納部315に格納されるフィルタポリシの構成例を示す。フィルタポリシ1401は、例えば、ステップS706で取得した業務ID1402と、対応する業務IDの業務分類データのパケットデータ1304から特定されるヘッダ情報と、抽出した差分領域を示す検知領域1408と、を含む。
フィルタポリシ1401のヘッダ情報は、例えば、通信パケットの送信元1403と、通信パケットの送信先1404と、通信パケットのプロトコル1405と、通信パケットの送信先ポート番号1406と、通信パケットのその他の特徴を示すオプション1407と、を含む。
なお、例えば、ステップS706において取得したパケットデータに、複数種類の送信先が含まれていた場合、フィルタポリシ生成部306は、ステップS708において、例えば、最も出現数の多い送信先や全ての送信先を、ステップS706で取得した業務IDに対応するフィルタポリシ1401に含める。送信先以外のヘッダ情報についても同様である。なお、フィルタポリシ1401は、入出力装置12を介してユーザから直接入力されてもよい。また、フィルタポリシ1401の構成要素の順序は上記に限定されるものではない。
図7の説明に戻る。次に、フィルタポリシ生成部306は、フィルタポリシ格納部315に、フィルタポリシが生成されていない重要業務の業務IDが存在するか否かを検証する(S709)。フィルタポリシ生成部306が、フィルタポリシが生成されていない重要業務の業務IDが存在すると判定した場合(S709:Yes)、ステップS706に戻って未生成の業務IDに対してフィルタポリシの生成を行う。一方、フィルタポリシ生成部306が全ての重要業務の業務IDに対してフィルタポリシが生成されていると判定した場合(S709:No)、処理を終了する(S710)。
図10は、検知装置30に格納されているフィルタポリシの収集処理及び更新処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを保守モードに設定する(S801)。保守モードは、ポリシの収集処理及び更新処理等を実施するためのモードである。ここで、動作モード管理部318が動作モードを保守モードに設定できない、又は後述するステップS802以降の処理が保守モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。
次に、フィルタポリシ収集部404はフィルタポリシ収集コマンドを生成する(S802)。フィルタポリシ収集部404は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが保守モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとしてフィルタポリシ収集コマンドの生成を開始する。
次に、通信部406はフィルタポリシ収集部404が生成したフィルタポリシ収集コマンドを検知装置30に送信し(S803)、第二通信部203は第一通信部202が受信したフィルタポリシ収集コマンドを検知装置30に送信する(S804)。
次に、フィルタポリシ更新部321は、通信部301が受信したフィルタポリシ収集コマンドに従って、フィルタポリシ格納部315に格納されているフィルタポリシを取得する(S805)。次に、通信部301はフィルタポリシ更新部321が取得したフィルタポリシを管理装置40に送信し(S806)、第一通信部202は第二通信部203が受信したフィルタポリシを管理装置40に送信する(S807)。
なお、フィルタポリシ格納部315にフィルタポリシが格納されていない場合、フィルタポリシ更新部321は、ステップS805においてフィルタポリシを取得する代わりにフィルタポリシが存在しない旨を示すレスポンスを生成してもよい。このとき、S806及びS807において、フィルタポリシに代えて当該レスポンスが送信される。
次に、フィルタポリシ収集部404は、通信部406が受信したフィルタポリシを入出力装置12に出力する。次に、フィルタポリシ生成部402は、ユーザからの入出力装置12を介した指示に従って、当該フィルタポリシを更新する(S808)。なお、通信部406が、フィルタポリシが存在しない旨を示すレスポンスを受信した場合、フィルタポリシ生成部402は、ユーザからの入出力装置12を介した指示に従ってフィルタポリシを新規に生成してもよい。
次に、通信部406はフィルタポリシ生成部402が更新した新フィルタポリシを検知装置30に送信し(S809)、第二通信部203は第一通信部202が受信した新フィルタポリシを検知装置30に送信する(S810)。次に、フィルタポリシ更新部321は、通信部301が受信した新フィルタポリシをフィルタポリシ格納部315に格納することで、フィルタポリシを更新する(S811)。
次に、フィルタポリシ更新部321は、更新結果を示すレスポンスを生成する。通信部301は、当該レスポンスを管理装置40に送信し(S812)、第一通信部202は第二通信部203が受信した当該レスポンスを管理装置40に送信する(S813)。
次に、フィルタポリシ生成部402は、通信部406が受信したレスポンスが示す更新結果を参照して、フィルタポリシ更新部321による更新処理が成功したか否か判定する(S814)。フィルタポリシ生成部402は、更新処理が成功したと判定した場合(S814:Yes)、S808で更新したフィルタポリシをフィルタポリシ格納部407に格納する(S815)。
一方、フィルタポリシ収集部404は、更新処理が失敗したと判定した場合(S814:No)、S809に戻り、再度新フィルタポリシを送信する。なお、例えば、ステップS814における初回の判定処理から所定時間が経過した場合、又はステップS814における判定処理が所定回数行われた場合には、フィルタポリシ生成部402は処理を終了してもよい。
次に、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを運用モードに設定する(S816)。運用モードは、検知装置30が受信したパケットをフィルタポリシ及び検知ポリシに基づいて、フィルタリングするモードである。また、例えば、S811におけるフィルタポリシ更新が成功した場合に、動作モード管理部318は、自動的に動作モードを運用モードに設定してもよい。図10に示した処理により、管理装置40のユーザはフィルタポリシを容易に確認することができ、さらにフィルタポリシを柔軟に変更することができる。
図11は、検知装置30に格納されている検知ポリシの収集処理及び更新処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを保守モードに設定する(S901)。ここで、動作モード管理部318が動作モードを保守モードに設定できない、又は後述するステップS902以降の処理が保守モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。
次に、検知ポリシ収集部405は、検知ポリシ収集コマンドを生成する(S902)。検知ポリシ収集部405は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが保守モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして検知ポリシ収集コマンドの生成を開始する。
次に、通信部406は、検知ポリシ収集部405が生成した検知ポリシ収集コマンドを検知装置30に対して送信し(S903)、第二通信部203は第一通信部202が受信した検知ポリシ収集コマンドを検知装置30に送信する(S904)。
次に、検知ポリシ更新部322は、ネットワーク装置20から受信した検知ポリシ収集コマンドに従って、検知ポリシ格納部316に格納されている検知ポリシを取得する(S905)。次に、通信部301は、検知ポリシ更新部322が取得した検知ポリシを管理装置40に送信し(S906)、第一通信部202は第二通信部203が受信した検知ポリシを管理装置40に送信する(S907)。
なお、検知ポリシ格納部316に検知ポリシが格納されていない場合、検知ポリシ更新部322は、ステップ905において検知ポリシを取得する代わりに検知ポリシが存在しない旨を示すレスポンスを生成してもよい。このとき、S906及びS907において、検知ポリシに代えて当該レスポンスが送信される。
次に、検知ポリシ収集部405は、通信部406が受信した検知ポリシを入出力装置12に出力する。次に、検知ポリシ生成部403は、ユーザからの入出力装置12を介した指示に従って、受信した検知ポリシを更新する(S908)。なお、検知ポリシ生成部403は、検知ポリシが存在しない旨を示すレスポンスを通信部406が受信した場合、ユーザからの入出力装置12を介した指示に従って、検知ポリシを新規に生成してもよい。次に、通信部406は、検知ポリシ生成部403が更新した新検知ポリシを検知装置30に送信し(S909)、第二通信部203は第一通信部202が受信した新検知ポリシを検知装置30に送信する(S910)。
次に、検知ポリシ更新部322は、通信部301がネットワーク装置20から受信した新検知ポリシを検知ポリシ格納部316に格納することで、検知ポリシを更新する(S911)。次に、フィルタポリシ更新部321は、更新結果を示すレスポンスを生成する。通信部301は当該レスポンスを管理装置40に送信し(S912)、第一通信部202は第二通信部203が受信した当該レスポンスを管理装置40に送信する(S913)。
次に、検知ポリシ生成部403は、通信部406が受信したレスポンスが示す更新結果を参照して、検知ポリシ更新部322による更新処理が成功したか否か判定する(S914)。検知ポリシ生成部403は、更新処理が成功したと判定した場合(S914;YES)、S904で生成した検知ポリシを検知ポリシ格納部408に格納する。一方、検知ポリシ生成部403は、更新処理が失敗したと判定した場合(S914:No)、S909に戻り、再度新検知ポリシを送信する。
なお、例えば、ステップS914における初回の判定処理から所定時間が経過した場合、又はステップS914における判定処理が所定回数行われた場合には、検知ポリシ生成部403は処理を終了してもよい。次に、動作モード管理部318は、例えば、入出力装置12を介したユーザからの指示に従って、動作モードを運用モードに設定する(S916)。また、例えば、S811におけるフィルタポリシ更新が成功した場合に、動作モード管理部318は、自動的に動作モードを運用モードに設定してもよい。図11に示した処理により、管理装置40のユーザは検知ポリシを容易に確認することができ、さらに検知ポリシを柔軟に変更することができる。
図12は、検知ポリシ格納部316に格納される検知ポリシの構成例を示す。検知ポリシ1501は、業務ID1502と、検知領域1503と、検知領域に含まれるデータのパターンの数を示すパターン数1504と、検知領域に含まれるデータのパターンを示す正当データパターン1505と、を含む。なお、検知ポリシ1501の構成要素の順序は上記に限定されるものではない。
業務ID1502は、例えば、重要業務の業務IDである。即ち、検知ポリシ格納部316は、フィルタポリシ格納部315に格納されたフィルタポリシの業務IDそれぞれに対応する検知ポリシを含む。検知領域1503は、例えば業務ID1502と同一の業務ID1402を有するフィルタポリシの検知領域1408を示す。
図13は、検知装置30による、制御装置10−1と制御装置10−nの間で送受信されるパケットの正当性の検証処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを運用モードに設定する(S1001)。例えば、ステップS816又はステップS916の処理をステップS1001に代えてもよい。
ここで、動作モード管理部318が動作モードを運用モードに設定できない、又はステップS1002以降の処理が運用モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。
次に、制御処理部101−1は、制御コマンドを生成する(S1002)。次に、通信部102−1は、制御処理部101−1が生成した制御コマンドを制御装置10−nに送信する(S1003)。次に、パケット複製部201は、制御装置10−1から受信した制御コマンドを複製する(S1004)。次に、第二通信部203は、パケット複製部201が複製した制御コマンドを検知装置30に送信し(S1005)、第一通信部202はパケット複製部201が複製した制御コマンドを制御装置10−nに送信する(S1006)。
制御処理部101−nは、ネットワーク装置20から受信した制御コマンドに従って制御業務を実行する(S1007)。フィルタリング処理部307は、通信部301がネットワーク装置20から受信した制御コマンドに対して、フィルタポリシ格納部315に格納されているフィルタポリシを用いて、パケットフィルタを行う(S1008)。
具体的には、例えば、フィルタリング処理部307は、受信した制御コマンドのヘッダ情報と一致するヘッダ情報を有するフィルタポリシがフィルタポリシ格納部315内に存在する場合、当該制御コマンドをフィルタ対象のパケットであると判定する。また、フィルタリング処理部307は、受信した制御コマンドのヘッダ情報と一致するヘッダ情報を有するフィルタポリシがフィルタポリシ格納部315内に存在しない場合、当該制御コマンドをフィルタ対象外のパケットであると判定する。
フィルタリング処理部307が、制御コマンドをフィルタ対象外のパケットであると判定した場合(S1008:No)、検知処理を終了する(S1009)。一方、フィルタリング処理部307が、制御コマンドをフィルタ対象のパケットであると判定した場合(S1008:Yes)、検知部308は検知ポリシ格納部316に格納されている検知ポリシを用いて、検知処理を行う(S1010)。
具体的には、検知部308は、S1008においてヘッダ情報が一致したフィルタポリシの業務IDを取得し、取得した業務IDを有する検知ポリシを検知ポリシ格納部316から取得する。検知部308は、取得した検知ポリシの検知領域1503を取得し、受信した制御コマンドのペイロードの当該検知領域内のデータをチェックする。検知部308は、当該検知領域内のデータが、取得した検知ポリシの正当データパターン1505が示すデータに一致する場合、異常がないと判定する。また、検知部308は、当該検知領域内のデータが、取得した検知ポリシの正当データパターン1505が示すデータに一致しない場合、異常があると判定する。
検知部308が、異常がない、即ち当該制御コマンドが不正なコマンドでないと判定した場合(S1010:No)、検知処理を終了する(S1011)。一方、検知部308が、異常がある、即ち当該制御コマンドが不正なコマンドであると判定した場合(S1010:Yes)、アラート生成部309はアラートを生成する(S1012)。アラート生成部309は、例えば、当該制御コマンドを受信した時刻、当該制御コマンドに対応する業務ID、及び当該制御コマンドの検知領域のデータ等をアラートに含める。
次に、アラート生成部309は、生成したアラートをアラート格納部317に格納する(S1013)。ここで、アラート生成部309が生成したアラートを通信部301が管理装置40に送信し、第二通信部203が受信したアラートを第一通信部202が管理装置40等に送信してもよい。また、検知装置30の入出力装置12及び/又は管理装置40の入出力装置がアラートを出力してもよい。
以上、本実施例の制御システム向け不正通信検知システム100は、フィルタポリシを用いて制御コマンドが重要業務に属しているか否かを判定し、重要業務に対応する制御コマンドに対して検知ポリシを用いたフィルタリングを実行する。制御システム向け不正通信検知システム100は当該処理により、少ない処理量で、効率的な不正通信検知処理を実施することができる。具体的には、低リソースの検知装置30単体を用いて、制御システム内の重要業務に関する不正通信を高速かつ高精度に検知することができる。
なお、例えば、本実施例の検知装置30にネットワーク装置20及び/又は管理装置40が含まれていてもよいし制御装置10や検知装置30や管理装置40にネットワークとの通信機能が含まれておらず、これらの装置が別の装置を経由してネットワークと通信を行ってもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
10−1〜10−n 制御装置、14 CPU、15 メモリ、30 検知装置、303 業務分類部、40 管理装置、304 重要業務判定部、305 差分抽出部、306 フィルタポリシ生成部、307 フィルタリング処理部、308 検知部、309 アラート生成部、311 基準用データ格納部、312 分類用データ格納部、313 判定閾値格納部、314 業務分類データ格納部、315 フィルタポリシ格納部、316 検知ポリシ格納部、318 基準用データ生成部、319 分類用データ生成部、321 フィルタポリシ更新部、322 検知ポリシ更新部、401 基準パケット生成部、404 フィルタポリシ収集部、405 検知ポリシ収集部、

Claims (12)

  1. 第1制御装置と第2制御装置との間の不正通信を検知する、検知装置であって、
    プロセッサと、記憶装置と、を含み、
    前記プロセッサは、
    前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
    前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
    前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
    前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
    前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
    前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
    前記フィルタポリシと、前記検知ポリシと、を前記記憶装置に格納し、
    前記第1制御装置から第1制御コマンドを受信し、
    前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
    当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
    前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
    前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知装置。
  2. 請求項1に記載の検知装置であって、
    前記プロセッサは、前記重要業務それぞれに対して、当該重要業務に属する制御コマンドのペイロードの各ビットの値を比較して、当該ペイロード間で少なくとも1つの値が異なるビットを示す差分領域を特定し、
    前記検知ポリシは、前記重要業務と、前記差分領域のデータパターンと、の対応を示し、
    前記プロセッサは、
    前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
    前記第1制御コマンドの前記第1検知ポリシが示す差分領域のデータと、前記第1検知ポリシが示す差分領域のデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定する、検知装置。
  3. 請求項1に記載の検知装置であって、
    前記プロセッサは、
    前記応答時間それぞれに基づく分類指標を算出し、
    所定の長さを有し、互いに重複しない複数の区間を生成し、
    同一の区間に含まれる分類指標に対応する制御コマンドを、同一の制御コマンド群に含める、検知装置。
  4. 請求項1に記載の検知装置であって、
    前記プロセッサは、
    前記複数の制御コマンドのサイズそれぞれと、前記複数の制御コマンドそれぞれに対応するレスポンスのサイズと、の和を示す送受信サイズを算出し、
    前記算出した応答時間それぞれと、前記算出した送受信サイズそれぞれと、に基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
    前記算出した応答時間それぞれと、前記算出した送受信サイズそれぞれと、に基づいて前記制御コマンド群から選択した1以上の制御コマンド群、を重要業務に決定する、検知装置。
  5. 請求項1に記載の検知装置であって、
    前記プロセッサは、
    前記応答時間それぞれに基づいて、分類指標を算出し、
    第1閾値より大きい分類指標に対応する制御コマンドを含む制御コマンド群を重要業務に決定する、検知装置。
  6. 請求項5に記載の検知装置であって、
    前記プロセッサは、
    前記検知装置を管理する管理装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御するネットワークレベルのパケット又はアプリケーションレベルで書き込み及び内部処理を行わないパケットである基準パケットと、前記第2制御装置が前記管理装置に送信する、前記基準パケットに対するレスポンスと、を監視し、
    前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す第1応答時間を算出し、
    前記第1応答時間に基づく分類指標を前記第1閾値に決定する、検知装置。
  7. 請求項1に記載の検知装置であって、
    入力装置に接続され、
    前記プロセッサは、前記入力装置を介したユーザ入力により、前記検知ポリシを取得する、検知装置。
  8. 請求項1に記載の検知装置であって、
    前記プロセッサは、
    前記プロセッサが実行可能な処理を規定する動作モードを示す指示を受信し、
    前記受信した指示が示す動作モードが規定する処理を実行し、
    前記動作モードは、前記応答時間を算出する第1動作モードと、前記フィルタポリシを生成する第2動作モードと、前記検知ポリシを取得する第3動作モードと、前記第1制御コマンドが不正なコマンドであるか否かを判定する第4動作モードと、を含む、検知装置。
  9. 第1制御装置と、第2制御装置と、前記第1制御装置と前記第2制御装置との間の不正通信を検知する検知装置と、を含む検知システムであって、
    前記検知装置は、
    前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
    前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
    前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
    前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
    前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
    前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
    前記第1制御装置から第1制御コマンドを受信し、
    前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
    当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
    前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
    前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知システム。
  10. 請求項9に記載の検知システムであって、
    出力装置と、前記検知装置を管理する管理装置と、をさらに含み、
    前記管理装置は、
    前記検知装置に対してフィルタポリシ及び検知ポリシの少なくとも一方を収集する指示を送信し、
    前記検知装置が保持する前記少なくとも一方を、前記検知装置から受信し、
    前記受信した少なくとも一方を前記出力装置に出力する、検知システム。
  11. 請求項9に記載の検知システムであって、
    入力装置と、前記検知装置を管理する管理装置と、をさらに含み、
    前記管理装置は、
    前記入力装置を介したユーザ入力によりフィルタポリシ及び検知ポリシの少なくとも一方を取得し、
    前記取得した少なくとも一方を前記検知装置に送信し、
    前記検知装置は、前記管理装置から受信した少なくとも一方を保持する、検知システム。
  12. 第1制御装置と第2制御装置との間の不正通信を検知装置が検知する方法であって、
    前記方法は、
    前記検知装置が、
    前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
    前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
    前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
    前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
    前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
    前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
    前記第1制御装置から第1制御コマンドを受信し、
    前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
    当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
    前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
    前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、方法。
JP2015203386A 2015-10-15 2015-10-15 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法 Active JP6507075B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015203386A JP6507075B2 (ja) 2015-10-15 2015-10-15 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015203386A JP6507075B2 (ja) 2015-10-15 2015-10-15 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法

Publications (2)

Publication Number Publication Date
JP2017076884A true JP2017076884A (ja) 2017-04-20
JP6507075B2 JP6507075B2 (ja) 2019-04-24

Family

ID=58549594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015203386A Active JP6507075B2 (ja) 2015-10-15 2015-10-15 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法

Country Status (1)

Country Link
JP (1) JP6507075B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053412A (ja) * 2017-09-13 2019-04-04 株式会社日立製作所 情報収集装置、情報収集システム
WO2023223445A1 (ja) * 2022-05-18 2023-11-23 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133606A1 (en) * 2001-03-13 2002-09-19 Fujitsu Limited Filtering apparatus, filtering method and computer product
JP2006115007A (ja) * 2004-10-12 2006-04-27 Nippon Telegr & Teleph Corp <Ntt> 侵入検知処理装置、侵入検知処理方法および記録媒体
JP2013168763A (ja) * 2012-02-15 2013-08-29 Hitachi Ltd セキュリティ監視システムおよびセキュリティ監視方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133606A1 (en) * 2001-03-13 2002-09-19 Fujitsu Limited Filtering apparatus, filtering method and computer product
JP2006115007A (ja) * 2004-10-12 2006-04-27 Nippon Telegr & Teleph Corp <Ntt> 侵入検知処理装置、侵入検知処理方法および記録媒体
JP2013168763A (ja) * 2012-02-15 2013-08-29 Hitachi Ltd セキュリティ監視システムおよびセキュリティ監視方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
関原 優 MASARU SEKIHARA: "第一人者が解説する テクノロジー最前線", 日経SYSTEMS 第260号, JPN6019008021, 26 November 2014 (2014-11-26), JP, pages 62 - 67, ISSN: 0003991865 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053412A (ja) * 2017-09-13 2019-04-04 株式会社日立製作所 情報収集装置、情報収集システム
WO2023223445A1 (ja) * 2022-05-18 2023-11-23 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
JP7483174B2 (ja) 2022-05-18 2024-05-14 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム

Also Published As

Publication number Publication date
JP6507075B2 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
US11500788B2 (en) Logical address based authorization of operations with respect to a storage system
US11755751B2 (en) Modify access restrictions in response to a possible attack against data stored by a storage system
US11687418B2 (en) Automatic generation of recovery plans specific to individual storage elements
US20210397711A1 (en) Detection of Writing to a Non-header Portion of a File as an Indicator of a Possible Ransomware Attack Against a Storage System
JP5370897B2 (ja) リモート・ダイレクト・ストレージ・アクセス
US9432256B2 (en) Resource management method and resource management system
US10341294B2 (en) Unauthorized communication detection system and unauthorized communication detection method
JP5668982B2 (ja) ストレージシステム、アクセスパス状態更新方法およびアクセスパス状態更新プログラム
JP2010086050A5 (ja)
JP2008084266A (ja) 検疫システム、検疫方法、および検疫プログラム
TW201702921A (zh) 異常預測方法、系統及裝置
US12079502B2 (en) Storage element attribute-based determination of a data protection policy for use within a storage system
US20170344431A1 (en) Methods for proactive prediction of disk failure in a raid group and devices thereof
US10063425B1 (en) Event-based in-band host registration
JP6391891B2 (ja) 侵入検知装置、侵入検知方法及び侵入検知プログラム
JP2017090946A (ja) ログ情報採取システム、ログ情報採取プログラムおよびログ情報採取方法
WO2014147607A1 (en) Deploying data-path-related plugins
JP6507075B2 (ja) 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法
CN110598467A (zh) 一种内存数据块完整性检验方法
US10671495B2 (en) Disaster recovery rehearsal of a workload
US11436073B2 (en) Fault indications for storage system commands
JP6878369B2 (ja) ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム
JP2016081510A (ja) データアーカイブ装置および方法ならびに管理装置
JP2019022099A (ja) セキュリティポリシー情報管理システム、セキュリティポリシー情報管理方法、及びプログラム
CN117391214A (zh) 模型训练方法、装置及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190401

R150 Certificate of patent or registration of utility model

Ref document number: 6507075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150