[go: up one dir, main page]

JP7413172B2 - 通信解析装置およびプログラム - Google Patents

通信解析装置およびプログラム Download PDF

Info

Publication number
JP7413172B2
JP7413172B2 JP2020121253A JP2020121253A JP7413172B2 JP 7413172 B2 JP7413172 B2 JP 7413172B2 JP 2020121253 A JP2020121253 A JP 2020121253A JP 2020121253 A JP2020121253 A JP 2020121253A JP 7413172 B2 JP7413172 B2 JP 7413172B2
Authority
JP
Japan
Prior art keywords
meaning
communication data
communication
unit
parameter
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
JP2020121253A
Other languages
English (en)
Other versions
JP2022018265A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020121253A priority Critical patent/JP7413172B2/ja
Priority to US17/185,941 priority patent/US11909747B2/en
Publication of JP2022018265A publication Critical patent/JP2022018265A/ja
Application granted granted Critical
Publication of JP7413172B2 publication Critical patent/JP7413172B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の実施形態は、通信解析装置およびプログラムに関する。
制御システムに対するサイバー攻撃には、制御機器特有のプロトコル構造を解析し、通信データのプロトコルフィールドの値(パラメータ)を改ざんすることで不正な動作を引き起こす攻撃が存在する。制御システムへのサイバー攻撃に対する評価試験を行うために、サイバー攻撃を模擬する技術開発が必要となる。
サイバー攻撃を成功させるためには、プロトコルフィールドの意味(Semantics)を考慮して、適切な改ざんを行う必要がある。このため、制御システムに対するサイバー攻撃を模擬する技術開発を行うにあたって、プロトコルフィールドの意味を推定する技術が求められている。
一般的に通信プロトコルの解析にはプロトコル仕様を利用したプロトコルアナライザが利用される。ここで、プロトコル仕様とは、通信データのプロトコルフィールド(範囲、区切り、意味)を定めたものである。制御システムで利用されているアプリケーション層のプロトコルにはアプリケーション独自のマイナーな通信プロトコルを使用することも多く、プロトコル仕様の入手が困難な場合やプロトコル仕様が文書化されていない場合がある。
一方、プロトコル仕様を用いず、通信データを用いることでプロトコル構造を推定する自動プロトコルリバースエンジニアリングと呼ばれる手法がある。
従来技術の自動プロトコルリバースエンジニアリング手法は、特定のプロトコルフィールドの意味毎に判定アルゴリズムを作成することによりプロトコルフィールドの意味を特定できるものがあるが、個別に判定プログラムを用意する必要があるとともに、判定プログラムを作成していない他のプロトコルフィールドの意味を推定することができない等、拡張性に乏しい。
米国特許第9473380号明細書
本発明が解決しようとする課題は、通信データ中のフィールドの意味を適切に推定する通信解析装置およびプログラムを提供することである。
実施形態の通信解析装置は、変動部分抽出部と、変化パターン生成部と、学習データ記憶部と、意味推定部と、を備える。前記変動部分抽出部は、通信データ群を取得し、パラメータが時系列上変動している変動部分を抽出する。前記変化パターン生成部は、前記変動部分の時系列上変動するパラメータに基づき、前記パラメータの変動の特徴を示す1つ以上の変化パターンを生成する。前記学習データ記憶部は、1つのプロトコルフィールドの意味と前記1つのプロトコルフィールドのパラメータの変動の特徴を示す1つ以上の変化パターンとを対応付けた複数組の学習データを記憶する。前記意味推定部は、前記変化パターン生成部が生成した前記1つ以上の変化パターンのそれぞれと前記学習データの前記1つ以上の変化パターンのそれぞれとを比較し、前記変動部分の意味を推定する。
第1の実施形態に係る通信解析装置の機能ブロック図。 通信データの一例。 通信データ群の一例。 通信データ群の一例。 プロトコルフィールド群の分割例。 変化パターンデータの一例。 学習データの一例。 推定結果情報の一例。 第1の実施形態に係る通信解析装置の処理手順の一例。 第1の実施形態の変形例1に係る通信解析装置の機能ブロック図。 第2の実施形態に係る通信解析装置の機能ブロック図。 推定結果情報の一例。 第2の実施形態に係る通信解析装置の処理手順の一例。 第2の実施形態の変形例に係る通信解析装置の機能ブロック図。 第3の実施形態に係る検査システムの模式図。 第3の実施形態に係る検査システムの機能ブロック図。 第3の実施形態に係る通信解析装置の処理手順の一例。 実施形態の通信解析装置のハードウエア構成図。
以下、発明を実施するための実施形態について説明する。
(第1の実施形態)
(第1の実施形態の概要と構成)
図1から図9を参照して、第1の実施形態を説明する。
図1は、第1の実施形態に係る通信解析装置10の機能構成を示す機能ブロック図である。図1に示すように、通信解析装置10は、通信データ取得部101、通信データ抽出部102、変動部分抽出部103、変化パターン生成部104、学習データ記憶部105、意味推定部106および推定結果出力部109を備える。
通信解析装置10は、対象となるシステムにおいてやりとりされる通信データに含まれる未知のプロトコルフィールドの意味を推定する。本明細書において、プロトコルフィールドとは、通信データのプロトコル毎に定められた仕様に基づき指定された範囲(フィールド)のことである。すなわち、通信データは複数のプロトコルフィールドを持つ。通信に使用しているプロトコルの仕様が不明な場合、当該プロトコルのプロトコルフィールドは未知である。
また、本明細書において、「プロトコルフィールドの意味」とは、通信データのプロトコルフィールドがどういった目的で利用されているのかを示すものである。
プロトコルフィールドの意味の一例としては、タイムスタンプ、アドレス、制御コマンドタイプ(Readコマンド、Writeコマンドなどを示す型)、データ長、シーケンス番号、カウンタ、チェックサム、目標制御値(設定温度など)、連続制御値(温度センサの値ど)、ON/OFF操作値、状態フラグなどがある。
一般に、通信プロトコルのプロトコル仕様には公開されているものと、公開されていないものがある。例えば、制御システムで用いられる通信において、アプリケーション層のプロトコルは、仕様が公開されていないプロトコルである場合がある。プロトコルフィールドの意味は、単純なプロトコル仕様で決まるわけではなく、そのプロトコルフィールドがアプリケーションでどのように利用されているか(例えば、単純にレジスタの値を格納するという意味に留まらず、設定温度値に利用しているのか、温度センサの値に利用しているのか、など)にも影響される。
各プロトコルフィールドには、パラメータが格納される。パラメータは、16進ダンプであるとする。プロトコルフィールドに格納されるパラメータごとに当該プロトコルフィールドの持つ意味の具体的な値を持つ。
例えば、プロトコルフィールドの意味が温度の設定値の場合、このプロトコルフィールドに格納されるパラメータが温度の設定値の具体的な数値を示す。
図2は、通信データ411の一例を示す図である。通信データ411は、単一の通信パケットである。ここで、通信データ411は、一例として、通信プロトコルとして、TCP/IPモデルにおけるネットワークアクセス層にEthernet(登録商標)プロトコル、インターネット層にIP(Internet Protocol)プロトコル、トランスポート層にTCP(Transmission Control Protocol)プロトコルの各プロトコルを使用しているとして説明する。Ethernetプロトコル、IPプロトコル、TCPプロトコルの各プロトコルはプロトコル仕様が公開されており、既知である。本実施形態は、これらのプロトコル以外のプロトコルを使用していてもよい。
また、通信データ411は、アプリケーション層にプロトコル仕様が不明な未知のプロトコルを使用している通信であるとする。
図2に示す通信データ411の一例は、既知のプロトコルのプロトコルフィールド群40a、40b、40cおよび未知のプロトコルのプロトコルフィールド群40xを備える。
プロトコルフィールド群40aは、Ethernetヘッダである。プロトコルフィールド群40bは、IPヘッダである。プロトコルフィールド群40cは、TCPヘッダである。プロトコルフィールド群40xは、プロトコル仕様が不明な未知のプロトコルのプロトコルフィールド群である。プロトコルフィールド群40x内のプロトコルフィールドの区切りと意味は不明であるとする。
また、プロトコルフィールド群40a、40b、40cおよび40xの各プロトコルフィールド群にはパラメータ群が格納される。プロトコルフィールド群40aには、パラメータ群411aが格納される。同様に、プロトコルフィールド群40b、40c、40xには、それぞれ順にパラメータ群411b、411c、411xが格納されている。
プロトコルフィールド群40aは、複数の既知のプロトコルフィールド40aa乃至40azにより構成される。パラメータ群411aは、複数のパラメータ411aa乃至411azにより構成される。
プロトコルフィールド40aa乃至40azにはそれぞれパラメータ411aa乃至411azが格納されている。
同様に、プロトコルフィールド群40bは、複数の既知のプロトコルフィールド40ba乃至40bzにより構成される。同様に、プロトコルフィールド群40cは、複数の既知のプロトコルフィールド40ca乃至40czにより構成される。図2のパラメータ群411bは、複数のパラメータ411ba乃至411bzにより構成される。パラメータ群411cは、複数のパラメータ411ca乃至411czにより構成される。
図1において通信データ取得部101は、通信データ群400を取得する。通信データ取得部101は、外部の通信装置などから通信データ群400をリアルタイムに取得する。なお、予めファイルとして内部の記憶装置などに保存されている通信データ群400を読み出すことで取得してもよい。
図3に示すように、通信データ群400は、一例として複数の通信データ411乃至450を含む。通信データ411乃至450のそれぞれは、通信パケットであって、プロトコルフィールド群40a、40b、40cおよび40xを含む。
通信データ群400を構成する通信データ411乃至450は、通信データ411から順番に時系列順であるものとする。すなわち、通信データの符号の小さいものから順番に時系列順に並んでいる。ここで、時系列順とは、通信解析装置10が外部の通信装置などから通信データ411乃至450をリアルタイムに取得する場合においては、通信データ411乃至450を取得した時系列の順番のことである。
また、通信解析装置10が予め通信データ群400を記憶した内部の記憶装置などから通信データ群400を読み出す場合においては、記憶装置が通信データを記憶した際の時系列の順番を示す。
通信解析装置10は、通信データ群400を構成する通信データ411乃至450のそれぞれについて識別可能で時系列順に整列させることができる。また、図3には図示していないが、通信データ411乃至450には、タイムスタンプ(受信または記憶した具体的な日時)を示す情報が含まれていてもよい。
通信データ411乃至450にタイムスタンプを示す情報が含まれていない場合であっても、通信解析装置10は、通信データ411乃至450を到着した順番に時系列順に整列させることはできるが、通信データ群400にタイムスタンプを示す情報が含まれている場合、後述する変化パターン生成部104にて通信データの通信頻度または周期性を変化パターンの一つとして活用することができる。
プロトコルフィールド群40aは、パラメータ群411a、パラメータ群412a乃至パラメータ群450aを格納している。プロトコルフィールド群40bは、パラメータ群411b、パラメータ群412b乃至パラメータ群450bを格納している。プロトコルフィールド群40cは、パラメータ群411c、パラメータ群412c乃至パラメータ群450cを格納している。プロトコルフィールド群40xは、パラメータ群411x、パラメータ群412x乃至パラメータ群450xを格納している。
通信データ抽出部102は、通信データ取得部101から取得した通信データ群400に含まれる通信データの中から、同一の特徴を持つことを抽出条件として、通信データ群400Xを抽出する。抽出条件となる同一の特徴の決定方法については、後述する。
図3では、例えば、通信データ411乃至430は宛先MACアドレスがAで同一で、通信データ431乃至450は宛先MACアドレスがBで同一とする。
図4は、通信データ抽出部102が抽出した通信データ群400Xの図である。図4では、図3の通信データ群400の中から通信データ411乃至430が同一の特徴(抽出条件は、MACアドレスが同一で宛先Aであるもの)を持つ通信データ群400Xとして抽出されているものとする。
通信データ抽出部102は、EthernetプロトコルやIPプロトコル等の既知のプロトコル仕様を記憶していて、通信データ群400Xを抽出するために利用してもよい。通信データ抽出部102が通信データ群400を既知のプロトコル仕様を利用することにより、同一の特徴を持つ通信データの抽出に用いる特徴として、既知のプロトコルフィールドにおけるパラメータを利用することができる。
既知のプロトコルフィールドなどの信頼度の高い特徴を目的の通信データを抽出する際に利用することは、目的の通信データの抽出精度を高くすることができ、最終的にプロトコルフィールドの意味の推定結果の精度向上につながる。
通信データ抽出部102の抽出条件の決定は、通信データ抽出部102がアルゴリズムに基づいて自動的に決定する。
通信データ抽出部102がアルゴリズムに基づいて決定する手順は、まず既知のプロトコル仕様に基づき、既知のプロトコルフィールド毎に通信データ群400のパラメータのリストを作成する。そして、推定したいプロトコルフィールドを含む通信データが共通に有するパラメータを分析し、決定する。
共通に有するパラメータの分析には、機械学習手法の一種である決定木や確率モデル、
SVM(Support Vector Machine)などが考えられるが、これに限定せず任意のアルゴリズムを使用することが可能である。
一例として、推定したいプロトコルフィールドを含む通信データが機器Aから機器Bに対する通信にのみ含まれる場合において、任意のアルゴリズムを用いて推定したいプロトコルフィールドを含む通信が「送信元MACアドレスが機器AのMACアドレスである」及び「宛先MACアドレスが機器BのMACアドレスである」という条件が得られたとする。
この場合は、アルゴリズムの結果で得られた条件を通信データ抽出部102の抽出条件として決定する。なお、アルゴリズムの結果が複数存在し、優先度などが得られた場合には、優先度の高い条件を抽出条件として決定してもよい。
上述した方法により決定された通信データ抽出部102の抽出条件としては、例えば、データ長、MACアドレス、IPアドレス、Ethernetフレームタイプ番号、IPプロトコル番号、ポート番号、通信頻度、タイムスタンプ、などといった、既知のプロトコルフィールドにおけるパラメータを抽出条件とする方法が考えられる。
MACアドレスやIPアドレスが同一であると、通信方向が同じ通信データを抽出することができる。また、宛先ポート番号が同一であると、TCP/UDPベースのプロトコルであった場合に同一のプロトコルの通信データを抽出できる可能性を高めることができる。また、周期的に送受信されている同じ目的の通信は、同一のプロトコルである可能性が高く、通信頻度が同一であると、同一のプロトコル及びプロトコルフィールドを使用している通信である可能性が高い。また、通信データ長が同一であると、プロトコルフォーマットが固定長であった場合に同じ目的の通信を抽出しやすくできる。
通信データ抽出部102は、通信データ群400Xを変動部分抽出部103に出力する。
変動部分抽出部103は、通信データ抽出部102から通信データ群400Xを取得し、一つのサブフィールドに格納されるパラメータの大きさが一定の大きさになるように、未知のプロトコルのプロトコルフィールド群40xを先頭から分割する。すなわち、パラメータ群411x乃至パラメータ群430xのそれぞれは一定の大きさで先頭から分割されてそれぞれのサブフィールドに格納される。サブフィールドは、プロトコルフィールドの候補である。
なお、本実施形態においては、1オクテット単位で分割するとして説明するが、分割の単位はこれに限定されない。
図5は、通信データ群400Xのうち、未知のプロトコルのプロトコルフィールド群40xを、1オクテットずつのサブフィールド40xa、サブフィールド40xb、サブフィールド40xc乃至サブフィールド40xzに分割した例を示す。このためパラメータ群411xがパラメータ411xa、パラメータ411xb、パラメータ411xc乃至パラメータ411xzに1オクテットずつ分割されている。パラメータ群412x乃至パラメータ群430xを格納しているプロトコルフィールド群40xについても同様に1オクテットずつサブフィールド40xa、サブフィールド40xb、サブフィールド40xc乃至サブフィールド40xzに分割される。通信解析装置10は、サブフィールドをプロトコルフィールドとみなして、サブフィールドの意味の推定を行う。
同一のサブフィールドに属する複数のパラメータを時系列順に並べたものをパラメータ列と定義する。すなわち、抽出された通信データ群400xの中で、異なる通信データ411、412乃至430において解析対象となる層(例えば、アプリケーション層)の中で同一の位置に存在するパラメータは同一のパラメータ列に属するものとする。
本明細書では、あるパラメータ列を構成するパラメータを格納しているサブフィールドのことを単に「パラメータ列に対応するサブフィールド」や「パラメータ列のサブフィールド」と称すこともある。
また、あるサブフィールドが格納するパラメータにより構成されたパラメータ列のことを単に「サブフィールドに対応するパラメータ列」や「サブフィールドのパラメータ列」と称すこともある。
図5に示すように、パラメータ列400xaは、パラメータ411xa、パラメータ412xa乃至パラメータ430xaを含み、これらのパラメータは第1番目のサブフィールドであるサブフィールド40xaに格納されている。
パラメータ列400xbは、パラメータ411xb、パラメータ412xb乃至パラメータ430xbを含み、これらのパラメータは、第2番目のサブフィールドであるサブフィールド40xbに格納されている。
パラメータ列400xcは、パラメータ411xc、パラメータ412xc乃至パラメータ430xcを含み、これらのパラメータは、第3番目のサブフィールドであるサブフィールド40xcに格納されている。
パラメータ列400xzは、パラメータ411xz、パラメータ412xz乃至パラメータ430xzを含み、これらのパラメータは、第N番目のサブフィールドであるサブフィールド40xzに格納されている。
変動部分抽出部103が分割した区分、すなわち同一のサブフィールドに格納されたパラメータ列について、異なる値のパラメータが一つでも存在する場合、当該パラメータ列を構成するパラメータは時系列上変動しており、当該パラメータ列のことを変動部分と定義する。
すなわち、変動部分を構成しているパラメータは、一つ以上の異なる値を持つことになる。他方で、同一のサブフィールドに格納されたパラメータ列の全てのパラメータが同一の場合には、当該パラメータ列を不変部分とする。
本明細書では、ある変動部分を構成するパラメータを格納しているサブフィールドのことを単に「変動部分に対応するサブフィールド」や「変動部分のサブフィールド」と称すこともある。
また、あるサブフィールドが格納するパラメータにより構成された変動部分のことを単に「サブフィールドに対応する変動部分」や「サブフィールドの変動部分」と称すこともある。
変動部分抽出部103は、上述したパラメータ列の中から変動部分を抽出する。変動部分抽出部103は、パラメータ列毎に複数のパラメータを相互に比較して全て同一でなく、異なる値が一つでもある場合には、そのパラメータ列を変動部分として決定する。この実施形態の場合、変動部分抽出部103は、パラメータ列が不変部分の場合には抽出しない。
例えば、パラメータ列400xaを構成する複数のパラメータ(パラメータ411xa、412xa乃至パラメータ430xa)が全て同一ではなく、異なる値を持つ場合に、変動部分抽出部103は、第1番目のサブフィールドのパラメータ列400xaを変動部分4000xaとして抽出する。
例えば、パラメータ列400xbを構成する複数のパラメータ(パラメータ411xb、412xb乃至パラメータ430xb)が全て同一な場合には、変動部分抽出部103は第2番目のサブフィールドのパラメータ列400xbを抽出しない。
例えば、パラメータ列400xcを構成する複数のパラメータ(パラメータ411xc、412xc乃至パラメータ430xc)が全て同一ではなく、異なる値を持つ場合に、変動部分抽出部103が第3番目のサブフィールドのパラメータ列400xcを変動部分4000xcとして抽出する。
例えば、パラメータ列400xzを構成する複数のパラメータ(パラメータ411xz、412xz乃至パラメータ430xz)が全て同一な場合には、変動部分抽出部103は第N番目のサブフィールドのパラメータ列400xzを抽出しない。
変動部分抽出部103は、変動部分情報と通信データ群400Xとを変化パターン生成部104に出力する。ここで、変動部分情報とは、変動部分抽出部103が抽出した各変動部分の識別子(例えば、変動部分4000xa)と各変動部分に対応するサブフィールド(例えば、第1番目のサブフィールド)を示す情報である。
変化パターン生成部104は、変動部分抽出部103から変動部分情報と通信データ群400Xを取得する。
先述したように、変動部分情報には、各変動部分の識別子と各変動部分に対応するサブフィールドが示されている。変動部分に対応するサブフィールドについて、それが何番目のサブフィールドであるかが示されることで、通信データ群400Xの中での変動部分の位置を特定することができる。このため、変化パターン生成部104は、変動部分情報と通信データ群400Xに基づき、変動部分抽出部103が抽出した各変動部分について、各変動部分に含まれるパラメータとパラメータの時系列順を特定することができる。
変動部分に含まれるパラメータは時系列上変化している。本明細書では、変動部分に含まれるパラメータの時系列上の変化の仕方の特徴をパターンとして表現したものを変化パターンと定義する。
変化パターンは、パラメータの時系列上の変化の仕方の特徴を様々な切り口により表現することで、複数種類生成することができる。変化パターンの種類としては、例えば、時系列におけるパラメータの規則性をパターンとして表現した変化パターン(以下、変化パターンの種類1と称す)やパラメータの種類をパターンとして表現した変化パターン(以下、変化パターンの種類2と称す)などが挙げられる。
本明細書では、「変化パターンの各種類に対応したパターンを生成すること」を「変化パターンを生成する」と称す。
変化パターン生成部104は、変動部分抽出部103が抽出した変動部分毎にパラメータとその時系列順に基づき、変化パターンの種類毎に変化パターンを生成し、変動部分(識別子と何番目のサブフィールドであるかを示す)と変化パターンを対応付けた変化パターンデータ500を生成する。
変化パターンの種類1は、「パラメータの変化の規則性」を特徴として着目し、パターンとして表現した変化パターンである。変化パターンは、数値や波形、数式等で表現することが出来る。例えば、横軸を時系列とし縦軸をパラメータとして示したグラフの概形をパターンとすることで表現することができる。波形の概形(変化パターン)としては、例えば、「三角波」、「矩形波」、「台形波」などが挙げられる。これらに該当しない場合は、「N/A」とする。
変化パターン生成部104による変化パターンの種類1の変化パターンの作成方法について説明する。変化パターン生成部104は、まず、変動部分に含まれるパラメータとパラメータの時系列順に基づき、横軸を時系列として縦軸をパラメータとして、各パラメータをプロットして隣り合うプロットを線でつないで示したグラフの概形を作成する。次に変化パターン生成部104は、事前に種類1の変化パターンとして設定されている、「三角波」「矩形波」「台形波」などのグラフの概形の中から最も類似度が高いグラフの概形を当該変動部分の種類1の変化パターンとして決定する。なお、パラメータの縦軸にして、時系列を横軸にして作成されたグラフの概形が事前に設定されたグラフの概形に一致するか否かを判定することができれば、手法は任意である。例えば、数値の変化を数式で表現する手法や数値の増減(増加、増減なし、減少)の組み合わせで表現する手法などが考えられる。
変化パターンの種類2は、「パラメータの種類」を特徴として着目し、変動部分に含まれるパラメータについて、異なるパラメータの個数に着目した変化パターンの一種である。変化パターンとしては、当該変動部分に含まれるパラメータ(具体的には、00など)が2つの値(例えば、0×00と0×01)のみの場合の「2個」、当該変動部分に含まれるパラメータの上限値と下限値の差分に1を加えた「(上限値-下限値+1)個」などを変化パターンとして表現することができる。
なお、各変化パターン生成時に妥当な変化パターンが見つからない場合(例えば、変化パターンの種類1においてどの波形にも当てはまらない場合など)には、「N/A」のように表現することで、後述する意味推定部106の意味推定時に活用することが出来る。
変化パターン生成部104による変化パターンの種類2の変化パターンの作成方法について、説明する。
変化パターン生成部104は、まず、変動部分に含まれるパラメータについて、異なるパラメータの個数を算出する。例えば、当該変動部分に含まれるパラメータが2つの値しかとらない場合は、変化パターンの種類2は「2個」と決定する。また、変化パターン生成部104は、変動部分に含まれるパラメータについて、異なるパラメータの最大個数を算出する。例えば、当該変動部分に含まれるパラメータが下限値と上限値との間で多数の値をとることができる場合には、変化パターンの種類2における最大個数は「(上限値-下限値+1)個」と決定できる。
なお、変化パターン「(上限値-下限値+1)」について一致するか否かについては、変化パターン生成部104は、当該変動部分に含まれるパラメータの上限値と下限値を取得し、「(上限値-下限値+1)」に当てはめて、当該変動部分の異なるパラメータの個数と一致するか否かを判定すればよい。
図6は、上述した手順で作成された変化パターンデータ500の一例である。図6では、各変動部分(各変動部分の識別子とサブフィールド)と各種類の変化パターンが対応付けられている。
一例として、変動部分4000xaに含まれるパラメータが「0×00」と「0×01」のみであるとする。また、変動部分4000xaに含まれるパラメータは、「0×00」と「0×01」の値を時系列的に交互に繰り返すことで、横軸を時系列として縦軸をパラメータとして、変動部分4000xaに含まれる各パラメータをプロットして隣り合うプロットを線でつないで示したグラフの概形が三角波でほぼ近似できるものとする。この場合、変化パターン生成部104は、上述した変化パターンの生成手法により、変動部分4000xaに対して、変化パターンの種類1の変化パターンとして「三角波」を決定し、変化パターンの種類2の変化パターンとして「2個」を決定する。
また、一例として、変動部分4000xcに含まれるパラメータが下限値(0×12)から「0×01」ずつ上昇し、上限値(0×1E)に到達すると、しばらく上限値を取り続け、その後「0×01」ずつ減少し、下限値(0×12)に到達すると、しばらく下限値を取り続け、その後再びパラメータが「0×01」ずつ上昇することを繰り返すものとする。この場合、横軸を時系列として縦軸をパラメータとして、変動部分4000xcに含まれる各パラメータをプロットして隣り合うプロットを線でつないで示したグラフの概形が台形波になるようにパラメータが変動している。
この場合、変化パターン生成部104は、変動部分4000xcに対して、変化パターンの種類1の変化パターンとして「台形波」を決定する。また、異なるパラメータの個数は、「13個」であり、この値は、「上限値(0×1E)-下限値(0×12)+1=13個」と一致する。そのため、変化パターン生成部104は、変動部分4000xcの種類2の変化パターンを「(上限値-下限値+1)個」と決定する。
なお、変化パターン生成部104は各変動部分について、複数種類の変化パターンを生成することが好ましい。
変化パターン生成部104は、ここでは種類1および種類2の変化パターンを含む変化パターンデータ500を意味推定部106に出力する。
学習データ記憶部105は、プロトコルフィールドの意味と当該プロトコルフィールドにおけるパラメータ変動の特徴を示す変化パターンを対応付けた学習データ600をあらかじめ記憶している。
図7は、学習データ600の一例を示す図である。図7では、プロトコルフィールドの意味と変化パターンの種類1の変化パターンと変化パターンの種類2の変化パターンが対応付けられている。第1組には、プロトコルフィールドの意味「ON/OFF操作値」に対応付けられた変化パターンとして、種類1の変化パターンが「三角波」、種類2の変化パターンが「2個」であることが示されている。第2組には、プロトコルフィールドの意味「連続制御値」に対応付けられた変化パターンとして、種類1の変化パターンが「台形波」、種類2の変化パターンが「上限値-下限値個+1個」であることが示されている。
学習データ600には、一例として、仕様が公開されているプロトコルヘッダ情報の分析結果や、オペレータが手動で設定した変化パターンなどを利用すればよく、学習データ600の内容は適宜変更することができる。
意味推定部106は、変化パターン生成部104から変化パターンデータ500を取得し、学習データ記憶部105から学習データ600を取得する。意味推定部106は、変化パターンデータ500に含まれる各変動部分の意味を学習データ600を用いて推定する。
本明細書では、変動部分に対応するサブフィールドの意味を「変動部分の意味」と称す。また、「サブフィールドの意味」とは、サブフィールドがどういった目的で利用されているのかを示すものである。意味推定部は、一つのサブフィールドを一つのプロトコルフィールドとみなし、その意味を推定することになる。
意味推定部106は、まず、第1の変動部分4000xaの各種類の変化パターンについて、学習データ600の第1組の同一種類の変化パターンと、の類似度R11a、R11bを算出する。ここで、類似度R11a、R11bの値は大きいほど類似しているものとする。以下の各類似度についても同様である。
意味推定部106は、具体的には、第1の変動部分4000xaの種類1の変化パターンと学習データ600の第1組の種類1の変化パターンの類似度R11aを算出する。また、第1の変動部分4000xaの種類2の変化パターンと学習データ600の第1組の種類2の変化パターンの類似度R11bを算出する。
そして、意味推定部106は、第1の変動部分4000xaの変化パターンと学習データ600の第1組の変化パターンとの総類似度R11を算出する。本実施形態では、総類似度R11は、類似度R11aと類似度R11bの総和とするがこれに限定されない。
意味推定部106は、次に第1の変動部分4000xaに対応付けられた変化パターンと学習データ600の第2組の変化パターンとの総類似度R12を同様に算出する。意味推定部106は、学習データ600の残りの組の変化パターンについても同様の処理を行う。
意味推定部106は、算出した総類似度R11、R12、・・・R1Nの中で、最も総類似度の値が高い変化パターンに対応付けられているプロトコルフィールドの意味を、第1の変動部分4000xaの意味として推定する。一例として、総類似度のうちR11の値が最も大きい場合、学習データ600の第1組の意味すなわち「ON/OFF操作値」を、変動部分4000xaの意味であると決定する。
意味推定部106は、第2の変動部分4000xcに対応付けられた変化パターンと学習データ600の変化パターンとの間で総類似度R21、R22、・・・R2Nを同様に算出する。
一例として総類似度の中でR22の値が最も大きい場合、変動部分4000xcの意味が学習データ600の第2組の意味すなわち「連続制御値」であると決定する。
意味推定部106は、変化パターンデータ500に含まれる残りの変動部分に対して、同様の処理を行い、各変動部分(各変動部分の識別子とサブフィールド)と推定した意味とを対応付けた推定結果情報700を生成する。
図8は、推定結果情報700の一例を示す図である。図8では、第1の変動部分4000xaが「ON/OFF操作値」と対応付けられており、第2の変動部分4000xcが「連続制御値」と対応付けられていることが示されている。
意味推定部106は、推定結果情報700を推定結果出力部109に出力する。
推定結果出力部109は、推定結果情報700を表示装置75(図18)などに表示し、オペレータに通知する。
(第1の実施形態の処理)
図9を参照して、第1の実施形態における処理の一例を説明する。図9は、第1の実施形態に係る通信解析装置10の処理手順を説明するフローチャートである。
まず、ステップS1001で通信データ取得部101は、図3に示す通信データ群400を取得し、通信データ群400を通信データ抽出部102に出力する。
通信データ抽出部102は、通信データ取得部101から通信データ群400を取得し、通信データ群400の中から解析対象とする複数の通信データを抽出するための抽出条件を決定する(ステップS1002)。さらに、通信データ抽出部102は、決定した抽出条件を用いて通信データ群400から解析対象とする複数の通信データを通信データ群400X(図4)として抽出し、変動部分抽出部103に通信データ群400Xを出力する(ステップS1003)。
変動部分抽出部103は、通信データ群400Xを取得する。そして、通信データ群400Xに基づき変動部分を抽出し、抽出した変動部分の識別子を含む変動部分情報と対応する通信データを変化パターン生成部104に出力する(ステップS1004)。一例として、図5に示す変動部分4000xaおよび変動部分4000xcを抽出した場合は、抽出した変動部分の識別子とサブフィールドを対応付けた変動部分情報と、通信データ400Xを変化パターン生成部104に出力する。
図9のステップS1005において、変化パターン生成部104は、通信データ群400Xと変動部分情報に基づき、一例として、図6に示す変化パターンデータ500を生成し、意味推定部106に出力する。
図9のステップS1006において、意味推定部106は、変化パターン生成部104から変化パターンデータ500を取得し、学習データ記憶部105から学習データ600を取得する。同じく、ステップS1006において、意味推定部106は変動部分ごとに、変動部分に対応付けられた変化パターンと、学習データ600に含まれる各プロトコルフィールドの意味に対応付けられた変化パターンと、の総類似度を算出する。
意味推定部106は、変動部分ごとに、変動部分に対応付けられた変化パターンと学習データ600に含まれる各プロトコルフィールドの意味に対応付けられた変化パターンとの総類似度のうち、最も総類似度が高い変化パターンと対応付けられているプロトコルフィールドの意味を変動部分の意味として決定し、推定結果情報700を生成する(ステップS1007)。同じく、ステップS1007で意味推定部106は、推定結果情報700を推定結果出力部109に出力する。
推定結果出力部109は、表示装置75などに推定結果情報700を表示させる(ステップS1008)。
そして、通信解析装置10は、処理を終了する。
(第1の実施形態の効果)
通信解析装置10は、変動部分に対応付けられた変化パターンとプロトコルフィールドの意味に対応付けられた変化パターンとの総類似度を算出し、これに基づき、未知のプロトコルのプロトコルフィールド群内の変動部分の意味を推定することができる。すなわち、通信解析装置10は、未知のプロトコルのプロトコルフィールド群内の変動部分に対応するサブフィールドの意味を未知のプロトコルのプロトコル仕様を使用せずに自動的に推定することができる。
オペレータは、通信解析装置10が出力する推定結果情報700を閲覧することで変動部分に対応するサブフィールドの意味を認識することができる。
また、通信解析装置10の学習データ記憶部105が記憶する学習データ600に含まれるプロトコルフィールドの意味と変化パターンの組は、適宜追加することができるため拡張性が高い。
通信解析装置10の学習データ600に従来では推定することのできなかったプロトコルフィールドの意味と変化パターンの組を含めることで、従来では推定することができなかったプロトコルフィールドの意味を自動的に推定することができる。
また、通信解析装置10の変化パターン生成部104が生成する変化パターンと、学習データ記憶部105が記憶している学習データ600に含まれる変化パターンは、複数種類であることが好ましい。意味推定部106が複数種類の変化パターンを利用して変化パターンの総類似度を算出する場合の方が、1種類の変化パターンのみを利用して、変化パターンの総類似度(この場合、類似度と総類似度が同一)を算出する場合と比較して、比較する変化パターンの種類が多くなり、変化パターンの総類似度の精度を向上させることができる。
また、意味推定部106は、総類似度が最も高いプロトコルフィールドの意味を変動部分の意味として推定を行うため、総類似度の算出精度の向上は、変動部分の意味推定の精度の向上に繋がる。
したがって、変化パターン生成部104が複数種類の変化パターンを生成し、学習データ記憶部105が複数種類の変化パターンを記憶し、意味推定部106がこれらの複数種類の変化パターンを利用して、変動部分の意味推定を行うことで、変動部分の意味推定の精度を向上させることができる。
以上により、通信解析装置10をペネトレーションテストやファジング、侵入検知システムなどへ活用することで、アプリケーション独自のプロトコルなどを利用したシステムのセキュリティ向上を実現することができる。
(第1の実施形態の変形例1)
図10は、第1の実施形態の変形例1に係る通信解析装置10bに係る機能ブロック図である。第1の実施形態に係る通信解析装置10とは、通信データ抽出部102に代えて通信データ抽出部102bを使用している点が異なる。
第1の実施形態の変形例に係る通信データ抽出部102bの抽出条件の決定方法は、オペレータがマニュアルで決定する。
オペレータがマニュアルで決定する手順は、まず通信データ群400のパラメータのリスト(通信データ411乃至450の各パラメータ)をプロトコルフィールド毎にオペレータに表示する。オペレータは、表示されたパラメータの中から推定したいプロトコルフィールドを含む通信データが共通に有するパラメータを分析し、抽出条件として決定する。
一例として、推定したいプロトコルフィールドを含む通信データが機器Aから機器Bに対する通信にのみ含まれる場合において、オペレータは抽出条件として「送信元MACアドレスが機器AのMACアドレスである」および「宛先MACアドレスが機器BのMACアドレスである」という条件を決定する。
第1の実施形態の変形例1に係る通信解析装置10bでは、通信データ抽出部102の抽出条件をオペレータが決定することができる。
(第1の実施形態の変形例2)
第1の実施形態で説明した図1の変化パターン生成部104が生成する変化パターンのその他の種類としては、例えば、時系列におけるパラメータの不規則性をパターンとして示した変化パターン、パラメータの周期をパターンとして示した変化パターン、パラメータの頻度をパターンとして示した変化パターン、パラメータの上限値をパターンとして示した変化パターン、パラメータの下限値をパターンとして示した変化パターン、データ長との相関性をパターンとして示した変化パターン、他要素の変化パターンとの相関性をパターンとして示した変化パターン、パラメータの増減の変化範囲をパターンとして示した変化パターン、パラメータの増減値をパターンとして示した変化パターン、パラメータの変化割合をパターンとして示した変化パターン、などが挙げられる。
時系列におけるパラメータの不規則性をパターンとして示す変化パターンは、時系列におけるパラメータの変動が不規則であることを示した変化パターンである。人為的に決定されるパラメータを有すプロトコルフィールドによくみられる。
パラメータの周期をパターンとして示す変化パターンは、パラメータの変動が周期的であることを示した変化パターンである。周期は、同一のパラメータになるまでのパラメータの個数で示してもよいし、通信データ群400Xにタイムスタンプが付随している場合は時間を単位として示してもよい。ポーリング通信のように定期的に問い合わせを行い、状態を監視する通信などによくみられる。
パラメータの頻度をパターンとして示す変化パターンは、時系列において、同一のパラメータを頻繁にとることがあるか否かや、各パラメータが通信データ群に現れる回数、などを示した変化パターンである。
パラメータの上限値をパターンとして示す変化パターンは、パラメータ列の上限値を示した変化パターンである。
パラメータの下限値をパターンとして示す変化パターンは、パラメータ列の下限値を示した変化パターンである。
データ長との相関性をパターンとして示した変化パターンは、通信データ長とパラメータとの相関性または任意のプロトコルのデータ長とパラメータの相関性を示した変化パターンである。IPプロトコルにおけるデータグラム長フィールドのようなプロトコルフィールドによくみられる。
他要素の変化パターンとの相関性をパターンとして示す変化パターンは、他の変動部分のパラメータ若しくは既知のプロトコルフィールドに格納されているパラメータの時系列変化と相関性があるか否かをパターンとして示す変化パターンである。例えば、他の変動部分のパラメータが時系列で変化するタイミングで変化パターンデータ500の生成の対象としている変動部分のパラメータが変動していた場合に相関性があるとみなす。なお、この場合、変化パターン生成の対象となる変動部分のパラメータは、他の変動部分のパラメータと同一の通信データに含まれるパラメータである。上位桁と下位桁で構成されるプロトコルフィールドがサブフィールドで表現した際に2つに分割された場合や、設定温度値のプロトコルフィールドと、温度センサの測定値のような連続制御値のプロトコルフィールドとの関係などでよくみられる。
増減の変化範囲をパターンとして示す変化パターンは、変動部分を構成するパラメータの変動について、増加した値または減少した値の大きさの最大値と最小値をパターンとして示した変化パターンである。
パラメータの増減値をパターンとして示した変化パターンは、変動部分を構成するパラメータの変動について、一定の数値ずつ変動する場合には、その一定の数値をパターンとして示し、パラメータの変動が不規則である場合には、不規則であることをパターンとして示した変化パターンである。
パラメータの変化割合をパターンとして示す変化パターンは、パラメータ列の変化度合い(具体的には、2倍ずつ変化するや、10分の1ずつ変化する、など)を示した変化パターンである。
(第2の実施形態)
(第2の実施形態の概要と構成)
図11から図13を参照して、第2の実施形態を説明する。
図11は、第2の実施形態に係る通信解析装置20の機能ブロック図である。第2の実施形態では、第1の実施形態と同様の構成要素は、第1の実施形態と同一の符号を付して詳細な説明を省略する。図11に示すように通信解析装置20は、通信データ取得部101、通信データ抽出部102c、変動部分抽出部103、変化パターン生成部104、学習データ記憶部105、意味推定部106c、推定結果出力部109および推定結果評価部107を備える。
通信解析装置20は、第1の実施形態に係る通信解析装置10とは、通信データ抽出部102に代えて通信データ抽出部102cを備える点と、意味推定部106に代えて、意味推定部106cを備える点と、変動部分の意味の推定結果を評価する推定結果評価部107を備える点が異なる。
通信解析装置20は、変動部分の意味を推定後、変動部分ごとに推定結果を評価し意味推定が成功であるか失敗であるかを判断する。通信解析装置20は、少なくとも一つの変動部分について「推定が成功である」と評価した場合に、学習データ600を更新する機能を持つ。
また、通信解析装置20は、推定が成功であると評価した変動部分の数が事前に設定された設定数よりも少ない場合に、通信データ群400に対しての通信データの抽出をそれまでに未実施の抽出条件で実施し、再度抽出した通信データ群を使用して、意味推定を行う。
通信データ抽出部102cは、通信データ抽出部102の機能に加えて、通信データ群400からの抽出のために決定した抽出条件を記憶する記憶部を内部に持つ。
通信データ抽出部102cは、推定結果評価部107から再度の通信データの抽出の命令を示す命令情報を取得すると、通信データ群400に対しての通信データの抽出をそれまでに未実施の抽出条件で実施する。この際、通信データ抽出部102cは、通信データ群400に対してそれまでに実施した抽出のときの抽出条件を内部にある記憶部から参照し、それまでに決定している抽出条件とは異なる抽出条件を抽出条件として決定し、抽出を実施する。
意味推定部106cは、第1の実施形態と同様に、変動部分の意味を推定する。さらに意味推定部106cは変動部分ごとに、変動部分と、当該変動部分の意味として推定された意味と、プロトコルフィールドの意味に対応付けられた変化パターンとの総類似度と、を含む推定結果情報700bを生成する。
図12は、意味推定部106cが生成する推定結果情報700bの一例である。図12では、第1の変動部分4000xaと、その意味である「ON/OFF操作値」と、総類似度R11が対応付けられる。また、第2の変動部分4000xcと、その意味である「連続制御値」と、総類似度R22が対応付けられている。
意味推定部106cは、推定結果情報700bと変化パターンデータ500を推定結果評価部107に出力する。
推定結果評価部107は、推定結果情報700bに基づき、推定結果を評価する。推定結果評価部107は、意味推定部106cから推定結果情報700bおよび変化パターンデータ500を取得する。推定結果評価部107は、推定結果情報700bの各変動部分について、推定が成功であるか失敗であるかを評価する。
推定結果評価部107は、推定結果情報700bの各変動部分に対応付けられた総類似度を利用して評価を行う。また、推定結果評価部107は、事前に設定された閾値S1を記憶している。
推定結果評価部107は、推定結果情報700bの各変動部分に対し、閾値S1よりも当該変動部分に対応付けられた総類似度の値が高い場合、「推定は成功である」と評価する。一例として、第1の変動部分4000xaに対応付けられた総類似度R11と閾値S1とを比較して、R11の方がS1よりも大きい場合、推定結果評価部107は、第1の変動部分4000xaの意味推定について、「推定は成功である」と評価する。
また、推定結果評価部107は、推定結果情報700bの各変動部分に対し、閾値S1よりも変動部分に対応付けられた総類似度の値が低い場合、「推定は失敗である」と判断する。
一例として、第2の変動部分4000xcに対応付けられた総類似度R22と閾値S1とを比較して、R22の方がS1よりも小さい場合、推定結果評価部107は、第2の変動部分4000xcの意味推定について、「推定は失敗である」と評価する。
推定結果評価部107は、少なくとも一つの変動部分について、「推定結果は成功」であると評価した場合に、学習データ600を更新する機能を持つ。
推定結果評価部107は、「推定は成功である」と評価した変動部分の意味と、当該変動部分の変化パターン(変化パターンデータ500から取得)と、の組を学習データ600として登録する。
なお、学習データ記憶部105は、「推定は成功である」と判断した変動部分の意味と、当該変動部分の変化パターンと、の組と同一の組が学習データ600として記憶している場合、当該組を新たに記憶しなくてもよい。
また、推定結果評価部107は、「推定は成功である」と評価した変動部分の数が事前に設定されて推定結果評価部107が記憶している設定数S2よりも少ない場合、通信データ抽出部102cに対し、再度の通信データを抽出する命令を示す情報である命令情報を出力する。
この場合、通信解析装置20の各機能部は、通信データ抽出部102cが新たに抽出した通信データを利用して解析対象となる未知のプロトコルのプロトコルフィールド内のサブフィールドの意味の推定を行うことになる。
(第2の実施形態の処理)
図13を用いて、第2の実施形態における処理の一例を説明する。図13は、第2の実施形態に係る通信解析装置20の処理手順を示すフローチャートである。
第1の実施形態に係る通信解析装置10の処理のステップと同一のステップには同一の符号を付して詳細な説明を省略する。
図13のステップS2002において、通信データ抽出部102cは、通信データ群400から通信データを抽出するための抽出条件を決定する。この際、通信データ抽出部102cは、通信データ群400に対して既に実行している通信データの抽出の際に利用した抽出条件とは異なる新たな抽出条件で通信データを抽出する。なお、通信データ群400に対して、一度目の通信データの抽出を行う場合は、既に実行している通信データの抽出の抽出条件はないため、第1の実施形態と同様に抽出条件を決定すればよい。
図13において、ステップS1003乃至ステップS1006については、第1の実施形態と同様である。
図13のステップS2004において、意味推定部106cは、各変動部分の意味を推定し、推定結果情報700bを生成する。同じくステップS2004において、意味推定部106cは、推定結果情報700bと変化パターンデータ500を推定結果評価部107に出力する。
図13のステップS2006において、推定結果評価部107は、意味推定部106cから推定結果情報700bと変化パターンデータ500を取得し、さらに推定結果情報700bの各変動部分の推定結果を評価する。
ステップS2008において、推定結果評価部107は、「推定は成功である」と評価した変動部分が少なくとも一つあるか否かを判断する。
推定結果評価部107は、少なくとも一つの変動部分について、「推定結果は成功」であると評価した場合(ステップS2008:Yes)、「推定は成功である」と評価した変動部分の意味と、当該変動部分の変化パターン(変化パターンデータ500から取得)と、の組を学習データ600として登録する(ステップS2010)。そして、ステップS2012に移行する。
ステップS2008において、推定結果評価部107は、「推定は成功である」と評価した変動部分が一つもない場合(ステップS2008:No)、ステップS2012に移行する。
ステップS2012において、推定結果評価部107は、「推定は成功である」と評価した変動部分の数が事前に設定されて推定結果評価部107が記憶している設定数S2よりも多いか否かを判断する。
ステップS2012において、「推定は成功である」と評価した変動部分の数が設定数S2よりも多い場合(ステップS2012:Yes)、推定結果評価部107は、推定結果情報700bを推定結果出力部109に出力し、ステップS1008に移行する。
ステップS2012において、「推定は成功である」と評価した変動部分の数が設定数S2よりも少ない場合(ステップS2012:No)、推定結果評価部107は、通信データ抽出部102cに対し、再度の通信データを抽出する命令を示す情報である命令情報を出力し、ステップS2002に移行する。
図13のステップS1008において、推定結果出力部109は、推定結果情報700bを表示装置75(図18)などに表示させる。そして通信解析装置20は、処理を終了する。
(第2の実施形態の効果)
第2の実施形態に係る通信解析装置20は、第1の実施形態に係る通信解析装置10の効果に加えて、推定結果評価部107が変動部分の意味の推定結果を評価する。
推定結果評価部107は、少なくとも一つの変動部分について、「推定結果は成功」であると評価した場合に、学習データ600を更新する機能を持つ。
これにより、意味推定部106cで推定できる意味の数を増やすことができる。また、プロトコルフィールドの意味に結び付く変化パターンを増やすことによって意味の推定精度を向上させることができる。
また、推定結果評価部107は、「推定は成功である」と評価した変動部分の数が事前に設定された設定数S2よりも少ない場合、通信データ抽出部102cに対し、再度の通信データを抽出する命令を示す情報である命令情報を出力し、通信データ抽出部102cが新たな抽出条件にて通信データを抽出する。これにより、初めの抽出条件が適切でなく異なるパラメータの意味を持った通信データが含まれていた場合などを改善することが可能となる。
(第2の実施形態の変形例)
図14は、第2の実施形態の変形例に係る通信解析装置20dの機能ブロック図である。
通信解析装置20dは、通信解析装置20とは推定結果評価部107に代えて推定結果評価部107dを備えている。推定結果評価部107dは、推定結果評価部107とは推定結果評価の方法が異なる。推定結果評価部107dは、推定結果情報700bを意味推定部106cから取得した後、表示装置75(図18)に推定結果情報700bを表示させる。そして、表示装置75を閲覧したオペレータが推定結果が成功であるか否かの評価を行い、入力装置74(図18)により、変動部分ごとに推定が成功であるか否かを入力する。推定結果評価部107dは、オペレータからの推定結果の評価を取得し、推定の評価として決定する。
(第3の実施形態)
(第3の実施形態の概要と構成)
図15から図17を参照して、第3の実施形態を説明する。
図15は、第3の実施形態に係る検査システム1のシステム構成図である。第3の実施形態では、第1の実施形態と同様の構成要素には、第1の実施形態と同一の符号を付して詳細な説明を省略する。図15に示すように、検査システム1は、通信データ記憶装置120、通信解析装置30および通信装置130を備える。検査システム1は、対象装置80の脆弱性検査のための準備と実行を行う。
通信解析装置30は、推定結果情報700を生成後、推定結果情報700に含まれる意味の中で、通信装置130で改ざんする必要のあるパラメータを格納するサブフィールドを改ざん箇所として特定する機能を持つ。
そのため、第1の実施形態に係る通信解析装置30とは、後述する改ざん箇所特定部108を新たに備える点と、意味推定部106に代えて意味推定部106eを備えている点で異なる。
通信データ記憶装置120は、通信データ群を記憶する。通信解析装置30は、通信データ記憶装置120から通信データ群400を取得し、通信装置130で改ざんする通信データのパラメータを格納するサブフィールド(改ざん箇所)を特定する。
通信装置130は、通信データのパラメータのうち、特定されたサブフィールド(改ざん箇所)が格納するパラメータを改ざんし、さらに改ざんした通信データを対象装置80に送信することによって、対象装置80の脆弱性を検査する。具体的な検査手法は、例えば、ファジングやペネトレーションテストなどが挙げられる。
図16は、検査システム1が備える各装置の機能ブロック図である。
通信データ記憶装置120は、通信データ記憶部121を備える。通信データ記憶部121は、通信データ群400を記憶している。通信データ記憶部121が記憶する通信データ群400には通信装置130が改ざんする通信データを含む。
通信解析装置30は、通信データ取得部101、通信データ抽出部102、変動部分抽出部103、変化パターン生成部104e、学習データ記憶部105、意味推定部106eおよび改ざん箇所特定部108を備える。
通信データ取得部101は、通信データ記憶部121から通信データ群400を取得し、通信データ抽出部102に出力する。通信データ抽出部102、変動部分抽出部103、および学習データ記憶部105の機能は第1の実施形態に係る通信解析装置10と同様であるため、説明を省略する。
変化パターン生成部104eは、変化パターンデータ500を生成後、変化パターンデータ500とともに通信データ400Xを意味推定部106eに出力する。
意味推定部106eは、推定結果情報700を生成後、推定結果情報700と通信データ群400Xを改ざん箇所特定部108に出力する。
改ざん箇所特定部108は、意味推定部106eから推定結果情報700と通信データ群400Xを取得する。改ざん箇所特定部108は、通信装置130で改ざんする必要のあるパラメータを格納するプロトコルフィールドの意味を事前にオペレータに設定されて記憶していてもよい。改ざん箇所特定部108が、既知のプロトコルフィールドの意味及び推定したサブフィールドの意味からアルゴリズムに基づいて特定してもよい。
一般にファジングやペネトレーションテストの実行において、改ざんする必要のあるパラメータを格納するプロトコルフィールドの意味には、改ざんされた通信データを受信する対象装置が通信データを破棄しないようにパラメータを改ざんする必要のある意味と、対象装置の不正操作を行うためにパラメータを改ざんする必要のある意味との2種類存在する。
前者の通信データを破棄しないようにパラメータを改ざんする必要のある意味は、例えば、タイムスタンプ、データ長、チェックサム、シーケンス番号および加算器(カウンタ)などである。
後者の不正操作を行うために値を改ざんする必要のある意味とは、例えば、アドレス、データ長、目標制御値(設定温度など)、連続制御値(温度センサの値など)、ON/OFF操作値および状態フラグなどである。
改ざん箇所特定部108は、改ざんするべきパラメータを格納するプロトコルフィールド及びサブフィールドを特定する。推定結果情報700に含まれる意味の中に、改ざんする必要のあるパラメータを格納するプロトコルフィールドと同一の意味を有するサブフィールドを特定する方法でもよい。また、変動部分抽出部103で変動部分として抽出されたサブフィールドを改ざん箇所として特定してもよい。
改ざん箇所特定部108は、改ざん箇所と特定した位置を示す改ざん箇所特定情報と通信データ群400Xを通信装置130の通信データ改ざん部131に送信する。
通信データ改ざん部131は、改ざん箇所特定部108から改ざん箇所特定情報と通信データ群400Xを取得し、通信データ群400Xに含まれる通信データについて、改ざん箇所特定情報に含まれる改ざん箇所のパラメータを改ざんした通信データ群(通信データ群400Yと称す)を生成する。
パラメータの改ざん手法については、公知のファジングやペネトレーションテストの技術を利用すればよい。通信データ改ざん部131は、通信データ群400Yを通信データ送信部132に送信する。
通信データ送信部132は、通信データ改ざん部から通信データ群400Yを取得し、対象装置に送信する。
(第3の実施形態の処理)
図17を用いて、第3の実施形態における処理の一例を説明する。図17は、第3の実施形態に係る通信解析装置30の処理手順を説明するフローチャートである。
ステップS1001乃至ステップS1004については、第1の実施形態と同様であるため、詳細な説明を省略する。
図17のステップS3001において、変化パターン生成部104eは、変化パターンデータ500を生成する点は、図9のステップS1005と同様である。ステップS3001では、変化パターン生成部104eは、変化パターンデータ500に加えて通信データ群400Xを意味推定部106eに出力する。図17のステップS1006は図9の第1の実施形態のステップS1006と同様である。
図17のステップS3002では、意味推定部106eは、図9の第1の実施形態のステップS1007と同様に変動部分の意味を推定する。さらに、ステップS3002では、意味推定部106eは、推定結果情報700と通信データ群400Xを改ざん箇所特定部108に出力する。
改ざん箇所特定部108は、既知のプロトコルフィールドの意味及び推定されたサブフィールドの意味の中から改ざんすべき意味を持つ箇所を特定する(図17、ステップS3003)。より具体的には、推定結果情報700に含まれる意味の中に、改ざんする必要のあるパラメータを格納するプロトコルフィールドと同一の意味を有するサブフィールドを特定する方法でも、変動部分抽出部103で変動部分として抽出されたサブフィールドを改ざん箇所として特定する方法でもよい。
同じくステップS3003で、改ざん箇所特定部108は、改ざん箇所と特定した位置を示す改ざん箇所特定情報と通信データ群400Xを通信装置130の通信データ改ざん部131に送信する。そして、通信解析装置30は、処理を終了する。
(第3の実施形態の効果)
第3の実施形態に係る通信解析装置30は、改ざん箇所特定部108を新たに備える事で、通信データ群400X内のプロトコルフィールド及びサブフィールドについて、改ざんする必要のある意味を持つと推定されているフィールドの位置を特定することができる。
これにより、通信装置30は、通信データ群400Xに含まれる通信データの各パラメータを総当たりで改ざんするよりも効率的かつ効果的にファジングやペネトレーションテストなどに活用可能な通信データを生成することができる。特に、未知のプロトコルのプロトコルフィールド群40x部分においてサブフィールド毎にパラメータを改ざんすべきか決定できることによって、改ざんする箇所を絞り込むことで効率的かつ効果的なファジングやペネトレーションテストなどに活用可能な通信データを生成することが出来る。
(ハードウエア構成)
図18は、通信解析装置10、10b、20、20d、30のハードウエア構成図である。図18に示すように、通信解析装置10はCPU(Central Processing Unit)71、ROM(Read Only Memory)72、RAM(Random Access Memory)73、入力装置74、表示装置75、記憶装置76、通信装置77および各部を接続するバス79を備えており、通常のコンピュータを利用したハードウエア構成になっている。
上記実施形態および変形例の通信解析装置10、10b、20、20d、30は、CPU71がROM72からプログラムをRAM73上に読みだして実行することにより、上記の各機能がコンピュータ上で実現される。
CPU71は、ROM72および記憶装置76に記憶されたプログラムをRAM73上に読み出して実行し、プログラムに従って処理(各部の制御およびデータの加工など)をするプロセッサである。CPU71は、RAM73の所定領域を作業領域としてROM72および記憶装置76などに記憶されたプログラムとの協働により各種処理を実行する。
ROM72は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。ROM72は、オペレーティングシステムの起動用プログラムを記憶装置76からRAM73に読み出すスタートプログラムが記憶されている。
RAM73は、SDRAM(Synchronous Dynamic Access Memory)などのメモリである。RAM73は、CPU71による処理対象のデータなどを記憶し、CPU71の作業領域として機能する。
入力装置204は、マウスおよびキーボードなどの入力デバイスである、入力装置204は、オペレータから操作入力された情報を指示信号として受け付けて指示信号をCPU71に出力する。
表示装置75は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置75は、CPU71からの表示信号に基づいて、各種情報を表示する。
記憶装置76は、例えば、HDD(Hard Disk Drive)やフラッシュメモリなどである。記憶装置76は、オペレーティングシステム、プログラムおよび機能部が使用するデータを記憶している。
通信装置77は、ネットワークに接続するためのインターフェース装置である。通信装置77は、CPU71からの制御に応じて外部の機器とネットワークを介して通信する。
実施形態の通信解析装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリーカード、DVD(Digital Versatile Disk)、フレキシブルディスクなどのコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。
また、実施形態の情報処理装置で実行されるプログラムをインターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードすることにより提供するようにしてもよい。また、上記各処理を実行するためのプログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1・・・検査システム
10・・・通信解析装置
10b・・・通信解析装置
20・・・通信解析装置
20d・・・通信解析装置
30・・・通信解析装置
40a、40b、40c・・・既知のプロトコルのプロトコルフィールド群
40x・・・未知のプロトコルのプロトコルフィールド群
40aa、40ab、40az、40ba、40bb、40bz、40ca、40cb、40cz・・・プロトコルフィールド
40xa、40xb、40xc、40xz・・・サブフィールド
71・・・CPU
72・・・ROM
73・・・RAM
74・・・入力装置
75・・・表示装置
76・・・記憶装置
77・・・通信装置
79・・・バス
80・・・対象装置
101・・・通信データ取得部
102・・・通信データ抽出部
102b・・・通信データ抽出部
102c・・・通信データ抽出部
103・・・変動部分抽出部
104・・・変化パターン生成部
104e・・・変化パターン生成部
105・・・学習データ記憶部
106・・・意味推定部
106c・・・意味推定部
106e・・・意味推定部
107・・・推定結果評価部
107d・・・推定結果評価部
108・・・改ざん箇所特定部
109・・・推定結果出力部
120・・・通信データ記憶装置
121・・・通信データ記憶部
130・・・通信装置
131・・・通信データ改ざん部
132・・・通信データ送信部
400・・・通信データ群
400X・・・通信データ群
400Y・・・通信データ群
400xa、400xb、400xc、400xz・・・パラメータ列
411乃至450・・・通信データ
500・・・変化パターンデータ
600・・・学習データ
700・・・推定結果情報
700b・・・推定結果情報
411a、411b、411c、411x、412a、412b、412c、412x、430a、430b、430c、430x、431a、431b、431c、431x、450a、450b、450c、450x・・・パラメータ群
411aa、411ab、411az、411ba、411bb、411bz、411ca、411cb、411cz、411xa、411xb、411xc、411xz、412aa、412ab、412az、412ba、412bb、412bz、412ca、412cb、412cz、412xa、412xb、412xc、412xz、430aa、430ab、430az、430ba、430bb、430bz、430ca、430cb、430cz、430xa、430xb、430xc、430xz、431aa、431ab、431az、431ba、431bb、431bz、431ca、431cb、431cz、450aa、450ab、450az、450ba、450bb、450bz、450ca、450cb、450cz・・・パラメータ
4000xa、4000xc・・・変動部分

Claims (15)

  1. 通信データ群を取得し、パラメータが時系列上変動している変動部分を抽出する変動部分抽出部と、
    前記変動部分の時系列上変動するパラメータに基づき、前記パラメータの時系列の変化を示す1つ以上の第1変化パターンを生成する変化パターン生成部と、
    1つのプロトコルフィールドの意味と前記1つのプロトコルフィールドのパラメータの時系列の変化を示す1つ以上の第変化パターンとを対応付けた複数組の学習データを記憶する学習データ記憶部と、
    前記変化パターン生成部が生成した前記1つ以上の第1変化パターンのそれぞれと前記学習データの前記1つ以上の第2変化パターンのそれぞれとを比較し、前記変動部分の意味を推定する意味推定部と、
    を備える通信解析装置。
  2. 前記変化パターン生成部が生成する前記第1変化パターンは2つ以上であり、
    前記学習データの前記プロトコルフィールドの意味に対応付けられた前記第2変化パターンは2つ以上である、
    請求項1に記載の通信解析装置。
  3. 前記変動部分抽出部は、前記通信データ群の解析対象部分をサブフィールドに分割し、同一の前記サブフィールドに格納された複数の前記パラメータを時系列順に並べた1つ以上のパラメータ列のうち、前記パラメータ列を構成する前記パラメータが時系列上変動している前記パラメータ列を前記変動部分として抽出する、
    請求項1又は2に記載の通信解析装置。
  4. 前記変化パターン生成部が生成する前記1つ以上の第1変化パターンは、時系列における前記パラメータの規則性、および、時系列における前記パラメータの不規則性、のうちの少なくとも1つを特徴として示したものである、
    請求項1から3のいずれか一項に記載の通信解析装置。
  5. 前記意味推定部は、前記変動部分の前記1つ以上の第1変化パターンと前記複数組の学習データの各組の前記1つ以上の第変化パターンのうち、同一種類の変化パターンごとに類似度を算出し、前記類似度に基づき、前記各組ごとに総類似度を算出し、最も前記総類似度が高い前記組のプロトコルフィールドの意味を前記変動部分の意味として推定を行う、
    請求項1から4のいずれか一項に記載の通信解析装置。
  6. 複数の通信データを取得し、前記複数の通信データのうち、同一の特徴を持つことを第1の抽出条件として、前記第1の抽出条件を満たす2つ以上の前記通信データを前記通信データ群として抽出する、通信データ抽出部と、
    をさらに備える請求項1から5のいずれか一項に記載の通信解析装置。
  7. 前記第1の抽出条件は、データ長、MACアドレス、IPアドレス、Ethernet(登録商標)フレームタイプ番号、IPプロトコル番号、ポート番号、通信頻度、タイムスタンプ、のいずれか1つまたは複数の情報を任意の組み合わせた条件である、
    請求項6に記載の通信解析装置。
  8. 前記総類似度に基づき、前記変動部分に対する前記意味推定部による推定が成功であるか失敗であるかを評価する推定結果評価部をさらに備え、
    前記推定結果評価部は、少なくとも一つの前記変動部分の推定が成功であると評価した場合、前記学習データとして推定が成功であると判断した前記変動部分の意味と前記変動部分の前記第2変化パターンを対応付けた情報を、前記学習データ記憶部に追加する請求項5に記載の通信解析装置。
  9. 複数の通信データを取得し、前記複数の通信データのうち、同一の特徴を持つことを第1の抽出条件として、前記第1の抽出条件を満たす2つ以上の前記通信データを前記通信データ群として抽出する、通信データ抽出部と、
    前記総類似度に基づき、前記変動部分に対する前記意味推定部による推定が成功であるか失敗であるかを評価する推定結果評価部と、
    をさらに備え、
    前記推定結果評価部は、推定が成功であると判断した前記変動部分の数が設定数より少ない場合、前記通信データ抽出部に再度通信データを抽出する命令を行い、
    前記通信データ抽出部は、前記第1の抽出条件を記憶し、前記推定結果評価部から前記命令を受けた場合、前記第1の抽出条件とは異なる第2の抽出条件で前記通信データ群を抽出する、請求項5に記載の通信解析装置。
  10. 前記変動部分を改ざんする箇所として特定する改ざん箇所特定部をさらに備える、
    請求項1から9のいずれか1項に記載の通信解析装置。
  11. 前記意味推定部が前記変動部分の意味として推定した意味が、通信データを破棄しないようにパラメータを改ざんする必要のある第1意味、および、不正操作を行うためにパラメータを改ざんする必要のある第2意味のうち少なくとも一方である予め定められた意味と同一である場合には、前記予め定められた意味に対応付けられた前記変動部分を改ざんする箇所として特定する改ざん箇所特定部をさらに備える、
    請求項1から9のいずれか1項に記載の通信解析装置。
  12. 前記第1意味は、タイムスタンプ、データ長、チェックサム、シーケンス番号およびカウンタのうち少なくとも一部を示す意味を含む、
    請求項11に記載の通信解析装置。
  13. 前記第2意味は、アドレス、データ長、目標制御値、連続制御値、ON/OFF操作値および状態フラグのうち少なくとも一部を示す意味を含む、
    請求項11に記載の通信解析装置。
  14. 前記第1変化パターンおよび前記第2変化パターンは、前記パラメータの時系列の変化を示すグラフにより表される、
    請求項1から13のいずれか1項に記載の通信解析装置。
  15. コンピュータを、
    通信データ群を取得し、パラメータが時系列上変動している変動部分を抽出する変動部分抽出手段と、
    前記変動部分の時系列上変動するパラメータに基づき、前記パラメータの時系列の変化を示す1つ以上の第1変化パターンを生成する変化パターン生成手段と、
    1つのプロトコルフィールドの意味と前記1つのプロトコルフィールドのパラメータの時系列の変化を示す1つ以上の第2変化パターンとを対応付けた複数組の学習データを記憶する学習データ記憶手段と、
    前記変化パターン生成手段が生成した前記1つ以上の第1変化パターンのそれぞれと前記学習データの前記1つ以上の第変化パターンのそれぞれとを比較し、前記変動部分の意味を推定する意味推定手段と、
    して機能させるプログラム。
JP2020121253A 2020-07-15 2020-07-15 通信解析装置およびプログラム Active JP7413172B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020121253A JP7413172B2 (ja) 2020-07-15 2020-07-15 通信解析装置およびプログラム
US17/185,941 US11909747B2 (en) 2020-07-15 2021-02-25 Network packet analyzer and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020121253A JP7413172B2 (ja) 2020-07-15 2020-07-15 通信解析装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2022018265A JP2022018265A (ja) 2022-01-27
JP7413172B2 true JP7413172B2 (ja) 2024-01-15

Family

ID=79293028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020121253A Active JP7413172B2 (ja) 2020-07-15 2020-07-15 通信解析装置およびプログラム

Country Status (2)

Country Link
US (1) US11909747B2 (ja)
JP (1) JP7413172B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12309593B2 (en) * 2021-09-24 2025-05-20 Qualcomm Incorporated Techniques for misbehavior detection in wireless communications systems
WO2023153408A1 (ja) 2022-02-08 2023-08-17 京セラ株式会社 通信方法、ユーザ装置、及び基地局

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180140589A1 (en) 2005-09-14 2018-05-24 Takeda Pharmaceutical Company Limited Administration of dipeptidyl peptidase inhibitors
WO2019102911A1 (ja) 2017-11-27 2019-05-31 日本電信電話株式会社 異常通信検知装置、異常通信検知方法、プログラム
WO2019107149A1 (ja) 2017-12-01 2019-06-06 日本電信電話株式会社 ビットアサイン推定装置、ビットアサイン推定方法、プログラム
US20190296935A1 (en) 2018-03-22 2019-09-26 Ajou University Industry-Academic Cooperation Foundation Device and method for dividing field boundary of can trace

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4149137B2 (ja) 2001-03-21 2008-09-10 株式会社リコー プロトコルアナライザ
US7802009B2 (en) 2007-06-26 2010-09-21 Microsoft Corporation Automatic reverse engineering of message formats from network traces
US8897151B2 (en) 2010-07-16 2014-11-25 Board Of Trustees Of Michigan State University Systematic framework for application protocol field extraction
US9100326B1 (en) 2013-06-13 2015-08-04 Narus, Inc. Automatic parsing of text-based application protocols using network traffic data
US9473380B1 (en) 2013-06-13 2016-10-18 Narus, Inc. Automatic parsing of binary-based application protocols using network traffic
WO2018142620A1 (ja) 2017-02-06 2018-08-09 三菱電機株式会社 パケットフォーマット推定装置およびパケットフォーマット推定プログラム
US10715570B1 (en) * 2018-06-25 2020-07-14 Intuit Inc. Generic event stream processing for machine learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180140589A1 (en) 2005-09-14 2018-05-24 Takeda Pharmaceutical Company Limited Administration of dipeptidyl peptidase inhibitors
WO2019102911A1 (ja) 2017-11-27 2019-05-31 日本電信電話株式会社 異常通信検知装置、異常通信検知方法、プログラム
WO2019107149A1 (ja) 2017-12-01 2019-06-06 日本電信電話株式会社 ビットアサイン推定装置、ビットアサイン推定方法、プログラム
US20190296935A1 (en) 2018-03-22 2019-09-26 Ajou University Industry-Academic Cooperation Foundation Device and method for dividing field boundary of can trace

Also Published As

Publication number Publication date
US11909747B2 (en) 2024-02-20
US20220021689A1 (en) 2022-01-20
JP2022018265A (ja) 2022-01-27

Similar Documents

Publication Publication Date Title
EP3574430B1 (en) Continuous learning for intrusion detection
US8078556B2 (en) Generating complex event processing rules utilizing machine learning from multiple events
CN111935172B (zh) 基于网络拓扑的网络异常行为检测方法、计算机装置及计算机可读存储介质
JP7413172B2 (ja) 通信解析装置およびプログラム
SA521431060B1 (ar) نظام وطريقة لأمن الشبكات لتحديد الثغرات الأمنية أو إصلاحها بشكل مسبق
US11221904B2 (en) Log analysis system, log analysis method, and log analysis program
CN115033453B (zh) 异常检测方法、装置、设备、存储介质及程序
JP4156540B2 (ja) ログ分析装置、ログ分析プログラムおよび記録媒体
CN108805000B (zh) 电子装置、基于深度学习的乐谱识别方法及存储介质
US12244479B2 (en) Detecting behavioral change of IoT devices using novelty detection based behavior traffic modeling
CN115237766A (zh) 模糊测试用例筛选方法、装置、电子设备及存储介质
CN112134906B (zh) 一种网络流量敏感数据识别及动态管控方法
KR20190028880A (ko) 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치
TWI703846B (zh) Url異常定位方法、裝置、伺服器及儲存媒體
CN115774784A (zh) 一种文本对象的识别方法及装置
CN110581857B (zh) 一种虚拟执行的恶意软件检测方法及系统
JP7239824B2 (ja) 画像検査システム、画像検査装置及び画像検査プログラム
JP7586306B2 (ja) 推定装置、推定方法および推定プログラム
Rkhouya et al. Malware detection using a machine-learning based approach
KR20210103205A (ko) 악성 코드 탐지 및 시각화 시스템 및 방법
JP7318711B2 (ja) 異常検知装置、異常検知方法、及びプログラム
CN114332700B (zh) 一种网络病毒分类方法、装置、电子设备及存储介质
CN117194049B (zh) 一种基于机器学习算法的云主机智能行为分析方法及系统
JP7188208B2 (ja) マルウェア解析装置、マルウェア解析方法、及び、プログラム
CN117596020A (zh) 基于apt攻击的网络特征基因突变识别方法、设备及介质

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20210618

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220830

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20221028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230905

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20230913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231227

R151 Written notification of patent or utility model registration

Ref document number: 7413172

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151