JP2017037382A - Abnormal vector detector and abnormal vector detection program - Google Patents

Abnormal vector detector and abnormal vector detection program Download PDF

Info

Publication number
JP2017037382A
JP2017037382A JP2015156841A JP2015156841A JP2017037382A JP 2017037382 A JP2017037382 A JP 2017037382A JP 2015156841 A JP2015156841 A JP 2015156841A JP 2015156841 A JP2015156841 A JP 2015156841A JP 2017037382 A JP2017037382 A JP 2017037382A
Authority
JP
Japan
Prior art keywords
vector
abnormal
cluster
abnormality
vectors
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.)
Granted
Application number
JP2015156841A
Other languages
Japanese (ja)
Other versions
JP5973636B1 (en
Inventor
勝人 伊佐野
Shoto Isano
勝人 伊佐野
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.)
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Information Systems 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 Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Information Systems Corp
Priority to JP2015156841A priority Critical patent/JP5973636B1/en
Application granted granted Critical
Publication of JP5973636B1 publication Critical patent/JP5973636B1/en
Publication of JP2017037382A publication Critical patent/JP2017037382A/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an abnormal vector detector and an abnormal vector program for detecting an abnormal vector based on a cluster classification of vectors, that can more precisely detect an abnormal vector if there are more than one abnormal clusters.SOLUTION: The abnormal vector detector performs the steps of: classifying a plurality of vectors into the j number of clusters for each of different values of a variable j (j is an integer of 2 or more) (step S4); detecting an abnormal cluster out of the j number of clusters (step S5); executing determination of the degree of abnormality for each vector in the abnormal cluster (step S6); and determining whether each vector is an abnormal vector based on the degree of abnormality of each vector (step S10).SELECTED DRAWING: Figure 3

Description

本発明は、異常ベクトル検出装置および異常ベクトル検出プログラムに関する。   The present invention relates to an abnormal vector detection device and an abnormal vector detection program.

大量のベクトルデータに含まれる正常なデータと異常なデータとを識別する方法として、様々な方法が公知である。たとえば特許文献1には、超球を用いた外れ値検出アルゴリズムが記載されている。   Various methods are known as a method for discriminating between normal data and abnormal data included in a large amount of vector data. For example, Patent Document 1 describes an outlier detection algorithm using a hypersphere.

安藤晋、鈴木英之進「情報理論的クラスタリングによる異常値クラスタの検出」、[online]、平成20年10月12日、「5.2 外れ値検出と一クラス分類」、[平成27年6月17日検索]、インターネット<URL:http:www.cs.gunma-u.ac.jp/~ando/jsai08_revised.pdf>Satoshi Ando, Hidenobu Suzuki “Detection of outlier clusters by information-theoretic clustering”, [online], October 12, 2008, “5.2 Outlier detection and one-class classification”, [June 2015 Search on the 17th], Internet <URL: http: www.cs.gunma-u.ac.jp/~ando/jsai08_revised.pdf>

しかしながら、従来の技術では、異常クラスタが複数存在する場合には、適切に異常ベクトルを検出することができないという問題があった。   However, the conventional technique has a problem that when there are a plurality of abnormal clusters, the abnormal vector cannot be detected appropriately.

たとえば非特許文献1のアルゴリズムでは、単一の超球しか扱うことができない。   For example, the algorithm of Non-Patent Document 1 can handle only a single hypersphere.

この発明は、このような問題点を解決するためになされたものであり、異常クラスタが複数存在する場合に、より適切に異常ベクトルを検出できる、異常ベクトル検出装置および異常ベクトル検出プログラムを提供することを目的とする。   The present invention has been made to solve such problems, and provides an abnormal vector detection apparatus and an abnormal vector detection program that can detect an abnormal vector more appropriately when there are a plurality of abnormal clusters. For the purpose.

上述の問題点を解決するため、この発明に係る異常ベクトル検出装置は、複数のベクトルのうちから異常ベクトルを検出する、異常ベクトル検出装置であって、
変数j(ただしjは2以上の整数)の、異なる複数の値について、
‐前記複数のベクトルを、j個のクラスタに分類するステップと、
‐前記j個のクラスタのうちから異常クラスタを検出する、異常クラスタ検出ステップと、
‐前記異常クラスタに属する各ベクトルについて異常度を決定する、異常度決定ステップと、
を実行する、異常度決定機能と、
各ベクトルの前記異常度に基づき、各ベクトルが異常ベクトルであるか否かを判定する、異常ベクトル判定機能と
を備える。
In order to solve the above-mentioned problems, an abnormal vector detection device according to the present invention is an abnormal vector detection device that detects an abnormal vector from a plurality of vectors,
For different values of variable j (where j is an integer greater than or equal to 2)
-Classifying the plurality of vectors into j clusters;
An abnormal cluster detection step of detecting an abnormal cluster out of the j clusters;
An abnormality degree determining step for determining an abnormality degree for each vector belonging to the abnormal cluster;
An abnormality determination function for executing
And an abnormal vector determination function for determining whether each vector is an abnormal vector based on the degree of abnormality of each vector.

前記異常度決定機能は、所定数のjの値について、少なくとも1個の異常クラスタが検出され、かつ、少なくとも1個の異常クラスタに属する少なくとも1個のベクトルの前記異常度が、前記所定数のjの値すべてにおいて同一となるまで実行されてもよい。
前記異常度決定機能は、変数i(ただしiは1以上の整数)の、異なる複数の値について実行され、
前記異常クラスタ検出ステップは、各クラスタについて、そのクラスタに属するベクトルの数がi個以下である場合に、そのクラスタを異常クラスタとして検出するステップであってもよい。
前記異常ベクトル判定機能は、変数iおよびjについて算出された各ベクトルの暫定異常度に基づいて実行されてもよい。
前記異常度決定ステップにおいて、各ベクトルの前記異常度は、そのベクトルと、SVMによって求められる他のクラスタに属する少なくとも1つの最近サポートベクトルとの距離に基づいて計算されてもよい。
前記ベクトルは、それぞれ通信ネットワークを介した通信に関する値を表し、
前記異常ベクトルは、マルウェア等の影響による不審な通信に関する値であってもよい。
The abnormality degree determination function detects at least one abnormal cluster for a predetermined number of values of j, and the abnormality degree of at least one vector belonging to at least one abnormal cluster is equal to the predetermined number of values. It may be executed until all values of j are the same.
The abnormality determination function is executed for a plurality of different values of the variable i (where i is an integer of 1 or more),
The abnormal cluster detection step may be a step of detecting each cluster as an abnormal cluster when the number of vectors belonging to the cluster is i or less.
The abnormality vector determination function may be executed based on the provisional abnormality degree of each vector calculated for the variables i and j.
In the degree of abnormality determination step, the degree of abnormality of each vector may be calculated based on a distance between the vector and at least one latest support vector belonging to another cluster obtained by SVM.
Each of the vectors represents a value related to communication via a communication network,
The abnormal vector may be a value related to suspicious communication due to the influence of malware or the like.

また、この発明に係る異常ベクトル検出プログラムは、コンピュータを、上述の異常ベクトル検出装置として機能させる。   The abnormal vector detection program according to the present invention causes a computer to function as the above-described abnormal vector detection device.

この発明に係る異常ベクトル検出装置および異常ベクトル検出プログラムは、ベクトルを分類するクラスタの数を変化させつつ異常度を評価するので、異常クラスタが複数存在する場合に、より適切に異常ベクトルを検出することができる。   The anomaly vector detection apparatus and the anomaly vector detection program according to the present invention evaluate the anomaly degree while changing the number of clusters for classifying the vector, and therefore more appropriately detect an anomaly vector when there are a plurality of anomaly clusters. be able to.

本発明の実施の形態1に係る異常ベクトル検出装置の構成の例を示す図である。It is a figure which shows the example of a structure of the abnormal vector detection apparatus which concerns on Embodiment 1 of this invention. 異常ベクトル検出の対象となるベクトルの集合の例を示す図である。It is a figure which shows the example of the set of the vector used as the object of abnormal vector detection. 図1の異常ベクトル検出装置の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG. 図1の異常ベクトル検出装置の動作の具体例を説明する図である。It is a figure explaining the specific example of operation | movement of the abnormal vector detection apparatus of FIG.

以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態1.
図1に、本発明の実施の形態1に係る異常ベクトル検出装置10の構成の例を示す。異常ベクトル検出装置10は、複数のベクトルのうちから異常ベクトルを検出する装置である。
Embodiments of the present invention will be described below based on the accompanying drawings.
Embodiment 1 FIG.
FIG. 1 shows an example of the configuration of an abnormal vector detection apparatus 10 according to Embodiment 1 of the present invention. The abnormal vector detection device 10 is a device that detects an abnormal vector from a plurality of vectors.

異常ベクトルとは、たとえば、複数のベクトルのうちで、他のベクトルとは異なる性質を持つ1個以上のベクトルを指す。たとえば、2次元のベクトルの集合において、ほとんどのベクトルがいずれの次元においても大きな値の要素を持っているときに、わずかな数のベクトルがいずれの次元においても小さな値の要素を持っている場合には、そのわずかな数のベクトルは異常ベクトルであると考えることができる。ただし、異常ベクトルの定義はこれに限らず、公知の定義を用いてもよいし、当業者が適宜決定してもよい。また、とくに異常ベクトルの数学的定義が明確に与えられなくとも、本発明の実施は可能である。   An abnormal vector refers to, for example, one or more vectors having a property different from other vectors among a plurality of vectors. For example, in a set of two-dimensional vectors, when most vectors have large value elements in any dimension, a small number of vectors have small value elements in any dimension. The small number of vectors can be considered anomalous vectors. However, the definition of the abnormal vector is not limited to this, and a well-known definition may be used, or a person skilled in the art may appropriately determine. In addition, the present invention can be implemented even if the mathematical definition of the anomaly vector is not clearly given.

異常ベクトル検出装置10はコンピュータとしての構成を含み、演算を行う演算手段20と、情報を格納する記憶手段30とを備える。たとえば、演算手段20はCPU(中央処理装置)を含み、記憶手段30は半導体メモリおよびHDD(ハードディスクドライブ)等の記憶媒体を含む。   The abnormal vector detection device 10 includes a configuration as a computer, and includes a calculation unit 20 that performs a calculation and a storage unit 30 that stores information. For example, the computing means 20 includes a CPU (Central Processing Unit), and the storage means 30 includes a storage medium such as a semiconductor memory and an HDD (Hard Disk Drive).

記憶手段30には異常ベクトル検出プログラムが格納されている。演算手段20がこの異常ベクトル検出プログラムを実行することにより、演算手段20を含むコンピュータは、本明細書に記載の異常ベクトル検出装置10としての機能を実現する。すなわち、この異常ベクトル検出プログラムは、コンピュータを異常ベクトル検出装置10として機能させる。   The storage means 30 stores an abnormal vector detection program. When the computing unit 20 executes this abnormal vector detection program, the computer including the computing unit 20 realizes the function as the abnormal vector detection device 10 described in this specification. That is, the abnormal vector detection program causes the computer to function as the abnormal vector detection device 10.

また、とくに図示しないが、異常ベクトル検出装置10は、使用者の操作を受け付ける入力手段(キーボードおよび/またはマウス等)と、情報を出力する出力手段(ディスプレイおよび/またはプリンタ等)と、外部の通信ネットワークに対し情報の入出力を受け付けるネットワークインタフェースとを備える。   Although not particularly illustrated, the abnormal vector detection apparatus 10 includes an input unit (such as a keyboard and / or a mouse) that receives user operations, an output unit (such as a display and / or a printer) that outputs information, and an external device. A network interface for receiving and inputting information to and from the communication network.

図2に、異常ベクトル検出の対象となるベクトルの集合の例を示す。ベクトルの集合は複数のベクトルを含み、図2の例では4229個のベクトルを含んでいる。本実施形態では、ベクトルの集合は各次元について最大値が1となるよう正規化されている。ベクトルの集合は、たとえば記憶手段30に記憶される。   FIG. 2 shows an example of a set of vectors that are targets of abnormal vector detection. The set of vectors includes a plurality of vectors, and in the example of FIG. 2, includes 4229 vectors. In this embodiment, the set of vectors is normalized so that the maximum value is 1 for each dimension. The set of vectors is stored in the storage unit 30, for example.

本実施形態では、ベクトルは、コンピュータによる、通信ネットワーク(インターネット等)を介した通信に関する値を表すデータである。通信に関する値は、たとえば通信の頻度およびデータサイズによって表される。具体例としては、ある次元(たとえば縦軸)が1時間あたりのHTTPリクエスト発行回数であり、別の次元(たとえば横軸)がHTTPリクエストの平均サイズである。   In the present embodiment, a vector is data representing a value related to communication by a computer via a communication network (such as the Internet). The value related to communication is represented by, for example, the frequency of communication and the data size. As a specific example, a certain dimension (for example, the vertical axis) is the number of times HTTP requests are issued per hour, and another dimension (for example, the horizontal axis) is the average size of HTTP requests.

また、ベクトルの各要素を構成する数値は、通信やネットワークに関するものに限らず、連続的な数値データのベクトルなら汎用的に扱うことができる。言い換えると、回数やサイズなどの連続する数値に意味のあるデータなら扱うことができる。   The numerical values constituting each element of the vector are not limited to those relating to communication and network, and can be handled universally if they are vectors of continuous numerical data. In other words, any data that is meaningful for consecutive numbers such as the number of times and size can be handled.

また、本実施形態では、異常ベクトルは、マルウェア等の影響による不審な通信に関する値であるが、これに限定されない。たとえば、あるコンピュータにおいて通常の頻度およびデータサイズとは大きく異なる頻度やデータサイズの通信が発生した場合には、それは正常ではない通信である可能性が高いと考えることができる。正常でない通信とは、たとえば不審な通信であり、または、たとえばマルウェア等による通信である。ここでマルウェアとは、コンピュータウィルスその他の悪意のあるソフトウェアを含むが、これに限定されない。   In the present embodiment, the abnormal vector is a value related to suspicious communication due to the influence of malware or the like, but is not limited thereto. For example, if communication with a frequency or data size that differs greatly from the normal frequency and data size occurs in a certain computer, it can be considered that there is a high possibility that the communication is not normal. The abnormal communication is, for example, suspicious communication or communication by, for example, malware. Here, the malware includes, but is not limited to, computer viruses and other malicious software.

以上のように構成される異常ベクトル検出装置10の動作を、以下に説明する。
図3は、異常ベクトル検出装置10の処理の流れの例を示すフローチャートである。
まず異常ベクトル検出装置10の演算手段20は、複数のベクトルからなる集合を取得する(ステップS1)。ここで、各ベクトルは記憶手段30にあらかじめ記憶されていてもよいし、異常ベクトル検出装置10の入力手段またはネットワークインタフェース等を介して入力されてもよい。
The operation of the abnormal vector detection apparatus 10 configured as described above will be described below.
FIG. 3 is a flowchart illustrating an example of a processing flow of the abnormal vector detection device 10.
First, the computing means 20 of the abnormal vector detection device 10 acquires a set of a plurality of vectors (step S1). Here, each vector may be stored in the storage unit 30 in advance, or may be input via the input unit of the abnormality vector detection apparatus 10, a network interface, or the like.

次に、演算手段20は変数iを初期化する(ステップS2)。ここで、iは後述のステップS3からステップS7までの処理を繰り返し実行するためのループ変数である。また、iは異常クラスタの検出基準であり、異常クラスタに含まれるベクトル数を表す。すなわち、異常クラスタを検出する際(たとえば後述のステップS5)に、属するベクトルがi個以下であるようなクラスタが、異常クラスタであると判定されることになる。   Next, the calculation means 20 initializes the variable i (step S2). Here, i is a loop variable for repeatedly executing processing from step S3 to step S7 described later. Further, i is an abnormal cluster detection criterion and represents the number of vectors included in the abnormal cluster. That is, when an abnormal cluster is detected (for example, step S5 described later), a cluster having i or less belonging vectors is determined to be an abnormal cluster.

iの初期値(ループ範囲の一方の限界)はたとえば1であるが、この値は1以上の整数であれば任意に設計可能である。また、iの終値(ループ範囲の他方の限界)はたとえば5であるが、この値は初期値以上の整数であれば任意に設計可能である。   The initial value of i (one limit of the loop range) is 1, for example, but this value can be arbitrarily designed as long as it is an integer of 1 or more. The final value of i (the other limit of the loop range) is, for example, 5. However, this value can be arbitrarily designed as long as it is an integer equal to or larger than the initial value.

次に、演算手段20は変数jを初期化する(ステップS3)。ここで、jは後述のステップS4からステップS7までの処理を繰り返し実行するためのループ変数である。また、jはクラスタ分類を行う際(たとえば後述のステップS4)のクラスタ数を表す。   Next, the calculation means 20 initializes the variable j (step S3). Here, j is a loop variable for repeatedly executing processes from step S4 to step S7 described later. Further, j represents the number of clusters when performing cluster classification (for example, step S4 described later).

jの初期値(ループ範囲の一方の限界)はたとえば2であるが、この値は2以上の整数であれば任意に設計可能である。また、本実施形態では、jの終値(ループ範囲の他方の限界)は定義されない。ただしjの終値を定義してもよく、たとえばベクトルの数と等しい値としてもよい。図2の例では4229個のベクトルが扱われるので、jの終値を4229としてもよい。   The initial value of j (one limit of the loop range) is 2, for example, but this value can be arbitrarily designed as long as it is an integer of 2 or more. In the present embodiment, the final value of j (the other limit of the loop range) is not defined. However, the closing price of j may be defined, for example, a value equal to the number of vectors. In the example of FIG. 2, since 4229 vectors are handled, the final value of j may be 4229.

次に、演算手段20は、すべてのベクトルをj個のクラスタに分類する(ステップS4)。ここで、複数のベクトルを複数のクラスタに分類する方法としては、たとえばk−means法を用いることができるが、他の任意の方法を用いてもよい。   Next, the computing means 20 classifies all vectors into j clusters (step S4). Here, as a method of classifying a plurality of vectors into a plurality of clusters, for example, the k-means method can be used, but any other method may be used.

次に、演算手段20は、ステップS4で得られたj個のクラスタのうちから、異常クラスタを検出する(ステップS5、異常クラスタ検出ステップ)。たとえば、各クラスタについて、そのクラスタに属するベクトルの数がi個以下である場合に、そのクラスタを異常クラスタとして検出する。または、他の公知の基準を用いて異常クラスタを検出してもよい。ここで検出された異常クラスタに属するベクトルは、異常ベクトルの候補(異常候補ベクトル)であるということができる。   Next, the computing means 20 detects an abnormal cluster from the j clusters obtained in step S4 (step S5, abnormal cluster detection step). For example, for each cluster, when the number of vectors belonging to the cluster is i or less, the cluster is detected as an abnormal cluster. Alternatively, an abnormal cluster may be detected using other known criteria. It can be said that the vector belonging to the abnormal cluster detected here is an abnormal vector candidate (abnormal candidate vector).

次に、演算手段20は、異常クラスタに属する各ベクトルについて、暫定異常度を決定する(ステップS6、異常度決定ステップ)。ここで、各ベクトルの暫定異常度は、たとえば、そのベクトルと、他のクラスタに属する少なくとも1つのベクトルとの距離(たとえばユークリッド距離)に基づいて計算される。この「他のクラスタに属する少なくとも1つのベクトル」は、たとえば異常クラスタ(または異常クラスタに属するベクトルのいずれか)に最も近いベクトルとして選択することができる。   Next, the computing means 20 determines the provisional abnormality degree for each vector belonging to the abnormality cluster (step S6, abnormality degree determination step). Here, the provisional abnormality degree of each vector is calculated based on the distance (for example, Euclidean distance) between the vector and at least one vector belonging to another cluster, for example. This “at least one vector belonging to another cluster” can be selected as a vector closest to the abnormal cluster (or any of the vectors belonging to the abnormal cluster), for example.

距離の計算には、たとえばSVM(Support Vector Machine)を用いることができる。SVMを用いると、あるクラスタ(異常クラスタ)と他の全クラスタとを隔てるのに適した超平面を求めることができる。また、SVMを用いると、あるクラスタ(異常クラスタ)と、他のクラスタに属するベクトルのうちこの超平面に最も近いもの(サポートベクトル)を、他の各クラスタについて求めることができる。この場合には、異常クラスタに属する各ベクトルの異常度は、そのベクトルと、そのベクトルに対するサポートベクトルのうちそのベクトルに最も近いもの(最近サポートベクトル)との距離として算出することができる。   For example, SVM (Support Vector Machine) can be used for the calculation of the distance. When SVM is used, a hyperplane suitable for separating a certain cluster (abnormal cluster) from all other clusters can be obtained. In addition, when SVM is used, a cluster (abnormal cluster) and a vector (support vector) closest to this hyperplane among vectors belonging to another cluster can be obtained for each other cluster. In this case, the degree of abnormality of each vector belonging to the abnormal cluster can be calculated as a distance between the vector and the closest support vector to the vector (recent support vector).

異常クラスタに属するベクトル1つあたりの計算コストは、クラスタ数−1[回]となる。この計算コストは、SVMを用いない場合には全ベクトル数−1[回]となるが、SVMを用いることによりクラスタ数−1[回]に低減することができる。本実施形態では、たとえば異常クラスタに属するベクトル1つあたり4229−1=4228[回]の計算ではなく、28−1=27[回]の計算で済む場合がある。この計算量の低減効果は、3次元以上のデータでも得ることができる。   The calculation cost per vector belonging to the abnormal cluster is the number of clusters −1 [times]. When the SVM is not used, the calculation cost is the total number of vectors −1 [times]. However, the use of the SVM can reduce the number of clusters to −1 [times]. In the present embodiment, for example, calculation of 28-1 = 27 [times] may be sufficient instead of calculation of 4229-1 = 4228 [times] per vector belonging to the abnormal cluster. This effect of reducing the amount of calculation can be obtained even with three-dimensional data or more.

なお、異常クラスタに属さないベクトルについては、異常度を決定する必要はないが、0または他の定数または特定の値として決定してもよい。   For vectors that do not belong to an abnormal cluster, the degree of abnormality need not be determined, but may be determined as 0, another constant, or a specific value.

次に、演算手段20は、異常候補ベクトルの暫定異常度がjの変化に対して安定しているか否かを判定する(ステップS7)。ここで、「安定している」とは、「収束した」と表現される状態であってもよい。   Next, the calculating means 20 determines whether or not the provisional abnormality degree of the abnormality candidate vector is stable with respect to the change of j (step S7). Here, “stable” may be a state expressed as “converged”.

異常候補ベクトルの暫定異常度がjの変化に対して安定しているか否かは、たとえば、所定数のjの値について、少なくとも1個の異常クラスタが検出され、かつ、少なくとも1個の異常クラスタに属する少なくとも1個のベクトルとその暫定異常度がその所定数のjの値すべてにおいて同一となったか否かによって判定される。   Whether or not the provisional abnormality degree of the abnormality candidate vector is stable with respect to the change of j is determined, for example, by detecting at least one abnormality cluster for a predetermined number of values of j and at least one abnormality cluster. It is determined by whether or not at least one vector belonging to and the provisional abnormality degree are the same in all of the predetermined number of j values.

たとえば、この所定数を「10」とすると、ある異常候補ベクトルの暫定異常度が10個の異なるjの値について同一となった場合に、暫定異常度はjの変化に対して安定していると判定される。具体例として、各ベクトルV(p)(ただしpはベクトルのインデックスであり、値の範囲は1からベクトルの個数までとなる整数)の暫定異常度をA(p,i,j)と表した場合において、pのある値pについて、ベクトルV(p)が1≦j≦18のとき異常クラスタに属さず(したがって異常候補ベクトルではなく)、19≦j≦28のとき異常クラスタに属して異常候補ベクトルとなり、A(p,i,j)=0.31となったとすると、異常候補ベクトルの暫定異常度は、j=28のときにjの変化に対して安定したと判定される。(なお、ステップS7の判定は、すべてのベクトルを考慮して総合的に行われる。上記から明らかなように、少なくとも1個の異常候補ベクトルの暫定異常度が安定していればよく、ベクトル単位で見たときに暫定異常度が安定しない異常候補ベクトルが存在しても、ステップS7の判定には影響しない。) For example, when the predetermined number is “10”, the provisional abnormality degree is stable with respect to a change in j when the provisional abnormality degree of a certain abnormality candidate vector is the same for ten different values of j. It is determined. As a specific example, the provisional abnormality degree of each vector V (p) (where p is a vector index and the value range is an integer from 1 to the number of vectors) is represented as A (p, i, j). In some cases, a certain value p 1 of p does not belong to an abnormal cluster when vector V (p 1 ) is 1 ≦ j ≦ 18 (thus not an abnormal candidate vector), and belongs to an abnormal cluster when 19 ≦ j ≦ 28. If it becomes an abnormal candidate vector and A (p 1 , i, j) = 0.31, it is determined that the temporary abnormal degree of the abnormal candidate vector is stable with respect to the change of j when j = 28. (Note that the determination in step S7 is performed comprehensively in consideration of all vectors. As is clear from the above, it is sufficient that the provisional abnormality degree of at least one abnormality candidate vector is stable, and the unit of vector is sufficient. (Even if there is an abnormality candidate vector whose provisional abnormality degree is not stable when viewed in step S7, the determination in step S7 is not affected.)

この例ではjの値は連続であるが、jの値は連続でなくともよい。たとえばベクトルV(p)は1≦j≦18のとき異常クラスタに属さず、19≦j≦23のとき異常クラスタに属してA(p,i,j)=0.31となり、24≦j≦26のとき異常クラスタに属さず、27≦j≦31のとき異常クラスタに属してA(p,i,j)=0.31となったとすると、異常候補ベクトルの暫定異常度はj=31のときにjの変化に対して安定したと判定される。 In this example, the value of j is continuous, but the value of j may not be continuous. For example, the vector V (p 1 ) does not belong to the abnormal cluster when 1 ≦ j ≦ 18, and belongs to the abnormal cluster when 19 ≦ j ≦ 23, so that A (p 1 , i, j) = 0.31, and 24 ≦ j ≦ If it is 26 and does not belong to the abnormal cluster, and 27 ≦ j ≦ 31, it belongs to the abnormal cluster and A (p 1 , i, j) = 0.31. When the temporary abnormal degree of the abnormal candidate vector is j = 31 Is determined to be stable with respect to changes in j.

言い換えると、同一の異常候補ベクトルとその暫定異常度が、jが1ずつ増加していく中で、断続または連続してn回(上記の例ではn=10)出現したら、安定もしくは収束したと判断される。   In other words, if the same abnormality candidate vector and its provisional abnormality degree appear intermittently or continuously n times (n = 10 in the above example) while j increases by 1, it is stable or converged. To be judged.

または、異常候補ベクトルの暫定異常度がjの変化に対して安定しているか否かは、所定数の「連続する」jの値について、少なくとも1個の異常クラスタが検出され、かつ、少なくとも1個の異常クラスタに属する少なくとも1個のベクトルとその暫定異常度が、その所定数の連続するjの値すべてにおいて同一となったか否かによって判定されてもよい。   Alternatively, whether or not the provisional abnormality degree of the abnormality candidate vector is stable with respect to the change of j is determined by detecting at least one abnormality cluster for a predetermined number of “continuous” j values and at least 1 The determination may be made based on whether or not at least one vector belonging to one abnormal cluster and the provisional abnormal degree thereof are the same in all of the predetermined number of consecutive j values.

異常候補ベクトルの暫定異常度がjの変化に対して安定していないと判定された場合には、演算手段20はjの値を次の値に変更し(たとえば1だけ増加させ)、処理をステップS4に戻す。このようにして、演算手段20は、jの異なる複数の値について、ステップS4〜S6の処理(異常度決定機能)を繰り返し実行する。   When it is determined that the provisional abnormality degree of the abnormality candidate vector is not stable with respect to the change of j, the calculation means 20 changes the value of j to the next value (for example, increases by 1), and performs the processing. Return to step S4. In this way, the calculation means 20 repeatedly executes the processing of steps S4 to S6 (abnormality determination function) for a plurality of values having different j.

ステップS7において、異常候補ベクトルの暫定異常度がjの変化に対して安定したと判定された場合には、演算手段20はiのループが終了したか否かを判定する(ステップS8)。たとえば、iが所定の終値に等しければiのループが終了したと判定し、そうでなければ終了していないと判定する。   In step S7, when it is determined that the provisional abnormality degree of the abnormality candidate vector is stable with respect to the change of j, the arithmetic unit 20 determines whether or not the loop of i has ended (step S8). For example, if i is equal to a predetermined closing price, it is determined that the loop of i has ended, and otherwise, it is determined that it has not ended.

iのループが終了していないと判定された場合には、演算手段20はiの値を次の値に変更し(たとえば1だけ増加させ)、処理をステップS3に戻す。このようにして、演算手段20は、iの異なる複数の値について、ステップS3〜S7の処理を繰り返し実行する。ここで、このループはステップS4〜S6の処理(異常度決定機能)を含むので、演算手段20は、iの異なる複数の値について異常度決定機能を繰り返し実行するということができる。   If it is determined that the loop of i has not ended, the computing means 20 changes the value of i to the next value (for example, increases it by 1), and returns the process to step S3. In this way, the calculation means 20 repeatedly executes the processes of steps S3 to S7 for a plurality of values having different i. Here, since this loop includes the processing (abnormality determination function) of steps S4 to S6, it can be said that the computing means 20 repeatedly executes the abnormality degree determination function for a plurality of values having different i.

ステップS8においてiのループが終了したと判定された場合には、演算手段20は、各ベクトルの最終異常度を決定する(ステップS9)。各ベクトルの最終異常度は、たとえば、iおよびjについて算出された暫定異常度に基づいて決定される。   If it is determined in step S8 that the i loop has been completed, the computing means 20 determines the final abnormality degree of each vector (step S9). The final abnormality degree of each vector is determined based on, for example, the provisional abnormality degree calculated for i and j.

各ベクトルの最終異常度は、たとえば次のように算出することができる。まず、すべてのベクトルV(p)のうち異常候補ベクトルとなったものと、その異常候補ベクトルが検知されたiおよびjについて、jを変化させた場合の暫定異常度A(p,i,j)の最頻値L(p,i)を求める。たとえば、あるpおよびiについて、暫定異常度A(p,i,j)=0.2となるjの値が5個あり、暫定異常度A(p,i,j)=0.31となるjの値が10個あれば、最頻値L(p,i)=0.31となる。最頻値が複数存在する場合には、それらに基づいて最終的なL(p,i)を決定してもよく、たとえばそれらのうち最も小さいものをL(p,i)としてもよい。次に、L(p,i)を最小とするiの値およびそのときの暫定異常度Min{L(p,i)}を決定する。次に、Min{L(p,i)}を最大とするpの値およびそのときの暫定異常度A=Max[Min{L(p,i)}]を決定する。そして、各異常候補ベクトルV(p)の最終異常度A(p)を、これらの比すなわちA(p)=Min{L(p,i)}/Aとして算出する。 The final abnormality degree of each vector can be calculated as follows, for example. First, for all vectors V (p) that are abnormal candidate vectors and i and j in which the abnormal candidate vectors are detected, provisional abnormality degree A (p, i, j when j is changed ) To obtain the mode value L (p, i). For example, for a given p and i, there are five values of j for which the provisional abnormality degree A (p, i, j) = 0.2, and j values for which the provisional abnormality degree A (p, i, j) = 0.31. If there are ten, the mode L (p, i) = 0.31. When there are a plurality of mode values, the final L (p, i) may be determined based on them, and for example, the smallest one of them may be L (p, i). Next, the value of i that minimizes L (p, i) and the provisional abnormality degree Min i {L (p, i)} at that time are determined. Next, the value of p that maximizes Min i {L (p, i)} and the provisional abnormality degree A m = Max p [Min i {L (p, i)}] are determined. Then, the final abnormality degree A f (p) of each abnormality candidate vector V (p) is calculated as a ratio thereof, that is, A f (p) = Min i {L (p, i)} / A m .

次に、演算手段20は、各ベクトルの最終異常度に基づき、各ベクトルが異常ベクトルであるか否かを判定する(ステップS10、異常ベクトル判定機能)。ここで、最終異常度が所定の基準を満たすものを異常ベクトルと判定してもよい。所定の基準として、所定の閾値以上であるか否かを用いてもよい。たとえば、上記の最終異常度に基づき、A(p)≧0.8となるベクトルV(p)は異常ベクトルであると判定し、そうでないベクトルV(p)は異常ベクトルではないと判定してもよい。 Next, the calculation means 20 determines whether each vector is an abnormal vector based on the final abnormality degree of each vector (step S10, abnormal vector determination function). Here, the final abnormality degree satisfying a predetermined criterion may be determined as an abnormality vector. As the predetermined reference, it may be used whether or not it is a predetermined threshold value or more. For example, based on the above-described final abnormality degree, it is determined that a vector V (p) satisfying A f (p) ≧ 0.8 is an abnormal vector, and a vector V (p) other than that is determined not to be an abnormal vector. May be.

以上のように動作する異常ベクトル検出装置10および異常ベクトル検出プログラムによる動作の具体例を、図2の例を用いて以下に説明する。
以下の具体例では、変数iの初期値は1、終値は5である。変数jの初期値は2である。変数jの終値は定義されないが、4229と定義してもよい。異常度は各ベクトルと対応する最近サポートベクトルとの距離として算出される。異なる10個のjの値(連続であっても不連続であってもよい)について、少なくとも1個の異常候補ベクトルの暫定異常度が同一となった場合に、異常候補ベクトルとその暫定異常度がjの変化に対して安定したと判定されるものとする。異常ベクトルの判定基準は0.80とする。有効数字は2桁とする。
A specific example of the operation performed by the abnormal vector detection apparatus 10 and the abnormal vector detection program that operate as described above will be described below with reference to the example of FIG.
In the following specific example, the initial value of the variable i is 1 and the final value is 5. The initial value of variable j is 2. The closing price of the variable j is not defined, but may be defined as 4229. The degree of abnormality is calculated as the distance between each vector and the corresponding recent support vector. When at least one abnormality candidate vector has the same provisional abnormality degree for ten different values of j (which may be continuous or discontinuous), the abnormality candidate vector and its provisional abnormality degree Is determined to be stable with respect to changes in j. The criterion for determining an abnormal vector is 0.80. The effective number is two digits.

図2の例において、ベクトルX1〜X3が本来検出したい異常ベクトルであるとする。まずi=1として異常クラスタの検出を行う(すなわち、単一のベクトルを含むクラスタのみが異常クラスタとなる)。j<19(すなわち、クラスタの数が19未満)の場合には、すべてのクラスタに複数のベクトルが分類され、異常クラスタは検出されない。   In the example of FIG. 2, it is assumed that the vectors X1 to X3 are abnormal vectors that are originally desired to be detected. First, an abnormal cluster is detected with i = 1 (that is, only a cluster including a single vector becomes an abnormal cluster). When j <19 (that is, the number of clusters is less than 19), a plurality of vectors are classified into all clusters, and no abnormal cluster is detected.

図4に示すように、j=19の場合に、X1(0.02, 1.00)のみを含むクラスタC1が出現し、これが異常クラスタとなる。他のクラスタはすべて2個以上のベクトルを含んでおり、異常クラスタではない。異常クラスタC1に属するX1(0.02, 1.00)に対する最近サポートベクトルはY1(0.03, 0.69)であり、X1の暫定異常度すなわちX1とY1との距離は0.31となる。なお、図4〜図7において、異常クラスタでないクラスタについてはとくに図示しない。   As shown in FIG. 4, when j = 19, cluster C1 including only X1 (0.02, 1.00) appears, and this becomes an abnormal cluster. All other clusters contain two or more vectors and are not anomalous clusters. The latest support vector for X1 (0.02, 1.00) belonging to the abnormal cluster C1 is Y1 (0.03, 0.69), and the temporary abnormality degree of X1, that is, the distance between X1 and Y1 is 0.31. 4 to 7, the cluster that is not an abnormal cluster is not particularly illustrated.

20≦j≦28の場合についても同様の結果となる。すなわち、異常クラスタはC1のみであり、これに属するベクトルX1の暫定異常度は0.31である。ここで、j=28の時に、19から28まで10個の異なるjの値(この例では連続する値であるが、断続であってもよい)についてベクトルX1の暫定異常度が同一であるので、異常候補ベクトルの暫定異常度がjの変化に対して安定したと判定される。このようにしてi=1のループが終了する。   The same result is obtained when 20 ≦ j ≦ 28. That is, the abnormal cluster is only C1, and the provisional abnormality degree of the vector X1 belonging to this is 0.31. Here, when j = 28, the tentative abnormality degree of the vector X1 is the same for 10 different values of j from 19 to 28 (which are continuous values in this example, but may be intermittent). Then, it is determined that the provisional abnormality degree of the abnormality candidate vector is stable with respect to the change of j. In this way, the i = 1 loop is completed.

次に、i=2について同様の処理が実行される(すなわち、2個以下のベクトルしか含まないクラスタが異常クラスタとなる)。j<14(すなわち、クラスタの数が14未満)の場合には、すべてのクラスタに3個以上のベクトルが分類され、異常クラスタは検出されない。   Next, similar processing is executed for i = 2 (that is, a cluster including only two or less vectors becomes an abnormal cluster). When j <14 (that is, the number of clusters is less than 14), three or more vectors are classified into all clusters, and no abnormal cluster is detected.

図5に示すように、j=14の場合に、X2(1.00, 0.00)およびX3(0.98, 0.00)のみを含むクラスタC2が出現し、これが異常クラスタとなる。他のクラスタはすべて3個以上のベクトルを含んでおり、異常クラスタではない。異常クラスタC2に属するX2(1.00, 0.00)およびX3(0.98, 0.00)に対する最近サポートベクトルは、いずれもY5(0.65, 0.00)であり、X2およびX3の暫定異常度すなわちY5との距離はそれぞれ0.35および0.33となる。   As shown in FIG. 5, when j = 14, cluster C2 including only X2 (1.00, 0.00) and X3 (0.98, 0.00) appears, and this becomes an abnormal cluster. All other clusters contain more than two vectors and are not anomalous clusters. The recent support vectors for X2 (1.00, 0.00) and X3 (0.98, 0.00) belonging to the abnormal cluster C2 are both Y5 (0.65, 0.00), and the provisional abnormalities of X2 and X3, that is, the distance from Y5 are each 0.35. And 0.33.

15≦j≦18の場合についても同様の結果となる。すなわち、異常クラスタはC2のみであり、これに属するベクトルX2およびX3の暫定異常度は、それぞれ、0.35および0.33となる。   Similar results are obtained when 15 ≦ j ≦ 18. That is, the abnormal cluster is only C2, and the provisional abnormalities of the vectors X2 and X3 belonging thereto are 0.35 and 0.33, respectively.

その後、図6に示すように、j=19の場合に、X1のみを含むクラスタC1が新たに出現し、これが異常クラスタとなる。また、X2およびX3のみを含むクラスタC2は依然として存在しており、異常クラスタのままである。他のクラスタはすべて3個以上のベクトルを含んでおり、異常クラスタではない。X1、X2およびX3の暫定異常度は、それぞれ、0.31、0.35および0.33となる。   Thereafter, as shown in FIG. 6, when j = 19, a new cluster C1 including only X1 appears, which becomes an abnormal cluster. Further, the cluster C2 including only X2 and X3 still exists and remains an abnormal cluster. All other clusters contain more than two vectors and are not anomalous clusters. The provisional abnormalities of X1, X2, and X3 are 0.31, 0.35, and 0.33, respectively.

20≦j≦23の場合についても、j=19の場合と同様の結果となる。j=23の時に、異常候補ベクトルX2およびX3について、14から23まで10個の異なるjの値について暫定異常度が同一であるので、異常候補ベクトルの暫定異常度がjの変化に対して安定したと判定される。このようにしてi=2のループが終了する。なお、ベクトルX1の暫定異常度は、19≦j≦23の5つのjについてのみ同一であるが、ここでは異常候補ベクトルとして検出される。ただし、そのようなベクトルを異常候補ベクトルとして検出しないよう構成してもよい。
i=3のときは、i=2のときと同じ結果が得られるものとする。
Also in the case of 20 ≦ j ≦ 23, the same result as in the case of j = 19 is obtained. When j = 23, the provisional abnormality degree of the abnormal candidate vectors X2 and X3 is the same for 10 different values of j from 14 to 23, so that the provisional abnormality degree of the abnormality candidate vector is stable against the change of j. It is determined that In this way, the i = 2 loop is completed. The provisional abnormality degree of the vector X1 is the same for only five js of 19 ≦ j ≦ 23, but is detected as an abnormality candidate vector here. However, such a vector may not be detected as an abnormal candidate vector.
When i = 3, the same result as when i = 2 is obtained.

i=4の場合には、図7に示すように、j=23において異常候補ベクトルの暫定異常度が安定する。図7の例では、異常クラスタとしてC1〜C3が検出されている。C1はX1のみを含み、C2はX2およびX3のみを含み、C3はY1〜Y4のみを含む。X1(0.02, 1.00)に対する最近サポートベクトルはY1(0.03, 0.69)である。X2(1.00, 0.00)およびX3(0.98, 0.00)に対する最近サポートベクトルはいずれもY5(0.65, 0.01)である。Y1(0.03, 0.69),Y2(0.03, 0.64),Y3(0.03, 0.62),Y4(0.03, 0.60)に対する最近サポートベクトルはいずれもY6(0.01, 0.43)である。   In the case of i = 4, as shown in FIG. 7, the temporary abnormality degree of the abnormality candidate vector is stable at j = 23. In the example of FIG. 7, C1 to C3 are detected as abnormal clusters. C1 includes only X1, C2 includes only X2 and X3, and C3 includes only Y1 to Y4. The recent support vector for X1 (0.02, 1.00) is Y1 (0.03, 0.69). The recent support vector for X2 (1.00, 0.00) and X3 (0.98, 0.00) are both Y5 (0.65, 0.01). The recent support vectors for Y1 (0.03, 0.69), Y2 (0.03, 0.64), Y3 (0.03, 0.62), and Y4 (0.03, 0.60) are all Y6 (0.01, 0.43).

i=5の場合には、図8に示すように、j=9の場合に、X1およびY1〜Y4のみを含むクラスタC4が出現し、これが異常クラスタとなる。他のクラスタはすべて6個以上のベクトルを含んでおり、異常クラスタではない。異常クラスタC4に属するX1およびY1〜Y4に対する最近サポートベクトルはY6となる。なお、1≦i≦4の場合には、X1の最近サポートベクトルはすべてY1であったが、i=5かつj=9の場合には、Y6となり、暫定異常度も0.57とこれまでより大きくなる。   In the case of i = 5, as shown in FIG. 8, when j = 9, a cluster C4 including only X1 and Y1 to Y4 appears, and this becomes an abnormal cluster. All other clusters contain 6 or more vectors and are not anomalous clusters. The latest support vector for X1 and Y1 to Y4 belonging to the abnormal cluster C4 is Y6. In the case of 1 ≦ i ≦ 4, the recent support vectors of X1 were all Y1, but in the case of i = 5 and j = 9, it becomes Y6 and the provisional abnormality degree is 0.57, which is larger than before. Become.

10≦j≦13の場合についても同様の結果となる。すなわち、異常クラスタはC4のみであり、これに属するベクトルX1およびY1〜Y4の暫定異常度は、それぞれ、0.57、0.26、0.21、0.19および0.17となる。   Similar results are obtained when 10 ≦ j ≦ 13. That is, the abnormal cluster is only C4, and the provisional abnormalities of the vectors X1 and Y1 to Y4 belonging thereto are 0.57, 0.26, 0.21, 0.19, and 0.17, respectively.

その後、図9に示すように、j=14の場合に、X1およびY1〜Y4のみを含むクラスタC4と、X2およびX3のみを含むクラスタC2とが出現し、これらが異常クラスタとなる。他のクラスタはすべて6個以上のベクトルを含んでおり、異常クラスタではない。X1〜X3およびY1〜Y4の暫定異常度は、それぞれ、0.57、0.35、0.33、0.26、0.21、0.19および0.17となる。   Thereafter, as shown in FIG. 9, when j = 14, a cluster C4 including only X1 and Y1 to Y4 and a cluster C2 including only X2 and X3 appear, and these become abnormal clusters. All other clusters contain 6 or more vectors and are not anomalous clusters. The provisional abnormalities of X1 to X3 and Y1 to Y4 are 0.57, 0.35, 0.33, 0.26, 0.21, 0.19, and 0.17, respectively.

15≦j≦18の場合についても、j=14の場合と同様の結果となる。j=18の時に、9から18まで10個の異なるjの値についてX1およびY1〜Y4のベクトルとその暫定異常度が同一であるので、異常候補ベクトルの暫定異常度がjの変化に対して安定したと判定される。このようにしてi=5のループが終了する。なお、X2およびX3のベクトルとその暫定異常度は、14≦j≦18の5つのjについてのみ同一であるが、ここでは異常候補ベクトルとして検出される。ただし、そのようなベクトルを異常候補ベクトルとして検出しないよう構成してもよい。   In the case of 15 ≦ j ≦ 18, the same result as in the case of j = 14 is obtained. When j = 18, the vectors X1 and Y1 to Y4 and the provisional abnormality degree thereof are the same for 10 different values of j from 9 to 18, so that the provisional abnormality degree of the abnormality candidate vector corresponds to the change of j. Determined to be stable. In this way, the i = 5 loop is completed. Note that the vectors of X2 and X3 and their provisional abnormalities are the same for only five j of 14 ≦ j ≦ 18, but are detected as abnormal candidate vectors here. However, such a vector may not be detected as an abnormal candidate vector.

このとき、異常候補ベクトルごとに整理すると、
‐異常候補ベクトルのインデックスp
‐異常候補ベクトルV(p)
‐ループ変数i
‐V(p)の最近サポートベクトルw(p,i,j)のうち、jを変化させたときに最頻となるものW(p,i)
‐V(p)の暫定異常度A(p,i,j)のうち、jを変化させたときの最頻値L(p,i)
をまとめると、たとえば次の通りになる。
At this time, organizing by abnormality candidate vector,
-Anomaly candidate vector index p
-Anomaly candidate vector V (p)
-Loop variable i
-Of the recent support vectors w (p, i, j) of V (p), the one that becomes the most frequent when j is changed W (p, i)
Of the provisional abnormality degree A (p, i, j) of −V (p), the mode L (p, i) when j is changed
Are summarized as follows, for example.

p V(p) i W(p,i) L(p,i)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
2064 X1 1 Y1 0.31
2064 X1 2 Y1 0.31
2064 X1 3 Y1 0.31
2064 X1 4 Y1 0.31
2064 X1 5 Y6 0.57
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
923 X2 2 Y5 0.35
923 X2 3 Y5 0.35
923 X2 4 Y5 0.35
923 X2 5 Y5 0.35
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
899 X3 2 Y5 0.33
899 X3 3 Y5 0.33
899 X3 4 Y5 0.33
899 X3 5 Y5 0.33
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
3274 Y1 4 Y6 0.26
3274 Y1 5 Y6 0.26
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
3726 Y2 4 Y6 0.21
3726 Y2 5 Y6 0.21
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
2317 Y3 4 Y6 0.19
2317 Y3 5 Y6 0.19
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
3730 Y4 4 Y6 0.17
3730 Y4 5 Y6 0.17
p V (p) i W (p, i) L (p, i)
-----------------------------
2064 X1 1 Y1 0.31
2064 X1 2 Y1 0.31
2064 X1 3 Y1 0.31
2064 X1 4 Y1 0.31
2064 X1 5 Y6 0.57
-----------------------------
923 X2 2 Y5 0.35
923 X2 3 Y5 0.35
923 X2 4 Y5 0.35
923 X2 5 Y5 0.35
-----------------------------
899 X3 2 Y5 0.33
899 X3 3 Y5 0.33
899 X3 4 Y5 0.33
899 X3 5 Y5 0.33
-----------------------------
3274 Y1 4 Y6 0.26
3274 Y1 5 Y6 0.26
-----------------------------
3726 Y2 4 Y6 0.21
3726 Y2 5 Y6 0.21
-----------------------------
2317 Y3 4 Y6 0.19
2317 Y3 5 Y6 0.19
-----------------------------
3730 Y4 4 Y6 0.17
3730 Y4 5 Y6 0.17

このようにしてiのループが終了し、各ベクトルの暫定異常度が決定される。最終異常度は、X1〜X3およびY1〜Y4についてのみ計算される。   In this way, the loop of i ends, and the provisional abnormality degree of each vector is determined. Final abnormalities are calculated only for X1-X3 and Y1-Y4.

最終異常度の計算のため、同一の異常候補ベクトルについてまとめると、
‐異常候補ベクトルのインデックスp
‐異常候補ベクトルV(p)
‐暫定異常度A(p,i,j)のうち、jを変化させたときの最頻値L(p,i)を求め、さらにこれにおいてiを変化させたときの最小値Min{L(p,i)}
は、たとえば次の通りになる。
p V(p) Min{L(p,i)}
2064 X1 0.31
923 X2 0.35
899 X3 0.33
3274 Y1 0.26
3726 Y2 0.21
2317 Y3 0.19
3730 Y4 0.17
In order to calculate the final abnormality level, the same abnormality candidate vectors can be summarized as follows:
-Anomaly candidate vector index p
-Anomaly candidate vector V (p)
-Among the provisional abnormalities A (p, i, j), the mode L (p, i) when j is changed is obtained, and further, the minimum value Min i {L when i is changed (P, i)}
For example,
p V (p) Min i {L (p, i)}
2064 X1 0.31
923 X2 0.35
899 X3 0.33
3274 Y1 0.26
3726 Y2 0.21
2317 Y3 0.19
3730 Y4 0.17

Min{L(p,i)}を最大とする異常候補ベクトルはX2すなわちp=923であり、そのときの暫定異常度A=Max[Min{L(p,i)}]=0.35である。これらより、X1〜X3およびY1〜Y4の最終異常度は次のようになる。
X1(0.02, 1.00) … 0.31/0.35 ≒ 0.89 ≧ 0.80
X2(1.00, 0.00) … 0.35/0.35 ≒ 1.00 ≧ 0.80
X3(0.98, 0.00) … 0.33/0.35 ≒ 0.94 ≧ 0.80
Y1(0.03, 0.69) … 0.26/0.35 ≒ 0.74 < 0.80
Y2(0.03, 0.64) … 0.21/0.35 ≒ 0.60 < 0.80
Y3(0.02, 0.62) … 0.19/0.35 ≒ 0.54 < 0.80
Y4(0.03, 0.60) … 0.17/0.35 ≒ 0.49 < 0.80
The abnormality candidate vector that maximizes Min i {L (p, i)} is X2, that is, p = 923, and the provisional abnormality degree A m = Max p [Min i {L (p, i)}] = 0.35. From these, the final abnormalities of X1 to X3 and Y1 to Y4 are as follows.
X1 (0.02, 1.00)… 0.31 / 0.35 ≒ 0.89 ≥ 0.80
X2 (1.00, 0.00)… 0.35 / 0.35 ≒ 1.00 ≥ 0.80
X3 (0.98, 0.00)… 0.33 / 0.35 ≒ 0.94 ≥ 0.80
Y1 (0.03, 0.69)… 0.26 / 0.35 ≒ 0.74 <0.80
Y2 (0.03, 0.64)… 0.21 / 0.35 ≒ 0.60 <0.80
Y3 (0.02, 0.62)… 0.19 / 0.35 ≒ 0.54 <0.80
Y4 (0.03, 0.60)… 0.17 / 0.35 ≒ 0.49 <0.80

以上より、最終異常度が異常ベクトルの判定基準以上となったX1〜X3が異常ベクトル(真の異常ベクトル)であると判定され、最終異常度が異常ベクトルの判定基準未満となるY1〜Y4は異常ベクトルではない(または偽の異常ベクトルである)と判定される。   From the above, it is determined that X1 to X3 whose final abnormality level is equal to or higher than the abnormality vector determination standard are abnormal vectors (true abnormality vectors), and Y1 to Y4 whose final abnormality level is less than the abnormality vector determination standard are It is determined that the vector is not an abnormal vector (or is a false abnormal vector).

このようにして、本発明の実施の形態1に係る異常ベクトル検出装置10および異常ベクトル検出プログラムは、複数のベクトルのうちから異常ベクトルを検出する。ここで、異常ベクトル検出装置10および異常ベクトル検出プログラムは、ベクトルを分類するクラスタの数を変化させつつ異常度を評価するので、異常クラスタが複数存在する場合(異常クラスタの数が不明である場合を含む)に、より適切に異常ベクトルを検出することができる。   As described above, the abnormal vector detection device 10 and the abnormal vector detection program according to Embodiment 1 of the present invention detect an abnormal vector from among a plurality of vectors. Here, the abnormal vector detection apparatus 10 and the abnormal vector detection program evaluate the degree of abnormality while changing the number of clusters that classify the vector. Therefore, when there are a plurality of abnormal clusters (when the number of abnormal clusters is unknown). The abnormal vector can be detected more appropriately.

たとえば、コンピュータによる通信の頻度およびデータサイズを値として持つベクトルのうちから、異常ベクトルを検出することにより、マルウェア等の影響による不審な通信を発見することが容易になる。   For example, by detecting an abnormal vector from vectors having the frequency and data size of communication by a computer as values, it becomes easy to find suspicious communication due to the influence of malware or the like.

また、変数iにより、異常クラスタの検出基準を変更しながら暫定異常度を評価するので、異常ベクトルの分布の粗密によらずより適切な検出が可能である。たとえば図2の例では、i=1の場合にはまず異常クラスタC1が検出され、i=2の場合にはまず異常クラスタC2が検出されるので、安定の判断基準が緩い場合等には、安定する異常クラスタが異なる場合がある。実施の形態1によれば、異なるiの値についての結果を総合的に考慮できるので、このような場合により適切な検出を行うことができる。   Moreover, since the provisional abnormality degree is evaluated by changing the detection criterion of the abnormal cluster based on the variable i, more appropriate detection is possible regardless of the density of the abnormal vector distribution. For example, in the example of FIG. 2, when i = 1, the abnormal cluster C1 is detected first, and when i = 2, the abnormal cluster C2 is detected first. The stable abnormal cluster may be different. According to the first embodiment, the results for different values of i can be comprehensively considered, so that appropriate detection can be performed in such a case.

上述の実施の形態1において、次のような変形を施すことができる。
変数iのループは省略してもよい。すなわち、異常クラスタを検出する基準となるベクトルの個数を固定してもよい。
In the first embodiment, the following modifications can be made.
The loop of variable i may be omitted. That is, the number of vectors serving as a reference for detecting an abnormal cluster may be fixed.

実施の形態1では、変数jの終値は定義されないが、変数jの終値を定義してもよい。その場合には、たとえばステップS6とステップS7との間にjが終値に達したか否かの判定ステップを設け、jが終値に達した場合にはステップS8に進んでもよい。なお、jの終値を適宜設定してもよい。設定可能な終値の最大値はベクトルの数となる。   In the first embodiment, the closing price of the variable j is not defined, but the closing price of the variable j may be defined. In that case, for example, a step for determining whether or not j has reached the closing price may be provided between step S6 and step S7, and if j has reached the closing price, the process may proceed to step S8. Note that the closing price of j may be set as appropriate. The maximum closing price that can be set is the number of vectors.

実施の形態1では、ステップS7のように暫定異常度の安定を待つが、安定を待たないようにしてもよい。たとえば、jについてもiと同様に終値までループさせてもよい。   In the first embodiment, the provisional abnormality degree is waited for stabilization as in step S7, but the stabilization may not be waited for. For example, j may be looped to the closing price in the same manner as i.

実施の形態1では、図2に示すようにベクトルは2次元のものであるが、3次元以上のベクトルの集合についても、同様に異常ベクトルを検出することができる。   In the first embodiment, the vectors are two-dimensional as shown in FIG. 2, but an abnormal vector can be similarly detected for a set of vectors of three or more dimensions.

実施の形態1では、ベクトルはそれぞれ通信ネットワークを介した通信に関する値を表すものであるが、他の値を表すものであってもよい。たとえばスポーツに関するものであってもよく、野球選手(たとえば投手)の奪三振数、打ち取り数、失点、防御率、等の値を表すものであってもよい。このようにすると、異常ベクトルを検出することにより、各選手の次年度の起用を決定する際に有用な情報を得ることができる。その他、様々なデータについて汎用的に扱うことが可能である。   In Embodiment 1, each vector represents a value related to communication via the communication network, but may represent another value. For example, it may relate to sports, and may represent values such as the number of strikes, the number of strikes, the goal, the defense rate, etc. of a baseball player (for example, a pitcher). If it does in this way, useful information can be obtained when determining appointment of the next year of each player by detecting an abnormal vector. In addition, it is possible to handle various data for general purposes.

実施の形態1では、図2に示すようにベクトルの集合は正規化されているが、正規化されていない集合を用いてもよい。また、その場合には、異常ベクトル検出装置10はベクトルの集合を正規化する機能を備えてもよい。集合を正規化した場合には各次元について等しい重みをもって異常度を評価することができるが、そのような評価が不要である場合や、いずれかの次元をとくに重視したい場合等では、正規化されない集合を用いてもよい。   In the first embodiment, the vector set is normalized as shown in FIG. 2, but a non-normalized set may be used. In that case, the abnormal vector detection apparatus 10 may have a function of normalizing a set of vectors. When a set is normalized, the degree of anomaly can be evaluated with equal weight for each dimension. However, it is not normalized when such evaluation is unnecessary or when any dimension is particularly important. A set may be used.

10 異常ベクトル検出装置、X1〜X3,Y1〜Y6 ベクトル(X1〜X3 異常候補ベクトルおよび異常ベクトル、Y1〜Y4 異常候補ベクトル)、C1〜C4 クラスタ(異常クラスタ)。   10. Abnormal vector detection device, X1-X3, Y1-Y6 vectors (X1-X3 abnormal candidate vectors and abnormal vectors, Y1-Y4 abnormal candidate vectors), C1-C4 clusters (abnormal clusters).

Claims (7)

複数のベクトルのうちから異常ベクトルを検出する、異常ベクトル検出装置であって、
変数j(ただしjは2以上の整数)の、異なる複数の値について、
‐前記複数のベクトルを、j個のクラスタに分類するステップと、
‐前記j個のクラスタのうちから異常クラスタを検出する、異常クラスタ検出ステップと、
‐前記異常クラスタに属する各ベクトルについて異常度を決定する、異常度決定ステップと、
を実行する、異常度決定機能と、
各ベクトルの前記異常度に基づき、各ベクトルが異常ベクトルであるか否かを判定する、異常ベクトル判定機能と
を備える、異常ベクトル検出装置。
An anomaly vector detection device for detecting an anomaly vector from a plurality of vectors,
For different values of variable j (where j is an integer greater than or equal to 2)
-Classifying the plurality of vectors into j clusters;
An abnormal cluster detection step of detecting an abnormal cluster out of the j clusters;
An abnormality degree determining step for determining an abnormality degree for each vector belonging to the abnormal cluster;
An abnormality determination function for executing
An abnormal vector detection device, comprising: an abnormal vector determination function that determines whether each vector is an abnormal vector based on the degree of abnormality of each vector.
前記異常度決定機能は、所定数のjの値について、少なくとも1個の異常クラスタが検出され、かつ、少なくとも1個の異常クラスタに属する少なくとも1個のベクトルの前記異常度が、前記所定数のjの値すべてにおいて同一となるまで実行される、請求項1に記載の異常ベクトル検出装置。   The abnormality degree determination function detects at least one abnormal cluster for a predetermined number of values of j, and the abnormality degree of at least one vector belonging to at least one abnormal cluster is equal to the predetermined number of values. The abnormal vector detection device according to claim 1, which is executed until all values of j are the same. 前記異常度決定機能は、変数i(ただしiは1以上の整数)の、異なる複数の値について実行され、
前記異常クラスタ検出ステップは、各クラスタについて、そのクラスタに属するベクトルの数がi個以下である場合に、そのクラスタを異常クラスタとして検出するステップである、請求項1または2に記載の異常ベクトル検出装置。
The abnormality determination function is executed for a plurality of different values of the variable i (where i is an integer of 1 or more),
The abnormal vector detection step according to claim 1 or 2, wherein the abnormal cluster detection step is a step of detecting each cluster as an abnormal cluster when the number of vectors belonging to the cluster is i or less. apparatus.
前記異常ベクトル判定機能は、変数iおよびjについて算出された各ベクトルの暫定異常度に基づいて実行される、請求項3に記載の異常ベクトル検出装置。   The abnormality vector detection device according to claim 3, wherein the abnormality vector determination function is executed based on a provisional abnormality degree of each vector calculated for variables i and j. 前記異常度決定ステップにおいて、各ベクトルの前記異常度は、そのベクトルと、SVMによって求められる他のクラスタに属する少なくとも1つの最近サポートベクトルとの距離に基づいて計算される、請求項1〜4のいずれか一項に記載の異常ベクトル検出装置。   5. The abnormality degree determination step according to claim 1, wherein in the abnormality degree determination step, the abnormality degree of each vector is calculated based on a distance between the vector and at least one recent support vector belonging to another cluster obtained by SVM. The abnormal vector detection device according to any one of the above. 前記ベクトルは、それぞれ通信ネットワークを介した通信に関する値を表し、
前記異常ベクトルは、マルウェア等の影響による不審な通信に関する値である、
請求項1〜5のいずれか一項に記載の異常ベクトル検出装置。
Each of the vectors represents a value related to communication via a communication network,
The abnormal vector is a value related to suspicious communication due to the influence of malware, etc.
The anomaly vector detection device according to any one of claims 1 to 5.
コンピュータを、請求項1〜6のいずれか一項に記載の異常ベクトル検出装置として機能させる、異常ベクトル検出プログラム。   An abnormal vector detection program for causing a computer to function as the abnormal vector detection device according to any one of claims 1 to 6.
JP2015156841A 2015-08-07 2015-08-07 Abnormal vector detection apparatus and abnormal vector detection program Expired - Fee Related JP5973636B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015156841A JP5973636B1 (en) 2015-08-07 2015-08-07 Abnormal vector detection apparatus and abnormal vector detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015156841A JP5973636B1 (en) 2015-08-07 2015-08-07 Abnormal vector detection apparatus and abnormal vector detection program

Publications (2)

Publication Number Publication Date
JP5973636B1 JP5973636B1 (en) 2016-08-23
JP2017037382A true JP2017037382A (en) 2017-02-16

Family

ID=56706682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015156841A Expired - Fee Related JP5973636B1 (en) 2015-08-07 2015-08-07 Abnormal vector detection apparatus and abnormal vector detection program

Country Status (1)

Country Link
JP (1) JP5973636B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133004A (en) * 2017-02-16 2018-08-23 日本電信電話株式会社 Abnormality detection system and abnormality detection method
CN109990803A (en) * 2018-01-02 2019-07-09 西门子(中国)有限公司 The method, apparatus of method, apparatus and the sensor processing of detection system exception
JP2020181235A (en) * 2019-04-23 2020-11-05 株式会社 インターコム Server, security monitoring system, program and security monitoring method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6249505B1 (en) * 2016-12-26 2017-12-20 三菱電機インフォメーションシステムズ株式会社 Feature extraction apparatus and program
US11647034B2 (en) * 2020-09-12 2023-05-09 Microsoft Technology Licensing, Llc Service access data enrichment for cybersecurity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216066B1 (en) * 1998-07-01 2001-04-10 General Electric Company System and method for generating alerts through multi-variate data assessment
JP2004312064A (en) * 2003-02-21 2004-11-04 Intelligent Cosmos Research Institute Apparatus, method , and program for detecting network abnormity
US9386028B2 (en) * 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133004A (en) * 2017-02-16 2018-08-23 日本電信電話株式会社 Abnormality detection system and abnormality detection method
CN109990803A (en) * 2018-01-02 2019-07-09 西门子(中国)有限公司 The method, apparatus of method, apparatus and the sensor processing of detection system exception
JP2020181235A (en) * 2019-04-23 2020-11-05 株式会社 インターコム Server, security monitoring system, program and security monitoring method

Also Published As

Publication number Publication date
JP5973636B1 (en) 2016-08-23

Similar Documents

Publication Publication Date Title
Pervez et al. Feature selection and intrusion classification in NSL-KDD cup 99 dataset employing SVMs
Khraisat et al. An anomaly intrusion detection system using C5 decision tree classifier
JP5973636B1 (en) Abnormal vector detection apparatus and abnormal vector detection program
Koc et al. A network intrusion detection system based on a Hidden Naïve Bayes multiclass classifier
Vinutha et al. Detection of outliers using interquartile range technique from intrusion dataset
Yang et al. Re-scale AdaBoost for attack detection in collaborative filtering recommender systems
Kanakarajan et al. Improving the accuracy of intrusion detection using gar-forest with feature selection
Baldwin et al. Leveraging support vector machine for opcode density based detection of crypto-ransomware
Ranjan et al. A new clustering approach for anomaly intrusion detection
Sabar et al. A bi-objective hyper-heuristic support vector machines for big data cyber-security
Bifet et al. Improving adaptive bagging methods for evolving data streams
US20190155824A1 (en) Enabling advanced analytics with large data sets
Wang et al. Mining multi-label data streams using ensemble-based active learning
Prasad et al. Stream data mining: platforms, algorithms, performance evaluators and research trends
US10992675B2 (en) Anomaly detection using tripoint arbitration
Ghanem et al. Novel multi-objective artificial bee colony optimization for wrapper based feature selection in intrusion detection
Sahu et al. An ensemble-based scalable approach for intrusion detection using big data framework
Pattawaro et al. Anomaly-based network intrusion detection system through feature selection and hybrid machine learning technique
EP2953062A1 (en) Learning method, image processing device and learning program
Nguyen et al. An efficient local region and clustering-based ensemble system for intrusion detection
Bhati et al. A new ensemble based approach for intrusion detection system using voting
Aziz et al. Cluster Analysis-Based Approach Features Selection on Machine Learning for Detecting Intrusion.
Jirachan et al. Applying KSE-test and K-means clustering towards scalable unsupervised intrusion detection
Singh et al. Intrusion detection using data mining with correlation
Mustafa et al. Evolving stream classification using change detection

Legal Events

Date Code Title Description
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: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160714

R150 Certificate of patent or registration of utility model

Ref document number: 5973636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees