JP2013232716A - Attack determination apparatus, attack determination method and attack determination program - Google Patents

Attack determination apparatus, attack determination method and attack determination program Download PDF

Info

Publication number
JP2013232716A
JP2013232716A JP2012102602A JP2012102602A JP2013232716A JP 2013232716 A JP2013232716 A JP 2013232716A JP 2012102602 A JP2012102602 A JP 2012102602A JP 2012102602 A JP2012102602 A JP 2012102602A JP 2013232716 A JP2013232716 A JP 2013232716A
Authority
JP
Japan
Prior art keywords
normal
attack
setting information
unit
access request
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
JP2012102602A
Other languages
Japanese (ja)
Other versions
JP5832951B2 (en
Inventor
Hiroshi Asakura
浩志 朝倉
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012102602A priority Critical patent/JP5832951B2/en
Publication of JP2013232716A publication Critical patent/JP2013232716A/en
Application granted granted Critical
Publication of JP5832951B2 publication Critical patent/JP5832951B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To detect unknown attacks.SOLUTION: When a normal access request known to be normal is sent to an information processing apparatus, an attack determination apparatus learns setting information set in the normal access request as normal information. The attack determination apparatus stores a set of normal information thus learned. If an unknown access request that is not known to be normal is sent to the information processing apparatus, on the other hand, the attack determination apparatus calculates an index value indicating a degree of classification of setting information set in the unknown access request under the set of normal information. The attack determination apparatus then determines whether or not the unknown access request is an attack on the information processing apparatus on the basis of the calculated index value.

Description

本発明の実施形態は、攻撃判定装置、攻撃判定方法及び攻撃判定プログラムに関する。   Embodiments described herein relate generally to an attack determination device, an attack determination method, and an attack determination program.

従来、インターネットの普及に伴い、アプリケーションの配信を実施するサーバに対するサイバー攻撃が急増している。サイバー攻撃の代表例としては、Webアプリケーションの脆弱性を狙った不正なHTTP(HyperText Transfer Protocol)リクエスト、SQL(Structured Query Language)インジェクション、クロスサイトスクリプティング攻撃などが挙げられる。   2. Description of the Related Art Conventionally, with the spread of the Internet, cyber attacks against servers that distribute applications have increased rapidly. Typical examples of cyber attacks include unauthorized HTTP (HyperText Transfer Protocol) requests, SQL (Structured Query Language) injection, and cross-site scripting attacks that target vulnerabilities in Web applications.

このような攻撃への対策として、IDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、WAF(Web Application Firewall)などと呼ばれるネットワークへの不正侵入検知・防御システムが知られている。これらのシステムでは、様々な攻撃手法をパターン化した「ブラックリスト」や「シグネチャファイル」を用いて、パターンに合致する攻撃を検知及び防御することが行われる。   As countermeasures against such attacks, there are known unauthorized intrusion detection / protection systems for networks called IDS (Intrusion Detection System), IPS (Intrusion Prevention System), WAF (Web Application Firewall) and the like. In these systems, an attack that matches a pattern is detected and prevented using a “black list” or a “signature file” obtained by patterning various attack methods.

山田明、三宅優、竹森敬祐、田中俊昭著 「学習データを自動生成する未知攻撃検知システム」 情報処理学会論文誌、vol.46、No.8 2005年8月Akira Yamada, Yu Miyake, Keisuke Takemori, Toshiaki Tanaka “Unknown attack detection system that automatically generates learning data” IPSJ Journal, vol. 46, no. 8 August 2005

しかしながら、上記の従来技術では、未知の攻撃を検知することが困難であった。具体的には、攻撃は日々進化するので、既知の攻撃を予めパターン化しておく手法の場合には、攻撃が既知となってから検知対象及び防御対象の攻撃をパターン化することを要し、未知の攻撃に対応することが困難であった。さらに、攻撃をパターン化する手法の場合には、新たな攻撃が発見されるたびに、専門家等が攻撃を解析してパターン化したデータを作成することを要するので、攻撃に対する対応コストがかかるという問題も招く。   However, it is difficult to detect an unknown attack with the above-described conventional technology. Specifically, since attacks evolve every day, in the case of a method of patterning a known attack in advance, it is necessary to pattern the attack of the detection target and the defense target after the attack is known, It was difficult to respond to unknown attacks. In addition, in the case of a method for patterning an attack, it is necessary to create a patterned data by analyzing an attack each time a new attack is discovered, so there is a cost for dealing with the attack. Invite the problem.

本願の開示する技術は、上記に鑑みてなされたものであって、未知の攻撃を検知することができる攻撃判定装置、攻撃判定方法及び攻撃判定プログラムを提供することを目的とする。   The technology disclosed in the present application has been made in view of the above, and an object thereof is to provide an attack determination device, an attack determination method, and an attack determination program capable of detecting an unknown attack.

実施形態に係る攻撃判定装置は、正常であることが既知である正常アクセス要求が情報処理装置に送信された場合に、当該正常アクセス要求に設定されている設定情報を正常情報として学習する学習部と、前記学習部によって学習された正常情報の集合を記憶する学習結果記憶部と、正常であることが既知でない未知アクセス要求が前記情報処理装置に送信された場合に、当該未知アクセス要求に設定されている設定情報が前記正常情報の集合に分類される度合いを示す指標値を算出する算出部と、前記算出部によって算出された指標値に基づいて、前記未知アクセス要求が前記情報処理装置に対する攻撃であるか否かを判定する判定部とを備えることを特徴とする。   The attack determination apparatus according to the embodiment learns the setting information set in the normal access request as normal information when a normal access request that is known to be normal is transmitted to the information processing apparatus. A learning result storage unit that stores a set of normal information learned by the learning unit, and an unknown access request that is not known to be normal is transmitted to the information processing apparatus, and is set in the unknown access request A calculation unit that calculates an index value indicating a degree to which the set information being classified into the set of normal information, and the unknown access request is sent to the information processing device based on the index value calculated by the calculation unit It is provided with the determination part which determines whether it is an attack.

実施形態に係る攻撃判定装置、攻撃判定方法及び攻撃判定プログラムは、未知の攻撃を検知することができるという効果を奏する。   The attack determination device, the attack determination method, and the attack determination program according to the embodiment have an effect that an unknown attack can be detected.

図1は、第1の実施形態に係るネットワークシステムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a network system according to the first embodiment. 図2は、第1の実施形態に係る攻撃判定装置によって検知される攻撃の一例を示す説明図である。FIG. 2 is an explanatory diagram illustrating an example of an attack detected by the attack determination device according to the first embodiment. 図3は、第1の実施形態に係る攻撃判定装置の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the attack determination device according to the first embodiment. 図4は、第1の実施形態に係る再構築部及び抽出部による処理例を示す説明図である。FIG. 4 is an explanatory diagram illustrating a processing example by the reconstruction unit and the extraction unit according to the first embodiment. 図5は、第1の実施形態に係る攻撃判定装置による学習処理手順を示すフローチャートである。FIG. 5 is a flowchart illustrating a learning process procedure performed by the attack determination apparatus according to the first embodiment. 図6は、第1の実施形態に係る攻撃判定装置による攻撃判定処理手順を示すフローチャートである。FIG. 6 is a flowchart illustrating an attack determination processing procedure performed by the attack determination apparatus according to the first embodiment. 図7は、攻撃判定プログラムを実行するコンピュータを示す図である。FIG. 7 is a diagram illustrating a computer that executes an attack determination program.

以下に、本願に係る攻撃判定装置、攻撃判定方法及び攻撃判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る攻撃判定装置、攻撃判定方法及び攻撃判定プログラムが限定されるものではない。   Hereinafter, embodiments of an attack determination device, an attack determination method, and an attack determination program according to the present application will be described in detail with reference to the drawings. The embodiment does not limit the attack determination apparatus, the attack determination method, and the attack determination program according to the present application.

(第1の実施形態)
[ネットワークシステムの構成]
まず、図1を用いて、第1の実施形態に係るネットワークシステムについて説明する。図1は、第1の実施形態に係るネットワークシステム1の構成例を示す図である。図1に例示したネットワークシステム1には、ユーザ端末11及び12と、ネットワーク20と、ネットワーク機器30と、サーバ装置40と、プローブ50と、攻撃判定装置100とを含まれる。ユーザ端末11及び12とサーバ装置40は、ネットワーク20及びネットワーク機器30を介して、互いに通信可能に接続される。
(First embodiment)
[Network system configuration]
First, the network system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a configuration example of a network system 1 according to the first embodiment. The network system 1 illustrated in FIG. 1 includes user terminals 11 and 12, a network 20, a network device 30, a server device 40, a probe 50, and an attack determination device 100. The user terminals 11 and 12 and the server device 40 are communicably connected to each other via the network 20 and the network device 30.

なお、ネットワークシステム1に含まれる各装置の台数は、図1に示した例に限られない。例えば、ネットワークシステム1には、2台以上のユーザ端末11、ユーザ端末12、ネットワーク機器30、サーバ装置40、プローブ50、攻撃判定装置100が含まれてもよい。   The number of devices included in the network system 1 is not limited to the example shown in FIG. For example, the network system 1 may include two or more user terminals 11, a user terminal 12, a network device 30, a server device 40, a probe 50, and an attack determination device 100.

ユーザ端末11及び12は、ユーザによって利用される情報処理装置であり、例えば、PC(Personal Computer)や携帯端末装置などである。かかるユーザ端末11及び12は、利用者による操作に従って、サーバ装置40にアクセスする。ここで、第1の実施形態において、ユーザ端末11は、悪意のない利用者(例えば、攻撃判定装置100の管理者等)によって利用され、サーバ装置40に対して正常なアクセスを行うものとする。一方、ユーザ端末12は、悪意のある攻撃者によって利用され、サーバ装置40に対して攻撃(不正アクセス等のサイバー攻撃)を行う場合があるものとする。   The user terminals 11 and 12 are information processing apparatuses used by a user, such as a PC (Personal Computer) or a mobile terminal apparatus. The user terminals 11 and 12 access the server device 40 in accordance with user operations. Here, in the first embodiment, the user terminal 11 is used by a non-malicious user (for example, an administrator of the attack determination device 100) and normally accesses the server device 40. . On the other hand, it is assumed that the user terminal 12 may be used by a malicious attacker to perform an attack (cyber attack such as unauthorized access) on the server device 40.

ネットワーク20は、例えば、WAN(Wide Area Network)やLAN(Local Area Network)であり、通信網を形成する。なお、ネットワーク20は、有線ネットワークを形成してもよいし、無線ネットワークを形成してもよい。   The network 20 is, for example, a WAN (Wide Area Network) or a LAN (Local Area Network), and forms a communication network. The network 20 may form a wired network or a wireless network.

ネットワーク機器30は、サーバ装置40とネットワーク20との間を仲介する装置であり、例えば、スイッチやルータである。   The network device 30 is a device that mediates between the server device 40 and the network 20, and is, for example, a switch or a router.

サーバ装置40は、各種サービスを提供する情報処理装置である。例えば、サーバ装置40は、Webアプリケーションがインストールされており、ユーザ端末11又は12からの要求に応答して、各種Webサービスを提供する。なお、サーバ装置40は、サーバ装置だけでなく、各種データを記憶するストレージ装置等を具備してもよい。   The server device 40 is an information processing device that provides various services. For example, the server device 40 is installed with a Web application and provides various Web services in response to a request from the user terminal 11 or 12. The server device 40 may include not only the server device but also a storage device that stores various data.

プローブ50は、ネットワーク機器30を流通する各種通信パケットを取得(キャプチャ)し、取得した通信パケットを攻撃判定装置100に出力する。第1の実施形態に係るプローブ50は、ユーザ端末11又は12からサーバ装置40に対する通信パケット(例えば、HTTPリクエスト等のアクセス要求)を取得する。なお、プローブ50は、ネットワーク機器30と一体化されてもよい。   The probe 50 acquires (captures) various communication packets flowing through the network device 30 and outputs the acquired communication packets to the attack determination device 100. The probe 50 according to the first embodiment acquires a communication packet (for example, an access request such as an HTTP request) from the user terminal 11 or 12 to the server device 40. Note that the probe 50 may be integrated with the network device 30.

攻撃判定装置100は、プローブ50から出力される通信パケットを用いて、サーバ装置40に対して攻撃が行われているか否かを判定する。具体的には、第1の実施形態に係るネットワークシステム1では、まず、管理者等によって利用されるユーザ端末11のみがサーバ装置40に対してアクセス可能であり、ユーザ端末12等の外部からサーバ装置40に対してアクセスできない学習用の通信環境を形成する。そして、ユーザ端末11は、学習用の通信環境において、サーバ装置40に対して繰り返しアクセスを行うことで、正常であることが既知であるアクセス要求をサーバ装置40に送信する。このとき、攻撃判定装置100は、サーバ装置40に送信された正常であることが既知であるアクセス要求に設定されている設定情報(後述するクエリ)を学習し、学習した設定情報を正常情報の集合として保持しておく。   The attack determination device 100 determines whether an attack is being performed on the server device 40 using the communication packet output from the probe 50. Specifically, in the network system 1 according to the first embodiment, first, only the user terminal 11 used by an administrator or the like can access the server device 40, and the server from outside the user terminal 12 or the like A communication environment for learning that cannot access the device 40 is formed. Then, the user terminal 11 transmits an access request that is known to be normal to the server device 40 by repeatedly accessing the server device 40 in the learning communication environment. At this time, the attack determination device 100 learns the setting information (query to be described later) set in the access request that is known to be normal transmitted to the server device 40, and uses the learned setting information for the normal information. Keep as a set.

そして、攻撃判定装置100は、学習用の通信環境ではなく通常運用の通信環境において、正常であることが既知でないアクセス要求がサーバ装置40に送信された場合に、かかるアクセス要求に設定されている設定情報が、前述した正常情報の集合に分類される度合いを示す指標値を算出する。そして、攻撃判定装置100は、算出した指標値に基づいて、かかるアクセス要求がサーバ装置40に対する攻撃であるか否かを判定する。   The attack determination apparatus 100 is set to an access request when an access request that is not known to be normal is transmitted to the server apparatus 40 in a normal operation communication environment instead of a learning communication environment. An index value indicating the degree to which the setting information is classified into the above-described set of normal information is calculated. Then, the attack determination device 100 determines whether the access request is an attack on the server device 40 based on the calculated index value.

このように、第1の実施形態に係る攻撃判定装置100は、設定情報が正常情報の集合に分類される指標値を用いて攻撃判定を行うので、予めパターン化された攻撃のシグネチャファイルやブラックリストを要することなく、サーバ装置40に対する未知の攻撃を検知することができる。すなわち、攻撃判定装置100は、専門家等によるパターン化データの作成に要するコストを低減することができるとともに、未知の攻撃を検知することができる。   As described above, since the attack determination device 100 according to the first embodiment performs the attack determination using the index value whose setting information is classified into a set of normal information, a pre-patterned attack signature file or black An unknown attack against the server device 40 can be detected without requiring a list. That is, the attack determination apparatus 100 can reduce the cost required for creating patterned data by an expert or the like, and can detect an unknown attack.

ここで、図2を用いて、第1の実施形態に係る攻撃判定装置100によって検知される攻撃について説明する。図2は、第1の実施形態に係る攻撃判定装置100によって検知される攻撃の一例を示す説明図である。   Here, the attack detected by the attack determination apparatus 100 according to the first embodiment will be described with reference to FIG. FIG. 2 is an explanatory diagram illustrating an example of an attack detected by the attack determination device 100 according to the first embodiment.

図2(1)に示した例のように、アノーマリ型のIPSは、「ネットワーク攻撃やDoS攻撃(SYN flood攻撃など)」、「システムやアプリケーションの探索」、「異常な形式のパケットやコンテンツを利用した攻撃」などを検知する。また、図2(2)に示した例のように、アプリケーション型のFWは、「管理者が許可していないアクセス」、「不正なP2P(Peer to Peer)アプリケーションの利用」などを検知する。   As in the example shown in Fig. 2 (1), anomaly-type IPS can be used for "network attack and DoS attack (SYN flood attack, etc.)", "system and application search", "abnormally formatted packets and contents. Detects “attack used”. Further, as in the example shown in FIG. 2B, the application type FW detects “access not permitted by the administrator”, “invalid use of P2P (Peer to Peer) application”, and the like.

また、図2(3)に示した例のように、シグネチャ型のIPSは、「OS(Operating System)やサービスの脆弱性を狙った攻撃や侵入」、「Webアプリケーションの脆弱性の一部」などを検知する。また、図2(4)に示した例のように、アンチウィルスは、「ウィルスやワームやトロイの木馬などの有害なコンテンツ」、「スパムメールやフィッシング」などを検知する。   Also, as in the example shown in FIG. 2 (3), the signature type IPS is “attack or intrusion targeting OS (Operating System) and service vulnerabilities”, “part of Web application vulnerabilities”. Etc. are detected. Further, as in the example shown in FIG. 2D, the anti-virus detects “harmful contents such as viruses, worms, and Trojan horses”, “spam mail and phishing”, and the like.

また、図2(5)に示した例のように、WAFは、Webアプリケーションの脆弱性を狙った「不正なHTTPリクエスト」や「SQLインジェクション」や「クロスサイトスクリプティング攻撃」などを検知する。この種のWebアプリケーションの脆弱性を狙った各種攻撃は、常に未知の攻撃が開発されている。また、大々的なニュースとなるサイバー攻撃は、主にこの種のWebアプリケーションの脆弱性を狙った攻撃であり、このような攻撃を受けた場合には、企業経営に大きな打撃を与える。しかし、一般的なWAFは、予め攻撃手法をパターン化したシグネチャファイル等を用いて、攻撃を検知するので、未知の攻撃を検知することが困難であった。   Further, as in the example shown in FIG. 2 (5), the WAF detects “illegal HTTP request”, “SQL injection”, “cross-site scripting attack”, and the like aimed at the vulnerability of the Web application. As for various attacks aimed at vulnerabilities of this type of Web application, unknown attacks are constantly being developed. A cyber attack, which is a major news, is an attack mainly targeting vulnerabilities of this type of Web application, and when such an attack is received, a big blow is given to corporate management. However, since a general WAF detects an attack using a signature file or the like obtained by patterning an attack technique in advance, it is difficult to detect an unknown attack.

そこで、第1の実施形態に係る攻撃判定装置100は、図2に示した各種攻撃のうち、主にWebアプリケーションの脆弱性を狙った攻撃(図2(5))を検知する。これにより、第1の実施形態に係る攻撃判定装置100は、常に未知の攻撃が開発されている攻撃を検知することができるので、サイバー攻撃により大々的なニュースとなることを防止するとともに、企業経営に大きな打撃を与えることを防止することを可能にする。   Therefore, the attack determination apparatus 100 according to the first embodiment detects an attack (FIG. 2 (5)) mainly targeting the vulnerability of the Web application among the various attacks shown in FIG. Thereby, since the attack determination apparatus 100 according to the first embodiment can always detect an attack in which an unknown attack has been developed, it can prevent a cyber attack from becoming a large-scale news, and corporate management. It is possible to prevent giving a big hit to.

[攻撃判定装置の構成]
次に、図3を用いて、第1の実施形態に係る攻撃判定装置100について説明する。図3は、第1の実施形態に係る攻撃判定装置100の構成例を示す図である。なお、以下では、サーバ装置40がWebサーバとして動作しており、ユーザ端末11及び12がサーバ装置40に対してHTTPリクエストを送信する場合を例に挙げて説明する。
[Configuration of attack determination device]
Next, the attack determination apparatus 100 according to the first embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating a configuration example of the attack determination apparatus 100 according to the first embodiment. In the following, a case where the server device 40 operates as a Web server and the user terminals 11 and 12 transmit an HTTP request to the server device 40 will be described as an example.

図3に例示するように、第1の実施形態に係る攻撃判定装置100は、IF(interface)部110と、学習結果記憶部120と、再構築部131と、抽出部132と、学習部133と、算出部134と、判定部135とを有する。   As illustrated in FIG. 3, the attack determination apparatus 100 according to the first embodiment includes an IF (interface) unit 110, a learning result storage unit 120, a reconstruction unit 131, an extraction unit 132, and a learning unit 133. And a calculation unit 134 and a determination unit 135.

IF部110は、例えば、NIC(Network Interface Card)等であり、外部装置との間で各種データを送受信する。例えば、IF部110は、プローブ50から通信パケットを受信する。   The IF unit 110 is, for example, a NIC (Network Interface Card) or the like, and transmits / receives various data to / from an external device. For example, the IF unit 110 receives a communication packet from the probe 50.

学習結果記憶部120は、サーバ装置40に送信された正常なHTTPリクエストに含まれる各種情報のうち、HTTPリクエストの送信者によって任意に設定可能な設定情報(後述するクエリ)の集合を学習結果(上述した正常情報)として記憶する。第1の実施形態において、「正常なHTTPリクエスト」とは、ユーザ端末11からサーバ装置40に送信されるHTTPリクエストを示す。   The learning result storage unit 120 learns a set of setting information (query to be described later) that can be arbitrarily set by the sender of the HTTP request among various information included in the normal HTTP request transmitted to the server device 40 (a result of learning). As normal information). In the first embodiment, the “normal HTTP request” indicates an HTTP request transmitted from the user terminal 11 to the server device 40.

具体的には、HTTPリクエストには、送信者によって任意に設定可能な設定情報が、属性名(attribute)と属性値(value)との組合せによって形成されるクエリとして設定される。上記の学習結果記憶部120は、正常なHTTPリクエストに設定される属性名(attribute)毎に、かかる属性名に対応する正常な属性値(value)を記憶する。   Specifically, setting information that can be arbitrarily set by the sender is set in the HTTP request as a query formed by a combination of an attribute name (attribute) and an attribute value (value). The learning result storage unit 120 stores a normal attribute value (value) corresponding to the attribute name for each attribute name (attribute) set in the normal HTTP request.

また、後述する学習部133は、ソフトウェア等によって実現される線形識別器(例えば、ベイズフィルタ等であり、「線形分類器」等とも呼ばれる)を属性名毎に具備する。この属性名毎の線形識別器は、属性名に対応する正常な属性値が訓練例データとして入力されることにより、かかる正常な属性値を学習する。すなわち、第1の実施形態に係る線形識別器は、所定の属性値が判定対象データとして入力された場合に、かかる属性値が正常である尤度(「スコア」とも呼ばれる)を出力することとなる。上記の学習結果記憶部120は、このような線形識別器によって学習される正常な属性値の集合を線形識別器毎(すなわち、属性名毎)に記憶する。   The learning unit 133 described later includes a linear classifier (for example, a Bayes filter or the like, also called “linear classifier” or the like) realized by software or the like for each attribute name. The linear classifier for each attribute name learns such a normal attribute value by inputting a normal attribute value corresponding to the attribute name as training example data. That is, the linear classifier according to the first embodiment outputs a likelihood (also referred to as “score”) that the attribute value is normal when a predetermined attribute value is input as determination target data. Become. The learning result storage unit 120 stores a set of normal attribute values learned by such a linear classifier for each linear classifier (that is, for each attribute name).

なお、学習結果記憶部120は、属性値のサイズに応じて、属性名毎に正常な属性値を記憶するか、属性名毎の線形識別器によって学習された正常な属性値を属性名毎に記憶するかが決定される。この点については、後に学習部133とともに説明する。   The learning result storage unit 120 stores a normal attribute value for each attribute name according to the size of the attribute value, or sets a normal attribute value learned by a linear classifier for each attribute name for each attribute name. It is decided whether to memorize. This will be described later together with the learning unit 133.

このような学習結果記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等によって実現される。   Such a learning result storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, a hard disk, an optical disk, or the like.

続いて、再構築部131、抽出部132、学習部133、算出部134及び判定部135について説明するが、再構築部131及び抽出部132は、正常であることが既知であるHTTPリクエストのみがサーバ装置40に送信される学習用の通信環境下と、正常であることが既知でないHTTPリクエストがサーバ装置40に送信される通常運用の通信環境下との双方において動作する。一方、学習部133は、学習用の通信環境下において動作し、通常運用の通信環境下においては動作しない。また、算出部134及び判定部135は、通常運用の通信環境下において動作し、学習用の通信環境下においては動作しない。   Subsequently, the reconstruction unit 131, the extraction unit 132, the learning unit 133, the calculation unit 134, and the determination unit 135 will be described. However, the reconstruction unit 131 and the extraction unit 132 can receive only HTTP requests that are known to be normal. It operates in both a learning communication environment transmitted to the server device 40 and a normal operation communication environment in which an HTTP request that is not known to be normal is transmitted to the server device 40. On the other hand, the learning unit 133 operates in a learning communication environment and does not operate in a normal operation communication environment. The calculation unit 134 and the determination unit 135 operate in a normal operation communication environment, and do not operate in a learning communication environment.

このような再構築部131、抽出部132、学習部133、算出部134及び判定部135は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。また、再構築部131、抽出部132、学習部133、算出部134及び判定部135は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、図示しない記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。   The reconstruction unit 131, the extraction unit 132, the learning unit 133, the calculation unit 134, and the determination unit 135 are realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). . The reconstruction unit 131, the extraction unit 132, the learning unit 133, the calculation unit 134, and the determination unit 135 are stored in a storage device (not shown) by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like, for example. The program is executed by using the RAM as a work area.

再構築部131は、IF部110を介してプローブ50から受信した通信パケットから、サーバ装置40に対するHTTPリクエストを再構築する。具体的には、プローブ50によって取得された通信パケットは、ビット列である。再構築部131は、このようなビット列からHTTPリクエストを再構築する。   The reconstruction unit 131 reconstructs an HTTP request for the server device 40 from the communication packet received from the probe 50 via the IF unit 110. Specifically, the communication packet acquired by the probe 50 is a bit string. The reconstruction unit 131 reconstructs an HTTP request from such a bit string.

抽出部132は、再構築部131によって再構築されたHTTPリクエストからクエリ(Query)を抽出する。そして、抽出部132は、HTTPリクエストから抽出したクエリを属性名及び属性値の組合せ毎に分解することにより、属性名及び属性値の組合せを抽出する。具体的には、HTTPリクエストのクエリは、「属性名=属性値」の形式で記述される。さらに、HTTPリクエストのクエリは、属性名及び属性値の組合せが複数含まれる場合には、「属性名=属性値」との間に区切り文字列として「&」が記述される。抽出部132は、このような記述形式を解析することにより、クエリから属性名及び属性値の組合せを抽出する。   The extraction unit 132 extracts a query from the HTTP request reconstructed by the reconstruction unit 131. Then, the extraction unit 132 extracts the combination of the attribute name and the attribute value by decomposing the query extracted from the HTTP request for each combination of the attribute name and the attribute value. Specifically, the HTTP request query is described in the format of “attribute name = attribute value”. Further, in the HTTP request query, when a plurality of combinations of attribute names and attribute values are included, “&” is described as a delimiter character string between “attribute name = attribute value”. The extraction unit 132 analyzes the description format and extracts a combination of the attribute name and the attribute value from the query.

抽出部132がクエリを抽出する理由について説明する。ユーザ端末12等の利用者である攻撃者は、正常なアクセスを装ってサーバ装置40に対して攻撃を行う。ただし、攻撃時のHTTPリクエストに含まれるクエリは、正常なアクセスとは一般的に異なる。そこで、第1の実施形態では、正常なアクセス又は異常なアクセスであるかを判定するために、HTTPリクエストからクエリを抽出する。   The reason why the extraction unit 132 extracts the query will be described. An attacker who is a user of the user terminal 12 or the like attacks the server device 40 while pretending to be normal access. However, the query included in the HTTP request at the time of attack is generally different from normal access. Therefore, in the first embodiment, in order to determine whether the access is normal access or abnormal access, a query is extracted from the HTTP request.

ここで、図4を用いて、上記の再構築部131及び抽出部132による処理について説明する。図4は、第1の実施形態に係る再構築部131及び抽出部132による処理例を示す説明図である。なお、図4では、サーバ装置40に対して、リクエストURI(Uniform Resource Identifier)がHTTPリクエストとして送信される例を示す。   Here, the processing performed by the reconstruction unit 131 and the extraction unit 132 will be described with reference to FIG. FIG. 4 is an explanatory diagram illustrating a processing example by the reconstruction unit 131 and the extraction unit 132 according to the first embodiment. FIG. 4 shows an example in which a request URI (Uniform Resource Identifier) is transmitted as an HTTP request to the server device 40.

図4に示した例において、プローブ50は、ネットワーク機器30から通信パケットP11を取得したものとする。かかる場合に、攻撃判定装置100の再構築部131は、通信パケットP11からHTTPリクエストP12を再構築する。なお、図4では、再構築部131によって再構築されたHTTPリクエストP12のうち、HTTPヘッダの部分のみを例示している。   In the example illustrated in FIG. 4, it is assumed that the probe 50 has acquired the communication packet P11 from the network device 30. In such a case, the reconstruction unit 131 of the attack determination device 100 reconstructs the HTTP request P12 from the communication packet P11. FIG. 4 illustrates only the HTTP header portion of the HTTP request P12 reconstructed by the restructuring unit 131.

そして、抽出部132は、図4のHTTPリクエストP12から、クエリ部分q12である「/redirect.php?test=a%0d%0aLocation:%20http://attack.example.com/」を抽出する。そして、抽出部132は、かかるクエリ部分q12から、属性名「test」と属性値「a%0d%0aLocation:%20http://attack.example.com/」との組合せを抽出する。   Then, the extraction unit 132 extracts “/redirect.php?test=a%0d%0aLocation:%20http://attack.example.com/” that is the query part q12 from the HTTP request P12 of FIG. Then, the extraction unit 132 extracts a combination of the attribute name “test” and the attribute value “a% 0d% 0aLocation:% 20http: //attack.example.com/” from the query part q12.

また、図4の例では、クエリ部分q12に1組の属性名及び属性値が含まれる例を示した。しかし、抽出部132は、HTTPリクエストから、例えば、「name=%91%BE%98Y&OS=win&submit=%91%97%90M%91%97%90M・・・%91」といったクエリを抽出する場合もある。抽出部132は、HTTPリクエストのメソッドがPOSTやPUTである場合に、このようなクエリを抽出する場合がある。この例の場合、クエリに3組の属性名及び属性値が含まれる。すなわち、抽出部132は、かかるクエリから、属性名「name」及び属性値「%91%BE%98Y」の組合せと、属性名「OS」及び属性値「win」の組合せと、属性名「submit」及び属性値「%91%97%90M%91%97%90M・・・%91」の組合せとを抽出することとなる。   In the example of FIG. 4, an example in which a set of attribute name and attribute value is included in the query part q12 is shown. However, the extraction unit 132 may extract a query such as “name =% 91% BE% 98Y & OS = win & submit =% 91% 97% 90M% 91% 97% 90M...% 91” from the HTTP request. is there. The extraction unit 132 may extract such a query when the method of the HTTP request is POST or PUT. In this example, the query includes three sets of attribute names and attribute values. That is, the extraction unit 132, from such a query, the combination of the attribute name “name” and the attribute value “% 91% BE% 98Y”, the combination of the attribute name “OS” and the attribute value “win”, and the attribute name “submit”. ”And the attribute value“% 91% 97% 90M% 91% 97% 90M...% 91 ”are extracted.

学習部133は、抽出部132によって抽出された属性名及び属性値の組合せを用いて、正常なアクセスに含まれる属性名及び属性値の組合せを学習し、正常なアクセスにおける属性名毎に、属性値の集合を学習結果記憶部120に格納する。また、学習部133は、上記の通り、属性名毎に、ソフトウェア等によって実現される線形識別器を具備する。   The learning unit 133 learns the combination of the attribute name and the attribute value included in the normal access using the combination of the attribute name and the attribute value extracted by the extraction unit 132, and sets the attribute for each attribute name in the normal access. A set of values is stored in the learning result storage unit 120. Further, as described above, the learning unit 133 includes a linear classifier realized by software or the like for each attribute name.

学習部133による処理について具体的に説明する。学習部133は、抽出部132によって正常なHTTPリクエストから抽出された属性名及び属性値の組合せ毎に以下の処理を行う。まず、学習部133は、抽出部132によって抽出された属性値のサイズ(バイト数)が所定の閾値(以下、「サイズ閾値T1」とする)よりも大きいか否かを判定する。そして、学習部133は、属性値のサイズがサイズ閾値T1よりも大きい場合には、かかる属性値をデコードする。そして、学習部133は、デコード後の属性値を形態素解析することにより、素性(feature)に分解する。そして、学習部133は、抽出部132によって抽出された属性名に対応する線形識別器に対して、分解後の素性を訓練例データとして入力する。これにより、各線形識別器は、分解後の素性を学習し、学習した素性を学習結果記憶部120に格納する。   The processing by the learning unit 133 will be specifically described. The learning unit 133 performs the following processing for each combination of attribute name and attribute value extracted from the normal HTTP request by the extraction unit 132. First, the learning unit 133 determines whether or not the size (number of bytes) of the attribute value extracted by the extraction unit 132 is larger than a predetermined threshold (hereinafter referred to as “size threshold T1”). Then, when the size of the attribute value is larger than the size threshold T1, the learning unit 133 decodes the attribute value. Then, the learning unit 133 decomposes the decoded attribute values into features by performing morphological analysis. And the learning part 133 inputs the feature after decomposition | disassembly as training example data with respect to the linear discriminator corresponding to the attribute name extracted by the extraction part 132. FIG. Thereby, each linear classifier learns the feature after decomposition, and stores the learned feature in the learning result storage unit 120.

なお、以下では、学習結果記憶部120に記憶される線形識別器による学習結果を「lern(attribute、[素性(集合)])」と表記する場合がある。すなわち、属性名「submit」に対応する線形識別器によって、素性X1、素性X2及び素性X3が学習された場合、かかる線形識別器による学習結果は、「lern(submit、[素性X1、素性X2、素性X3])」となる。   In the following, the learning result by the linear classifier stored in the learning result storage unit 120 may be expressed as “lern (attribute, [feature (set)])”. That is, when the feature X1, the feature X2, and the feature X3 are learned by the linear classifier corresponding to the attribute name “submit”, the learning result by the linear classifier is “lern (submit, [feature X1, feature X2, feature X2, Feature X3]) ”.

例えば、上記例のように、抽出部132によって、属性名「submit」と属性値「%91%97%90M%91%97%90M・・・%91」との組合せが抽出されたものとする。また、この属性値のサイズがサイズ閾値T1よりも大きいものとする。かかる場合に、学習部133は、属性値「%91%97%90M%91%97%90M・・・%91」をデコードする。ここでは、学習部133は、デコード結果として、「AAABBBCCC」を取得したものとする。そして、学習部133は、属性値「AAABBBCCC」を形態素解析することで、例えば、素性「AAA」、「BBB」及び「CCC」を得る。このような場合に、学習部133は、属性名「submit」に対応する線形識別器に対して、正常な属性値の集合として、素性「AAA」、「BBB」及び「CCC」を学習させる。この結果、学習結果記憶部120は、属性名「submit」に対応する線形識別器の学習結果として、素性「AAA」、「BBB」及び「CCC」を記憶する。すなわち、学習結果記憶部120は、「lern(submit、[AAA、BBB、CCC])」を記憶する。   For example, as in the above example, a combination of the attribute name “submit” and the attribute value “% 91% 97% 90M% 91% 97% 90M...% 91” is extracted by the extraction unit 132. . Further, it is assumed that the size of this attribute value is larger than the size threshold T1. In such a case, the learning unit 133 decodes the attribute value “% 91% 97% 90M% 91% 97% 90M...% 91”. Here, it is assumed that the learning unit 133 has acquired “AAABBBCCC” as a decoding result. Then, the learning unit 133 obtains, for example, features “AAA”, “BBB”, and “CCC” by performing morphological analysis on the attribute value “AAABBBCCCC”. In such a case, the learning unit 133 causes the linear discriminator corresponding to the attribute name “submit” to learn the features “AAA”, “BBB”, and “CCC” as a set of normal attribute values. As a result, the learning result storage unit 120 stores the features “AAA”, “BBB”, and “CCC” as the learning result of the linear classifier corresponding to the attribute name “submit”. That is, the learning result storage unit 120 stores “lern (submit, [AAA, BBB, CCC])”.

また、この後に、抽出部132によって、属性名「submit」と所定の属性値との組合せが新たに抽出されたものとする。また、所定の属性値は、サイズがサイズ閾値T1よりも大きく、学習部133によるデコード結果が「DDDEEEFFF」であり、形態素解析の結果が素性「DDD」、「EEE」及び「FFF」であったものとする。かかる場合に、学習部133は、属性名「submit」に対応する線形識別器に対して、正常な属性値の集合として、素性「DDD」、「EEE」及び「FFF」を学習させる。この結果、学習結果記憶部120は、属性名「submit」に対応する線形識別器の学習結果として、素性「AAA」、「BBB」及び「CCC」に加えて、「DDD」、「EEE」及び「FFF」を記憶する。すなわち、学習結果記憶部120は、「lern(submit、[AAA、BBB、CCC、DDD、EEE、FFF])」を記憶する。   After this, it is assumed that the extraction unit 132 newly extracts a combination of the attribute name “submit” and a predetermined attribute value. The predetermined attribute value has a size larger than the size threshold T1, the decoding result by the learning unit 133 is “DDDEEEFFF”, and the morphological analysis results are the features “DDD”, “EEE”, and “FFF”. Shall. In such a case, the learning unit 133 causes the linear discriminator corresponding to the attribute name “submit” to learn the features “DDD”, “EEE”, and “FFF” as a set of normal attribute values. As a result, in addition to the features “AAA”, “BBB”, and “CCC”, the learning result storage unit 120 uses “DDD”, “EEE”, and “CCC” as the learning result of the linear classifier corresponding to the attribute name “submit”. “FFF” is stored. That is, the learning result storage unit 120 stores “lern (submit, [AAA, BBB, CCC, DDD, EEE, FFF])”.

一方、学習部133は、抽出部132によって抽出された属性値のサイズがサイズ閾値T1以下である場合には、かかる属性値を線形識別器に学習させることが困難である可能性があるので、正常なHTTPリクエストに含まれる属性名に対応する正常な属性値集合として、かかる属性値を学習結果記憶部120に格納する。   On the other hand, if the size of the attribute value extracted by the extraction unit 132 is equal to or smaller than the size threshold T1, the learning unit 133 may have difficulty learning the attribute value to the linear classifier. The attribute value is stored in the learning result storage unit 120 as a normal attribute value set corresponding to the attribute name included in the normal HTTP request.

なお、以下では、学習結果記憶部120に記憶される属性名(attribute)に対応する正常な属性値集合を「Correct(attribute)」と表記する場合がある。すなわち、属性名「submit」に対応する正常な属性値集合は、「Correct(submit)」となる。   Hereinafter, a normal attribute value set corresponding to the attribute name (attribute) stored in the learning result storage unit 120 may be referred to as “Correct (attribute)”. That is, the normal attribute value set corresponding to the attribute name “submit” is “Correct (submit)”.

例えば、抽出部132によって、属性名「test」と属性値「%91%97%90M」との組合せが抽出されたものとする。また、この属性値のサイズがサイズ閾値T1以下であるものとする。かかる場合に、学習部133は、属性名「test」の学習結果として、属性値「%91%97%90M」を学習結果記憶部120に格納する。また、この後に、抽出部132によって、属性名「test」と属性値「%91%91%91M」との組合せが新たに抽出されたものとする。また、属性値「%91%91%91M」のサイズはサイズ閾値T1以下であるものとする。かかる場合に、学習部133は、属性名「test」の学習結果として、属性値「%91%97%90M」に加えて、属性値「%91%91%91M」を学習結果記憶部120に格納する。すなわち、学習結果記憶部120は、属性値集合「Correct(test)=(%91%97%90M、%91%91%91M)」を記憶することとなる。   For example, it is assumed that the combination of the attribute name “test” and the attribute value “% 91% 97% 90M” is extracted by the extraction unit 132. Further, it is assumed that the size of the attribute value is equal to or smaller than the size threshold T1. In this case, the learning unit 133 stores the attribute value “% 91% 97% 90M” in the learning result storage unit 120 as the learning result of the attribute name “test”. Further, it is assumed that a combination of the attribute name “test” and the attribute value “% 91% 91% 91M” is newly extracted by the extraction unit 132 thereafter. The size of the attribute value “% 91% 91% 91M” is assumed to be equal to or smaller than the size threshold T1. In this case, the learning unit 133 adds the attribute value “% 91% 91% 91M” to the learning result storage unit 120 in addition to the attribute value “% 91% 97% 90M” as the learning result of the attribute name “test”. Store. That is, the learning result storage unit 120 stores the attribute value set “Correct (test) = (% 91% 97% 90M,% 91% 91% 91M)”.

このように、学習部133は、抽出部132によって正常なHTTPリクエストから抽出された属性名及び属性値の組合せを学習し、学習結果を学習結果記憶部120に格納する。これにより、学習結果記憶部120は、正常なHTTPリクエストに含まれていた属性名毎に、かかる属性名に対応する正常な属性値の集合を記憶することとなる。   As described above, the learning unit 133 learns the combination of the attribute name and the attribute value extracted from the normal HTTP request by the extraction unit 132 and stores the learning result in the learning result storage unit 120. Thereby, the learning result storage unit 120 stores a set of normal attribute values corresponding to the attribute name for each attribute name included in the normal HTTP request.

算出部134は、正常であることが既知でないHTTPリクエストがサーバ装置40に送信された場合に、抽出部132によって抽出された属性値が、学習結果記憶部120に記憶されている正常な設定情報(上述した正常情報)の集合に分類される度合いを示す指標値を算出する。   When the HTTP request that is not known to be normal is transmitted to the server device 40, the calculation unit 134 includes the normal setting information in which the attribute value extracted by the extraction unit 132 is stored in the learning result storage unit 120. An index value indicating the degree of classification into the set (normal information described above) is calculated.

具体的には、算出部134は、抽出部132によって抽出された属性名と属性値との組合せ毎に以下の処理を行う。まず、算出部134は、抽出部132によって抽出された属性値のサイズがサイズ閾値T1よりも大きいか否かを判定する。そして、算出部134は、属性値のサイズがサイズ閾値T1よりも大きい場合には、かかる属性値をデコードし、デコード後の属性値を形態素解析することにより素性に分解する。そして、算出部134は、抽出部132によって抽出された属性名に対応する線形識別器に対して、分解後の素性を判定対象データとして入力することにより、素性毎に、かかる素性が正常情報の集合に分類される尤度(以下、「分類尤度」と表記する場合がある)を上記指標値として算出する。なお、分類尤度は、線形識別器によって出力される。   Specifically, the calculation unit 134 performs the following process for each combination of attribute name and attribute value extracted by the extraction unit 132. First, the calculation unit 134 determines whether the size of the attribute value extracted by the extraction unit 132 is larger than the size threshold T1. When the size of the attribute value is larger than the size threshold T1, the calculation unit 134 decodes the attribute value and decomposes the decoded attribute value into features by performing morphological analysis. Then, the calculation unit 134 inputs the decomposed feature as the determination target data to the linear classifier corresponding to the attribute name extracted by the extraction unit 132, so that the feature is included in the normal information for each feature. Likelihood classified into a set (hereinafter, sometimes referred to as “classification likelihood”) is calculated as the index value. The classification likelihood is output by the linear classifier.

また、算出部134は、抽出部132によって抽出された属性値のサイズがサイズ閾値T1以下である場合には、学習結果記憶部120に記憶されている属性値集合「Correct(attribute)」と、かかる属性値との類似度(言い換えれば、「異なり度合い」)を上記指標値として算出する。   In addition, when the size of the attribute value extracted by the extraction unit 132 is equal to or smaller than the size threshold T1, the calculation unit 134 includes an attribute value set “Correct (attribute)” stored in the learning result storage unit 120, The similarity (in other words, “difference”) with the attribute value is calculated as the index value.

例えば、算出部134は、抽出部132によって抽出された属性名に対応する属性値集合「Correct(attribute)」を学習結果記憶部120から取得する。そして、算出部134は、抽出部132によって抽出された属性値と、学習結果記憶部120から取得した属性値集合「Correct(attribute)」とのレーベンシュタイン距離を算出し、算出したレーベンシュタイン距離のうち、最小のレーベンシュタイン距離を上記類似度(すなわち、指標値)として選択する。   For example, the calculation unit 134 acquires the attribute value set “Correct (attribute)” corresponding to the attribute name extracted by the extraction unit 132 from the learning result storage unit 120. Then, the calculation unit 134 calculates the Levenshtein distance between the attribute value extracted by the extraction unit 132 and the attribute value set “Correct (attribute)” acquired from the learning result storage unit 120, and the calculated Levenshtein distance Among them, the minimum Levenstein distance is selected as the similarity (that is, the index value).

この点についてより具体的に説明すると、算出部134は、例えば、レーベンシュタイン距離を算出するための関数「F(x、y)」を用いる。かかる関数「F(x、y)」のうち、「x」は、抽出部132によって抽出された判定対象データの属性値である。また、「y」は、抽出部132によって抽出された属性名に対応する属性値集合「Correct(attribute)」である。そして、算出部134は、かかる関数「F(x、y)」を用いて、「x」と「y」とのレーベンシュタイン距離を算出する。このとき、「y」は、属性値集合「Correct(attribute)」であるので、複数の属性値が存在する場合がある。複数の属性値が存在する場合、算出部134は、属性値集合「Correct(attribute)」に含まれる各属性値と「x」とのレーベンシュタイン距離のうち、最小のレーベンシュタイン距離を上記指標値として算出する。   This point will be described more specifically. For example, the calculation unit 134 uses a function “F (x, y)” for calculating the Levenshtein distance. Among the functions “F (x, y)”, “x” is an attribute value of the determination target data extracted by the extraction unit 132. “Y” is an attribute value set “Correct (attribute)” corresponding to the attribute name extracted by the extraction unit 132. Then, the calculating unit 134 calculates the Levenshtein distance between “x” and “y” using the function “F (x, y)”. At this time, since “y” is the attribute value set “Correct (attribute)”, there may be a plurality of attribute values. When there are a plurality of attribute values, the calculation unit 134 calculates the minimum Levenstein distance among the Levenstein distances between the attribute values included in the attribute value set “Correct (attribute)” and “x” as the index value. Calculate as

そして、算出部134は、抽出部132によってHTTPリクエストから抽出された全ての属性名及び属性値の組合せについて、上述した線形識別器を用いた算出処理、又は、類似度(例えば、レーベンシュタイン距離)を用いた算出処理を行う。   Then, the calculation unit 134 performs calculation processing using the above-described linear classifier or similarity (for example, Levenshtein distance) for all combinations of attribute names and attribute values extracted from the HTTP request by the extraction unit 132. The calculation process using is performed.

判定部135は、算出部134によって算出された指標値(「分類尤度」や「類似度」)に基づいて、サーバ装置40に送信されたHTTPリクエストが攻撃であるか否かを判定する。   The determination unit 135 determines whether the HTTP request transmitted to the server device 40 is an attack based on the index value (“classification likelihood” or “similarity”) calculated by the calculation unit 134.

具体的には、判定部135は、算出部134によって算出された各素性の分類尤度が所定の閾値(以下、「尤度閾値T2」とする)よりも低い場合には、かかる素性が異常であると判定し、素性の分類尤度が尤度閾値T2以上である場合には、かかる素性が正常であると判定する。   Specifically, when the classification likelihood of each feature calculated by the calculation unit 134 is lower than a predetermined threshold (hereinafter referred to as “likelihood threshold T2”), the determination unit 135 determines that the feature is abnormal. If the classification likelihood of the feature is equal to or greater than the likelihood threshold T2, it is determined that the feature is normal.

また、判定部135は、算出部134によって算出された属性値の類似度が所定の閾値(以下、「類似度閾値T3」とする)よりも低い場合には、かかる属性値が異常であると判定し、属性値の類似度が類似度閾値T3以上である場合には、かかる属性値が正常であると判定する。なお、判定部135は、算出部134によってレーベンシュタイン距離が類似度として算出された場合には、かかるレーベンシュタイン距離が類似度閾値T3よりも大きい場合には、異常であると判定し、レーベンシュタイン距離が類似度閾値T3以下である場合には、正常であると判定する。   Further, when the similarity of the attribute value calculated by the calculation unit 134 is lower than a predetermined threshold (hereinafter referred to as “similarity threshold T3”), the determination unit 135 determines that the attribute value is abnormal. If the attribute value similarity is equal to or greater than the similarity threshold T3, it is determined that the attribute value is normal. When the Levenshtein distance is calculated as the similarity by the calculation unit 134, the determination unit 135 determines that the Levenstein distance is abnormal when the Levenstein distance is greater than the similarity threshold T3. When the distance is equal to or less than the similarity threshold T3, it is determined that the distance is normal.

そして、判定部135は、抽出部132によってHTTPリクエストから抽出された全ての属性名及び属性値の組合せについて、分類尤度を用いた判定処理、及び、類似度(例えば、レーベンシュタイン距離)を用いた判定処理を行う。そして、判定部135は、異常であると判定した素性の数と属性値の数との総和が所定の閾値(以下、「異常数閾値T4」とする)よりも多い場合に、プローブ50から入力されたHTTPリクエストがサーバ装置40に対する攻撃であると判定する。一方、判定部135は、異常であると判定した素性及び属性値の数が異常数閾値T4以下である場合に、プローブ50から入力されたHTTPリクエストがサーバ装置40に対する攻撃でないと判定する。   Then, the determination unit 135 uses determination processing using classification likelihood and similarity (for example, Levenshtein distance) for all combinations of attribute names and attribute values extracted from the HTTP request by the extraction unit 132. The determination process that was performed is performed. The determination unit 135 inputs from the probe 50 when the sum of the number of features determined to be abnormal and the number of attribute values is greater than a predetermined threshold (hereinafter referred to as “abnormal number threshold T4”). It is determined that the received HTTP request is an attack on the server device 40. On the other hand, the determination unit 135 determines that the HTTP request input from the probe 50 is not an attack on the server device 40 when the number of features and attribute values determined to be abnormal is equal to or less than the abnormal number threshold T4.

なお、判定部135は、HTTPリクエストが攻撃であると判定した場合には、図示しない記憶部にログとして記憶してもよいし、IF部110を介して、管理者等が利用する管理者端末に警告を通知してもよい。   If the determination unit 135 determines that the HTTP request is an attack, the determination unit 135 may store the log as a log in a storage unit (not shown), or an administrator terminal used by an administrator or the like via the IF unit 110. A warning may be sent to.

また、上記例では、算出部134が、属性値を分解した各素性を判定対象データとして線形識別器に入力し、素性毎の分類尤度を線形識別器から得る例について示した。このとき、算出部134は、線形識別器から得られた各素性の分類尤度と尤度閾値T2とを比較することにより、分解前の属性値が正常又は異常であるかを判定してもよい。例えば、算出部134は、分解した各素性のうち、尤度閾値T2よりも低い素性の数が所定数よりも多い場合には、分解前の属性値が異常であると判定し、尤度閾値T2よりも低い素性の数が所定数以下である場合には、分解前の属性値が正常であると判定する。そして、判定部135は、抽出部132によってHTTPリクエストから抽出された全ての属性名及び属性値の組合せについて、分類尤度を用いた判定処理、及び、類似度(例えば、レーベンシュタイン距離)を用いた判定処理を行い、異常であると判定した属性値の数が異常数閾値T4よりも多い場合に、プローブ50から入力されたHTTPリクエストがサーバ装置40に対する攻撃であると判定する。一方、判定部135は、異常であると判定した属性値の数が異常数閾値T4以下である場合に、プローブ50から入力されたHTTPリクエストがサーバ装置40に対する攻撃でないと判定する。このように、算出部134は、属性値毎に、かかる属性値が正常又は異常であるかを判定してもよい。   In the above example, the calculation unit 134 inputs each feature obtained by decomposing the attribute value as determination target data to the linear discriminator, and obtains the classification likelihood for each feature from the linear discriminator. At this time, the calculation unit 134 may determine whether the attribute value before decomposition is normal or abnormal by comparing the classification likelihood of each feature obtained from the linear classifier and the likelihood threshold T2. Good. For example, if the number of features lower than the likelihood threshold T2 is greater than a predetermined number among the decomposed features, the calculation unit 134 determines that the attribute value before decomposition is abnormal, and the likelihood threshold If the number of features lower than T2 is less than or equal to the predetermined number, it is determined that the attribute value before decomposition is normal. Then, the determination unit 135 uses determination processing using classification likelihood and similarity (for example, Levenshtein distance) for all combinations of attribute names and attribute values extracted from the HTTP request by the extraction unit 132. When the number of attribute values determined to be abnormal is larger than the abnormal number threshold T4, it is determined that the HTTP request input from the probe 50 is an attack on the server device 40. On the other hand, the determination unit 135 determines that the HTTP request input from the probe 50 is not an attack on the server device 40 when the number of attribute values determined to be abnormal is equal to or less than the abnormality number threshold T4. Thus, the calculation unit 134 may determine whether the attribute value is normal or abnormal for each attribute value.

また、線形識別器によっては、複数の素性が入力された場合に、かかる複数の素性によって形成される分解前の属性値の分類尤度を出力するものもある。かかる場合には、算出部134は、分解後の複数の素性を線形識別器に入力し、かかる線形識別器から出力される分解前の分類尤度と尤度閾値T2とを比較することにより、分解前の属性値が正常又は異常であるかを判定してもよい。   Some linear classifiers output classification likelihood of attribute values before decomposition formed by a plurality of features when a plurality of features are input. In such a case, the calculation unit 134 inputs the plurality of features after decomposition to the linear classifier, and compares the classification likelihood before decomposition output from the linear classifier with the likelihood threshold T2, It may be determined whether the attribute value before decomposition is normal or abnormal.

[攻撃判定装置による学習処理]
次に、図5を用いて、上述した攻撃判定装置100による学習処理の手順について説明する。図5は、第1の実施形態に係る攻撃判定装置100による学習処理手順を示すフローチャートである。なお、攻撃判定装置100は、学習処理を行う場合には、学習部133による処理を行うが、算出部134及び判定部135による処理を停止する。
[Learning process by attack determination device]
Next, a learning process procedure performed by the above-described attack determination apparatus 100 will be described with reference to FIG. FIG. 5 is a flowchart illustrating a learning processing procedure performed by the attack determination apparatus 100 according to the first embodiment. In addition, when performing the learning process, the attack determination apparatus 100 performs the process by the learning unit 133, but stops the processes by the calculation unit 134 and the determination unit 135.

図5に示すように、攻撃判定装置100は、学習用の通信環境においてユーザ端末11からサーバ装置40に対して正常なアクセスが行われた場合に(ステップS101肯定)、ユーザ端末11により送信された通信パケットをプローブ50から受信する(ステップS102)。   As illustrated in FIG. 5, the attack determination device 100 is transmitted by the user terminal 11 when normal access is made from the user terminal 11 to the server device 40 in the learning communication environment (Yes in step S101). The received communication packet is received from the probe 50 (step S102).

続いて、再構築部131は、プローブ50から受信した通信パケットから、HTTPリクエストを再構築する(ステップS103)。そして、抽出部132は、再構築部131によって再構築されたHTTPリクエストのクエリに設定されている属性値及び属性名の組合せを抽出する(ステップS104)。なお、抽出部132は、属性値及び属性名の組合せを複数抽出する場合がある。   Subsequently, the reconstruction unit 131 reconstructs an HTTP request from the communication packet received from the probe 50 (step S103). Then, the extraction unit 132 extracts a combination of the attribute value and the attribute name set in the HTTP request query reconstructed by the reconstruction unit 131 (step S104). Note that the extraction unit 132 may extract a plurality of combinations of attribute values and attribute names.

続いて、学習部133は、抽出部132によって抽出された属性値及び属性名の組合せ毎に、下記のステップS105〜S109における処理を行う。具体的には、学習部133は、抽出部132によって抽出された属性値のサイズがサイズ閾値T1よりも大きいか否かを判定する(ステップS105)。   Subsequently, the learning unit 133 performs the processes in steps S <b> 105 to S <b> 109 below for each combination of the attribute value and the attribute name extracted by the extraction unit 132. Specifically, the learning unit 133 determines whether or not the size of the attribute value extracted by the extraction unit 132 is larger than the size threshold T1 (Step S105).

そして、学習部133は、属性値のサイズがサイズ閾値T1よりも大きい場合には(ステップS105肯定)、かかる属性値をデコードする(ステップS106)。続いて、学習部133は、デコード後の属性値を形態素解析することにより素性に分解する(ステップS107)。そして、学習部133は、抽出部132によって抽出された属性名に対応する線形識別器に対して、分解後の素性を訓練例データとして入力することにより、各素性を正常情報として学習する(ステップS108)。   If the size of the attribute value is larger than the size threshold T1 (Yes at Step S105), the learning unit 133 decodes the attribute value (Step S106). Subsequently, the learning unit 133 decomposes the decoded attribute value into features by performing morphological analysis (step S107). And the learning part 133 learns each feature as normal information by inputting the feature after decomposition | disassembly as training example data with respect to the linear discriminator corresponding to the attribute name extracted by the extraction part 132 (step). S108).

一方、学習部133は、属性値のサイズがサイズ閾値T1以下である場合には(ステップS105否定)、抽出部132によって抽出された属性名に対応付けて、かかる属性値を学習結果記憶部120に格納する(ステップS109)。   On the other hand, when the size of the attribute value is equal to or smaller than the size threshold value T1 (No at Step S105), the learning unit 133 associates the attribute value with the attribute name extracted by the extraction unit 132 and stores the attribute value in the learning result storage unit 120. (Step S109).

そして、学習部133は、抽出部132によって抽出された全ての属性値及び属性名の組合せについて処理を行ったか否かを判定する(ステップS110)。このとき、学習部133は、全ての属性値及び属性名の組合せについて処理を行っていない場合には(ステップS110否定)、未処理の属性値及び属性名の組合せについて、上記ステップS105〜S109における処理を行う。一方、学習部133は、全ての属性値及び属性名の組合せについて処理済みである場合には(ステップS110肯定)、学習処理を終了する。   Then, the learning unit 133 determines whether or not processing has been performed for all combinations of attribute values and attribute names extracted by the extraction unit 132 (step S110). At this time, when the learning unit 133 has not performed processing for all combinations of attribute values and attribute names (No in step S110), the learning unit 133 performs processing in steps S105 to S109 for unprocessed attribute values and attribute name combinations. Process. On the other hand, when the learning unit 133 has processed all combinations of attribute values and attribute names (Yes at Step S110), the learning process ends.

[攻撃判定装置による攻撃判定処理]
次に、図6を用いて、上述した攻撃判定装置100による攻撃判定処理の手順について説明する。図6は、第1の実施形態に係る攻撃判定装置100による攻撃判定処理手順を示すフローチャートである。なお、攻撃判定装置100は、攻撃判定処理を行う場合には、算出部134及び判定部135による処理を行うが、学習部133による処理を停止する。
[Attack determination processing by the attack determination device]
Next, the procedure of the attack determination process performed by the above-described attack determination apparatus 100 will be described with reference to FIG. FIG. 6 is a flowchart illustrating an attack determination processing procedure performed by the attack determination apparatus 100 according to the first embodiment. In addition, when performing the attack determination process, the attack determination apparatus 100 performs the process by the calculation unit 134 and the determination unit 135, but stops the process by the learning unit 133.

図6に示すように、攻撃判定装置100は、通常運用の通信環境においてユーザ端末12等からサーバ装置40に対してアクセスが行われた場合に(ステップS201肯定)、プローブ50から通信パケットを受信する(ステップS202)。続いて、再構築部131は、通信パケットからHTTPリクエストを再構築する(ステップS203)。そして、抽出部132は、HTTPリクエストから属性値及び属性名の組合せを抽出する(ステップS204)。   As illustrated in FIG. 6, the attack determination device 100 receives a communication packet from the probe 50 when the user terminal 12 or the like accesses the server device 40 in a normal operation communication environment (Yes in step S201). (Step S202). Subsequently, the reconstruction unit 131 reconstructs an HTTP request from the communication packet (step S203). Then, the extraction unit 132 extracts a combination of an attribute value and an attribute name from the HTTP request (Step S204).

続いて、算出部134及び判定部135は、抽出部132によって抽出された属性値及び属性名の組合せ毎に、下記のステップS205〜S211における処理を行う。具体的には、算出部134は、抽出部132によって抽出された属性値のサイズがサイズ閾値T1よりも大きいか否かを判定する(ステップS205)。   Subsequently, the calculation unit 134 and the determination unit 135 perform processing in steps S <b> 205 to S <b> 211 below for each combination of the attribute value and the attribute name extracted by the extraction unit 132. Specifically, the calculation unit 134 determines whether the size of the attribute value extracted by the extraction unit 132 is larger than the size threshold T1 (step S205).

そして、算出部134は、属性値のサイズがサイズ閾値T1よりも大きい場合には(ステップS205肯定)、かかる属性値をデコードする(ステップS206)。続いて、算出部134は、デコード後の属性値を形態素解析することにより素性に分解する(ステップS207)。   If the size of the attribute value is larger than the size threshold T1 (Yes at Step S205), the calculation unit 134 decodes the attribute value (Step S206). Subsequently, the calculation unit 134 decomposes the decoded attribute value into features by performing morphological analysis (step S207).

続いて、算出部134は、抽出部132によって抽出された属性名に対応する線形識別器に対して、分解後の素性のそれぞれを判定対象データとして入力することにより、素性の分類尤度を算出する(ステップS208)。   Subsequently, the calculation unit 134 calculates the classification likelihood of the feature by inputting each of the decomposed features as determination target data to the linear classifier corresponding to the attribute name extracted by the extraction unit 132. (Step S208).

続いて、判定部135は、算出部134によって算出された分類尤度に基づいて、素性が異常であるか否かを判定し、異常であると判定した素性の数を計数する(ステップS209)。例えば、判定部135は、分類尤度が尤度閾値T2よりも低い場合に、異常である素性の数を「1」だけ加算する。判定部135は、ステップS207において得られた各素性について異常であるか否かを判定し、異常である素性の数を計数する。   Subsequently, the determination unit 135 determines whether or not the feature is abnormal based on the classification likelihood calculated by the calculation unit 134, and counts the number of the features determined to be abnormal (step S209). . For example, when the classification likelihood is lower than the likelihood threshold T2, the determination unit 135 adds “1” to the number of abnormal features. The determination unit 135 determines whether or not each feature obtained in step S207 is abnormal, and counts the number of abnormal features.

一方、算出部134は、属性値のサイズがサイズ閾値T1以下である場合には(ステップS205否定)、上述した関数F(x、y)を用いるなどして、抽出部132によって抽出された属性名に対応付けて学習結果記憶部120に記憶されている属性値集合(「Correct(attribute)」)と、かかる属性値との類似度(例えば、レーベンシュタイン距離)を算出する(ステップS210)。   On the other hand, when the size of the attribute value is equal to or smaller than the size threshold T1 (No at Step S205), the calculation unit 134 uses the above-described function F (x, y) to extract the attribute extracted by the extraction unit 132. The similarity (for example, Levenstein distance) between the attribute value set (“Correct (attribute)”) stored in the learning result storage unit 120 in association with the name and the attribute value is calculated (step S210).

続いて、判定部135は、算出部134によって算出された類似度に基づいて、異常である属性値の数を計数する(ステップS211)。例えば、判定部135は、レーベンシュタイン距離が類似度閾値T3よりも大きい場合に、異常である属性値の数を「1」だけ加算する。   Subsequently, the determination unit 135 counts the number of attribute values that are abnormal based on the similarity calculated by the calculation unit 134 (step S211). For example, when the Levenshtein distance is larger than the similarity threshold T3, the determination unit 135 adds “1” to the number of attribute values that are abnormal.

そして、算出部134及び判定部135は、抽出部132によって抽出された全ての属性値及び属性名の組合せについて処理を行ったか否かを判定する(ステップS212)。このとき、全ての属性値及び属性名の組合せについて処理を行っていない場合には(ステップS212否定)、算出部134及び判定部135は、未処理の属性値及び属性名の組合せについて、上記ステップS205〜S211における処理を行う。   Then, the calculation unit 134 and the determination unit 135 determine whether or not processing has been performed for all combinations of attribute values and attribute names extracted by the extraction unit 132 (step S212). At this time, when processing is not performed for all combinations of attribute values and attribute names (No in step S212), the calculation unit 134 and the determination unit 135 perform the above steps for the combination of unprocessed attribute values and attribute names. The processing in S205 to S211 is performed.

一方、全ての属性値及び属性名の組合せについて処理済みである場合には(ステップS212肯定)、判定部135は、ステップS209及びS211において計数した数が異常数閾値T4よりも多いか否かを判定する(ステップS213)。   On the other hand, when all the combinations of attribute values and attribute names have been processed (Yes at Step S212), the determination unit 135 determines whether or not the number counted in Steps S209 and S211 is larger than the abnormal number threshold T4. Determination is made (step S213).

そして、判定部135は、計数した数が異常数閾値T4よりも多い場合には(ステップS213肯定)、ステップS201において行われたアクセスがサーバ装置40に対する攻撃であると判定する(ステップS214)。一方、判定部135は、計数した数が異常数閾値T4以下である場合には(ステップS213否定)、ステップS201において行われたアクセスがサーバ装置40に対する攻撃でなく、正常なアクセスであると判定する(ステップS215)。   When the counted number is larger than the abnormal number threshold T4 (Yes at Step S213), the determining unit 135 determines that the access performed at Step S201 is an attack on the server device 40 (Step S214). On the other hand, when the counted number is equal to or less than the abnormal number threshold T4 (No at Step S213), the determination unit 135 determines that the access performed at Step S201 is a normal access, not an attack on the server device 40. (Step S215).

[第1の実施形態の効果]
上述してきたように、第1の実施形態に係る攻撃判定装置100において、学習部133は、正常であることが既知であるHTTPリクエスト(正常アクセス要求の一例に相当)がサーバ装置40(情報処理装置の一例に相当)に送信された場合に、かかる正常なHTTPリクエストに設定されている属性値(設定情報の一例に相当)を正常情報として学習する。また、学習結果記憶部120は、学習部133によって学習された正常情報の集合を記憶する。また、算出部134は、正常であることが既知でないHTTPリクエスト(未知アクセス要求の一例に相当)がサーバ装置40に送信された場合に、かかる未知のHTTPリクエストに設定されている設定情報が正常情報の集合に分類される度合いを示す指標値を算出する。また、判定部135は、算出部134によって算出された指標値に基づいて、前述した未知のHTTPリクエストがサーバ装置40に対する攻撃であるか否かを判定する。
[Effect of the first embodiment]
As described above, in the attack determination device 100 according to the first embodiment, the learning unit 133 determines that the HTTP request (corresponding to an example of a normal access request) known to be normal is the server device 40 (information processing If it is transmitted to a device (equivalent to an example of a device), an attribute value (corresponding to an example of setting information) set in the normal HTTP request is learned as normal information. Further, the learning result storage unit 120 stores a set of normal information learned by the learning unit 133. In addition, when an HTTP request that is not known to be normal (corresponding to an example of an unknown access request) is transmitted to the server device 40, the calculation unit 134 indicates that the setting information set in the unknown HTTP request is normal. An index value indicating the degree of classification into a set of information is calculated. Further, the determination unit 135 determines whether or not the above-described unknown HTTP request is an attack on the server device 40 based on the index value calculated by the calculation unit 134.

これにより、第1の実施形態に係る攻撃判定装置100は、予めパターン化された攻撃のシグネチャファイルやブラックリストを要することなく、サーバ装置40に対する未知の攻撃を検知することができる。すなわち、攻撃判定装置100は、専門家等によるパターン化データの作成に要するコストを低減することができるとともに、未知の攻撃を検知することができる。   Thereby, the attack determination apparatus 100 according to the first embodiment can detect an unknown attack on the server apparatus 40 without requiring a pre-patterned attack signature file or blacklist. That is, the attack determination apparatus 100 can reduce the cost required for creating patterned data by an expert or the like, and can detect an unknown attack.

また、第1の実施形態に係る攻撃判定装置100において、学習部133は、正常なHTTPリクエストに設定されている属性値の属性名毎に、かかる属性値を正常情報として学習する。また、学習結果記憶部120は、学習部133によって学習された正常情報の集合を属性名毎に記憶する。また、算出部134は、未知のHTTPリクエストに設定されている属性値が、かかる属性値の属性名に対応する正常情報の集合に分類されるか否かを示す指標値を算出する。   In the attack determination device 100 according to the first embodiment, the learning unit 133 learns the attribute value as normal information for each attribute name set in the normal HTTP request. The learning result storage unit 120 stores a set of normal information learned by the learning unit 133 for each attribute name. Further, the calculation unit 134 calculates an index value indicating whether or not the attribute value set in the unknown HTTP request is classified into a set of normal information corresponding to the attribute name of the attribute value.

これにより、第1の実施形態に係る攻撃判定装置100は、HTTPリクエストに設定される属性名毎に、属性値が異常であるか否かを判定することが可能となるので、サーバ装置40に対する未知の攻撃を高精度に検知することができる。   Thereby, the attack determination device 100 according to the first embodiment can determine whether or not the attribute value is abnormal for each attribute name set in the HTTP request. It is possible to detect unknown attacks with high accuracy.

また、第1の実施形態に係る攻撃判定装置100において、学習部133は、正常なHTTPリクエストに設定されている属性値のサイズがサイズ閾値T1よりも大きい場合に、かかる属性値を分解した素性(部分設定情報の一例に相当)を正常情報として学習する。また、算出部134は、未知のHTTPリクエストに設定されている属性値のサイズがサイズ閾値T1よりも大きい場合に、かかる属性値を分解した素性が正常情報の集合に分類されるか否かを示す指標値を算出する。   Further, in the attack determination device 100 according to the first embodiment, the learning unit 133 decomposes the attribute value when the size of the attribute value set in the normal HTTP request is larger than the size threshold T1. (Corresponding to an example of partial setting information) is learned as normal information. In addition, when the size of the attribute value set in the unknown HTTP request is larger than the size threshold T1, the calculation unit 134 determines whether or not the feature obtained by decomposing the attribute value is classified into a set of normal information. The index value shown is calculated.

これにより、第1の実施形態に係る攻撃判定装置100は、HTTPリクエストに設定される属性値を細分化した上で指標値を算出するので、属性値が異常であるか否かを高精度に判定することができ、この結果、サーバ装置40に対する未知の攻撃を高精度に検知することができる。   Thereby, since the attack determination apparatus 100 according to the first embodiment calculates the index value after subdividing the attribute value set in the HTTP request, it is possible to accurately determine whether the attribute value is abnormal. As a result, an unknown attack on the server device 40 can be detected with high accuracy.

また、第1の実施形態に係る攻撃判定装置100において、学習部133は、未知のHTTPリクエストに設定されている属性値を分解した素性を、かかる属性値の属性名に対応する線形識別器に訓練例データとして入力することにより、素性を正常情報として学習する。また、算出部134は、未知のHTTPリクエストに設定されている属性値のサイズがサイズ閾値T1以下である場合に、かかる属性値と正常情報の集合との類似度を前述の指標値として算出する。また、算出部134は、未知のアクセス要求に設定されている属性値のサイズがサイズ閾値T1よりも大きい場合に、かかる属性値を分解した各素性を、かかる属性値の属性名に対応する線形識別器に判定対象データとして入力することにより、各素性が正常情報の集合に分類される尤度である分類尤度を前述の指標値として算出する。また、判定部135は、類似度が類似度閾値T3よりも低い属性値の数、又は、分類尤度が尤度閾値T2よりも低い素性の数が異常数閾値T4よりも多い場合に、未知のアクセス要求が攻撃であると判定する。   Further, in the attack determination device 100 according to the first embodiment, the learning unit 133 converts the attribute value set in the unknown HTTP request to the linear classifier corresponding to the attribute name of the attribute value. By inputting it as training example data, the feature is learned as normal information. In addition, when the size of the attribute value set in the unknown HTTP request is equal to or smaller than the size threshold T1, the calculation unit 134 calculates the similarity between the attribute value and the set of normal information as the above-described index value. . In addition, when the size of the attribute value set in the unknown access request is larger than the size threshold T1, the calculation unit 134 sets each feature obtained by decomposing the attribute value to a linear corresponding to the attribute name of the attribute value. A classification likelihood that is a likelihood that each feature is classified into a set of normal information is calculated as the above-described index value by inputting the data as determination target data into the discriminator. In addition, the determination unit 135 is unknown when the number of attribute values whose similarity is lower than the similarity threshold T3 or the number of features whose classification likelihood is lower than the likelihood threshold T2 is larger than the abnormal number threshold T4. Is determined to be an attack.

これにより、第1の実施形態に係る攻撃判定装置100は、異常である可能性が高い属性値が設定されているHTTPリクエストを攻撃であると判定することができる。   Thereby, the attack determination apparatus 100 according to the first embodiment can determine that an HTTP request in which an attribute value that is highly likely to be abnormal is set is an attack.

(第2の実施形態)
上述した攻撃判定装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、第2の実施形態では、上記の攻撃判定装置100の他の実施形態について説明する。
(Second Embodiment)
The attack determination apparatus 100 described above may be implemented in various different forms other than the above embodiment. Therefore, in the second embodiment, another embodiment of the attack determination apparatus 100 will be described.

[判定処理]
上記実施形態では、判定部135が、異常であると判定した素性の数と属性値の数との総和が異常数閾値T4よりも多い場合に、攻撃であると判定する例を示した。しかし、判定部135による判定処理はこの例に限られない。
[Determination process]
In the above-described embodiment, an example has been described in which the determination unit 135 determines an attack when the sum of the number of features determined to be abnormal and the number of attribute values is greater than the abnormal number threshold T4. However, the determination process by the determination unit 135 is not limited to this example.

例えば、判定部135は、分類尤度を用いて異常であると判定した素性が1個でも存在すれば、プローブ50から入力されたHTTPリクエストが攻撃であると判定してもよい。また、例えば、判定部135は、類似度を用いて異常であると判定した属性値が1個でも存在すれば、HTTPリクエストが攻撃であると判定してもよい。また、例えば、判定部135は、全ての素性及び全ての属性値が異常でない場合に、HTTPリクエストが攻撃でないと判定してもよい。   For example, the determination unit 135 may determine that the HTTP request input from the probe 50 is an attack if there is even one feature determined to be abnormal using the classification likelihood. For example, the determination unit 135 may determine that the HTTP request is an attack if there is at least one attribute value determined to be abnormal using the similarity. For example, the determination unit 135 may determine that the HTTP request is not an attack when all the features and all the attribute values are not abnormal.

また、例えば、判定部135は、算出部134によって算出された各分類尤度の平均と、各類似度の平均とを算出し、分類尤度の平均が尤度閾値T2よりも低く、かつ、類似度の平均が類似度閾値T3よりも低い場合に、HTTPリクエストが攻撃であると判定してもよい。また、例えば、判定部135は、分類尤度の平均が尤度閾値T2よりも低いか、又は、類似度の平均が類似度閾値T3よりも低い場合に、HTTPリクエストが攻撃であると判定してもよい。   Further, for example, the determination unit 135 calculates the average of each classification likelihood calculated by the calculation unit 134 and the average of each similarity, the average of the classification likelihood is lower than the likelihood threshold T2, and If the average similarity is lower than the similarity threshold T3, it may be determined that the HTTP request is an attack. For example, the determination unit 135 determines that the HTTP request is an attack when the average of the classification likelihoods is lower than the likelihood threshold T2 or the average of the similarities is lower than the similarity threshold T3. May be.

[アクセス要求]
また、上記実施形態では、アクセス要求として、HTTPリクエストを例に挙げて説明したが、攻撃判定装置100によって攻撃判定処理が行われるアクセス要求は、HTTPリクエストに限られない。具体的には、攻撃判定装置100は、サーバ装置40にアクセスする利用者によって任意の設定情報(パラメータ)が設定され得る各種アクセス要求に対して攻撃判定処理を行うことができる。
[Access request]
In the above embodiment, an HTTP request has been described as an example of an access request. However, an access request for which an attack determination process is performed by the attack determination apparatus 100 is not limited to an HTTP request. Specifically, the attack determination device 100 can perform attack determination processing for various access requests in which arbitrary setting information (parameters) can be set by a user who accesses the server device 40.

[システム構成]
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[System configuration]
In addition, among the processes described in the above embodiment, all or part of the processes described as being automatically performed can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the document and drawings can be arbitrarily changed unless otherwise specified.

例えば、攻撃判定装置100は、学習用の通信環境であることが指定された場合に、算出部134及び判定部135を停止させてもよいが、手動によって算出部134及び判定部135が停止されてもよい。同様に、攻撃判定装置100は、通常運用の通信環境であることが指定された場合に、学習部133を停止させてもよいが、手動によって学習部133が停止されてもよい。   For example, the attack determination apparatus 100 may stop the calculation unit 134 and the determination unit 135 when the communication environment for learning is specified, but the calculation unit 134 and the determination unit 135 are manually stopped. May be. Similarly, the attack determination device 100 may stop the learning unit 133 when it is designated that the communication environment is a normal operation, but the learning unit 133 may be manually stopped.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.

例えば、図3に示した算出部134と判定部135とは統合されてもよい。また、学習結果記憶部120は、「Correct(attribute)」を記憶する第1記憶部と、「lern(attribute、[素性(集合)])」を記憶する第2記憶部とに分離されてもよい。   For example, the calculation unit 134 and the determination unit 135 illustrated in FIG. 3 may be integrated. In addition, the learning result storage unit 120 may be separated into a first storage unit that stores “Correct (attribute)” and a second storage unit that stores “lern (attribute, [feature (set)]” ”. Good.

また、再構築部131及び抽出部132は、攻撃判定装置100に具備されなくてもよい。例えば、プローブ50が再構築部131及び抽出部132を具備してもよい。また、上記第1の実施形態では、学習部133及び算出部134の双方が、属性値をデコードし、デコード後の属性値を形態素解析する処理を行う例を示した。しかし、攻撃判定装置100は、属性値をデコードするデコード部と、属性値を形態素解析する解析部とを、学習部133及び算出部134とは別に具備してもよい。かかる場合には、学習部133及び算出部134は、デコード部にデコード処理を行わせ、解析部に形態素解析処理を行わせる。   Further, the reconstruction unit 131 and the extraction unit 132 may not be included in the attack determination device 100. For example, the probe 50 may include the reconstruction unit 131 and the extraction unit 132. In the first embodiment, an example has been described in which both the learning unit 133 and the calculation unit 134 perform processing for decoding attribute values and performing morphological analysis on the decoded attribute values. However, the attack determination apparatus 100 may include a decoding unit that decodes the attribute value and an analysis unit that performs morphological analysis of the attribute value separately from the learning unit 133 and the calculation unit 134. In such a case, the learning unit 133 and the calculation unit 134 cause the decoding unit to perform decoding processing and cause the analysis unit to perform morpheme analysis processing.

[プログラム]
また、上記実施形態において説明した攻撃判定装置100が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、攻撃判定装置100が実行する処理をコンピュータが実行可能な言語で記述した攻撃判定プログラムを作成することもできる。この場合、コンピュータが攻撃判定プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる攻撃判定プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された攻撃判定プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、一例として、図3に示した攻撃判定装置100と同様の機能を実現する攻撃判定プログラムを実行するコンピュータの一例を説明する。
[program]
In addition, it is possible to create a program in which the processing executed by the attack determination apparatus 100 described in the above embodiment is described in a language that can be executed by a computer. For example, it is possible to create an attack determination program in which the processing executed by the attack determination apparatus 100 is described in a language that can be executed by a computer. In this case, when the computer executes the attack determination program, the same effect as in the above embodiment can be obtained. Further, by recording the attack determination program on a computer-readable recording medium, and reading the attack determination program recorded on the recording medium into a computer and executing it, the same processing as in the above embodiment can be realized. Good. Hereinafter, as an example, an example of a computer that executes an attack determination program that realizes the same function as the attack determination apparatus 100 illustrated in FIG. 3 will be described.

図7は、攻撃判定プログラムを実行するコンピュータ1000を示す図である。図7に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 7 is a diagram illustrating a computer 1000 that executes an attack determination program. As illustrated in FIG. 7, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図7に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図7に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図7に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図7に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図7に例示するように、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052 as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図7に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の攻撃判定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図3に例示した再構築部131と同様の情報処理を実行する再構築手順と、抽出部132と同様の情報処理を実行する抽出手順と、学習部133と同様の情報処理を実行する学習手順と、算出部134と同様の情報処理を実行する算出手順と、判定部135と同様の情報処理を実行する判定手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 7, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the attack determination program is stored in, for example, the hard disk drive 1031 as a program module in which a command executed by the computer 1000 is described. For example, a reconstruction procedure for executing information processing similar to that of the reconstruction unit 131 illustrated in FIG. 3, an extraction procedure for executing information processing similar to that of the extraction unit 132, and information processing similar to that of the learning unit 133 are performed. A hard disk drive 1031 stores a program module 1093 in which a learning procedure, a calculation procedure for executing information processing similar to that of the calculation unit 134, and a determination procedure for executing information processing similar to that of the determination unit 135 are described.

また、上記実施形態で説明した学習結果記憶部120が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、再構築手順、抽出手順、学習手順、算出手順、判定手順を実行する。   In addition, various data held by the learning result storage unit 120 described in the above embodiment is stored as program data, for example, in the memory 1010 or the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1031 to the RAM 1012 as necessary, and executes a reconstruction procedure, an extraction procedure, a learning procedure, a calculation procedure, and a determination procedure.

なお、攻撃判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、攻撃判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the attack determination program are not limited to being stored in the hard disk drive 1031, but are stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Also good. Alternatively, the program module 1093 and the program data 1094 related to the attack determination program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and the network interface 1070 is stored. Via the CPU 1020.

1 ネットワークシステム
40 サーバ装置
100 攻撃判定装置
120 学習結果記憶部
131 再構築部
132 抽出部
133 学習部
134 算出部
135 判定部
DESCRIPTION OF SYMBOLS 1 Network system 40 Server apparatus 100 Attack determination apparatus 120 Learning result storage part 131 Reconstruction part 132 Extraction part 133 Learning part 134 Calculation part 135 Determination part

Claims (6)

正常であることが既知である正常アクセス要求が情報処理装置に送信された場合に、当該正常アクセス要求に設定されている設定情報を正常情報として学習する学習部と、
前記学習部によって学習された正常情報の集合を記憶する学習結果記憶部と、
正常であることが既知でない未知アクセス要求が前記情報処理装置に送信された場合に、当該未知アクセス要求に設定されている設定情報が前記正常情報の集合に分類される度合いを示す指標値を算出する算出部と、
前記算出部によって算出された指標値に基づいて、前記未知アクセス要求が前記情報処理装置に対する攻撃であるか否かを判定する判定部と
を備えたことを特徴とする攻撃判定装置。
A learning unit that learns setting information set in the normal access request as normal information when a normal access request that is known to be normal is transmitted to the information processing apparatus;
A learning result storage unit that stores a set of normal information learned by the learning unit;
When an unknown access request that is not known to be normal is transmitted to the information processing apparatus, an index value indicating the degree to which the setting information set in the unknown access request is classified into the set of normal information is calculated A calculating unit to
An attack determination device comprising: a determination unit that determines whether or not the unknown access request is an attack on the information processing device based on the index value calculated by the calculation unit.
前記学習部は、
前記正常アクセス要求に設定されている設定情報の属性毎に、当該設定情報を前記正常情報として学習し、
前記学習結果記憶部は、
前記学習部によって学習された正常情報の集合を前記属性毎に記憶し、
前記算出部は、
前記未知アクセス要求に設定されている設定情報が当該設定情報の属性に対応する前記正常情報の集合に分類されるか否かを示す指標値を算出する
ことを特徴とする請求項1に記載の攻撃判定装置。
The learning unit
For each attribute of the setting information set in the normal access request, the setting information is learned as the normal information,
The learning result storage unit
A set of normal information learned by the learning unit is stored for each attribute,
The calculation unit includes:
The index value indicating whether or not the setting information set in the unknown access request is classified into the set of normal information corresponding to the attribute of the setting information is calculated. Attack determination device.
前記学習部は、
前記正常アクセス要求に設定されている設定情報のサイズが所定のサイズ閾値よりも大きい場合に、当該設定情報を分解した部分設定情報を前記正常情報として学習し、
前記算出部は、
前記未知アクセス要求に設定されている設定情報のサイズが前記サイズ閾値よりも大きい場合に、当該設定情報を分解した部分設定情報が前記正常情報の集合に分類されるか否かを示す指標値を算出する
ことを特徴とする請求項2に記載の攻撃判定装置。
The learning unit
When the size of the setting information set in the normal access request is larger than a predetermined size threshold, the partial setting information obtained by disassembling the setting information is learned as the normal information,
The calculation unit includes:
When the size of the setting information set in the unknown access request is larger than the size threshold, an index value indicating whether or not the partial setting information obtained by disassembling the setting information is classified into the normal information set The attack determination device according to claim 2, wherein the attack determination device calculates the attack.
前記学習部は、
前記未知アクセス要求に設定されている設定情報を分解した部分設定情報を当該設定情報の属性に対応する線形識別器に訓練例データとして入力することにより、当該部分設定情報を前記正常情報として学習し、
前記算出部は、
前記未知アクセス要求に設定されている設定情報のサイズが前記サイズ閾値以下である場合に、当該設定情報と前記正常情報の集合との類似度を前記指標値として算出し、前記未知アクセス要求に設定されている設定情報のサイズが前記サイズ閾値よりも大きい場合に、当該設定情報を分解した各部分設定情報を当該設定情報の属性に対応する線形識別器に判定対象データとして入力することにより、当該各部分設定情報が前記正常情報の集合に分類される尤度を前記指標値として算出し、
前記判定部は、
前記類似度が所定の類似度閾値よりも低い設定情報の数、又は、前記尤度が所定の尤度閾値よりも低い部分設定情報の数が所定数よりも多い場合に、前記未知アクセス要求が攻撃であると判定する
ことを特徴とする請求項3に記載の攻撃判定装置。
The learning unit
By inputting the partial setting information obtained by disassembling the setting information set in the unknown access request as training example data to the linear discriminator corresponding to the attribute of the setting information, the partial setting information is learned as the normal information. ,
The calculation unit includes:
When the size of the setting information set in the unknown access request is equal to or smaller than the size threshold, the similarity between the setting information and the set of normal information is calculated as the index value and set in the unknown access request When the size of the setting information being set is larger than the size threshold, the partial setting information obtained by disassembling the setting information is input as determination target data to the linear classifier corresponding to the attribute of the setting information. The likelihood that each partial setting information is classified into the set of normal information is calculated as the index value,
The determination unit
When the number of setting information whose similarity is lower than a predetermined similarity threshold or the number of partial setting information whose likelihood is lower than a predetermined likelihood threshold is larger than a predetermined number, the unknown access request is It determines with it being an attack. The attack determination apparatus of Claim 3 characterized by the above-mentioned.
攻撃判定装置が実行する攻撃判定方法であって、
正常であることが既知である正常アクセス要求が情報処理装置に送信された場合に、当該正常アクセス要求に設定されている設定情報を正常情報として学習する学習ステップと、
前記学習ステップにおいて学習された正常情報の集合を学習結果記憶部に格納する格納ステップと、
正常であることが既知でない未知アクセス要求が前記情報処理装置に送信された場合に、当該未知アクセス要求に設定されている設定情報が前記正常情報の集合に分類される度合いを示す指標値を算出する算出ステップと、
前記算出ステップにおいて算出された指標値に基づいて、前記未知アクセス要求が前記情報処理装置に対する攻撃であるか否かを判定する判定ステップと
を含んだことを特徴とする攻撃判定方法。
An attack determination method executed by an attack determination device,
A learning step for learning, as normal information, setting information set in the normal access request when a normal access request that is known to be normal is transmitted to the information processing apparatus;
A storage step of storing a set of normal information learned in the learning step in a learning result storage unit;
When an unknown access request that is not known to be normal is transmitted to the information processing apparatus, an index value indicating the degree to which the setting information set in the unknown access request is classified into the set of normal information is calculated A calculating step to
An attack determination method comprising: a determination step of determining whether or not the unknown access request is an attack on the information processing device based on the index value calculated in the calculation step.
コンピュータを請求項1〜4のいずれか一つに記載の攻撃判定装置として機能させるための攻撃判定プログラム。   The attack determination program for functioning a computer as an attack determination apparatus as described in any one of Claims 1-4.
JP2012102602A 2012-04-27 2012-04-27 Attack determination device, attack determination method, and attack determination program Expired - Fee Related JP5832951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012102602A JP5832951B2 (en) 2012-04-27 2012-04-27 Attack determination device, attack determination method, and attack determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012102602A JP5832951B2 (en) 2012-04-27 2012-04-27 Attack determination device, attack determination method, and attack determination program

Publications (2)

Publication Number Publication Date
JP2013232716A true JP2013232716A (en) 2013-11-14
JP5832951B2 JP5832951B2 (en) 2015-12-16

Family

ID=49678818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012102602A Expired - Fee Related JP5832951B2 (en) 2012-04-27 2012-04-27 Attack determination device, attack determination method, and attack determination program

Country Status (1)

Country Link
JP (1) JP5832951B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014045827A1 (en) * 2012-09-19 2014-03-27 三菱電機株式会社 Information processing device, information processing method, and program
WO2018179329A1 (en) * 2017-03-31 2018-10-04 日本電気株式会社 Extracting device, extracting method, and computer-readable medium
CN109076011A (en) * 2016-04-19 2018-12-21 三菱电机株式会社 Relay
JP2019009680A (en) * 2017-06-27 2019-01-17 日本電信電話株式会社 Detection device and detection method
JP2019179486A (en) * 2018-03-30 2019-10-17 日本電気株式会社 Information processing device, control method, and program
JP2020013536A (en) * 2018-07-13 2020-01-23 クラウドブリック コーポレーション Deep learning method to which hexadecimal image conversion and incremental learning for web traffic learning are applied
CN111726774A (en) * 2020-06-28 2020-09-29 北京百度网讯科技有限公司 Method, device, equipment and storage medium for defending attack
JP6998099B1 (en) 2021-08-03 2022-01-18 サイバーマトリックス株式会社 How to detect fraudulent access requests
JP2023516621A (en) * 2020-02-25 2023-04-20 エフ・1・セキュリティ・インコーポレイテッド Web attack detection and blocking system and method by artificial intelligence machine learning behavior-based web protocol analysis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015025692; 今野徹 他: 'ネットワークに対する未知攻撃の検知・防御技術とその応用' 東芝レビュー 第60巻,第6号, 20050601, p.32〜35, 株式会社東芝 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014045827A1 (en) * 2012-09-19 2014-03-27 三菱電機株式会社 Information processing device, information processing method, and program
CN109076011A (en) * 2016-04-19 2018-12-21 三菱电机株式会社 Relay
US10785259B2 (en) 2016-04-19 2020-09-22 Mitsubishi Electric Corporation Relay device
WO2018179329A1 (en) * 2017-03-31 2018-10-04 日本電気株式会社 Extracting device, extracting method, and computer-readable medium
JPWO2018179329A1 (en) * 2017-03-31 2019-12-12 日本電気株式会社 Extraction apparatus, extraction method, and computer-readable medium
US11405411B2 (en) 2017-03-31 2022-08-02 Nec Corporation Extraction apparatus, extraction method, computer readable medium
JP2019009680A (en) * 2017-06-27 2019-01-17 日本電信電話株式会社 Detection device and detection method
JP2019179486A (en) * 2018-03-30 2019-10-17 日本電気株式会社 Information processing device, control method, and program
JP7200496B2 (en) 2018-03-30 2023-01-10 日本電気株式会社 Information processing device, control method, and program
JP2020013536A (en) * 2018-07-13 2020-01-23 クラウドブリック コーポレーション Deep learning method to which hexadecimal image conversion and incremental learning for web traffic learning are applied
JP2023516621A (en) * 2020-02-25 2023-04-20 エフ・1・セキュリティ・インコーポレイテッド Web attack detection and blocking system and method by artificial intelligence machine learning behavior-based web protocol analysis
JP7391313B2 (en) 2020-02-25 2023-12-05 エフ・1・セキュリティ・インコーポレイテッド Web attack detection and blocking system and method using artificial intelligence machine learning behavior-based web protocol analysis
CN111726774A (en) * 2020-06-28 2020-09-29 北京百度网讯科技有限公司 Method, device, equipment and storage medium for defending attack
CN111726774B (en) * 2020-06-28 2023-09-05 阿波罗智联(北京)科技有限公司 Method, device, equipment and storage medium for defending attack
US11797674B2 (en) 2020-06-28 2023-10-24 Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. Method and apparatus for defending against attacks, device and storage medium
JP2023022613A (en) * 2021-08-03 2023-02-15 サイバーマトリックス株式会社 Method for detecting fraudulence of access request
JP6998099B1 (en) 2021-08-03 2022-01-18 サイバーマトリックス株式会社 How to detect fraudulent access requests

Also Published As

Publication number Publication date
JP5832951B2 (en) 2015-12-16

Similar Documents

Publication Publication Date Title
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
JP5832951B2 (en) Attack determination device, attack determination method, and attack determination program
US10855700B1 (en) Post-intrusion detection of cyber-attacks during lateral movement within networks
US9602525B2 (en) Classification of malware generated domain names
Bagui et al. Using machine learning techniques to identify rare cyber‐attacks on the UNSW‐NB15 dataset
JP6001689B2 (en) Log analysis apparatus, information processing method, and program
US8893278B1 (en) Detecting malware communication on an infected computing device
JP6159018B2 (en) Extraction condition determination method, communication monitoring system, extraction condition determination apparatus, and extraction condition determination program
JP2019021294A (en) SYSTEM AND METHOD OF DETERMINING DDoS ATTACKS
WO2018099206A1 (en) Apt detection method, system, and device
Ireland Intrusion detection with genetic algorithms and fuzzy logic
Angiulli et al. Exploiting n-gram location for intrusion detection
Li et al. A method based on statistical characteristics for detection malware requests in network traffic
Bherde et al. Recent attack prevention techniques in web service applications
Xue et al. Design and implementation of a malware detection system based on network behavior
Wang et al. Behavior‐based botnet detection in parallel
JP6592196B2 (en) Malignant event detection apparatus, malignant event detection method, and malignant event detection program
Ismail et al. Incorporating known malware signatures to classify new malware variants in network traffic
Kheir et al. Behavioral fine-grained detection and classification of P2P bots
Endraca et al. Web Application Fi rewall (W AF)
Chiba et al. Botprofiler: Profiling variability of substrings in http requests to detect malware-infected hosts
Yen Detecting stealthy malware using behavioral features in network traffic
US11425092B2 (en) System and method for analytics based WAF service configuration
CN113328976B (en) Security threat event identification method, device and equipment
Kheir et al. Peerviewer: Behavioral tracking and classification of P2P malware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150821

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151028

R150 Certificate of patent or registration of utility model

Ref document number: 5832951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees