(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141023
(43)【公開日】2024-10-10
(54)【発明の名称】検知回路
(51)【国際特許分類】
G06F 21/55 20130101AFI20241003BHJP
G06N 20/00 20190101ALI20241003BHJP
H04L 12/22 20060101ALI20241003BHJP
H04L 41/16 20220101ALI20241003BHJP
G06F 21/56 20130101ALI20241003BHJP
【FI】
G06F21/55
G06N20/00
H04L12/22
H04L41/16
G06F21/56
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023052449
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】501241645
【氏名又は名称】学校法人 工学院大学
(71)【出願人】
【識別番号】505225197
【氏名又は名称】長崎県公立大学法人
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】小林 良太郎
(72)【発明者】
【氏名】加藤 雅彦
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
5K030MB09
(57)【要約】
【課題】プロセッサにおいて、一つの判別器を用いる場合でも異なる種類の異常を検知できる。
【解決手段】機器に搭載されたプロセッサに組み込まれた検知回路である。検知回路は、プロセッサのコアによるプログラム実行時のプロセッサ情報及び機器の通信によるパケット情報の入力を受け付けて、プロセッサ情報及びパケット情報の何れかを選択し、選択されたプロセッサ情報及びパケット情報の何れかの情報の特徴量ベクトルを判別器に出力するセレクタと、第1事象及び第2事象を判別するように予め学習された判別器であって、選択された情報の特徴量ベクトルを入力として、第1事象及び第2事象を判別し、判別結果を出力する判別器と、所定時間の判別器の判別結果を集計し、所定時間における第1事象及び第2事象の発生の有無を決定する決定器と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機器に搭載されたプロセッサに組み込まれた検知回路であって、
前記プロセッサのコアによるプログラム実行時のプロセッサ情報及び前記機器の通信によるパケット情報の入力を受け付けて、前記プロセッサ情報及び前記パケット情報の何れかを選択し、選択された前記プロセッサ情報及び前記パケット情報の何れかの情報の特徴量ベクトルを判別器に出力するセレクタと、
第1事象及び第2事象を判別するように予め学習された判別器であって、選択された情報の前記特徴量ベクトルを入力として、第1事象及び第2事象を判別し、判別結果を出力する判別器と、
所定時間の前記判別器の判別結果を集計し、所定時間における前記第1事象及び前記第2事象の発生の有無を決定する決定器と、
を備える検知回路。
【請求項2】
前記特徴量ベクトルは、前記プロセッサ情報の場合の特徴量の種類として、命令実行時に関する情報、命令距離に関する情報、及びキャッシュ精度に関する情報の少なくとも何れかを用いると共に、前記パケット情報の場合の特徴量の種類として、接続に関する基本情報、接続数に関する情報、接続の割合に関する情報の少なくとも何れかを用いることとし、
前記判別器は、前記プロセッサ情報に対する前記第1事象をマルウェアの発生、前記パケット情報に対する前記第2事象を悪性通信の発生として判別する、
請求項1に記載の検知回路。
【請求項3】
前記セレクタは、前記特徴量ベクトルの各要素に対応するマルチプレクサの各々として構成され、
プログラム実行時の前記プロセッサ情報及び通信ごとの前記パケット情報それぞれの要素の入力の順番が前記マルチプレクサの各々に対応付けられて規定されており、
前記マルチプレクサの各々が対応付けられた特徴量の要素を出力することにより、前記判別器に選択された情報の前記特徴量ベクトルが出力される、
請求項1に記載の検知回路。
【請求項4】
前記セレクタは、前記プロセッサ情報及び前記パケット情報を同時に受信した場合に、前記パケット情報を優先して選択するように規定する、請求項1に記載の検知回路。
【請求項5】
前記判別器は、学習用の前記プロセッサ情報及び前記パケット情報の特徴量ベクトルを学習データとして用いて学習されており、プログラム実行時の前記プロセッサ情報及び通信ごとの前記パケット情報それぞれの要素の入力の順番を規定して並べ、不足の特徴量の要素については当該要素を埋めた学習データとして用いて学習されている、
請求項1に記載の検知回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検知回路に関する。
【背景技術】
【0002】
従来、サイバー攻撃に対する異常検知に関する技術がある。
【0003】
例えば、ログを解析して異常検知する手法に関する技術がある(特許文献1参照)。この技術では、異常な通信ログを含む特徴量ベクトルに対して教師ラベルを付けて異常分類器を学習している。
【0004】
また、未知の異常の検知と異常原因の特定を効率的に行う手法に関する技術がある(特許文献2参照)。この技術では、通信特徴量又は動作ログを学習し、機器が異常状態であることを検知するための検知モデル、機器の異常原因ごとの通信特徴量又は動作ログを学習し、機器の異常原因を特定するための特定モデルを生成している。この技術の動作ログは、実行されたプロセスのID、プロセスの実行開始時刻、その他のネットワークに関する情報等が用いられている。
【0005】
また、プロセッサ情報を用いた回路レベルのハードウェアによるマルウェア検知に関する技術が検討されている(非特許文献1参照)。この技術では、一つのLSIにおいてコアに隣接する検知回路の実装を検討している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2022-117827号公報
【特許文献2】特開2019-103069号公報
【非特許文献】
【0007】
【非特許文献1】Kazuki Koike, Ryotaro Kobayashi, Masahiko Katoh. "IoT-oriented high-efficient anti-malware hardware focusing on time series metadata extractable from inside a processor core". International Journal of Information Security: 2022-02-25.
【発明の概要】
【発明が解決しようとする課題】
【0008】
ここで、IoT機器は、2種類のサイバー攻撃、すなわちマルウェア及び悪性通信にさらされている。
【0009】
特許文献1及び特許文献2の従来技術では、通信に関する特徴量を用いて、通信の異常として悪性通信やマルウェアを検知する手法である。通信に関する特徴量を用いており、検知の対象は専用のネットワーク内のIoT機器に限られていた。そのため、インターネットに直接接続されているIoT機器は検知の対象にできない。また、モデル学習の更新が可能な態様でありソフトウェアの実装が想定されている。ハードウェアに組み込んだ実装は想定されていないため、リソースの制限からソフトウェアの導入が難しいIoT機器では検知が困難である。また、通信の挙動を前提としており、プロセッサ情報は考慮されていない。
【0010】
一方、非特許文献1のようにハードウェア実装によるマルウェア検知の技術はあるものの、サイバー攻撃については、マルウェアだけでなく悪性通信も検知の対象として想定する必要がある。
【0011】
本発明は、上記事情を鑑みて成されたものであり、プロセッサにおいて、一つの判別器を用いる場合でも異なる種類の異常を検知できる検知回路を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明に係る検知回路は、機器に搭載されたプロセッサに組み込まれた検知回路であって、前記プロセッサのコアによるプログラム実行時のプロセッサ情報及び前記機器の通信によるパケット情報の入力を受け付けて、前記プロセッサ情報及び前記パケット情報の何れかを選択し、選択された前記プロセッサ情報及び前記パケット情報の何れかの情報の特徴量ベクトルを判別器に出力するセレクタと、第1事象及び第2事象を判別するように予め学習された判別器であって、選択された情報の前記特徴量ベクトルを入力として、第1事象及び第2事象を判別し、判別結果を出力する判別器と、所定時間の前記判別器の判別結果を集計し、所定時間における前記第1事象及び前記第2事象の発生の有無を決定する決定器と、を備える。
【発明の効果】
【0013】
本発明の検知回路によれば、プロセッサにおいて、一つの判別器を用いる場合でも異なる種類の異常を検知できる、という効果が得られる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、プロセッサに組み込まれた検知回路の一例を示す図である。
【
図2】
図2は、プロセッサ情報としての特徴量の種類ごとの要素の一例である。
【
図3】
図3は、パケット情報としての特徴量の種類ごとの要素の一例である。
【
図4B】
図4Bは、パケット情報、プロセッサ情報のどちらかの特徴量の要素が多く、一方の不足の特徴量の要素を埋める場合である。
【
図5】
図5は、プロセッサ情報及びパケット情報の特徴量を散布図にプロットした例である。
【
図6】
図6は、本実施形態の検知回路の検知処理ルーチンである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0016】
<本発明の実施形態に係る概要>
まず、本発明の実施形態における概要を説明する。上記課題において説明したように、2種類のサイバー攻撃(マルウェア及び悪性通信)にIoT機器はさらされており、対処する必要がある。マルウェアの発生が本開示の第1事象、悪性通信の発生が本開示の第2事象の一例である。
【0017】
本実施形態では、IoT機器上に搭載されたプロセッサ上に組み込んだ検知回路を用いて、2種類のサイバー攻撃を検知できるようにする。本手法により、(1)IoT機器上で、ソフトウェアを導入せず、マルウェア及び悪性通信を検知できるようになる。また、(2)判別回路のサイズ増加を抑制できる。これは、判別器の各入力(特徴量)に対し、プロセッサ情報及びパケット情報の選択に応じて、ひとつの判別器に対して、異なる特徴の特徴量ベクトルを入力するためである。通常、判別器の入力には、異なる特徴の情報であれば、情報ごとに、特徴量の要素ごとの入力を用意することが想定される。そのため通常であれば、プロセッサ情報の要素及びパケット情報の要素のそれぞれの入力が用意され、要素数分の入力の数になる。一方、本手法では、選択に応じて、入力の特徴量ベクトルの要素が異なる。そのため、判別器の入力が減り、ハードウェア規模を縮小することができる。これにより、IoT向けプロセッサに求められる省コストに対応できる。
【0018】
図1は、プロセッサに組み込まれた検知回路の一例を示す図である。
図1に示すように、機器1にはプロセッサ10及び通信部30が搭載されている。プロセッサ10は、コア20と、検知回路100とを備えている。プロセッサ10上には、コア20に隣接して検知回路100が配置される。検知回路100は、コア20及び通信部30と、通信インタフェース(I/F)60で接続されており、情報を受信する。
【0019】
検知回路100は、セレクタ110(MP:マルチプレクサ1101~N)と、判別器112と、決定器114とを備えている。
【0020】
コア20は、CPUとしてプログラムを実行し演算を行う回路である。本実施形態では、コア20は、プログラム実行時のプロセッサ情報を検知回路100のセレクタ110(マルチプレクサ1101~N)に出力する。
【0021】
通信部30は、インターネット等のネットワークNと接続されており、機器1の通信によるパケット情報を検知回路100のセレクタ110(マルチプレクサ1101~N)に出力する。
【0022】
セレクタ110は、プロセッサ情報及びパケット情報の入力を受け付けて、プロセッサ情報及びパケット情報の何れかを選択し、選択されたプロセッサ情報及びパケット情報の何れかの情報の特徴量ベクトルを判別器に出力する。セレクタ110は、特徴量ベクトルの各要素に対応するマルチプレクサの各々(1101~N)として構成される。マルチプレクサの各々が対応付けられた特徴量の要素を出力する。
【0023】
なお、プロセッサ情報はコア20によるプログラム実行の1サイクルレベルで生成され、パケット情報は機器1がデータを受信した時に生成される。後者のパケット情報の頻度の方が低い。そのため、セレクタ110では、通常はプロセッサ情報を選択し、インターネットからパケット情報が流れてきた場合には優先的に選択する。
【0024】
判別器112は、選択された情報の特徴量ベクトルを入力として、マルウェア及び悪性通信を判別し、判別結果を決定器114に出力する。判別器112は、ランダムフォレストやニューラルネットワーク等の機械学習のアルゴリズムを用いた手法により、学習用のプロセッサ情報及びパケット情報の特徴量ベクトルを学習データとして用いて、学習されている。判別器112が出力する判別結果は、プログラム実行の判別として「通常プログラム」又は「マルウェア」を判別結果として出力し、通信の判別として「良性通信」又は「悪性通信」を判別結果として出力する。なお、入力の特徴量ベクトルとしては、プロセッサ情報及びパケット情報を区別して入力していない。このように、入力時にラベル等で区別せずに、プロセッサ情報及びパケット情報で選択した情報の特徴量ベクトルとする点が本手法の特徴のひとつであるが、区別しなくても判別器112においては判別が可能である。よって、異なる特徴の情報を区別しない特徴量ベクトルを用いることが可能である。異なる情報の特徴量ベクトルを入力に用いることが可能な検証例については後述する。
【0025】
ここで、特徴量ベクトルの特徴量の要素について説明する。プログラム実行時のプロセッサ情報及び通信ごとのパケット情報それぞれの要素の入力の順番がマルチプレクサの各々(1101~N)に対応付けられて規定される。以下にプロセッサ情報及びパケット情報の要素の例を挙げる。なお、判別器112は、上記のプロセッサ情報及びパケット情報それぞれの特徴量の要素のうち、任意の特徴量の要素を入力に規定して、判別器112は学習させているとする。
【0026】
図2はプロセッサ情報としての特徴量の種類ごとの要素の一例である。
図2に示すように、プロセッサ情報の種類は、命令実行時に関する情報、命令距離に関する情報、キャッシュ精度に関する情報がある。命令実行時に関する情報は、pc(プログラムカウンタ)、insn(命令種別)、op(オペコード)、addr(ロード/ストアアドレスまたは分岐先pc)、cond(条件分岐フラグ)、rn(レジスタ番号)、rv(レジスタ値)を特徴量の要素として用いることができる。命令距離に関する情報は、dn(NOPの命令距離)、dl(Loadの命令距離)、ds(Storeの命令距離)、dj(Jumpの命令距離)、do(その他の命令距離)を特徴量の要素として用いることができる。キャッシュ精度に関する情報は、direction(実際に分岐した方向)、pred_direction(gshareによって予測された方向)、L1_inst(L1命令キャッシュの累積ヒット率)、L1_data(L1データキャッシュの累積ヒット率)、L2(L2キャッシュの累積ヒット率)を特徴量の要素として用いることができる。
【0027】
図3はパケット情報としての特徴量の種類ごとの要素の一例である。パケット情報の特徴量の種類は、接続に関する基本情報、接続数に関する情報、接続の割合に関する情報がある。接続に関する基本情報は、Duration(接続の長さ(秒))、Source bytes(送信元IPから送られたデータ長)、Duration bytes(宛先IPから送られたデータ長)を特徴量の要素として用いることができる。接続数に関する情報は、Count、Dst_host_count、Dst_host_srv_countを特徴量の要素として用いることができる。Countは、宛先と送信元が現在の接続と同じ直近2秒間の接続の数である。Dst_host_countは、過去100接続で宛先IPが現在の接続と同じで、送信元IPも同じ接続の数である。Dst_host_srv_countは、過去100接続で宛先IPが現在の接続と同じで、サービスも同じ接続の数である。接続の割合に関する情報は、Same_srv_rate、Serror_rate、Srv_serror_rate、Dst_host_same_src_port_rate、Dst_host_serror_rate、Dst_host_srv_error_rateを特徴量の要素として用いることができる。Same_srv_rateは、Countのうち、同じサービスに接続している割合である。Serror_rateは、Countのうち、SYNエラーを持つ割合である。Srv_serror_rateは、Srv_Countのうち、SYNエラーを持つ割合である。Srv_Countは直近二秒間の同じサービスへの接続数である。Dst_host_same_src_port_rateは、Dst_host_countのうち、送信元ポートが同じ接続の割合である。Dst_host_serror_rateは、Dst_host_countのうち、SYNエラーを持つ接続の割合である。Dst_host_srv_error_rateは、Dst_host_srv_countのうち、SYNエラーを持つ接続の割合である。
【0028】
判別器112について定めた入力の規定により、特徴量ベクトルの入力の要素数は、プロセッサ情報及びパケット情報から選んだ何れかの要素数の最大数をとるように規定する。例えば、プロセッサ情報の要素数を7、パケット情報を10選んで入力として規定した場合には、特徴量ベクトルの入力の要素数は10となる。この場合、プロセッサ情報の要素数で不足の特徴量の要素の3つについては、当該要素を埋めた特徴量ベクトルとして入力する。このように、プログラム実行時のプロセッサ情報及び通信ごとのパケット情報それぞれの要素の入力の順番を規定して並べ、不足の特徴量の要素については当該要素を埋めた特徴量ベクトルとする。
【0029】
また、判別器112は、プログラム実行時のプロセッサ情報及び通信ごとのパケット情報それぞれの要素の入力の順番を規定して並べ、不足の特徴量の要素については当該要素を埋めた特徴量ベクトルの学習データを用いて学習されている。
【0030】
図4(
図4A及び
図4B)は、特徴量ベクトルの一例を示す図である。一例として、プロセッサ情報が3つの特徴量(pc,L1_inst,L1_data)、パケット情報が3つの特徴量(Duration,Count,Serror_rate)を用いる場合を想定する。この場合、3つの特徴量の学習データの枠を1サイクルの各行の特徴量ベクトルとして作成し、プロセッサ情報及びパケット情報を混ぜて統合し、学習データとする。
【0031】
図4Aのように、データ統合時に、プロセッサ情報及びパケット情報の混ぜ合わせの順番は考慮しなくてもよいが、プロセッサ情報及びパケット情報の特徴量の各要素の順番は、各要素が揃った位置にする必要がある。aaaaaの行はプロセッサ情報の特徴量ベクトルである。dddddの行はパケット情報の特徴量ベクトルである。本実施形態では、これらの特徴量ベクトルをまとめて学習データとして判別器112を学習されているとする。
【0032】
図4Bは、パケット情報、プロセッサ情報のどちらかの特徴量の要素が多く、一方の不足の特徴量の要素を埋める場合である。特徴量の要素の数を特徴量の多い側の特徴量数に合わせた数にして学習データの枠を作成する。特徴量の要素の少ない側の情報に、足りない特徴量の要素部分に0を補って学習データを統合する。例では、特徴量の多い側の情報はプロセッサ情報、特徴量の少ない側の情報はパケット情報となる.プロセッサ情報の特徴量数に合わせた3列分の学習データ枠を作成し、プロセッサ情報はそのまま入力する。パケット情報は、Serror_rateが除かれて2つの特徴量となり、統合後の学習データ枠に対して特徴量が1つ分足りないことになる。この場合、足りない特徴量(Serror_rate)部分を0で埋めた3列のデータに変更した後、特徴量ベクトルの学習データに統合する。判別器112で判別する際に入力する特徴量ベクトルの場合も同様にすればよい。
【0033】
決定器114は、判別器112の判別結果を集計し、所定時間におけるサイバー攻撃(プログラム又は通信による攻撃)の発生の有無を最終的に決定する回路である。決定器114は、予め定めた時間間隔で処理を実行すればよく、既存の集計及び閾値による決定を実行する回路を改良して用いればよい。
【0034】
(検証例)
特徴量ベクトルに用いる特徴量の要素に関する検証を行った。
図5は、プロセッサ情報及びパケット情報の特徴量を散布図にプロットした例である。異なる二種のデータの統合を行った特徴量ベクトルの場合において、パケット情報の良性/悪性通信、プロセッサ情報の良性/悪性を判別できる根拠として、特徴量の領域の違いが考えられる。
図5において、パケット情報の良性のプロット点は白地の三角形(packet_N)、プロセッサ情報の良性のプロット点は黒地の三角形(trace_N)でプロットされている。また、パケット情報の悪性のプロット点は薄地の丸(packet_A)、プロセッサ情報の悪性のプロット点は黒地の丸(trace_A)でプロットされている。また、横軸は、L1_inst/Dst_host_countの比率を示す。縦軸は、L1_data/Dst_host_serror_rateの比率を示す。プロットした特徴量の選出はプロセッサ情報、パケット情報それぞれの特徴量の中から寄与率の高いものを二種ずつ選出した。
図5を見ると、プロセッサ情報の悪性を表すプロット点と良性を表すプロット点は左端中段辺りに張り付き、パケット情報を表すプロット点は良性及び悪性の何れも上下に張り付き、ところどころ中段にあるデータも存在する。このことから。プロセッサ情報とパケット情報を統合した場合にうまくそれぞれの特徴量領域が分かれ、お互いのデータの判別に悪影響を及ぼしにくい結果に至っていることがわかる。そのため、異なる情報を区別しない特徴量ベクトルの入力として扱っても、マルウェア及び悪性通信の判別が可能となる。
【0035】
(作用)
次に、本実施形態に係る検知回路100の作用について説明する。検知回路100は、
図6に示す検知処理ルーチンを実行する。
【0036】
ステップS100では、セレクタ110が、受信プロセスごとに、プログラム実行時のプロセッサ情報及び通信によるパケット情報の入力を受け付ける。受信プロセスは、プロセッサ情報はコアの1サイクルの実行ごと、パケット情報は通信部30のデータの受信ごとである。
【0037】
次に、ステップS102では、セレクタ110が、プロセッサ情報及びパケット情報の何れかを選択し、選択されたプロセッサ情報及びパケット情報の何れかの情報の特徴量ベクトルを生成し、判別器112に出力する。プロセッサ情報はコアの1サイクルの実行ごと、パケット情報は通信部30のデータの受信ごとに生成される。同時に受信した場合にはパケット情報を優先する。
【0038】
ステップS104では、判別器112が、特徴量ベクトルの受信ごとに、選択された情報の特徴量ベクトルを入力として、マルウェア及び悪性通信を判別し、判別結果を決定器114に出力する。
【0039】
ステップS106では、決定器114が、検知条件を満たすか否かを判定する。検知条件を満たすと判定した場合にはステップS108へ移行する。検知条件を満たさないと判定した場合にはステップS100に戻って処理を繰り返す。検知条件は、例えば、所定時間が経過した場合や、判別を開始してから判別の回数が所定回数以上になった時点の場合とすればよい。
【0040】
ステップS108では、決定器114が、判別器112の判別結果を集計し、所定時間におけるサイバー攻撃(プログラム又は通信による攻撃)の発生の有無を最終的に決定し、検知結果を出力する。
【0041】
以上説明したように、本実施形態の検知回路100によれば、プロセッサにおいて、一つの判別器を用いる場合でも異なる種類のマルウェア及び悪性通信のサイバー攻撃による異常を検知できる。
【0042】
本実施形態の手法は、第1に、マルウェアと悪性通信という2種類のサイバー攻撃を検知できるという特徴がある。これまで、IoT機器に対しては、リソース制約が厳しいため、パソコンなどで用いられるセキュリティ対策ソフト(ウイルスバスター、ESETなど)は導入できなかった。それに対し、セキュリティ対策のためのハードウェア機構が少しずつ開発されてきており、直近でマルウェア対策を行うハードウェアの提案が行われるまでになった。しかし、悪性通信の検知を行うハードウェアの提案は行われていなかった。そうした状況に対し、本実施形態の手法は、マルウェアを検知する回路を改良し、新たに悪性通信も検知可能にしたという特徴がある。
【0043】
第2に、通常、既存の回路に機能を追加すると、回路規模が増加してしまうが、本実施形態の手法は、機能追加に伴う回路規模の増加を抑制できるという特徴がある。このように回路規模を抑制できる理由は、判別器の1つ目の入力に対し、マルウェアの検知のためのプロセッサ情報の特徴量ベクトルと、悪性通信の検知のためのパケット情報の特徴量ベクトルの何れかを選択して判別の入力にすることができるような学習を行っているからである。通常、機械学習の分野では、このような学習は行われておらず、これが本実施形態の手法を特徴的なものとする要因の1つとなっている。
【0044】
また、変形としては、機械学習のアルゴリズムを別のものにすることができる。機械学習は、ニューラルネットワーク、ナイーブベイズ、SVM(サポートベクターマシン)、ランダムフォレストなど、複数のアルゴリズムを組み合わせることが想定される。また、特徴量を変更する、さらに別のサイバー攻撃を検出できるようにする、といった組み合わせが考えられる。
【0045】
本手法は、1つの判別器で特徴量の情報が異なる事象の判定を可能とする点にある。したがって、今回の場合は、マルウェアと悪性通信という異なる事象の判定を対象としていたが、この判定を別のものに変更するという展開も可能である。例えば、IoT機器において、画像認識、音声認識、音響認識(故障検査など)といった別の判定に導入することも考えられる。
【0046】
また、第1にサイバー攻撃は年々増加、複雑化しており、社会的効果は大きい。第2に波及範囲についてIoT機器の用途は多岐にわたる。現在、あらゆる機器がインターネットに接続され、IoT機器として動作している。監視カメラだけでなく、工場や、自動車などの輸送機器もIoT機器とみなすことができる。そうした機器はいずれも必ずプロセッサを搭載しているため、プロセッサ自体の製造時に標準機能として搭載すれば、あらゆるIoT機器において最初からサイバー攻撃対策を施すことが可能となる。
【0047】
また、ニューラルネットワークをハードウェアに実装する場合、浮動小数点を扱うためにビット幅の大きいデータを記憶し、演算(掛け算、割り算などを)しなければならないため、ハードウェア構造が極めて大きく、高価になってしまう。そのため、IoT機器への搭載は難しい。例えば、安価な監視カメラにAIエンジン専用のLSI、又はあるいは、AIエンジンを搭載したFPGAなどを搭載することはコスト的に非常に困難である。一方、本手法は、異なる判別を同一の学習モデルで実現するという手法であり、学習モデルとしてどのようなものでも用いることができる。なお、ニューラルネットワークだけではなく、ランダムフォレストのようなクラシックな機械学習モデルも利用可能である。
【0048】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【0049】
1 機器
10 プロセッサ
20 コア
30 通信部
100 検知回路
110 セレクタ
112 判別器
114 決定器