JP6507075B2 - Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication - Google Patents
Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication Download PDFInfo
- Publication number
- JP6507075B2 JP6507075B2 JP2015203386A JP2015203386A JP6507075B2 JP 6507075 B2 JP6507075 B2 JP 6507075B2 JP 2015203386 A JP2015203386 A JP 2015203386A JP 2015203386 A JP2015203386 A JP 2015203386A JP 6507075 B2 JP6507075 B2 JP 6507075B2
- 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.)
- Expired - Fee Related
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法に関する。 The present invention relates to an unauthorized communication detection device, an unauthorized communication detection system, and a method for detecting unauthorized communication.
電力、鉄道、水道、ガス等の社会インフラ、及び自動車で利用される制御システムは、センサの情報に基づいてバルブやアクチュエータ等の装置を動作させ、予め設定されている圧力や温度を保つことが要求される。当該動作を実現するために、制御システムに含まれる制御装置等の組込み装置は、定期的にセンサからの情報を取得することで装置の状態を確認し、他の制御装置やサーバ等に装置の状態を通知し、必要に応じて制御を行うことが必要となる。このため、制御システムは、周期的に大量の通信を行い、その通信データに基づく処理を行うことが通例である。 Social infrastructure such as electric power, railways, water supply and gas, and control systems used in automobiles operate devices such as valves and actuators based on sensor information to maintain preset pressure and temperature. Required In order to realize the operation, the embedded device such as the control device included in the control system periodically confirms the state of the device by acquiring information from the sensor, and the control device or server etc. It is necessary to notify the status and to control as needed. For this reason, it is usual that the control system periodically performs a large amount of communication and performs processing based on the communication data.
制御システムにはこれまで専用OSや専用プロトコルが利用され、インターネット等の外部ネットワークからアクセスできない領域に孤立した状態で設置されていたため、コンピュータウィルスやDoS攻撃等のサイバー攻撃と無縁であると考えられてきた。しかし、コスト削減のために、制御システムに汎用OSや汎用プロトコルが利用されるケース、及び処理効率向上のために制御システムと情報システムとが接続されるケースが増加している。そのため、制御システムがサイバー攻撃を受ける可能性が高まっている。 The control system used to be dedicated OS or proprietary protocol, and was installed in isolated area in the area that can not be accessed from the external network such as the Internet, so it is considered to be unrelated to cyber attack such as computer virus and DoS attack. It has However, in order to reduce costs, cases where a general-purpose OS or general-purpose protocol is used for a control system and cases where a control system and an information system are connected for improving processing efficiency are increasing. Therefore, the control system is more likely to be cyber attacked.
さらに、近年、制御システムをターゲットとしたコンピュータウィルスが発見されており、制御システムにおいても情報システムと同様にマルウェア等の感染や外部からの不正アクセスを検知する技術が求められている。 Furthermore, in recent years, computer viruses targeting a control system have been discovered, and a control system is also required to have a technology for detecting infection such as malware and unauthorized access from the outside as in an information system.
本技術分野の背景技術として、特開2006−115007号公報(特許文献1)がある。この公報には、「監視対象ネットワークと外部ネットワークとの通信が不正な通信であることを検知するために参照するシグネチャルールを、複数ブロックに分割するシグネチャルール分割手段と、分割された複数ブロックのシグネチャルールのそれぞれを、複数の侵入検知処理装置のそれぞれに対応させ、複数の侵入検知処理装置のそれぞれが、対応するブロックのシグネチャルールを検出する処理を実行する検出処理実行手段とを有することを特徴とする侵入検知処理装置である。」と記載されている(要約参照)。 DESCRIPTION OF RELATED ART As background art of this technical field, there exists Unexamined-Japanese-Patent No. 2006-115007 (patent document 1). In this publication, “signature rule division means for dividing a signature rule to be referred to in order to detect that the communication between the monitoring target network and the external network is an illegal communication is divided into a plurality of blocks; Each of the plurality of intrusion detection processing devices has detection processing execution means for executing processing for detecting the signature rule of the corresponding block, with each of the signature rules corresponding to each of the plurality of intrusion detection processing devices. This is an intrusion detection and processing apparatus characterized by the above.
制御システムに含まれる組込み装置のリソース(例えば、処理性能、記憶容量、及び帯域等)には制約がある。低リソースの検知装置が、制御システム内で送受信される大量の通信パケットを検証し、不正通信を検知することは困難である。また、特許文献1に記載の技術において、検知性能を向上させるために複数の検知装置が制御システム内に設置されている。しかし、制御システムでは、制御盤という限られたスペース内に制御業務に必要となる機器が設置される必要があり、特許文献1に記載の技術のように、複数の検知装置を設置することは困難である。そこで、本発明の一態様は、リソース及び設置スペースに制約がある検知装置を用いて、制御システム内の重要業務に関する不正な通信を高速かつ高精度に検知する。 There are restrictions on the embedded device resources (eg, processing performance, storage capacity, bandwidth, etc.) included in the control system. It is difficult for low resource detection devices to verify a large number of communication packets sent and received within the control system to detect unauthorized communication. Further, in the technology described in Patent Document 1, a plurality of detection devices are installed in a control system in order to improve detection performance. However, in the control system, equipment required for control work needs to be installed in a limited space called a control panel, and it is necessary to install a plurality of detection devices as in the technology described in Patent Document 1 Have difficulty. Therefore, according to one aspect of the present invention, a detecting device with limited resources and installation space is used to detect unauthorized communication regarding important work in a control system at high speed and with high accuracy.
上記課題を解決するため、本発明の一態様は、以下の構成を採用する。第1制御装置と第2制御装置との間の不正通信を検知する、検知装置であって、プロセッサと、記憶装置と、を含み、前記プロセッサは、前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、前記フィルタポリシと、前記検知ポリシと、を前記記憶装置に格納し、前記第1制御装置から第1制御コマンドを受信し、前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知装置。 In order to solve the above-mentioned subject, one mode of the present invention adopts the following composition. A detection device for detecting unauthorized communication between a first control device and a second control device, comprising: a processor and a storage device, wherein the processor controls the first control device to execute the second control device. Monitoring a plurality of control commands for controlling the operation of the second control device, and responses to the plurality of control commands that the second control device transmits to the first control device; A response time indicating a difference between a reception time of each of a plurality of control commands and a reception time of a response corresponding to each of the plurality of control commands is calculated, and the plurality of control commands are calculated based on each of the calculated response times. Are classified into a control command group including one or more control commands, and one or more control commands selected from the control command group based on each of the calculated response times. Each of the task groups is determined to be an important task, and for each of the important tasks, a filter policy indicating the correspondence between the important task and the header information of the control command selected from the control command belonging to the important task is generated. Acquiring a detection policy indicating correspondence between the important work and the data pattern of the payload, storing the filter policy and the detection policy in the storage device, and performing a first control command from the first control device If there is a filter policy that includes the first header information of the first control command, the first detection policy including the important business indicated by the filter policy is obtained, and the payload of the first control command is Based on the comparison result with the data pattern indicated by the first detection policy, it is determined whether or not the first control command is an invalid command. And, when the first control command is determined to be invalid command, and generates an alert including information of the first control command, detecting device.
本発明の一態様によれば、リソース及び設置スペースに制約がある検知装置を用いて、制御システム内の重要業務に関する不正な通信を高速かつ高精度に検知する。 According to one aspect of the present invention, a detection device with limited resources and installation space is used to quickly and accurately detect unauthorized communication regarding important work in a control system.
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the present embodiment is merely an example for realizing the present invention, and does not limit the technical scope of the present invention.
本実施例は、制御システム向け不正通信検知システムを説明する。制御システム向け不正通信検知システムに含まれる検知装置は、制御装置間で送受信される制御コマンドを収集する。検知装置は、各制御コマンドの応答時間や送受信サイズに基づいて、収集した制御コマンドを1以上の制御コマンド群に分類する。検知装置は、各制御コマンドの応答時間や送受信サイズに基づいて、1以上の制御コマンド群から、システムに対して与える影響が大きい重要業務の制御コマンド群を特定する。検知装置は、その通信パケット群の中で通信パケット毎に変更される領域のみに絞り込むフィルタポリシを生成する。 The present embodiment describes an unauthorized communication detection system for a control system. The detection device included in the unauthorized communication detection system for the control system collects control commands transmitted and received between the control devices. The detection device classifies the collected control commands into one or more control command groups based on the response time and transmission / reception size of each control command. The detection apparatus identifies, based on the response time of each control command and the transmission / reception size, a control command group of an important task having a large influence on the system from one or more control command groups. The detection device generates a filter policy that narrows down to only the area changed for each communication packet in the communication packet group.
検知装置は、検知処理において、受信した制御コマンドが重要業務の制御コマンドである場合に、当該制御コマンドのペイロードを参照して、受信した制御コマンドが不正な通信であるか否かを判定する。検知装置は、受信した制御コマンドが不正な通信であると判定した場合、受信制御コマンドの情報を含むアラートを生成する。 In the detection processing, when the received control command is a control command of an important task in the detection process, the detection device refers to the payload of the control command to determine whether the received control command is an unauthorized communication. If the detection device determines that the received control command is an incorrect communication, it generates an alert including information on the reception control command.
図1は、本実施例の制御システム向け不正通信検知システムの構成例を示す。本実施形態の制御システム向け不正通信検知システム100は、例えば、複数の制御装置10−1〜10−n、ネットワーク装置20、検知装置30、管理装置40、及びネットワーク50を含む。以下、制御装置10−1〜10−nを特に区別しない場合、制御装置10と表記する。同様に、制御装置10−1〜10−nそれぞれに含まれる各部についても、当該各部を特に区別しない場合、ハイフン以下を省略して表記する。 FIG. 1 shows a configuration example of an unauthorized communication detection system for a control system of the present embodiment. The unauthorized communication detection system 100 for a control system of the present embodiment includes, for example, a plurality of control devices 10-1 to 10-n, a network device 20, a detection device 30, a management device 40, and a network 50. Hereinafter, the control devices 10-1 to 10-n will be referred to as the control device 10 when not particularly distinguished. Similarly, regarding each part included in each of the control devices 10-1 to 10-n, the hyphen and the following are omitted and described unless otherwise specified.
図1は、制御システム向け不正通信検知システム100に2つの制御装置10が含まれる例を示しているが、制御システム向け不正通信検知システム100に含まれる制御装置10の数は問わない。 Although FIG. 1 shows an example in which two control devices 10 are included in the control system-directed unauthorized communication detection system 100, the number of control devices 10 included in the control system-directed unauthorized communication detection system 100 is not limited.
制御装置10は、制御処理を行うプログラムである制御処理部101と、後述する通信装置によって実現され、ネットワーク50やネットワーク装置20等と通信を行う通信部102と、を含む。 The control device 10 includes a control processing unit 101 that is a program that performs control processing, and a communication unit 102 that is realized by a communication device described later and that communicates with the network 50, the network device 20, and the like.
ネットワーク装置20は、ネットワーク装置20に入力された通信パケットを複製するプログラムであるパケット複製部201と、ネットワーク50と通信を行う第一通信部202と、検知装置30と通信を行う第二通信部203と、制御装置10−nと通信を行う第三通信部204と、を含む。なお、ネットワーク装置20は、4つ以上の通信部を含んでもよい。各通信部は、例えば、後述する通信装置によって実現される。 The network device 20 is a program for copying a communication packet input to the network device 20. The packet copying unit 201 is a program for copying a communication packet. The first communication unit 202 for communicating with the network 50 203 and a third communication unit 204 that communicates with the control device 10-n. The network device 20 may include four or more communication units. Each communication unit is realized by, for example, a communication device described later.
検知装置30は、通信部301、並びにそれぞれプログラムである、通信パケット取得部302、業務分類部303、重要業務判定部304、差分抽出部305、フィルタポリシ生成部306、フィルタリング処理部307、検知部308、アラート生成部309、動作モード管理部318、基準用データ生成部319、分類用データ生成部320、フィルタポリシ更新部321、及び検知ポリシ更新部322を含む。 The detection device 30 includes a communication unit 301 and a communication packet acquisition unit 302, an operation classification unit 303, an important work determination unit 304, a difference extraction unit 305, a filter policy generation unit 306, a filtering processing unit 307, and a detection unit which are programs. An alert generation unit 309 includes an operation mode management unit 318, a reference data generation unit 319, a classification data generation unit 320, a filter policy update unit 321, and a detection policy update unit 322.
また、検知装置30は、それぞれデータを格納する領域である、通信パケット格納部310、基準用データ格納部311、分類用データ格納部312、判定閾値格納部313、業務分類データ格納部314、フィルタポリシ格納部315、検知ポリシ格納部316、及びアラート格納部317を含む。 The detection device 30 is an area for storing data. The communication packet storage unit 310, the reference data storage unit 311, the classification data storage unit 312, the determination threshold storage unit 313, the task classification data storage unit 314, and the filter. A policy storage unit 315, a detection policy storage unit 316, and an alert storage unit 317 are included.
通信部301は、後述する通信装置によって実現され、ネットワーク装置20と通信を行う。通信パケット取得部302は、通信部301に入力された通信パケットの情報を取得する。業務分類部303は、通信パケット取得部302が取得した通信パケットを業務毎に分類する。分類用データ生成部320は、業務分類部303が通信パケットを分類する指標を示す分類用データを生成する。 The communication unit 301 is realized by a communication device described later, and communicates with the network device 20. The communication packet acquisition unit 302 acquires information of the communication packet input to the communication unit 301. The task classification unit 303 classifies the communication packet acquired by the communication packet acquisition unit 302 for each task. The classification data generation unit 320 generates classification data indicating an index for classifying the communication packet by the task classification unit 303.
重要業務判定部304は、業務分類部303が分類した業務から、制御装置10の動作に影響を及ぼす重要業務を決定する。基準用データ生成部319は、重要業務判定部304が重要業務を決定する基準を示す基準用データを生成する。 The important work determination unit 304 determines the important work that affects the operation of the control device 10 from the work classified by the work classification unit 303. The reference data generation unit 319 generates reference data indicating a reference for determining the important work by the important work determination unit 304.
差分抽出部305は、重要業務のパケット内のデータの差分領域を抽出する。差分領域の詳細については後述する。フィルタポリシ生成部306は、重要業務のパケットを特定するフィルタポリシを生成する。フィルタリング処理部307は、フィルタポリシ生成部306が生成したフィルタポリシに従って、入力されたパケットをフィルタする。検知部308は、後述する検知ポリシに従って、フィルタを通過したパケットやデータの正当性を検証する。 The difference extraction unit 305 extracts a difference area of data in the packet of the important task. Details of the difference area will be described later. The filter policy generation unit 306 generates a filter policy that specifies a packet of an important job. The filtering processing unit 307 filters the input packet in accordance with the filter policy generated by the filter policy generation unit 306. The detection unit 308 verifies the legitimacy of the packet or data that has passed the filter according to a detection policy described later.
アラート生成部309は、検知部308が不正なパケットやデータの存在を検知した場合にアラートを生成する。動作モード管理部318は、検知装置30の動作モードを管理する。検知装置30は、設定中の動作モードに規定された処理を実行することができる。動作モードの具体例については後述する。検知装置30は、動作モード管理部318が動管理する動作モードに従って動作することにより、例えば、ユーザが意図しない検知装置30の動作を防ぐことができ、ひいては不正な処理の実行を防ぐことができる。 The alert generation unit 309 generates an alert when the detection unit 308 detects the presence of an invalid packet or data. The operation mode management unit 318 manages the operation mode of the detection device 30. The detection device 30 can execute the processing defined in the setting operation mode. A specific example of the operation mode will be described later. The detection device 30 operates according to the operation mode managed by the operation mode management unit 318, so that, for example, the operation of the detection device 30 not intended by the user can be prevented, and thus the execution of unauthorized processing can be prevented. .
フィルタポリシ更新部321は、管理装置40からの指示に従って、フィルタポリシを更新する。検知ポリシ更新部322は、管理装置40からの指示に従って、検知ポリシを更新する。 The filter policy update unit 321 updates the filter policy in accordance with the instruction from the management device 40. The detection policy update unit 322 updates the detection policy according to the instruction from the management device 40.
通信パケット格納部310は、通信パケット取得部302が取得した通信パケットを格納する。基準用データ格納部311は、基準用データ生成部319が生成した基準用データを格納する。分類用データ格納部312は、分類用データ生成部320が生成した分類用データを格納する。判定閾値格納部313は、業務分類部303が業務を分類する際に利用する閾値を格納する。業務分類データ格納部314は、通信パケットが属する業務情報を示す業務分類データを格納する。 The communication packet storage unit 310 stores the communication packet acquired by the communication packet acquisition unit 302. The reference data storage unit 311 stores the reference data generated by the reference data generation unit 319. The classification data storage unit 312 stores classification data generated by the classification data generation unit 320. The determination threshold storage unit 313 stores a threshold used when the task classification unit 303 classifies tasks. The task classification data storage unit 314 stores task classification data indicating task information to which the communication packet belongs.
フィルタポリシ格納部315は、フィルタポリシ生成部306が生成したフィルタポリシを格納する。検知ポリシ格納部316は、検知部308が不正なパケットやデータの存在を検知する際に利用する検知ポリシを格納する。アラート格納部317は、アラート生成部309が生成したアラートを格納する。 The filter policy storage unit 315 stores the filter policy generated by the filter policy generation unit 306. The detection policy storage unit 316 stores a detection policy that is used when the detection unit 308 detects the presence of an invalid packet or data. The alert storage unit 317 stores the alert generated by the alert generation unit 309.
管理装置40は、通信部406、並びにそれぞれプログラムである、基準パケット生成部、フィルタポリシ生成部402、検知ポリシ生成部403、フィルタポリシ収集部404、及び検知ポリシ収集部405を含む。また、管理装置40は、それぞれデータを格納する領域である、フィルタポリシ格納部407、及び検知ポリシ格納部408を含む。 The management device 40 includes a communication unit 406 and a reference packet generation unit, a filter policy generation unit 402, a detection policy generation unit 403, a filter policy collection unit 404, and a detection policy collection unit 405, which are programs. Further, the management device 40 includes a filter policy storage unit 407 and a detection policy storage unit 408, which are areas for storing data, respectively.
通信部406は、例えば、後述する通信装置によって実現され、ネットワーク50と通信を行う。基準パケット生成部401は、基準用データ生成部319が基準用データを生成する際に利用する基準パケットを生成する。フィルタポリシ生成部402は、フィルタポリシ格納部315及びフィルタポリシ格納部407に格納するフィルタポリシを生成する。検知ポリシ生成部403は、検知ポリシ格納部316及び検知ポリシ格納部408に格納する検知ポリシを生成する。 The communication unit 406 is realized by, for example, a communication device described later, and communicates with the network 50. The reference packet generation unit 401 generates a reference packet used when the reference data generation unit 319 generates reference data. The filter policy generation unit 402 generates a filter policy stored in the filter policy storage unit 315 and the filter policy storage unit 407. The detection policy generation unit 403 generates a detection policy stored in the detection policy storage unit 316 and the detection policy storage unit 408.
フィルタポリシ収集部404は、フィルタポリシ格納部315に格納されているフィルタポリシを収集する。検知ポリシ収集部405は、検知ポリシ格納部316に格納されている検知ポリシを収集する。フィルタポリシ格納部407は、フィルタポリシ生成部402が生成した、又はフィルタポリシ収集部404が収集したフィルタポリシを格納する。検知ポリシ格納部408は、検知ポリシ生成部403が生成した、又は検知ポリシ収集部405が収集した検知ポリシを格納する。 The filter policy collection unit 404 collects the filter policies stored in the filter policy storage unit 315. The detection policy collection unit 405 collects the detection policy stored in the detection policy storage unit 316. The filter policy storage unit 407 stores the filter policy generated by the filter policy generation unit 402 or collected by the filter policy collection unit 404. The detection policy storage unit 408 stores the detection policy generated by the detection policy generation unit 403 or collected by the detection policy collection unit 405.
図2は、制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40のハードウェア構成例を示す。制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40は、例えば、バスなどの内部通信線16で連結された、通信装置11、入出力装置12、補助記憶装置13、CPU14、及びメモリ15を含む計算機17上に構成される。 FIG. 2 illustrates an exemplary hardware configuration of the control devices 10-1 to 10-n, the network device 20, the detection device 30, and the management device 40. The control devices 10-1 to 10-n, the network device 20, the detection device 30, and the management device 40 are, for example, a communication device 11, an input / output device 12, and an auxiliary storage device connected by an internal communication line 16 such as a bus. 13 is configured on a computer 17 including a CPU 14 and a memory 15.
CPU14は、メモリ15に格納されたプログラムに従って動作するプロセッサ及び/又は論理回路を含む。メモリ15は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU14が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。 The CPU 14 includes a processor and / or logic circuit that operates in accordance with a program stored in the memory 15. The memory 15 includes a ROM, which is a non-volatile storage element, and a RAM, which is a volatile storage element. The ROM stores an immutable program (for example, BIOS). The RAM is a high-speed and volatile storage element such as a dynamic random access memory (DRAM), and temporarily stores a program executed by the CPU 14 and data used when the program is executed.
補助記憶装置13は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU14が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置13から読み出されて、メモリ15にロードされて、CPU14によって実行される。 The auxiliary storage device 13 is, for example, a large-capacity and non-volatile storage device such as a magnetic storage device (HDD) or a flash memory (SSD), and stores a program executed by the CPU 14 and data used when executing the program. . That is, the program is read from the auxiliary storage device 13, loaded into the memory 15, and executed by the CPU 14.
計算機17は、入出力インターフェースを有してもよい。入出力インターフェースは、入出力装置12が接続され、オペレータからの入力を受け、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。入出力装置12は、例えば、キーボードやマウスの等の入力装置、及びディスプレイ装置やプリンタ等の出力装置を含む。 The computer 17 may have an input / output interface. The input / output interface is an interface to which the input / output device 12 is connected, which receives an input from the operator, and which outputs the execution result of the program in a form that can be viewed by the operator. The input / output device 12 includes, for example, input devices such as a keyboard and a mouse, and output devices such as a display device and a printer.
通信装置11は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置11は、例えば、USB等のシリアルインターフェースを含む。なお、計算機17は、複数の通信装置11を含んでもよい。例えば、ネットワーク装置20に含まれる各通信部は、それぞれ異なる通信装置11によって実現されてもよい。 The communication device 11 is a network interface device that controls communication with another device according to a predetermined protocol. The communication device 11 also includes, for example, a serial interface such as USB. The computer 17 may include a plurality of communication devices 11. For example, each communication unit included in the network device 20 may be realized by different communication devices 11.
CPU14が実行するプログラムは、例えば、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して計算機17に提供され、非一時的記憶媒体である不揮発性の補助記憶装置13に格納されてもよい。このため、計算機17は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。 The program executed by the CPU 14 may be provided to the computer 17 via, for example, removable media (CD-ROM, flash memory, etc.) or a network, and may be stored in the non-volatile auxiliary storage device 13 which is a non-temporary storage medium. Good. Therefore, the computer 17 may have an interface for reading data from removable media.
制御装置10−1〜10−n、ネットワーク装置20、検知装置30、及び管理装置40は、物理的に一つの計算機17上で、又は、論理的又は物理的に構成された複数の計算機17上で構成される計算機システムであり、同一の計算機17上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。 The control devices 10-1 to 10-n, the network device 20, the detection device 30, and the management device 40 are physically on one computer 17 or on a plurality of logically or physically configured computers 17. The computer system may be operated on separate threads on the same computer 17, or may be operated on virtual computers built on a plurality of physical computer resources.
プログラムはCPU14によって実行されることで、定められた処理を記憶装置及び通信ポートを用いながら行う。従って、本実施形態及び他の実施形態においてプログラムを主語とする説明は、CPU14を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機17及び計算機システムが行う処理である。 The program is executed by the CPU 14 to perform predetermined processing while using a storage device and a communication port. Therefore, in the present embodiment and the other embodiments, the description with the program as the subject may be the description with the CPU 14 as the subject. Alternatively, the process executed by the program is a process performed by the computer 17 and the computer system on which the program operates.
CPU14は、プログラムに従って動作することによって、所定の機能を実現する機能部(手段)として動作する。例えば、CPU14は、通信パケット取得部302に従って動作することで通信パケット取得部(通信パケット取得手段)として機能し、業務分類部303に従って動作することで業務分類部(業務分類手段)として機能する。他のプログラムについても同様である。さらに、CPU14は、各プログラムが実行する複数の処理のそれぞれを実現する機能部(手段)としても動作する。計算機17及び計算機システムは、これらの機能部(手段)を含む装置及びシステムである。 The CPU 14 operates as a functional unit (means) that realizes a predetermined function by operating according to a program. For example, the CPU 14 operates in accordance with the communication packet acquisition unit 302 to function as a communication packet acquisition unit (communication packet acquisition unit), and operates in accordance with the operation classification unit 303 to function as a operation classification unit (operation classification unit). The same is true for other programs. Furthermore, the CPU 14 also operates as a functional unit (means) that implements each of a plurality of processes executed by each program. The computer 17 and the computer system are devices and systems including these functional units (means).
図3は、基準用データ生成処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを初期モードに設定する(S501)。初期モードは、基準用データの生成処理を実行するためのモードである。動作モード管理部318が動作モードを初期モードに設定できない、又は後述するステップS502以降の処理が初期モードに設定されないまま実行されようとする場合は、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。 FIG. 3 shows an example of the reference data generation process. First, the operation mode management unit 318 sets the operation mode to the initial mode, for example, in accordance with an instruction from the user via the input / output device 12 (S501). The initial mode is a mode for executing generation processing of reference data. If the operation mode management unit 318 can not set the operation mode to the initial mode, or if processing after step S502 described later is to be executed without being set to the initial mode, the unauthorized communication detection system 100 for the control system performs the subsequent processing. You may cancel
次に、基準パケット生成部401は、基準パケットを生成する(S502)。基準パケット生成部401は、例えば、入出力装置12を介したユーザからの基準パケット生成指示を受け付けたこと、又は動作モードが初期モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして基準パケットの生成を開始する。 Next, the reference packet generation unit 401 generates a reference packet (S502). For example, the reference packet generation unit 401 receives, from the operation mode management unit 318, a notification that a reference packet generation instruction has been received from the user via the input / output device 12, or that the operation mode has been changed to the initial mode. Start generation of reference packet triggered by
次に、通信部406は、基準パケット生成部401が生成した基準パケットを、制御装置10−nに送信する(S503)。ここで基準パケットとは、制御コマンドが示す業務が重要業務であるか否かを判定する基準を示すパケットである。例えば、Ping等のネットワークレベルで送受信されるパケット(即ちネットワーク層より上位の層における処理を実施しないパケット)、及びユーザアプリケーションにおいて、アプリケーションのデータ参照のみを行い、書き込みや内部処理を行わないようなパケット、は基準パケットの一例である。また、基準パケット生成部401は、特性(例えば、パケットのデータ量、及びパケットが示す制御処理等)の異なる複数の基準パケットを送信してもよい。 Next, the communication unit 406 transmits the reference packet generated by the reference packet generation unit 401 to the control device 10-n (S503). Here, the reference packet is a packet indicating a reference for determining whether the task indicated by the control command is an important task. For example, packets transmitted / received at the network level such as Ping (that is, packets which do not carry out processing in a layer higher than the network layer) and user applications only refer to application data and do not write or perform internal processing. A packet is an example of a reference packet. Further, the reference packet generation unit 401 may transmit a plurality of reference packets having different characteristics (for example, the data amount of the packet, the control processing indicated by the packet, and the like).
次に、ネットワーク装置20のパケット複製部201は、管理装置40から受信した基準パケットを複製する(S504)。次に、第二通信部203はパケット複製部201が複製した基準パケットを検知装置30に送信し(S505)、第三通信部204はパケット複製部201が複製した基準パケットを制御装置10−nに送信する(S506)。 Next, the packet duplication unit 201 of the network device 20 duplicates the reference packet received from the management device 40 (S504). Next, the second communication unit 203 transmits the reference packet copied by the packet copying unit 201 to the detection device 30 (S505), and the third communication unit 204 controls the reference packet copied by the packet copying unit 201 as the control device 10-n. (S506).
次に、通信パケット取得部302は、当該複製した基準パケットを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S508)。次に、通信パケット取得部302は、通信部301が受信した基準パケットのサイズを取得する(S509)。次に、通信パケット取得部302は、受信した基準パケットの情報を示す通信パケットを通信パケット格納部310に格納する(S510)。 Next, the communication packet acquisition unit 302 acquires the reception time at which the communication unit 301 receives the copied reference packet from the network device 20 from, for example, the OS of the detection device 30 (S508). Next, the communication packet acquisition unit 302 acquires the size of the reference packet received by the communication unit 301 (S509). Next, the communication packet acquisition unit 302 stores the communication packet indicating the information of the received reference packet in the communication packet storage unit 310 (S510).
ここで、通信パケット格納部310に格納される通信パケットの構成例を説明する。図4は、通信パケット格納部310に格納される通信パケットの構成例を示す。通信パケット1101は、例えば、検知装置30が当該通信パケットに対応する基準パケットを受信した時刻を示す受信時刻1102と、当該通信パケットに対応する基準パケットのサイズ1103と、当該通信パケットに対応する基準パケットのバイナリデータを示すパケットデータ1104と、を含む。なお、通信パケット1101の構成要素の順序は図4の例に限定されるものではない。 Here, a configuration example of the communication packet stored in the communication packet storage unit 310 will be described. FIG. 4 shows a configuration example of a communication packet stored in the communication packet storage unit 310. The communication packet 1101 has, for example, a reception time 1102 indicating a time when the detection device 30 receives a reference packet corresponding to the communication packet, a size 1103 of a reference packet corresponding to the communication packet, and a reference corresponding to the communication packet And packet data 1104 indicating binary data of the packet. The order of components of the communication packet 1101 is not limited to the example of FIG.
図3の説明に戻る。一方、制御処理部101−nは、ネットワーク装置20から受信した基準パケットを処理する(S507)。次に、制御処理部101−nは、基準パケットの処理結果を示すレスポンスを生成し、通信部102−nは制御処理部101−nが生成したレスポンスを管理装置40に送信する(S511)。 It returns to the explanation of FIG. On the other hand, the control processing unit 101-n processes the reference packet received from the network device 20 (S507). Next, the control processing unit 101-n generates a response indicating the processing result of the reference packet, and the communication unit 102-n transmits the response generated by the control processing unit 101-n to the management device 40 (S511).
次に、ネットワーク装置20のパケット複製部201は、受信したレスポンスを複製する(S512)。次に、第二通信部203はパケット複製部201が複製したレスポンスを検知装置30に送信し(S513)、第三通信部204はパケット複製部201が複製したレスポンスを管理装置40に送信する(S514)。 Next, the packet replication unit 201 of the network device 20 replicates the received response (S512). Next, the second communication unit 203 transmits the response copied by the packet copying unit 201 to the detection device 30 (S513), and the third communication unit 204 transmits the response copied by the packet copying unit 201 to the management device 40 ( S514).
次に、通信パケット取得部302は、通信部301がネットワーク装置20から当該複製したレスポンスを受信した受信時刻を、例えば検知装置30のOS等から取得する(S515)。次に、通信パケット取得部302は、通信部301が受信した当該複製したレスポンスのサイズを取得する(S516)。次に、通信パケット取得部302は、受信したレスポンスの情報を示す通信パケットを通信パケット格納部310に格納する(S517)。レスポンスの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。 Next, the communication packet acquisition unit 302 acquires the reception time at which the communication unit 301 received the copied response from the network device 20, for example, from the OS of the detection device 30 (S515). Next, the communication packet acquisition unit 302 acquires the size of the copied response received by the communication unit 301 (S516). Next, the communication packet acquisition unit 302 stores the communication packet indicating the information of the received response in the communication packet storage unit 310 (S517). The configuration of the communication packet indicating the information of the response is the same as the configuration of the communication packet illustrated in FIG.
次に、基準用データ生成部319は、ステップS510で格納された基準パケットの通信パケットの情報と、ステップS517で格納されたレスポンスの通信パケットの情報と、を用いて基準用データを生成する(S518)。 Next, the reference data generation unit 319 generates reference data using the information of the communication packet of the reference packet stored in step S510 and the information of the communication packet of the response stored in step S517 (see below). S518).
ここで基準用データの構成例を説明する。図5は、基準用データの構成例を示す。基準用データ1201は、例えば、基準パケットを検知装置30が受信した時刻を示すコマンド受信時刻1202と、基準コマンドに対するレスポンスを検知装置30が受信した時刻を示すレスポンス受信時刻1203と、コマンド受信時刻1202とレスポンス受信時刻1203との差分を示す応答時間1204と、基準パケットのサイズ1205と、レスポンスパケットのサイズ1206と、コマンドパケットのサイズとレスポンスパケットのサイズとの和を示す送受信サイズ1207と、基準パケットのバイナリデータを示すパケットデータ1208と、を含む。なお、基準用データ1201の構成要素の順序は図5の例に限定されるものではない。 Here, a configuration example of reference data will be described. FIG. 5 shows a configuration example of reference data. The reference data 1201 includes, for example, a command reception time 1202 indicating the time when the detection device 30 receives the reference packet, a response reception time 1203 indicating the time when the detection device 30 receives a response to the reference command, and a command reception time 1202 Response time 1204 indicating the difference between the time and the response reception time 1203, the size 1205 of the reference packet, the size 1206 of the response packet, the transmission / reception size 1207 indicating the sum of the size of the command packet and the size of the response packet, and the reference packet And packet data 1208 indicating binary data. The order of the components of the reference data 1201 is not limited to the example shown in FIG.
図3の説明に戻る。次に、基準用データ生成部319は、生成した基準用データを基準用データ格納部311に格納する(S519)。なお、図3の例では検知装置30が基準用データを生成する処理を例示したが、検知装置30以外の装置が基準用データを生成してもよい。また、図3の処理によらず生成された基準用データが基準用データ格納部311に予め直接格納されていてもよい。 It returns to the explanation of FIG. Next, the reference data generation unit 319 stores the generated reference data in the reference data storage unit 311 (S519). In the example of FIG. 3, the processing in which the detection device 30 generates reference data is illustrated, but a device other than the detection device 30 may generate reference data. Further, the reference data generated regardless of the process of FIG. 3 may be directly stored in the reference data storage unit 311 in advance.
図6は、制御装置10−1と制御装置10−nの間で試運転時等に行われる制御業務の通信パケットに基づく、分類用データ生成処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを収集モードに設定する(S601)。収集モードは、制御業務の通信パケットを収集し、分類用データを生成するためのモードである。ここで、動作モード管理部318が動作モードを収集モードに設定できない、又は後述するステップS602以降の処理が収集モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。 FIG. 6 shows an example of classification data generation processing based on a communication packet of control work performed at the time of trial operation etc. between the control device 10-1 and the control device 10-n. First, the operation mode management unit 318 sets the operation mode to the collection mode in accordance with, for example, an instruction from the user via the input / output device 12 (S601). The collection mode is a mode for collecting communication packets of control work and generating classification data. Here, if the operation mode management unit 318 can not set the operation mode to the collection mode, or if processing after step S602 to be described later is to be executed without being set to the collection mode, the unauthorized communication detection system 100 for a control system. May cancel the subsequent processing.
次に、制御処理部101−1は制御コマンドを生成する(S602)。制御コマンドは、例えば、制御装置10の動作の制御、及び制御装置10の状態の取得等を行うためのコマンドである。制御処理部101−1は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが収集モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして制御コマンドの生成を開始する。次に、通信部102−1は、制御処理部101−1が生成した制御コマンドを制御装置10−nに送信する(S603)。 Next, the control processing unit 101-1 generates a control command (S602). The control command is, for example, a command for performing control of the operation of the control device 10, acquisition of the state of the control device 10, and the like. The control processing unit 101-1 triggers, for example, that an instruction from the user via the input / output device 12 has been received, or that a notification that the operation mode has changed to the collection mode has been received from the operation mode management unit 318. Start generation of control command as Next, the communication unit 102-1 transmits the control command generated by the control processing unit 101-1 to the control device 10-n (S603).
次に、ネットワーク装置20のパケット複製部201は、第三通信部204が制御装置10−1から受信した制御コマンドを複製する(S604)。次に、第二通信部203はパケット複製部201が複製した制御コマンドを検知装置30に送信し(S605)、第三通信部204はパケット複製部201が複製した制御コマンドを制御装置10−nに送信する(S606)。 Next, the packet copying unit 201 of the network device 20 copies the control command received by the third communication unit 204 from the control device 10-1 (S604). Next, the second communication unit 203 transmits the control command copied by the packet copying unit 201 to the detection device 30 (S 605), and the third communication unit 204 controls the control command copied by the packet copying unit 201. (S606).
次に、通信パケット取得部302は、当該複製した制御コマンドを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S608)。次に、通信パケット取得部302は、受信した制御コマンドのサイズを取得する(S609)。次に、通信パケット取得部302は、受信した制御コマンドの情報を示す通信パケットを通信パケット格納部310に格納する(S610)。制御コマンドの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。 Next, the communication packet acquisition unit 302 acquires the reception time at which the communication unit 301 receives the copied control command from the network device 20, for example, from the OS of the detection device 30 (S608). Next, the communication packet acquisition unit 302 acquires the size of the received control command (S609). Next, the communication packet acquisition unit 302 stores the communication packet indicating the information of the received control command in the communication packet storage unit 310 (S610). The configuration of the communication packet indicating the information of the control command is the same as the configuration of the communication packet illustrated in FIG.
一方、制御処理部101−nは、ネットワーク装置20から受信した制御コマンドが示す制御業務を行う(S607)。次に、制御処理部101−nは制御業務の処理結果を示すレスポンスを生成し、通信部102−nは制御処理部101−nが生成したレスポンスを制御装置10−1に送信する(S611)。 On the other hand, the control processing unit 101-n performs the control task indicated by the control command received from the network device 20 (S607). Next, the control processing unit 101-n generates a response indicating the processing result of the control task, and the communication unit 102-n transmits the response generated by the control processing unit 101-n to the control device 10-1 (S611). .
次に、ネットワーク装置20のパケット複製部201は、第三通信部204が受信したレスポンスを複製する(S612)。次に、第二通信部203はパケット複製部201が複製したレスポンスを検知装置30に送信し(S613)、第一通信部202はパケット複製部201が複製したレスポンスを制御装置10−1に送信する(S614)。 Next, the packet copying unit 201 of the network device 20 copies the response received by the third communication unit 204 (S612). Next, the second communication unit 203 transmits the response copied by the packet copying unit 201 to the detecting device 30 (S613), and the first communication unit 202 transmits the response copied by the packet copying unit 201 to the control device 10-1. (S614).
次に、通信パケット取得部302は、当該複製したレスポンスを通信部301がネットワーク装置20から受信した受信時刻を、例えば検知装置30のOS等から取得する(S615)。次に、通信パケット取得部302は、通信部301が受信したレスポンスのパケットの送受信サイズを取得する(S616)。次に、通信パケット取得部302は、受信したレスポンスの情報を示す通信パケットを通信パケット格納部310に格納する(S617)。レスポンスの情報を示す通信パケットの構成は、図4に例示した通信パケットの構成と同様である。 Next, the communication packet acquisition unit 302 acquires the reception time at which the communication unit 301 receives the copied response from the network device 20 from, for example, the OS of the detection device 30 (S615). Next, the communication packet acquisition unit 302 acquires the transmission / reception size of the packet of the response received by the communication unit 301 (S616). Next, the communication packet acquisition unit 302 stores the communication packet indicating the information of the received response in the communication packet storage unit 310 (S617). The configuration of the communication packet indicating the information of the response is the same as the configuration of the communication packet illustrated in FIG.
次に、分類用データ生成部320は、S610で格納された制御コマンドの通信パケットの情報と、S617で格納されたレスポンスの通信パケットの情報と、を用いて分類用データを生成する(S618)。なお、分類用データの構成は、図5に示した基準用データの構成と同様である。具体的には、分類用データの構成は、図5の基準用データの構成の説明中の「基準パケット」を「制御コマンド」と読み替えることにより、説明される。 Next, the classification data generation unit 320 generates classification data using the information of the communication packet of the control command stored in S610 and the information of the communication packet of the response stored in S617 (S618) . The configuration of classification data is the same as the configuration of reference data shown in FIG. Specifically, the configuration of classification data is described by replacing the “reference packet” in the description of the configuration of the reference data in FIG. 5 with a “control command”.
次に、分類用データ生成部320は、生成した分類用データを分類用データ格納部312に格納する(S619)。図6の処理は、1つの制御コマンドに対して1つの分類用データが生成される処理を示す。本実施例においては、業務分類の対象とする複数のコマンドそれぞれに対して、ステップS602〜ステップS619の処理が実施される。 Next, the classification data generation unit 320 stores the generated classification data in the classification data storage unit 312 (S619). The process of FIG. 6 shows a process in which one classification data is generated for one control command. In the present embodiment, the processes of steps S602 to S619 are performed for each of a plurality of commands to be subjected to task classification.
図7は、基準用データや分類用データが生成された後に実行されるフィルタポリシ生成処理の一例を示す。はじめに、例えば入出力装置12を介したユーザからの指示に従って、フィルタポリシ生成処理が開始する(S701)。 FIG. 7 shows an example of filter policy generation processing executed after reference data and classification data are generated. First, in accordance with, for example, an instruction from the user via the input / output device 12, the filter policy generation process starts (S701).
具体的には、例えば、動作モード管理部318が当該指示に従って、動作モードをフィルタポリシ生成モードに設定することにより、フィルタポリシ生成処理が開始する。フィルタポリシ生成モードは、フィルタポリシを生成するためのモードである。ここで、動作モード管理部318が動作モードをフィルタポリシ生成モードに設定できない、又は後述するステップS702以降の処理がフィルタポリシ生成モードに設定されないまま実行されようとする場合には、検知装置30は以降の処理を中止してもよい。 Specifically, for example, when the operation mode management unit 318 sets the operation mode to the filter policy generation mode in accordance with the instruction, the filter policy generation process is started. The filter policy generation mode is a mode for generating a filter policy. Here, when the operation mode management unit 318 can not set the operation mode to the filter policy generation mode, or the processing after step S702 described later is to be executed without being set to the filter policy generation mode, the detection device 30 The subsequent processing may be canceled.
次に、業務分類部303は、分類用データ格納部312に格納されている分類用データを取得する(S702)。次に、業務分類部303は、取得した分類用データそれぞれに対して、当該分類用データの応答時間や送受信サイズに基づいて、分類用データに対応する制御コマンドが示す制御業務の重要度を示す分類指標を算出する(S703)。 Next, the task classification unit 303 acquires classification data stored in the classification data storage unit 312 (S702). Next, the task classification unit 303 indicates, for each of the acquired classification data, the importance of the control task indicated by the control command corresponding to the classification data, based on the response time and transmission / reception size of the classification data. A classification index is calculated (S703).
分類用データの応答時間を送受信サイズで割った値は当該分類用データの分類指標の一例である。また、分類用データの応答時間は当該分類用データの分類指標の一例である。また、応答時間の増加関数であり、かつ送受信サイズの減少関数である所定の関数に、分類用データの応答時間及び送受信サイズを代入した値は、当該分類用データの分類指標の一例である。 The value obtained by dividing the response time of the classification data by the transmission / reception size is an example of the classification index of the classification data. The response time of the classification data is an example of a classification index of the classification data. Further, a value obtained by substituting the response time of the classification data and the transmission / reception size into a predetermined function which is an increase function of the response time and a reduction function of the transmission / reception size is an example of the classification index of the classification data.
次に、業務分類部303は、生成した分類指標それぞれと、判定閾値格納部313に格納されている判定閾値と、を比較して、分類用データそれぞれに対して業務を識別する情報を示す業務IDを割り当てる。 Next, the task classification unit 303 compares each of the generated classification indicators with the determination threshold stored in the determination threshold storage unit 313, and indicates information for identifying the task for each classification data. Assign an ID.
なお、業務分類部303は、例えば、以下のようにして、各分類用データに業務IDを割り当てる。業務分類部303は、例えば、算出した分類指標を小さい順にソートする。業務分類部303は、最小の分類指標を含み、かつ長さが判定閾値である区間、に含まれる分類指標に対応する分類用データに第1の業務IDを割り当てる。さらに、業務分類部303は、業務IDが割り当てられていない分類用データの最小の分類指標を含み、かつ既に業務IDが割り当てられた分類用データの分類指標を含まない区間であって、長さが判定閾値である区間に、含まれる分類指標に対応する分類用データに第2の業務IDを割り当てる。業務分類部303は同様の処理を繰り返すことにより、全ての分類用データに業務IDを割り当てることができる。業務分類部303は、上述の処理により、高速かつ高精度に同一の業務に属する分類用データを特定することができる。 The task classification unit 303 assigns a task ID to each classification data, for example, as follows. The task classification unit 303, for example, sorts the calculated classification indices in ascending order. The task classification unit 303 assigns the first task ID to the classification data corresponding to the classification index included in the section including the smallest classification index and whose length is the determination threshold. Furthermore, the task classification unit 303 is a section that includes the minimum classification index of classification data to which no business ID is assigned, and does not include the classification index of classification data to which a business ID is already assigned, and has a length A second task ID is assigned to the classification data corresponding to the contained classification index in the section where the judgment threshold is the judgment threshold. The task classification unit 303 can assign task IDs to all classification data by repeating the same processing. The task classification unit 303 can specify the classification data belonging to the same task at high speed and with high accuracy by the above-described processing.
業務分類部303は、分類用データそれぞれに対応する業務分類データを生成し、生成した業務分類データを業務分類データ格納部314に格納する(S704)。ここで業務分類データの構成例を説明する。 The task classification unit 303 generates task classification data corresponding to each of the classification data, and stores the generated task classification data in the task classification data storage unit 314 (S704). Here, a configuration example of task classification data will be described.
図8は、業務分類データ格納部314に格納される業務分類データの構成例を示す。業務分類データ1301は、当該業務分類データに対応する分類用データの業務ID1302と、当該業務分類データに対応する分類用データの分類指標1303と、当該業務分類データに対応する分類用データのパケットデータを示すパケットデータ1304と、を含む。なお、業務分類データは、分類指標1303を含まなくてもよい。また、業務分類データ1301の構成要素の順序は上記に限定されるものではない。 FIG. 8 shows an example of the configuration of task classification data stored in the task classification data storage unit 314. The task classification data 1301 includes a task ID 1302 of classification data corresponding to the task classification data, a classification index 1303 of classification data corresponding to the task classification data, and packet data of classification data corresponding to the task classification data. And packet data 1304 indicating. The task classification data may not include the classification index 1303. Further, the order of the components of the task classification data 1301 is not limited to the above.
図7の説明に戻る。次に、重要業務判定部304は、基準用データ格納部311に格納されている基準用データの分類指標を用いて、生成した業務分類データの業務IDから重要業務の業務IDを決定し、決定した業務IDをフィルタポリシ格納部315に格納する(S705)。 It returns to the explanation of FIG. Next, the important work determination unit 304 determines the work ID of the important work from the work ID of the generated work classification data using the classification index of the reference data stored in the reference data storage unit 311, and makes a decision. The job ID thus stored is stored in the filter policy storage unit 315 (S705).
なお、重要業務判定部304は、例えば、以下のようにして、重要業務の業務IDを決定する。重要業務判定部304は、例えば、業務IDそれぞれに対して、当該業務IDを有する業務分類データから、1つ分類指標を選択する。なお、このとき、重要業務判定部304は、当該業務IDに対応する業務分類データから、最小の分類指標を選択するのが好ましい。重要業務判定部304は、基準用データの分類指標と、選択した分類指標それぞれと、を比較し、基準用データの分類指標より大きい分類指標を有する業務IDを重要業務の業務IDに決定する。 The important work determining unit 304 determines the work ID of the important work, for example, as follows. For example, for each task ID, the important task determining unit 304 selects one classification index from the task classification data having the task ID. At this time, it is preferable that the important work determination unit 304 select the minimum classification index from the work classification data corresponding to the work ID. The important work determination unit 304 compares the classification index of the reference data with each of the selected classification indices, and determines a work ID having a classification index larger than the classification index of the reference data as the work ID of the important work.
基準用データの分類指標は、基準パケットの応答時間に基づいて定められている。従って、例えば、基準パケットがネットワークレベルで送受信されるパケットである場合、重要業務判定部304が上述の処理を実行することにより、ネットワークレベルより上位のレベルの処理を実行する制御コマンドに対応する分類用データが重要業務に分類される可能性を高くすることができる。 The classification index of the reference data is determined based on the response time of the reference packet. Therefore, for example, when the reference packet is a packet transmitted / received at the network level, the important task determining unit 304 executes the above-described processing to classify the command corresponding to the control command for executing processing at a level higher than the network level. Data can be classified as important tasks.
また、例えば、基準パケットが、ユーザアプリケーションにおいて、アプリケーションのデータ参照のみを行い、書き込みや内部処理を行わないようなパケットである場合、重要業務判定部304が上述の処理を実行することにより、アプリケーションのデータ参照以外の処理を実行する制御コマンドに対応する分類用データが重要業務に分類される可能性を高くすることができる。 Also, for example, in the case where the reference packet is a packet in which the user application only refers to the data of the application and does not write or perform internal processing, the important work determining unit 304 executes the above-described processing to execute the application. It is possible to increase the possibility that the classification data corresponding to the control command that executes the processing other than the data reference of is classified as the important work.
また、重要業務判定部304は、所定の閾値と、選択した分類指標それぞれと、を比較し、当該所定の閾値より大きい分類指標を有する業務IDを重要業務の業務IDに決定してもよい。 In addition, the important work determining unit 304 may compare a predetermined threshold with each of the selected classification indicators, and determine a work ID having a classification index larger than the predetermined threshold as a work ID of the important work.
以下、重要業務の業務IDそれぞれに対してフィルタポリシが作成される処理の例を説明する。フィルタポリシ生成部306は、フィルタポリシが未作成の1つの重要業務の業務IDをフィルタポリシ格納部315から取得し、取得した業務IDに対応する全ての業務分類データのパケットデータ1304を、業務分類データ格納部314から取得する(S706)。 Hereinafter, an example of processing in which a filter policy is created for each task ID of important tasks will be described. The filter policy generation unit 306 acquires, from the filter policy storage unit 315, the task ID of one important task for which the filter policy has not been created, and classifies packet data 1304 of all task classification data corresponding to the acquired task ID into task categories. It is acquired from the data storage unit 314 (S706).
次に、差分抽出部305は、取得したパケットデータ内のペイロードそれぞれを比較し、ペイロード内においてデータが異なる領域を示す差分領域を特定する(S707)。具体的には、例えば、差分抽出部305は、取得したペイロードそれぞれの各ビットを比較し、全てのペイロードにおいて同一の値を有するビット以外のビットからなる領域を差分領域に決定する。差分抽出部305が差分領域を抽出することにより、後述するステップS1010の異常検知処理において、検知精度の低下を抑制しつつ、検知部308が異常検知のために参照する領域を減少させることができ、ひいては処理量を減少させることができる。なお、S707において、差分抽出部305はペイロードの全てのビットを差分領域としてもよい。 Next, the difference extraction unit 305 compares each of the payloads in the acquired packet data, and specifies a difference area indicating an area in which data differs in the payload (S 707). Specifically, for example, the difference extraction unit 305 compares each bit of each acquired payload, and determines an area including bits other than bits having the same value in all the payloads as a difference area. By extracting the difference area by the difference extraction unit 305, it is possible to reduce the area to be referred to by the detection unit 308 for abnormality detection while suppressing a decrease in detection accuracy in the abnormality detection process of step S1010 described later. Thus, the throughput can be reduced. In S707, the difference extraction unit 305 may set all bits of the payload as a difference area.
ここで、例えば、差分抽出部305が取得したパケットデータ内のそれぞれの各ビットビットを比較した際に、全てのパケットデータにおいて同一の値を有するビット数がペイロードの全ビット数の所定割合以下であると判定した場合、全てのパケットデータにおいて同一の値を有するビットからなる領域を、差分領域に代えて特定してもよい。 Here, for example, when each bit bit in the packet data acquired by the difference extraction unit 305 is compared, the number of bits having the same value in all packet data is equal to or less than a predetermined ratio of the total number of bits in the payload. If it is determined that there is an area, an area consisting of bits having the same value in all packet data may be specified instead of the difference area.
次に、フィルタポリシ生成部306は、ステップS706で取得した業務ID及びパケットデータ1304と、差分抽出部305が決定した差分領域と、に基づいて、フィルタポリシを生成し、生成したフィルタポリシをフィルタポリシ格納部315に格納する(S708)。 Next, the filter policy generation unit 306 generates a filter policy based on the task ID and packet data 1304 acquired in step S706 and the difference area determined by the difference extraction unit 305, and filters the generated filter policy. It is stored in the policy storage unit 315 (S 708).
ここで、フィルタポリシの構成例について説明する。図9は、フィルタポリシ格納部315に格納されるフィルタポリシの構成例を示す。フィルタポリシ1401は、例えば、ステップS706で取得した業務ID1402と、対応する業務IDの業務分類データのパケットデータ1304から特定されるヘッダ情報と、抽出した差分領域を示す検知領域1408と、を含む。 Here, a configuration example of the filter policy will be described. FIG. 9 shows a configuration example of the filter policy stored in the filter policy storage unit 315. The filter policy 1401 includes, for example, the task ID 1402 acquired in step S706, header information specified from packet data 1304 of task classification data of the corresponding task ID, and a detection area 1408 indicating the extracted difference area.
フィルタポリシ1401のヘッダ情報は、例えば、通信パケットの送信元1403と、通信パケットの送信先1404と、通信パケットのプロトコル1405と、通信パケットの送信先ポート番号1406と、通信パケットのその他の特徴を示すオプション1407と、を含む。 The header information of the filter policy 1401 includes, for example, the transmission source 1403 of the communication packet, the transmission destination 1404 of the communication packet, the protocol 1405 of the communication packet, the transmission destination port number 1406 of the communication packet, and other features of the communication packet. And option 1407 shown.
なお、例えば、ステップS706において取得したパケットデータに、複数種類の送信先が含まれていた場合、フィルタポリシ生成部306は、ステップS708において、例えば、最も出現数の多い送信先や全ての送信先を、ステップS706で取得した業務IDに対応するフィルタポリシ1401に含める。送信先以外のヘッダ情報についても同様である。なお、フィルタポリシ1401は、入出力装置12を介してユーザから直接入力されてもよい。また、フィルタポリシ1401の構成要素の順序は上記に限定されるものではない。 Note that, for example, when a plurality of types of transmission destinations are included in the packet data acquired in step S706, the filter policy generation unit 306 generates, for example, the transmission destination with the largest number of appearances or all transmission destinations in step S708. Are included in the filter policy 1401 corresponding to the task ID acquired in step S706. The same applies to header information other than the transmission destination. The filter policy 1401 may be directly input from the user via the input / output device 12. Further, the order of the components of the filter policy 1401 is not limited to the above.
図7の説明に戻る。次に、フィルタポリシ生成部306は、フィルタポリシ格納部315に、フィルタポリシが生成されていない重要業務の業務IDが存在するか否かを検証する(S709)。フィルタポリシ生成部306が、フィルタポリシが生成されていない重要業務の業務IDが存在すると判定した場合(S709:Yes)、ステップS706に戻って未生成の業務IDに対してフィルタポリシの生成を行う。一方、フィルタポリシ生成部306が全ての重要業務の業務IDに対してフィルタポリシが生成されていると判定した場合(S709:No)、処理を終了する(S710)。 It returns to the explanation of FIG. Next, the filter policy generation unit 306 verifies whether or not the business policy ID of the important business for which the filter policy is not generated exists in the filter policy storage unit 315 (S709). If the filter policy generation unit 306 determines that there is a business ID of an important business for which a filter policy has not been generated (S709: Yes), the process returns to step S706 to generate a filter policy for the ungenerated business ID. . On the other hand, when the filter policy generation unit 306 determines that the filter policy is generated for the task IDs of all the important tasks (S709: No), the processing is ended (S710).
図10は、検知装置30に格納されているフィルタポリシの収集処理及び更新処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを保守モードに設定する(S801)。保守モードは、ポリシの収集処理及び更新処理等を実施するためのモードである。ここで、動作モード管理部318が動作モードを保守モードに設定できない、又は後述するステップS802以降の処理が保守モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。 FIG. 10 shows an example of the process of collecting and updating the filter policy stored in the detection device 30. First, the operation mode management unit 318 sets the operation mode to the maintenance mode, for example, in accordance with the user's instruction via the input / output device 12 (S801). The maintenance mode is a mode for carrying out policy collection processing, update processing, and the like. Here, if the operation mode management unit 318 can not set the operation mode to the maintenance mode, or if the processing after step S802 described later is to be executed without being set to the maintenance mode, the unauthorized communication detection system 100 for a control system. May cancel the subsequent processing.
次に、フィルタポリシ収集部404はフィルタポリシ収集コマンドを生成する(S802)。フィルタポリシ収集部404は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが保守モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとしてフィルタポリシ収集コマンドの生成を開始する。 Next, the filter policy collection unit 404 generates a filter policy collection command (S802). The filter policy collection unit 404 is triggered, for example, by having received from the operation mode management unit 318 an instruction from the user via the input / output device 12 or a notification that the operation mode has been changed to the maintenance mode. Start generation of filter policy collection command.
次に、通信部406はフィルタポリシ収集部404が生成したフィルタポリシ収集コマンドを検知装置30に送信し(S803)、第二通信部203は第一通信部202が受信したフィルタポリシ収集コマンドを検知装置30に送信する(S804)。 Next, the communication unit 406 transmits the filter policy collection command generated by the filter policy collection unit 404 to the detection device 30 (S803), and the second communication unit 203 detects the filter policy collection command received by the first communication unit 202. It transmits to the apparatus 30 (S804).
次に、フィルタポリシ更新部321は、通信部301が受信したフィルタポリシ収集コマンドに従って、フィルタポリシ格納部315に格納されているフィルタポリシを取得する(S805)。次に、通信部301はフィルタポリシ更新部321が取得したフィルタポリシを管理装置40に送信し(S806)、第一通信部202は第二通信部203が受信したフィルタポリシを管理装置40に送信する(S807)。 Next, the filter policy update unit 321 acquires the filter policy stored in the filter policy storage unit 315 according to the filter policy collection command received by the communication unit 301 (S805). Next, the communication unit 301 transmits the filter policy acquired by the filter policy update unit 321 to the management device 40 (S806), and the first communication unit 202 transmits the filter policy received by the second communication unit 203 to the management device 40. (S807).
なお、フィルタポリシ格納部315にフィルタポリシが格納されていない場合、フィルタポリシ更新部321は、ステップS805においてフィルタポリシを取得する代わりにフィルタポリシが存在しない旨を示すレスポンスを生成してもよい。このとき、S806及びS807において、フィルタポリシに代えて当該レスポンスが送信される。 If no filter policy is stored in the filter policy storage unit 315, the filter policy update unit 321 may generate a response indicating that there is no filter policy instead of acquiring the filter policy in step S805. At this time, in S 806 and S 807, the response is transmitted instead of the filter policy.
次に、フィルタポリシ収集部404は、通信部406が受信したフィルタポリシを入出力装置12に出力する。次に、フィルタポリシ生成部402は、ユーザからの入出力装置12を介した指示に従って、当該フィルタポリシを更新する(S808)。なお、通信部406が、フィルタポリシが存在しない旨を示すレスポンスを受信した場合、フィルタポリシ生成部402は、ユーザからの入出力装置12を介した指示に従ってフィルタポリシを新規に生成してもよい。 Next, the filter policy collection unit 404 outputs the filter policy received by the communication unit 406 to the input / output device 12. Next, the filter policy generation unit 402 updates the filter policy according to an instruction from the user via the input / output device 12 (S808). When the communication unit 406 receives a response indicating that the filter policy does not exist, the filter policy generation unit 402 may newly generate the filter policy according to an instruction from the user via the input / output device 12 .
次に、通信部406はフィルタポリシ生成部402が更新した新フィルタポリシを検知装置30に送信し(S809)、第二通信部203は第一通信部202が受信した新フィルタポリシを検知装置30に送信する(S810)。次に、フィルタポリシ更新部321は、通信部301が受信した新フィルタポリシをフィルタポリシ格納部315に格納することで、フィルタポリシを更新する(S811)。 Next, the communication unit 406 transmits the new filter policy updated by the filter policy generation unit 402 to the detection device 30 (S809), and the second communication unit 203 detects the new filter policy received by the first communication unit 202. (S810). Next, the filter policy update unit 321 updates the filter policy by storing the new filter policy received by the communication unit 301 in the filter policy storage unit 315 (S811).
次に、フィルタポリシ更新部321は、更新結果を示すレスポンスを生成する。通信部301は、当該レスポンスを管理装置40に送信し(S812)、第一通信部202は第二通信部203が受信した当該レスポンスを管理装置40に送信する(S813)。 Next, the filter policy update unit 321 generates a response indicating the update result. The communication unit 301 transmits the response to the management device 40 (S812), and the first communication unit 202 transmits the response received by the second communication unit 203 to the management device 40 (S813).
次に、フィルタポリシ生成部402は、通信部406が受信したレスポンスが示す更新結果を参照して、フィルタポリシ更新部321による更新処理が成功したか否か判定する(S814)。フィルタポリシ生成部402は、更新処理が成功したと判定した場合(S814:Yes)、S808で更新したフィルタポリシをフィルタポリシ格納部407に格納する(S815)。 Next, the filter policy generation unit 402 refers to the update result indicated by the response received by the communication unit 406, and determines whether the update processing by the filter policy update unit 321 has succeeded (S814). If the filter policy generation unit 402 determines that the update process has succeeded (S814: Yes), the filter policy storage unit 407 stores the filter policy updated in S808 (S815).
一方、フィルタポリシ収集部404は、更新処理が失敗したと判定した場合(S814:No)、S809に戻り、再度新フィルタポリシを送信する。なお、例えば、ステップS814における初回の判定処理から所定時間が経過した場合、又はステップS814における判定処理が所定回数行われた場合には、フィルタポリシ生成部402は処理を終了してもよい。 On the other hand, when the filter policy collection unit 404 determines that the update processing has failed (S814: No), the process returns to S809, and transmits the new filter policy again. Note that, for example, when a predetermined time has elapsed from the first determination process in step S814, or when the determination process in step S814 is performed a predetermined number of times, the filter policy generation unit 402 may end the process.
次に、動作モード管理部318は、例えば入出力装置12を介したユーザからの指示に従って、動作モードを運用モードに設定する(S816)。運用モードは、検知装置30が受信したパケットをフィルタポリシ及び検知ポリシに基づいて、フィルタリングするモードである。また、例えば、S811におけるフィルタポリシ更新が成功した場合に、動作モード管理部318は、自動的に動作モードを運用モードに設定してもよい。図10に示した処理により、管理装置40のユーザはフィルタポリシを容易に確認することができ、さらにフィルタポリシを柔軟に変更することができる。 Next, the operation mode management unit 318 sets the operation mode to the operation mode, for example, according to an instruction from the user via the input / output device 12 (S816). The operation mode is a mode in which the packet received by the detection device 30 is filtered based on the filter policy and the detection policy. Also, for example, when the filter policy update in S811 is successful, the operation mode management unit 318 may automatically set the operation mode to the operation mode. By the process shown in FIG. 10, the user of the management apparatus 40 can easily confirm the filter policy, and further, can flexibly change the filter policy.
図11は、検知装置30に格納されている検知ポリシの収集処理及び更新処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを保守モードに設定する(S901)。ここで、動作モード管理部318が動作モードを保守モードに設定できない、又は後述するステップS902以降の処理が保守モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。 FIG. 11 shows an example of collection processing and update processing of detection policies stored in the detection device 30. First, the operation mode management unit 318 sets the operation mode to the maintenance mode, for example, in accordance with the user's instruction via the input / output device 12 (S901). Here, if the operation mode management unit 318 can not set the operation mode to the maintenance mode, or if the processing after step S902 described later is to be executed without being set to the maintenance mode, the unauthorized communication detection system 100 for a control system. May cancel the subsequent processing.
次に、検知ポリシ収集部405は、検知ポリシ収集コマンドを生成する(S902)。検知ポリシ収集部405は、例えば、入出力装置12を介したユーザからの指示を受け付けたこと、又は動作モードが保守モードに変わった旨の通知を動作モード管理部318から受信したことをトリガとして検知ポリシ収集コマンドの生成を開始する。 Next, the detection policy collection unit 405 generates a detection policy collection command (S902). The detection policy collection unit 405 is triggered, for example, by receiving from the operation mode management unit 318 a notification from the operation mode management unit 318 that an instruction from the user via the input / output device 12 has been received or that the operation mode has changed to the maintenance mode. Start generation of detection policy collection command.
次に、通信部406は、検知ポリシ収集部405が生成した検知ポリシ収集コマンドを検知装置30に対して送信し(S903)、第二通信部203は第一通信部202が受信した検知ポリシ収集コマンドを検知装置30に送信する(S904)。 Next, the communication unit 406 transmits the detection policy collection command generated by the detection policy collection unit 405 to the detection device 30 (S903), and the second communication unit 203 collects the detection policy received by the first communication unit 202. The command is transmitted to the detection device 30 (S904).
次に、検知ポリシ更新部322は、ネットワーク装置20から受信した検知ポリシ収集コマンドに従って、検知ポリシ格納部316に格納されている検知ポリシを取得する(S905)。次に、通信部301は、検知ポリシ更新部322が取得した検知ポリシを管理装置40に送信し(S906)、第一通信部202は第二通信部203が受信した検知ポリシを管理装置40に送信する(S907)。 Next, the detection policy update unit 322 acquires the detection policy stored in the detection policy storage unit 316 according to the detection policy collection command received from the network device 20 (S905). Next, the communication unit 301 transmits the detection policy acquired by the detection policy update unit 322 to the management device 40 (S906), and the first communication unit 202 transmits the detection policy received by the second communication unit 203 to the management device 40. Send (S907).
なお、検知ポリシ格納部316に検知ポリシが格納されていない場合、検知ポリシ更新部322は、ステップ905において検知ポリシを取得する代わりに検知ポリシが存在しない旨を示すレスポンスを生成してもよい。このとき、S906及びS907において、検知ポリシに代えて当該レスポンスが送信される。 When the detection policy is not stored in the detection policy storage unit 316, the detection policy update unit 322 may generate a response indicating that the detection policy does not exist, instead of acquiring the detection policy in step 905. At this time, in S 906 and S 907, the response is transmitted instead of the detection policy.
次に、検知ポリシ収集部405は、通信部406が受信した検知ポリシを入出力装置12に出力する。次に、検知ポリシ生成部403は、ユーザからの入出力装置12を介した指示に従って、受信した検知ポリシを更新する(S908)。なお、検知ポリシ生成部403は、検知ポリシが存在しない旨を示すレスポンスを通信部406が受信した場合、ユーザからの入出力装置12を介した指示に従って、検知ポリシを新規に生成してもよい。次に、通信部406は、検知ポリシ生成部403が更新した新検知ポリシを検知装置30に送信し(S909)、第二通信部203は第一通信部202が受信した新検知ポリシを検知装置30に送信する(S910)。 Next, the detection policy collection unit 405 outputs the detection policy received by the communication unit 406 to the input / output device 12. Next, the detection policy generation unit 403 updates the received detection policy in accordance with an instruction from the user via the input / output device 12 (S908). If the communication unit 406 receives a response indicating that the detection policy does not exist, the detection policy generation unit 403 may newly generate the detection policy in accordance with an instruction from the user via the input / output device 12. . Next, the communication unit 406 transmits the new detection policy updated by the detection policy generation unit 403 to the detection device 30 (S909), and the second communication unit 203 detects the new detection policy received by the first communication unit 202. Send to 30 (S910).
次に、検知ポリシ更新部322は、通信部301がネットワーク装置20から受信した新検知ポリシを検知ポリシ格納部316に格納することで、検知ポリシを更新する(S911)。次に、フィルタポリシ更新部321は、更新結果を示すレスポンスを生成する。通信部301は当該レスポンスを管理装置40に送信し(S912)、第一通信部202は第二通信部203が受信した当該レスポンスを管理装置40に送信する(S913)。 Next, the detection policy update unit 322 updates the detection policy by storing the new detection policy received by the communication unit 301 from the network device 20 in the detection policy storage unit 316 (S911). Next, the filter policy update unit 321 generates a response indicating the update result. The communication unit 301 transmits the response to the management device 40 (S912), and the first communication unit 202 transmits the response received by the second communication unit 203 to the management device 40 (S913).
次に、検知ポリシ生成部403は、通信部406が受信したレスポンスが示す更新結果を参照して、検知ポリシ更新部322による更新処理が成功したか否か判定する(S914)。検知ポリシ生成部403は、更新処理が成功したと判定した場合(S914;YES)、S904で生成した検知ポリシを検知ポリシ格納部408に格納する。一方、検知ポリシ生成部403は、更新処理が失敗したと判定した場合(S914:No)、S909に戻り、再度新検知ポリシを送信する。 Next, the detection policy generation unit 403 refers to the update result indicated by the response received by the communication unit 406, and determines whether the update processing by the detection policy update unit 322 has succeeded (S914). If the detection policy generation unit 403 determines that the update process has succeeded (S 914; YES), the detection policy generation unit 403 stores the detection policy generated in S 904 in the detection policy storage unit 408. On the other hand, when the detection policy generation unit 403 determines that the update processing has failed (S914: No), the processing returns to S909, and transmits the new detection policy again.
なお、例えば、ステップS914における初回の判定処理から所定時間が経過した場合、又はステップS914における判定処理が所定回数行われた場合には、検知ポリシ生成部403は処理を終了してもよい。次に、動作モード管理部318は、例えば、入出力装置12を介したユーザからの指示に従って、動作モードを運用モードに設定する(S916)。また、例えば、S811におけるフィルタポリシ更新が成功した場合に、動作モード管理部318は、自動的に動作モードを運用モードに設定してもよい。図11に示した処理により、管理装置40のユーザは検知ポリシを容易に確認することができ、さらに検知ポリシを柔軟に変更することができる。 Note that, for example, when a predetermined time has elapsed from the initial determination process in step S914, or when the determination process in step S914 has been performed a predetermined number of times, the detection policy generation unit 403 may end the process. Next, the operation mode management unit 318 sets the operation mode to the operation mode, for example, according to an instruction from the user via the input / output device 12 (S916). Also, for example, when the filter policy update in S811 is successful, the operation mode management unit 318 may automatically set the operation mode to the operation mode. By the process shown in FIG. 11, the user of the management apparatus 40 can easily check the detection policy, and can change the detection policy flexibly.
図12は、検知ポリシ格納部316に格納される検知ポリシの構成例を示す。検知ポリシ1501は、業務ID1502と、検知領域1503と、検知領域に含まれるデータのパターンの数を示すパターン数1504と、検知領域に含まれるデータのパターンを示す正当データパターン1505と、を含む。なお、検知ポリシ1501の構成要素の順序は上記に限定されるものではない。 FIG. 12 shows a configuration example of a detection policy stored in the detection policy storage unit 316. The detection policy 1501 includes a task ID 1502, a detection area 1503, the number of patterns 1504 indicating the number of patterns of data included in the detection area, and a valid data pattern 1505 indicating the pattern of data included in the detection area. The order of the components of the detection policy 1501 is not limited to the above.
業務ID1502は、例えば、重要業務の業務IDである。即ち、検知ポリシ格納部316は、フィルタポリシ格納部315に格納されたフィルタポリシの業務IDそれぞれに対応する検知ポリシを含む。検知領域1503は、例えば業務ID1502と同一の業務ID1402を有するフィルタポリシの検知領域1408を示す。 The task ID 1502 is, for example, a task ID of an important task. That is, the detection policy storage unit 316 includes a detection policy corresponding to each business ID of the filter policy stored in the filter policy storage unit 315. The detection area 1503 indicates, for example, a detection area 1408 of the filter policy having the same task ID 1402 as the task ID 1502.
図13は、検知装置30による、制御装置10−1と制御装置10−nの間で送受信されるパケットの正当性の検証処理の一例を示す。はじめに、動作モード管理部318は、例えば入出力装置12を介したユーザの指示に従って、動作モードを運用モードに設定する(S1001)。例えば、ステップS816又はステップS916の処理をステップS1001に代えてもよい。 FIG. 13 illustrates an example of the process of verifying the legitimacy of a packet transmitted and received between the control device 10-1 and the control device 10-n by the detection device 30. First, the operation mode management unit 318 sets the operation mode to the operation mode, for example, in accordance with a user instruction via the input / output device 12 (S1001). For example, the process of step S816 or step S916 may be replaced with step S1001.
ここで、動作モード管理部318が動作モードを運用モードに設定できない、又はステップS1002以降の処理が運用モードに設定されないまま実行されようとする場合には、制御システム向け不正通信検知システム100は以降の処理を中止してもよい。 Here, if the operation mode management unit 318 can not set the operation mode to the operation mode, or if the processing after step S1002 is to be executed without being set to the operation mode, the unauthorized communication detection system 100 for the control system You may cancel the processing of.
次に、制御処理部101−1は、制御コマンドを生成する(S1002)。次に、通信部102−1は、制御処理部101−1が生成した制御コマンドを制御装置10−nに送信する(S1003)。次に、パケット複製部201は、制御装置10−1から受信した制御コマンドを複製する(S1004)。次に、第二通信部203は、パケット複製部201が複製した制御コマンドを検知装置30に送信し(S1005)、第一通信部202はパケット複製部201が複製した制御コマンドを制御装置10−nに送信する(S1006)。 Next, the control processing unit 101-1 generates a control command (S1002). Next, the communication unit 102-1 transmits the control command generated by the control processing unit 101-1 to the control device 10-n (S1003). Next, the packet duplication unit 201 duplicates the control command received from the control device 10-1 (S1004). Next, the second communication unit 203 transmits the control command copied by the packet copying unit 201 to the detection device 30 (S1005), and the first communication unit 202 controls the control command copied by the packet copying unit 201. Send to n (S1006).
制御処理部101−nは、ネットワーク装置20から受信した制御コマンドに従って制御業務を実行する(S1007)。フィルタリング処理部307は、通信部301がネットワーク装置20から受信した制御コマンドに対して、フィルタポリシ格納部315に格納されているフィルタポリシを用いて、パケットフィルタを行う(S1008)。 The control processing unit 101-n executes the control task according to the control command received from the network device 20 (S1007). The filtering processing unit 307 performs packet filtering on the control command received by the communication unit 301 from the network device 20 using the filter policy stored in the filter policy storage unit 315 (S1008).
具体的には、例えば、フィルタリング処理部307は、受信した制御コマンドのヘッダ情報と一致するヘッダ情報を有するフィルタポリシがフィルタポリシ格納部315内に存在する場合、当該制御コマンドをフィルタ対象のパケットであると判定する。また、フィルタリング処理部307は、受信した制御コマンドのヘッダ情報と一致するヘッダ情報を有するフィルタポリシがフィルタポリシ格納部315内に存在しない場合、当該制御コマンドをフィルタ対象外のパケットであると判定する。 Specifically, for example, when the filter policy having header information that matches the header information of the received control command exists in the filter policy storage unit 315, the filtering processing unit 307 filters the control command in the packet to be filtered. Determine that there is. In addition, when the filter policy having header information that matches the header information of the received control command does not exist in the filter policy storage unit 315, the filtering processing unit 307 determines that the control command is a packet not to be filtered. .
フィルタリング処理部307が、制御コマンドをフィルタ対象外のパケットであると判定した場合(S1008:No)、検知処理を終了する(S1009)。一方、フィルタリング処理部307が、制御コマンドをフィルタ対象のパケットであると判定した場合(S1008:Yes)、検知部308は検知ポリシ格納部316に格納されている検知ポリシを用いて、検知処理を行う(S1010)。 When the filtering processing unit 307 determines that the control command is a packet not to be filtered (S1008: No), the detection process is ended (S1009). On the other hand, when the filtering processing unit 307 determines that the control command is a packet to be filtered (S1008: Yes), the detection unit 308 uses the detection policy stored in the detection policy storage unit 316 to perform detection processing. Perform (S1010).
具体的には、検知部308は、S1008においてヘッダ情報が一致したフィルタポリシの業務IDを取得し、取得した業務IDを有する検知ポリシを検知ポリシ格納部316から取得する。検知部308は、取得した検知ポリシの検知領域1503を取得し、受信した制御コマンドのペイロードの当該検知領域内のデータをチェックする。検知部308は、当該検知領域内のデータが、取得した検知ポリシの正当データパターン1505が示すデータに一致する場合、異常がないと判定する。また、検知部308は、当該検知領域内のデータが、取得した検知ポリシの正当データパターン1505が示すデータに一致しない場合、異常があると判定する。 Specifically, the detection unit 308 acquires the task ID of the filter policy whose header information matches in S1008, and acquires the detection policy having the acquired task ID from the detection policy storage unit 316. The detection unit 308 acquires the detection area 1503 of the acquired detection policy, and checks data in the detection area of the payload of the received control command. If the data in the detection area matches the data indicated by the valid data pattern 1505 of the acquired detection policy, the detection unit 308 determines that there is no abnormality. If the data in the detection area does not match the data indicated by the valid data pattern 1505 of the acquired detection policy, the detection unit 308 determines that there is an abnormality.
検知部308が、異常がない、即ち当該制御コマンドが不正なコマンドでないと判定した場合(S1010:No)、検知処理を終了する(S1011)。一方、検知部308が、異常がある、即ち当該制御コマンドが不正なコマンドであると判定した場合(S1010:Yes)、アラート生成部309はアラートを生成する(S1012)。アラート生成部309は、例えば、当該制御コマンドを受信した時刻、当該制御コマンドに対応する業務ID、及び当該制御コマンドの検知領域のデータ等をアラートに含める。 If the detection unit 308 determines that there is no abnormality, that is, the control command is not an incorrect command (S1010: No), the detection process is ended (S1011). On the other hand, when the detection unit 308 determines that there is an abnormality, that is, the control command is an incorrect command (S1010: Yes), the alert generation unit 309 generates an alert (S1012). The alert generation unit 309 includes, for example, the time when the control command is received, the task ID corresponding to the control command, data of the detection area of the control command, and the like in the alert.
次に、アラート生成部309は、生成したアラートをアラート格納部317に格納する(S1013)。ここで、アラート生成部309が生成したアラートを通信部301が管理装置40に送信し、第二通信部203が受信したアラートを第一通信部202が管理装置40等に送信してもよい。また、検知装置30の入出力装置12及び/又は管理装置40の入出力装置がアラートを出力してもよい。 Next, the alert generation unit 309 stores the generated alert in the alert storage unit 317 (S1013). Here, the communication unit 301 may transmit the alert generated by the alert generation unit 309 to the management device 40, and the first communication unit 202 may transmit the alert received by the second communication unit 203 to the management device 40 or the like. Also, the input / output device 12 of the detection device 30 and / or the input / output device of the management device 40 may output an alert.
以上、本実施例の制御システム向け不正通信検知システム100は、フィルタポリシを用いて制御コマンドが重要業務に属しているか否かを判定し、重要業務に対応する制御コマンドに対して検知ポリシを用いたフィルタリングを実行する。制御システム向け不正通信検知システム100は当該処理により、少ない処理量で、効率的な不正通信検知処理を実施することができる。具体的には、低リソースの検知装置30単体を用いて、制御システム内の重要業務に関する不正通信を高速かつ高精度に検知することができる。 As described above, the unauthorized communication detection system 100 for a control system according to the present embodiment determines whether the control command belongs to the important work using the filter policy, and uses the detection policy for the control command corresponding to the important work. Perform the filtering. The unauthorized communication detection system 100 for a control system can perform efficient unauthorized communication detection processing with a small amount of processing. Specifically, by using the low-resource detection device 30 alone, it is possible to detect unauthorized communication relating to important work in the control system at high speed and with high accuracy.
なお、例えば、本実施例の検知装置30にネットワーク装置20及び/又は管理装置40が含まれていてもよいし制御装置10や検知装置30や管理装置40にネットワークとの通信機能が含まれておらず、これらの装置が別の装置を経由してネットワークと通信を行ってもよい。 For example, the network device 20 and / or the management device 40 may be included in the detection device 30 of the present embodiment, and the control device 10, the detection device 30, and the management device 40 include a communication function with the network. Alternatively, these devices may communicate with the network via another device.
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 The present invention is not limited to the embodiments described above, but includes various modifications. For example, the embodiments described above are described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. In addition, part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. In addition, with respect to a part of the configuration of each embodiment, it is possible to add, delete, and replace other configurations.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the configurations, functions, processing units, processing means, etc. described above may be realized by hardware, for example, by designing part or all of them with an integrated circuit. Further, each configuration, function, etc. described above may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as a program, a table, and a file for realizing each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, control lines and information lines indicate what is considered to be necessary for the description, and not all control lines and information lines in the product are necessarily shown. In practice, almost all configurations may be considered to be mutually connected.
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 検知ポリシ収集部、 10-1 to 10-n Control device, 14 CPU, 15 memory, 30 detection device, 303 job classification unit, 40 management device, 304 important work determination unit, 305 difference extraction unit, 306 filter policy generation unit, 307 filtering processing unit 308 detection unit 309 alert generation unit 311 reference data storage unit 312 classification data storage unit 313 determination threshold storage unit 314 task classification data storage unit 315 filter policy storage unit 316 detection policy storage unit 318 Reference data generation unit, 319 classification data generation unit, 321 filter policy update unit, 322 detection policy update unit, 401 reference packet generation unit, 404 filter policy collection unit, 405 detection policy collection unit,
Claims (12)
プロセッサと、記憶装置と、を含み、
前記プロセッサは、
前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
前記フィルタポリシと、前記検知ポリシと、を前記記憶装置に格納し、
前記第1制御装置から第1制御コマンドを受信し、
前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知装置。 A detection device for detecting unauthorized communication between a first control device and a second control device, the detection device comprising:
Including a processor and a storage device,
The processor is
A plurality of control commands for controlling the operation of the second control device, which the first control device transmits to the second control device, and a plurality of controls, which the second control device transmits to the first control device Monitor the response to each command,
Calculating a response time indicating a difference between the reception time of each of the plurality of control commands and the reception time of the response corresponding to each of the plurality of control commands,
The plurality of control commands are classified into a control command group including one or more control commands based on each of the calculated response times,
Each of one or more control command groups selected from the control command group is determined as an important task based on each of the calculated response times,
Generating a filter policy indicating, for each of the important tasks, the correspondence between the important tasks and the header information of the control command selected from the control commands belonging to the important tasks;
Obtain a detection policy that indicates the correspondence between the important task and the payload data pattern,
Storing the filter policy and the detection policy in the storage device;
Receiving a first control command from the first controller;
If there is a filter policy that includes first header information of the first control command:
Acquire a first detection policy including the important task indicated by the filter policy;
Based on the comparison result of the payload of the first control command and the data pattern indicated by the first detection policy, it is determined whether the first control command is an invalid command or not.
A detection device that generates an alert including information of the first control command when it is determined that the first control command is an invalid command.
前記プロセッサは、前記重要業務それぞれに対して、当該重要業務に属する制御コマンドのペイロードの各ビットの値を比較して、当該ペイロード間で少なくとも1つの値が異なるビットを示す差分領域を特定し、
前記検知ポリシは、前記重要業務と、前記差分領域のデータパターンと、の対応を示し、
前記プロセッサは、
前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
前記第1制御コマンドの前記第1検知ポリシが示す差分領域のデータと、前記第1検知ポリシが示す差分領域のデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定する、検知装置。 The detection device according to claim 1, wherein
The processor compares the value of each bit of the payload of the control command belonging to the important work with respect to each of the important work, and specifies a difference area indicating at least one bit having a different value between the payloads;
The detection policy indicates the correspondence between the important work and the data pattern of the difference area,
The processor is
If there is a filter policy that includes first header information of the first control command:
The first control command is an invalid command based on the comparison result of the data of the difference area indicated by the first detection policy of the first control command and the data pattern of the difference area indicated by the first detection policy. Detection device that determines if there is.
前記プロセッサは、
前記応答時間それぞれに基づく分類指標を算出し、
所定の長さを有し、互いに重複しない複数の区間を生成し、
同一の区間に含まれる分類指標に対応する制御コマンドを、同一の制御コマンド群に含める、検知装置。 The detection device according to claim 1, wherein
The processor is
Calculate a classification index based on each of the response times,
Generate a plurality of sections having a predetermined length and not overlapping each other,
A detection device which includes control commands corresponding to classification indexes included in the same section in the same control command group.
前記プロセッサは、
前記複数の制御コマンドのサイズそれぞれと、前記複数の制御コマンドそれぞれに対応するレスポンスのサイズと、の和を示す送受信サイズを算出し、
前記算出した応答時間それぞれと、前記算出した送受信サイズそれぞれと、に基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
前記算出した応答時間それぞれと、前記算出した送受信サイズそれぞれと、に基づいて前記制御コマンド群から選択した1以上の制御コマンド群、を重要業務に決定する、検知装置。 The detection device according to claim 1, wherein
The processor is
Calculating a transmission / reception size indicating a sum of each of the plurality of control commands and the size of the response corresponding to each of the plurality of control commands;
The plurality of control commands are classified into a control command group including one or more control commands based on each of the calculated response times and each of the calculated transmission / reception sizes,
A detection device which determines one or more control command groups selected from the control command group based on each of the calculated response times, each of the calculated transmission / reception sizes, and the like as an important task.
前記プロセッサは、
前記応答時間それぞれに基づいて、分類指標を算出し、
第1閾値より大きい分類指標に対応する制御コマンドを含む制御コマンド群を重要業務に決定する、検知装置。 The detection device according to claim 1, wherein
The processor is
A classification index is calculated based on each of the response times,
A detection device which determines a control command group including a control command corresponding to a classification index larger than a first threshold as important work.
前記プロセッサは、
前記検知装置を管理する管理装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御するネットワークレベルのパケット又はアプリケーションレベルで書き込み及び内部処理を行わないパケットである基準パケットと、前記第2制御装置が前記管理装置に送信する、前記基準パケットに対するレスポンスと、を監視し、
前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す第1応答時間を算出し、
前記第1応答時間に基づく分類指標を前記第1閾値に決定する、検知装置。 The detection device according to claim 5, wherein
The processor is
A reference packet, which is a packet at the network level for controlling the operation of the second control device, or a packet for which writing and internal processing are not performed at the application level, transmitted to the second control device by a management device that manages the detection device Monitoring a response to the reference packet that the second control device transmits to the management device;
A first response time indicating a difference between the reception time of each of the plurality of control commands and the reception time of the response corresponding to each of the plurality of control commands is calculated,
The detection apparatus which determines the classification index based on said 1st response time to said 1st threshold.
入力装置に接続され、
前記プロセッサは、前記入力装置を介したユーザ入力により、前記検知ポリシを取得する、検知装置。 The detection device according to claim 1, wherein
Connected to the input device,
The detection device, wherein the processor acquires the detection policy by user input via the input device.
前記プロセッサは、
前記プロセッサが実行可能な処理を規定する動作モードを示す指示を受信し、
前記受信した指示が示す動作モードが規定する処理を実行し、
前記動作モードは、前記応答時間を算出する第1動作モードと、前記フィルタポリシを生成する第2動作モードと、前記検知ポリシを取得する第3動作モードと、前記第1制御コマンドが不正なコマンドであるか否かを判定する第4動作モードと、を含む、検知装置。 The detection device according to claim 1, wherein
The processor is
Receiving an indication indicating an operating mode defining the process that the processor can execute;
Execute a process defined by an operation mode indicated by the received instruction;
The operation mode includes a first operation mode for calculating the response time, a second operation mode for generating the filter policy, a third operation mode for acquiring the detection policy, and a command in which the first control command is incorrect. And a fourth operation mode to determine whether it is or not.
前記検知装置は、
前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
前記第1制御装置から第1制御コマンドを受信し、
前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、検知システム。 A detection system that includes a first control device, a second control device, and a detection device that detects unauthorized communication between the first control device and the second control device,
The detection device
A plurality of control commands for controlling the operation of the second control device, which the first control device transmits to the second control device, and a plurality of controls, which the second control device transmits to the first control device Monitor the response to each command,
Calculating a response time indicating a difference between the reception time of each of the plurality of control commands and the reception time of the response corresponding to each of the plurality of control commands,
The plurality of control commands are classified into a control command group including one or more control commands based on each of the calculated response times,
Each of one or more control command groups selected from the control command group is determined as an important task based on each of the calculated response times,
Generating a filter policy indicating, for each of the important tasks, the correspondence between the important tasks and the header information of the control command selected from the control commands belonging to the important tasks;
Obtain a detection policy that indicates the correspondence between the important task and the payload data pattern,
Receiving a first control command from the first controller;
If there is a filter policy that includes first header information of the first control command:
Acquire a first detection policy including the important task indicated by the filter policy;
Based on the comparison result of the payload of the first control command and the data pattern indicated by the first detection policy, it is determined whether the first control command is an invalid command or not.
A detection system that generates an alert including information of the first control command when it is determined that the first control command is an invalid command.
出力装置と、前記検知装置を管理する管理装置と、をさらに含み、
前記管理装置は、
前記検知装置に対してフィルタポリシ及び検知ポリシの少なくとも一方を収集する指示を送信し、
前記検知装置が保持する前記少なくとも一方を、前記検知装置から受信し、
前記受信した少なくとも一方を前記出力装置に出力する、検知システム。 The detection system according to claim 9,
Further including an output device and a management device that manages the detection device;
The management device is
Sending an instruction to collect at least one of a filter policy and a detection policy to the detection device;
Receiving the at least one held by the detection device from the detection device;
A detection system which outputs the received at least one to the output device.
入力装置と、前記検知装置を管理する管理装置と、をさらに含み、
前記管理装置は、
前記入力装置を介したユーザ入力によりフィルタポリシ及び検知ポリシの少なくとも一方を取得し、
前記取得した少なくとも一方を前記検知装置に送信し、
前記検知装置は、前記管理装置から受信した少なくとも一方を保持する、検知システム。 The detection system according to claim 9,
Further including an input device and a management device that manages the detection device,
The management device is
At least one of a filter policy and a detection policy is acquired by user input via the input device,
Transmitting the acquired at least one to the detection device;
The detection system, wherein the detection device holds at least one received from the management device.
前記方法は、
前記検知装置が、
前記第1制御装置が前記第2制御装置に送信する、前記第2制御装置の動作を制御する複数の制御コマンドと、前記第2制御装置が前記第1制御装置に送信する、前記複数の制御コマンドそれぞれに対するレスポンスと、を監視し、
前記複数の制御コマンドそれぞれの受信時刻と、前記複数の制御コマンドそれぞれに対応するレスポンスの受信時刻と、の差を示す応答時間を算出し、
前記算出した応答時間それぞれに基づいて、前記複数の制御コマンドを1以上の制御コマンドからなる制御コマンド群に分類し、
前記算出した応答時間それぞれに基づいて前記制御コマンド群から選択した1以上の制御コマンド群それぞれ、を重要業務に決定し、
前記重要業務それぞれに対して、当該重要業務と、当該重要業務に属する制御コマンドから選択した制御コマンドのヘッダ情報と、の対応を示すフィルタポリシを生成し、
前記重要業務と、ペイロードのデータパターンと、の対応を示す検知ポリシを取得し、
前記第1制御装置から第1制御コマンドを受信し、
前記第1制御コマンドの第1ヘッダ情報を含むフィルタポリシが存在する場合、
当該フィルタポリシが示す重要業務を含む第1検知ポリシを取得し、
前記第1制御コマンドのペイロードと、前記第1検知ポリシが示すデータパターンと、の比較結果に基づいて、前記第1制御コマンドが不正なコマンドであるか否かを判定し、
前記第1制御コマンドが不正なコマンドであると判定した場合、前記第1制御コマンドの情報を含むアラートを生成する、方法。 A detection method detects unauthorized communication between a first control device and a second control device.
The method is
The detection device
A plurality of control commands for controlling the operation of the second control device, which the first control device transmits to the second control device, and a plurality of controls, which the second control device transmits to the first control device Monitor the response to each command,
Calculating a response time indicating a difference between the reception time of each of the plurality of control commands and the reception time of the response corresponding to each of the plurality of control commands,
The plurality of control commands are classified into a control command group including one or more control commands based on each of the calculated response times,
Each of one or more control command groups selected from the control command group is determined as an important task based on each of the calculated response times,
Generating a filter policy indicating, for each of the important tasks, the correspondence between the important tasks and the header information of the control command selected from the control commands belonging to the important tasks;
Obtain a detection policy that indicates the correspondence between the important task and the payload data pattern,
Receiving a first control command from the first controller;
If there is a filter policy that includes first header information of the first control command:
Acquire a first detection policy including the important task indicated by the filter policy;
Based on the comparison result of the payload of the first control command and the data pattern indicated by the first detection policy, it is determined whether the first control command is an invalid command or not.
A method of generating an alert including information of the first control command if it is determined that the first control command is an incorrect command.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015203386A JP6507075B2 (en) | 2015-10-15 | 2015-10-15 | Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015203386A JP6507075B2 (en) | 2015-10-15 | 2015-10-15 | Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017076884A JP2017076884A (en) | 2017-04-20 |
| JP6507075B2 true JP6507075B2 (en) | 2019-04-24 |
Family
ID=58549594
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015203386A Expired - Fee Related JP6507075B2 (en) | 2015-10-15 | 2015-10-15 | Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6507075B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6890073B2 (en) * | 2017-09-13 | 2021-06-18 | 株式会社日立製作所 | Information collection device, information collection system |
| US12153672B2 (en) * | 2021-10-20 | 2024-11-26 | Hitachi, Ltd. | Security management system and security management method |
| CN119173868A (en) * | 2022-05-18 | 2024-12-20 | 三菱电机株式会社 | Attack detection device, attack detection method and attack detection program |
Family Cites Families (3)
| 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 |
| JP4363650B2 (en) * | 2004-10-12 | 2009-11-11 | 日本電信電話株式会社 | Intrusion detection processing apparatus, intrusion detection processing method, and recording medium |
| JP5792654B2 (en) * | 2012-02-15 | 2015-10-14 | 株式会社日立製作所 | Security monitoring system and security monitoring method |
-
2015
- 2015-10-15 JP JP2015203386A patent/JP6507075B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017076884A (en) | 2017-04-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5370897B2 (en) | Remote direct storage access | |
| EP3920031B1 (en) | Hard disk fault handling method, array controller, and hard disk | |
| EP3885889B1 (en) | Storage device and method thereof | |
| CN101443756B (en) | Method and apparatus for creating and applying secure file identifier of rights object by using random numbers | |
| US10341294B2 (en) | Unauthorized communication detection system and unauthorized communication detection method | |
| US7650446B2 (en) | Storage system for back-end communications with other storage system | |
| US20140082412A1 (en) | Storage control system, recording medium storing recovery program, and method | |
| US12271486B2 (en) | Peer storage device messaging for vulnerability management | |
| JP5668982B2 (en) | Storage system, access path status update method, and access path status update program | |
| JP6507075B2 (en) | Illegal communication detection device, illegal communication detection system, and method of detecting illegal communication | |
| CN102067148A (en) | Methods and systems for determining file classifications | |
| JP2013246479A (en) | Processing device, processing method, processing program and management device | |
| JP2010086050A5 (en) | ||
| JP6623692B2 (en) | Log information collection system, log information collection program and log information collection method | |
| JP2014515858A (en) | Method and apparatus for recombining executing instructions | |
| JP6896194B2 (en) | Attack detection device and attack detection program | |
| CN107644174A (en) | Data leak prevention system and data leak prevention method | |
| JP4891722B2 (en) | Quarantine system and quarantine method | |
| JP6878369B2 (en) | Volume allocation management device, volume allocation management method, and volume allocation management program | |
| JP7049432B2 (en) | Methods and systems for detecting web shells using process information | |
| KR20150002297A (en) | Storage system and Operating method thereof | |
| TWI610196B (en) | Network attack pattern determination apparatus, determination method, and computer program product thereof | |
| US20170192851A1 (en) | System and method of using performance-maintaining commands for generating a backup of unsupported file systems | |
| JP4698477B2 (en) | Print management device, log information collection device, print management system, print management method, print management program, and storage medium | |
| JP6746086B2 (en) | Terminal device, operation information report control method by terminal device, and operation information report control program by terminal device |
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 |
|
| LAPS | Cancellation because of no payment of annual fees |