JP2023106103A - Traffic analysis apparatus, traffic analysis program, and traffic analysis method - Google Patents
Traffic analysis apparatus, traffic analysis program, and traffic analysis method Download PDFInfo
- Publication number
- JP2023106103A JP2023106103A JP2022007243A JP2022007243A JP2023106103A JP 2023106103 A JP2023106103 A JP 2023106103A JP 2022007243 A JP2022007243 A JP 2022007243A JP 2022007243 A JP2022007243 A JP 2022007243A JP 2023106103 A JP2023106103 A JP 2023106103A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- steady
- learning
- stationary
- traffic 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 通信パターンを機械学習したモデルを用いて通信機器の異常を検知する際に、誤検知を抑制しつつ、新規通信機器検出時の導入に必要となる処理も抑制する。
【解決手段】 本発明は、トラフィック分析装置に関する。そして、本発明のトラフィック分析装置は、対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、通信機器のトラフィックデータから通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持する非定常通信判定モデル保持手段と、それぞれの通信機器の属性を認識する属性認識手段と、非定常通信判定モデルを用いて、の通信機器のトラフィックデータから、通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う非定常通信判定手段とを有することを特徴とする。
【選択図】 図1
An object of the present invention is to suppress erroneous detection when detecting an abnormality in a communication device using a machine-learned model of a communication pattern, and to suppress processing required for introduction when a new communication device is detected.
SOLUTION: The present invention relates to a traffic analysis device. Then, the traffic analysis apparatus of the present invention uses a learning model obtained by machine-learning a pattern of traffic data in a steady communication state for each attribute of a communication device connected to the target network, and determines whether the communication device Non-stationary communication decision model holding means for holding a non-stationary communication decision model for deciding whether or not it is in a steady communication state, attribute recognition means for recognizing the attributes of each communication device, and the non-stationary communication decision model a non-stationary communication determination means for performing non-stationary communication determination processing for determining whether or not the communication device is in a non-stationary communication state from the traffic data of the communication device.
[Selection diagram] Fig. 1
Description
この発明は、トラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法に関し、例えば、インターネットに接続するIoT機器が通信する際のトラフィックデータに基づいてこれらのIoT機器の状態を判定するシステムに適用し得る。 The present invention relates to a traffic analysis device, a traffic analysis program, and a traffic analysis method, and can be applied, for example, to a system that determines the state of IoT devices connected to the Internet based on traffic data when these IoT devices communicate.
従来、IoT機器は、家庭やオフィス、工場など様々な環境で活用されている。しかしながら、IoT機器は従来のPC等の通信機器と比べて十分なセキュリティ対策をとることができない、あるいは対策をしていない場合が多い。例えば、IoT機器は計算資源が限られているため、エージェント型のセキュリティ対策製品を導入できない場合がある。また、人手を介さずに使われるIoT機器の場合、ソフトウェアが長期間アップデートされず脆弱性を保有した状態にある場合がある。 IoT devices have been used in various environments such as homes, offices, and factories. However, in many cases, IoT devices cannot take sufficient security measures, or do not take sufficient security measures, compared to conventional communication devices such as PCs. For example, since IoT devices have limited computational resources, it may not be possible to introduce agent-type security countermeasure products. In addition, in the case of IoT devices that are used without human intervention, the software may not be updated for a long period of time and may have vulnerabilities.
このようなIoT機器のセキュリティ対策として、IoT機器からインターネットへの接続経路上にトラフィックを収集・分析する装置を設置し、トラフィックから異常な通信を検知し対象の機器の通信を遮断するNDR(Network Detection and Response)による対策がある。NDRは、機器にセキュリティエージェントを導入する必要がないため、IoT機器のように計算資源が乏しくエージェント型セキュリティ対策を導入できないような機器を監視する場合に有用である。またエッジネットワークに不正な機器を接続し他の正規機器から秘密情報を盗み出すような内部犯行的な行為は、基幹ネットワークのファイアウォールやプロキシサーバでは検知できない場合があるが、NDRではエッジネットワークの接続ポイントに分析装置を設置することでこのような不正行為も検知することができる。 As a security measure for such IoT devices, a device that collects and analyzes traffic is installed on the connection path from the IoT device to the Internet, and an NDR (Network (Detection and Response). NDR does not require a security agent to be installed in the device, so it is useful for monitoring devices such as IoT devices that lack computing resources and cannot be introduced with agent-type security measures. In addition, internal criminal acts such as connecting unauthorized devices to the edge network and stealing confidential information from other legitimate devices may not be detected by the firewall or proxy server of the backbone network, but NDR is the connection point of the edge network. Such fraud can be detected by installing an analysis device in
従来、NDRで異常検知する方法の一つとして、監視するネットワーク内の機器の普段の通信パターンを学習しておき、普段の通信パターンと乖離した通信があったときに異常検知する、教師なし機械学習を使用する方法がある。教師なし機械学習では、普段と異なるあらゆる通信パターンを異常として検知するため、未知の攻撃であっても検知できる。一方、正規の通信であっても、普段と異なる使われ方をした場合に異常と誤検知してしまう場合があり、誤検知数が多いのが課題である。また、運用中にネットワークに機器が新しく追加される場合、新しい機器の定常通信パターンを学習する必要があり、新規接続されてから異常検知できるまでに時間がかかるのが課題である。 Conventionally, one of the methods of detecting anomalies with NDR is an unsupervised machine that learns the normal communication patterns of devices in the monitored network and detects anomalies when there is communication that deviates from the normal communication pattern. There is a way to use learning. Unsupervised machine learning detects any unusual communication pattern as an anomaly, so even unknown attacks can be detected. On the other hand, even if it is legitimate communication, it may be misdetected as abnormal when it is used in a way that is different from usual, and the number of false positives is large. In addition, when a new device is added to the network during operation, it is necessary to learn the regular communication pattern of the new device, and the problem is that it takes time to detect anomalies after the new connection.
特許文献1は、ゲートウェイ装置に繋がるFAN(Field Area Network)機器を監視対象とし、機器毎に、制御メッセージ、センサデータ、統計データ等の正常値を学習しておき、正常値から逸脱した時に異常検知するシステムについて記載されている。特許文献1に記載されたシステムでは、誤検知を抑制するために、異常検知された通信について、さらに検査サーバが通信データを解析し問題があるかを確認したうえで最終的に異常かを判定するようになっている。
In
特許文献2には、スマートフォン等の端末に接続するIoT機器を監視対象とし、IoT機器のアプリケーション毎に正常通信パターンを統計処理または機械学習によって学習しておき、当該アプリケーションの通信パターンが正常通信パターンから逸脱した時に異常検知するシステムについて記載されている。特許文献2に記載されたシステムでは、複数のスマートフォン間で制御情報を交換して正常通信パターンを更新したり、定常通信パターンが学習できないと判断したアプリケーションを検知対象から除外する等、誤検知を抑制する処理等に対応している。 In Patent Document 2, an IoT device connected to a terminal such as a smartphone is targeted for monitoring, normal communication patterns are learned by statistical processing or machine learning for each application of the IoT device, and the communication pattern of the application is a normal communication pattern. A system for detecting anomalies when deviating from is described. In the system described in Patent Document 2, control information is exchanged between multiple smartphones to update normal communication patterns, and applications that are determined to be unable to learn regular communication patterns are excluded from detection targets, thereby preventing false detections. It corresponds to the processing to suppress.
しかしながら、特許文献1に記載されたシステムでは、新規機器接続時(新規通信機器接続時)に当該機器の正常通信パターンを学習する必要があり、異常検知ができるようになるまでに時間がかかる。また、特許文献1に記載されたシステムでは、センサデータ値等を異常検知に用いており、暗号化された通信では適用できない場面がある。さらに、特許文献2に記載されたシステムでは、新規機器接続時に、当該機器が使用するアプリケーションの正常通信パターンを学習する必要があり、異常検知ができるようになるまでに時間がかかる。さらにまた、特許文献2に記載されたシステムでは、登録されたアプリの通信における異常しか検知できないため、例えば機器がマルウェア感染した場合等に発生する、アプリと無関係な異常通信を検知できない。
However, in the system described in
以上のような問題に鑑みて、通信パターンを機械学習したモデルを用いて通信機器の異常を検知する際に、誤検知を抑制しつつ、新規通信機器検出時の導入に必要となる処理も抑制することができるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法が望まれている。 In view of the above problems, when detecting anomalies in communication devices using a machine-learned model of communication patterns, it is possible to reduce false detections and the processing required to introduce new communication devices. What is desired is a traffic analysis apparatus, a traffic analysis program and a traffic analysis method that can
第1の本発明のトラフィック分析装置は、対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、前記通信機器のトラフィックデータから前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持する非定常通信判定モデル保持手段と、それぞれの前記通信機器の属性を認識する属性認識手段と、前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う非定常通信判定手段とを有することを特徴とする。 A traffic analysis apparatus according to a first aspect of the present invention uses a learning model obtained by machine-learning a pattern of traffic data in a steady communication state for each attribute of a communication device connected to a target network, and analyzes the communication data from the traffic data of the communication device. non-stationary communication determination model holding means for holding a non-stationary communication determination model for determining whether or not a device is in a non-stationary communication state; attribute recognition means for recognizing attributes of each of said communication devices; and said non-stationary communication non-stationary communication determination means for performing non-stationary communication determination processing for determining whether or not the communication device is in a non-stationary communication state from traffic data of the communication device using a determination model. .
第2の本発明のトラフィック分析プログラムは、コンピュータを、対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、前記通信機器のトラフィックデータから前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持する非定常通信判定モデル保持手段と、それぞれの前記通信機器の属性を認識する属性認識手段と、前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う非定常通信判定手段として機能させることを特徴とする。 A traffic analysis program according to a second aspect of the present invention uses a learning model obtained by machine-learning traffic data patterns in a steady communication state for each attribute of a communication device connected to a target network to analyze the traffic data of the communication device. non-stationary communication determination model holding means for holding a non-stationary communication judgment model for judging whether the communication device is in the non-stationary communication state from the Using a non-stationary communication decision model, from the traffic data of the communication device, to function as a non-stationary communication decision means for performing non-stationary communication decision processing to decide whether the communication device is in the non-stationary communication state. Characterized by
第3の本発明は、トラフィック分析装置が行うトラフィック分析方法において、前記トラフィック分析装置は、非定常通信判定モデル保持手段と、属性認識手段と、非定常通信判定手段とを備え、前記非定常通信判定モデル保持手段は、対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、前記通信機器のトラフィックデータから前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持し、前記属性認識手段は、それぞれの前記通信機器の属性を認識し、前記非定常通信判定手段は、前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行うことを特徴とする。 A third aspect of the present invention is a traffic analysis method performed by a traffic analysis device, wherein the traffic analysis device comprises non-steady communication determination model holding means, attribute recognition means, and non-steady communication determination means, and the non-steady communication The determination model holding means uses a learning model obtained by machine-learning a pattern of traffic data in a steady communication state for each attribute of the communication device connected to the target network, and determines whether the communication device is in non-steady communication from the traffic data of the communication device. a non-stationary communication determination model for determining whether or not the communication device is in a state of and performing non-steady communication determination processing for determining whether or not the communication device is in a non-steady communication state from the traffic data of the communication device.
本発明によれば、通信パターンを機械学習したモデルを用いて通信機器の異常を検知する際に、誤検知を抑制しつつ、新規通信機器検出時の導入に必要となる処理も抑制することができる。 According to the present invention, when an abnormality in a communication device is detected using a machine-learned model of a communication pattern, it is possible to suppress erroneous detection and also suppress processing required for introduction when a new communication device is detected. can.
(A)第1の実施形態
以下、本発明によるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法の第1の実施形態を、図面を参照しながら詳述する。
(A) First Embodiment Hereinafter, a first embodiment of a traffic analysis device, a traffic analysis program, and a traffic analysis method according to the present invention will be described in detail with reference to the drawings.
(A-1)第1の実施形態の構成
図2は、第1の実施形態に関係する各装置の接続関係について示した図である。図2における括弧内の符号は後述する第2~第5の実施形態において用いられる符号である。
(A-1) Configuration of First Embodiment FIG. 2 is a diagram showing the connection relationship of each device related to the first embodiment. Symbols in parentheses in FIG. 2 are symbols used in second to fifth embodiments described later.
ここでは、トラフィック分析装置10は、監視対象(分析対象)となる監視対象ネットワークN1に接続された通信機器(通信端末)としてのIoT機器30(30ー1、30-2、・・・)から発生するトラフィックを分析する処理を行うものであるものとする。図2の構成例では、監視対象ネットワークN1には、ネットワーク機器として、ネットワークスイッチ20(レイヤ2スイッチ)とゲートウェイ40(例えば、ファイアウォールの機能に対応するゲートウェイ)が配置されているものとする。なお、監視対象ネットワークN1に接続される通信機器はIoT機器に限定されず種々の装置とするようにしてもよい。
Here, the
図2の構成例では、各IoT機器30が、ネットワークスイッチ20(レイヤ2スイッチ)に接続されており、ネットワークスイッチ20とインターネットN2との間にはファイアウォール機能を備えるゲートウェイ40が接続されている。したがって、図2の例では、各IoT機器30は、ネットワークスイッチ20とゲートウェイ40を経由してインターネットN2と通信可能な状態になっている。また、ネットワークスイッチ20では、接続されるIoT機器30等の数は限定されないものであり、運用中に増減する場合もあるものとして説明する。
In the configuration example of FIG. 2, each IoT device 30 is connected to a network switch 20 (layer 2 switch), and a
各IoT機器30の具体的な機能・構成や通信内容については限定されないものである。ここでは、基本的に各IoT機器30は、インターネットN2上の通信装置(例えば、IoT機器30からデータ受信するサーバや、IoT機器30へアクセスする端末等)と通信することによりその機能を果たすものとして説明する。 The specific functions, configurations, and communication contents of each IoT device 30 are not limited. Here, each IoT device 30 basically performs its function by communicating with a communication device (for example, a server that receives data from the IoT device 30, a terminal that accesses the IoT device 30, etc.) on the Internet N2. described as.
図2の例では、トラフィック分析装置10は、ネットワークスイッチ20に接続されているものとする。ここでは、ネットワークスイッチ20において、ゲートウェイ40と接続するLANポート(イーサネット(登録商標)ポート)で送受信されるパケット(イーサネットフレーム)が、トラフィック分析装置10が接続するポートにミラーリングされる設定(いわゆるポートミラー接続)となっているものとする。これにより、トラフィック分析装置10では、ネットワークスイッチ20の配下の接続端末(IoT機器30)とインターネットN2との間を流れるトラフィック(パケット)を収集することができる。この実施形態では、ネットワークスイッチ20のポートミラー設定により、トラフィック分析装置10にIoT機器30とインターネットN2との間を流れるトラフィックに基づくデータ(以下、単に「トラフィックデータ」とも呼ぶ)を供給する構成となっているが、トラフィック分析装置10にトラフィックデータを供給する具体的な構成については限定されないものである。
In the example of FIG. 2, the
トラフィック分析装置10は、トラフィックデータに基づいて、各接続端末(IoT機器30を含む)に関する分析を行う装置である。
The
ここで、トラフィック分析装置10の概要について説明する。
Here, an overview of the
一般的に、IoT機器は、主として一つの機能(以下、「主機能」と呼ぶ)を提供するものが多い。例えば、ネットワークカメラ機能を備えるIoT機器であれば、対象領域を撮影し遠隔のPC端末等にストリーミング配信する機能に対応する。また例えば、スマート電源タップのIoT機器であれば、スイッチのON/OFFを遠隔で操作する機能に対応する。つまり、一般的に、IoT機器は、その主機能に応じた種類(以下、「機器種類」と呼ぶ)毎に主となる定常的な通信パターン(以下、「定常通信パターン」と呼ぶ)が類似するものが多いと考えられる。 In general, many IoT devices mainly provide one function (hereinafter referred to as "main function"). For example, an IoT device equipped with a network camera function supports the function of capturing a target area and streaming it to a remote PC terminal or the like. Also, for example, if it is an IoT device such as a smart power tap, it corresponds to the function of remotely turning ON/OFF the switch. In other words, in general, IoT devices have similar main regular communication patterns (hereinafter referred to as “steady communication patterns”) for each type (hereinafter referred to as “device type”) according to their main functions. It is thought that there are many things to do.
従って、機器種類毎に定常通信パターンを学習することで、当該機器種類が提供する主機能稼働時の通信パターンが反映された学習モデルを構築することができると考えられる。そのため、トラフィック分析装置10では、監視対象ネットワークN1(ここではネットワークスイッチ20)に新規に接続されたIoT機器(以下、「新規接続機器」と呼ぶ)であっても、当該新規接続機器の定常時の通信パターンと、当該新規接続機器の機器種類の定常通信パターン(例えば、主機能稼働時の通信パターン)と比較することで、当該新規接続機器の非定常通信状態(定常通信パターンとは異なる通信パターンが発生した状態)を検知することができる。以下では、IoT機器30の非定常通信状態を、単に「異常状態」とも呼ぶものとする。つまり、トラフィック分析装置10では、非定常通信状態と判断したIoT機器30については、異常状態であると見なすものとする。
Therefore, by learning a regular communication pattern for each device type, it is possible to construct a learning model that reflects the communication pattern during operation of the main function provided by the device type. Therefore, in the
また、一般的に、IoT機器は、ベンダ(製造者;製造元)固有の制御通信を行うものが多い。例えば、あるベンダのIoT機器は、総じて、決められた時間間隔でNTP(Network Time Protocol)により時刻同期を実施したり、ベンダ保有のクラウドサーバと通信したりするものが存在する。つまり、一般的に、IoT機器は、ベンダ毎に制御通信の定常通信パターンは類似するものが多いと考えられる。従って、IoT機器のベンダ毎に定常通信パターンを学習することで、ベンダ特有の通信パターンが反映された学習モデルを構築することができると考えられる。そのため、トラフィック分析装置10では、新規接続機器であっても、当該新規接続機器のベンダの定常通信パターンと比較することで、非定常通信状態を検知することができる。
In general, many IoT devices perform vendor (manufacturer)-specific control communication. For example, there are IoT devices of a certain vendor that generally perform time synchronization using NTP (Network Time Protocol) at predetermined time intervals or communicate with a cloud server owned by the vendor. In other words, it is generally considered that many IoT devices have similar regular communication patterns of control communication for each vendor. Therefore, by learning regular communication patterns for each vendor of IoT devices, it is possible to build a learning model that reflects vendor-specific communication patterns. Therefore, the
言い換えると、トラフィック分析装置10では、新規接続機器(新規に監視対象/分析対象となった通信機器)であっても、属性(例えば、機器種類やベンダ等)ごとの定常通信パターンと比較することで、非定常通信状態を判定(検知)することができる。具体的には、この実施形態のトラフィック分析装置10では、属性ごとに、定常通信パターンを学習して定常通信状態/非定常通信状態を検知(判定)するモデル(以下、「非定常通信検知モデル」と呼ぶ)を構築して保持しておき、運用中に取得したトラフィックデータについてIoT機器30ごとに分類(例えば、送信元/宛先のIPアドレスごとに分類)し、当該IoT機器30に対応する非定常通信検知モデルを適用して、当該IoT機器30の状態を判定(例えば、非定常通信状態(異常状態)であるか否かを判定)する。
In other words, in the
この実施形態のトラフィック分析装置10では、それぞれのIoT機器30の通信の特徴を利用し、属性として機器種類(例えば、ネットワークカメラ、スマートスピーカ、スマートプラグの単位)毎にトラフィックをまとめて定常通信パターンを学習して、定常通信状態/非定常通信状態を判定(検知)するモデル(以下、「機器種類別非定常通信検知モデル」とも呼ぶ)を構築して保持するものとする。また、トラフィック分析装置10は、機器種類別非定常通信検知モデルを構築する際に、学習時の精度が低くなるトラフィックパターンについて、属性としてベンダ毎にトラフィックをまとめて定常通信パターンを学習して、定常通信状態/非定常通信状態を判定(検知)するモデル(以下、「ベンダ別非定常通信検知モデル」と呼ぶ)を構築して保持するものとする。
The
トラフィック分析装置10は、各IoT機器30について、まず機器種類別非定常通信検知モデルを用いて、非定常通信状態にあるか否に基づいて非定常通信状態であるか否かの判定を行う。そして、トラフィック分析装置10は、機器種類別非定常通信検知モデルに基づいて非定常通信状態と判定されたIoT機器について、さらにベンダ別非定常通信検知モデルに基づいて非定常通信状態であるか否かを判定し、ここでも非定常通信状態と判定された場合に当該IoT機器について異常検知(異常状態であると検知)するものとする。
The
以上のように、トラフィック分析装置10は、機器種類別非定常通信検知モデル及びベンダ別非定常通信検知モデルを用いた判定処理を行うことで、監視対象ネットワークN1に新たに接続されたIoT機器30であっても、当該IoT機器30の機器種類とベンダが分かれば非定常通信状態検知が可能なため、定常通信状態を学習する期間を短縮することが可能である。
As described above, the
さらに、この実施形態のトラフィック分析装置10では、上記に加え、ベンダ別非定常通信検知モデルの学習時にも精度が低かったトラフィックパターン(つまり機器固有の通信パターン)をまとめて定常通信パターンとして学習した非定常通信検知モデル(以下、「機器固有非定常通信検知モデル」と呼ぶ)を構築して保持するものとする。そして、トラフィック分析装置10では、機器種類別非定常通信検知モデル及びベンダ別非定常通信検知モデルを用いた判定処理のいずれの判定処理でも非定常通信状態を検知できなかった通信パターンについて機器固有非定常通信検知モデルで非定常通信状態であるか否かを判定し、非定常通信状態と判定できた場合に非定常通信状態(異常状態)を検知するものとする。
Furthermore, in the
以上のような判定処理を実現するため、この実施形態のトラフィック分析装置10(主として処理部101)は、以下の3つの動作モードのいずれかで動作するものとする。 In order to realize the determination process as described above, the traffic analysis device 10 (mainly the processing unit 101) of this embodiment shall operate in one of the following three operation modes.
トラフィック分析装置10は、第1の動作モード(以下、「学習モード」とも呼ぶ)で動作する場合、監視対象ネットワークN1に接続された各IoT機器30の定常通信パターンのトラフィックデータを収集して学習処理を行って各非定常通信状態検知モデル(機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル、及び機器固有非定常通信検知モデル)を構築する処理を行う。
When the
トラフィック分析装置10は、第2の動作モード(以下、「運用モード」とも呼ぶ)で動作する場合、リアルタイムに監視対象ネットワークN1からトラフィックデータを取得し、各IoT機器30について各非定常通信状態検知モデルを用いて、非定常通信状態(異常状態)にあるか否かを判定する処理を行う。
When operating in a second operation mode (hereinafter also referred to as an "operation mode"), the
トラフィック分析装置10は、運用モードで動作しているときに、未知の機器種類又はベンダのIoT機器30を検出した場合、運用モードの動作に並列して、当該未知のIoT機器30の機器種類又はベンダについて定常通信パターンを学習して非定常通信状態検知モデルを構築する動作モード(以下、「混在モード」と呼ぶ)で動作するようにしてもよい。
When the
次に、トラフィック分析装置10の内部構成について、図1を用いて説明する。
Next, the internal configuration of the
図1は、トラフィック分析装置10の機能的構成について示したブロック図である。
FIG. 1 is a block diagram showing the functional configuration of the
図1に示すように、トラフィック分析装置10は、処理部101、トラフィックデータ収集部102、定常通信パターン学習部103、非定常通信状態判定部104、機器種類判定部105、ベンダ情報判定部106、通信制御部107、及び記憶部108を有している。
As shown in FIG. 1, the
トラフィック分析装置10は、例えば、プロセッサやメモリ等を有するコンピュータ上にプログラム(実施形態に係るトラフィック分析プログラムを含む)をインストールすることにより実現することができる。
[処理部101の構成]
処理部101は、トラフィック分析装置10の全体の処理を制御する機能を担っている。また、処理部101は、他の要素から通知されたデータを記録する記録処理、及び他の要素から要求されたデータを読み込んで通知(出力)する処理を行う。
[記憶部108の構成]
記憶部108は、トラフィック分析装置10における各処理で用いられるデータを記憶・保持する記録手段である。
[トラフィックデータ収集部102]
トラフィックデータ収集部102は、ネットワークスイッチ20からのトラフィックデータ(イーサネットフレーム又はIPパケットのデータ)をキャプチャし、キャプチャ内容を解析してIPパケット形式に変換して出力する。トラフィックデータ収集部102は、出力するトラフィックデータの元となるイーサネットフレームの情報(例えば、送信元/宛先のMACアドレス等)やタイムスタンプ(例えば、当該フレーム/パケットをキャプチャした時刻)等を付加情報として付加するようにしてもよい。トラフィックデータ収集部102は、IPパケット形式のトラフィックデータを処理部101に通知(出力)する。
The
[Configuration of processing unit 101]
The
[Configuration of Storage Unit 108]
The
[Traffic data collection unit 102]
The
処理部101は、トラフィックデータ収集部102からトラフィックデータ(IPパケットのデータ)を受信すると、受信したトラフィックデータの送信元又は宛先に係るIoT機器30の機器種類の判定処理を機器種類判定部105に要求して判定結果を得る。
When the
また、処理部101は、トラフィックデータ収集部102からトラフィックデータを受信すると、受信したトラフィックデータの送信元又は宛先に係るIoT機器30のベンダを示すベンダ情報の判定処理をベンダ情報判定部106に要求して判定結果を得る。
Further, when the
さらに、処理部101は、学習モードで動作する場合、定常通信パターンの学習を定常通信パターン学習部103に要求し、結果を得る。処理部101は、運用モードで動作する場合、異常判定を非定常通信状態判定部104に要求し、その結果を得る。
Further, when operating in the learning mode, the
さらにまた、処理部101は、混在モードで動作中である場合、学習中の機器種類/ベンダのトラフィックデータを受信すると、定常通信パターン学習部103に当該トラフィックデータを用いた学習を要求し、学習中でない機器種類/ベンダのトラフィックデータを受信すると非定常通信状態判定部104に当該トラフィックデータを用いた異常判定処理を要求してその結果を得る。
Furthermore, when the
さらにまた、処理部101は、運用モード又は混在モードで動作中に、非定常通信状態判定部104の判定結果に応じた任意のアクションを行うようにしてもよい。例えば、処理部101は、非定常通信状態判定部104で異常検知されたIoT機器30に対する通信遮断を通信制御部107に要求することや、異常検知されたことを種々の通信方式(例えば、電子メールや所定の方式の電文(メッセージ))のいずれかで送信出力ようにしてもよい。
Furthermore, the
さらにまた、処理部101は、トラフィックデータ収集部102が収集したトラフィックデータ、各IoT機器30の種類を示す情報(以下、「機器種類情報」と呼ぶ)、各IoT機器30のベンダ(メーカ)を示す情報(以下、「ベンダ情報」と呼ぶ)、機器種類毎の機器種類別非定常通信検知モデル、ベンダ毎のベンダ別非定常通信検知モデル、及び機器固有非定常通信検知モデルの保存を記憶部108に要求し、必要に応じて保存した情報を記憶部108から取得する。
[機器種類判定部105の構成]
機器種類判定部105は、入力されたトラフィックデータから機器種類を判定する機能を担っている。
Furthermore, the
[Configuration of Device Type Determination Unit 105]
The device
機器種類判定部105は、例えば、機器種類ごとにトラフィックデータを分類して定常通信パターンを機械学習器等により学習することで、トラフィックデータに対応する機器種類を判定するモデル(以下、「機器種類判定モデル」と呼ぶ)を保持し、保持した機器種類判定モデルに基づき入力されたトラフィックデータに対応する機器種類を判定するようにしてもよい。機器種類判定部105は、学習モードで動作する際に、予めIoT機器30ごとの機器種類のデータ(例えば、各IoT機器30のIPアドレスに機器種類を対応付けたデータ)を保持(例えば、オペレータ等により手動で入力を受け付けて保持)するようにしてもよい。そして、機器種類判定部105は、学習モードで動作する際に、機器種類ごとにトラフィックデータを分類し、分類した各機器種類のトラフィックデータ(複数のIPパケット列により構成されるデータ)について、通信パターンを示す特徴量に変換して機械学習器に学習させることで機器種類判定モデルを構築するようにしてもよい。通信パターンを示す特徴量の形式については限定されないものであるが、例えば、トラフィックデータを構成する各IPパケットのサイズやパケット到着間隔等のトラフィックデータに基づく統計値や、ポート番号(TCP又はUDPのポート番号)から推測されるサービス情報(例えばTCP80番ならばHTTP、TCP23番ならばTELNET等)等を適用するようにしてもよい。つまり、機器種類判定部105では、教師データ(IoT機器30ごとの機器種類のデータと、学習モードで動作した際に取得したトラフィックデータ)を機械学習器に供給して学習処理を行うことで、機器種類判定モデルを取得することができる。
For example, the device
なお、機器種類判定部105では、学習モードで動作する際に上記のような処理により機器種類判定モデルを保持してもよいし、予め機器種類判定モデルを保持させておくようにしてもよい。ここで、機器種類判定モデルでは、学習した機器種類の通信パターンのいずれにも類似しない通信パターンが入力された場合、未知の機器種類であるという判定結果を出力するように構成してもよい。例えば、機器種類判定部105は、学習時にトラフィックデータを分類する際に、既知の機器種類+1のクラス(+1は未知の機器種類を表すクラス)に、トラフィックデータを分類して学習し、判定時には未知の機器種類を表すクラスである確率が一定値以上であれば未知の機器種類と判定するように、機器種類判定モデルを構成するようにしてもよい。
Note that the device
そして、機器種類判定部105は、処理部101から、トラフィックデータと共に機器種類の判定を要求されると、当該トラフィックデータに基づいて機器種類を判定し、結果(機器種類が未知であるという結果を含む)を処理部101に通知する。
When the
処理部101は、機器種類判定部105の判定結果に基づいて、IoT機器30ごとの機器種類を認識し、IoT機器30ごとの機器種類情報を生成して記憶部108に記憶させる。機器種類情報の具体的な形式は限定されないものであるが、例えば、IoT機器30の識別子(例えば、IPアドレス、ホスト名、任意のID番号等)に機器種類の識別子(例えば、機器種類の名称、ID番号等)を対応付けた情報としてもよい。
[ベンダ情報判定部106の構成]
ベンダ情報判定部106は、トラフィックデータから、当該トラフィックデータに対応するIoT機器30のベンダ(製造元)を判定する機能を担っている。
The
[Configuration of Vendor Information Determination Unit 106]
The vendor
イーサネットに対応する通信装置には、固有のMACアドレスが付与されており、通常、MACアドレスの前半部分(例えば、第1~第3オクテット)は、いわゆるベンダコード(OUI:Organizationally Unique Identifier)で構成されている。したがって、ベンダ情報判定部106では、トラフィックデータ(対応するIoT機器30のMACアドレスが付加されたトラフィックデータ)ごとに、送信元/宛先のIoT機器30のMACアドレスを取得し、取得したMACアドレスからベンダコードを抽出することで、トラフィックデータに対応するIoT機器30のベンダを判定することができる。
A unique MAC address is assigned to a communication device that supports Ethernet, and the first half of the MAC address (for example, the first to third octets) is usually composed of a so-called vendor code (OUI: Organizationally Unique Identifier). It is Therefore, the vendor
例えば、ベンダ情報判定部106は、トラフィックデータから取得したベンダコードに対応するベンダの識別子(例えば、ベンダ名等)を、インターネットN2上のサイト(例えば、ベンダコードからベンダ名等の識別子を検索可能なサイト)から検索して確認するようにしてもよい。また、例えば、ベンダ情報判定部106は、予めベンダコードとベンダの識別子を対応付けた情報を保持しておいて、抽出したベンダコードに対応するベンダ名を確認するようにしてもよい。
For example, the vendor
以上のように、ベンダ情報判定部106は、処理部101からトラフィックデータ(対応するIoT機器30のMACアドレスが付加されたトラフィックデータ)と共にベンダの判定を要求されると、当該トラフィックデータに対応するベンダの識別子(例えば、ベンダ名)を取得して、結果を処理部101に通知する。
As described above, when the
処理部101は、ベンダ情報判定部106の判定結果に基づいて、IoT機器30ごとのベンダを認識し、IoT機器30ごとのベンダ情報を生成して記憶部108に記憶させる。ベンダ情報の具体的な形式は限定されないものであるが、例えば、IoT機器30の識別子(例えば、IPアドレス、ホスト名、任意のID番号等)にベンダの識別子(例えば、ベンダ名等)を対応付けた情報としてもよい。
[定常通信パターン学習部103の構成]
定常通信パターン学習部103は、トラフィックデータから、各非定常通信検知モデル(機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル、及び機器固有非定常通信検知モデル)を構築する機能を担っている。定常通信パターン学習部103は、トラフィックデータと共に処理部101からの要求を受けると各種非定常通信検知モデルを構築し、完了を処理部101に通知する。
The
[Configuration of regular communication pattern learning unit 103]
The steady communication
次に、定常通信パターン学習部103が機器種類別非定常通信検知モデルを構築する処理について説明する。
Next, the process of constructing the device type non-steady communication detection model by the steady communication
図3は、機器種類別非定常通信検知モデルの構築処理の流れについて示したフローチャートである。 FIG. 3 is a flow chart showing the flow of processing for constructing the non-stationary communication detection model for each device type.
定常通信パターン学習部103は、学習モードで動作している間に収集したトラフィックデータ(処理部101から供給されたトラフィックデータ)をフロー単位(例えば、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、及び宛先ポート番号の組合せにより分類されるフロー単位)に分割する(S101)。
The regular communication
次に、定常通信パターン学習部103は、分割した各フローを、機器種類(IoT機器30の機器種類)ごとに分類する(S102)。
Next, the regular communication
次に、定常通信パターン学習部103は、フロー単位にトラフィックデータに基づく特徴量(統計特徴量)を計算して取得する(S103)。定常通信パターン学習部103が取得する特徴量の形式は限定されないものであるが、例えば、各フロー(トラフィックデータ)を構成する各IPパケットのサイズやパケット到着間隔等のトラフィックデータに基づく統計値や、ポート番号(TCP又はUDPのポート番号)から推測されるサービス情報(例えばTCP80番ならばHTTP、TCP23番ならばTELNET等)等を適用するようにしてもよい。
Next, the regular communication
次に、定常通信パターン学習部103は、特徴量の類似するフロー同士をグループ化する処理を行う(S104)。定常通信パターン学習部103が行うグループ化の方法は限定しないが、例えばk-meansやDBSCAN等のクラスタリングアルゴリズムによって機械的にグループ化する方法が適用し得る。
Next, the regular communication
次に、定常通信パターン学習部103は、各グループに属するフローのIoT機器30に対応する機器種類を確認し、その結果に基づいて機器種類別非定常通信検知モデルの学習に用いるグループを抽出する(S105)。
Next, the steady communication
図4は、ステップS105におけるフロー(機器種類別非定常通信検知モデルの学習に用いるフロー)をグループ化する処理について示した図(イメージ図)である。 FIG. 4 is a diagram (image diagram) showing the process of grouping the flow (flow used for learning the non-stationary communication detection model by device type) in step S105.
図4では、説明を簡易とするため、任意の機器種類A、B、Cのフローをそれぞれ円形、三角形、四角形のシンボルで表し、それぞれのシンボルをフローの特徴量に対応する位置にマッピングしている。つまり、図4では、距離の近いシンボルのフロー同士は特徴量が近いことを視覚的に表している。図4では、機器種類Aのフローに係るシンボルが5つ、機器種類Bのフローに係るシンボルが2つ、機器種類Cのフローに係るシンボルが7つ図示されている。そして、図4では、距離が所定以下のシンボル同士をグルーピングした結果として、3つのグループG1~G3(破線で囲われたグループ)に分けられている。 In FIG. 4, in order to simplify the explanation, flows of arbitrary device types A, B, and C are represented by circular, triangular, and square symbols, respectively, and each symbol is mapped to a position corresponding to the feature amount of the flow. there is In other words, FIG. 4 visually shows that symbol flows having close distances have close feature amounts. In FIG. 4, five symbols related to the device type A flow, two symbols related to the device type B flow, and seven symbols related to the device type C flow are illustrated. In FIG. 4, as a result of grouping symbols whose distance is equal to or less than a predetermined distance, the symbols are divided into three groups G1 to G3 (groups surrounded by dashed lines).
なお、ここでは、トラフィック分析装置10で分析対象(監視対象)となっているIoT機器30の機器種類(以下、「対象機器種類」と呼ぶ)は、A、B、Cで全部であるものとする。 Here, it is assumed that the device types of the IoT devices 30 to be analyzed (monitored) by the traffic analysis device 10 (hereinafter referred to as "target device types") are all A, B, and C. do.
ここでは、定常通信パターン学習部103は、全ての対象機器種類の含まれているグループの各フローを、共通的な通信パターンを構成するものとみなして抽出し、機械学習器を用いた機器種類別非定常通信検知モデルの構築に用いるものとする。
Here, the regular communication
図4では、グループG1とグループG2には全ての対象機器種類(機器種類A、B、C)のフローが含まれており、グループG3には機器種類A、Bのフローのみが含まれており機器種類Cのフローは含まれていない。したがって、この場合、定常通信パターン学習部103は、グループG1、G2のフローについては学習対象として抽出し、グループG3のフローについては学習対象として抽出しないことになる。
In FIG. 4, groups G1 and G2 include flows of all target device types (device types A, B, and C), and group G3 includes only flows of device types A and B. Flows for device type C are not included. Therefore, in this case, the regular communication
次に、定常通信パターン学習部103は、抽出した各フローのトラフィックデータを機械学習器に入力する特徴量に変換して取得し(S106)、取得した特徴量を用いて機器種類別非定常通信検知モデルを機械学習器で構築する(S107)。
Next, the regular communication
ここで、各フローの通信パターンを示す特徴量の形式については限定されないものであるが、例えば、トラフィックデータを構成する各IPパケットのサイズやパケット到着間隔等のトラフィックデータに基づく統計値や、ポート番号(TCP又はUDPのポート番号)から推測されるサービス情報(例えばTCP80番ならばHTTP、TCP23番ならばTELNET等)等を適用するようにしてもよい。 Here, the format of the feature quantity indicating the communication pattern of each flow is not limited, but for example, statistical values based on traffic data such as the size of each IP packet that constitutes the traffic data, packet arrival interval, etc., port Service information (for example, HTTP for TCP number 80, TELNET for TCP number 23, etc.) estimated from the number (TCP or UDP port number) may be applied.
定常通信パターン学習部103は、例えば、機械学習器にフローの先頭からNパケット分の特徴量を入力し、N+1番目のパケットの特徴量を予測するような学習モデルを構築するようにしてもよい。また、この際、定常通信パターン学習部103は、フローの先頭をMパケット(Mは1以上の整数)ずつずらしながら機械学習器に学習させることで、より多くの通信パターンを定常通信パターンとしてモデルに反映するようにしてもよい。定常通信パターン学習部103において用いる機械学習器についても限定しないが、例えばRNN(Recurrent Neural Network)を適用することができる。
The regular communication
以上のような処理により、処理部101は、定常通信パターン学習部103を用いて、機器種類ごとの機器種類別非定常通信検知モデルを取得し、記憶部108に記憶させる。
Through the above-described processing, the
次に、定常通信パターン学習部103がベンダ別非定常通信検知モデルを構築する処理について説明する。
Next, a process of constructing a vendor-specific non-steady-state communication detection model by the steady-state communication
図5は、ベンダ別非定常通信検知モデルの構築処理の流れについて示したフローチャートである。 FIG. 5 is a flowchart showing the flow of processing for constructing a vendor-specific non-stationary communication detection model.
定常通信パターン学習部103は、学習モードで動作している間に、上述のステップS107に続いて、図5のフローチャートの処理を実行することで、ベンダ別非定常通信検知モデルの構築を行う。
While operating in the learning mode, the regular communication
まず、定常通信パターン学習部103は、機器種類別非定常通信検知モデルの学習モデル構築に用いられなかったフロー(上述のステップS105で抽出されなかった方のフロー)のデータ(トラフィックデータ)を取得する(S201)。
First, the regular communication
次に、定常通信パターン学習部103は、取得したフローについて、ベンダごと(IoT機器30のベンダごと)に分類する(S202)。
Next, the regular communication
次に、定常通信パターン学習部103は、取得したフロー単位にトラフィックデータに基づく特徴量を計算して取得する(S203)。このとき、定常通信パターン学習部103が取得する特徴量の形式は、機器種類別非定常通信検知モデルのとき(上述のステップS103)と同様であるため詳しい説明は省略する。
Next, the regular communication
次に、定常通信パターン学習部103は、特徴量の類似するフロー同士をグループ化する処理を行う(S204)。このとき、定常通信パターン学習部103がグループ化する処理については、機器種類別非定常通信検知モデルのとき(上述のステップS104)と同様であるため詳しい説明は省略する。
Next, the regular communication
次に、定常通信パターン学習部103は、各グループに属するフローに対応する機器種類を確認し、その結果に基づいてベンダ別非定常通信検知モデルの学習に用いるグループを抽出する(S205)。
Next, the regular communication
定常通信パターン学習部103は、例えば、同じベンダに属するフローだけで構成されているグループを抽出するようにしてもよい。
The regular communication
図6は、ステップS205におけるフロー(ベンダ別非定常通信検知モデルの学習に用いるフロー)をグループ化する処理について示した図(イメージ図)である。 FIG. 6 is a diagram (image diagram) showing the process of grouping the flows (flows used for learning the vendor-specific non-stationary communication detection model) in step S205.
図6では、上述の図4と同様に、任意の機器種類A、B、Cのフローをそれぞれ円形、三角形、四角形のシンボルで表し、それぞれのシンボルをフローの特徴量に対応する位置にマッピングしている。また、図6では、各シンボルの図形の内側に当該シンボルのフローに係るベンダを示す記号を付記している。図6では、各シンボルにベンダA、B、Cを表す記号としてそれぞれα、β、γを付記している。 In FIG. 6, as in FIG. 4 described above, the flows of arbitrary device types A, B, and C are represented by circular, triangular, and rectangular symbols, respectively, and each symbol is mapped to a position corresponding to the feature amount of the flow. ing. Also, in FIG. 6, a symbol indicating a vendor related to the flow of the symbol is added inside the figure of each symbol. In FIG. 6, α, β, and γ are appended to each symbol as symbols representing vendors A, B, and C, respectively.
図6では、距離が所定以下のシンボル同士をグルーピングした結果として、2つのグループG1、G2(破線で囲われたグループ)に分けられている。 In FIG. 6, as a result of grouping symbols whose distance is equal to or less than a predetermined distance, the symbols are divided into two groups G1 and G2 (groups surrounded by dashed lines).
ここでは、定常通信パターン学習部103は、同じベンダに属するフローだけで構成されているグループの各フローを、当該ベンダの共通的な通信パターンを構成するものとみなして抽出し、機械学習器を用いたベンダ別非定常通信検知モデルの構築に用いるものとする。
Here, the regular communication
図6では、グループG1では、全てのフローのベンダがベンダA(シンボルにαが付記)のフローだけで構成されている。一方、グループG2では、機器種類A、Bのフローのみが含まれており、かつ、2つのベンダA、Bが混在している。したがって、この場合、定常通信パターン学習部103は、グループG1のフローについては学習対象として抽出し、グループG2のフローについては学習対象として抽出しないことになる。
In FIG. 6, in group G1, the vendor of all flows consists only of the flows of vendor A (a is added to the symbol). On the other hand, group G2 includes only flows of device types A and B, and two vendors A and B are mixed. Therefore, in this case, the regular communication
次に、定常通信パターン学習部103は、抽出した各フローのトラフィックデータを機械学習器に入力する特徴量に変換して取得し(S206)、取得した特徴量を用いてベンダ別非定常通信検知モデルを機械学習器で構築する(S207)。定常通信パターン学習部103が行う特徴量抽出処理及び非定常通信モデルを作成する処理自体は機器種類別非定常通信検知モデルの場合(上述のステップS106、S107)と同様であるため詳しい説明は省略する。
Next, the regular communication
以上のような処理により、処理部101は、定常通信パターン学習部103を用いて、ベンダ毎のベンダ別非定常通信検知モデルを取得して、記憶部108に記憶させる。
Through the above processing, the
次に、定常通信パターン学習部103が、機器固有非定常通信検知モデルを構築する処理について説明する。
Next, a process of constructing a device-specific non-steady-state communication detection model by the steady-state communication
図7は、機器固有非定常通信検知モデルの構築処理の流れについて示したフローチャートである。 FIG. 7 is a flowchart showing the flow of processing for constructing a device-specific non-stationary communication detection model.
定常通信パターン学習部103は、学習モードで動作している間に、上述のステップS207に続いて、図7のフローチャートの処理を実行することで、ベンダ別非定常通信検知モデルの構築を行う。
While operating in the learning mode, the regular communication
まず、定常通信パターン学習部103は、機器種類別非定常通信検知モデルの学習モデル及びベンダ別非定常通信検知モデルの構築に用いられなかったフロー(上述のステップS105、S205のいずれでも抽出されなかった方のフロー)のトラフィックデータを取得する(S301)。
First, the steady communication
次に、定常通信パターン学習部103は、抽出した各フローのトラフィックデータを機械学習器に入力する特徴量に変換して取得し(S302)、取得した特徴量を用いて機器固有非定常通信検知モデルを機械学習器で構築する(S303)。ここで、定常通信パターン学習部103が行う特徴量抽出処理及び機器固有非定常通信検知モデルを作成する処理自体は機器種類別非定常通信検知モデルの場合(上述のステップS106、S107)と同様であるため詳しい説明は省略する。
Next, the regular communication
以上のような処理により、処理部101は、定常通信パターン学習部103を用いて、機器固有非定常通信検知モデルを保持して、記憶部108に記憶させる。
[非定常通信状態判定部104の構成]
非定常通信状態判定部104は、運用モード又は混在モードで動作する場合、トラフィックデータを用いて、各IoT機器30が非定常通信状態にあるか否かを判定する機能を担っている。
Through the above processing, the
[Configuration of Unsteady Communication State Determination Unit 104]
The unsteady communication
非定常通信状態判定部104は、処理部101から、トラフィックデータと共に非定常通信状態であるか否かを判定する処理(以下、「非定常通信状態判定処理」、「異常判定処理」又は「異常検知処理」と呼ぶ)の通知を受けつけると、その非定常通信状態判定処理を開始する。非定常通信状態判定部104は、非定常通信状態判定処理を開始するとトラフィックデータを、各非定常通信検知モデル(機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル、および機器固有非定常通信検知モデル)に入力するための特徴量に変換し、変換した特徴量を各非定常通信検知モデルに入力して当該トラフィックデータに係るIoT機器30が非定常通信状態にあるかを判定する。非定常通信状態判定部104は、判定結果を処理部101に通知する。
The non-steady communication
図8は、非定常通信状態判定部104が行う非定常通信状態判定処理の動作について示したフローチャートである。
FIG. 8 is a flow chart showing the operation of the non-steady communication state determination processing performed by the non-steady communication
非定常通信状態判定部104は、非定常通信状態判定処理を開始すると、取得したトラフィックデータを各非定常通信検知モデルに適用する特徴量に変換する(S401)。ここで、非定常通信状態判定部104では、任意のIoT機器30(以下、このIoT機器30を「注目機器」と呼ぶ)取得したサンプル(特徴量)が、各非定常通信検知モデルで判定可能なだけ蓄積されたものとする。
When the non-steady communication state determination process is started, the non-steady communication
次に、非定常通信状態判定部104は、注目機器について取得した特徴量のサンプルを、注目機器の機器種類に対応する機器種類別非定常通信検知モデルに適用して(S402)、非定常通信状態であるか否か(異常であるか否か)を判定する(S403)。非定常通信状態判定部104は、機器種類別非定常通信検知モデルに基づいて、注目機器が定常通信状態であると判定した場合は、ステップS409に移行して非定常通信状態判定処理を終了し、非定常通信状態と判定した場合は後述するステップS404に移行する。
Next, the non-stationary communication
ステップS403で、非定常通信状態と判定された場合、非定常通信状態判定部104は、注目機器について取得した特徴量のサンプルを注目機器のベンダに対応するベンダ別非定常通信検知モデルに適用して(S404)、非定常通信状態であるか否か(異常であるか否か)を判定する(S405)。非定常通信状態判定部104は、ベンダ別非定常通信検知モデルに基づいて、注目機器が定常通信状態であると判定した場合は、ステップS409に移行して非定常通信状態判定処理を終了し、非定常通信状態と判定した場合は後述するステップS406に移行する。
In step S403, when the non-steady communication state is determined, the non-steady communication
ステップS405で、非定常通信状態と判定された場合、非定常通信状態判定部104は、注目機器について取得した特徴量のサンプルを、機器固有非定常通信検知モデルに適用して(S406)、非定常通信状態であるか否か(異常であるか否か)を判定する(S407)。非定常通信状態判定部104は、機器固有非定常通信検知モデルに基づいて、注目機器が定常通信状態であると判定した場合は、ステップS409に移行して非定常通信状態判定処理を終了し、非定常通信状態と判定した場合は後述するステップS408に移行する。
In step S405, when the non-steady communication state is determined, the non-steady communication
ステップS407で、非定常通信状態と判定された場合、非定常通信状態判定部104は、最終的に、注目機器について最終的に非定常通信状態(異常状態)と判定し(S408)判定結果(注目機器が非定常通信状態(異常状態)である旨の結果)を出力する。
When it is determined in step S407 that the non-steady communication state is determined, the non-steady communication
ステップ409に移行した場合、非定常通信状態判定部104は定常通信状態(異常状態ではない)と判定して、その判定結果を出力する。
When the process proceeds to step 409, the non-stationary communication
なお、図8のようなフローチャートの処理で、3つの非定常通信状態検知モデルを用いて多段的に判断した場合でも100%誤検知を避けることは難しい。そのため、非定常通信状態判定部104は、注目機器について、ある時点のトラフィックデータに基づいて上記のフローチャートで一度異常を検知してもすぐに異常の判定結果を出力(例えば、アラートの送信等)せずに、その後の異常検知率が一定以上となった場合(例えば、その後も異常検知を繰返し、判定した回数の中で異常検知となった割合が一定以上となった場合)に初めて最終な異常判定を出力するようにしてもよい。
[通信制御部107の構成]
通信制御部107は、処理部101からの通知に基づいて、非定常通信状態判定部104で異常状態(非定常通信状態)と判定されたIoT機器30に関する通信制御をする機能を担っている。通信制御部107は、処理部101からあるIoT機器30の通信遮断の要求を受けると、当該IoT機器30の通信を遮断し、結果を処理部101に通知するようにしてもよい。
It should be noted that it is difficult to avoid erroneous detection 100% even when multistage determination is made using three non-stationary communication state detection models in the processing of the flowchart shown in FIG. Therefore, the non-steady communication
[Configuration of communication control unit 107]
The
例えば、通信制御部107は、IoT機器30による通信(インターネットN2との通信)を遮断する通信制御を行うようにしてもよい。通信制御部107が注目機器の通信を遮断する方式については限定されないものである。例えば、図1のようなネットワーク構成の場合、通信制御部107は、あるIoT機器30について異常状態(非定常通信状態)と判定された場合、ゲートウェイ40(ファイアウォールのポリシー管理機能)を制御して、当該IoT機器30の通信(例えば、当該IoT機器30のIPアドレスに関する通信)を遮断するようなポリシー(ルール)を追加させるような構成としてもよい。
For example, the
(A-2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態のトラフィック分析装置10の動作(実施形態に係るトラフィック分析方法)を説明する。
(A-2) Operation of First Embodiment Next, the operation (traffic analysis method according to the embodiment) of the
図9は、トラフィック分析装置10が学習モードで動作中にトラフィックデータを受信した場合の動作の一例について示したフローチャートである。
FIG. 9 is a flowchart showing an example of the operation when the
トラフィック分析装置10では、ネットワークスイッチ20から供給されたトラフィックデータ収集部102は、新たにトラフィックデータをキャプチャすると(S501)、キャプチャ内容を解析しIPパケットに整形して処理部101に通知する。
In the
次に、処理部101は、学習モードが開始されてから定常通信パターンを学習するのに必要な期間(以下、「定常学習期間」が終了したかを確認する(S502)。例えば、処理部101は、トラフィックデータの収集を開始(学習モードの動作を開始)してから一定期間経過したときに定常学習期間が終了したものと判断するようにしてもよいし、トラフィックデータが一定量蓄積されたとき(例えば、IPパケットが一定数蓄積されたとき)に定常学習期間が終了したものと判断するようにしてもよい。トラフィック分析装置10は、定常学習期間が終了した場合は後述するステップS506に移行し、定常学習期間内の場合は後述するステップS503から動作する。
Next, the
定常学習期間内の場合、処理部101は、記憶部108が保持しているベンダ情報を確認し、最新に受信したトラフィックデータに係るIoT機器30のベンダ情報が存在するか確認し(S503)、当該IoT機器30のベンダ情報が保持されていなかった場合は、ベンダ情報判定部106にトラフィックデータを通知し、ベンダ情報の判定を要求して取得する(S504)。このとき、ベンダ情報判定部106は、受信したトラフィックデータからMACアドレスを抽出し、抽出したMACアドレス(MACアドレスを構成するOUI)に基づいてベンダ情報を取得する。ベンダ情報判定部106は、取得したベンダ情報を処理部101に通知する。このとき、処理部101は、ベンダ情報判定部106が受信したベンダ情報を記憶部108に記憶させる。
If it is within the steady learning period, the
次に、トラフィック分析装置10(処理部101)は、受信したトラフィックデータを保存し(S505)、上述のステップS501に戻って動作する。 Next, the traffic analysis device 10 (processing unit 101) saves the received traffic data (S505), and returns to step S501 to operate.
上述のステップS502で定常学習期間が終了したと判定された場合、処理部101は、定常学習期間に記憶部108に蓄積されたトラフィックデータを取得し、機器種類判定部105に機器種類判定モデルの構築を要求する(S506)。
If it is determined in step S502 that the steady learning period has ended, the
機器種類判定部105は、外部(例えばトラフィック分析装置の管理者)から機器と機器種類との対応情報を取得(例えば対応情報を入力するインタフェースをトラフィック分析装置が持ちそこに管理者が入力する)する。機器種類判定部105は、トラフィックデータを特徴量に変換し、機器と機器種類との対応情報をもとに教師ラベル付け行い、教師あり機械学習器で機器種類判定モデルを構築する。この時、未知の機器種類のクラスを設け、いずれの機器種類にも類似しない通信パターンが未知の機器種類クラスに分類されるようにする。機器種類判定部105は、構築した機器種類判定モデルを処理部101に通知する。処理部101は、記憶部108に受信した機器種類判定モデルの保存を要求して記憶させる。また、処理部101は、定常通信パターン学習部103に、トラフィックデータと監視対象機器の機器種類情報を通知し、機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル及び機器固有非定常通信検知モデルの構築を要求する。定常通信パターン学習部103は、各種非定常通信検知モデルを構築し、構築した非定常通信検知モデルを記憶部108に通知して記憶させる(S507)。
The device
次に、処理部101は、運用モードに移行する(S508)。
Next, the
図10は、トラフィック分析装置10が運用モードで動作中にトラフィックデータを受信した場合の動作の一例について示したフローチャートである。
FIG. 10 is a flow chart showing an example of the operation when the
ここでは、トラフィック分析装置10が運用モードで動作中に、監視対象ネットワークN1(ネットワークスイッチ20)のトラフィックデータをキャプチャしたものとして説明する。
Here, it is assumed that the traffic data of the monitored network N1 (network switch 20) is captured while the
このとき、トラフィックデータ収集部102は、トラフィックデータをキャプチャすると、キャプチャ内容を解析しIPパケットに整形して処理部101に通知する(S601)。以下では、当該トラフィックデータに係るIoT機器30を注目機器と呼ぶものとする。
At this time, when the traffic
処理部101は、記憶部108に記憶されている機器種類情報(現時点において管理されている各IoT機器30の機器種類情報)を取得し、注目機器が機器種類判定済みであるか否か(注目機器の機器種類情報が記憶部108に保持されているか否か)を確認する(S602)。
The
注目機器が機器種類判定済でない場合、処理部101は、機器種類判定部105に、トラフィックデータと機器種類判定モデルを通知し、注目機器の機器種類の判定を要求する。そして、機器種類判定部105は、受信したトラフィックデータから特徴量を生成し機器種類判定モデルに適用して、判定結果を処理部101に返答する。そして、処理部101は、機器種類判定部105の判定結果に基づく機器種類情報(注目機器と機器種類の識別子を対応付けた情報)を記憶部108に記憶させる(S603)。このとき、処理部101は、機器種類判定モデルで未知の機器である確率がある一定値以上であれば、未知の機器種類(機器種類別非定常通信検知モデルで未学習の機器種類)として処理部101に通知し、それ以外の場合判定された機器種類を処理部101に通知するようにしてもよい。
If the device type of the device of interest has not been determined, the
次に、処理部101は、注目機器の機器種類について機器種類別非定常通信検知モデルが存在するか否か(記憶部108に記憶されているか否か)を確認し(S604)、存在する場合後述するステップS605に移行し、そうでない場合は、未学習の機器種類のIoT機器30が接続されたとみなし、学習を開始するため、ステップS610へ移行(混在モードへ移行)する。
Next, the
次に、処理部101は、記憶部108に記憶されているベンダ情報(現時点において管理されている各IoT機器30のベンダ情報)を取得し、注目機器がベンダ判定済みであるか否か(注目機器のベンダ情報が記憶部108に保持されているか否か)を確認する(S605)。
Next, the
注目機器がベンダ判定済でない場合、処理部101は、ベンダ情報判定部106に、トラフィックデータ(MACアドレスの情報が付加されたトラフィックデータ)を通知し、注目機器のベンダの判定を要求する。ベンダ情報判定部106は、受信したトラフィックデータからMACアドレスを抽出しインターネットから、当該MACアドレスのベンダコードに対応するベンダの識別子(例えば、ベンダ名)を取得する。ベンダ情報判定部106は、取得したベンダの識別子を処理部101に通知する。そして、処理部101は、ベンダ情報判定部106の判定結果に基づくベンダ情報を記憶部108に記憶させる(S606)。
If the device of interest has not been determined as a vendor, the
次に、処理部101は、注目機器のベンダについてベンダ別非定常通信検知モデルが存在するか否か(記憶部108に記憶されているか否か)を判断し(S607)、存在する場合後述するステップS605に移行し、そうでない場合は、未学習のベンダのIoT機器30が接続されたとみなして学習を開始するため、ステップS610へ移行(混在モードへ移行)する。
Next, the
次に、処理部101は、注目機器に対応する機器種類別非定常通信検知モデルとベンダ別非定常通信検知モデル、及び機器固有非定常通信検知モデルを記憶部108から取得し、非定常通信状態判定部104に非定常通信状態判定(異常判定)を要求する。非定常通信状態判定部104は、受信したトラフィックデータと各種非定常通信検知モデルを用いて非定常通信状態判定処理(異常判定処理;上述の図8のフローチャートの処理)を行う。非定常通信状態判定部104は、非定常通信状態判定処理の結果を処理部101に通知する(S608)。
Next, the
処理部101は、非定常通信状態判定処理(異常判定処理)の結果を確認し(S609)、注目機器について非定常通信状態(異常状態)でないという判定結果されなかった場合、処理(トラフィックデータ受信に伴う注目機器に関する一連の処理)を終了する(S612)。
The
一方、注目機器について非定常通信状態(異常状態)と判定された場合、処理部101は、通信制御部107に注目機器の通信の遮断を要求する。通信制御部107は、注目機器の通信を遮断する制御情報をゲートウェイ40(ファイアウォール)に対して送信し、当該機器の通信を遮断し(S613)、処理(トラフィックデータ受信に伴う注目機器に関する一連の処理)を終了する。
On the other hand, when the device of interest is determined to be in an unsteady communication state (abnormal state), the
図11は、トラフィック分析装置10が混在モードで動作中にトラフィックデータを受信した場合の動作の一例について示したフローチャートである。
FIG. 11 is a flow chart showing an example of the operation when the
ここでは、トラフィック分析装置10が混在モードで動作中に、監視対象ネットワークN1(ネットワークスイッチ20)のトラフィックデータをキャプチャしたものとして説明する。
Here, it is assumed that the traffic data of the monitored network N1 (network switch 20) is captured while the
このとき、トラフィックデータ収集部102は、まず、キャプチャしたトラフィックデータの内容を解析しIPパケットに整形して処理部101に通知する(S701)。
At this time, the traffic
処理部101は、記憶部108に記憶されている機器種類情報を取得し、注目機器が機器種類判定済みであるか否かを確認する(S702)。注目機器が機器種類判定済でない場合、処理部101は、機器種類判定部105に、トラフィックデータと機器種類判定モデルを通知し、注目機器の機器種類の判定を要求して、判定結果を得て、判定結果に基づく注目機器の機器種類情報を記憶部108に記憶させる(S703)。
The
次に、処理部101は、注目機器の機器種類に対応する機器種類別非定常通信検知モデルが存在するか否か(学習済であるか否か)を確認し(S704)、存在する場合後述するステップS705に移行し、そうでない場合は、未学習の機器種類のIoT機器30が接続されたとみなし、後述するステップS714へ移行して学習処理(注目機器の機器種類に対応する機器種類別非定常通信検知モデルの構築)を開始/継続する。
Next, the
次に、処理部101は、記憶部108に記憶されているベンダ情報を取得し、注目機器がベンダ情報判定済みであるか否か(注目機器のベンダ情報が記憶部108に保持されているか否か)を確認する(S705)。
Next, the
注目機器がベンダ判定済でない場合、処理部101は、ベンダ情報判定部106に注目機器のベンダの判定を要求して判定結果を取得し、判定結果に基づくベンダ情報を記憶部108に記憶させる(S706)。
If the device of interest has not been determined as a vendor, the
次に、処理部101は、注目機器に対応するベンダ別非定常通信検知モデルが存在するか否か(学習済であるか否か)を確認し(S707)、存在する場合は後述するステップS708に移行し、そうでない場合は、未学習のベンダのIoT機器30が接続されたとみなし、後述するステップS716へ移行して、学習処理(注目機器のベンダに対応するベンダ別非定常通信検知モデルの構築)を開始/継続する。
Next, the
次に、処理部101は、注目機器に対応する非定常通信状態(異常状態)の判定を要求して判定結果を取得して記憶部108に通知して記憶させ(S708)る。非定常通信状態と判定された場合、後述するステップS710の処理に移行する。一方、注目機器について非定常通信状態(異常状態)と判定されなかった場合、処理部101は、後述するステップS711の処理に移行する。
Next, the
なお、ステップS701~S710の処理自体は、運用モードの処理とほぼ同様であるため詳しい説明は省略する。 Note that the processing itself of steps S701 to S710 is almost the same as the processing in the operation mode, so a detailed description will be omitted.
注目機器について非定常通信状態(異常状態)と判定されなかった場合、処理部101は、通信制御部107に当該トラフィックデータに係るIoT機器30の通信の遮断を要求して、当該機器の通信を遮断させる(S710)。
If the device of interest is not determined to be in an irregular communication state (abnormal state), the
上述のステップS704で、注目機器の機器種類に係る機器種類別非定常通信検知モデルが存在しない場合、処理部101は、当該機器種類の定常通信パターンの学習期間が終了したか確認し(S714)、学習期間が終了していた場合には後述するステップS715に移行し、そうでない場合には後述するステップS718に移行して、取得したトラフィックデータを記憶部108に記憶させて処理(当該トラフィックデータの受信をトリガとする一連の処理)を終了する。
In step S704 described above, if there is no non-stationary communication detection model by device type related to the device type of the device of interest, the
一方、学習期間が終了していた場合、処理部101は、記憶部108から蓄積された当該機器種類のトラフィックデータを取得して、定常通信パターン学習部103に当該機器種類の機器種類別非定常通信検知モデルの構築をさせて取得し、取得した機器種類別非定常通信検知モデルを記憶部108に記憶させ(S715)、上述のステップS705の処理に移行する。このとき、定常通信パターン学習部103は、機器種類別非定常通信検知モデルの構築対象となるIoT機器30のトラフィックデータについて所定の学習期間分収集して上述の図3のフローチャートの処理に適用することで、当該IoT機器30の機器種類に対応する機器種類別非定常通信検知モデルを得るようにしてもよい。また、このとき、定常通信パターン学習部103は、ベンダ別非定常通信検知モデルを構築するためのグルーピングの処理(図5のステップS201~ステップS204)を行った上で、図7のフローチャートの処理により当該IoT機器30に対応する機器固有非定常通信検知モデルを構築するようにしてもよい。
On the other hand, when the learning period has ended, the
上述のステップS707で、注目機器のベンダに係るベンダ別非定常通信検知モデルが存在しない場合、処理部101は、当該ベンダの定常通信パターンの学習期間が終了したか確認し(S716)、学習期間が終了していた場合には後述するステップS717に移行し、そうでない場合には後述するステップS718に移行して、取得したトラフィックデータを記憶部108に記憶させて処理(当該トラフィックデータの受信をトリガとする一連の処理)を終了する。
In step S707 described above, if there is no vendor-specific non-stationary communication detection model related to the vendor of the device of interest, the
一方、学習期間が終了していた場合、処理部101は、記憶部108から蓄積された当該ベンダのトラフィックデータを取得して、定常通信パターン学習部103に当該ベンダのベンダ別非定常通信検知モデルの構築をさせて取得し、取得したベンダ別非定常通信検知モデルを記憶部108に記憶させ(S717)、上述のステップS708の処理に移行する。このとき、定常通信パターン学習部103は、ベンダ別非定常通信検知モデルの構築対象となるIoT機器30のトラフィックデータについて所定の学習期間分収集して上述の図5のフローチャートの処理に適用することで、当該IoT機器30のベンダに対応するベンダ別非定常通信検知モデルを得るようにしてもよい。この場合、定常通信パターン学習部103は、ステップS201の処理において、混在モードの学習期間中に取得した全てのトラフィックデータからフローを抽出するようにしてもよいし、図3のフローチャートのステップS101~S104の処理を実行してステップS104で抽出されなかったトラフィックデータを取得してから図5のフローチャートの処理を実行するようにしてもよい。また、このとき、定常通信パターン学習部103は、図7のフローチャートの処理により当該IoT機器30に対応する機器固有非定常通信検知モデルを構築するようにしてもよい。
On the other hand, if the learning period has ended, the
処理部101は、上述のステップS710の次に、現在の状態(混在モードの状態)で、いずれかの非定常通信検知モデルを構築するために学習期間中の機器種類またはベンダが存在するか否かを確認し(S711)、学習期間中の機器種類またはベンダが存在する場合運用モードに移行し、そうでない場合処理(当該トラフィックデータの受信をトリガとする一連の処理)を終了する。
Next to step S710 described above, the
(A-3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of First Embodiment According to the first embodiment, the following effects can be obtained.
第1の実施形態のトラフィック分析装置10では、IoT機器30の属性に応じた非定常通信検知モデルを構築し、非定常通信検知モデルを用いて各IoT機器30の非定常通信状態(異常状態)を判定する。また、この実施形態の第1の実施形態のトラフィック分析装置10では、非定常通信検知モデルとして、機器種類別非定常通信検知モデル(機器種類毎にその機器種類が持つ主機能の定常通信パターンを学習したモデル)、ベンダ別非定常通信検知モデル(ベンダ毎にベンダ特有の制御通信等の定常通信パターンを学習したモデル)、及び機器固有非定常通信検知モデル(上記以外の通信パターンを学習した機器固有非定常通信検知モデル)が採用されている。これにより、第1の実施形態のトラフィック分析装置10では、当初の定常通信の学習期間に存在しなかったIoT機器30が監視対象ネットワークN1に接続された場合でも、機器種類毎/ベンダ毎に非定常通信検知モデルを用いて非定常通信状態(異常状態)の判定が可能であるため、当該IoT機器30に関する学習処理を要せずに、他のIoT機器30と同様に学習済の非定常通信検知モデルを用いた非定常通信の判定処理が可能となる。
In the
また、機器種類別非定常通信検知モデルではIoT機器30の主機能に関する定常通信パターンからの逸脱が判定可能であり、ベンダ別非定常通信検知モデルではベンダ特有の定常通信パターンからの逸脱が判定可能である。そのため、トラフィック分析装置10では、あるIoT機器30の全ての通信を用いて一つの非定常通信検知モデルを構築する場合に比べて、異常検知精度を高めることができる。
In addition, the non-stationary communication detection model by device type can determine deviation from the regular communication pattern related to the main function of the IoT device 30, and the non-stationary communication detection model by vendor can determine deviation from the vendor-specific steady communication pattern. is. Therefore, the
さらに、トラフィック分析装置10では、非定常通信の判定処理の最後に機器固有非定常通信検知モデルを適用することにより、機器固有の正常な通信パターンとそれ以外の異常な通信パターンとを分別することができるため、より判定精度を高めることができる。
Furthermore, in the
(B)第2の実施形態
以下、本発明によるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法の第2の実施形態を、図面を参照しながら詳述する。
(B) Second Embodiment Hereinafter, a second embodiment of the traffic analysis device, traffic analysis program and traffic analysis method according to the present invention will be described in detail with reference to the drawings.
(B-1)第2の実施形態の構成
第2の実施形態に関係する各装置の接続関係についても、図2を用いて示すことができる。図2において末尾がAの符号は、第2の実施形態においてのみ用いられる符号である。
(B-1) Configuration of Second Embodiment The connection relationship of each device related to the second embodiment can also be shown using FIG. Codes ending in A in FIG. 2 are codes used only in the second embodiment.
第2の実施形態においては、トラフィック分析装置10がトラフィック分析装置10Aに置き換えられている。
In the second embodiment, the
図12は、第2の実施形態のトラフィック分析装置10Aの機能的構成について示したブロック図である。
FIG. 12 is a block diagram showing the functional configuration of the
図12では、上述の図1と同一部分または対応部分には同一又は対応する符号が付されている。以下では、第2の実施形態について第1の実施形態との差異を中心として説明する。 In FIG. 12, the same or corresponding reference numerals are given to the same or corresponding parts as in FIG. The second embodiment will be described below, focusing on the differences from the first embodiment.
トラフィック分析装置10Aでは、処理部101と定常通信パターン学習部103が、処理部101Aと定常通信パターン学習部103Aに置き換わり、さらにフィードバック部109が追加されている点で第1の実施形態と異なっている。
フィードバック部109は、非定常通信状態判定部104による判定結果を、オペレータOPが使用するオペレータ端末TEに供給すると共に、判定結果に対するフィードバック情報(例えば、誤った判定結果に対するフィードバック情報)の入力受付を行う。
The
フィードバック部109が、オペレータ端末TEとの間で情報を入出力する際の形式については限定されないものであるが、例えば、操作画面(GUI画面;Web画面;Webコンテンツ)の形式でオペレータ端末TEに判定結果を提示すると共にフィードバック情報の入力を受け付けるようにしても良い。ここでは、フィードバック部109が、オペレータ端末TEに判定結果を提示すると共にフィードバック情報の入力を受け付ける際の操作画面を「フィードバック入力受付画面」と呼ぶものとする。
The format in which the
第2の実施形態のトラフィック分析装置10Aでは、異常検知された通信パターンについてオペレータ端末TEを介してオペレータOPに提示されるため、オペレータOPにより、当該通信パターンが真に異常か否かが判断される。そして、トラフィック分析装置10Aでは、オペレータOPから誤検知(非定常通信ではない通信パターンについて非定常通信状態とした判定結果)についてフィードバック情報の入力を受け付けることができる。以下では、オペレータ端末TEから供給された誤検知を示すフィードバック情報を「誤検知フィードバック」と呼ぶものとする。
In the
図13、図14は、フィードバック入力受付画面の構成例について示した図である。 13 and 14 are diagrams showing configuration examples of feedback input acceptance screens.
図13では、フィードバック部109において判定結果(非定常通信状態判定部104の判定結果)に基づくイベントの情報を表示するフィールドF101について示している。
FIG. 13 shows a field F101 for displaying event information based on the determination result (determination result of the unsteady communication state determination unit 104) in the
フィールドF101には、判定結果ごとにイベント(アラート)として表示するサブフィールドSFが配置されている。図13に示すフィールドF101には、上から時系列順にサブフィールドSF111、SF112、・・・が表示されている。 The field F101 has a subfield SF that displays an event (alert) for each determination result. In the field F101 shown in FIG. 13, subfields SF111, SF112, . . . are displayed in chronological order from the top.
図13に示す各サブフィールドには、当該イベントの名称を示す「イベント名」、当該イベントに係るIoT機器30を示す「機器情報」(ここではIPアドレスで表示しているがホスト名等他の表示形式でも良い)、当該イベントの「発生時刻」、及び当該イベントに係るログ情報の表示を受け付けるための詳細確認ボタンB101が配置されている。 Each subfield shown in FIG. 13 includes an “event name” indicating the name of the event, and “device information” indicating the IoT device 30 related to the event (the IP address is displayed here, but other information such as the host name is displayed). display format), the “occurrence time” of the event, and a detailed confirmation button B101 for receiving the display of the log information related to the event.
例えば、図13に示すサブフィールドSF111には、イベント名として「非定常通信常置検知」(非定常通信状態(異常状態)を検知したことを示すイベント名)、機器情報として、IoT機器30-1のIPアドレスを示す「xxx.xxx.xxx.xxx」、発生時刻として「14:50」と、当該イベント(異常)の検知に用いられたトラフィックデータの詳細(各IPパケットを示す情報)の表示を受け付けるための詳細確認ボタンB101が配置されている。 For example, in the subfield SF111 shown in FIG. 13, the event name is "non-stationary communication permanent detection" (event name indicating detection of non-stationary communication state (abnormal state)), and the device information is the IoT device 30-1. "xxx.xxx.xxx.xxx" indicating the IP address of the event, "14:50" as the time of occurrence, and the details of the traffic data (information indicating each IP packet) used to detect the event (abnormality). A detailed confirmation button B101 for accepting the is arranged.
この状態で、サブフィールドSF111の詳細確認ボタンB101が押下されると、フィードバック部109は、フィードバック入力受付画面で図14のフィールドF201を表示(例えば、ポップアップ表示)する。フィールドF201には、当該イベント(異常)の検知に用いられたトラフィックデータの詳細(各IPパケットを示す情報)を表示するためのサブフィールドSF201と、当該イベントについて誤検知フィードバックを受け付けるためのボタンB201が配置されている。図14の状態で、フィールドF201のボタンB201が押下されると、フィードバック部109は、当該イベントに係る判定結果について誤検知フィードバックがあったことを処理部101に通知する。フィードバック部109はサブフィールドSF201(トラフィックデータの詳細)を表示する際、処理部101Aを介して記憶部108から対応するトラフィックデータを取得する。
In this state, when the detail confirmation button B101 of the subfield SF111 is pressed, the
以上のように、フィードバック部109では、例えば、図13、図14に示すような構成のフィードバック入力受付画面で、誤検知フィードバックの受付を行う。
As described above, the
処理部101Aは、フィードバック部109から誤検知フィードバックの通知を受けると、定常通信パターン学習部103Aに、機器固有非定常通信検知モデルと誤検知フィードバックされた通信パターンを通知し、機器固有非定常通信検知モデルの再学習を要求する。
Upon receiving the false detection feedback notification from the
定常通信パターン学習部103Aは、第1の実施形態に加え、処理部101から機器固有非定常通信検知モデルの再学習要求を受けると、逐次学習処理によって機器固有非定常通信検知モデルに誤検知フィードバックされた通信パターンを適用(誤検知フィードバックの内容を考慮)し、各非定常通信検知モデルを再構築する。定常通信パターン学習部103Aは、再構築した各機器固有非定常通信検知モデルを処理部101に通知する。
In addition to the first embodiment, the steady communication pattern learning unit 103A, when receiving a re-learning request for the device-specific non-steady communication detection model from the
これにより、トラフィック分析装置10Aでは、誤検知フィードバックされた通信パターンについて、以後の異常判定において異常検知されないように考慮して、当該通信パターンを正常通信パターンとして機械学習器で学習することができる。トラフィック分析装置10Aでは、この機械学習器として、逐次学習型の機械学習器(データが入力する度に内部パラメータを更新してモデルが再構築される機械学習器)を用いるようにしてもよい。この逐次学習型の機械学習器は、第2の実施形態の定常通信パターン学習部103Aにおいて、各機器固有非定常通信検知モデルの構築に用いられる。
As a result, in the
(B-2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態におけるトラフィック分析装置10Aの動作(実施形態に係るトラフィック分析方法)を説明する。ここでは、トラフィック分析装置10Aの動作のうち第1の実施形態との差異についてのみ説明する。
(B-2) Operation of Second Embodiment Next, the operation of the
ここでは、第2の実施形態におけるトラフィック分析装置10Aが運用モードあるいは混在モードで動作している時に、オペレータ端末TE(オペレータOP)から誤検知フィードバックを受信した時の動作を説明する。
Here, the operation when receiving false detection feedback from the operator terminal TE (operator OP) while the
ここでは、処理部101Aは、非定常通信状態判定部104から異常状態(非定常通信状態)のIoT機器30を検知したという判定結果を得た場合、フィードバック部109を制御して、オペレータ端末TEに提示するフィードバック入力受付画面(例えば、図13、図14のような操作画面)に当該判定結果の内容を追加表示させ、誤検知フィードバックの入力受付可能な状態とする。
Here, when the processing unit 101A obtains a determination result indicating that the IoT device 30 in an abnormal state (unsteady communication state) has been detected from the non-steady communication
ここでは、オペレータ端末TEにおいて、オペレータOPにより、図13に示すサブフィールドSF111(IoT機器30ー1に係る異常検知イベントを示すサブフィールド)の詳細確認ボタンB101が押下され、その後図14に示すフィールドF201においてボタンB201が押下されたものとする。これにより、フィードバック部109では、IoT機器30ー1に係る異常判定の結果について誤検知フィードバックを受け付けることができる。
Here, in the operator terminal TE, the operator OP presses the details confirmation button B101 of the subfield SF111 (subfield indicating an abnormality detection event related to the IoT device 30-1) shown in FIG. 13, and then the field shown in FIG. Assume that the button B201 is pressed in F201. As a result, the
フィードバック部109は、オペレータ端末TEから誤検知フィードバックの入力を受け付けると、誤検知フィードバックされたトラフィックデータを処理部101に通知する。処理部101は、記憶部108から機器固有非定常通信検知モデルを取得し、誤検知フィードバックされたトラフィックデータとともに定常通信パターン学習部103Aに通知し、各非常通信検知モデル(機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル、及び機器固有非定常通信検知モデル)の再学習(誤検知フィードバックの内容を考慮した再学習処理)を要求する。
The
定常通信パターン学習部103Aは、誤検知フィードバックされたトラフィックデータを逐次学習処理で各非定常通信検知モデルを再構築する。定常通信パターン学習部103Aは、再構築した各非定常通信検知モデルを処理部101に通知する。処理部101は、再構築された各非定常通信検知モデルを記憶部108に保存する。
The steady-state communication pattern learning unit 103A reconstructs each non-steady-state communication detection model by successively learning the traffic data fed back as false detection. The regular communication pattern learning unit 103A notifies the
(B-3)第2の実施形態の効果
この実施形態によれば、第1の実施形態の効果に加えて以下のような効果を奏することができる。
(B-3) Effects of Second Embodiment According to this embodiment, the following effects can be obtained in addition to the effects of the first embodiment.
第2の実施形態におけるトラフィック分析装置10Aは、運用者から異常検知結果の誤検知フィードバック機能を有し、誤検知フィードバックされた通信パターンを正常な通信として再学習するために、各非定常通信検知モデルを逐次学習型の機械学習器で構築し、誤検知フィードバックの際には、誤検知フィードバックされた通信パターンを当該機械学習器に適用しモデルを再構築する。これにより、第2の実施形態におけるトラフィック分析装置10Aでは、例えば新規接続されたIoT機器30の固有通信パターンを異常と誤検知してしまう場合にも、誤検知フィードバックによって即座に定常通信モデルに適用されるため、誤検知が継続するのを抑制することができる。
The
(C)第3の実施形態
以下、本発明によるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法の第3の実施形態を、図面を参照しながら詳述する。
(C) Third Embodiment Hereinafter, a third embodiment of the traffic analysis device, traffic analysis program and traffic analysis method according to the present invention will be described in detail with reference to the drawings.
第3の実施形態に関係する各装置の接続関係についても、図2を用いて示すことができる。図2において末尾がBの符号は、第3の実施形態においてのみ用いられる符号である。 The connection relationship of each device related to the third embodiment can also be shown using FIG. Codes ending in B in FIG. 2 are codes used only in the third embodiment.
第3の実施形態においては、トラフィック分析装置10がトラフィック分析装置10Bに置き換えられている。
In the third embodiment,
図15は、第3の実施形態のトラフィック分析装置10Bの機能的構成について示したブロック図である。図15では、上述の図1と同一部分または対応部分には同一又は対応する符号が付されている。以下では、第1の実施形態について第1の実施形態との差異を中心として説明する。
FIG. 15 is a block diagram showing the functional configuration of the
トラフィック分析装置10Bでは、処理部101が、処理部101Bに置き換わり、さらに定常通信パターン学習部103が除外されている点で第1の実施形態と異なっている。
The
上記の各実施形態では、トラフィック分析装置10、10Aは、定常通信パターン学習部103を有していたが、これに限定されるものではない。例えば、トラフィック分析装置10Bのように、定常通信パターン学習部103を持たない構成としてもよい。
In each of the above embodiments, the
トラフィック分析装置10Bでは、各非定常通信検知モデル(機器種類別非定常通信検知モデル、ベンダ別非定常通信検知モデル、機器固有非定常通信検知モデル)について、外部装置(例えば、外部の図示しないクラウドサーバ)から取得して、非定常通信状態判定部104にセットし、判定処理を行うようにしてもよい。
In the
このとき、トラフィック分析装置10Bでは、定常通信パターン学習部103の処理を外部装置(例えば、外部の図示しないクラウドサーバ)に依頼して実行させるようにしてもよい。このように、複数のエッジネットワーク(監視対象ネットワーク)に係るトラフィック分析装置10Bからトラフィックデータを収集して学習処理を行うクラウドシステムでは、複数のエッジネットワーク(監視対象ネットワーク)に係るトラフィック分析装置10Bからトラフィックデータを集約して学習することで、より多くのデータを用いて非定常通信検知モデルを構築できるため、検知精度を高めることができる。
At this time, the
また、機械学習は一般に学習に多くの計算資源が必要となるため、第3の実施形態では、上記のような構成とすることで、トラフィック分析装置10Bの動作に必要な計算資源を抑えることができる。
In addition, since machine learning generally requires a large amount of computational resources for learning, in the third embodiment, with the configuration described above, it is possible to reduce the computational resources required for the operation of the
(D)第4の実施形態
以下、本発明によるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法の第4の実施形態を、図面を参照しながら詳述する。
(D) Fourth Embodiment Hereinafter, a fourth embodiment of the traffic analysis device, traffic analysis program and traffic analysis method according to the present invention will be described in detail with reference to the drawings.
第4の実施形態に関係する各装置の接続関係についても、図2を用いて示すことができる。図2において末尾がCの符号は、第4の実施形態においてのみ用いられる符号である。 The connection relationship of each device related to the fourth embodiment can also be shown using FIG. Codes ending in C in FIG. 2 are codes used only in the fourth embodiment.
第4の実施形態においては、トラフィック分析装置10がトラフィック分析装置10Cに置き換えられている。
In the fourth embodiment, the
図16は、第4の実施形態のトラフィック分析装置10Cの機能的構成について示したブロック図である。図16では、上述の図1と同一部分または対応部分には同一又は対応する符号が付されている。以下では、第1の実施形態について第1の実施形態との差異を中心として説明する。
FIG. 16 is a block diagram showing the functional configuration of the
トラフィック分析装置10Cでは、処理部101と非定常通信状態判定部104が、処理部101Cと非定常通信状態判定部104に置き換わり、さらにベンダ情報判定部106が除外されている点で第1の実施形態と異なっている。
In the
第3の実施形態のトラフィック分析装置10Cの非定常通信状態判定部104Cでは、ベンダ別非定常通信検知モデルによる異常判定処理を省略する点で第1の実施形態と異なっている。つまり、第3の実施形態のトラフィック分析装置10Cの非定常通信状態判定部104Cでは、機器種類別非定常通信検知モデルで異常判定し、異常検知されたトラフィックデータを機器固有非定常通信検知モデルで異常判定することで異常判定を行う。つまり、第3の実施形態の処理部101Cでは、ベンダ別非定常通信検知モデルに係る処理について一切行わない点で第1の実施形態と異なっている。
The non-stationary communication
第3の実施形態のトラフィック分析装置10Cでは、ベンダ別非定常通信検知モデルの適用を除くことで、定常通信パターンの学習、および異常判定にかかる時間を短縮することができる。
In the
(E)第5の実施形態
以下、本発明によるトラフィック分析装置、トラフィック分析プログラム及びトラフィック分析方法の第5の実施形態を、図面を参照しながら詳述する。
(E) Fifth Embodiment Hereinafter, a fifth embodiment of the traffic analysis device, traffic analysis program and traffic analysis method according to the present invention will be described in detail with reference to the drawings.
第5の実施形態に関係する各装置の接続関係についても、図2を用いて示すことができる。図2において末尾がDの符号は、第5の実施形態においてのみ用いられる符号である。 The connection relationship of each device related to the fifth embodiment can also be shown using FIG. Codes ending in D in FIG. 2 are codes used only in the fifth embodiment.
第5の実施形態においては、トラフィック分析装置10がトラフィック分析装置10Dに置き換えられている。
In the fifth embodiment,
図17は、第5の実施形態のトラフィック分析装置10Dの機能的構成について示したブロック図である。図17では、上述の図1と同一部分または対応部分には同一又は対応する符号が付されている。以下では、第1の実施形態について第1の実施形態との差異を中心として説明する。
FIG. 17 is a block diagram showing the functional configuration of the
トラフィック分析装置10Dでは、定常通信パターン学習部103が、定常通信パターン学習部103Dに置き換わっている点で第1の実施形態と異なっている。
The
第1の実施形態のトラフィック分析装置10では、学習対象のフローを抽出する際、クラスタリングにより同一機器種類または同一ベンダの機器全てのいずれかのフローが属するグループ等を各種非定常通信検知モデル構築の学習データ対象としたが、これに限定されるものではない。この実施形態の、トラフィック分析装置10Dの定常通信パターン学習部103Dでは、学習モードで取得された全体のフロー数に対して、機器固有非定常通信検知モデルとベンダ別非定常通信検知モデルの構築で使用するフロー数の割合をパラメータで設定しておき、その割合を満たすように学習に使用するグループを抽出するものとする。
In the
具体的には、この実施形態の定常通信パターン学習部103Dでは、あるグループにおいて含まれるフローに係るIoT機器30の機器種類を集計した場合に全ての対象機器種類に対して何割含まれているかを示すパラメータ(以下、「機器種類グループ所属率」と呼ぶ)と、グループにおいて含まれるフローに係るIoT機器30のベンダを集計した場合に最もフロー数の多いベンダの比率(グループ内の全フロー数に対する比率)を示すパラメータ(以下、「ベンダグループ所属率」と呼ぶ)を導入するものとする。例えば、あるグループにおいて含まれるフローに係るIoT機器30の機器種類を集計した際に、全ての対象機器が含まれていれば機器種類グループ所属率は100%であり、全ての対象機器のうち8割の対象機器が含まれていれば機器種類グループ所属率は80%となる。また、例えば、グループにおいて含まれるフローに係るIoT機器30のベンダを集計した際に、全てのフローに係るIoT機器30が同じベンダであった場合ベンダグループ所属率は100%であり、最も数の多いベンダのフロー数がグループ全体の8割であった場合ベンダグループ所属率は80%となる。
Specifically, in the regular communication
この実施形態の定常通信パターン学習部103Dは、機器種類別非定常通信検知モデルの学習に利用するグループを抽出する際に、グループごとに機器種類グループ所属率を算出し、機器種類グループ所属率が基準以上(以下、この基準を「基準機器種類グループ所属率」と呼ぶ)であった場合に当該グループを学習対象として抽出するものとする。また、この実施形態の定常通信パターン学習部103Dは、ベンダ別非定常通信検知モデルの学習に利用するグループを抽出する際に、グループごとにベンダグループ所属率を算出し、ベンダグループ所属率が基準以上(以下、この基準を「基準ベンダグループ所属率」と呼ぶ)であった場合に当該グループを学習対象として抽出するものとする。
The steady communication
この実施形態において、基準機器種類グループ所属率の初期値は100%であり、基準機器種類グループ所属率が100%の場合は、全ての対象機器種類のフローが含まれるグループについて学習に利用することを意味する。また、この実施形態において、基準ベンダグループ所属率の初期値は100%であり、基準ベンダグループ所属率が100%の場合は、全ての機器のベンダが同一となるグループについて学習に利用することを意味する。つまり、第1の実施形態において基準機器種類グループ所属率及び基準ベンダグループ所属率は100%で固定されていたが、この実施形態では基準機器種類グループ所属率及び基準ベンダグループ所属率は可変のパラメータとなっているものとする。 In this embodiment, the initial value of the reference device type group affiliation rate is 100%, and when the reference device type group affiliation rate is 100%, the groups that include flows of all target device types are used for learning. means In this embodiment, the initial value of the standard vendor group affiliation rate is 100%, and when the standard vendor group affiliation rate is 100%, it is recommended that a group in which all devices have the same vendor be used for learning. means. In other words, in the first embodiment, the reference device type group membership rate and the standard vendor group membership rate were fixed at 100%, but in this embodiment, the reference device type group membership rate and the standard vendor group membership rate are variable parameters. It is assumed that
さらに、この実施形態において、当初学習用に入力されたトラフィックデータの全てのフロー(以下、「全体フロー」と呼ぶ)に対して、機器種類別非定常通信検知モデル及びベンダ別非定常通信検知モデルの学習用に抽出されなかったフロー(以下、「未抽出フロー」と呼ぶ)の比率を「フロー未抽出率」と呼ぶものとする。例えば、全体フローが100で未抽出フローが10であれば、フロー未抽出率は10%となる。そして、この実施形態の定常通信パターン学習部103では、フロー未抽出率の目標値(以下、「目標フロー未抽出率」と呼ぶ)が設けられており、フロー未抽出率が目標フロー未抽出率より大きくなる場合、フロー未抽出率が目標フロー未抽出率以下となるまで、基準機器種類グループ所属率及び又は基準ベンダグループ所属率を下げる処理を行うものとする。ここで、定常通信パターン学習部103は、基準機器種類グループ所属率と基準ベンダグループ所属率を同時に下げる処理は行わず、基準機器種類グループ所属率と基準ベンダグループ所属率を交互に下げて、フロー未抽出率を確認する処理を行うものとする。ここでは、定常通信パターン学習部103は、繰り返し回数(フロー未抽出率を確認する処理の回数)が奇数回の場合は基準機器種類グループ所属率を低減(1度に5%低減)し、繰り返し回数(フロー未抽出率を確認する処理の回数)が偶数回の場合はベンダ別非定常通信検知モデルを低減(1度に5%低減)するものとして説明するものとするがこれに限定されるものではない。基準機器種類グループ所属率及び基準ベンダグループ所属率を一度に低減する幅は5%に限定されず他の値を適用するようにしてもよい。
Furthermore, in this embodiment, for all flows of traffic data initially input for learning (hereinafter referred to as "total flow"), the non-steady communication detection model by device type and the non-steady communication detection model by vendor The ratio of flows not extracted for learning (hereinafter referred to as "unextracted flows") shall be referred to as "flow unextracted rate". For example, if the total flow is 100 and the unextracted flow is 10, the flow unextracted rate is 10%. In the steady-state communication
ここでは、目標フロー未抽出率を達成するために基準ベンダグループ所属率を調整(減算)するためのパラメータをi(iは0~100の範囲で変動)とし、ベンダグループ所属率を調整(減算)するためのパラメータをj(jは0~100の範囲で変動)とする。つまり、機器種類グループ所属率は、「100-i[%]」であり、ベンダグループ所属率は、「100-j[%]」となる。したがって、iとjの初期値を0とすると、基準機器種類グループ所属率と基準ベンダグループ所属率の初期値が100%となる。目標フロー未抽出率については、例えば、1%としてもよい。 Here, the parameter for adjusting (subtracting) the reference vendor group belonging rate to achieve the target flow unextracted rate is i (i varies in the range of 0 to 100), and the vendor group belonging rate is adjusted (subtracted). ) is j (j varies in the range of 0 to 100). That is, the device type group belonging rate is "100-i [%]" and the vendor group belonging rate is "100-j [%]". Therefore, if the initial values of i and j are set to 0, the initial values of the reference device type group belonging rate and the reference vendor group belonging rate are 100%. The target flow unextracted rate may be, for example, 1%.
図18は、この実施形態の処理部101Dの学習モード時の動作について示したフローチャートである。 FIG. 18 is a flow chart showing the operation of the processing section 101D of this embodiment in the learning mode.
まず、定常通信パターン学習部103Dは、取得したトラフィックデータの通信フローを機器種類別に分割する(S801)。
First, the regular communication
次に、定常通信パターン学習部103Dは、クラスタリング(機器種類別のクラスタリング)でフローをグループ化した時の学習に利用するグループの抽出条件として、基準機器種類グループ所属率を「100-i[%]」に設定し(S802)、基準機器種類グループ所属率を満たすように、トラフィックデータから学習に利用するグループ(フローのグループ)を抽出する(S803)。
Next, the regular communication
次に、定常通信パターン学習部103Dは、ステップS801の処理で抽出されなかったフロー(機器種類別非定常通信検知モデルの構築に用いられなかったフロー)について、ベンダ毎にフローを分類する(S804)。
Next, the regular communication
次に、定常通信パターン学習部103Dは、クラスタリング(ベンダ別のクラスタリング)でフローをグループ化した時の学習に利用するグループの抽出条件として、基準ベンダグループ所属率を「100-j[%]」に設定し(S805)、基準ベンダグループ所属率を満たすように、トラフィックデータから学習に利用するグループ(フローのグループ)を抽出する(S806)。
Next, the regular communication
次に、定常通信パターン学習部103Dは、フロー未抽出率を計算し、目標フロー未抽出率以下であるか確認する(S807)。
Next, the regular communication
フロー未抽出率が目標フロー未抽出率以下の場合、定常通信パターン学習部103Dは、グループ化処理を完了する(S811)。そして、定常通信パターン学習部103Dは、最後にステップS801で抽出したグループのフローを用いて機器種類別非定常通信検知モデルを構築し、最後にステップS806で抽出したグループのフローを用いてベンダ別非定常通信検知モデルの構築を行うものとする。
If the flow unextracted rate is equal to or less than the target flow unextracted rate, the regular communication
フロー未抽出率が目標フロー未抽出率より大きい場合、定常通信パターン学習部103Dは、繰り返し回数が偶数か奇数か確認する(S808)。
If the flow non-extraction rate is greater than the target flow non-extraction rate, the steady communication
繰り返し回数が偶数だった場合、定常通信パターン学習部103Dは、基準機器種類グループ所属率を5%減算(iに5を加算;i=i+5)して(S809)、上述のステップS802に戻って動作する。一方、繰り返し回数が奇数だった場合、定常通信パターン学習部103Dは、基準ベンダグループ所属率を5%減算(jに5を加算;j=i+5)して(S810)、上述のステップS802に戻って動作する。なお、このとき、iとjの減算幅は5%に限定されないものである。
If the number of repetitions is an even number, the regular communication
以上のような処理により、定常通信パターン学習部103Dでは、機器固有非定常通信検知モデル及びベンダ別非定常通信検知モデルの学習難易度を調整することが可能になる。
With the above processing, the steady communication
なお、機器固有非定常通信検知モデル/ベンダ別非定常通信検知モデルで学習する通信パターンが多いほど、機器固有非定常通信検知モデル/ベンダ別非定常通信検知モデルにおける検知精度は低くなっていく。一方、機器固有非定常通信検知モデル/ベンダ別非定常通信検知モデルで学習する通信パターンが少ないほど、機器固有非定常通信検知モデル/ベンダ別非定常通信検知モデルにおける検知精度は高くなるが、機器種類別非定常通信検知モデル/ベンダ別非定常通信検知モデルの学習データが複雑化するため、これらのモデルの検知精度は低くなる。そのため、この実施形態では、この目標値を全体の検知精度を最大化するように調整(目標フロー未抽出率を達成するようにiとjを調整)することにより検知精度を高めることができる。 Note that the more communication patterns learned by the device-specific non-stationary communication detection model/vendor-specific non-stationary communication detection model, the lower the detection accuracy in the device-specific non-stationary communication detection model/vendor-specific non-stationary communication detection model. On the other hand, the fewer the communication patterns learned by the device-specific non-stationary communication detection model/vendor-specific non-stationary communication detection model, the higher the detection accuracy in the device-specific non-stationary communication detection model/vendor-specific non-stationary communication detection model. Since the learning data for the type-specific non-stationary communication detection model/vendor-specific non-stationary communication detection model becomes complicated, the detection accuracy of these models decreases. Therefore, in this embodiment, the detection accuracy can be improved by adjusting this target value to maximize the overall detection accuracy (i and j are adjusted to achieve the target flow unextracted rate).
なお、ここで、目標フロー未抽出率を0(機器固有非定常通信検知モデルで学習するフロー数がゼロ)になるように設定するようにしてもよい。これにより、機器種類別非定常通信検知モデルとベンダ別非定常通信検知モデルのみで異常判定することができるようになり、機器固有非定常通信検知モデルの学習と異常判定にかかる時間を短縮することができる。 Here, the target flow non-extraction rate may be set to 0 (the number of flows learned by the device-specific non-stationary communication detection model is 0). As a result, it becomes possible to detect anomalies using only the non-stationary communication detection model by device type and the non-stationary communication detection model by vendor, reducing the time required for learning the device-specific non-stationary communication detection model and for anomaly judgment. can be done.
(F)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(F) Other Embodiments The present invention is not limited to the above-described embodiments, and modified embodiments as exemplified below can also be mentioned.
(F-1)上記の各実施形態の機器種類判定部105における機器種類判定方法は、トラフィックデータを用いて教師あり機械学習により構築した判定モデルを利用したが、これに限定されるものではない。例えば、トラフィック分析装置10では、新たなIoT機器30が監視対象ネットワークN1に接続される度に、オペレータから手動で当該IoT機器30の機器種類情報(当該IoT機器30と機器種類との関係を示す情報)入力を受け付けるようにしてもよい。機器種類判定部105において、機械学習器で機器種類を判定する場合誤検知する可能性があるが、上記のように機器種類情報について手動で入力を受け付けることにより、機器種類を確実に認識することができる。
(F-1) The device type determination method in the device
(F-2)上記の各実施形態の機器種類判定部105における機器種類判定モデルは、未知の機器種類を含むいずれかの機器種類に分類する機械学習器を用いたが、これに限定されるものではない。例えば、機器種類判定部105において、機器種類毎にトラフィックデータを集約し、その機器種類であるか否かを出力する2値分類器を構築する方法が考えられる。この場合、機器種類判定部105では、各機器種類の2値分類器に順に適用していき機器種類を判定することになる。例えば、機器種類判定部105では、複数の機器種類の2値分類器で機器種類判定された場合(例えば2値分類器の出力として当該機器種類である確率値が出力される場合)は、最も値の大きい2値分類器の機器種類を判定結果とするようにしても良い。また、例えば、機器種類判定部105では、いずれの2値分類器でも確率値が一定値以下ならば、未知の機器種類と判定するようにしてもよい。機器種類判定部105では、上記の各実施形態で説明した判定方法を適用すると未知の機器種類を新たに学習する際に判定モデル全体の再構築が必要だったが、上記の変形例の判定方法では新しい機器種類のみの機械学習器を構築するだけでよいため、学習にかかる時間を短縮することができる。
(F-2) The device type determination model in the device
(F-3)上記の各実施形態では、機器固有非定常通信検知モデルとして、全てのIoT機器30の固有通信パターンのトラフィックデータをまとめて一つの検知モデルを構築したが、これに限定されるものではない。例えば、定常通信パターン学習部103では、IoT機器30毎に機器固有非定常通信検知モデルを構築する方法を適用するようにしてもよい。この場合、定常通信パターン学習部103では、運用モード中に新規接続されたIoT機器30について定常通信パターンの学習をする必要があるが、機器種類別非定常通信検知モデルとベンダ別非定常通信検知モデルで共通的な通信パターンは学習済みであるため、IoT機器30毎の機器固有非定常通信検知モデルの学習に必要な時間を短縮できる効果を保有した上で、検知精度も高めることができる。
(F-3) In each of the above embodiments, as a device-specific non-stationary communication detection model, traffic data of unique communication patterns of all IoT devices 30 are collected to build a single detection model, but the present invention is limited to this. not a thing For example, the regular communication
(F-4)第2の実施形態のトラフィック分析装置10Aでは、誤検知フィードバックされたトラフィックデータを逐次型機械学習により機器固有非定常通信検知モデルを再構築する方法を説明したが、これに限定されるものではない。例えば、トラフィック分析装置10Aにおいて、誤検知フィードバックされたトラフィックデータの特定のフィールド値をホワイトリストとして保持し、非定常通信状態判定部104で当該ホワイトリストに含まれるトラフィックデータを異常検知しないようにする方法が考えられる。この方法では、例えばオペレータOPが、管理画面(フィードバック入力受付画面)からトラフィックデータを確認し誤検知フィードバックする際に、宛先IPアドレスやTCPポート番号やペイロードの特定のワードというような単位で誤検知とみなした要因を通知することでホワイトリストを作成するようにしてもよい。フィードバック入力受付画面では、上記のようなホワイトリスト型の処理を適用することにより、誤検知フィードバックに係るトラフィックデータを以後確実に異常検知しないようにすることができる。また、第3の実施形態のトラフィック分析装置10Bのように、定常通信パターン学習部103を持たない構成でも、上記のようなホワイトリスト型の処理を適用することにより、誤検知フィードバックによる誤検知抑制を実行することができる。
(F-4) In the
(F-5)上記の各実施形態では、ベンダ情報判定部106においてベンダ情報を取得方法として、MACアドレスのベンダコード(OUI)をインターネットに問い合わせる方法を利用したが、これに限定されるものではない。例えば、ベンダ情報判定部106において、MACアドレスとベンダの組み合わせを予めトラフィック分析装置に格納しておき、格納した情報を参照する形でIoT機器30ごとのベンダ情報を取得しても良い。この方法では、トラフィック分析装置10がインターネットN2への接続をしなくてもベンダ情報を保持できるため、インターネット接続ができないクローズドな環境でも使用可能となる。
(F-5) In each of the above embodiments, the vendor
10…トラフィック分析装置、101…処理部、102…トラフィックデータ収集部、103…定常通信パターン学習部、104…非定常通信状態判定部、105…機器種類判定部、106…ベンダ情報判定部、107…通信制御部、108…記憶部、20…ネットワークスイッチ、40…ゲートウェイ、30(30ー1~30-N)…IoT機器、N1…監視対象ネットワーク、N2…インターネット。
10
Claims (11)
それぞれの前記通信機器の属性を認識する属性認識手段と、
前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う非定常通信判定手段と
を有することを特徴とするトラフィック分析装置。 Whether or not the communication device is in an unsteady communication state from the traffic data of the communication device using a learning model obtained by machine-learning traffic data patterns in a steady communication state for each attribute of the communication device connected to the target network. a non-stationary communication decision model holding means for holding a non-stationary communication decision model for determining
attribute recognition means for recognizing attributes of each of the communication devices;
non-steady communication determination means for performing non-steady communication determination processing for determining whether or not the communication device is in a non-steady communication state from traffic data of the communication device using the non-steady communication determination model. A traffic analysis device characterized by:
前記非定常通信判定手段は、少なくとも前記機器種類別非定常通信判定モデルを用いて前記非定常通信判定処理を行う
ことを特徴とする請求項2に記載のトラフィック分析装置。 The non-steady communication determination model holding means uses a learning model obtained by machine-learning traffic data patterns in a steady communication state for each device type of the communication device to determine whether the communication device determines whether the non-steady communication is performed based on the traffic data of the communication device. Holds a non-stationary communication judgment model for each device type that judges whether or not it is in a state,
The traffic analysis apparatus according to claim 2, wherein the non-steady communication determination means performs the non-steady communication determination process using at least the non-steady communication determination model by device type.
前記非定常通信判定手段は、さらに、前記製造元別非定常通信判定モデルも用いて前記非定常通信判定処理を行う
ことを特徴とする請求項3に記載のトラフィック分析装置。 The non-steady communication determination model holding means uses a learning model obtained by machine-learning patterns of traffic data in a steady communication state for each manufacturer of the communication device to determine whether the communication device is in the non-steady communication state from the traffic data of the communication device. Holds a manufacturer-specific non-stationary communication judgment model for judging whether or not
4. The traffic analysis apparatus according to claim 3, wherein said non-stationary communication determination means further uses said manufacturer-specific non-stationary communication determination model to perform said non-stationary communication determination processing.
前記非定常通信判定手段は、さらに、前記機器固有非定常通信判定モデルも用いて前記非定常通信判定処理を行う
ことを特徴とする請求項6に記載のトラフィック分析装置。 The non-steady communication determination model holding means further uses a learning model obtained by performing machine learning on the flow that has not been extracted in either the first extraction process or the second extraction process to determine the traffic of the communication device. constructing and holding a device-specific non-stationary communication determination model for determining whether the communication device is in a non-stationary communication state from data;
7. The traffic analysis apparatus according to claim 6, wherein said non-stationary communication determination means also uses said device-specific non-stationary communication determination model to perform said non-stationary communication determination processing.
前記非定常通信判定モデル保持手段は、前記フィードバック情報を考慮して前記非定常通信判定モデルを構築して保持することを特徴とする請求項2~8のいずれかに記載のトラフィック分析装置。 further comprising feedback receiving means for receiving input of feedback information regarding the result of the non-steady communication determination process by the non-steady communication determination means;
9. The traffic analysis apparatus according to claim 2, wherein said non-stationary communication decision model holding means constructs and holds said non-stationary communication decision model in consideration of said feedback information.
対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、前記通信機器のトラフィックデータから前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持する非定常通信判定モデル保持手段と、
それぞれの前記通信機器の属性を認識する属性認識手段と、
前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う非定常通信判定手段と
して機能させることを特徴とするトラフィック分析プログラム。 the computer,
Whether or not the communication device is in an unsteady communication state from the traffic data of the communication device using a learning model obtained by machine-learning traffic data patterns in a steady communication state for each attribute of the communication device connected to the target network. a non-stationary communication decision model holding means for holding a non-stationary communication decision model for determining
attribute recognition means for recognizing attributes of each of the communication devices;
Functioning as non-steady communication determination means for performing non-steady communication determination processing for determining whether the communication device is in the non-steady communication state from the traffic data of the communication device using the non-steady communication determination model. A traffic analysis program characterized by:
前記トラフィック分析装置は、非定常通信判定モデル保持手段と、属性認識手段と、非定常通信判定手段とを備え、
前記非定常通信判定モデル保持手段は、対象ネットワークに接続する通信機器の属性ごとに、定常通信状態におけるトラフィックデータのパターンを機械学習した学習モデルを用いて、前記通信機器のトラフィックデータから前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定モデルを保持し、
前記属性認識手段は、それぞれの前記通信機器の属性を認識し、
前記非定常通信判定手段は、前記非定常通信判定モデルを用いて、前記通信機器のトラフィックデータから、前記通信機器が非定常通信状態であるか否かを判定する非定常通信判定処理を行う
ことを特徴とするトラフィック分析方法。 In the traffic analysis method performed by the traffic analysis device,
The traffic analysis device comprises non-stationary communication determination model holding means, attribute recognition means, and non-stationary communication determination means,
The non-steady communication determination model holding means uses a learning model obtained by machine-learning a pattern of traffic data in a steady communication state for each attribute of the communication device connected to the target network, and extracts the traffic data of the communication device from the traffic data of the communication device. Holds a non-stationary communication decision model for deciding whether is in a non-stationary communication state,
The attribute recognition means recognizes attributes of each of the communication devices,
The non-stationary communication determination means uses the non-stationary communication determination model to perform non-stationary communication determination processing for determining whether or not the communication device is in a non-stationary communication state from the traffic data of the communication device. A traffic analysis method characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022007243A JP2023106103A (en) | 2022-01-20 | 2022-01-20 | Traffic analysis apparatus, traffic analysis program, and traffic analysis method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022007243A JP2023106103A (en) | 2022-01-20 | 2022-01-20 | Traffic analysis apparatus, traffic analysis program, and traffic analysis method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023106103A true JP2023106103A (en) | 2023-08-01 |
Family
ID=87473100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022007243A Pending JP2023106103A (en) | 2022-01-20 | 2022-01-20 | Traffic analysis apparatus, traffic analysis program, and traffic analysis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023106103A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2025115164A1 (en) * | 2023-11-30 | 2025-06-05 | 日本電信電話株式会社 | Feature amount extraction device and feature amount extraction method |
-
2022
- 2022-01-20 JP JP2022007243A patent/JP2023106103A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2025115164A1 (en) * | 2023-11-30 | 2025-06-05 | 日本電信電話株式会社 | Feature amount extraction device and feature amount extraction method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | DÏoT: A federated self-learning anomaly detection system for IoT | |
US8635307B2 (en) | Sensor discovery and configuration | |
US11722508B2 (en) | Methods, systems, and media for dynamically separating internet of things devices in a network | |
JP2021515498A (en) | Attribute-based policies for integrity monitoring and network intrusion detection | |
WO2022151680A1 (en) | Automata-based internet of things device flow anomaly detection method and apparatus | |
EP2981893B1 (en) | Analyzing scada systems | |
US11516199B2 (en) | Zero trust for edge devices | |
JP6763898B2 (en) | Communication control device, communication control method and communication control program | |
CA3186388A1 (en) | Method for detecting anomalies in communications, and corresponding device and computer program product | |
US20240031260A1 (en) | Entity attribute designation based on logic programming | |
CN110740144A (en) | Method, device, equipment and storage medium for determining attack target | |
JP2014165883A (en) | Communication device | |
JP2023106103A (en) | Traffic analysis apparatus, traffic analysis program, and traffic analysis method | |
CN112583763A (en) | Intrusion detection device and intrusion detection method | |
EP3910889B1 (en) | Communication terminal device, communication control method, and communication control program | |
Nakahara et al. | Malware Detection for IoT Devices using Automatically Generated White List and Isolation Forest. | |
CN113678419B (en) | Port scan detection | |
CN114338189B (en) | Situation awareness defense method, device and system based on node topology relation chain | |
CN115499226A (en) | Internet attack detection method and device, nonvolatile storage medium and processor | |
CN115242675A (en) | A method and system for identifying the type of an Internet of Things terminal | |
CN115297022B (en) | Camera data leakage risk analysis method, device, equipment and storage medium | |
CN119172154B (en) | DDoS attack flow detection method based on deep learning | |
CN115189996B (en) | Serverless-based Internet of vehicles data transmission method and device, storage medium and terminal | |
WO2024115310A1 (en) | Monitoring system | |
CN119892485A (en) | A network security monitoring method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250708 |