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

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

▶ 株式会社インターネットイニシアティブの特許一覧

特許7356617パケット解析装置およびパケット解析のためのコンピュータプログラム
<>
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図1
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図2
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図3
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図4
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図5
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図6
  • 特許-パケット解析装置およびパケット解析のためのコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-09-26
(45)【発行日】2023-10-04
(54)【発明の名称】パケット解析装置およびパケット解析のためのコンピュータプログラム
(51)【国際特許分類】
   H04L 43/18 20220101AFI20230927BHJP
【FI】
H04L43/18
【請求項の数】 8
(21)【出願番号】P 2023105947
(22)【出願日】2023-06-28
【審査請求日】2023-06-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】397036309
【氏名又は名称】株式会社インターネットイニシアティブ
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】柿島 純
【審査官】大石 博見
(56)【参考文献】
【文献】米国特許出願公開第2022/0374453(US,A1)
【文献】米国特許第8612530(US,B1)
【文献】特開2003-318984(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/18
(57)【特許請求の範囲】
【請求項1】
送受信されるパケットを取得するパケット取得部と、
前記パケットのヘッダー情報に含まれる文字列を表す文字列画像を生成する画像生成部であって、前記文字列画像は、前記ヘッダー情報の各項目を区別可能に表示する画像である、画像生成部と、
前記取得されたパケットに基づいて生成された前記文字列画像から、前記ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成された第1の機械学習モデルと、
前記取得されたパケットに基づいて生成された前記文字列画像において、前記第1の機械学習モデルによって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成された第2の機械学習モデルと、
前記第1の機械学習モデルによる選別結果および前記第2の機械学習モデルによる判定結果を表示する表示部と、
を備えるパケット解析装置。
【請求項2】
前記第1の機械学習モデルは、前記文字列画像のうちの前記ヘッダー情報の各項目に対応する部分画像を入力として受け取り、前記各項目が対象項目であるか否かの識別情報を出力するように構成される、請求項1に記載のパケット解析装置。
【請求項3】
前記第2の機械学習モデルは、前記文字列画像のうちの前記対象項目に対応する部分画像を入力として受け取り、前記対象項目内のパラメータ値が正常値であるか否かの識別情報を出力するように構成される、請求項1に記載のパケット解析装置。
【請求項4】
前記文字列画像は、
前記ヘッダー情報における第1階層の複数の項目に対応する第1群の部分画像と、
前記ヘッダー情報における前記第1階層の下位の階層である第2階層の複数の項目のうち、前記第1階層における対象項目に従属している複数の項目に対応する第2群の部分画像と、
前記ヘッダー情報における前記第2階層の複数の項目のうち、前記第1階層における前記対象項目以外の項目に従属している複数の項目に対応する第3群の部分画像と、を含み、
前記第1の機械学習モデルは、前記第1群の部分画像および前記第2群の部分画像を含み前記第3群の部分画像を含まない教師データを用いて事前に訓練された学習モデルである、
請求項1から3のいずれか1項に記載のパケット解析装置。
【請求項5】
前記文字列は、文字、数字、および記号のうちの1または複数を用いて表現される、請求項1に記載のパケット解析装置。
【請求項6】
前記文字列画像は、前記ヘッダー情報の各項目をそれぞれ1行に表示した画像である、請求項1に記載のパケット解析装置。
【請求項7】
前記対象項目は、前記パラメータ値に対するユーザによるチェックが必要であるものとしてあらかじめ決められた項目である、請求項1に記載のパケット解析装置。
【請求項8】
コンピュータを、
送受信されるパケットを取得するパケット取得部、
前記パケットのヘッダー情報に含まれる文字列を表す文字列画像を生成する画像生成部であって、前記文字列画像は、前記ヘッダー情報の各項目を区別可能に表示する画像である、画像生成部、
前記取得されたパケットに基づいて生成された前記文字列画像から、前記ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成された第1の機械学習モデル、
前記取得されたパケットに基づいて生成された前記文字列画像において、前記第1の機械学習モデルによって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成された第2の機械学習モデル、および
前記第1の機械学習モデルによる選別結果および前記第2の機械学習モデルによる判定結果を表示する表示部、
として機能させるように構成された、パケット解析のためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット解析装置およびパケット解析のためのコンピュータプログラムに関する。
【背景技術】
【0002】
ネットワークを流れるパケットを収集して表示する機能を備えた、パケットキャプチャやLANアナライザと呼ばれるツールが知られている(例えば特許文献1および非特許文献1等を参照)。これらのツールを用いることで、ネットワークに生じた通信障害やトラブルなどの原因を分析することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-193832号公報
【非特許文献】
【0004】
【文献】「LANアナライザ」、[online]、[令和5年6月26日検索]、インターネット <https://ja.wikipedia.org/wiki/LAN%E3%82%A2%E3%83%8A%E3%83%A9%E3%82%A4%E3%82%B6>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、パケットのヘッダー情報には膨大な数の項目が含まれており、各項目に設定されている値が適切であるか否かを正しく判断するには、各種の通信プロトコルに関する極めて高度な専門知識が必要とされる。そこで、パケットの解析を行う際のユーザの負担を軽減することが求められている。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、送受信されるパケットを取得するパケット取得部と、前記パケットのヘッダー情報に含まれる文字列を表す文字列画像を生成する画像生成部であって、前記文字列画像は、前記ヘッダー情報の各項目を区別可能に表示する画像である、画像生成部と、前記取得されたパケットに基づいて生成された前記文字列画像から、前記ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成された第1の機械学習モデルと、前記取得されたパケットに基づいて生成された前記文字列画像において、前記第1の機械学習モデルによって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成された第2の機械学習モデルと、前記第1の機械学習モデルによる選別結果および前記第2の機械学習モデルによる判定結果を表示する表示部と、を備えるパケット解析装置が提供される。
【0007】
また、本発明の一態様によれば、前記第1の機械学習モデルは、前記文字列画像のうちの前記ヘッダー情報の各項目に対応する部分画像を入力として受け取り、前記各項目が対象項目であるか否かの識別情報を出力するように構成されるのであってよい。
【0008】
また、本発明の一態様によれば、前記第2の機械学習モデルは、前記文字列画像のうちの前記対象項目に対応する部分画像を入力として受け取り、前記対象項目内のパラメータ値が正常値であるか否かの識別情報を出力するように構成されるのであってよい。
【0009】
また、本発明の一態様によれば、前記文字列画像は、前記ヘッダー情報における第1階層の複数の項目に対応する第1群の部分画像と、前記ヘッダー情報における前記第1階層の下位の階層である第2階層の複数の項目のうち、前記第1階層における対象項目に従属している複数の項目に対応する第2群の部分画像と、前記ヘッダー情報における前記第2階層の複数の項目のうち、前記第1階層における前記対象項目以外の項目に従属している複数の項目に対応する第3群の部分画像と、を含み、前記第1の機械学習モデルは、前記第1群の部分画像および前記第2群の部分画像を含み前記第3群の部分画像を含まない教師データを用いて事前に訓練された学習モデルであるのであってよい。
【0010】
また、本発明の一態様によれば、前記文字列は、文字、数字、および記号のうちの1または複数を用いて表現されるのであってよい。
【0011】
また、本発明の一態様によれば、前記文字列画像は、前記ヘッダー情報の各項目をそれぞれ1行に表示した画像であるのであってよい。
【0012】
また、本発明の一態様によれば、前記対象項目は、前記パラメータ値に対するユーザによるチェックが必要であるものとしてあらかじめ決められた項目であるのであってよい。
【0013】
また、本発明の一態様によれば、コンピュータを、送受信されるパケットを取得するパケット取得部、前記パケットのヘッダー情報に含まれる文字列を表す文字列画像を生成する画像生成部であって、前記文字列画像は、前記ヘッダー情報の各項目を区別可能に表示する画像である、画像生成部、前記取得されたパケットに基づいて生成された前記文字列画像から、前記ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成された第1の機械学習モデル、前記取得されたパケットに基づいて生成された前記文字列画像において、前記第1の機械学習モデルによって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成された第2の機械学習モデル、および前記第1の機械学習モデルによる選別結果および前記第2の機械学習モデルによる判定結果を表示する表示部、として機能させるように構成された、パケット解析のためのコンピュータプログラムが提供される。
【発明の効果】
【0014】
本発明によれば、パケットの解析を行う際のユーザの負担を軽減することができる。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態に係るパケット解析装置の例示的な構成を示す図である。
図2】パケット取得部で取得された複数のパケットをリスト表示する文字列画像の例である。
図3図2の文字列画像における複数のパケットの中から選択された1つのパケットの詳細を表示する文字列画像の例である。
図4図3の文字列画像における複数の項目から選択された1または複数の項目のさらなる詳細を表示する文字列画像の例である。
図5】本発明の一実施形態に係るパケット解析装置における第1の機械学習モデルの一実装例を示す。
図6】本発明の一実施形態に係るパケット解析装置における第2の機械学習モデルの一実装例を示す。
図7】本発明の一実施形態に係るパケット解析装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【0017】
図1は、本発明の一実施形態に係るパケット解析装置100の例示的な構成を示す図である。図1に示されるように、パケット解析装置100は、例えば、ルーター20および通信ノード30とともにLAN10を形成する。LAN10において、パケット解析装置100および通信ノード30は、ルーター20と通信可能に接続されている。通信ノード30は、ネットワーク通信機能を備えたコンピュータ(例えばPCやサーバ装置等)であってよく、ルーター20を介して、外部ネットワーク40(例えばインターネット等)上の他の通信ノード50との間でパケットを送受信する。パケット解析装置100は、通信ノード30が送受信するパケットを取得して解析する機能を有する。
【0018】
パケット解析装置100は、パケット取得部110と、文字列画像生成部120と、部分画像切出部130と、機械学習部140と、表示部150とを備える。また機械学習部140は、第1の機械学習モデル142と、第2の機械学習モデル144を備える。パケット解析装置100は、プロセッサおよびメモリを備えたコンピュータとして構成され、メモリに格納されたプログラム(すなわちコンピュータ実行可能命令)をプロセッサが読み出して実行することによって、パケット取得部110、文字列画像生成部120、部分画像切出部130、および機械学習部140の各部の機能が実現されるのであってよい。
【0019】
なお、図1においてパケット解析装置100は通信ノード30と別個の装置として描かれているが、パケット解析装置100の各部の機能が、通信ノード30に組み込まれる(すなわちパケット解析装置100が通信ノード30と一体に構成される)のであってもよい。例えば、パケット解析装置100の各部の機能を実現するためのプログラムがアプリケーションソフトウェアとして提供され、このアプリケーションソフトウェアが通信ノード30(すなわちPCやサーバ装置)にインストールされてもよい。
【0020】
パケット取得部110は、通信ノード30が送受信するパケットを取得する。例えば、パケット取得部110は、ルーター20から、ルーター20を通過するパケットのコピーを取得するように構成することができる。また、パケット解析装置100が通信ノード30と一体に構成される実施例においては、パケット取得部110は、通信ノード30の有線/無線通信モジュールから、送信パケットおよび受信パケットのコピーを取得するように構成されるのであってよい。
【0021】
文字列画像生成部120は、パケット取得部110によって取得されたパケットからヘッダー情報を取り出し、取り出したヘッダー情報に含まれる文字列を表す文字列画像を生成するように構成される。パケットのヘッダー情報は、数多くの様々な項目からなっており、文字列画像は、ヘッダー情報のそれら各項目をそれぞれ区別できる形で、かつ各項目の内容を人がその意味を識別可能な(すなわち16進表示等でない)文字列によって表した画像である。なお、ここで文字列とは、文字、数字、および記号のいずれからなるのであってもよいものとする。文字列画像生成部120によって生成された文字列画像は、パケット解析装置100のユーザがパケットのヘッダー情報の内容を確認することを可能にするために、パケット解析装置100の表示部150(ディスプレイ)に表示することができる。
【0022】
図2~4は、文字列画像生成部120によって生成された文字列画像のいくつかの例を示す。図2は、パケット取得部110で取得された複数のパケットをリスト表示する文字列画像200の例である。文字列画像200において、各パケット202は1行の文字列によって表され、パケット取得部110により取得された複数のパケットが、その取得された順に上から並んだ複数の行によってリスト形式で示されている。各行の文字列は、例えば、その行のパケットのヘッダー情報の内容を要約した文字列であってよい。文字列画像200は、例えば、パケット解析装置100においてパケット解析処理が開始され、パケット取得部110により新たなパケットが1つ取得されるごとに、更新されるのであってよく、その更新された文字列画像200が順次、パケット解析装置100の表示部150に表示されるのであってよい。
【0023】
図3は、図2の文字列画像200における複数のパケットの中から選択された1つのパケットの詳細を表示する文字列画像300の例である。例えば、パケット解析装置100のユーザが、表示部150に表示された文字列画像200において1つのパケットを選択する入力(例えば入力デバイスであるマウスのクリック)をパケット解析装置100に与えたことに応答して、図3の文字列画像300が生成され、表示部150に表示される(例えば、文字列画像200が表示されている表示部150の画面下部に、文字列画像300が追加して表示される)のであってよい。文字列画像300において、当該選択されたパケットのヘッダー情報に含まれる複数の項目のうち、第1階層に属する複数の項目が、それぞれの項目ごとに1行の文字列によって表される。図3の例において、文字列画像300は、第1階層に5つの項目301~305を有している。例えば、項目303は選択されたパケットのIP(Internet Protocol)ヘッダーに関する項目であり、項目304はSCTP(Stream Control Transmission Protocol)ヘッダーに関する項目であり、項目305はDiameterプロトコルのヘッダーに関する項目である。図2の文字列画像200と同様に、文字列画像300の各行の文字列は、各項目に対応するヘッダー情報の内容を要約した文字列であってよい。
【0024】
図4は、図3の文字列画像300における複数の項目から選択された1または複数の項目のさらなる詳細を表示する文字列画像400の例である。例えば、パケット解析装置100の表示部150に表示された図3の文字列画像300において1または複数の項目を選択する入力がパケット解析装置100に与えられたことに応答して、図4の文字列画像400が生成され、表示部150の画面が文字列画像300から文字列画像400に遷移するのであってよい。文字列画像400は、文字列画像300に含まれる複数の項目(すなわち第1階層の項目)から選択された項目の1つ下の階層(第2階層)に属する項目の情報を表示する画像である。図4の例は、図3の例の文字列画像300において項目304(SCTPヘッダー)と項目305(Diameterプロトコルのヘッダー)が選択された場合の文字列画像400を示しており、文字列画像400は、項目304の文字列の下に、項目304に含まれる第2階層の各項目401の文字列を有し、また項目305の文字列の下に、項目305に含まれる第2階層の各項目402の文字列を有している。文字列画像400において、第2階層の各行の文字列は、第1階層の文字列と同様、それぞれ第2階層の1つの項目に対応している。
【0025】
このように、表示部150に文字列画像300が表示されている状態で1または複数の項目(第1階層の項目)が選択されると、その項目に従属する第2階層の項目が展開されて表示される。第1階層の項目の選択を解除することで、一旦展開された第2階層の項目を再度折り畳んで非表示とする(つまり文字列画像300の表示に戻る)ことが可能であってもよい。また、パケットのヘッダー情報が第2階層よりさらに下の階層(第3、第4階層等)の項目を含む場合、文字列画像生成部120は、それら下位階層の項目を有する同様の文字列画像を生成することが可能であってもよい。
【0026】
なお、上記では、図2の文字列画像200において1つのパケットが選択されると図3の文字列画像300が生成、表示され、さらに図3の文字列画像300においてヘッダー情報の第1階層の項目が選択されると図4の文字列画像400が生成、表示されるものとして説明したが、図2の文字列画像200において1つのパケットが選択されたことを受けて直ちに、第2階層以下の階層に属する項目(例えば全ての階層の項目)が展開された文字列画像が生成、表示されるのであってもよい。
【0027】
図1に戻り、部分画像切出部130は、文字列画像生成部120によって生成された文字列画像において、ヘッダー情報の各項目に対応する部分画像を切り出す。例えば、図3に例示された文字列画像300において、項目301~305のそれぞれに対応する5つの部分画像が切り出される。また、図4に例示された文字列画像400において、項目305(Diameterプロトコルのヘッダー)に従属する第2階層の各項目402のそれぞれに対応する部分画像が切り出される。ここでは、項目305の下には第2階層の項目402が23個(23行)存在するので、各行に対応する23個の部分画像が切り出される。なお、図4の例示の文字列画像400において、部分画像切出部130は、項目304(SCTPヘッダー)に従属する第2階層の各項目401については部分画像の切り出しを行わないが、その理由は後で説明する。
【0028】
機械学習部140の第1の機械学習モデル142は、文字列画像生成部120によって生成された文字列画像から、ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成される。上述したように、文字列画像(例えば文字列画像300、400)は、パケット取得部110で取得されたパケットのヘッダー情報に含まれる複数の項目(例えば項目301~305、401、402)のそれぞれに対応する文字列を有している。これら複数の項目のうち、「対象項目」とは、パケット解析装置100のユーザが、ヘッダー情報の当該項目に設定されているパラメータ値を(例えば表示部150に表示されたその値を目視することにより)チェックすることが必要なものとしてあらかじめ決められている項目を指す。例えば、図3の文字列画像300の例において、Diameterプロトコルのヘッダーに対応する項目305のみが、あらかじめ対象項目に設定される一方、その他の項目301~304は、あらかじめ非対象項目(すなわちユーザによるチェックが不要な項目)に設定されてよい。同様に、図4の文字列画像400の例において、Diameterプロトコル(項目305)に従属する第2階層の複数の項目402のうち、1~9行目の項目は非対象項目に、また10~23行目の項目は対象項目に、それぞれ、あらかじめ設定されるのであってよい。なお、各文字列画像における対象項目の数は任意である。
【0029】
第1の機械学習モデル142は、文字列画像における各行の文字列に対応するヘッダー情報の項目が対象項目であるか否かを識別することが可能となるように、機械学習部140によって事前に訓練(学習)される。具体的に、第1の機械学習モデル142の一実装例を図5に示す。第1の機械学習モデル142は、複数の入力ノード501を有する入力層502と、各々が複数のノード503を有する1または複数の層からなる中間層504と、複数の出力ノード505を有する出力層506とを備えたニューラルネットワーク500によって構成することができる。各ノードは、重み付けパラメータによって特徴付けられる強度で、当該ノードが属する層に隣接する層の複数のノードと接続されている。入力層502には、部分画像切出部130によって作成された部分画像が入力される。また出力層506は2つの出力ノード505から構成され、一方の出力ノードは、入力層502に入力された部分画像がヘッダー情報の対象項目に対応するものであることを示す識別情報507を出力し、他方の出力ノードは、入力層502に入力された部分画像がヘッダー情報の対象項目に対応しないものであることを示す識別情報508を出力する。第1の機械学習モデル142(ニューラルネットワーク500)を訓練するために、機械学習部140には、入力層502に入力された部分画像がヘッダー情報の対象項目であるかどうかの正しい情報を表すラベルが、例えばパケット解析装置100の管理者または訓練実施者から与えられる。出力層506の2つの出力ノード505がこのラベルと一致した識別情報507、508を出力するように、部分画像とラベルの多数のセットを教師データとして用いて、ニューラルネットワーク500の各ノード間の重み付けパラメータが調整される。これにより、第1の機械学習モデル142の訓練が行われる。
【0030】
例えば、図3の例の文字列画像300は、ヘッダー情報の第1階層における5つの項目301~305に対応する文字列を有しており、これら各項目の文字列を表す部分画像と当該部分画像に付与されたラベルを1セットとする多数の教師データを用いて、第1の機械学習モデル142が訓練される。また、図4の例の文字列画像400において、ヘッダー情報の第2階層は、第1階層の項目のうち対象項目であるDiameterプロトコル(項目305)に従属する複数の項目402と、対象項目でない項目(項目304)に従属する複数の項目401とを含んでいる。そしてヘッダー情報の第2階層については、第1階層における対象項目に従属する項目402の各文字列を表す部分画像および当該部分画像に付与されたラベルを1セットとする多数の教師データを用いて、第1の機械学習モデル142がさらに訓練される。
【0031】
ここで、第1階層の項目が対象項目でない場合にはその項目に従属する第2階層の項目(例えば項目401)も対象項目でないため、図4の例において、第1階層の対象項目に従属しない第2階層の各項目401の文字列に対応する部分画像は、第1の機械学習モデル142の訓練には使用されない。つまり、図3に例示された文字列画像300および図4に例示された文字列画像400の例において、第1の機械学習モデル142は、ヘッダー情報の第1階層における各項目301~305の文字列に対応する第1群の部分画像と、第1階層の対象項目(項目305)に従属する第2階層の項目402の各文字列に対応する第2群の部分画像とを含み、第1階層の対象項目(項目305)に従属しない第2階層の項目401の各文字列に対応する第3群の部分画像は含まない教師データによって、訓練される。そのため、第1の機械学習モデル142の規模を削減することができ、また学習時間も低減することができる。
【0032】
機械学習部140の第2の機械学習モデル144は、第1の機械学習モデル142によって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成される。前述したように、例えば図4の文字列画像400の例において、第1階層のDiameterプロトコル(項目305)に従属する第2階層の項目402のうち10~23行目の項目が対象項目に設定されており、これら各対象項目は、その項目の内容を表すパラメータ値の文字列を含んでいる。例えば、図4を参照すると、項目402のうち10行目の項目は、「Vendor-Specific-Application-Id(260) l=32 f=-M-」というパラメータ値を含む。パラメータ値が「正常」であるとは、例えば、当該パラメータ値が、所定の通信仕様においてその値に設定することが要求または推奨される値に一致していることを意味するのであってよい。
【0033】
第2の機械学習モデル144は、文字列画像における対象項目のパラメータ値が正常値であるか否かを識別することが可能となるように、機械学習部140によって事前に訓練(学習)される。具体的に、第2の機械学習モデル144の一実装例を図6に示す。第1の機械学習モデル142と同様に、第2の機械学習モデル144は、複数の入力ノード601を有する入力層602と、各々が複数のノード603を有する1または複数の層からなる中間層604と、複数の出力ノード605を有する出力層606とを備えたニューラルネットワーク600によって構成することができ、各ノードは、重み付けパラメータによって特徴付けられる強度で、当該ノードが属する層に隣接する層の複数のノードと接続されている。入力層602には、部分画像切出部130によって作成された対象項目の部分画像が入力される。また出力層606は2つの出力ノード605から構成され、一方の出力ノードは、入力層602に入力された対象項目の部分画像におけるパラメータ値が正常値であることを示す識別情報607を出力し、他方の出力ノードは、入力層602に入力された対象項目の部分画像におけるパラメータ値が異常値であることを示す識別情報608を出力する。第2の機械学習モデル144(ニューラルネットワーク600)を訓練するために、機械学習部140には、入力層602に入力された部分画像内のパラメータ値が正常値であるかどうかの正しい情報を表すラベルが、例えばパケット解析装置100の管理者または訓練実施者から与えられる。出力層606の2つの出力ノード605がこのラベルと一致した識別情報607、608を出力するように、対象項目の部分画像とそれに対応するラベルの多数のセットを教師データとして用いて、ニューラルネットワーク600の各ノード間の重み付けパラメータが調整される。これにより、第2の機械学習モデル144の訓練が行われる。
【0034】
図7は、本発明の一実施形態に係るパケット解析装置100の動作の一例を示すフローチャートである。パケット解析装置100は、訓練(学習)済みの第1および第2の機械学習モデル142、144を用いて動作し、この動作はステップ702から開始する。
【0035】
ステップ702において、パケット取得部110は、ルーター20または通信ノード30からパケットを取得する。ステップ704において、文字列画像生成部120は、取得された複数のパケットをリスト表示する文字列画像200(図2参照)を生成し、文字列画像200は表示部150に表示される。ステップ706において、表示部150に表示されたリストから1つのパケットがユーザにより選択されたか否かが(例えばパケット解析装置100のプロセッサによって)判定され、その選択が行われた場合、ステップ708へ進む。ステップ708において、文字列画像生成部120は、当該選択されたパケットの詳細を表す文字列画像300(図3参照)を生成し、文字列画像300は表示部150に表示される。
【0036】
続くステップ710において、部分画像切出部130は、生成された文字列画像300からヘッダー情報の各項目(項目301~305)に対応する部分画像を切り出す。ステップ712において、機械学習部140は、ステップ710で切り出されたヘッダー情報の各項目の部分画像を第1の機械学習モデル142の入力層502に入力し、この入力を受けて、第1の機械学習モデル142は、入力された各部分画像について、当該部分画像の項目が対象項目であるかどうかを表す識別情報507または508を出力層506から出力する。ステップ714において、第1の機械学習モデル142による識別結果が表示部150に表示される。例えば、文字列画像300の中の対象項目である項目305の文字列(「Diameter Protocol」と記載された文字列)の横に、当該項目はユーザのチェックが必要な対象項目であることを知らせる付加情報(例えば「チェック要」の旨を表すアイコンまたは文字)が表示されるのであってよい。
【0037】
次に、ステップ716において、表示部150の文字列画像300から1または複数の項目がユーザにより選択されたか否かが(例えばパケット解析装置100のプロセッサによって)判定され、その選択が行われた場合、ステップ718へ進む。ステップ718において、文字列画像生成部120は、当該選択された項目のさらなる詳細を表す文字列画像400(図4参照)を生成し、文字列画像400は表示部150に表示される(例えば文字列画像300の表示が文字列画像400の表示に切り替わる)。
【0038】
続くステップ720において、部分画像切出部130は、ステップ718で生成された文字列画像400から、ヘッダー情報の第1階層における対象項目に従属する第2階層の各項目(例えば項目402の各行)に対応する部分画像を切り出す。ステップ722において、機械学習部140は、ステップ720で切り出されたヘッダー情報の第2階層の項目の部分画像を第1の機械学習モデル142の入力層502に入力し、この入力を受けて、第1の機械学習モデル142は、入力された各部分画像について、当該部分画像の項目が対象項目であるかどうかを表す識別情報507または508を出力層506から出力する。ステップ724において、第1の機械学習モデル142による識別結果が表示部150に表示される。例えば、文字列画像400の中の対象項目である、項目402のうちの10~23行目の各文字列の横に、当該10~23行目の各項目はユーザのチェックが必要な対象項目であることを知らせる付加情報(例えば「チェック要」の旨を表すアイコンまたは文字)が表示されるのであってよい。
【0039】
さらに、ステップ726において、機械学習部140は、ステップ720で切り出された部分画像のうちヘッダー情報の第2階層の対象項目に対応する部分画像を第2の機械学習モデル144の入力層602に入力し、この入力を受けて、第2の機械学習モデル144は、入力された各部分画像について、当該部分画像内のパラメータ値が正常値であるかどうかを表す識別情報607または608を出力層606から出力する。ステップ728において、第2の機械学習モデル144による識別結果が表示部150に表示される。例えば、上記のステップ724で表示された付加情報の横に、さらに加えて、当該対象項目のパラメータ値が正常値と異常値のいずれであるかを知らせる付加情報(例えば「正常値」もしくは「異常値」のアイコンまたは文字)が表示されるのであってよい。
【0040】
なお、上記の図7のフローチャートでは、ステップ706で1つのパケットが選択された場合に、第1階層の項目のみを含む文字列画像300が生成、表示された後、第2項目を含む文字列画像400が生成、表示されたが、そのような処理に代えて、ステップ706でのパケットの選択を受けて直ちに、第2階層の全項目が展開された文字列画像400に類似する文字列画像を生成、表示し、この文字列画像の各項目(各行)の部分画像を第1および第2の機械学習モデル142、144に入力して、それら各項目について、対象項目であるか否かおよびパラメータ値が正常か否かを示す識別情報507、508、607、608を出力しそれらを表示部150に表示するように、フローチャートが変更されてもよい。
【0041】
以上のように、本発明の一実施形態に係るパケット解析装置100によれば、パケットのヘッダー情報に含まれる多数の項目の中から、ユーザによる内容のチェックが必要な項目(対象項目)を自動的に判別することができ、また、それら対象項目の設定内容(パラメータ値)が正しいか否かを自動的に判別することができる。
【0042】
以上、本発明の実施形態を説明したが、本発明はこれに限定されず、その要旨を逸脱しない範囲内において様々な変更が可能である。
【符号の説明】
【0043】
10 LAN
20 ルーター
30 通信ノード
40 外部ネットワーク
50 通信ノード
100 パケット解析装置
110 パケット取得部
120 文字列画像生成部
130 部分画像切出部
140 機械学習部
142 第1の機械学習モデル
144 第2の機械学習モデル
150 表示部
【要約】
【課題】パケットの解析を行う際のユーザの負担を軽減する。
【解決手段】パケット解析装置は、送受信されるパケットを取得するパケット取得部と、前記パケットのヘッダー情報に含まれる文字列を表す文字列画像を生成する画像生成部と、前記取得されたパケットに基づいて生成された前記文字列画像から、前記ヘッダー情報の複数の項目のうちの1または複数の対象項目に対応する文字列を選別するように構成された第1の機械学習モデルと、前記取得されたパケットに基づいて生成された前記文字列画像において、前記第1の機械学習モデルによって選別された対象項目の文字列が、正常なパラメータ値を有しているか否かを判定するように構成された第2の機械学習モデルと、前記第1の機械学習モデルによる選別結果および前記第2の機械学習モデルによる判定結果を表示する表示部と、を備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7