IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

<>
  • 特許-推定装置、推定方法およびプログラム 図1
  • 特許-推定装置、推定方法およびプログラム 図2
  • 特許-推定装置、推定方法およびプログラム 図3
  • 特許-推定装置、推定方法およびプログラム 図4
  • 特許-推定装置、推定方法およびプログラム 図5
  • 特許-推定装置、推定方法およびプログラム 図6
  • 特許-推定装置、推定方法およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】推定装置、推定方法およびプログラム
(51)【国際特許分類】
   H04L 41/142 20220101AFI20241009BHJP
   H04L 41/16 20220101ALI20241009BHJP
   H04L 41/0631 20220101ALI20241009BHJP
【FI】
H04L41/142
H04L41/16
H04L41/0631
【請求項の数】 6
(21)【出願番号】P 2023504910
(86)(22)【出願日】2021-03-09
(86)【国際出願番号】 JP2021009228
(87)【国際公開番号】W WO2022190198
(87)【国際公開日】2022-09-15
【審査請求日】2023-08-10
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】山中 友貴
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2019-110513(JP,A)
【文献】特開2019-4419(JP,A)
【文献】特開2007-074339(JP,A)
【文献】特開2019-33312(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/142
H04L 41/16
H04L 41/0631
(57)【特許請求の範囲】
【請求項1】
パケットデータを、前記パケットデータの各バイトに、前記各バイトの値の特徴を表す各ベクトルを対応づけるベクトルデータに変換するモデルを用いて、異常パケットデータを異常ベクトルデータに変換する変換部と、
複数の正常パケットデータが前記モデルを用いて変換された複数の正常ベクトルデータから、前記異常ベクトルデータとの類似度が相対的に高い正常ベクトルデータを抽出する抽出部と、
前記異常ベクトルデータの各バイトに対応するベクトルと、抽出された前記正常ベクトルデータの各バイトに対応するベクトルとの類似度から、前記異常パケットデータにおける異常バイトを推定する推定部
を備える推定装置。
【請求項2】
前記モデルは、複数の正常パケットデータの各バイトの値を学習して生成される
請求項1に記載の推定装置。
【請求項3】
前記抽出部は、前記異常ベクトルデータの各バイトについて、前記異常ベクトルデータのベクトルと前記正常ベクトルデータのベクトルとの類似度を算出して、前記各バイトについて算出された類似度から、前記異常ベクトルデータと前記正常ベクトルデータとの類似度を算出する
請求項1に記載の推定装置。
【請求項4】
前記推定部は、前記異常パケットデータの所定のバイトに対応するベクトルと、前記抽出された正常ベクトルデータの各バイトに対応するベクトルとの類似度のうち、最も高い類似度が所定の閾値よりも低い場合、前記所定のバイトを前記異常バイトと推定する
請求項1に記載の推定装置。
【請求項5】
コンピュータが、パケットデータを、前記パケットデータの各バイトに、前記各バイトの値の特徴を表す各ベクトルを対応づけるベクトルデータに変換するモデルを用いて、異常パケットデータを異常ベクトルデータに変換し、
前記コンピュータが、複数の正常パケットデータが前記モデルを用いて変換された複数の正常ベクトルデータから、前記異常ベクトルデータとの類似度が相対的に高い正常ベクトルデータを抽出し、
前記コンピュータが、前記異常ベクトルデータの各バイトに対応するベクトルと、抽出された前記正常ベクトルデータの各バイトに対応するベクトルとの類似度から、前記異常パケットデータにおける異常バイトを推定する
推定方法。
【請求項6】
コンピュータを、請求項1ないし請求項4のいずれか1項に記載の推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推定装置、推定方法およびプログラムに関する。
【背景技術】
【0002】
産業系・ビル系等におけるオペレーショナルテクノロジ(OT:Operational Technology)の通信ネットワークにおいて、異常検知システムまたは侵入検知システム(OT-IDS:Operational Technology Intrusion Detection System)が注目されている。このような通信ネットワークで送受信されるパケットは、1バイトなどの少量の不正な書き換えも見逃さずに検知される必要がある。例えば不正な書き換えにより温度の設定値が一桁変わってしまうなど、想定外のオペレーションが重大な事故を引き起こす場合がある。
【0003】
ネットワークを監視するツールがある(非特許文献1および非特許文献2参照)。これらのツールでは、ネットワークで送受信されるデータを監視し、分析することができる。
【先行技術文献】
【非特許文献】
【0004】
【文献】WIRESHARK、[online]、[2021年2月25日検索]、インターネット〈URL:https://www.wireshark.org/〉
【文献】zeek、[online]、[2021年2月25日検索]、インターネット〈URL:https://zeek.org/〉
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、いずれの非特許文献も、異常パケットにおける異常バイトを特定することができない。
【0006】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、異常パケットにおける異常バイトを推定可能な技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の一態様の推定装置は、パケットデータを、前記パケットデータの各バイトに、前記各バイトの値の特徴を表す各ベクトルを対応づけるベクトルデータに変換するモデルを用いて、異常パケットデータを異常ベクトルデータに変換する変換部と、複数の正常パケットデータが前記モデルを用いて変換された複数の正常ベクトルデータから、前記異常ベクトルデータとの類似度が相対的に高い正常ベクトルデータを抽出する抽出部と、前記異常ベクトルデータの各バイトに対応するベクトルと、抽出された前記正常ベクトルデータの各バイトに対応するベクトルとの類似度から、前記異常パケットデータにおける異常バイトを推定する推定部を備える。
【0008】
本発明の一態様の推定方法は、コンピュータが、パケットデータを、前記パケットデータの各バイトに、前記各バイトの値の特徴を表す各ベクトルを対応づけるベクトルデータに変換するモデルを用いて、異常パケットデータを異常ベクトルデータに変換し、前記コンピュータが、複数の正常パケットデータが前記モデルを用いて変換された複数の正常ベクトルデータから、前記異常ベクトルデータとの類似度が相対的に高い正常ベクトルデータを抽出し、前記コンピュータが、前記異常ベクトルデータの各バイトに対応するベクトルと、抽出された前記正常ベクトルデータの各バイトに対応するベクトルとの類似度から、前記異常パケットデータにおける異常バイトを推定する。
【0009】
本発明の一態様は、上記推定装置として、コンピュータを機能させるプログラムである。
【発明の効果】
【0010】
本発明によれば、異常パケットにおける異常バイトを推定可能な技術を提供することができる。
【図面の簡単な説明】
【0011】
図1図1は、本発明の実施の形態に係る推定装置の機能ブロックを説明する図である。
図2図2は、モデルが変換するデータの一例を説明する図である。
図3図3は、推定方法の処理の一例を示すフローチャートである。
図4図4は、推定装置の評価システムの各装置を説明する図である。
図5図5は、評価システムで得られたパケットの一例を説明する図である。
図6図6は、評価システムで得られた類似度行列の一例を説明する図である。
図7図7は、推定装置に用いられるコンピュータのハードウエア構成を説明する図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
【0013】
(推定装置)
図1を参照して本発明の実施の形態に係る推定装置1を説明する。推定装置1は、異常パケットが入力されると、その異常パケット中の異常バイトを推定して出力する。推定装置1は、他システムで異常と判定された異常パケットと、その他システムで正常と判定された正常パケットと比較して、入力された異常パケットにおける異常バイトを推定する。例えば正常パケットおよび異常パケットは、それぞれ一つのオペレーションテクノロジの通信ネットワークで収集される。他システムは、任意の方法で、パケットの正常または異常を判定すればよく、本発明の実施の形態において、判定方法は問わない。
【0014】
推定装置1は、モデルデータ11、正常ベクトルデータ群12、異常パケットデータ15、異常ベクトルデータ16、正常ベクトルデータ17および異常バイト18の各データと、変換部21、生成部22、抽出部23および推定部24の各機能を備える。各データは、メモリ902またはストレージ903に記憶される。各機能は、CPU901に実装される。
【0015】
モデルデータ11は、パケットデータを、ベクトルデータに変換するモデルを特定する。ベクトルデータは、パケットデータの各バイトに、各バイトの値の特徴を表す各ベクトルを対応づける。モデルデータ11は、後述の生成部22によって、正常ベクトルデータ群12の複数の正常パケットデータの各バイトの値を学習して生成される。各バイトの値の特徴は、複数の正常パケットデータの各バイトの値と比較して算出される。
【0016】
モデルデータ11は、入力されたパケットデータの各バイトを、それぞれのバイトの位置関係等を考慮して、適切な固定長のベクトルに変換するモデルを特定する。ここで適切な固定長のベクトルは、後述の推定部24において、異常ベクトルデータ16と正常ベクトルデータ17とを比較することによって異常バイト18を推定可能なベクトルを意味する。例えば図2に示すように、第1のバイトの値“2e”、第2のバイトの値“3f”、第3のバイトの値“00”・・・と、固定長のパケットデータがあるとする。このパケットデータの各バイトは、モデルによって、784次元ベクトルに変換される。図2に示す例においてモデルは、パケットデータの各バイトを、各バイトの値の特徴を表す784次元ベクトルに変換する。
【0017】
モデルデータ11は、例えばBERT(Bidirectional Encoder Representations from Transformers)によって生成される。BERTは、自然言語処理モデルである。本発明の実施の形態において、パケットデータの各バイトが一つの単語とみなされる。BERTを用いて生成されたモデルによって、パケットデータは、ベクトルデータに変換される。
【0018】
正常ベクトルデータ群12は、複数の正常ベクトルデータを含む。正常ベクトルデータは、モデルデータ11によって特定されるモデルを用いて、他システムにおいて正常と判定された正常パケットデータが変換されたデータである。正常ベクトルデータ群12は、生成部22がモデルデータ11を生成する際、または抽出部23が異常ベクトルデータ16に類似する正常ベクトルデータ17を抽出する際に参照される。正常ベクトルデータ群12に含まれる複数の正常ベクトルデータを、生成部22および抽出部23がともに参照しても良い。あるいは正常ベクトルデータ群12に含まれる複数の正常ベクトルデータを複数のグループにわけて、1つのグループを生成部22が参照し、別のグループを抽出部23が参照しても良い。
【0019】
異常パケットデータ15は、他システムにおいて異常パケットと特定されたパケットのデータである。推定装置1は、1つの異常パケットデータ15について異常バイト18を推定する。
【0020】
異常ベクトルデータ16は、異常パケットデータ15をモデルデータ11が特定するモデルで変換されたデータである。異常ベクトルデータ16は、異常パケットデータ15の各バイトの位置の識別子に、各バイトの値の特徴を表す各ベクトルを対応づける。
【0021】
正常ベクトルデータ17は、正常ベクトルデータ群12に含まれる複数の正常ベクトルデータのうち、異常ベクトルデータ16と相対的に類似度が高いデータである。正常ベクトルデータ17は、正常ベクトルデータ群12に含まれる複数の正常ベクトルデータのうち、異常ベクトルデータ16と最も類似度が高い正常ベクトルデータである。あるいは正常ベクトルデータ17は、類似度が高い所定数の正常ベクトルデータのうちの一つである。
【0022】
異常バイト18は、異常パケットデータ15の各バイトのうち、異常が推定されるバイトを特定するデータである。異常バイト18は、例えば、異常パケットデータ15の各バイトの位置を先頭から数えた順番で特定される。
【0023】
変換部21は、モデルデータ11で特定されるモデルを用いて、異常パケットデータ15を異常ベクトルデータ16に変換する。例えば図2に示すように、変換部21は、異常パケットデータ15の各バイトの値を、784次元ベクトルに変換する。変換部21は、異常パケットデータ15の各バイトの位置と、そのバイトから変換された784次元ベクトルを対応づけて、異常ベクトルデータ16を出力する。
【0024】
生成部22は、正常ベクトルデータ群12の複数の正常パケットデータの各バイトの値を学習して、モデルデータ11が特定するモデルを生成する。モデルは、パケットデータを、パケットデータの各バイトに、各バイトの値の特徴を表す各ベクトルを対応づけるベクトルデータに変換する。生成部22は、例えば、BERTに従ってモデルを生成する。生成部22は、正常パケットデータにおける各バイトの値の特徴を、MLM(Masked Language Model)またはNSP(Next Sentence Prediction)などの補助タスクを解いて予備学習しても良い。MLMは、複数のバイトが欠落しているパケットにおいて、これらの欠落しているバイトの値を予測する。NSPは、2つのパケットデータが連続したパケットであるか否かを判定する。生成部22は、これらの補助タスクにより、パケット内のデータの妥当性および連続するパケットの妥当性を特定して、生成部22は、正常ベクトルデータを特定するモデルを生成する。ここに挙げる補助タスクは一例であって、生成部22は、その他の補助タスクを解いて学習しても良い。
【0025】
抽出部23は、正常ベクトルデータ群12の複数の正常ベクトルデータから、異常ベクトルデータ16との類似度が相対的に高い正常ベクトルデータを抽出する。抽出部23は、抽出した正常ベクトルデータを、正常ベクトルデータ17とする。
【0026】
類似度が相対的に高いとは、異常ベクトルデータ16とある正常ベクトルデータとの類似度が、異常ベクトルデータ16と他の正常ベクトルデータとの類似度よりも高いことを言う。抽出部23は、異常ベクトルデータ16との類似度が最も高い正常ベクトルデータを抽出しても良い。あるいは抽出部23は、異常ベクトルデータ16との類似度が高い所定数または所定割合の複数の正常ベクトルデータから、一つの正常ベクトルデータを抽出しても良い。
【0027】
抽出部23は、異常ベクトルデータ16と、正常ベクトルデータ群12の各正常ベクトルデータとの類似度を算出する。抽出部23は、正常ベクトルデータ群12のうちの一部の正常ベクトルデータとの類似度を算出しても良い。例えば一部の正常ベクトルデータは、複数の正常パケットデータから、MMD-Critic(MMD:Maximum Mean Discrepancy)で複数の代表パケットデータを抽出し、抽出した各代表パケットデータをモデルで変換して得られた複数の正常ベクトルデータである。あるいは一部の正常ベクトルデータは、複数の正常パケットデータから異常パケットデータ15と同じパケット長の正常パケットデータを抽出し、抽出した各正常パケットデータをモデルで変換して得られた複数の正常ベクトルデータである。
【0028】
モデルがBERTの場合、抽出部23は、類似度として、BERTScoreを用いても良い。あるいは、抽出部23は、異常ベクトルデータ16の各バイトについて、異常ベクトルデータ16のベクトルと正常ベクトルデータのベクトルとの類似度を算出して、各バイトについて算出された類似度から、異常ベクトルデータ16と正常ベクトルデータとの類似度を算出しても良い。各バイトのベクトル間の類似度は、Cosine類似度が用いられても良い。異常ベクトルデータ16と正常ベクトルデータ17の類似度は、例えば、各バイトについて算出された類似度の平均である。このとき、異常ベクトルデータ16のベクトルの数と、正常ベクトルデータ17のベクトルの数が異なる場合、少ないベクトルの数にあわせて、類似度が算出されても良い。なお各ベクトルデータのベクトルの数は、変換前のパケットデータのバイト数である。
【0029】
推定部24は、異常ベクトルデータ16の各バイトに対応するベクトルと、抽出された正常ベクトルデータ17の各バイトに対応するベクトルとの類似度から、異常パケットデータ15における異常バイト18を推定する。
【0030】
推定部24は、異常ベクトルデータ16に含まれる各ベクトルと正常ベクトルデータ17に含まれる各ベクトルとの間で、図6に示すようなCosine類似度行列を計算する。Cosine類似度行列の(n,m)成分は、異常ベクトルデータ16のnバイト目に対応するベクトルと、正常ベクトルデータ17のmバイト目に対応するベクトル間のCosine類似度である。
【0031】
推定部24は、例えば、異常パケットデータ15の所定のバイトに対応するベクトルと、抽出された正常ベクトルデータ17の各バイトに対応するベクトルとの類似度のうち、最も高い類似度が所定の閾値よりも低い場合、所定のバイトを異常バイト18と推定する。異常パケットデータ15のi番目のバイトが異常バイトであるかどうかを以下のように推定する。mを正常パケットデータのパケット長とする。推定部24は、上記で算出したCosine類似度行列の(i, 1)成分, (i, 2)成分, (i, 3)成分, … (i, m)成分の各成分に着目する。推定部24は、各正文のうち最もCosine類似度が高い成分が、ある閾値以下であれば、i番目のバイトは異常バイト18であると推定する。
【0032】
異常パケットデータ15のバイト数と、正常ベクトルデータ17の変換前のパケットデータのバイト数が同じ場合、異常パケットデータ15と正常ベクトルデータ17の同じバイトに対応する各ベクトルを比較しても良い。例えば異常パケットデータ15のi番目バイトが異常バイトであるか否かを推定する際、異常パケットデータ15のi番目のバイトに対応するベクトルデータと、正常パケットデータのi番目のバイトに対応するベクトルデータの類似度が、所定の閾値よりも低い場合、推定部24は、異常パケットデータ15のi番目のバイトを異常バイトと推定する。
【0033】
推定部24が異常バイトであるか否かを判定するための閾値は、例えば、0.5等の固定値でも良い。あるいは閾値は、所定の計算により特定されても良い。例えば、互いに類似する2つの正常パケットのペアを複数抽出し、所定のバイトに対応する2つの正常パケットの各ベクトルの類似度のうち、最も低い類似度から、閾値が特定されても良い。
【0034】
図3を参照して、本発明の実施の形態に係る推定装置1による推定方法を説明する。
【0035】
ステップS1において推定装置1は、異常パケットデータ15を異常ベクトルデータ16に変換する。ステップS2において推定装置1は、正常ベクトルデータ群12から、ステップS1で変換した異常ベクトルデータ16に類似する正常ベクトルデータ17を抽出する。
【0036】
異常ベクトルデータ16の各ベクトル、換言すると、異常パケットデータ15の各バイトに対応する各ベクトルについて、ステップS3ないしステップS5の処理を繰り返す。
【0037】
ステップS2で抽出した正常ベクトルデータ17の各ベクトルについて、ステップS3の処理を繰り返す。ステップS3において推定装置1は、異常ベクトルデータ16の処理対象のベクトルと、正常ベクトルデータ17の処理対象のベクトルとの類似度を算出する。類似度が算出されると、処理はステップS4に進む。
【0038】
ステップS4において推定装置1は、異常ベクトルデータ16の処理対象のベクトルと正常ベクトルデータ17の各ベクトルについて算出された複数の類似度のうち、最も高い類似度が、所定の閾値より低いか否かを判定する。最も高い類似度が所定の閾値より高い場合、推定装置1は、異常ベクトルデータ16の処理対象のベクトルは、異常バイトに対応しないと推定する。推定装置1は、次の処理対象のベクトルについてステップS3を処理する。
【0039】
最も高い類似度が所定の閾値より低い場合、推定装置1は、異常ベクトルデータ16の処理対象のベクトルは、異常バイトに対応すると推定する。推定装置1は、ステップS6において、異常ベクトルデータ16の処理対象のベクトルに対応するバイトを、異常バイト18として出力する。
【0040】
異常ベクトルデータ16の各ベクトルについてステップS3ないしステップS5の処理が終了すると、推定装置1は処理を終了する。
【0041】
図4ないし図6を参照して、推定装置1の評価を説明する。推定装置1の評価において、仮想の評価システムを用いる。
【0042】
評価システムは、図4に示すように4つのベルトコンベアC1-C4を矩形に配置し、PLC(Programmable Logic Controller)(図示せず)を用いて、荷物B1およびB2の移動を制御する。図4に示す各装置は、Modbus/TCPプロトコル等に従って、PLCに状態を通知するパケットを送信したり、PLCから駆動内容を指定するパケットを受信したりする。正常状態においてPLCは、センサS1-S4の検出状況に従ってプッシャーP1-P4を駆動することにより、ベルトコンベアC1-C4は、一定速度で反時計回りに荷物B1およびB2を運ぶ。ベルトコンベアの速度は、PLCによって逐次監視される。ベルトコンベアの速度が一定速度を超過すると、PLCにより、図4に示す各装置に対して緊急停止命令が発せられ、各装置は停止する。
【0043】
例えば荷物B1は、ベルトコンベアC1上を移動する。このときベルトコンベアC1は、ベルトの移動速度を通知するパケットをPLCに送信する。荷物B1が、センサS1が出射するレーザー光に当接すると、センサS1は、荷物が到達したことを知らせるパケットをPLCに送信する。なお図4に示す例において、レーザー光は一点鎖線で示す。PLCは、パケットを受信すると、プッシャーP1をONにするパケットを送信する。プッシャーP1は、受信したパケットに従って、ボックスから延伸して、荷物B1をベルトコンベアC2まで運ぶ。センサS1が出射するレーザー光に荷物が当接しなくなると、センサS1は、荷物がないことを知らせるパケットをPLCに送信する。PLCは、パケットを受信すると、プッシャーP1をOFFにするパケットを送信する。プッシャーP1は、受信したパケットに従って、短縮してボックスに収容される。このような処理を各装置が繰り返すことにより、荷物B1は、図4に示すベルトコンベア上を反時計回りに移動する。荷物B2についても同様に、図4に示すベルトコンベア上を反時計回りに移動する。
【0044】
PLCは、図4に示す各装置が正常に稼働している際に正常パケットデータを収集する。生成部22は、PLCによって収集された複数の正常パケットデータを学習して、モデルデータ11を生成する。評価システムにおいて、抽出部23は、PLCが収集した各正常パケットデータから変換された複数の正常ベクトルデータを参照する。また類似度の尺度として、BERTScoreF1を用いる。
【0045】
速度が異常値になるように手動でベルトコンベアを早く動かすことで、異常状態を発生させる。PLCに、異常パケットデータ15として、この異常状態におけるベルトコンベアの速度を通知するパケットが入力される。
【0046】
抽出部23は、異常パケットデータ15から変換された異常ベクトルデータ16に最も類似する正常ベクトルデータを抽出する。図5は、異常パケットデータ15と、抽出部23が抽出した正常ベクトルデータの変換前の正常パケットデータを比較して示す。
【0047】
図5において1バイト目および2バイト目は、交信IDが設定される。交信IDは、図4に示すシステムにおいて送受信されるパケットを特定する識別子である。11バイト目は、ベルトコンベアの速度が設定される。図5に示す例において、1バイト目、2バイト目および11バイト目において、異常パケットと正常パケットの値は相違するが、それ以外のバイトの値は一致する。抽出部23は、異常ベクトルデータ16に最も類似する正常ベクトルデータを抽出したことがわかる。
【0048】
図6は、異常パケットと正常パケットの各バイトのベクトル間の類似度行列である。図6から高い類似度は、対角線上に配置されていることがわかる。但し対角線上のうち、1バイト目同士、2バイト目同士および11バイト目同士を比較した類似度は、低い値を有する。異常パケットの1バイト目、2バイト目、または11バイト目が異常バイトの可能性があると考えられる。
【0049】
一方、互いに類似する2つの正常パケットから変換された2つの正常ベクトルデータを比較した結果、同じバイトに対応するベクトルを比較した類似度のうち最も低い類似度が0.91であった。この0.91を、異常バイトを検出する際の閾値とする。
【0050】
1バイト目および2バイト目の各類似度は、0.91より大きいので、推定部24は、1バイト目および2バイト目について異常バイトでないと推定する。1バイト目および2バイト目は、各パケットよって異なる交信IDが設定されることから、正常パケットと異常パケットとで異なる値が設定されても、閾値よりも高い類似度が算出される。
【0051】
一方11バイト目の類似度は0.827で、0.91より小さいので、推定部24は、11バイト目を異常バイトと推定する。11バイト目は、ベルトコンベアの速度が設定される。推定部24によるこの推定は、手動でベルトコンベアを早く動かすことで異常状態を発生させた状況とも合致する。
【0052】
このような本発明の実施の形態に係る推定装置1は、異常パケットデータ15における異常バイト18を推定することができる。これにより推定装置1は、ペイロードの内容の精緻な分析が可能になる。例えば産業系・ビル系等におけるオペレーショナルテクノロジの通信ネットワークなどに推定装置1を導入することにより、1バイトなどの少量の不正な書き換えも見逃さずに検知することが可能になる。
【0053】
上記説明した本実施形態の推定装置1は、例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムが用いられる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされたプログラムを実行することにより、推定装置1の各機能が実現される。
【0054】
なお、推定装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また推定装置1は、コンピュータに実装される仮想マシンであっても良い。
【0055】
推定装置1のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0056】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【0057】
1 推定装置
11 モデルデータ
12 正常ベクトルデータ群
15 異常パケットデータ
16 異常ベクトルデータ
17 正常ベクトルデータ
18 異常バイト
21 変換部
22 生成部
23 抽出部
24 推定部
901 CPU
902 メモリ
903 ストレージ
904 通信装置
905 入力装置
906 出力装置
図1
図2
図3
図4
図5
図6
図7