JP7483174B2 - 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム - Google Patents

攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム Download PDF

Info

Publication number
JP7483174B2
JP7483174B2 JP2024505447A JP2024505447A JP7483174B2 JP 7483174 B2 JP7483174 B2 JP 7483174B2 JP 2024505447 A JP2024505447 A JP 2024505447A JP 2024505447 A JP2024505447 A JP 2024505447A JP 7483174 B2 JP7483174 B2 JP 7483174B2
Authority
JP
Japan
Prior art keywords
attack detection
pattern
rule
target data
communication data
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.)
Active
Application number
JP2024505447A
Other languages
English (en)
Other versions
JPWO2023223445A5 (ja
JPWO2023223445A1 (ja
Inventor
孝一 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2023223445A1 publication Critical patent/JPWO2023223445A1/ja
Publication of JPWO2023223445A5 publication Critical patent/JPWO2023223445A5/ja
Application granted granted Critical
Publication of JP7483174B2 publication Critical patent/JP7483174B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、攻撃検知装置、攻撃検知方法、及び攻撃検知プログラムに関する。
近年、産業制御システムのオープン化又はネットワーク化等に伴い、産業制御システムに対するサイバー攻撃の脅威が増大している。ネットワークを通じて侵入するサイバー攻撃に対する対策の1つとして、ネットワーク通信を監視することによって攻撃活動を捉える攻撃検知システムがある。特に、産業制御システムでは、ネットワーク通信が固定的であることを利用した攻撃検知方法として、正常な通信パケットの宛先IP(Internet Protocol)アドレス又はポート番号等を許可リストとして作成し、作成した許可リストに従わない通信パケットを攻撃として検知する方法と、より一般に正常な通信パケットの特徴を定義し、定義した特徴から外れている通信パケットを検知する方法とがある。
一方、正常な通信パケットを組み合わせることにより行われるサイバー攻撃が存在し、当該サイバー攻撃では前述の方法をすり抜けてサイバー攻撃を仕掛ける。そのようなより高度なサイバー攻撃を検知する方法として、システムの状態に応じて許可リストを更新する方法と、許可リストを、通信パケットの出現順序又は出現頻度等の複数の通信パケットにまたがる特徴を示すものとする方法と、許可リストを用いて正常と判定された通信パケットに対してさらに別の基準を用いて攻撃判定を行う方法等がある。
特許文献1は2段階で通信を判定する技術を開示している。ここで、1段階目において、許可リストを用いた攻撃検知を行い、許可リストに含まれているルールに従わない通信を攻撃と判定する。2段階目において、許可リストに含まれているルールに従う通信の異常度により通信が攻撃であるか否かを判定する。
国際公開2019/240020号パンフレット
特許文献1が開示する技術によれば、1つの通信データに関する複数の要素に対応する特徴量を用いて当該1つの通信データを判定する場合において、当該複数の要素を用いて特徴量を算出する必要があるために処理負荷が比較的高くなるという課題がある。
本開示は、許可リストを用いて正常と判定された通信パケットに対してさらに別の基準を用いて攻撃判定を行う方法において、1つの通信データに関する複数の要素に対応する特徴量を用いて当該1つの通信データを判定する場合において、当該複数の要素を用いて特徴量を算出しないことを目的とする。
本開示に係る攻撃検知装置は、
複数の通信データの各々を対象データとし、前記対象データが、各々が固有の識別子を割り当てられている複数のルールを含む許可リストに含まれているルールのいずれかに従うか否かを判定する攻撃検知処理を実行する攻撃検知部と、
前記対象データが前記許可リストに含まれているルールのいずれかに従う場合に、前記複数の通信データの各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのモデルを用いて、前記対象データが従うルールに対応する識別子が前記モデルから導出される識別子の出現パターンと整合するか否かを判定するパターン判定処理を実行するパターン判定部と、
前記パターン判定処理が実行された場合に、前記攻撃検知処理による判定結果と、前記パターン判定処理による判定結果とを用いて前記対象データが正常であるか否かを判定する最終判定部と
を備える。
本開示によれば、対象データが許可リストに含まれているルールのいずれかに従う場合に、対象データが従うルールに対応する識別子がモデルから導出される識別子の出現パターンと整合するか否かを判定する。ここで、当該モデルは、複数の通信データの各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのものである。従って、本開示によれば、許可リストを用いて正常と判定された通信パケットに対してさらに別の基準を用いて攻撃判定を行う方法において、1つの通信データに関する複数の要素に対応する特徴量を用いて当該1つの通信データを判定する場合において、当該複数の要素を用いて特徴量を算出しない。
実施の形態1に係る攻撃検知装置100の機能構成例を示す図。 実施の形態1に係る攻撃検知部120の機能構成例を説明する図であり、(a)は攻撃検知部120の機能構成例を示す図、(b)は許可リスト122の具体例を示す図。 実施の形態1に係るパターン判定部130の機能構成例を示す図。 実施の形態1に係る最終判定部140の機能構成例を説明する図であり、(a)は最終判定部140の機能構成例を示す図、(b)は判定総合部141の具体例を示す図。 実施の形態1に係るルール番号のパターンを説明する図であり、(a)は攻撃検知部120の処理を説明する図、(b)はルール番号列を説明する図。 実施の形態1に係るルール番号のパターンを説明する図。 実施の形態1に係る判定部133の処理を説明する図。 実施の形態1に係る攻撃検知装置100のハードウェア構成例を示す図。 実施の形態1に係る攻撃検知装置100の動作を示すフローチャート。 実施の形態1の変形例に係る攻撃検知装置100のハードウェア構成例を示す図。 実施の形態2に係るパターン判定部130の機能構成例を示す図。 実施の形態2に係るパターン分類情報136の具体例を示す図。 実施の形態2に係るパターン分類を説明する図。 実施の形態3に係る照合部121の処理を説明する図。 実施の形態3に係る照合部121の処理を説明する図。 実施の形態3に係る照合部121の処理を説明する図。 実施の形態3に係る通信データ202を説明する図。
実施の形態の説明及び図面において、同じ要素及び対応する要素には同じ符号を付している。同じ符号が付された要素の説明は、適宜に省略又は簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。また、「部」を、「回路」、「工程」、「手順」、「処理」又は「サーキットリー」に適宜読み替えてもよい。
実施の形態1.
以下、本実施の形態について、図面を参照しながら詳細に説明する。
***構成の説明***
図1は、攻撃検知装置100の機能構成例を示すブロック図である。攻撃検知装置100は、図1に示すように、通信データ取得部110と、攻撃検知部120と、パターン判定部130と、最終判定部140と、判定結果出力部150とを備える。攻撃検知部120は許可リスト型攻撃検知部とも呼ばれる。パターン判定部130はルール番号パターン判定部とも呼ばれる。
通信データ取得部110は、通信データ202を取得する。
通信データ202は、検知対象である通信データであり、攻撃検知部120への入力である通信データである。
攻撃検知部120は、通信データ202が許可リスト122によって許可されたものであるか否かを判定する。攻撃検知部120は、複数の通信データ202の各々を対象データとし、対象データが、許可リスト122に含まれているルールのいずれかに従うか否かを判定する攻撃検知処理を実行する。
許可リスト122は、ホワイトリストであり、許可される通信の特徴をルールとして定義したものであり、各ルールの識別子と、各ルールによって許可される通信の特徴を列挙したリストとを示すデータである。ルールの識別子は、具体例としてルール番号である。許可リスト122には複数のルールが通常含まれている。各ルールには固有の識別子が割り当てられている。
パターン判定部130は、許可リスト122によって許可されたものであると判定された通信データ202を、当該通信データ202に対応するルール番号206に基づいて判定する。パターン判定部130は、対象データが許可リスト122に含まれているルールのいずれかに従う場合に、識別子の出現パターンに関するモデルを用いて、対象データが従うルールに対応する識別子が当該モデルから導出される識別子の出現パターンと整合するか否かを判定するパターン判定処理を実行する。当該モデルは、複数の通信データ202の各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのものである。対象データに対応する識別子が当該モデルから導出される識別子の出現パターンと整合する場合において、具体例として、対象データに対応する識別子として当該出現パターンから推定される識別子と、実際の対象データに対応する識別子とが一致する、又は、当該出現パターンが示す性質が、対象データを受信した時点において受信済みである全ての通信データ202の各々に対応する識別子の出現パターンが示す性質と矛盾しない。パターン判定部130は、正常と判定された複数の通信データ202と、正常と判定された複数の通信データ202の各々に対応する識別子の出現パターンとを用いて識別子の出現パターンに関するモデルを学習してもよい。
ルール番号206は、各ルールの識別子であり、通信データ202が許可された通信であると判定された場合において、許可リスト122に含まれているどのルールに通信データ202が従うのかを確認するために用いられる。
最終判定部140は、判定結果205と判定結果303とを総合することにより最終的な判定結果を決定する。最終判定部140は、パターン判定処理が実行された場合に、攻撃検知処理による判定結果と、パターン判定処理による判定結果とを用いて対象データが正常であるか否かを判定する。対象データが正常である場合において、具体例として、対象データは攻撃に関するデータではない。最終判定部140は、攻撃検知処理において対象データが許可リスト122に含まれているルールのいずれにも従わないと判定された場合に、対象データが正常ではないと判定する。最終判定部140は、攻撃検知処理において対象データが許可リスト122に含まれているルールのいずれかに従うと判定されたとき、パターン判定処理において対象データが従うルールに対応する識別子がモデルから導出される出現パターンと整合しないと判定された場合に、対象データが正常ではないと判定する。
判定結果205は、攻撃検知部120による判定の結果を示すデータであり、通信データ202が許可された通信であるか否かを表すデータである。
判定結果303は、パターン判定部130による判定の結果を示すデータである。
判定結果出力部150は、最終的な判定結果を出力する。
図2の(a)は、攻撃検知部120の機能構成例を示すブロック図である。攻撃検知部120は、図2の(a)に示すように、照合部121と、許可リスト122とを備える。
照合部121は、通信データ202を許可リスト122と照合することにより、通信データ202に係る通信が許可された通信であるか否かを判定する。照合部121は、判定結果205及びルール番号206を出力する。
図2の(b)は、許可リスト122の具体例を示している。
本例に示すように、本実施の形態に係る許可リスト122では、各ルールに対して識別子であるルール番号が重複なく付与されており、ルール番号とルールとが1対1対応しているものとする。また、識別子は、整数、又は整数と1対1で対応付けられる値で表されるとする。即ち、識別子はコンピュータで整数として扱うことができるものとする。
一方、通信の特徴は、通常、攻撃検知の精度を比較的高くすることを目的として、複数の互いに異なる種類の項目を組み合わせた形式で表される。本例では、通信の特徴は、プロトコルと、送信元IP(Internet Protocol)アドレスと、送信元ポートと、宛先IPアドレスと、宛先ポートと、データ長と、ペイロードとの7項目から成る。このように、本実施の形態に係る許可リスト122では、複数の項目から成る1個の通信の特徴に対して1個の識別子が割り当てられている。なお、コンピュータにおける処理効率の観点では、複数の互いに異なる種類の項目を組み合わせとして1個の通信の特徴を処理するよりも、1個の識別子を処理する方が効率的であることは明らかである。
図3は、パターン判定部130の機能構成例を示すブロック図である。パターン判定部130は、図3に示すように、モデル学習部131と、モデル記憶部132と、判定部133と、モデル取得部134とを備える。
判定部133は、ルール番号206が正常であるか否かを判定し、判定した結果を判定結果303として出力する。ルール番号206が正常であるか否かの判定において、判定部133は、ルール番号206をルール番号モデルと照合する。ルール番号モデルは、正常なルール番号の出現パターンをモデル化したものである。
モデル学習部131は、正常な通信データ202に対応するルール302を入力として、ルール番号モデルを学習する。
モデル取得部134は、ルール番号モデルを外部入力により取得する。
モデル記憶部132は、モデル学習部131によって学習されたルール番号モデル、又は、モデル取得部134によって外部から取得されたルール番号モデルを記憶する。
図4の(a)は、最終判定部140の機能構成例を示すブロック図である。最終判定部140は、図4に示すように判定総合部141を備える。
本実施の形態では、通信データ202に対して、攻撃検知部120による判定結果205と、パターン判定部130による判定結果303との2種類の判定結果が得られる。判定総合部141は、それら2種類の判定結果を総合することにより最終的な判定結果を決定し、決定した判定結果を出力する。
図4の(b)は、判定総合部141の処理の具体例を示している。判定総合部141は、具体例として、判定結果の総合方法として2個の入力の論理和を算出する方法を採用する。即ち、ある通信データ202が攻撃検知部120とパターン判定部130との少なくとも一方において攻撃と判定された場合、当該ある通信データ202は最終的に攻撃と判定される。これにより、ある通信データ202が攻撃検知部120において攻撃と判定されれば最終判定部140において当該ある通信データ202は攻撃と判定され、また、ある通信データ202が攻撃検知部120において正常と判定されても、当該ある通信データ202がパターン判定部130において攻撃と判定されれば最終判定部140において当該ある通信データ202は攻撃と判定される。なお、通信データ202を攻撃と判定することには、通信データ202に対応する通信を攻撃と判定することが含まれる。
図5を用いて、ルール番号のパターンについて説明する。攻撃検知部120に正常なパケットを次々に入力すると、各パケットに対応するルール番号が次々に攻撃検知部120から出力される。各パケットに対応するルール番号は、各パケットが従っているルールを示すルール番号である。
図5の(a)は、パケット列501を入力すると、入力されたパケット列501の各パケットに対応するルール番号から成るルール番号列502が攻撃検知部120から出力される様子を表している。ここで、パケット列501は正常なパケットから成るものとする。
図5の(b)は数列503の具体例を示している。数列503は正常なパケット列501に対応するルール番号列502の一例である。図5の(b)は、正常なパケット受信した順に攻撃検知部120に正常なパケットが入力されると、入力された各パケットに対応するルール番号が0,1,0,2,1,3,4,1,5,…の順に出力される様子を表している。また、グラフ504は、横軸を時刻とし、縦軸をルール番号としてルール番号列502の各要素をプロットしたグラフである。横軸は、ルール番号列502の各要素に対応するパケットを受信した時刻を示す。ここで、グラフ504において、ルール番号列502の規則性が幾何学的なパターンとして現れている。このように、本実施の形態では、許可リスト122に含まれている各ルールにルール番号を付与し、各ルール及び各ルール番号を対応付けることによって、正常なパケットに対応するルールの規則性が、ルール番号の規則性として明らかになる。
図6は、ルール番号のパターンについて別の具体例を示している。図6は、計100個の正常な通信データ202が与えられたとき、許可リスト122の各ルール番号に対応する通信データ202の数を表しているヒストグラムである。このヒストグラムから、正常な通信データ202の大部分(約40パーセント)がルール番号1に対応することと、正常な通信データ202のごく一部(約4パーセント)がルール番号8に対応すること等が分かる。
モデル学習部131は、以上のようなルール番号のパターンを学習する。なお、モデル学習部131が学習に用いる手法は任意であるが、具体例としてグラフ504のような時系列データに対してはLSTM(Long Short Term Memory)と呼ばれる手法が適していることが知られている。また、図6に示すようなヒストグラムは、各ルール番号に対応する通信データ202の数をカウントすることにより生成することができる。
そして、前述したように、1個の整数で表されるルール番号の特徴量を算出することは、複数の互いに異なる種類の項目から成る通信の特徴量を算出することよりもコンピュータによる処理効率が高い。そのため、ルール番号のパターンを学習することにより学習コストを減らすことができる。
図7は、判定部133の動作例を示している。ここで、正常な通信データ202に対応するルール番号の順序として0,1,0,2,1,3,4,1,5,…がルール番号モデルとして学習されているものとする。判定部133は、当該ルール番号モデルを用いて、次に受信する正常な通信データ202が対応すべきルール番号を予測し、予測したルール番号に基づいて、攻撃検知中に実際に受信した通信データ202に対応するルール番号が正しいか否かを判断する。
ここで、攻撃検知中に受信した通信データ202に対応するルール番号が通信データ202を受信した順に0,1,0,2,1,2であったものとする。このとき、最後に受信した通信データ202に対応するルール番号である「2」は、当該通信データ202が対応すべきルール番号である「3」ではない。そのため、判定部133は当該通信データ202を攻撃であると判定する。なお、本例ではルール番号が厳密に一致しない場合に攻撃と判定されるが、ルール番号が厳密に一致しない場合であっても攻撃と判定されなくてもよい。具体例として、ルール番号モデルは、ルール番号のパターンの確率的な性質又は統計的な性質を示すモデルであってもよく、判定部133は、当該モデルが示す確率的な性質又は統計的な性質と、ルール番号のパターンとが矛盾する場合に攻撃と判定してもよい。
図8は、攻撃検知装置100のハードウェア構成例であり、攻撃検知装置100を実現するコンピュータの一例を示している。本例は、一般的なコンピュータに見られるように、プロセッサ902と、主記憶装置903と、補助記憶装置904と、入力インターフェース906と、表示インターフェース907と、ネットワークインターフェース908とがデータバス905で接続されている構成を示している。攻撃検知装置100は複数のコンピュータから成ってもよい。
プロセッサ902は、演算処理を行うIC(Integrated Circuit)であり、かつ、コンピュータが備えるハードウェアを制御する。プロセッサ902は、具体例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、又はGPU(Graphics Processing Unit)である。
プロセッサ902を代替する複数のプロセッサを備えてもよい。複数のプロセッサはプロセッサ902の役割を分担する。
主記憶装置903は、典型的には揮発性の記憶装置であり、具体例としてRAM(Random Access Memory)である。主記憶装置903はメインメモリとも呼ばれる。主記憶装置903に記憶されたデータは、必要に応じて補助記憶装置904に保存される。
補助記憶装置904は、典型的には不揮発性の記憶装置であり、具体例として、ROM(Read Only Memory)、HDD(Hard Disk Drive)、又はフラッシュメモリである。補助記憶装置904に記憶されたデータは、必要に応じて主記憶装置903にロードされる。
入力インターフェース906は、入力装置が接続されるポートであり、具体例としてUSB(Universal Serial Bus)端子である。入力装置は、具体例として、キーボード及びマウスである。
表示インターフェース907は、表示装置が接続されるポートであり、具体例としてHDMI(登録商標、High-Definition Multimedia Interface)端子である。表示装置は、具体例としてディスプレイである。
ネットワークインターフェース908は、レシーバ及びトランスミッタである。ネットワークインターフェース908は、具体例として、通信チップ又はNIC(Network Interface Card)である。
攻撃検知部120及びパターン判定部130等の処理はソフトウェアのプログラムである攻撃検知プログラムとして実装され、通常、攻撃検知プログラムは補助記憶装置904に保持されている。攻撃検知プログラムは、プロセッサ902によってより高速な主記憶装置903に読み込まれて実行される。
攻撃検知プログラムは、コンピュータが読み取り可能な不揮発性の記録媒体に記録されていてもよい。不揮発性の記録媒体は、具体例として、光ディスク又はフラッシュメモリである。攻撃検知プログラムは、プログラムプロダクトとして提供されてもよい。
攻撃検知プログラムを実行する際に用いられるデータと、攻撃検知プログラムを実行することによって得られるデータ等は、記憶装置に適宜記憶される。攻撃検知装置100の各部は記憶装置を適宜利用する。記憶装置は、具体例として、主記憶装置903と、補助記憶装置904と、プロセッサ902内のレジスタと、プロセッサ902内のキャッシュメモリとの少なくとも1つから成る。なお、データと情報とは同等の意味を有することもある。記憶装置は、コンピュータと独立したものであってもよい。
通信データ取得部110の取得対象である通信データ202は、攻撃検知がリアルタイムで行われる場合、ネットワークインターフェース908から取得される。一方、過去に取得済みの通信データ202に対して攻撃検知を行う場合、補助記憶装置904に保持されている通信データ202を取得することも考えられる。攻撃検知の結果は、表示インターフェース907によって視覚的に表示されたり、ネットワークインターフェース908を介して遠隔のオペレータに通知されたりする。また、攻撃検知装置100の設定等の目的で、入力インターフェース906を用いてもよい。攻撃検知装置100の設定としては、具体例として、許可リスト122及びルール番号モデルの編集等が考えられる。
なお、攻撃検知装置100が具体例としてルータのような形態で実現される場合には、攻撃検知装置100は入力インターフェース906及び表示インターフェース907等を持たない場合もある。また、攻撃検知処理の一部もしくは全部がソフトウェアではなくハードウェアとして実装される場合も考えられる。この場合において、攻撃検知装置100は、FPGA(Field Programmable Gate Array)等の論理回路を備えた装置であることも考えられる。
***動作の説明***
攻撃検知装置100の動作手順は攻撃検知方法に相当する。また、攻撃検知装置100の動作を実現するプログラムは攻撃検知プログラムに相当する。
図9は、攻撃検知装置100の動作全体の一例を表すフローチャートである。図9を参照して攻撃検知装置100の動作を説明する。
(ステップS801)
通信データ取得部110は、攻撃検知対象である通信データ202を取得する。
(ステップS802)
照合部121は、取得された通信データ202を許可リスト122と照合する。
(ステップS803)
取得された通信データ202が許可リスト122に含まれているいずれかのルールに従う場合、攻撃検知装置100はステップS806に進む。それ以外の場合、攻撃検知装置100はステップS804に進む。
(ステップS804)
照合部121は、取得された通信データ202が攻撃であると判定する。
(ステップS805)
判定総合部141は、照合部121による判定結果と、判定部133による判定結果とを総合することにより最終的な判定を行う。なお、判定部133による判定結果がない場合、判定総合部141は判定部133による判定結果を用いずに最終的な判定を行う。
判定総合部141は、最終的な判定を行った結果を示すデータを出力する。
(ステップS806)
ステップS806は、ステップS807からステップS812から成る。判定部133によるステップS806の処理が終了した後、攻撃検知装置100はステップS805に進む。
(ステップS807)
判定部133は、取得された通信データ202に対応するルール番号を取得する。
(ステップS808)
判定部133は、モデル記憶部132からルール番号モデルを読み出し、取得したルール番号が読み出したルール番号モデルに適合するか否かを判定する。
(ステップS809)
モデル学習部131は、ステップS808の処理に並行して、ステップS807において取得したルール番号を学習することによりルール番号モデルを更新する。
(ステップS810)
ステップS808において、取得したルール番号が読み出したルール番号モデルに適合しないと判定された場合、判定部133はステップS811に進む。それ以外の場合、判定部133はステップS812に進む。
(ステップS811)
判定部133は、取得された通信データ202を攻撃と判定する。
(ステップS812)
判定部133は、取得された通信データ202を攻撃ではないと判定する。
***実施の形態1の効果の説明***
以上のように、本実施の形態によれば、許可リスト122に含まれている各ルールに一意な識別子を付与することによって、通常は複数の互いに異なる種類の項目で表される通信データ202の特徴量を1個の識別子に代表させ、代表させた識別子を学習対象とする。そのため、正常な通信のシーケンス又は統計的な特徴等を学習するコストを減らすことができる。
また、本実施の形態によれば、許可リスト型攻撃検知において、通信データ202が従うルールに対応する識別子を取得する処理によって、学習対象である特徴量を抽出する処理が実現されている。そのため、本実施の形態によれば、学習に必要な特徴量を抽出するコストを減らすことができる。
従って、本実施の形態によれば、許可リスト型攻撃検知と、学習による攻撃検知とを組み合わせた攻撃検知において、精度が比較的高い攻撃検知を比較的少ない計算リソースで実現することができる。
***他の構成***
<変形例1>
図10は、本変形例に係る攻撃検知装置100のハードウェア構成例を示している。
攻撃検知装置100は、プロセッサ902、プロセッサ902と主記憶装置903、プロセッサ902と補助記憶装置904、あるいはプロセッサ902と主記憶装置903と補助記憶装置904とに代えて、処理回路909を備える。
処理回路909は、攻撃検知装置100が備える各部の少なくとも一部を実現するハードウェアである。
処理回路909は、専用のハードウェアであってもよく、また、主記憶装置903に格納されるプログラムを実行するプロセッサであってもよい。
処理回路909が専用のハードウェアである場合、処理回路909は、具体例として、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)又はこれらの組み合わせである。
攻撃検知装置100は、処理回路909を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路909の役割を分担する。
攻撃検知装置100において、一部の機能が専用のハードウェアによって実現されて、残りの機能がソフトウェア又はファームウェアによって実現されてもよい。
処理回路909は、具体例として、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせにより実現される。
プロセッサ902と主記憶装置903と補助記憶装置904と処理回路909とを、総称して「プロセッシングサーキットリー」という。つまり、攻撃検知装置100の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
他の実施の形態に係る攻撃検知装置100についても、本変形例と同様の構成であってもよい。
実施の形態2.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
***構成の説明***
実施の形態1では、正常な通信データ202に対応する識別子のパターンを学習することにより、正常な通信データ202のパターンを比較的効率良く学習する。しかしながら、実施の形態1によれば、正常な通信データ202が取り得る多様なパターンのそれぞれが与えられたとき、どのようにして適切な学習手法を選択するかは明らかではない。ここで、対象システムの仕様に関する情報が手に入る場合、各ルールの意味と、識別子が取り得るパターン等を当該情報から事前に知ることができる。そのため、この場合において、ルール番号のパターン毎に適した学習手法を選択すること、また、学習手法を用いずにルール番号モデルを直接的に生成すること等が可能である。本実施の形態は対象システムの仕様に関する情報を活用することを目的とする。
図11は、本実施の形態に係るパターン判定部130の機能構成例を示すブロック図である。パターン判定部130は、図11に示すように、学習手法選択部135と、パターン分類情報136とをさらに備える。パターン判定部130は、正常と判定された複数の通信データ202の各々に対応する識別子の出現パターンの分類に応じて識別子の出現パターンに関するモデルを学習する方法を選択する。
パターン分類情報136は、仕様情報137に基づいて生成される情報であり、パターン分類を示す情報である。
仕様情報137は、あらかじめ手に入る情報であり、対象システムの仕様等を示す情報である。
学習手法選択部135は、パターン分類情報136を利用してルール番号のパターンに適した学習手法を選択する。
モデル学習部131は、学習手法選択部135によって選択された学習手法を用いてルール番号モデルを学習する。
なお、仕様情報137に基づいてあらかじめルール番号モデルを作成しておくこともできる。あらかじめルール番号モデルが作成された場合において、モデル取得部134は作成されたルール番号モデルを取得してもよい。
図12は、パターン分類情報136の具体例を示している。それぞれのパターン分類の意味については図13を用いて説明する。
図13は、パターン分類の具体例を示している。図13において、パターン分類の具体例として、サイクリック伝送21と、コマンド・レスポンス22と、回数制限23と、トランジェント伝送24と、データの規則性25と、稀な通信26との各パターンが示されている。また、図13において各パターンにおける具体例が示されている。
具体例として、制御システムでは、周期的に発生する通信をサイクリック伝送と呼び、任意に発生する通信をトランジェント伝送と呼ぶことにより両者を区別することがある。
サイクリック伝送21では、ルール番号3に対応する通信データ202が1分間隔で現れることを示している。このようなパターンの通信に対しては、具体例として、周期性のあるデータ、又は時系列データに適した学習手法が選択される。ここで、図5のグラフ504が示すパターンもサイクリック伝送とみなすことができる。グラフ504では複数のルール番号が全体として周期的なパターンを示している。そのため、モデル学習部131は、グラフ504を学習データとして用いる場合、複数のルール番号全体を対象としてパターンを学習してもよい。一方、モデル学習部131は、この場合において、周期性を有するルール番号を複数個重ね合わせたものとみなして個々のルール番号を別個に学習してもよい。
サイクリック伝送とは異なり、トランジェント伝送では、トランジェント伝送24に示すように出現するルール番号及び時間間隔が不規則になることが通常である。そのため、通信がトランジェント伝送である場合において、通信がサイクリック伝送である場合における学習手法と同じ学習手法は適さない可能性が高い。
トランジェント伝送24では、具体例として、人手の操作によって通信データ202が発生することを想定し、ルール番号の出現間隔が一定せず、当該出現間隔が大きくばらつく様子を学習することが考えられる。
コマンド・レスポンス22は、コマンド・レスポンス型の通信に対応するルール番号のパターンを表している。コマンド・レスポンス型の通信において、具体例として、制御装置から機器に対してReadコマンドが送信されると、Readコマンドに対する応答として当該機器から当該制御装置にセンサの値が送信される。
コマンド・レスポンス22は、ルール番号1に対応する通信データ202と、ルール番号2に対応する通信データ202とが1往復する単純なコマンド・レスポンスを表している。
より一般に、通信プロトコルとして所定の規則に従って通信データ202が現れる場合には、規則を状態遷移図として学習する手法を選択すればよい。また、仕様情報137として、あらかじめ通信プロトコルが状態遷移図として定義されている場合も考えらる。この場合において、モデル取得部134は、定義されている状態遷移図を取得すればよい。
回数制限23は、ルール番号4に対応する通信が一定期間に許可される回数に制限のあるパターンを表している。回数制限23では、パスワード認証要求の通信は1時間に3回までしか許可されないという動作、つまり、1時間以内に3回パスワード認証を失敗するとパスワード認証を一定時間実行することができなくなるという動作が実現される。なお、パスワード認証に関するこのような回数制限は本来、認証システムとして実現されるべきものであるが、ここでは具体例として当該回数制限を示している。
データの規則性25は、ルール番号200が温度データを送信する通信を表している。データの規則性25では、温度データが示す温度が0→90→50と乱高下していることを表している。ここで、同一のセンサによって短期間に取得された温度が短期間に乱高下することは正常な挙動ではない。そのため、通信データ202が示す値が乱高下する場合に判定部133は通信データ202を攻撃と判定することができる。このような場合において、学習手法選択部135は、通信データ202を利用して監視及び制御されているシステムに関するモデル、具体例として、温度変化に関するモデルを学習する手法を選択することができる。データの規則性25において、通信に関する値が不自然に全く変化しない場合に当該通信が攻撃と判定されてもよい。
稀な通信26は、ルール番号1000に対応する通信データ202を稀に受信する通信を表している。このような通信については、図6で示したような統計的なモデルの学習が考えられる。これによって稀に出現するルール番号の出現頻度の正しさを判定してもよく、稀な通信データ202を受信することに対する警戒を促す目的で、稀な通信データ202が正常な通信に対応する場合であっても当該稀な通信データ202を攻撃として判定してもよい。
なお、各パターンが独立しているものとして説明したが、いくつかのパターンの組み合わせもあり得る。具体例として、ある通信はコマンド・レスポンスのパターンを基本としつつ、当該ある通信においてやり取りされる通信データ202に規則性が現れることは十分に考えられる。
以上で示したパターン分類はあくまで一例であり、このように、対象システムにおける正常な通信データ202が取り得るパターンは多様である。多様なパターンに従う通信データ202を一括して1個の学習手法により学習する場合よりも、各パターンに適した手法により別個に学習する場合の方が精度が高いモデルを学習することができる。具体例として、サイクリック伝送の通信データ202と、トランジェント伝送の通信データ202という性質が互いに全く異なる通信データ202を混ぜて学習データを生成する場合よりも、2種類の通信データ202を混ぜずに2つの学習データを生成する場合の方が合理的である。より精度が高いモデルを学習する目的のため、仕様情報137に基づいてあらかじめパターン分類情報136を生成し、生成したパターン分類情報136に基づいてルール番号毎に適切な学習手法を選択することができるようにすることが本実施の形態のポイントである。
***実施の形態2の効果の説明***
以上のように、対象システムの仕様情報137があらかじめ手に入る場合には、対象システムにおいて発生し得る通信パターンをあらかじめ分類してパターン分類情報136を生成することができる。そこで、本実施の形態では、パターン分類情報136を用いて学習手法を選択する学習手法選択部135が設けられている。これにより、パケットに対応する通信パターンに応じて適切な学習手法を選択することができるため、学習による攻撃検知の精度を高めることができる。
また、本実施の形態によれば、パケットのパターン毎に学習手法を分けることができる。そのため、コンピュータでの実装において、各パターンに対応する処理を別々のスレッド又はCPU等に割り当てることにより比較的効率的に処理を実行することが容易になる。
実施の形態3.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
***構成の説明***
実施の形態1及び2では、許可リスト122のデータ構造として、正常とみなす通信データ202の特徴を定義するルールが1個1個列挙され、各ルールに一意な識別子が付与されていることを想定していたが、ルールが列挙されている順序については特定の決まりはない。そのため、検知対象である通信データ202に対応するルールを検索する方法として、先頭のルールから順番に1個1個ルールを確認する方法が考えられる。この方法では処理時間がルールの数に比例して増加するため、許可リスト122に含まれているルールの数が多い場合等においてこの方法は適さない。そこで、ルールの数の影響を受けない許可リスト122のデータ構造及び検索方法として、ハッシュテーブルを利用することが考えられる。本実施の形態では、許可リスト122においてハッシュテーブルを活用する。
図14は、ハッシュテーブルを利用した許可リスト122の照合方法の一例を説明するための図である。
本実施の形態に係る攻撃検知部120は、対象データと許可リスト122に含まれている各ルールとを照合する際に、対象データに対応するハッシュ値と、許可リスト122に含まれている各ルールに対応する値とを照合する。
ハッシュ関数31は、入力された値に対する計算によって、1以上N(Nは正の整数)以下である値を出力するように設計されており、また、その計算は高速であるように設計されている。
また、ハッシュテーブル34は、1以上N以下である添え字を用いてアクセスすることができるように設計されている。特に、許可された通信データ202に対応するハッシュ値33を添え字としてアクセスした位置には、当該通信データ202に対応するルールが格納されている。
図14において、通信データ202が与えられたとき、ハッシュ関数31によりハッシュ値33として1が算出され、アクセスすべき添え字が1であることが分かる。ここで、添え字1に対応するルールとしてルール35がハッシュテーブル34に格納されている。そのため、当該通信データ202は許可リスト122によって許可されている通信であることが分かる。
一方、通信データ202に対応するハッシュ値33が2である場合において、ハッシュテーブル34において添え字2に対応するデータが無い。そのため、この場合において当該通信データ202は許可されていない通信であることが分かる。なお、ハッシュ関数31の計算は高速であるとの前提から、ハッシュテーブル34を用いた照合処理を高速に行うことができる。
ただし、ハッシュテーブル34を用いたデータの検索では、互いに異なる入力に対するハッシュ値33が一致する可能性を考慮しなければならない。ここで、図14に示すハッシュテーブル34では、添え字3に対応するルールであるルール36が2個ある。これは、これら2個のルール36の各々に対応する通信データ202に対応するハッシュ値33が一致することを意味している。
また、図15は、互いに異なる入力に対するハッシュ値33が一致する別の具体例を示している。本例では、許可された通信データ202のハッシュ値33と、許可されていない通信データ202のハッシュ値33とが共に1であり一致している。ここで、許可されていない通信データ202は攻撃と判定されるべきであるが、ハッシュテーブル34に添え字1に対応するルールが存在することを確認するだけでは、当該通信データ202を許可された通信であると誤って判定する。
従って、通信データ202を許可リスト122と照合する際には、まず通信データ202に対応するハッシュ値33を添え字としてハッシュテーブル34にルールが存在することを確認し、次に確認したルールが当該通信データ202に実際に対応していることを確認する必要がある。これにより、照合部121は、具体例として、添え字1に対応するルール43と、許可されていない通信データ202とを照合し、一致していないことを確認することにより、最終的に通信データ202が攻撃であると判定することができる。
以上で説明したハッシュテーブル34においては、各ルールにアクセスする添え字は一意ではないため、添え字をルール番号として学習することはできない。そこで、ハッシュテーブル34に格納するデータとして、ルールに加えて一意なルール番号を含めることとする。
具体例として、図16に示すハッシュテーブル34では、添え字1に対して、ルール51と、ルール51に対応するルール番号52が格納されている。また、添え字3に対して、ルール53と、ルール53に対応するルール番号54が格納されている。添え字3に対応するルールは2個あり、各ルールに対して一意なルール番号が付与されている。ルール番号の決定方法は様々であるが、図16に示す例では、ルール番号として、ハッシュテーブル34にアクセスする添え字Kを10の位とする整数が割り当ててられている。これにより、対応する添え字が一致するルールが10個以下であれば、各ルールに対して一意なルール番号を割り当てることができる。
図17は、温度データの応答によって発生するパケットの具体例を示している。本例では、ペイロード部分に温度データが表されている。本例のようにペイロード部分にアプリケーションデータ等が表されている場合、ペイロード部分はアプリケーションデータ等に応じて変化するが、ペイロード部分以外は同じであることが多い。このような通信データ202を許可するルールをハッシュテーブル34に格納する場合に、通信データ202が取り得る値ごとにルールを用意するとハッシュテーブル34のデータが膨大になるために効率が落ちる。そこで、ペイロード部分でアプリケーションデータ等を表し、ペイロード部分以外は変化しないような通信データ202を扱う場合、ペイロード部分以外をルールとし、各ルールに対して一意なルール番号を付与し、一意なルール番号を付与した各ルールをハッシュテーブル34で管理する。また、ペイロード部分の値の妥当性については、ハッシュテーブル34を用いる方法とは別の方法で検証する。当該別の方法は、図13のデータの規則性25に示す方法と同様である。
***実施の形態3の効果の説明***
以上のように、本実施の形態によれば、許可リスト122のデータ構造及び検索方法としてハッシュテーブル34を用いる場合であっても、各ルールに対して一意なルール番号を付与する。また、本実施の形態によれば、ペイロード部分でアプリケーションデータ等を表すような通信データ202に対してはペイロード部分以外についてのルールを生成する。そのため、実施の形態1及び2で説明した学習と同様の学習を本実施の形態に対して適用することができる。
***他の実施の形態***
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、実施の形態は、実施の形態1から3で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。フローチャート等を用いて説明した手順は適宜変更されてもよい。
100 攻撃検知装置、110 通信データ取得部、120 攻撃検知部、121 照合部、122 許可リスト、130 パターン判定部、131 モデル学習部、132 モデル記憶部、133 判定部、134 モデル取得部、135 学習手法選択部、136 パターン分類情報、137 仕様情報、140 最終判定部、141 判定総合部、150 判定結果出力部、21 サイクリック伝送、22 コマンド・レスポンス、23 回数制限、24 トランジェント伝送、25 データの規則性、26 稀な通信、202 通信データ、205 判定結果、206 ルール番号、31 ハッシュ関数、33 ハッシュ値、34 ハッシュテーブル、35,36,43 ルール、302 ルール、303 判定結果、51,53 ルール、52,54 ルール番号、501 パケット列、502 ルール番号列、503 数列、504 グラフ、902 プロセッサ、903 主記憶装置、904 補助記憶装置、905 データバス、906 入力インターフェース、907 表示インターフェース、908 ネットワークインターフェース、909 処理回路。

Claims (7)

  1. 複数の通信データの各々を対象データとし、前記対象データが、各々が固有の識別子を割り当てられている複数のルールを含む許可リストに含まれているルールのいずれかに従うか否かを判定する攻撃検知処理を実行する攻撃検知部と、
    前記対象データが前記許可リストに含まれているルールのいずれかに従う場合に、前記複数の通信データの各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのモデルを用いて、前記対象データが従うルールに対応する識別子が前記モデルから導出される識別子の出現パターンと整合するか否かを判定するパターン判定処理を実行するパターン判定部と、
    前記パターン判定処理が実行された場合に、前記攻撃検知処理による判定結果と、前記パターン判定処理による判定結果とを用いて前記対象データが正常であるか否かを判定する最終判定部と
    を備える攻撃検知装置。
  2. 前記最終判定部は、前記攻撃検知処理において前記対象データが前記許可リストに含まれているルールのいずれにも従わないと判定された場合に、前記対象データが正常ではないと判定し、
    前記最終判定部は、前記攻撃検知処理において前記対象データが前記許可リストに含まれているルールのいずれかに従うと判定されたとき、前記パターン判定処理において前記対象データが従うルールに対応する識別子が前記モデルから導出される出現パターンと整合しないと判定された場合に、前記対象データが正常ではないと判定する請求項1に記載の攻撃検知装置。
  3. 前記パターン判定部は、正常と判定された複数の通信データと、前記正常と判定された複数の通信データの各々に対応する識別子の出現パターンとを用いて前記モデルを学習する請求項1又は2に記載の攻撃検知装置。
  4. 前記パターン判定部は、前記正常と判定された複数の通信データの各々に対応する識別子の出現パターンの分類に応じて前記モデルを学習する方法を選択する請求項3に記載の攻撃検知装置。
  5. 前記攻撃検知部は、前記対象データと前記許可リストに含まれている各ルールとを照合する際に、前記対象データに対応するハッシュ値と、前記許可リストに含まれている各ルールに対応する値とを照合する請求項1又は2に記載の攻撃検知装置。
  6. コンピュータが、複数の通信データの各々を対象データとし、前記対象データが、各々が固有の識別子を割り当てられている複数のルールを含む許可リストに含まれているルールのいずれかに従うか否かを判定する攻撃検知処理を実行し、
    前記コンピュータが、前記対象データが前記許可リストに含まれているルールのいずれかに従う場合に、前記複数の通信データの各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのモデルを用いて、前記対象データが従うルールに対応する識別子が前記モデルから導出される識別子の出現パターンと整合するか否かを判定するパターン判定処理を実行し、
    前記コンピュータが、前記パターン判定処理が実行された場合に、前記攻撃検知処理による判定結果と、前記パターン判定処理による判定結果とを用いて前記対象データが正常であるか否かを判定する攻撃検知方法。
  7. 複数の通信データの各々を対象データとし、前記対象データが、各々が固有の識別子を割り当てられている複数のルールを含む許可リストに含まれているルールのいずれかに従うか否かを判定する攻撃検知処理と、
    前記対象データが前記許可リストに含まれているルールのいずれかに従う場合に、前記複数の通信データの各々が従うルールに対応する識別子の出現パターンが正常であるか否かを判定するためのモデルを用いて、前記対象データが従うルールに対応する識別子が前記モデルから導出される識別子の出現パターンと整合するか否かを判定するパターン判定処理と、
    前記パターン判定処理が実行された場合に、前記攻撃検知処理による判定結果と、前記パターン判定処理による判定結果とを用いて前記対象データが正常であるか否かを判定する最終判定処理と
    をコンピュータである攻撃検知装置に実行させる攻撃検知プログラム。
JP2024505447A 2022-05-18 2022-05-18 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム Active JP7483174B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020602 WO2023223445A1 (ja) 2022-05-18 2022-05-18 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム

Publications (3)

Publication Number Publication Date
JPWO2023223445A1 JPWO2023223445A1 (ja) 2023-11-23
JPWO2023223445A5 JPWO2023223445A5 (ja) 2024-04-26
JP7483174B2 true JP7483174B2 (ja) 2024-05-14

Family

ID=88834863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024505447A Active JP7483174B2 (ja) 2022-05-18 2022-05-18 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム

Country Status (2)

Country Link
JP (1) JP7483174B2 (ja)
WO (1) WO2023223445A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016114077A1 (ja) 2015-01-16 2016-07-21 三菱電機株式会社 データ判定装置、データ判定方法及びプログラム
JP2017076884A (ja) 2015-10-15 2017-04-20 株式会社日立製作所 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法
JP2021027505A (ja) 2019-08-07 2021-02-22 株式会社日立ソリューションズ 監視装置、監視方法、および監視プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016114077A1 (ja) 2015-01-16 2016-07-21 三菱電機株式会社 データ判定装置、データ判定方法及びプログラム
JP2017076884A (ja) 2015-10-15 2017-04-20 株式会社日立製作所 不正通信検知装置、不正通信検知システム、及び不正通信を検知する方法
JP2021027505A (ja) 2019-08-07 2021-02-22 株式会社日立ソリューションズ 監視装置、監視方法、および監視プログラム

Also Published As

Publication number Publication date
WO2023223445A1 (ja) 2023-11-23
JPWO2023223445A1 (ja) 2023-11-23

Similar Documents

Publication Publication Date Title
Wu et al. Cybersecurity for digital manufacturing
CN111274583A (zh) 一种大数据计算机网络安全防护装置及其控制方法
US10956575B2 (en) Determine malware using firmware
JP6528448B2 (ja) ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム
US9438612B1 (en) Calculating consecutive matches using parallel computing
US9262259B2 (en) One-time programmable integrated circuit security
EP3270317B1 (en) Dynamic security module server device and operating method thereof
WO2020004315A1 (ja) 異常検知装置、および、異常検知方法
US20170155683A1 (en) Remedial action for release of threat data
KR102005107B1 (ko) Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치
WO2021139308A1 (zh) 云服务器监控方法、装置、设备及存储介质
KR20190002712A (ko) 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램
US20200218809A1 (en) Logical and Physical Security Device
CN203773549U (zh) 利用芯片标识符的软件安全应用装置
JP7378089B2 (ja) 不正通信検知装置、不正通信検知方法及び製造システム
US20160056953A1 (en) Data generating device, communication device, mobile object, data generating method, and computer program product
US20180069835A1 (en) Packet filtering apparatus and packet filtering method
CN108694322B (zh) 用于对计算机化系统进行初始化的方法及计算机化系统
CN110751570B (zh) 一种基于业务逻辑的电力业务报文攻击识别方法及系统
JP7483174B2 (ja) 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
CN106790159B (zh) 密级校验方法及装置
JP7550026B2 (ja) サイバー攻撃シナリオ生成方法、および装置
de Castro et al. EVINCED: Integrity verification scheme for embedded systems based on time and clock cycles
CN108270746A (zh) 用户访问请求处理方法及装置
US10754719B2 (en) Diagnosis device, diagnosis method, and non-volatile recording medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240129

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20240129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240430

R150 Certificate of patent or registration of utility model

Ref document number: 7483174

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150