WO2022244077A1 - 推定装置、推定方法および推定プログラム - Google Patents

推定装置、推定方法および推定プログラム Download PDF

Info

Publication number
WO2022244077A1
WO2022244077A1 PCT/JP2021/018654 JP2021018654W WO2022244077A1 WO 2022244077 A1 WO2022244077 A1 WO 2022244077A1 JP 2021018654 W JP2021018654 W JP 2021018654W WO 2022244077 A1 WO2022244077 A1 WO 2022244077A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
abnormal
similarity
estimation
normal
Prior art date
Application number
PCT/JP2021/018654
Other languages
English (en)
French (fr)
Inventor
智大 永井
拓也 南
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to EP21940697.2A priority Critical patent/EP4325385A1/en
Priority to US18/290,452 priority patent/US20240256667A1/en
Priority to PCT/JP2021/018654 priority patent/WO2022244077A1/ja
Priority to AU2021445975A priority patent/AU2021445975A1/en
Priority to JP2023522024A priority patent/JPWO2022244077A1/ja
Priority to CN202180097987.1A priority patent/CN117296068A/zh
Publication of WO2022244077A1 publication Critical patent/WO2022244077A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Definitions

  • the present invention relates to an estimating device, an estimating method, and an estimating program.
  • Non-Patent Document 1 a technique called so-called explainable AI, which explains the cause of anomalies using deep learning.
  • variable-length communication data is used as an abnormality detection target to identify the cause of an abnormality. could not.
  • the present invention has been made in view of the above, and it is an object of the present invention to make it possible to identify the cause of an anomaly by using variable-length communication data as an anomaly detection target.
  • an estimation apparatus uses abnormal data determined to be abnormal and a plurality of normal data determined to be normal to determine similarity to the abnormal data. comparing the abnormal data with the estimated normal data with an estimating unit for estimating the normal data with the highest degree of error, and extracting the part of the abnormal data that does not have a part corresponding to the normal data as the cause of the abnormality and an extraction unit for
  • FIG. 1 is a diagram for explaining an outline of an estimation device.
  • FIG. 2 is a schematic diagram illustrating a schematic configuration of the estimation device.
  • FIG. 3 is a diagram illustrating an extraction processing result.
  • FIG. 4 is a flowchart showing an estimation processing procedure.
  • FIG. 5 is a diagram for explaining the embodiment.
  • FIG. 6 is a diagram illustrating a computer that executes an estimation program;
  • FIG. 1 is a diagram for explaining an outline of an estimation device.
  • the estimating device of the present embodiment identifies a byte location that is presumed to be the cause of an anomaly in communication data with variable-length communication data as an anomaly detection target.
  • the normality determination data most similar to the abnormality determination data is identified.
  • the estimating device applies dynamic programming to find the overall calculation result while recording the calculation results of the divided parts, and calculates the similarity between the abnormal judgment data and each normal judgment data. do.
  • FIG. 1(c) a location with a gap is identified and assumed to be the abnormal byte that caused the abnormality determination.
  • FIG. 2 is a schematic diagram illustrating a schematic configuration of the estimation device.
  • the estimation device 10 is implemented by a general-purpose computer such as a personal computer, and includes an input unit 11 , an output unit 12 , a communication control unit 13 and a control unit 15 .
  • the input unit 11 is implemented using input devices such as a keyboard and a mouse, and inputs various instruction information such as processing start to the control unit 15 in response to input operations by the operator.
  • the output unit 12 is implemented by a display device such as a liquid crystal display, a printing device such as a printer, or the like.
  • the communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between an external device such as a server and the control unit 15 via a network.
  • the communication control unit 13 controls communication between the control unit 15 and a management device or the like that manages data sets and parameters to be subjected to estimation processing, which will be described later.
  • the control unit 15 is implemented using a CPU (Central Processing Unit) or the like, and executes a processing program stored in memory. Thereby, the control unit 15 functions as an acquisition unit 15a, an estimation unit 15b, and an extraction unit 15c, as illustrated in FIG. It should be noted that these functional units may be implemented in different hardware, respectively or partially. For example, the estimation unit 15b and the extraction unit 15c may be implemented in different hardware. Also, the control unit 15 may include other functional units.
  • CPU Central Processing Unit
  • the acquisition unit 15a acquires data determined to be abnormal and a plurality of data determined to be normal. For example, the acquisition unit 15a receives abnormal data to be subjected to estimation processing (to be described later) and normal data to be used for estimation processing, via the input unit 11 or from a management device or the like that manages the results of deep learning via the communication control unit 13. data set, parameters used for estimation processing, etc.
  • the acquisition unit 15a stores the acquired data in a storage unit (not shown) implemented by a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as a hard disk or optical disk. may be stored. Alternatively, the acquiring unit 15a may transfer these pieces of information to the estimating unit 15b described below without storing them in the storage unit.
  • a storage unit implemented by a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as a hard disk or optical disk.
  • the estimating unit 15b estimates normal data that maximizes the degree of similarity between the abnormal data determined to be abnormal and each of the plurality of normal data determined to be normal. Specifically, using the acquired data, the estimation unit 15b evaluates the similarity between the payload of the packet determined to be abnormal and the set of payloads of the packet determined to be normal, and determines that the packet is abnormal. Estimate the payload that is most similar to the payload of the retrieved packet.
  • the estimation unit 15b applies dynamic programming to calculate the degree of similarity between abnormal data and normal data.
  • the estimating device 10 processes the packet payload of one abnormal data and, for example, 100 or more normal data among the data determined to be abnormal/normal by the abnormality detection by deep learning.
  • the payload is, for example, a hexadecimal character string expressed as [00 00 10 FF 10], and is a variable-length data string with a length of 1 or more.
  • the estimation unit 15b calculates the degree of similarity between the abnormal data and the normal data assuming that the characters appearing in the abnormal data and the normal data continuously loop. That is, the estimating unit 15b assumes that byte characters (00 to FF) appearing in data are looped. The similarity is assumed to be the same value.
  • the estimating unit 15b calculates the Y target with the highest similarity to X using dynamic programming.
  • Dynamic programming can be expressed as in the following equations (1) and (2).
  • the above formula (1) uses the similarity s(x i , y j ) between one character x i in the abnormal data string X and one character y j in the normal data string Y to determine the similarity between X and Y It quantifies the degree S(i, j).
  • the estimation unit 15b sets the character similarity s with the byte character "00" of the normal data to be compared to +10, "01” and "02".
  • the degree of similarity s of characters with "03”, “FF”, “FE”, and “FD” may be preset to +5, and the degree of similarity s to other byte characters may be preset to -5.
  • the estimation unit 15b calculates the degree of similarity between the abnormal data and the normal data using the character similarity s of the abnormal data and the normal data as a value within a predetermined range.
  • the estimation unit 15b evaluates the similarity between the abnormal data string X and the k-th normal data string Yk , and then evaluates the similarity between the abnormal data string X and the k+1-th normal data string Yk+1 . is repeated until the l -th normal data string Yl.
  • the estimation unit 15b can use dynamic programming to compare variable-length data.
  • the estimation unit 15b calculates the degree of similarity between the abnormal data string X and each normal data string Y by performing correction using the anomaly score. That is, the estimating unit 15b multiplies the above S(i, j) by the AI anomaly score (anomaly score) of the result of anomaly detection by deep learning of each normal data string Y as a bias, and obtains the abnormal data string X and each normal data string Y. For example, the estimating unit 15b biases the normal data with the lower anomaly score so that the similarity score of the normal data with the abnormal data becomes higher. Then, the estimating unit 15b specifies the normal data string Y having the highest calculated similarity as the Y target .
  • the extraction unit 15c compares the abnormal data with the normal data estimated to have the highest degree of similarity, and extracts the part of the abnormal data that does not have a part corresponding to the normal data as the cause of the abnormality. Specifically, the extraction unit 15c extracts, as an abnormal portion, a portion having a gap with the estimated payload from the payload of the packet determined to be abnormal.
  • the extraction unit 15c extracts the second byte of the comparison source " 11” is not found in the normal data, it is determined as an abnormal portion and extracted. In this case, the extraction unit 15c replaces the second byte of the normal data with a blank character.
  • the second byte of the normal data is not "11"
  • the second byte of the abnormal data and the normal data may be extracted as a gap.
  • the extraction unit 15c outputs the extracted abnormal point via the output unit 12.
  • the extracting unit 15c outputs a pair of payloads of abnormal data and normal data to the output unit 12 such as a display, and highlights and displays a location with a gap determined as an abnormal location.
  • the extraction unit 15 c may output the information on the extracted abnormal location to another information processing device via the communication control unit 13 .
  • FIG. 3 is a diagram illustrating an extraction processing result.
  • FIG. 3 exemplifies normal data having the highest degree of similarity with abnormal data, and portions of the abnormal data having gaps with the normal data.
  • FIG. 3 as shown in bold, "0X86 0X8C 0X5F" is displayed as an abnormal location with a gap.
  • FIG. 4 is a flowchart showing an estimation processing procedure.
  • the flowchart of FIG. 4 is started, for example, when an operation input instructing the start of estimation processing is performed.
  • the acquisition unit 15a acquires abnormal data determined to be abnormal and a plurality of normal data determined to be normal (step S1).
  • the estimation unit 15b creates a pair of abnormal data and normal data (step S2). Further, the estimation unit 15b estimates the pair having the maximum similarity between the abnormal data and the normal data among the created pairs (step S3).
  • the estimation unit 15b uses dynamic programming to calculate the similarity of each pair. At that time, the estimating unit 15b calculates the degree of similarity of each pair assuming that the characters appearing in the abnormal data and the normal data continuously loop. Also, the estimation unit 15b calculates the similarity of each pair by setting the similarity of the characters of the abnormal data and the normal data to values within a predetermined range. The estimation unit 15b also calculates the similarity of each pair by performing correction using the anomaly score.
  • the extraction unit 15c also compares the abnormal data with the normal data estimated to have the highest degree of similarity, and extracts the part of the abnormal data that has no part corresponding to the normal data and has gaps as the cause of the abnormality. (Step S4).
  • the extraction unit 15c outputs to the output unit 12, for example, emphasizing and displaying the location with the gap determined as the abnormal location (step S5). This completes a series of estimation processes.
  • the estimating unit 15b estimates normal data that maximizes the degree of similarity between the abnormal data determined to be abnormal and each of the plurality of normal data determined to be normal.
  • the extraction unit 15c compares the abnormal data with the normal data estimated to have the highest degree of similarity, and extracts the part of the abnormal data that does not have a part corresponding to the normal data as the cause of the abnormality.
  • the estimation device 10 can identify the part of the abnormal data that is most similar to the normal data that differs from the normal data as the cause of the abnormality, regardless of the lengths of the normal data and the abnormal data.
  • the estimating apparatus 10 can identify the cause of the abnormality by using the communication data of variable length as the object of abnormality detection.
  • the estimation unit 15b also applies dynamic programming to calculate the degree of similarity between the abnormal data and the normal data. In this way, the estimating apparatus 10 can identify the cause of an anomaly with high accuracy by calculating the degree of similarity between abnormal data and normal data using variable-length communication data as an anomaly detection target. Become.
  • the estimation unit 15b calculates the degree of similarity between the abnormal data and the normal data assuming that the characters appearing in the abnormal data and the normal data continuously loop. In this way, the estimation device 10 can identify the cause of the abnormality by specifically and efficiently calculating the similarity.
  • the estimation unit 15b calculates the degree of similarity between the abnormal data and the normal data, with the degree of similarity between the characters of the abnormal data and that of the normal data as values within a predetermined range. In this way, the estimating device 10 can identify the cause of the abnormality with high accuracy by specifically and efficiently calculating the degree of similarity.
  • the estimation unit 15b also calculates the degree of similarity between the abnormal data and the normal data by performing correction using the anomaly score. In this way, the estimation device 10 can identify the cause of the abnormality by specifically calculating the similarity with high accuracy.
  • FIG. 5 is a diagram for explaining the embodiment.
  • the accuracy of estimating the byte location of abnormal communication data that occurs in a cyberattack scenario assumed below was measured.
  • each byte was converted from a hexadecimal number (0x00 to 0xff) to a numerical value (0 to 255) in order to obtain a data format that can be used in dynamic programming.
  • FIG. 5 illustrates the evaluation results of the example. In the evaluation, it was confirmed whether or not the estimated byte strings of the abnormal locations completely matched for each packet, and it was determined as correct when they matched perfectly, and as an error when they did not match perfectly.
  • the abnormal location could be estimated in all packets. If the abnormal byte sequence is inserted in two places, it cannot be estimated correctly with two packets, and if the abnormal byte sequence is inserted in three places, it can be estimated correctly with six packets. Although it was not, it was confirmed that it can be estimated with an accuracy of 90% or more as a whole.
  • the estimating device 10 can be implemented by installing an estimating program that executes the above estimating process as package software or online software on a desired computer.
  • the information processing device can function as the estimation device 10 by causing the information processing device to execute the above estimation program.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone Systems), and slate terminals such as PDAs (Personal Digital Assistants).
  • the functions of the estimation device 10 may be implemented in a cloud server.
  • FIG. 6 is a diagram showing an example of a computer that executes an estimation program.
  • Computer 1000 includes, for example, memory 1010 , CPU 1020 , hard disk drive interface 1030 , disk drive interface 1040 , serial port interface 1050 , video adapter 1060 and network interface 1070 . These units are connected by a bus 1080 .
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 .
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • Hard disk drive interface 1030 is connected to hard disk drive 1031 .
  • Disk drive interface 1040 is connected to disk drive 1041 .
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041, for example.
  • a mouse 1051 and a keyboard 1052 are connected to the serial port interface 1050, for example.
  • a display 1061 is connected to the video adapter 1060 .
  • the hard disk drive 1031 stores an OS 1091, application programs 1092, program modules 1093 and program data 1094, for example. Each piece of information described in the above embodiment is stored in the hard disk drive 1031 or the memory 1010, for example.
  • the estimation program is stored in the hard disk drive 1031 as a program module 1093 in which instructions to be executed by the computer 1000 are written, for example.
  • the hard disk drive 1031 stores a program module 1093 that describes each process executed by the estimation device 10 described in the above embodiment.
  • data used for information processing by the estimation program is stored as program data 1094 in the hard disk drive 1031, for example. Then, the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the hard disk drive 1031 to the RAM 1012 as necessary, and executes each procedure described above.
  • program module 1093 and program data 1094 related to the estimation program are not limited to being stored in the hard disk drive 1031.
  • they are stored in a removable storage medium and read by the CPU 1020 via the disk drive 1041 or the like.
  • the program module 1093 and program data 1094 related to the estimation program are stored in another computer connected via a network such as LAN (Local Area Network) or WAN (Wide Area Network), and via network interface 1070 It may be read by CPU 1020 .
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

推定部(15b)が、異常と判定された異常データと正常と判定された複数の正常データとのそれぞれとの類似度が最大の正常データを推定する。抽出部(15c)が、異常データと類似度が最大と推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する。

Description

推定装置、推定方法および推定プログラム
 本発明は、推定装置、推定方法および推定プログラムに関する。
 近年、工場にある制御装置の通信データを活用することで工場の最適化を目指すスマートファクトリーといわれる取り組みが推進されている。一方、スマートファクトリーを対象とした新種のサイバー攻撃の登場が懸念され、セキュリティ対策が急がれる。新種のサイバー攻撃の防御は難しく、検知の技術が希求されている。特に、自動で入力データから正常な特徴を学習する深層学習の用いたアノマリ型異常検知は、新種のサイバー攻撃を高精度に検知できるため、期待されている。
 しかし、深層学習の判断プロセスはブラックボックスであり、実運用を想定すると、異常と検知した原因を説明できないため、セキュリティ担当者が異常の原因を特定することが不可能である。そこで、近年、深層学習から異常の原因を説明するいわゆる説明可能なAIと呼ばれる技術が開示されている(非特許文献1参照)。
William Briguglio and Sherif Saad, "Interpreting Machine Learning Malware Detectors Which Leverage N-gram Analysis", [online], [2021年4月14日検索]、インターネット<URL: https://arxiv.org/abs/2001.10916.pdf> Xiao Zhang, Manish Marwah, I-ta Lee, Martin Arlitt, Dan Goldwasser, "ACE-An Anomaly Contribution Explainer for Cyber-Security Applications", [online], [2021年4月14日検索]、インターネット<URL: https://arxiv.org/pdf/1912.00314.pdf>
 しかしながら、従来の技術では、固定長の通信データを異常検知の対象として、異常の原因を特定するものであって、可変長の通信データを異常検知の対象として、異常の原因を特定することができなかった。
 本発明は、上記に鑑みてなされたものであって、可変長の通信データを異常検知の対象として、異常の原因を特定可能とすることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る推定装置は、異常と判定された異常データと正常と判定された複数の正常データとを用いて、該異常データとの類似度が最大の正常データを推定する推定部と、前記異常データと推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する抽出部と、を有することを特徴とする。
 本発明によれば、可変長の通信データを異常検知の対象として、異常の原因を特定することが可能となる。
図1は、推定装置の概要を説明するための図である。 図2は、推定装置の概略構成を例示する模式図である。 図3は、抽出処理結果を例示する図である。 図4は、推定処理手順を示すフローチャートである。 図5は、実施例を説明するための図である。 図6は、推定プログラムを実行するコンピュータを例示する図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[推定装置の概要]
 図1は、推定装置の概要を説明するための図である。図1に示すように、本実施形態の推定装置は、可変長の通信データを異常検知の対象として、通信データの異常の原因と推定されるバイト箇所を特定する。具体的には、図1(a)に示すように、異常と判定された通信データ(異常判定データ)と複数の正常と判定された通信データ(正常判定データ)とのペアについて、図1(b)に示すように、異常判定データと最も似ている正常判定データを特定する。その際に、推定装置は、複数に分割された部分の計算結果を記録しながら全体の計算結果を求める動的計画法を適用して、異常判定データと各正常判定データとの類似度を算出する。そのうち、図1(c)に示すように、ギャップがある箇所を特定し、これを異常判定の原因となった異常バイトと推定する。
[推定装置の構成]
 図2は、推定装置の概略構成を例示する模式図である。図2に例示するように、推定装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、および制御部15を備える。
 入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
 通信制御部13は、NIC(Network Interface Card)等で実現され、ネットワークを介したサーバ等の外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、後述する推定処理の対象のデータセットやパラメータを管理する管理装置等と制御部15との通信を制御する。
 制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図2に例示するように、取得部15a、推定部15b、抽出部15cとして機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。例えば、推定部15bと抽出部15cとは異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。
 取得部15aは、異常と判定されたデータと、正常と判定された複数のデータとを取得する。例えば、取得部15aは、入力部11を介して、あるいは深層学習の結果を管理する管理装置等から通信制御部13を介して、後述する推定処理の対象の異常データや推定処理に用いる正常データのデータセット、推定処理に用いるパラメータ等を取得する。
 なお、取得部15aは、取得したデータを、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される不図示の記憶部に記憶させてもよい。あるいは、取得部15aは、これらの情報を記憶部に記憶させずに、以下に説明する推定部15bに転送してもよい。
 推定部15bは、異常と判定された異常データと正常と判定された複数の正常データのそれぞれとの類似度が最大となる正常データを推定する。具体的には、推定部15bは、取得されたデータを用いて、異常と判定されたパケットのペイロードと、正常と判定されたパケットのペイロードの集合との類似度を評価して、異常と判定されたパケットのペイロードに最も類似しているペイロードを推定する。
 例えば、推定部15bは、動的計画法を適用して異常データと正常データとの類似度を算出する。ここで、推定装置10は、深層学習による異常検知で異常/正常を判定されたデータのうち、1つの異常データと、例えば100以上の複数の正常データとのパケットのペイロードを処理対象とする。ペイロードは、例えば、[00 00 10 FF 10]等のように表される16進数の文字列であり、長さ1以上の可変長のデータ列である。
 推定部15bは、異常データおよび正常データに出現する文字が連続してループするものとして異常データと正常データとの類似度を算出する。つまり、推定部15bは、データに出現するバイト文字(00~FF)はループしているものとして、例えば、バイト文字「00」と「FF」の類似度と、「00」と「01」の類似度とは同一の値とする。
 また、推定部15bは、1つの異常データ列X=[x,x,…,x]と複数の正常データ列Y,Y,…,Y,…,Yのうちの1つの正常データ列Y=[y,y,…,y])との類似度Sを算出する。その際に、推定部15bは、動的計画法を用いて、Xとの類似度が最も高いYtargetを算出する。
 動的計画法は、次式(1)、(2)のように表すことができる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 上記式(1)は、異常データ列X中の1文字xと正常データ列Y中の1文字yとの類似度s(x,y)を用いて、XとYとの類似度S(i,j)を数値化するものである。
 また、上記式(1)の1行目において、上記式(2)に示すように、xとyが一致した場合にはs(x,y)として+10、一致しない場合には、xとyの距離が差し引かれる。
 あるいは、推定部15bは、例えば、異常データのバイト文字「00」と比較する場合に、比較先の正常データのバイト文字「00」との文字の類似度sは+10、「01」「02」「03」「FF」「FE」「FD」との文字の類似度sは+5、その他のバイト文字との類似度sは-5というように、予め設定してもよい。
 このように、推定部15bは、異常データのおよび正常データの文字の類似度sを所定の範囲の値として、異常データと正常データとの類似度を算出する。
 また、推定部15bは、異常データ列Xとk番目の正常データ列Ykとの類似度を評価した後に、異常データ列Xとk+1番目の正常データ列Yk+1との類似度を評価する処理を、l番目の正常データ列Yまで繰り返す。
 このようにして、推定部15bは、動的計画法を用いて、可変長のデータ同士を比較することが可能となる。
 その後、推定部15bは、アノマリスコアを用いた補正を行うことにより、異常データ列Xと各正常データ列Yとの類似度を算出する。つまり、推定部15bは、上記のS(i,j)に各正常データ列Yの深層学習による異常検知の結果のAI異常度スコア(アノマリスコア)をバイアスとしてかけた値を、異常データ列Xと各正常データ列Yとの類似度として算出する。例えば、推定部15bは、正常データのうち、アノマリスコアが低い方の正常データの異常データとの類似度スコアが高くなるように、バイアスをかける。そして、推定部15bは、算出した類似度が最高値となる正常データ列YをYtargetとして特定する。
 抽出部15cは、異常データと類似度が最大と推定された正常データとを比較して、正常データに対応する部分がない異常データの部分を、異常の原因箇所として抽出する。具体的には、抽出部15cは、異常と判定されたパケットのペイロードのうち、推定されたペイロードとギャップがある箇所を異常箇所として抽出する。
 例えば、比較元の異常データのペイロードが「00 11 FF FD」であり、比較先の正常データのペイロードが「00 FF FD」であった場合に、抽出部15cは、比較元の2バイト目「11」に対応する部分が正常データにはないため、異常箇所と判定して抽出する。この場合に、抽出部15cは、正常データの2バイト目は空白文字で代替する。
 なお、正常データの2バイト目が「11」ではない場合も、異常データと正常データの2バイト目をギャップのある箇所として抽出してもよい。
 また、抽出部15cは、出力部12を介して、抽出した異常箇所を出力する。例えば、抽出部15cは、ディスプレイ等の出力部12に異常データと正常データとのペアのペイロードを出力し、異常箇所と判定したギャップのある箇所をハイライトで強調して表示する。なお、抽出部15cは、抽出した異常箇所の情報を、通信制御部13を介して他の情報処理装置に出力してもよい。
 ここで、図3は、抽出処理結果を例示する図である。図3には、異常データとの類似度が最大であった正常データと、異常データのうち、その正常データとのギャップがある箇所とが例示されている。図3には、太字で示すように、「0X86 0X8C 0X5F」が、ギャップがある異常箇所として表示されている。
[推定処理]
 次に、図4を参照して、本実施形態に係る推定装置10による推定処理について説明する。図4は、推定処理手順を示すフローチャートである。図4のフローチャートは、例えば、推定処理の開始を指示する操作入力があったタイミングで開始される。
 まず、取得部15aが、異常と判定された異常データと、正常と判定された複数の正常データとを取得する(ステップS1)。
 次に、推定部15bが、異常データと正常データのペアを作成する(ステップS2)。また、推定部15bが、作成したペアのうち、異常データと正常データとの類似度が最大となるペアを推定する(ステップS3)。
 例えば、推定部15bは、動的計画法を用いて、各ペアの類似度を算出する。その際に、推定部15bは、異常データおよび正常データに出現する文字が連続してループするものとして各ペアの類似度を算出する。また、推定部15bは、異常データのおよび正常データの文字の類似度を所定の範囲の値として、各ペアの類似度を算出する。また、推定部15bは、アノマリスコアを用いた補正を行うことにより、各ペアの類似度を算出する。
 また、抽出部15cは、異常データと類似度が最大と推定された正常データとを比較して、正常データに対応する部分がなくギャップのある異常データの部分を、異常の原因箇所として抽出する(ステップS4)。
 そして、抽出部15cは、異常箇所と判定したギャップのある箇所をハイライトで強調して表示する等して出力部12に出力する(ステップS5)。これにより、一連の推定処理が終了する。
 以上、説明したように、推定装置10において、推定部15bが、異常と判定された異常データと正常と判定された複数の正常データのそれぞれとの類似度が最大となる正常データを推定する。抽出部15cが、異常データと類似度が最大と推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する。
 このように、推定装置10は、正常データと異常データの長さに依らずに、正常データと最も類似する異常データの正常データと異なる部分を異常の原因箇所として特定することができる。これにより、推定装置10は、可変長の通信データを異常検知の対象として、異常の原因を特定することが可能となる。
 また、推定部15bは、動的計画法を適用して異常データと正常データとの類似度を算出する。このように、推定装置10は、具体的に可変長の通信データを異常検知の対象として異常データと正常データとの類似度を算出することにより、精度高く異常の原因を特定することが可能となる。
 また、推定部15bは、異常データおよび正常データに出現する文字が連続してループするものとして異常データと正常データとの類似度を算出する。このように、推定装置10は、具体的に効率よく類似度を算出することにより、異常の原因を特定することが可能となる。
 また、推定部15bは、異常データのおよび正常データの文字の類似度を所定の範囲の値として、異常データと正常データとの類似度を算出する。このように、推定装置10は、具体的に効率よく類似度を算出することにより、精度高く異常の原因を特定することが可能となる。
 また、推定部15bは、アノマリスコアを用いた補正を行うことにより、異常データと正常データとの類似度を算出する。このように、推定装置10は、具体的に高精度に類似度を算出することにより、異常の原因を特定することが可能となる。
[実施例]
 図5は、実施例を説明するための図である。本実施例では、以下に示すように想定されたサイバー攻撃シナリオで発生する異常な通信データのバイト箇所の推定精度を計測した。
 サイバー攻撃シナリオとして、正常に稼働している通信の一部に、悪意のある者が悪性のプログラムを実行するためのコードを挿入し、不正操作を可能とする、悪性コード挿入攻撃を想定する。そして、悪性コードが挿入されているバイト箇所を異常箇所として推定した。
 例えば、正常な通信「00 01 00 00 00 41 6b」、異常な通信「00 01 00 00 54 1b FF FF 31 00 41 6b」の場合に、挿入された悪性コード「54 1b FF FF 31」を異常箇所として特定する。
 深層学習により正常ラベルまたは異常ラベルが付与されたパケットのうち、2133件の正常データと、挿入する悪性コードの長さ(1~3の3種類)ごとに100件の異常データを用いて、正常データのランダムな1箇所に悪性コードのバイト列を挿入した。
 1パケットごとに、異常箇所を判定した。その際に、動的計画法で使用可能なデータ形式とするために、各バイトを16進数(0x00~0xff)から数値(0~255)に変換した。
 図5には、実施例の評価結果が例示されている。評価では、1パケットごとに、異常箇所のバイト列の推定が完全に一致しているかを確認し、完全一致している場合に正解、完全一致していない場合には誤りとした。
 図5に示すように、異常バイト列の挿入が1箇所の場合には、全てのパケットで異常箇所を推定できた。異常バイト列の挿入が2箇所の場合には、2件のパケットで正しく推定することができず、異常バイト列の挿入が3箇所の場合には、6件のパケットで正しく推定することができなかったものの、全体として、90%以上の精度で推定できることを確認した。
[プログラム]
 上記実施形態に係る推定装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、推定装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の推定処理を実行する推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の推定プログラムを情報処理装置に実行させることにより、情報処理装置を推定装置10として機能させることができる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。また、推定装置10の機能を、クラウドサーバに実装してもよい。
 図6は、推定プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
 ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
 また、推定プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した推定装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
 また、推定プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
 なお、推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
 10 推定装置
 11 入力部
 12 出力部
 13 通信制御部
 15 制御部
 15a 取得部
 15b 推定部
 15c 抽出部

Claims (7)

  1.  異常と判定された異常データと正常と判定された複数の正常データのそれぞれとの類似度が最大となる正常データを推定する推定部と、
     前記異常データと類似度が最大と推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する抽出部と、
     を有することを特徴とする推定装置。
  2.  前記推定部は、動的計画法を適用して前記類似度を算出することを特徴とする請求項1に記載の推定装置。
  3.  前記推定部は、異常データおよび正常データに出現する文字が連続してループするものとして類似度を算出することを特徴とする請求項2に記載の推定装置。
  4.  前記推定部は、異常データのおよび正常データの文字の類似度を所定の範囲の値として、前記類似度を算出することを特徴とする請求項2に記載の推定装置。
  5.  前記推定部は、アノマリスコアを用いた補正を行うことにより、前記類似度を算出することを特徴とする請求項2に記載の推定装置。
  6.  推定装置が実行する推定方法であって、
     異常と判定された異常データと正常と判定された複数の正常データのそれぞれとの類似度が最大となる正常データを推定する推定工程と、
     前記異常データと類似度が最大と推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する抽出工程と、
     を含んだことを特徴とする推定方法。
  7.  コンピュータに、
     異常と判定された異常データと正常と判定された複数の正常データのそれぞれとの類似度が最大となる正常データを推定する推定ステップと、
     前記異常データと類似度が最大と推定された正常データとを比較して、該正常データに対応する部分がない該異常データの部分を、異常の原因箇所として抽出する抽出ステップと、
     を実行させることを特徴とする推定プログラム。
PCT/JP2021/018654 2021-05-17 2021-05-17 推定装置、推定方法および推定プログラム WO2022244077A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP21940697.2A EP4325385A1 (en) 2021-05-17 2021-05-17 Estimation device, estimation method, and estimation program
US18/290,452 US20240256667A1 (en) 2021-05-17 2021-05-17 Estimation device, estimation method, and estimation program
PCT/JP2021/018654 WO2022244077A1 (ja) 2021-05-17 2021-05-17 推定装置、推定方法および推定プログラム
AU2021445975A AU2021445975A1 (en) 2021-05-17 2021-05-17 Estimation device, estimation method, and estimation program
JP2023522024A JPWO2022244077A1 (ja) 2021-05-17 2021-05-17
CN202180097987.1A CN117296068A (zh) 2021-05-17 2021-05-17 估计装置、估计方法以及估计程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/018654 WO2022244077A1 (ja) 2021-05-17 2021-05-17 推定装置、推定方法および推定プログラム

Publications (1)

Publication Number Publication Date
WO2022244077A1 true WO2022244077A1 (ja) 2022-11-24

Family

ID=84141360

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/018654 WO2022244077A1 (ja) 2021-05-17 2021-05-17 推定装置、推定方法および推定プログラム

Country Status (6)

Country Link
US (1) US20240256667A1 (ja)
EP (1) EP4325385A1 (ja)
JP (1) JPWO2022244077A1 (ja)
CN (1) CN117296068A (ja)
AU (1) AU2021445975A1 (ja)
WO (1) WO2022244077A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515867A (ja) * 2003-11-12 2007-06-14 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク 正常データのnグラム分布を用いてペイロード異常を検出するための装置、方法、及び媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515867A (ja) * 2003-11-12 2007-06-14 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク 正常データのnグラム分布を用いてペイロード異常を検出するための装置、方法、及び媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FUKAI, KEN : "Estimating the causative function of performance failure by analyzing the execution path", IPSJ SIG TECHNICAL REPORT, vol. 2015-OS-135, no. 12, 17 November 2015 (2015-11-17), JP , pages 1 - 7, XP009541616, ISSN: 2188-8795 *
WILLIAM BRIGUGLIOSHERIF SAAD, INTERPRETING MACHINE LEARNING MALWARE DETECTORS WHICH LEVERAGE N-GRAM ANALYSIS, 14 April 2021 (2021-04-14), Retrieved from the Internet <URL:https://arxiv.org/abs/2001.10916.pdf>>
XIAO ZHANGMANISH MARWAHI-TA LEEMARTIN ARLITTDAN GOLDWASSER, ACE-AN ANOMALY CONTRIBUTION EXPLAINER FOR CYBER-SECURITY APPLICATIONS, 14 April 2021 (2021-04-14), Retrieved from the Internet <URL:https://arxiv.org/pdf/1912.00314.pdf>>

Also Published As

Publication number Publication date
JPWO2022244077A1 (ja) 2022-11-24
EP4325385A1 (en) 2024-02-21
AU2021445975A1 (en) 2023-11-16
US20240256667A1 (en) 2024-08-01
CN117296068A (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
US8401982B1 (en) Using sequencing and timing information of behavior events in machine learning to detect malware
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
US20230362182A1 (en) Abnormality sensing device and abnormality sensing method
US11212297B2 (en) Access classification device, access classification method, and recording medium
WO2018066516A1 (ja) 攻撃コード検知装置、攻撃コード検知方法及び攻撃コード検知プログラム
EP3293657B1 (en) Analysis method, analysis device, and analysis program
EP3404572B1 (en) Attack code detection device, attack code detection method, and attack code detection program
CN109992969B (zh) 一种恶意文件检测方法、装置及检测平台
CN110750789B (zh) 解混淆方法、装置、计算机设备和存储介质
US10970391B2 (en) Classification method, classification device, and classification program
EP3312755B1 (en) Method and apparatus for detecting application
JP6915305B2 (ja) 検知装置、検知方法および検知プログラム
Pranav et al. Detection of botnets in IoT networks using graph theory and machine learning
WO2022244077A1 (ja) 推定装置、推定方法および推定プログラム
EP3504597B1 (en) Identification of deviant engineering modifications to programmable logic controllers
KR101625890B1 (ko) 인터넷 응용 트래픽 프로토콜의 시그니처 변경 탐지를 위한 테스트 자동화 방법 및 시스템
CN116458119B (zh) 估计装置、估计方法以及记录介质
CN115134153A (zh) 安全评估方法、装置和模型训练方法、装置
JP6740184B2 (ja) 付与装置、付与方法および付与プログラム
WO2022259330A1 (ja) 推定装置、推定方法および推定プログラム
WO2022249472A1 (ja) 検知装置、検知方法および検知プログラム
US11934427B2 (en) Data classification apparatus, data classification method and program
Eresheim et al. Anomaly Detection Support Using Process Classification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21940697

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023522024

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2021445975

Country of ref document: AU

Ref document number: AU2021445975

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 202180097987.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2021940697

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 18290452

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2021445975

Country of ref document: AU

Date of ref document: 20210517

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021940697

Country of ref document: EP

Effective date: 20231113

NENP Non-entry into the national phase

Ref country code: DE