JP2018160078A - Abnormality detection device and abnormality detection method - Google Patents
Abnormality detection device and abnormality detection method Download PDFInfo
- Publication number
- JP2018160078A JP2018160078A JP2017056691A JP2017056691A JP2018160078A JP 2018160078 A JP2018160078 A JP 2018160078A JP 2017056691 A JP2017056691 A JP 2017056691A JP 2017056691 A JP2017056691 A JP 2017056691A JP 2018160078 A JP2018160078 A JP 2018160078A
- Authority
- JP
- Japan
- Prior art keywords
- normal model
- unit
- abnormality
- communication
- operation mode
- 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.)
- Pending
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
【課題】精度を劣化させることなく、従来よりも削減された計算負荷で異常を検知することができる異常検知装置を提供する。
【解決手段】複数の正常モデルを保管する正常モデル保管部28と、通信ログから対象物の動作モードを判定する動作モード判定部23と、正常モデル保管部28に保管された複数の正常モデルから動作モード判定部23で判定された動作モードに対応する正常モデルを選択する正常モデル選択部25と、選択された正常モデルに従って通信ログから特徴量を抽出する特徴量抽出部24と、正常モデル選択部25で選択された正常モデル及び特徴量抽出部24で抽出された特徴量から通信ネットワーク14での通信における異常度を算出して出力する異常度算出部27とを備える。
【選択図】図1An anomaly detection device is provided that can detect an anomaly with a reduced computational load without degrading accuracy.
A normal model storage unit that stores a plurality of normal models, an operation mode determination unit that determines an operation mode of an object from a communication log, and a plurality of normal models stored in the normal model storage unit. A normal model selection unit 25 that selects a normal model corresponding to the operation mode determined by the operation mode determination unit 23, a feature amount extraction unit 24 that extracts a feature amount from a communication log according to the selected normal model, and a normal model selection And an abnormality degree calculation unit 27 that calculates and outputs an abnormality degree in communication in the communication network 14 from the normal model selected by the part 25 and the feature amount extracted by the feature amount extraction unit 24.
[Selection] Figure 1
Description
本発明は、通信ネットワークを備えて動作する対象物における異常を検知する異常検知装置及び異常検知方法に関する。 The present invention relates to an abnormality detection device and an abnormality detection method for detecting an abnormality in an object that operates with a communication network.
自動車の中では、ECU(Electronic Control Unit)と呼ばれる複数の電子制御装置が、通常、CAN(Controller Area Network)バスのような、サイバー攻撃に対して安全とは言えない車載ネットワークで相互に接続されている。そこで、従来、自動車のサイバーセキュリティを確保するために、高い精度で、車載ネットワークへの不正メッセージの注入等の異常を検知する様々な技術が提案されている(例えば、特許文献1参照)。 In an automobile, a plurality of electronic control units called ECUs (Electronic Control Units) are usually connected to each other via an in-vehicle network that is not safe against cyber attacks, such as a CAN (Controller Area Network) bus. ing. Thus, various techniques for detecting abnormalities such as injecting illegal messages into the in-vehicle network with high accuracy have been proposed in order to ensure cyber security of automobiles (see, for example, Patent Document 1).
特許文献1では、車載ネットワークにおけるセンサ及び制御モジュールの通信ログを解析することで異常を検知している。
In
しかしながら、近年、自動運転技術に代表される自動車関連技術の進展に伴い、自動車に搭載されるセンサの個数が膨大に増えており、電子制御装置による制御も大幅に複雑化している。そのために、車載ネットワークで伝送されるコマンド及びデータの種類及び数も膨大に増えており、特許文献1の技術では、これらのコマンド及びデータに対してひとつひとつの振る舞いを監視することになり、膨大な計算リソースが必要になるという問題がある。
However, in recent years, with the development of automobile-related technology represented by automatic driving technology, the number of sensors mounted on the automobile has increased enormously, and the control by the electronic control device has become greatly complicated. For this reason, the types and number of commands and data transmitted in the in-vehicle network have increased enormously. With the technology of
そこで、本発明は、上記問題に鑑みてなされたものであり、精度を劣化させることなく、従来よりも削減された計算負荷で異常を検知することができる異常検知装置及び異常検知方法を提供することを目的とする。 Therefore, the present invention has been made in view of the above problems, and provides an abnormality detection device and an abnormality detection method that can detect an abnormality with a reduced calculation load than before without degrading accuracy. For the purpose.
上記目的を達成するために、本発明の一形態に係る異常検知装置は、通信ネットワークを備えて動作する対象物における異常を検知する異常検知装置であって、前記対象物が取り得る複数の動作モードのそれぞれに対応し、前記通信ネットワークでの正常時の通信における特徴量の特性を示すデータである複数の正常モデルを保管する正常モデル保管部と、前記通信ネットワークの通信ログから前記対象物の動作モードを判定する動作モード判定部と、前記正常モデル保管部に保管された前記複数の正常モデルから、前記動作モード判定部で判定された動作モードに対応する正常モデルを選択する正常モデル選択部と、前記正常モデル選択部で選択された前記正常モデルに従って、前記通信ログから前記通信ネットワークでの通信における特徴量を抽出する特徴量抽出部と、前記正常モデル選択部で選択された前記正常モデル、及び、前記特徴量抽出部で抽出された前記特徴量に基づいて、前記通信ネットワークでの通信における異常を検知する異常検知部と、を備える。 In order to achieve the above object, an abnormality detection device according to an aspect of the present invention is an abnormality detection device that detects an abnormality in an object that operates with a communication network, and the object can take a plurality of operations. Corresponding to each of the modes, a normal model storage unit that stores a plurality of normal models that are data indicating characteristics of characteristic quantities in normal communication in the communication network, and a communication log of the communication network An operation mode determination unit that determines an operation mode, and a normal model selection unit that selects a normal model corresponding to the operation mode determined by the operation mode determination unit from the plurality of normal models stored in the normal model storage unit And according to the normal model selected by the normal model selection unit, from the communication log, in the communication in the communication network An abnormality in communication in the communication network based on the feature amount extraction unit that extracts the amount, the normal model selected by the normal model selection unit, and the feature amount extracted by the feature amount extraction unit; An anomaly detection unit to detect.
また、上記目的を達成するために、本発明の一形態に係る異常検知方法は、通信ネットワークを備えて動作する対象物における異常を検知する装置による異常検知方法であって、前記通信ネットワークの通信ログから前記対象物の動作モードを判定する動作モード判定ステップと、前記対象物が取り得る複数の動作モードのそれぞれに対応し、前記通信ネットワークでの正常時の通信における特徴量の特性を示すデータである複数の正常モデルから、前記動作モード判定ステップで判定された動作モードに対応する正常モデルを選択する正常モデル選択ステップと、前記正常モデル選択ステップで選択された前記正常モデルに従って、前記通信ログから前記通信ネットワークでの通信における特徴量を抽出する特徴量抽出ステップと、前記正常モデル選択ステップで選択された前記正常モデル、及び、前記特徴量抽出ステップで抽出された前記特徴量に基づいて、前記通信ネットワークでの通信における異常を検知する異常検知ステップと、を含む。 In order to achieve the above object, an abnormality detection method according to an aspect of the present invention is an abnormality detection method by an apparatus for detecting an abnormality in an object that operates with a communication network, and includes communication in the communication network. Corresponding to each of an operation mode determination step for determining an operation mode of the object from a log and a plurality of operation modes that can be taken by the object, data indicating characteristics of characteristics in normal communication in the communication network A normal model selection step for selecting a normal model corresponding to the operation mode determined in the operation mode determination step from a plurality of normal models, and the communication log according to the normal model selected in the normal model selection step A feature amount extracting step of extracting feature amounts in communication in the communication network from The normal model selected by the model selection step, and, based on the feature quantity extracted by the feature amount extracting step comprises, an abnormality detecting step of detecting an abnormality in the communication with the communication network.
本発明により、精度を劣化させることなく、従来よりも削減された計算負荷で異常を検知することができる異常検知装置及び異常検知方法が提供される。 According to the present invention, an abnormality detection device and an abnormality detection method are provided that can detect an abnormality with a reduced calculation load than before without degrading accuracy.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される対象物の種類、通信ネットワークの種類、装置の構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that each of the embodiments described below shows a specific example of the present invention. The types of objects, the types of communication networks, the components of the apparatus, the arrangement positions and connection forms of the components, the steps, the order of steps, etc. shown in the following embodiments are merely examples, and are intended to limit the present invention. is not. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept of the present invention are described as optional constituent elements. Also, the drawings are not necessarily shown strictly. In each figure, substantially the same configuration is denoted by the same reference numeral, and redundant description is omitted or simplified.
図1は、実施の形態に係る通信システム10の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a
通信システム10は、通信ネットワーク14を備えて動作する対象物の一例である自動車に備えられる通信システムであり、EUC12a〜12d、通信ネットワーク14、及び、異常検知装置20を備える。
The
EUC12a〜12dは、駐車を支援するECU12a、緊急ブレーキを制御するECU12b、その他、各種機能を発揮するECU12c及び12dを含み、通信ネットワーク14に接続されている。
The EUCs 12a to 12d include an
通信ネットワーク14は、ECU(ECU12a〜12d及び異常検知装置20)を相互に接続するバスで構成され、例えば、CANである。
The
異常検知装置20は、通信ネットワーク14への不正メッセージの注入等の異常を検知する装置であり、通信ネットワーク14に接続されたECUの一つである。ここで、「異常」とは、通信ネットワーク14へのサイバー攻撃の可能性がある事象であり、本実施の形態では、後述する正常モデルで規定される通信ネットワーク14における正常な通信状態から所定の範囲を超える通信状態をいう。
The
なお、ECU(ECU12a〜12d及び異常検知装置20)は、ハードウェア構成として、プログラム及びデータを格納するフラッシュメモリ及びROM等の不揮発性メモリ、DRAM等の揮発性メモリ、プログラムを実行するCPU等のプロセッサ、各種センサ、警報器及びディスプレイデバイス等の入出力デバイス、各種センサや入出力デバイス等とプロセッサとを接続する入出力回路、通信ネットワーク14と接続される通信インタフェース回路等を備える。
The ECUs (
異常検知装置20は、機能的には、通信ログ取得部21、通信ログ蓄積部22、動作モード判定部23、特徴量抽出部24、正常モデル選択部25、正常モデル作成部26、異常度算出部27、正常モデル保管部28、特徴量パラメータ更新部29、通信部30、異常発生通知部31、及び、異常検知部32を備える。
Functionally, the
通信ログ取得部21は、通信ネットワーク14における通信を記録することで通信ログを取得する処理部であり、例えば、CANバスに接続される通信インタフェース回路等を有する。
The communication
通信ログ蓄積部22は、通信ログ取得部21によって取得された通信ログを蓄積する記憶部であり、例えば、フラッシュメモリ等の書き込み可能な不揮発性メモリである。図2は、通信ログ蓄積部22に蓄積された通信ログ22aの一例を示すデータ構造図である。本図に示されるように、通信ログ22aは、エントリ(つまり、行)ごとにCANメッセージが格納されている。エントリは、通信ログ22aに蓄積される最小単位のログである。各エントリは、行番号を示す行221、自動車のイグニッションONからの経過時間を示すタイムスタンプ222、CANメッセージに含まれるCAN_ID223、CANメッセージに含まれるペイロード224で構成される。なお、タイムスタンプ222は、実際の時刻でもよい。
The communication
動作モード判定部23は、通信ログ22aから対象物(本実施の形態では自動車)の動作モードを判定する処理部であり、ここでは、通信ログ蓄積部22に蓄積された通信ログ22aを解析することで動作モードを判定し、判定した動作モードを正常モデル選択部25に通知する。また、動作モード判定部23は、判定した動作モードに対応する通信ログ22aの区間におけるデータである通信ログデータを抽出し、特徴量抽出部24に出力する。
The operation mode determination unit 23 is a processing unit that determines the operation mode of an object (a car in the present embodiment) from the
正常モデル保管部28は、対象物(ここでは、自動車)が取り得る複数の動作モードのそれぞれに対応し、通信ネットワーク14での正常時の通信における特徴量の特性を示すデータである複数の正常モデル28a〜28bを予め保管している記憶部であり、例えば、フラッシュメモリ等の書き込み可能な不揮発性メモリである。なお、正常モデル28a〜28bは、自動車(あるいは、異常検知装置20)の出荷前のテスト走行時における通信ログを用いて作成されており、同じモデルの自動車の全てに共通である。正常モデル28a〜28bの作成方法は、後述する正常モデル作成部26による方法と同じである。ただし、自動車(あるいは、異常検知装置20)が出荷された後は、正常モデル作成部26によって、正常モデル保管部28に保管される正常モデル28a〜28bは、各自動車(あるいは、異常検知装置20)に固有の運転状況に依存して更新されていく。
The normal
図3は、正常モデル保管部28に保管された正常モデル28a〜28bの一例を示すデータ構造図である。本図に示されるように、正常モデル28a〜28bのそれぞれは、動作モード識別子281、特徴量パラメータ282、基準値283で構成される。
FIG. 3 is a data structure diagram showing an example of
動作モード識別子281は、当該正常モデルに対応する動作モードを示す識別子である。図3に示される例では、正常モデル28aは、「駐車支援」という動作モードに対応し、正常モデル28bは、「緊急ブレーキ」という動作モードに対応することが示されている。
The
特徴量パラメータ282は、通信ネットワーク14での通信における異常の判定に用いることができる特徴量の種類を示すパラメータである。この特徴量パラメータ282には、異常度の算出に用いるアルゴリズムを示す異常度尺度282aが含まれる。図3に示される例では、正常モデル28aでは、異常度尺度282aが「LOF(Local Outlier Factor)」に設定されており、正常モデル28bでは、異常度尺度282aが「マハラノビス距離」に設定されている。なお、異常度尺度282aとして登録されるアルゴリズムは、これらの例に限られず、その他、非特許文献1(井手剛著「入門 機械学習による異常検知」コロナ社)等で紹介されているような公知な方法(例えば、k−近傍法等)であってもよい。
The feature amount parameter 282 is a parameter indicating the type of feature amount that can be used for determining an abnormality in communication in the
また、特徴量パラメータ282として、正常モデル28aでは、2次元の特徴量ベクタであって各要素が時間幅300msecの区間での出現頻度であること(「次元=2、区間幅=300msec」)、2次元特徴量ベクタの一つ目の要素が、CAN_IDが0x123であるCANメッセージの出現頻度であること(「1:“ID”、0x123」)、2次元特徴量ベクタの二つ目の要素が、CAN_IDが0x456であるCANメッセージのペイロードの7〜0ビット目のフィールドの値(複数ある場合には、その平均値)であること(「2:“ペイロード”、(0x456、[7:0]」)、基準値283の表記として「即値」が用いられること、つまり、特徴量ベクタがそのまま格納されること(「モデル表記=“即値”」)が示されている。ここで、特徴量パラメータ282として指定されるCAN_IDやペイロード中のフィールドは、対応している動作モードに対して発生する異常の特性を考慮して設定される。例えば、「駐車支援」の動作モードに対しては、駐車支援動作中は、ステアリング操作に関するCANメッセージ(ステアリング操作CANメッセージ)によってステアリング操作が可能な状態であるから、操作量が異常なステアリング操作CANメッセージを注入して不正なステアリング操作を行う攻撃に晒される恐れがある。従って、「駐車支援」動作モードに対しては、ステアリング操作に関係するCANメッセージのCAN_ID及びペイロード中のフィールドが特徴量パラメータ282に設定される。また、「緊急ブレーキ」の動作モードに対しては、緊急ブレーキ動作中はブレーキ操作に関するCANメッセージ(ブレーキ操作CANメッセージ)によってブレーキ操作が可能な状態であるから、ブレーキ操作に関係するCANメッセージのCAN_ID及びペイロード中のフィールドが特徴量パラメータ282に設定される。このようにして、動作モードごとに不正に利用される可能性のあるCAN_IDやペイロードのフィールドだけに特徴量パラメータを絞り込むことで、異常度の算出にかかる処理量が削減可能である。
As the feature parameter 282, the
基準値283は、特徴量パラメータ282が示す特徴量の種類に対応する特徴量の基準値である。図3に示される例では、基準値が108個あること(「サンプル数=108」)、その一つ目の具体的な基準値として2次元特徴量ベクタ(4、12.4)が格納されている(「1:(4、12.4)」)。二つ目以降の具体的な基準値についても、図3に示されるように、一つ目と同様に、2次元特徴量ベクタが格納されている。
The
なお、正常モデル28bは、正常モデル28aと同じデータ構造をもつが、正常モデル28aとモデル表記が異なっている。図3の例では、正常モデル28bの特徴量パラメータ282には、「モデル表記=“統計量”」が含まれるので、正常モデル28bの基準値283には特徴量ベクタの分布を統計量で表記した値が格納されることが示されている。具体的には、図3に示される例では、正常モデル28bの基準値283には、「平均ベクタ」及び「共分散行列」が格納されている。
The
図1に戻り、正常モデル選択部25は、正常モデル保管部28に保管された複数の正常モデル28a〜28bから、動作モード判定部23で判定された動作モードに対応する正常モデルを選択する処理部である。
Returning to FIG. 1, the normal
特徴量抽出部24は、正常モデル選択部25で選択された正常モデル28cに従って、通信ログ蓄積部22に蓄積された通信ログ22a(ここでは、通信ログ蓄積部22に蓄積された通信ログ22aから動作モード判定部23によって抽出された通信ログデータ)から通信ネットワーク14での通信における特徴量を抽出する処理部である。より具体的には、特徴量抽出部24は、動作モード判定部23で判定された動作モードについて、動作モード判定部23で抽出された通信ログデータから、正常モデル選択部25で選択された正常モデル28cに含まれる特徴量パラメータ282が示す種類の特徴量を抽出する。
The feature
異常度算出部27は、通信ネットワーク14での通信における異常度を算出する処理部である。より具体的には、異常度算出部27は、正常モデル選択部25で選択された正常モデルに含まれる基準値283と特徴量抽出部24で抽出された特徴量との間の統計的な外れ度合から、異常度を算出する。このとき、異常度算出部27は、正常モデル選択部25で選択された正常モデル28cに含まれる異常度尺度282aが示すアルゴリズムに従って、異常度を算出する。
The abnormality degree calculation unit 27 is a processing unit that calculates an abnormality degree in communication on the
異常検知部32は、正常モデル選択部25で選択された正常モデル28c、及び、特徴量抽出部24で抽出された特徴量に基づいて、通信ネットワーク14での通信における異常を検知する処理部である。より具体的には、異常検知部32は、異常度算出部27によって算出された異常度と閾値とを比較することで、異常の有無を検知して出力する。閾値は、予め設定された値、あるいは、ユーザによって設定される値である。
The
異常発生通知部31は、異常検知部32によって検知された異常の有無を通知する出力デバイスであり、例えば、警報器、ディスプレイデバイス、通信インタフェース等である。
The abnormality
通信部30は、異常検知装置20の外部の通信装置と通信する通信インタフェースであり、例えば、電話網用又は無線LAN用の通信モジュールである。通信部30は、外部の通信装置として、例えば、特徴量パラメータを配布するWebサーバである更新サーバと通信をする。
The
特徴量パラメータ更新部29は、異常検知装置20の外部から新たな特徴量パラメータを取得して内部のメモリに保持する処理部であり、例えば、通信部30を介して更新サーバから配布される特徴量パラメータを取得して保持する。
The feature
正常モデル作成部26は、通信ログ蓄積部22に蓄積された通信ログ22aから正常モデルを作成し、作成した正常モデルを用いて、正常モデル保管部28に保管されている正常モデル28a〜28bのうちで当該正常モデルに対応する正常モデルを更新する処理部である。具体的には、正常モデル作成部26は、特徴量パラメータ更新部29に保持されている特徴量パラメータを用いて、正常モデル保管部28に保管されている正常モデルを更新する。正常モデル作成部26は、実行頻度として、例えば、一定期間ごと、所定の運転回数(つまり、自動車のイグニッションONからOFFまでを一回の運転回数とした回数)ごと、あるいは、異常検知装置20が通信する外部のサーバからの指示を受信するごとに、正常モデルを更新する。
The normal
なお、異常検知装置20を構成する処理部(通信ログ取得部21、動作モード判定部23、特徴量抽出部24、正常モデル選択部25、正常モデル作成部26、異常度算出部27、特徴量パラメータ更新部29、通信部30、及び、異常検知部32)の全部又は一部は、プロセッサがプログラムを実行することによってソフトウェア的に実現されてもよいし、FPGAやASIC等の専用の論理回路によってハードウェア的に実現されてもよい。
Note that the processing units (communication
次に、以上のように構成された本実施の形態に係る異常検知装置20の動作について説明する。
Next, the operation of the
図4は、本実施の形態に係る異常検知装置20の動作(つまり、異常検知方法)を示すフローチャートである。
FIG. 4 is a flowchart showing an operation (that is, an abnormality detection method) of the
まず、通信ログ取得部21は、通信ネットワーク14における通信を記録することで通信ログを取得して通信ログ蓄積部22に蓄積する(S10)。例えば、通信ログ取得部21は、自動車のイグニッションONからOFFまで、通信ネットワーク14を伝送される全てのCANメッセージを取得し続け、タイムスタンプとともに、通信ログ蓄積部22に蓄積する。その結果、図2に示されるような通信ログ22aが通信ログ蓄積部22に蓄積される。なお、通信ログ蓄積部22に蓄積された通信ログ22aは、動作モード判定部23によって読み出されるが、通信ログ22aのうち、異常検知部32によって異常が検知されなかった通信ログデータについては、順次、削除されていってもよい。
First, the communication
続いて、動作モード判定部23は、通信ログ蓄積部22に蓄積された通信ログ22aを解析することで動作モードを判定する(動作モード判定ステップ、S11)。なお、このステップS11の詳細は、図5のフローチャートを用いて後述する。
Subsequently, the operation mode determination unit 23 determines the operation mode by analyzing the
次に、正常モデル選択部25は、正常モデル保管部28に保管された複数の正常モデル28a〜28bから、動作モード判定部23で判定された動作モードに対応する正常モデル28cを選択する(正常モデル選択ステップ、S12)。例えば、正常モデル選択部25は、動作モード判定部23が動作モードとして「緊急ブレーキ」と判定した場合には、正常モデル保管部28に保管された複数の正常モデル28a〜28bから、「緊急ブレーキ」の動作モードに対応する正常モデル28bを選択する(この場合には、正常モデル28bが選択された正常モデル28cとなる)。
Next, the normal
続いて、特徴量抽出部24は、正常モデル選択部25で選択された正常モデル28cに含まれる特徴量パラメータ282が示す種類の特徴量を、通信ログ蓄積部22に蓄積された通信ログ22aから抽出する(特徴量抽出ステップ、S13)。例えば、特徴量抽出部24は、正常モデル選択部25で正常モデル28bが選択された場合には、通信ログ蓄積部22に蓄積された通信ログ22aから、正常モデル28bに含まれる特徴量パラメータ282が示す種類の特徴量、つまり、3次元の特徴量ベクタを算出する。なお、このステップS13の詳細は、図6のフローチャートを用いて後述する。
Subsequently, the feature
次に、異常度算出部27は、正常モデル選択部25で選択された正常モデルに含まれる基準値283と特徴量抽出部24で抽出された特徴量との間の統計的な外れ度合から、異常度を算出する(異常度算出ステップ、S14)。このとき、異常度算出部27は、正常モデル選択部25で選択された正常モデル28cに含まれる異常度尺度282aが示すアルゴリズムに従って、異常度を算出する。例えば、異常度算出部27は、正常モデル選択部25で正常モデル28bが選択された場合には、正常モデル28bに含まれる基準値283である平均ベクタ及び共分散行列を用いた基準値と特徴量抽出部24で抽出された3次元の特徴量ベクタとの「マハラノビス距離」を、異常度として、算出する。
Next, the degree-of-abnormality calculation unit 27 calculates a statistical deviation between the
続いて、異常検知部32は、異常度算出部27によって算出された異常度と閾値とを比較することで、異常の有無を検知して出力する(S15)。例えば、異常検知部32は、異常度算出部27によって算出された「マハラノビス距離」が、予め定められた閾値よりも大きい場合に「異常有り」と判定し、一方、閾値と等しいか小さい場合に「異常無し」と判定し、その判定結果を検知結果として出力する。
Subsequently, the
最後に、異常発生通知部31は、異常検知部32によって検知された異常の有無を通知する(S16)。例えば、異常発生通知部31は、異常検知部32から「異常有り」との検知結果が出力されてきた場合には、警報器によって異常が有ることを示す音声又はブザーを自動車の運転者に発したり、異常が有ることを示す情報を、通信インタフェースを介して管理センタに通知したりする。なお、管理センタへの通知時には、異常通知とともに異常を検知した通信ログデータやそのときの動作モードを示す情報を併せて送信してもよい。
Finally, the abnormality
なお、上記ステップS12〜S16は、ステップS11で判定された動作モードが複数ある場合には、それらの複数の動作モードのそれぞれごとに、実行される。 Note that when there are a plurality of operation modes determined in step S11, the above steps S12 to S16 are executed for each of the plurality of operation modes.
図5A〜図5Cは、図4のステップS11(動作モードの判定)の詳細な処理手順を示すフローチャートである。 5A to 5C are flowcharts showing the detailed processing procedure of step S11 (determination of operation mode) in FIG.
まず、動作モード判定部23は、通信ログ蓄積部22に蓄積された通信ログ22aの解析に際して、通信ログ22aの行番号用の変数Nを初期化(つまり、最初の行を示す「1」にセット)する(S20)。
First, when analyzing the
そして、動作モード判定部23は、通信ログ22aの第N行目をチェックする(S21)。つまり、動作モード判定部23は、通信ログ蓄積部22から通信ログ22aの第N行目エントリを読み出し、読み出した第N行目エントリが、予め保持している複数の動作モードのいずれかの開始パターンに一致するか否かを判断する。具体的には、動作モード判定部23は、予め保持している複数の動作モードのそれぞれについて、動作モードの開始を示すCAN_ID、又は、CAN_IDとペイロードとの組み合わせを対応づけたテーブルを記憶しており、そのテーブルと、第N行目エントリに含まれるCAN_ID、又は、CAN_IDとペイロードとの組み合わせとが一致するか否かを判断する。例えば、ペイロードとして、ADAS(Advanced Driver Assistance System)の種類と有効/無効あるいは操作指示の有無を識別するフィールド(ADAS有効フラグ、ADAS操作指示ビット等)の情報が登録されている。なお、このテーブルに保持されている複数の動作モードは、正常モデル保管部28に保管されている複数の正常モデル28a〜28bに格納された動作モード識別子281が示す全ての動作モードに対応する。
Then, the operation mode determination unit 23 checks the Nth row of the
その結果、動作モード判定部23は、第N行目エントリが、予め保持している動作モードのいずれか(ここでは、「駐車支援」又は「緊急ブレーキ」)の開始パターンに一致すると判断した場合には(S22でY、又は、S23でY)、その動作モードの動作区間に対応する通信ログデータを抽出し(図5Bのフローチャート、又は、図5Cのフローチャート)、ステップS24に戻る。 As a result, when the operation mode determination unit 23 determines that the entry in the Nth row matches the start pattern of one of the operation modes held in advance (here, “parking support” or “emergency brake”). (Y in S22 or Y in S23), the communication log data corresponding to the operation section of the operation mode is extracted (the flowchart in FIG. 5B or the flowchart in FIG. 5C), and the process returns to step S24.
そして、動作モード判定部23は、変数Nを1だけインクリメントした後に(S24)、変数Nが通信ログ22aの最終行に一致するか否かを判断することで通信ログ22aの全てのエントリについての判断を終えたか否か判断する(S25)。動作モード判定部23は、通信ログ22aの全てのエントリについての判断を終えるまで、ステップS21〜S24を繰り返し、その後に終了する(S26)。
The operation mode determination unit 23 increments the variable N by 1 (S24), and then determines whether or not the variable N matches the last line of the
図5Bは、図5AのステップS22において第N行目エントリが動作モード「駐車支援」の開始パターンに一致すると判断された場合の処理手順を示すフローチャートである。 FIG. 5B is a flowchart showing a processing procedure when it is determined in step S22 of FIG. 5A that the Nth row entry matches the start pattern of the operation mode “parking support”.
動作モード判定部23は、まず、現在の変数Nを、動作モード「駐車支援」の開始行を示す変数Sにセットした後に(S30)、変数Nを1だけインクリメントする(S31)。 The operation mode determination unit 23 first sets the current variable N to the variable S indicating the start line of the operation mode “parking support” (S30), and then increments the variable N by 1 (S31).
そして、動作モード判定部23は、通信ログ22aの第N行目をチェックする(S32)。つまり、動作モード判定部23は、通信ログ蓄積部22から通信ログ22aの第N行目エントリを読み出し、読み出した第N行目エントリが、動作モード「駐車支援」の終了パターンに一致するか否かを判断する。具体的には、動作モード判定部23は、動作モード「駐車支援」の終了を示すCAN_ID、又は、CAN_IDとペイロードとの組み合わせを対応づけたテーブルを記憶しており、そのテーブルと、第N行目エントリに含まれるCAN_ID、又は、CAN_IDとペイロードとの組み合わせとが一致するか否かを判断する。
Then, the operation mode determination unit 23 checks the Nth row of the
ここで、動作モード判定部23は、変数Nが通信ログ22aの最終行に一致すると判断した場合には(S33でY)、処理を終了するが(S26)、そうでない場合には(S33でN)、ステップS32でのチェックの結果、第N行目エントリが動作モード「駐車支援」の終了パターンに一致するか否かを判断する(S34)。そして、動作モード判定部23は、第N行目エントリが動作モード「駐車支援」の終了パターンに一致すると判断するまで(S34でY)、ステップS31〜S34を繰り返す。
Here, when the operation mode determination unit 23 determines that the variable N matches the last line of the
第N行目エントリが動作モード「駐車支援」の終了パターンに一致すると判断した場合には(S34でY)、動作モード判定部23は、現在の変数Nを、動作モード「駐車支援」の最終行を示す変数Eにセットした後に(S35)、通信ログ22aのうち第S行〜第E行目のエントリを動作モード「駐車支援」の通信ログデータとして抽出し(S36)、図5AのステップS24に戻る。
If it is determined that the entry in the Nth row matches the end pattern of the operation mode “parking support” (Y in S34), the operation mode determination unit 23 sets the current variable N to the final value of the operation mode “parking support”. After setting the variable E indicating the line (S35), the entries of the Sth to Eth lines in the
図5Cは、図5AのステップS23において第N行目エントリが動作モード「緊急ブレーキ」の開始パターンに一致すると判断された場合の処理手順を示すフローチャートである。図5Cの処理(S40〜S46)は、基本的には、図5Bに示される動作モード「駐車支援」のケースでの処理(S30〜S36)と同じである。ただし、図5Bでは、動作モードが「駐車支援」であったが、図5Cでは、動作モードが「緊急ブレーキ」である点で異なる。図5Cの処理(S40〜S46)の説明は省略する。 FIG. 5C is a flowchart showing a processing procedure when it is determined in step S23 of FIG. 5A that the entry in the Nth row matches the start pattern of the operation mode “emergency brake”. The processes (S40 to S46) in FIG. 5C are basically the same as the processes (S30 to S36) in the case of the operation mode “parking support” shown in FIG. 5B. However, although the operation mode is “parking support” in FIG. 5B, the operation mode is “emergency brake” in FIG. 5C. The description of the process (S40 to S46) in FIG. 5C is omitted.
図6は、図4のステップS13(特徴量の抽出)の詳細な処理手順を示すフローチャートである。 FIG. 6 is a flowchart showing a detailed processing procedure of step S13 (feature amount extraction) in FIG.
まず、特徴量抽出部24は、動作モード判定部23で判定された動作モードについて、動作モード判定部23から、動作モード判定部23で抽出された通信ログデータを取得し、正常モデル選択部25から、正常モデル選択部25で選択された正常モデル28cを取得する(S50)。
First, the feature
そして、特徴量抽出部24は、初期化処理として、変数Nに、動作モード判定部23から取得した通信ログデータの先頭行の番号をセットし(S51)、時間区間開始用の変数Tに、第N行目のエントリのタイムスタンプの値をセットし(S52)、時間区間幅用の変数dに、正常モデル選択部25で選択された正常モデル28cの特徴量パラメータ282に含まれる「区間幅」パラメータの値(例えば、動作モードが“駐車支援”と判定された場合、300msec)をセットする(S53)。
Then, as an initialization process, the feature
次に、特徴量抽出部24は、動作モード判定部23から取得した通信ログデータが、時間区間T〜(T+d)の間で終了していないかを判断する(S54)。具体的には、通信ログデータの最終エントリのタイムスタンプをTeとしたとき、T+dがTe以下であるか否かを判断する。
Next, the feature
その結果、通信ログデータが終了していないと判断した場合には(S54でY)、特徴量抽出部24は、動作モード判定部23から取得した通信ログデータから、時間区間T〜(T+d)内にタイムスタンプ222をもつ全てのエントリを抽出し(S55)、抽出した全てのエントリを用いて、正常モデル選択部25から取得した正常モデル28cの特徴量パラメータ282に従って特徴量ベクタを作成し(S56)、作成した特徴量ベクタを異常度算出部27に出力する(S57)。そして、特徴量抽出部24は、変数Tに変数dを加算することで変数Tをインクリメントし(S58)、再び、ステップS54〜S58を繰り返す。
As a result, when it is determined that the communication log data has not ended (Y in S54), the feature
一方、ステップS54において、動作モード判定部23から取得した通信ログデータが時間区間T〜(T+d)の間で終了していると判断した場合には(S54でN)、特徴量抽出部24は、処理を終了する。
On the other hand, if it is determined in step S54 that the communication log data acquired from the operation mode determination unit 23 has ended between time intervals T to (T + d) (N in S54), the feature
なお、特徴量ベクタの作成(S56)では、より詳しくは、特徴量抽出部24は、次の第1ステップ〜第3ステップのように処理をする。
It should be noted that in the feature vector generation (S56), more specifically, the feature
まず、第1ステップにおいて、特徴量抽出部24は、まず、正常モデル選択部25から取得した正常モデル28cの特徴量パラメータ282を参照することで、特徴量ベクタの次元数、及び、特徴量ベクタの各要素の抽出特徴量情報(着目する情報がID(CAN_ID)であるかペイロードであるかの区別)を取得する。例えば、特徴量抽出部24は、正常モデル選択部25から取得した正常モデル28cが図3に示される正常モデル28aである場合には、正常モデル28aの特徴量パラメータ282を参照することで、特徴量ベクタの次元数として「2」を取得し、特徴量ベクタの各要素の抽出特徴量情報として「ID」及び「ペイロード」を取得する。
First, in the first step, the feature
次に、第2ステップにおいて、特徴量抽出部24は、取得した抽出特徴量情報が「ID」である場合には、動作モード判定部23から取得した通信ログデータを対象として、対象の時間区間T〜(T+d)において、指定されたCAN_IDをもつCANメッセージが送信された回数(エントリの個数)を、特徴量ベクタの第1要素として算出する。また、特徴量抽出部24は、取得した抽出特徴量情報が「ペイロード」である場合には、動作モード判定部23から取得した通信ログデータを対象として、対象の時間区間T〜(T+d)において、特徴量パラメータ282で指定されたCAN_IDをもつCANメッセージ(エントリ)を抽出し、抽出したCANメッセージのペイロードのうち特徴量パラメータ282で指定されたフィールドの値(2個以上のCANメッセージが抽出された場合には、それらのフィールドの値の平均値)を特徴量ベクタの第2要素として算出する。なお、対象の時間区間T〜(T+d)において特徴量パラメータ282で指定されたCAN_IDをもつCANメッセージ(エントリ)がひとつも抽出されなかった場合には、特徴量抽出部24は、直前の時間区間で算出された値を特徴量ベクタの要素とする。
Next, in the second step, when the extracted feature value information is “ID”, the feature
最後に、第3ステップにおいて、特徴量抽出部24は、上記第2ステップで算出した次元数分の要素をもつ特徴量ベクタを作成する。
Finally, in the third step, the feature
以上のような異常検知装置20による処理により、通信ネットワーク14において、例えば、図7に示されるようなサイバー攻撃を受けた場合に、図8に示されるアルゴリズムによって、異常として検知され得る。
Through the processing by the
図7は、通信ネットワーク14が受けるサイバー攻撃の一例を示す図である。ここでは、通信ネットワーク14で伝送されるCANメッセージの出現タイミングを示すタイムチャートが示されている。タイムチャート上の四角は、正常なCANメッセージ(つまり、正常CANメッセージ16a〜16e)であり、一定の送信間隔Tで出現している。一般に、正常状態では、CANメッセージ(つまり、正常CANメッセージ)は、CAN_IDごとに、決まった周期で定期的に送信される。
FIG. 7 is a diagram illustrating an example of a cyber attack that the
これに対して、タイムチャート上の三角は、通信ネットワーク14へ不正に注入されたCANメッセージ(つまり、不正CANメッセージ17a〜17g)であり、周期性をもたないタイミングで出現している。このような不正CANメッセージ17a〜17gが発生する状態が異常状態である。不正CANメッセージ17a〜17gは、例えば、CAN_IDが正常CANメッセージと同じであるが、ペイロードが偽造されており正常CANメッセージのものと異なっており、CANバスの診断ポート等から注入される。不正CANメッセージ17a〜17gのペイロードには、不正な操作量(例えば、ステアリング/ブレーキ操作量が正常時よりも大きい/小さい値等)、不正なトリガ指示(例えば、緊急ブレーキ/エアバッグを発動させるビット、駐車支援の開始トリガとなるビット)、不正な表示量(例えば、速度/エンジン回転数/車輪速の表示量)等が設定される。このような不正CANメッセージ17a〜17gが通信ネットワーク14に注入されるサイバー攻撃によって、ステアリング等の不正操作が可能になる。
On the other hand, the triangles on the time chart are CAN messages that are illegally injected into the communication network 14 (that is,
図8は、本実施の形態に係る異常検知装置20による異常検知のアルゴリズムの概念を示す図である。ここでは、横軸をCAN_IDが「IDa」であるCANメッセージの送信頻度Na(回/sec)とし、縦軸をCAN_IDが「IDb」であるCANメッセージの送信頻度Nb(回/sec)とした場合における2次元の特徴量ベクタ(Na、Nb)の例がプロットされている。
FIG. 8 is a diagram showing the concept of an abnormality detection algorithm by the
図8に示される例では、「正常モデル」は、2次元の特徴量ベクタ(1/Ta、1/Tb)を中心として一定範囲内にある特徴量ベクタの集まりである。つまり、この「正常モデル」は、CAN_IDが「IDa」であるCANメッセージが略送信周期Taで繰り返し送信され、かつ、CAN_IDが「IDb」であるCANメッセージが略送信周期Tbで繰り返し送信される状態に対応している。 In the example shown in FIG. 8, the “normal model” is a collection of feature vectors within a certain range with a two-dimensional feature vector (1 / Ta, 1 / Tb) as a center. That is, in the “normal model”, a CAN message whose CAN_ID is “IDa” is repeatedly transmitted in a substantially transmission cycle Ta, and a CAN message whose CAN_ID is “IDb” is repeatedly transmitted in a substantially transmission cycle Tb. It corresponds to.
本実施の形態に係る異常検知装置20によれば、通信ログ22aの解析によって、図8に示される「正常モデル」から大きく距離が外れた特徴量ベクタ18aが観察された場合に、「異常度が高い」と判断され、一方、「正常モデル」から大きく距離が外れていない特徴量ベクタ18bが観察された場合に、「異常度が低い」と判断される。このように、異常検知装置20により、正常モデルとの間の統計的な外れ度合(例えば、異常度尺度で定まる距離)が異常度として算出される。
According to the
なお、図8では、説明の便宜上、特徴量ベクタが2次元である場合を例に説明したが、特徴量ベクタが3以上の次元であっても、基本的な異常検知のアルゴリズムは同じである。図8に示される2次元空間を3以上の多次元空間に拡張したうえで、同様のアルゴリズムで異常が検知される。 In FIG. 8, the case where the feature vector is two-dimensional is described as an example for convenience of explanation, but the basic abnormality detection algorithm is the same even if the feature vector is three or more dimensions. . After the two-dimensional space shown in FIG. 8 is expanded to three or more multidimensional spaces, an abnormality is detected with the same algorithm.
以上のように、本実施の形態に係る異常検知装置20は、通信ネットワーク14を備えて動作する対象物における異常を検知する装置であって、対象物が取り得る複数の動作モードのそれぞれに対応し、通信ネットワーク14での正常時の通信における特徴量の特性を示すデータである複数の正常モデル28a〜28bを保管する正常モデル保管部28と、通信ネットワーク14の通信ログから対象物の動作モードを判定する動作モード判定部23と、正常モデル保管部28に保管された複数の正常モデルから、動作モード判定部23で判定された動作モードに対応する正常モデルを選択する正常モデル選択部25と、正常モデル選択部25で選択された正常モデルに従って通信ログから通信ネットワーク14での通信における特徴量を抽出する特徴量抽出部24と、正常モデル選択部25で選択された正常モデル、及び、特徴量抽出部24で抽出された特徴量に基づいて、通信ネットワーク14での通信における異常を検知する異常検知部32とを備える。
As described above, the
これにより、通信ログにおけるコマンドのひとつひとつを解析するのではなく、複数の正常モデルの中から対象物の動作モードに対応した正常モデルに絞り込み、絞り込んだ正常モデルに従って通信ログから特徴量を抽出したうえで異常が検知されるので、従来よりも削減された計算負荷で異常度が算出される。しかも、通信ログを用いて異常が検知されるので、異常の検知について、精度が劣化されることはない。よって、精度を劣化させることなく、従来よりも削減された計算負荷で異常を検知することができる異常検知装置が実現される。 As a result, instead of analyzing each individual command in the communication log, the normal model corresponding to the operation mode of the target object is narrowed down from multiple normal models, and the feature value is extracted from the communication log according to the narrowed normal model. Since an abnormality is detected at, the degree of abnormality is calculated with a calculation load reduced as compared with the prior art. In addition, since the abnormality is detected using the communication log, the accuracy of the abnormality detection is not deteriorated. Therefore, an abnormality detection device is realized that can detect an abnormality with a reduced calculation load than before without degrading accuracy.
また、正常モデル28a〜28bには、通信ネットワーク14での通信における異常の検知に用いるための特徴量の種類を示す特徴量パラメータ282が含まれ、特徴量抽出部24は、正常モデル選択部25で選択された正常モデルに含まれる特徴量パラメータ282が示す種類の特徴量を、通信ログ22aから抽出する。
In addition, the
これにより、正常モデルに含まれる特徴量パラメータ282を参照することで特徴量が抽出されるので、正常モデルに対応する動作モードに特有の特徴量の種類を示す特徴量パラメータを正常モデルに含めることで、より精度の高い異常検知が可能になる。 Thereby, since the feature quantity is extracted by referring to the feature quantity parameter 282 included in the normal model, the feature quantity parameter indicating the type of feature quantity specific to the operation mode corresponding to the normal model is included in the normal model. This makes it possible to detect anomalies with higher accuracy.
また、通信ネットワーク14での通信における異常度を算出する異常度算出部27をさらに備え、正常モデル28a〜28bには、さらに、特徴量パラメータ282が示す特徴量の種類に対応する特徴量の基準値283が含まれ、異常度算出部27は、正常モデル選択部25で選択された正常モデル28cに含まれる特徴量の基準値283と特徴量抽出部24で抽出された特徴量との間の外れ度合から、異常度を算出し、異常検知部32は、異常度算出部27によって算出された異常度と閾値とを比較することで、異常の有無を検知する。
In addition, an abnormality degree calculation unit 27 that calculates an abnormality degree in communication in the
これにより、正常モデル28a〜28bには特徴量パラメータ282が示す特徴量の種類に対応する特徴量の基準値283が含まれ、その基準値283を用いて異常度が算出されるので、動作モードに対応した正常モデルごとに異常度の算出基準を規定することができ、より精度の高い異常検知が実現される。
Thereby, the
また、正常モデル28a〜28bには、さらに、異常度の算出に用いるアルゴリズムを示す異常度尺度282aが含まれ、異常度算出部27は、正常モデル選択部25で選択された正常モデル28cに含まれる異常度尺度282aが示すアルゴリズムに従って、異常度を算出する。
Further, the
これにより、正常モデル28a〜28bには異常度の算出に用いるアルゴリズムを示す異常度尺度282aが含まれ、そのアルゴリズムに従って異常度が算出されるので、動作モードに対応した正常モデルごとに適切な異常度の算出アルゴリズムを規定することができ、より精度の高い異常検知が実現される。
Thus, the
また、異常検知装置20は、さらに、異常検知部32によって検知された異常の有無を通知する異常発生通知部31を備える。
In addition, the
これにより、異常の有無が通知されるので、異常の発生を即座に知ることができる。 Thereby, since the presence or absence of abnormality is notified, generation | occurrence | production of abnormality can be known immediately.
また、異常検知装置20は、さらに、通信ネットワーク14における通信を記録することで通信ログを取得する通信ログ取得部21と、通信ログ取得部21によって取得された通信ログを蓄積する通信ログ蓄積部22とを備え、動作モード判定部23は、通信ログ蓄積部22に蓄積された通信ログ22aから動作モードを判定する。
The
これにより、異常検知装置20に通信ログ取得部21と通信ログ蓄積部22とが備えられるので、通信ネットワーク14上に別途、通信ログを蓄積するECUを設けること、及び、そのECUから異常検知装置20に通信ログを転送する制御をすることが不要となる。
Thereby, since the
図9は、本実施の形態に係る異常検知装置20が備える正常モデル作成部26の動作を示すフローチャートである。
FIG. 9 is a flowchart showing the operation of the normal
まず、正常モデル作成部26は、動作モード判定部23で判定された動作モードについて、動作モード判定部23から、動作モード判定部23で抽出された通信ログデータ、及び、判定された動作モードを示す識別子を取得する(S60)。
First, for the operation mode determined by the operation mode determination unit 23, the normal
次に、正常モデル作成部26は、特徴量パラメータ更新部29に対して上記識別子を提示したうえで更新用の特徴量パラメータが保持されているか否かを問い合わせることで、特徴量パラメータ更新部29に上記識別子が示す動作モードに対応する特徴量パラメータが保持されているか否かを判断する(S61)。
Next, the normal
その結果、特徴量パラメータ更新部29に特徴量パラメータが保持されている場合には(S61でY)、正常モデル作成部26は、特徴量パラメータ更新部29から、そこに保持されている特徴量パラメータを取得し(S62)、一方、特徴量パラメータ更新部29に特徴量パラメータが保持されていない場合には(S61でN)、正常モデル保管部28から、上記識別子が示す動作モードに対応する正常モデルデータに含まれる特徴量パラメータを取得する(S63)。
As a result, when the feature amount parameter is held in the feature amount parameter update unit 29 (Y in S61), the normal
続いて、正常モデル作成部26は、行番号用の変数Nをゼロに、時間区間開始用の変数Tに動作モード判定部23で抽出された通信ログデータの先頭エントリのタイムスタンプをセットし(S64)、かつ、時間区間幅用の変数dに、上記ステップS62又はS63で取得した特徴量パラメータに含まれる区間幅をセットする(S65)。
Subsequently, the normal
次に、正常モデル作成部26は、動作モード判定部23から取得した通信ログデータに、時間区間T〜(T+d)の間で終了していないかを判断する(S66)。具体的には、通信ログデータの最終エントリのタイムスタンプをTeとしたとき、T+dがTe以下であるか否かを判断する。
Next, the normal
その結果、通信ログデータが終了していないと判断した場合には(S66でY)、正常モデル作成部26は、動作モード判定部23から取得した通信ログデータから、時間区間T〜(T+d)内にタイムスタンプ222をもつ全てのエントリを抽出し(S67)、抽出した全てのエントリを用いて、上記ステップS62又はS63で取得した特徴量パラメータに従って特徴量ベクタを作成する(S68)。なお、この正常モデル作成部26による特徴量ベクタの作成(S68)は、特徴量抽出部24による特徴量ベクタの作成(S56;上記第1ステップ〜第3ステップ)と同じである。
As a result, when it is determined that the communication log data has not ended (Y in S66), the normal
そして、正常モデル作成部26は、変数Nを1だけインクリメントし、かつ、変数Tに変数dを加算することで変数Tをインクリメントし(S69)、いま作成した特徴量ベクタを変数Nに対応づけて保持した後に(S70)、再び、ステップS66〜S70を繰り返す。
Then, the normal
一方、ステップS66において、動作モード判定部23から取得した通信ログデータが時間区間T〜(T+d)の間で終了していると判断した場合には(S66でN)、正常モデル作成部26は、上記ステップS62又はS63で取得した特徴量パラメータに含まれる「モデル表記」を参照することで、「モデル表記」が「即値」及び「統計量」のいずれを示すかを判断する(S80)。
On the other hand, when it is determined in step S66 that the communication log data acquired from the operation mode determination unit 23 has ended between time intervals T to (T + d) (N in S66), the normal
その結果、「モデル表記」が「即値」を示す場合には(S80で「即値」)、正常モデル作成部26は、上記ステップS70で保持した変数N及び特徴量ベクタをそのまま正常モデルを構成する特徴量パラメータの基準値として設定し(S81)、一方、「モデル表記」が「統計量」を示す場合には(S80で「統計量」)、上記ステップS70で保持した変数N及び特徴量ベクタから平均ベクタ及び共分散行列を計算し(S82)、計算した平均ベクタ及び共分散行列を、正常モデルを構成する特徴量パラメータの基準値として設定する(S83)。
As a result, when the “model notation” indicates “immediate value” (“immediate value” in S80), the normal
そして、正常モデル作成部26は、上記ステップS62又はS63で取得した特徴量パラメータと、上記ステップS81又はS82〜S83で設定した特徴量パラメータの基準値とを有する正常モデルで、正常モデル保管部28に保管された上記識別子に対応する正常モデルを更新する(S84)。
The normal
図10は、本実施の形態に係る異常検知装置20が備える特徴量パラメータ更新部29の動作を示すフローチャートである。
FIG. 10 is a flowchart illustrating the operation of the feature
まず、特徴量パラメータ更新部29は、更新サーバへの問い合わせタイミングが到来したか否かを判断する(S90)。例えば、特徴量パラメータ更新部29は、予め定められた周期又は時刻と内部のカレンダタイマが示す値とを比較することで、この判断をする。
First, the feature
その結果、更新サーバへの問い合わせタイミングが到来したと判断した場合には(S90でY)、特徴量パラメータ更新部29は、更新サーバに対して更新データ(つまり、特徴量パラメータ)があるか否かを問い合わせ(S96)、更新データ(つまり、特徴量パラメータ)があるときにだけ(S97でY)、更新サーバから更新データ(つまり、特徴量パラメータ)を取得して保持する(S98)。
As a result, when it is determined that the inquiry timing to the update server has arrived (Y in S90), the feature
一方、更新サーバへの問い合わせタイミングが到来したと判断しなかった場合には(S90でN)、特徴量パラメータ更新部29は、正常モデル作成部26から更新用の特徴量パラメータが保持されているか否かの問い合わせがあるか否かを判断し(S91)、問い合わせがあると判断したときに(S91でY)、正常モデル作成部26から問い合わせに係る動作モードの識別子を取得する(S92)。
On the other hand, if it is not determined that the inquiry timing to the update server has arrived (N in S90), the feature
そして、特徴量パラメータ更新部29は、正常モデル作成部26から取得した識別子が示す正常モデルについての更新用の特徴量パラメータを保持しているか否かを判断し(S93)、保持していると判断した場合には(S93でY)、その特徴量パラメータを正常モデル作成部26に送信し(S94)、送信した元の特徴量パラメータを内部のメモリから削除する(S95)。
Then, the feature quantity
以上のように、本実施の形態に係る異常検知装置20は、さらに、通信ログから正常モデルを作成し、作成した正常モデルを用いて、当該正常モデルに対応する動作モードに対応する、正常モデル保管部28に保管されている正常モデルを更新する正常モデル作成部26を備える。
As described above, the
これにより、通信ログから正常モデルが作成されるので、対象物を実際に正常動作させた状態で通信ログを自動生成させることが可能となり、正常モデルの作成負荷が軽減されるとともに、対象物の動作に応じて正常モデルを更新させる自動適応が可能となる。 As a result, a normal model is created from the communication log, so it is possible to automatically generate a communication log with the object actually operating normally, reducing the load of creating the normal model, and Automatic adaptation to update the normal model according to the operation becomes possible.
また、本実施の形態に係る異常検知装置20は、さらに、異常検知装置20の外部から新たな特徴量パラメータを取得する特徴量パラメータ更新部29を備え、正常モデル作成部26は、特徴量パラメータ更新部29によって取得された特徴量パラメータを用いて、正常モデル保管部28に保管されている正常モデルを更新する。
Further, the
これにより、外部から異常検知装置20に特徴量パラメータを与えることで、異常検知装置が備える正常モデル内の特徴量パラメータが更新されるので、正常モデルの精度を高める等の動的な正常モデルの構造変更が可能になり、正常モデルのメンテナンスも容易になる。
Thereby, since the feature parameter in the normal model provided in the abnormality detection device is updated by giving the feature parameter to the
以上、本発明に係る異常検知装置及び異常検知方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。 As described above, the abnormality detection device and the abnormality detection method according to the present invention have been described based on the embodiment. However, the present invention is not limited to this embodiment. Without departing from the gist of the present invention, various modifications conceived by those skilled in the art have been made in the present embodiment, and other forms constructed by combining some components in the embodiment are also within the scope of the present invention. Contained within.
例えば、上記実施の形態では、通信ネットワークを備えて動作する対象物として、自動車が例示されたが、対象物は、自動車に限られず、CAN等の通信ネットワークを備える輸送用機器、工場、工作機械等であってもよい。 For example, in the above-described embodiment, an automobile is exemplified as an object that operates with a communication network. However, the object is not limited to an automobile, and transportation equipment, a factory, and a machine tool that include a communication network such as CAN. Etc.
また、上記実施の形態では、通信ネットワークとして、CANが例示されたが、LIN、FlexRay(登録商標)、MOST(登録商標)等の他の車載ネットワークであってもよいし、車載とは異なる工作機械等の他の機器に搭載される通信ネットワークであってもよい。 In the above embodiment, CAN is exemplified as the communication network, but other in-vehicle networks such as LIN, FlexRay (registered trademark), MOST (registered trademark) may be used. It may be a communication network mounted on another device such as a machine.
また、上記実施の形態では、通信ログから動作モードが判定されたが、自動車に搭載されているADAS(Advanced Driver Assistance System)から得られる各種情報から動作モードを判定してもよい。 Moreover, in the said embodiment, although the operation mode was determined from the communication log, you may determine an operation mode from the various information obtained from ADAS (Advanced Driver Assistance System) mounted in the motor vehicle.
また、上記実施の形態で説明した異常検知方法は、異常検知装置20によって実行されるプログラムとして実現してもよいし、そのようなプログラムが記録されたDVD等のコンピュータ読み取り可能な記録媒体として実現してもよい。
Further, the abnormality detection method described in the above embodiment may be realized as a program executed by the
本発明は、通信ネットワークを備えて動作する対象物における異常を検知する異常検知装置として、より詳しくは、精度を劣化させることなく、従来よりも削減された計算負荷で異常を検知することができる異常検知装置として、例えば、CANバスに接続されるECUとして、利用できる。 The present invention, as an abnormality detection device that detects an abnormality in an object that operates with a communication network, more specifically, can detect an abnormality with a reduced calculation load than before without degrading accuracy. For example, the abnormality detection device can be used as an ECU connected to a CAN bus.
10 通信システム
12a〜12d ECU
14 通信ネットワーク
16a〜16e 正常CANメッセージ
17a〜17g 不正CANメッセージ
18a、18b 特徴量ベクタ
20 異常検知装置
21 通信ログ取得部
22 通信ログ蓄積部
221 行
222 タイムスタンプ
223 CAN_ID
224 ペイロード
22a 通信ログ
23 動作モード判定部
24 特徴量抽出部
25 正常モデル選択部
26 正常モデル作成部
27 異常度算出部
28 正常モデル保管部
28a〜28b、28c 正常モデル
281 動作モード識別子
282 特徴量パラメータ
282a 異常度尺度
283 基準値
29 特徴量パラメータ更新部
30 通信部
31 異常発生通知部
32 異常検知部
10
14
224
Claims (10)
前記対象物が取り得る複数の動作モードのそれぞれに対応し、前記通信ネットワークでの正常時の通信における特徴量の特性を示すデータである複数の正常モデルを保管する正常モデル保管部と、
前記通信ネットワークの通信ログから前記対象物の動作モードを判定する動作モード判定部と、
前記正常モデル保管部に保管された前記複数の正常モデルから、前記動作モード判定部で判定された動作モードに対応する正常モデルを選択する正常モデル選択部と、
前記正常モデル選択部で選択された前記正常モデルに従って、前記通信ログから前記通信ネットワークでの通信における特徴量を抽出する特徴量抽出部と、
前記正常モデル選択部で選択された前記正常モデル、及び、前記特徴量抽出部で抽出された前記特徴量に基づいて、前記通信ネットワークでの通信における異常を検知する異常検知部と、
を備える異常検知装置。 An anomaly detection device for detecting an anomaly in an object operating with a communication network,
Corresponding to each of a plurality of operation modes that can be taken by the object, a normal model storage unit that stores a plurality of normal models that are data indicating characteristics of characteristic quantities in normal communication in the communication network;
An operation mode determination unit that determines an operation mode of the object from a communication log of the communication network;
A normal model selection unit that selects a normal model corresponding to the operation mode determined by the operation mode determination unit from the plurality of normal models stored in the normal model storage unit;
According to the normal model selected by the normal model selection unit, a feature amount extraction unit that extracts a feature amount in communication in the communication network from the communication log;
Based on the normal model selected by the normal model selection unit and the feature amount extracted by the feature amount extraction unit, an abnormality detection unit that detects an abnormality in communication in the communication network;
An abnormality detection device comprising:
前記特徴量抽出部は、前記正常モデル選択部で選択された前記正常モデルに含まれる特徴量パラメータが示す種類の特徴量を、前記通信ログから抽出する、
請求項1記載の異常検知装置。 The normal model includes a feature parameter indicating a type of feature used for detecting an abnormality in communication on the communication network,
The feature quantity extraction unit extracts a feature quantity of a type indicated by a feature quantity parameter included in the normal model selected by the normal model selection unit from the communication log;
The abnormality detection device according to claim 1.
前記正常モデルには、さらに、前記特徴量パラメータが示す特徴量の種類に対応する特徴量の基準値が含まれ、
前記異常度算出部は、前記正常モデル選択部で選択された前記正常モデルに含まれる特徴量の基準値と前記特徴量抽出部で抽出された前記特徴量との間の外れ度合から、前記異常度を算出し、
前記異常検知部は、前記異常度算出部によって算出された前記異常度と閾値とを比較することで、異常の有無を検知する、
請求項2記載の異常検知装置。 An abnormality degree calculating unit for calculating an abnormality degree in communication in the communication network,
The normal model further includes a feature value reference value corresponding to the type of feature value indicated by the feature parameter.
The abnormality degree calculation unit is configured to calculate the abnormality from a degree of deviation between a reference value of a feature amount included in the normal model selected by the normal model selection unit and the feature amount extracted by the feature amount extraction unit. Calculate the degree,
The abnormality detection unit detects the presence or absence of an abnormality by comparing the abnormality degree calculated by the abnormality degree calculation unit and a threshold value.
The abnormality detection device according to claim 2.
前記異常度算出部は、前記正常モデル選択部で選択された前記正常モデルに含まれる異常度尺度が示すアルゴリズムに従って、前記異常度を算出する、
請求項1〜3のいずれか1項に記載の異常検知装置。 The normal model further includes an abnormality degree scale indicating an algorithm used for calculating the abnormality degree,
The abnormality degree calculation unit calculates the abnormality degree according to an algorithm indicated by an abnormality degree scale included in the normal model selected by the normal model selection unit.
The abnormality detection device according to claim 1.
請求項4記載の異常検知装置。 An abnormality occurrence notification unit for notifying the presence or absence of an abnormality detected by the abnormality detection unit;
The abnormality detection device according to claim 4.
前記通信ログ取得部によって取得された前記通信ログを蓄積する通信ログ蓄積部と、をさらに備え、
前記動作モード判定部は、前記通信ログ蓄積部に蓄積された前記通信ログから前記動作モードを判定する、
請求項1〜5のいずれか1項に記載の異常検知装置。 A communication log acquisition unit that acquires the communication log by recording communication in the communication network;
A communication log storage unit that stores the communication log acquired by the communication log acquisition unit;
The operation mode determination unit determines the operation mode from the communication log stored in the communication log storage unit;
The abnormality detection apparatus of any one of Claims 1-5.
請求項1〜6のいずれか1項に記載の異常検知装置。 A normal model creation unit that creates a normal model from the communication log and updates the normal model stored in the normal model storage unit corresponding to the operation mode corresponding to the normal model using the created normal model Further comprising
The abnormality detection device according to any one of claims 1 to 6.
前記正常モデル作成部は、前記特徴量パラメータ更新部によって取得された前記特徴量パラメータを用いて、前記正常モデル保管部に保管されている正常モデルを更新する、
請求項7記載の異常検知装置。 A feature quantity parameter update unit that acquires a new feature quantity parameter from outside the abnormality detection device;
The normal model creation unit updates the normal model stored in the normal model storage unit using the feature parameter acquired by the feature parameter update unit.
The abnormality detection device according to claim 7.
前記通信ネットワークの通信ログから前記対象物の動作モードを判定する動作モード判定ステップと、
前記対象物が取り得る複数の動作モードのそれぞれに対応し、前記通信ネットワークでの正常時の通信における特徴量の特性を示すデータである複数の正常モデルから、前記動作モード判定ステップで判定された動作モードに対応する正常モデルを選択する正常モデル選択ステップと、
前記正常モデル選択ステップで選択された前記正常モデルに従って、前記通信ログから前記通信ネットワークでの通信における特徴量を抽出する特徴量抽出ステップと、
前記正常モデル選択ステップで選択された前記正常モデル、及び、前記特徴量抽出ステップで抽出された前記特徴量に基づいて、前記通信ネットワークでの通信における異常を検知する異常検知ステップと、
を含む異常検知方法。 An abnormality detection method by an apparatus for detecting an abnormality in an object operating with a communication network,
An operation mode determination step of determining an operation mode of the object from a communication log of the communication network;
Corresponding to each of a plurality of operation modes that can be taken by the object, it is determined in the operation mode determination step from a plurality of normal models that are data indicating characteristics of characteristic quantities in normal communication in the communication network. A normal model selection step for selecting a normal model corresponding to the operation mode;
According to the normal model selected in the normal model selection step, a feature amount extraction step of extracting a feature amount in communication on the communication network from the communication log;
An abnormality detection step of detecting an abnormality in communication in the communication network based on the normal model selected in the normal model selection step and the feature amount extracted in the feature amount extraction step;
Anomaly detection method including
前記通信ネットワークの通信ログから前記対象物の動作モードを判定する動作モード判定処理と、
前記対象物が取り得る複数の動作モードのそれぞれに対応し、前記通信ネットワークでの正常時の通信における特徴量の特性を示すデータである複数の正常モデルから、前記動作モード判定処理で判定された動作モードに対応する正常モデルを選択する正常モデル選択処理と、
前記正常モデル選択処理で選択された前記正常モデルに従って、前記通信ログから前記通信ネットワークでの通信における特徴量を抽出する特徴量抽出処理と、
前記正常モデル選択処理で選択された前記正常モデル、及び、前記特徴量抽出処理で抽出された前記特徴量に基づいて、前記通信ネットワークでの通信における異常を検知する異常検知処理と、
を含むプログラム。 A program for causing a computer to detect an abnormality in an object operating with a communication network,
An operation mode determination process for determining an operation mode of the object from a communication log of the communication network;
Corresponding to each of a plurality of operation modes that can be taken by the object, it is determined by the operation mode determination process from a plurality of normal models that are data indicating characteristics of characteristic amounts in normal communication in the communication network. A normal model selection process for selecting a normal model corresponding to the operation mode;
In accordance with the normal model selected in the normal model selection process, a feature quantity extraction process for extracting a feature quantity in communication on the communication network from the communication log;
An abnormality detection process for detecting an abnormality in communication in the communication network based on the normal model selected in the normal model selection process and the feature quantity extracted in the feature quantity extraction process;
Including programs.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017056691A JP2018160078A (en) | 2017-03-22 | 2017-03-22 | Abnormality detection device and abnormality detection method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017056691A JP2018160078A (en) | 2017-03-22 | 2017-03-22 | Abnormality detection device and abnormality detection method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018160078A true JP2018160078A (en) | 2018-10-11 |
Family
ID=63795685
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017056691A Pending JP2018160078A (en) | 2017-03-22 | 2017-03-22 | Abnormality detection device and abnormality detection method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018160078A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020123887A (en) * | 2019-01-31 | 2020-08-13 | ヒースト株式会社 | Automatic door device |
| WO2020203352A1 (en) | 2019-03-29 | 2020-10-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Anomaly sensing method and anomaly sensing system |
| JP2020204937A (en) * | 2019-06-18 | 2020-12-24 | ファナック株式会社 | Examination apparatus and examination method |
| CN112673326A (en) * | 2018-10-24 | 2021-04-16 | 欧姆龙株式会社 | Control device and control program |
| CN113454542A (en) * | 2019-02-19 | 2021-09-28 | 日立造船株式会社 | Information processing device, information processing method, and information processing program |
| CN114051581A (en) * | 2019-08-01 | 2022-02-15 | 三菱动力株式会社 | Plant monitoring device, plant monitoring method, and program |
| JP2022165278A (en) * | 2021-04-19 | 2022-10-31 | 株式会社日立製作所 | Abnormality detection method and system for the same |
| JP7304401B1 (en) | 2021-12-20 | 2023-07-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Support device, support method and support program |
| JP7371802B1 (en) | 2023-01-11 | 2023-10-31 | 富士電機株式会社 | Abnormality diagnosis system, abnormality diagnosis device, abnormality diagnosis method, and program |
| JP2024017523A (en) * | 2022-07-28 | 2024-02-08 | 株式会社東芝 | Information processing device, information processing method, and information processing program |
-
2017
- 2017-03-22 JP JP2017056691A patent/JP2018160078A/en active Pending
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3872593A4 (en) * | 2018-10-24 | 2022-07-13 | OMRON Corporation | CONTROL DEVICE AND CONTROL PROGRAM |
| CN112673326A (en) * | 2018-10-24 | 2021-04-16 | 欧姆龙株式会社 | Control device and control program |
| CN112673326B (en) * | 2018-10-24 | 2024-08-20 | 欧姆龙株式会社 | Control device and storage medium |
| US11829130B2 (en) | 2018-10-24 | 2023-11-28 | Omron Corporation | Control apparatus and non-transitory computer readable medium for detecting abnormality occurring in subject to be monitored |
| JP2020123887A (en) * | 2019-01-31 | 2020-08-13 | ヒースト株式会社 | Automatic door device |
| JP7210304B2 (en) | 2019-01-31 | 2023-01-23 | ナブテスコ株式会社 | automatic door device |
| CN113454542A (en) * | 2019-02-19 | 2021-09-28 | 日立造船株式会社 | Information processing device, information processing method, and information processing program |
| CN113454542B (en) * | 2019-02-19 | 2025-02-07 | 科纳维株式会社 | Information processing device, information processing method, and information processing program |
| EP3929669A4 (en) * | 2019-02-19 | 2022-11-23 | Hitachi Zosen Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM |
| WO2020203352A1 (en) | 2019-03-29 | 2020-10-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Anomaly sensing method and anomaly sensing system |
| US11943243B2 (en) | 2019-03-29 | 2024-03-26 | Panasonic Intellectual Property Corporation Of America | Anomaly detection method and anomaly detection device |
| JP2020204937A (en) * | 2019-06-18 | 2020-12-24 | ファナック株式会社 | Examination apparatus and examination method |
| JP7347969B2 (en) | 2019-06-18 | 2023-09-20 | ファナック株式会社 | Diagnostic equipment and method |
| CN114051581A (en) * | 2019-08-01 | 2022-02-15 | 三菱动力株式会社 | Plant monitoring device, plant monitoring method, and program |
| CN114051581B (en) * | 2019-08-01 | 2024-05-31 | 三菱重工业株式会社 | Complete equipment monitoring device, complete equipment monitoring method and storage medium |
| JP7277504B2 (en) | 2021-04-19 | 2023-05-19 | 株式会社日立製作所 | Anomaly detection method and anomaly detection system |
| JP2022165278A (en) * | 2021-04-19 | 2022-10-31 | 株式会社日立製作所 | Abnormality detection method and system for the same |
| JP2023099875A (en) * | 2021-12-20 | 2023-07-14 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Support device, support method and support program |
| JP7304401B1 (en) | 2021-12-20 | 2023-07-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Support device, support method and support program |
| JP2024017523A (en) * | 2022-07-28 | 2024-02-08 | 株式会社東芝 | Information processing device, information processing method, and information processing program |
| JP7371802B1 (en) | 2023-01-11 | 2023-10-31 | 富士電機株式会社 | Abnormality diagnosis system, abnormality diagnosis device, abnormality diagnosis method, and program |
| JP2024098717A (en) * | 2023-01-11 | 2024-07-24 | 富士電機株式会社 | Abnormality diagnosis system, abnormality diagnosis device, abnormality diagnosis method, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2018160078A (en) | Abnormality detection device and abnormality detection method | |
| US11748474B2 (en) | Security system and methods for identification of in-vehicle attack originator | |
| US10723361B2 (en) | Monitoring apparatus, communication system, vehicle, monitoring method, and non-transitory storage medium | |
| JP2019083534A5 (en) | ||
| US11368329B2 (en) | Device and method for dividing field boundary of can trace | |
| US11023578B2 (en) | Method and electronic device for monitoring an avionics software application, related computer program and avionics system | |
| US20250045410A1 (en) | Systems and methods for improving and updating ids with fuzzing results | |
| CN108944799B (en) | Vehicle driving behavior abnormity processing method and device | |
| CN105416235A (en) | System and method for detecting wheel assembly tampering | |
| US11288054B2 (en) | Vehicular communication system | |
| US12206681B2 (en) | Method for checking a message in a communication system | |
| US20220147621A1 (en) | Method for detecting an unauthorized physical access to a bus system | |
| JP7176564B2 (en) | Monitoring device and monitoring method | |
| CN115484059B (en) | Vehicle bus message processing method, device, vehicle terminal and storage medium | |
| US20250225237A1 (en) | Information processing device, information processing system, method and storage medium thereof | |
| CN114368390B (en) | Method and apparatus for verifying a KI-based information processing system | |
| US20220014392A1 (en) | Information processing device | |
| KR102469399B1 (en) | Attack detection system of can network, attack detection method of can network and computer program stored in a recording medium to execute the method | |
| CN111079124A (en) | Security chip activation method and device, terminal equipment and server | |
| US12346071B2 (en) | Method and control unit for automatically selecting data sets for a method for machine learning | |
| JP2024051327A (en) | Update device, update method, and update program | |
| CN118740444B (en) | Vehicle infotainment system mode determination method, device, storage medium, and processor | |
| CN113954768B (en) | Detection data acquisition method, vehicle controller and storage medium | |
| JP6751049B2 (en) | Profile creation system, profile creation method, profile creation program, and detection device | |
| JP7025200B2 (en) | Program control device, program control system and program control method |