JP2005085158A - Improper access detector, and abnormal data detecting method over computer network - Google Patents

Improper access detector, and abnormal data detecting method over computer network Download PDF

Info

Publication number
JP2005085158A
JP2005085158A JP2003318798A JP2003318798A JP2005085158A JP 2005085158 A JP2005085158 A JP 2005085158A JP 2003318798 A JP2003318798 A JP 2003318798A JP 2003318798 A JP2003318798 A JP 2003318798A JP 2005085158 A JP2005085158 A JP 2005085158A
Authority
JP
Japan
Prior art keywords
directed graph
graph structure
character string
data
directed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003318798A
Other languages
Japanese (ja)
Inventor
Ryuji Sakai
隆二 境
Toru Konno
徹 今野
Masamichi Tateoka
正道 楯岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003318798A priority Critical patent/JP2005085158A/en
Publication of JP2005085158A publication Critical patent/JP2005085158A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To protect a server by automatically analyzing an internal structure of packet data passing through a network on a real time basis, identifying a packet including abnormal data, and detecting an unknown attack, with respect to an unknown attack pattern of packet data which cannot be digitized easily. <P>SOLUTION: A directed graph structure creating/processing part 104 creates a directed graph structure, by using a character string of request data received from a character string breakdown processing part 103 as one unit, or it carries out an update processing with regard to a corresponding character string. An evaluation processing part 105 refers to the directed graph structure, in coordination with the directed graph structure creating/processing part 104, calculates the appearance frequency, in units of segmented data of request data received by a network interface 101 to carry out evaluation, and sends information (determination information of an abnormal value/normal value) of the evaluation to a transfer control part 106. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、インターネットに於いて、ファイアウォールでは防ぐことができない未知の攻撃からWebサーバ等を防御するための不正アクセス検出装置および異常データ検出方法に関する。   The present invention relates to an unauthorized access detection apparatus and an abnormal data detection method for protecting a Web server and the like from unknown attacks that cannot be prevented by a firewall in the Internet.

インターネットに於いて、ファイアウォールで防ぐことができない攻撃は多様であるが、その中で、Webサーバ上のセキュリティホール、すなわちソフトウェアのバグや脆弱性を狙った攻撃は、特にその数が多い。HTTPリクエストに特定の文字列が含まれているだけで、それを解釈実行したWebサーバ上のCGI(Common Gateway Interface)等のソフトウェアが、バッファオーバーフローや、予期せぬ動作を引き起こすといった不具合である。こうしたWebサーバ上のソフトウェアの脆弱性を狙った攻撃に対応するために、多くの侵入検知システムは、クライアントからWebサーバに送信されるHTTPリクエストをアプリケーション層で中継・解析し、あらかじめ既知の攻撃の特徴を格納したシグネチャ(攻撃パターンファイル)と比較し、マッチした場合にセッション中継を遮断することにより、Webサーバを防御している。   In the Internet, there are a variety of attacks that cannot be prevented by firewalls, but among them, there are particularly many attacks aimed at security holes on the Web server, that is, software bugs and vulnerabilities. There is a problem that software such as CGI (Common Gateway Interface) on the Web server that interprets and executes only a specific character string in the HTTP request causes a buffer overflow or an unexpected operation. In order to respond to attacks targeting software vulnerabilities on web servers, many intrusion detection systems relay and analyze HTTP requests sent from clients to web servers at the application layer, and make known attacks in advance. Compared with the signature (attack pattern file) that stores the features, the session server relay is blocked when there is a match, thereby protecting the Web server.

しかしながら、上記した従来技術においては、シグネチャに格納されていない未知の攻撃からはWebサーバを防御することができないという問題があった。   However, the above-described conventional technology has a problem that the Web server cannot be protected from an unknown attack that is not stored in the signature.

一方、シグネチャに記述されていない攻撃を検出することを目的として、攻撃でない通常のパケットデータの統計情報を採取し、このデータをもとに、通過するパケットデータを統計解析することによって、通常のデータと異なるパケットを区別する手法がある。この方法によって、異常なパケットを検出することをアノーマリディテクッションという。   On the other hand, for the purpose of detecting attacks that are not described in the signature, statistical information of normal packet data that is not attacks is collected, and based on this data, statistical analysis is performed on the packet data that passes through. There is a technique for distinguishing packets that are different from data. Detecting an abnormal packet by this method is called an anomalous cushion.

このアノーマリディテクションは、一般的に、パケットの長さやアクセス頻度などの単純に数値化可能なデータの統計分布を解析することで実現されており、これに、様々な学習アルゴリズムを適用することで、解析精度を高める研究が行われている。
特開2002−063084号公報
This anomaly detection is generally realized by analyzing the statistical distribution of data that can be simply quantified such as packet length and access frequency, and by applying various learning algorithms to this. Research to improve analysis accuracy is being conducted.
JP 2002-063084 A

上述したように、コンピュータネットワーク上での攻撃検出に於いて、未知の攻撃パターンからサーバを防御するために、パケットのデータの長さやアクセス頻度などの数値化可能なデータの統計情報を採取して、統計分布などを解析し、異常なパケットを見つけ出す技術が開発されている。   As described above, in the attack detection on the computer network, in order to protect the server from unknown attack patterns, collect statistical information of data that can be quantified such as the length of packet data and the access frequency. A technique for analyzing statistical distribution and finding abnormal packets has been developed.

しかし、単純に数値化可能なデータの異常値のみでは、検出不可能な攻撃パターンもあり、より精度の高い未知攻撃検出処理が必要とされている。   However, there are attack patterns that cannot be detected only with abnormal values of data that can be quantified simply, and more accurate unknown attack detection processing is required.

また、統計処理や学習処理は、システムリソースの負荷を増大させ、実運用上での処理スピードに問題が生じる。また、IDS(intrusion detection system)タイプの攻撃検出では、パケットのすりぬけを許してしまうという問題があり、ファイアーウォールタイプの攻撃検出では、ネットワークのバンド幅を低減させてしまうという問題があった。   In addition, statistical processing and learning processing increase the load of system resources and cause a problem in processing speed in actual operation. In addition, IDS (intrusion detection system) type attack detection has a problem of allowing a packet to pass through, and firewall type attack detection has a problem of reducing the network bandwidth.

本発明は、容易に数値化できないパケットデータの未知攻撃パターンをアノーマリ検知により効率的に検知できる不正アクセス検出装置およびコンピュータネットワーク上に於ける異常データ検出方法を提供することを目的とする。   An object of the present invention is to provide an unauthorized access detection apparatus and an abnormal data detection method on a computer network that can efficiently detect an unknown attack pattern of packet data that cannot be easily quantified by anomaly detection.

本発明は、ネットワークを通過するパケットデータの内部構造を、リアルタイムに自動的に解析することによって、異常なデータを含むパッケトを識別し、ネットワーク攻撃からサーバを保護するシステムを実現する。一般に、コンピュータサーバに送りつけられるパケットデータは、何らかのサービスを要求するリクエスト(HTTPリクエスト)であり、RFC(request for comments)などで規定された構文構造をもっている。しかし、サーバで動作するアプリケーションなどの都合で、独自に拡張された構文を規定するケースや、厳密に構文解析できないような仕様もある。また、サーバによっては、リクエストの中に、特定の文字列が特定の場所にあるもののみが、正常なリクエストとして認識されるようなものが多く存在する。   The present invention realizes a system that identifies a packet containing abnormal data and automatically protects a server from a network attack by automatically analyzing the internal structure of packet data passing through a network in real time. In general, packet data sent to a computer server is a request for requesting some service (HTTP request), and has a syntax structure defined by RFC (request for comments) or the like. However, there are cases where the extended syntax is specified for the convenience of applications running on the server, and there are specifications that cannot be parsed strictly. In addition, depending on the server, there are many requests in which only a specific character string at a specific location is recognized as a normal request.

本発明は、文字クラスの分類、文字列の前後関係の相関関係の抽出を通して、リクエストがもつ構文構造を学習したり適切な文字列のデータベースを構築する。   The present invention learns the syntax structure of a request and constructs an appropriate character string database through classification of character classes and extraction of the correlation of character string contexts.

統計情報は、統計処理する母集団の数が多いほど、統計解析する精度が向上するという性質がある。しかし、母集団が増大すると、統計解析処理の負荷が増大し、リアルタイムにパケットを解析することが難しくなってくる。   The statistical information has a property that the accuracy of statistical analysis improves as the number of populations subjected to statistical processing increases. However, as the population increases, the load of statistical analysis processing increases, making it difficult to analyze packets in real time.

このため、本発明では、相転移のように、局所的に扱うデータ規模の量に応じて、解析レベルを変化させることを特徴とする。   For this reason, the present invention is characterized in that the analysis level is changed in accordance with the amount of data scale handled locally, such as phase transition.

本発明によれば、容易に数値化できないパケットデータの未知攻撃パターンに対して、当該攻撃パターンをアノーマリディテクションによって効率的に検知することができる。   According to the present invention, for an unknown attack pattern of packet data that cannot be easily quantified, the attack pattern can be efficiently detected by anomaly detection.

以下図面を参照して本発明の一実施例を説明する。   An embodiment of the present invention will be described below with reference to the drawings.

ネットワークシステムに於いて未知攻撃防御システムを実現する本発明の実施形態に係る不正アクセス検出装置の構成を図1に示す。   FIG. 1 shows the configuration of an unauthorized access detection apparatus according to an embodiment of the present invention that realizes an unknown attack defense system in a network system.

未知攻撃防御システムを実現する不正アクセス検出装置3は、攻撃の対象となるWebサーバ2とネットワーク1との間に介在し、ネットワーク1を介して入力されたパケット転送によるアクセスデータ(リクエストデータ)から未知の攻撃パターンを検出することによって、Webサーバ2を未知の攻撃パターンから保護する。クライアントPC4はネットワーク1を介してWebサーバ2をアクセスする。尚、不正アクセス検出装置3は、Webサーバ2とネットワーク1との間に、傍受型、フィルタ型のいずれで介挿されてもよいが、ここでは一例としてフィルタ型としての構成を例に示す。   The unauthorized access detection device 3 that implements the unknown attack defense system is interposed between the Web server 2 to be attacked and the network 1, and receives access data (request data) by packet transfer input via the network 1. By detecting an unknown attack pattern, the Web server 2 is protected from the unknown attack pattern. The client PC 4 accesses the Web server 2 via the network 1. The unauthorized access detection device 3 may be inserted between the Web server 2 and the network 1 by either an intercept type or a filter type, but here, a configuration as a filter type is shown as an example.

不正アクセス検出装置3は、ネットワークインタフェース101、リクエストデータ抽出部102、文字列分解処理部103、有向グラフ構造生成・処理部104、評価処理部105、転送制御部106、ネットワークインタフェース107、イニシャライズ処理部111、有向グラフ構造データ格納部112、セパレータ定義情報ファイル121、トレーシングデータ格納部122等を具備して構成される。   The unauthorized access detection device 3 includes a network interface 101, a request data extraction unit 102, a character string decomposition processing unit 103, a directed graph structure generation / processing unit 104, an evaluation processing unit 105, a transfer control unit 106, a network interface 107, and an initialization processing unit 111. , A directed graph structure data storage unit 112, a separator definition information file 121, a tracing data storage unit 122, and the like.

ネットワークインタフェース101は、ネットワーク1を介してWebサーバ2に送られるパケットデータを受信し、受信したパケットデータをリクエストデータ抽出部102に受け渡す。   The network interface 101 receives packet data sent to the Web server 2 via the network 1 and passes the received packet data to the request data extraction unit 102.

リクエストデータ抽出部102は、ネットワークインタフェース101が受信したパケットからリクエストデータ(HTTPリクエスト)を抽出し、抽出したリクエストデータを文字列分解処理部103に受け渡す。   The request data extraction unit 102 extracts request data (HTTP request) from the packet received by the network interface 101, and delivers the extracted request data to the character string decomposition processing unit 103.

文字列分解処理部103は、リクエストデータ抽出部102から受けたリクエストデータをセパレータ定義情報ファイル121に定義されたセパレータ文字を参照して区分(切断)し、区分した文字列を有向グラフ構造生成・処理部104に受け渡す。   The character string decomposition processing unit 103 classifies (cuts) the request data received from the request data extraction unit 102 with reference to the separator characters defined in the separator definition information file 121, and generates and processes the segmented character strings. Passed to the unit 104.

有向グラフ構造生成・処理部104は、文字列分解処理部103から受けたリクエストデータの文字列を単位に、ノードおよび有向エッジをもつ木構造の有向グラフ構造をポインタを用いて生成し、更に該当する文字列についてのアップデート処理(パスの更新処理)を実行する(図2(b)、図3参照)。   The directed graph structure generation / processing unit 104 generates a tree-structured directed graph structure having nodes and directed edges by using the character string of the request data received from the character string decomposition processing unit 103 as a unit, and further applies. Update processing (path update processing) for the character string is executed (see FIGS. 2B and 3).

評価処理部105は、上記有向グラフ構造生成・処理部104と連繋し、有向グラフ構造生成・処理部104で処理した有向グラフ構造を参照して、ネットワークインタフェース101が受信したリクエストデータの区分されたデータ単位での出現頻度を計算し評価して、その評価の情報(正常範囲とみなされる域値であるか異常範囲とみなされる域値であるかを示す異常値/正常値の判定情報)を転送制御部106に送出する。   The evaluation processing unit 105 is linked to the directed graph structure generation / processing unit 104, refers to the directed graph structure processed by the directed graph structure generation / processing unit 104, and is divided into data units of request data received by the network interface 101. The appearance control frequency is calculated and evaluated, and information on the evaluation (abnormal value / normal value determination information indicating whether the threshold value is regarded as a normal range or an abnormal range) is transferred to the transfer control unit 106.

転送制御部106は、評価処理部105から受けた評価情報(異常値/正常値の判定情報)をもとにネットワークインタフェース101が受信したリクエストデータの送出/破棄(若しくは保留)の制御を行う。即ち、評価情報が異常値であれば、該当するリクエストデータをネットワークインタフェース107に渡さずに破棄し(若しくは記憶手段に留保し)、評価情報が正常値であれば、該当するリクエストデータをネットワークインタフェース107に渡す。   The transfer control unit 106 controls transmission / discard (or suspension) of request data received by the network interface 101 based on the evaluation information (abnormal value / normal value determination information) received from the evaluation processing unit 105. That is, if the evaluation information is an abnormal value, the corresponding request data is discarded without being passed to the network interface 107 (or retained in the storage means), and if the evaluation information is a normal value, the corresponding request data is transferred to the network interface. Pass to 107.

ネットワークインタフェース107は、転送制御部106の転送制御で渡されたリクエストデータをWebサーバ2に転送する。   The network interface 107 transfers the request data passed by the transfer control of the transfer control unit 106 to the Web server 2.

イニシャライズ処理部111は、トレーシングデータ格納部122に保持されたトレーシングデータを用いて、有向グラフ構造生成・処理部104に於ける有向グラフ構造の処理に際しての初期化(イニシャライズ処理)を行い、有向グラフ構造を辿るグラフポインタをエントリ(ルートノード)にセットする機能を実現する。   The initialization processing unit 111 uses the tracing data held in the tracing data storage unit 122 to perform initialization (initialization processing) when processing the directed graph structure in the directed graph structure generation / processing unit 104, and to perform the directed graph structure. The function of setting the graph pointer that traces to the entry (root node) is realized.

有向グラフ構造データ格納部112は、予め学習された有向グラフ構造のデータを保持し、イニシャライズ処理に於いて、有向グラフ構造生成・処理部104にプリセットする機能を実現する。   The directed graph structure data storage unit 112 holds data of a directed graph structure learned in advance, and realizes a function of presetting the directed graph structure generation / processing unit 104 in the initialization process.

図2、および図3は、それぞれ有向グラフ構造生成・処理部104および評価処理部105の処理動作を説明するためのもので、図2(a)に、リクエストデータ(リクエスト行)の一例を示し、図2(b)に、同図(a)のリクエスト行に従う木構造の有向グラフ構造の例を示し、図3に処理の手順を示している。尚、図3では、リクエストデータに含まれるセパレータ文字についても区切られた一つの文字列として扱っている。   2 and 3 are for explaining the processing operations of the directed graph structure generation / processing unit 104 and the evaluation processing unit 105, respectively. FIG. 2A shows an example of request data (request line). FIG. 2B shows an example of a directed graph structure of a tree structure according to the request line of FIG. 2A, and FIG. 3 shows a processing procedure. In FIG. 3, the separator character included in the request data is also handled as one separated character string.

ここで上記各図を参照して本発明の不正アクセス検出装置に於ける動作を説明する。   Here, the operation in the unauthorized access detection apparatus of the present invention will be described with reference to the respective drawings.

不正アクセス検出装置3に於いて、ネットワークインタフェース101は、ネットワーク1を介してWebサーバ2に送られるパケットデータを受信し、受信したパケットデータをリクエストデータ抽出部102に受け渡す。リクエストデータ抽出部102は、ネットワークインタフェース101が受信したパケットからリクエストデータ(HTTPリクエスト)を抽出し、抽出したリクエストデータを文字列分解処理部103に受け渡す。   In the unauthorized access detection device 3, the network interface 101 receives packet data sent to the Web server 2 via the network 1, and passes the received packet data to the request data extraction unit 102. The request data extraction unit 102 extracts request data (HTTP request) from the packet received by the network interface 101, and delivers the extracted request data to the character string decomposition processing unit 103.

文字列分解処理部103は、リクエストデータ抽出部102から受けたリクエストデータをセパレータ定義情報ファイル121に定義されたセパレータ文字を参照して区分(切断)し、区分した文字列を有向グラフ構造生成・処理部104に受け渡す。この際、セパレータ定義情報ファイル121に定義されたセパレータ文字としては、「 ” ’ ` ( ) { } 〔 ] ; , = | 」、さらには図2に示す、「 ? スペース 」等を挙げることができる。文字列分解処理部103はセパレータ定義情報ファイル121に定義されたこれらのセパレータ文字を見つける毎に、リクエストデータを分解(区分)する。そしてこの区分した文字列を有向グラフ構造生成・処理部104に渡す。   The character string decomposition processing unit 103 classifies (cuts) the request data received from the request data extraction unit 102 with reference to the separator characters defined in the separator definition information file 121, and generates and processes the segmented character strings. Passed to the unit 104. At this time, examples of the separator character defined in the separator definition information file 121 include “” '` () {} [];, = |, and “? Space” shown in FIG. . Each time the character string decomposition processing unit 103 finds these separator characters defined in the separator definition information file 121, it decomposes (sorts) the request data. Then, the divided character strings are transferred to the directed graph structure generation / processing unit 104.

有向グラフ構造生成・処理部104は、文字列分解処理部103から受けたリクエストデータの文字列を単位に、木構造の有向グラフ構造をポインタを用いて生成し、若しくは該当する文字列についてのアップデート処理(出現頻度の更新処理)を実行する(図2(b)、図3参照)。   The directed graph structure generation / processing unit 104 generates a directed tree structure of a tree structure using a pointer in response to a character string of request data received from the character string decomposition processing unit 103, or an update process for the corresponding character string ( Appearance frequency update processing) is executed (see FIGS. 2B and 3).

この際、有向グラフ構造生成・処理部104は、初期化の処理ステップに於いて、図2(b)に示すように、グラフポインタがルートノードに設定される(図3ステップS11)。この処理はイニシャライズ処理部111の制御の下に実行される。   At this time, in the initialization processing step, the directed graph structure generation / processing unit 104 sets the graph pointer to the root node as shown in FIG. 2B (step S11 in FIG. 3). This process is executed under the control of the initialization processing unit 111.

有向グラフ構造生成・処理部104は、上記リクエストデータについて、処理すべき入力文字列(s)があるとき(図3ステップS12 Yes)、入力した文字列(s)に対して、グラフポインタによりグラフを辿り(図2(b)参照)、グラフを辿るポインタの行く先に、入力された文字列(s)と同じ文字列のノードが存在するか否かを検索する(図3ステップS13)。   When there is an input character string (s) to be processed for the request data (Yes in step S12 in FIG. 3), the directed graph structure generation / processing unit 104 generates a graph with respect to the input character string (s) using a graph pointer. Tracing (see FIG. 2B), it is searched whether or not a node having the same character string as the inputted character string (s) exists at the destination of the pointer that follows the graph (step S13 in FIG. 3).

ここで、グラフを辿るポインタの行く先に、入力された文字列(s)と同じ文字列のノードが存在する際は(図3ステップS13 Yes)、そのノードに至る(通過した)パスのエッジのカウンタ値(edge_counnt)をインクリメントする(図3ステップS14)。この後、当該文字列の出現頻度(freq)を計算する処理並びにその出現頻度の評価が評価処理部105により実行される(図3ステップS15)。この評価処理部105の処理については後述する。   Here, when a node having the same character string as the input character string (s) exists at the destination of the pointer that follows the graph (Yes in step S13 in FIG. 3), the edge of the path leading to (passing through) the node is determined. The counter value (edge_count) is incremented (step S14 in FIG. 3). Thereafter, processing for calculating the appearance frequency (freq) of the character string and evaluation of the appearance frequency are executed by the evaluation processing unit 105 (step S15 in FIG. 3). The processing of the evaluation processing unit 105 will be described later.

上記処理の後、有向グラフ構造生成・処理部104は続いてグラフポインタを行く先のノードに移動し(図3ステップS16)、グラフポインタが指すノードのカウンタ値(node_count)をインクリメントする(図3ステップS17)。   After the above processing, the directed graph structure generation / processing unit 104 subsequently moves to the destination node of the graph pointer (step S16 in FIG. 3), and increments the counter value (node_count) of the node pointed to by the graph pointer (step S17 in FIG. 3). ).

このように、入力した文字列(s)に対して、グラフポインタによりグラフを辿り、グラフを辿るポインタの行く先に、入力された文字列(s)と同じ文字列のノードが存在する間は、上記した有向グラフ構造のアップデート処理(ステップS12〜S17)が繰り返し実行される。尚、この処理ではセパレータ文字についても入力した文字列として扱われ、アップデート処理の対象となる。   In this way, the input character string (s) is traced by the graph pointer, and a node having the same character string as the input character string (s) exists at the destination of the pointer that follows the graph. The directed graph structure update process (steps S12 to S17) is repeatedly executed. In this process, the separator character is also handled as an input character string, and is subject to update processing.

一方、上記入力した文字列(s)に対して、グラフポインタによりグラフを辿り、グラフを辿るポインタの行く先に、入力された文字列(s)と同じ文字列のノードが存在ないときは(図3ステップS13 No)、グラフポインタを用いて、入力した文字列(s)のノード、および入力した文字列(s)へのエッジ(edge)を作り、そのエッジのエッジのカウンタ値(edge_count)を「1」にセットし、さらに上記ノードのカウンタ値(node_count)を「0」にセットした後(図3ステップS18)、グラフポインタが指す新たに作成したノードのカウンタ値(node_count)をインクリメントする(図3ステップS17)。   On the other hand, when the input character string (s) is traced by a graph pointer, and a node having the same character string as the input character string (s) does not exist at the destination of the pointer that follows the graph (see FIG. 3 Step S13 No), using the graph pointer, the node of the input character string (s) and the edge (edge) to the input character string (s) are created, and the counter value (edge_count) of the edge of the edge is set After setting the counter value (node_count) of the above node to “0” (step S18 in FIG. 3), the counter value (node_count) of the newly created node pointed to by the graph pointer is incremented (“1”). FIG. 3 step S17).

上記したように有向グラフ構造生成・処理部104は、有向グラフ構造生成処理若しくはアップデート処理(出現頻度の更新処理)をリクエストデータのすべての文字列に対して実行する。   As described above, the directed graph structure generation / processing unit 104 executes the directed graph structure generation processing or update processing (appearance frequency update processing) for all the character strings of the request data.

上記した有向グラフ構造の生成並びにアップデート処理を繰り返し行うことで、有向グラフ構造が複雑化する場合の対処として、適当な閾値を使って、ノードのグループ化を行うことで、有向グラフ構造の複雑化を回避することができる。即ち、一つのノードから飛び出す有向エッジの数が、ある閾値を超たら、全ての飛先のノードの内容によって、飛先ノードのグループ化を行う。この際のグループ化の例としては、数値を対象としたグループ化、識別子を対象としたグループ化、記号文字を対象としたグループ化等を挙げることができる。例えば、数値というグループや数値の値の範囲によってグループ化を行なう。または、アルファベットで始まるアルファベットか数字か特定の記号を含んだ文字列を対象にグループ化を行なう。   By repetitively generating and updating the directed graph structure as described above, as a countermeasure when the directed graph structure becomes complex, use a suitable threshold to avoid grouping of the directed graph structure by grouping nodes. be able to. That is, when the number of directed edges that jump out from one node exceeds a certain threshold, the destination nodes are grouped according to the contents of all the destination nodes. Examples of grouping at this time include grouping for numerical values, grouping for identifiers, and grouping for symbol characters. For example, grouping is performed according to numerical groups or numerical value ranges. Alternatively, grouping is performed on character strings including alphabets, numbers, or specific symbols starting with alphabets.

上記有向グラフ構造生成・処理部104で作成され管理される有向グラフ構造を参照して評価処理部105は出現頻度(freq)の計算、並びにその出現頻度の評価を行う(図3ステップS15)。   The evaluation processing unit 105 calculates the appearance frequency (freq) and evaluates the appearance frequency with reference to the directed graph structure created and managed by the directed graph structure generation / processing unit 104 (step S15 in FIG. 3).

ここでの基本的な処理としては、有向グラフ構造を辿るパスの出現頻度を計算し、計算した結果が異常に小さいか、既に攻撃として学習しているか、あるいは、その近傍のパスの頻度と比べて極端に小さい値となるものを異常データとして検出する。   The basic processing here is to calculate the appearance frequency of the path that follows the directed graph structure, and the calculated result is abnormally small, has already been learned as an attack, or compared to the frequency of the nearby path An extremely small value is detected as abnormal data.

この処理に於いて上記評価処理部105により実行される出現頻度(freq)の計算例、並びにその出現頻度の評価例を以下に記す。   In this process, an example of calculating the appearance frequency (freq) executed by the evaluation processing unit 105 and an example of evaluating the appearance frequency are described below.

出現頻度(freq)の計算は、上記初期化ステップで「0」に初期設定し、グラフのポインタを進める毎に、「freq+=(log(edge_counnt)−log(node_count))」という計算をする。ここで、edge_countは、移動する有向エッジの出現回数、node_contは、移動する前にポインタが指していたノードの出現回数である。尚、logの計算は、大まかな値で十分な場合、ビット操作命令などによって高速に実行できる。この際の評価関数の例としては、例えば、(freq < −10 || min(other_freq − freq) > 5 || edge−>marked_anormaly)という式を使う。ここで、other_freqは、グラフポインタを移動する前のノードから別の有向エッジへ移動する場合のfreqであり、edge−>marked_anormalyは、学習によって、この有向エッジへのパスは、異常データとしてマークされていることを示すフラグである。尚、ここでの学習は、例えば管理者に問合せることによって行う。   The appearance frequency (freq) is initially set to “0” in the initialization step, and every time the graph pointer is advanced, the calculation “freq + = (log (edge_count) −log (node_count))” is performed. Here, edge_count is the number of appearances of the moving directed edge, and node_cont is the number of appearances of the node pointed to by the pointer before the movement. The log calculation can be executed at high speed by a bit manipulation instruction or the like when a rough value is sufficient. As an example of the evaluation function at this time, for example, an expression of (freq <−10 || min (other_freq−freq)> 5 || edge−> marked_anomaly) is used. Here, other_freq is a freq in the case of moving from the node before moving the graph pointer to another directed edge, and edge-> marked_anomaly is a path to the directed edge as abnormal data by learning. It is a flag indicating that it is marked. Note that learning here is performed by, for example, inquiring an administrator.

評価処理部105は、上記有向グラフ構造生成・処理部104で処理した有向グラフ構造を参照して、ネットワークインタフェース101が受信したリクエストデータの区分されたデータ単位での出現頻度を計算し、評価して、その評価の情報(正常範囲とみなされる域値であるか異常範囲とみなされる域値であるかを示す異常値/正常値の判定情報)を転送制御部106に送出する。   The evaluation processing unit 105 refers to the directed graph structure processed by the directed graph structure generation / processing unit 104 to calculate and evaluate the appearance frequency of the request data received by the network interface 101 in the divided data units, Information on the evaluation (abnormal value / normal value determination information indicating whether the threshold value is regarded as a normal range or an abnormal range) is sent to the transfer control unit 106.

転送制御部106は、評価処理部105から受けた評価情報(異常値/正常値の判定情報)をもとにネットワークインタフェース101が受信したリクエストデータの送出/破棄(若しくは保留)の制御を行う。例えば評価情報が異常値であれば、該当するリクエストデータをネットワークインタフェース107に渡さずに破棄し(若しくは記憶手段に留保して管理者に提示し)、評価情報が正常値であれば、該当するリクエストデータをネットワークインタフェース107に渡す。具体的にはネットワークインタフェース101で受信したパケットをバッファし、そのバッファしたパケットを破棄若しくはネットワークインタフェース107に送出する。ネットワークインタフェース107は、転送制御部106の転送制御で渡されたリクエストデータをWebサーバ2に転送する。   The transfer control unit 106 controls transmission / discard (or suspension) of request data received by the network interface 101 based on the evaluation information (abnormal value / normal value determination information) received from the evaluation processing unit 105. For example, if the evaluation information is an abnormal value, the corresponding request data is discarded without being passed to the network interface 107 (or retained in the storage means and presented to the administrator). Pass the request data to the network interface 107. Specifically, the packet received by the network interface 101 is buffered, and the buffered packet is discarded or transmitted to the network interface 107. The network interface 107 transfers the request data passed by the transfer control of the transfer control unit 106 to the Web server 2.

上記したように本発明の実施形態によれば、ネットワークを通過するパケットデータの内部構造をリアルタイムに自動的に解析し、異常なデータを含むパッケトを識別することによって、容易に数値化できないパケットデータの未知攻撃パターンに対して、その未知攻撃を検知し、サーバを保護することができる。   As described above, according to the embodiment of the present invention, packet data that cannot be easily quantified by automatically analyzing the internal structure of packet data passing through the network in real time and identifying packets containing abnormal data. The unknown attack pattern can be detected and the server can be protected.

本発明の実施形態に係る不正アクセス検出装置の構成を示すブロック図。The block diagram which shows the structure of the unauthorized access detection apparatus which concerns on embodiment of this invention. 本発明の実施形態に係る不正アクセス検出装置の動作を説明するためのリクエストデータの一例およびそのデータ内容に従う有向グループ構造の一例を示す図。The figure which shows an example of the request data for explaining operation | movement of the unauthorized access detection apparatus which concerns on embodiment of this invention, and an example of the directed group structure according to the data content. 本発明の実施形態に係る不正アクセス検出装置の処理手順を示すフローチャート。The flowchart which shows the process sequence of the unauthorized access detection apparatus which concerns on embodiment of this invention.

符号の説明Explanation of symbols

1…ネットワーク、2…Webサーバ、3…不正アクセス検出装置、4…クライアントPC、101…ネットワークインタフェース、102…リクエストデータ抽出部、103…文字列分解処理部、104…有向グラフ構造生成・処理部、105…評価処理部、106…転送制御部、107…ネットワークインタフェース、111…イニシャライズ処理部、112…有向グラフ構造データ格納部、121…セパレータ定義情報ファイル、122…トレーシングデータ格納部。   DESCRIPTION OF SYMBOLS 1 ... Network, 2 ... Web server, 3 ... Unauthorized access detection apparatus, 4 ... Client PC, 101 ... Network interface, 102 ... Request data extraction part, 103 ... Character string decomposition | disassembly processing part, 104 ... Directed graph structure production | generation / processing part, 105: Evaluation processing unit, 106: Transfer control unit, 107: Network interface, 111: Initialization processing unit, 112: Directed graph structure data storage unit, 121 ... Separator definition information file, 122 ... Tracing data storage unit.

Claims (4)

ネットワークで扱うアクセスデータを入力し、当該データを予め定義した文字集合により分割して、分割した文字列のノードおよび有向エッジをもつ有向グラフ構造を生成し管理する処理手段と、
前記有向グラフ構造を参照し、当該有向グラフ構造の辿ったパスの出現頻度から前記入力されたアクセスデータの異常を検出する処理手段と
を具備したことを特徴とする不正アクセス検出装置。
Processing means for inputting access data handled by the network, dividing the data by a predefined character set, and generating and managing a directed graph structure having nodes and directed edges of the divided character string;
An unauthorized access detection apparatus comprising: processing means for detecting an abnormality of the input access data from an appearance frequency of a path traced by the directed graph structure with reference to the directed graph structure.
前記有向グラフ構造について前記ノードのグループ化を行う処理手段をさらに具備した請求項1記載の不正アクセス検出装置。   The unauthorized access detection apparatus according to claim 1, further comprising processing means for grouping the nodes with respect to the directed graph structure. 前記入力されたアクセスデータの異常を検出した際に、当該異常を管理者に通知し、管理者からの通知に従い、前記有向グラフのエッジに異常であることを示すマークを付す管理者とのインターフェイス手段をさらに具備した請求項1記載の不正アクセス検出装置。   When an abnormality is detected in the input access data, the administrator is notified of the abnormality, and in accordance with the notification from the administrator, an interface means with the administrator for marking the edge of the directed graph as abnormal The unauthorized access detection device according to claim 1, further comprising: コンピュータネットワークで扱うアクセスデータを入力するステップと、
前記入力したアクセスデータを予め定義した文字集合により分割するステップと、
前記分割した文字列についてノードおよび有向エッジをもつ有向グラフ構造を生成するステップと、
前記有向グラフ構造を辿り、前記分割した文字列について当該文字列と同じ文字列のノードが存在するとき、辿り先に至る前記ノードおよび有向エッジについて辿った回数を更新し管理するステップと、
前記有向グラフ構造の辿ったパスの出現頻度から前記入力されたアクセスデータの異常を検出するステップと
を具備したことを特徴とするコンピュータネットワーク上に於ける異常データ検出方法。
Entering access data handled by the computer network;
Dividing the input access data by a predefined character set;
Generating a directed graph structure having nodes and directed edges for the divided character string;
Tracing the directed graph structure, and when there is a node having the same character string as the character string for the divided character string, updating and managing the number of times the node and the directed edge that have reached the destination are traced;
And a method of detecting an abnormality of the inputted access data from an appearance frequency of a path traced by the directed graph structure.
JP2003318798A 2003-09-10 2003-09-10 Improper access detector, and abnormal data detecting method over computer network Pending JP2005085158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003318798A JP2005085158A (en) 2003-09-10 2003-09-10 Improper access detector, and abnormal data detecting method over computer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003318798A JP2005085158A (en) 2003-09-10 2003-09-10 Improper access detector, and abnormal data detecting method over computer network

Publications (1)

Publication Number Publication Date
JP2005085158A true JP2005085158A (en) 2005-03-31

Family

ID=34417980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003318798A Pending JP2005085158A (en) 2003-09-10 2003-09-10 Improper access detector, and abnormal data detecting method over computer network

Country Status (1)

Country Link
JP (1) JP2005085158A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183773A (en) * 2006-01-06 2007-07-19 Fujitsu Ltd Server monitoring program, server monitoring device, server monitoring method
JP2013534105A (en) * 2010-06-23 2013-08-29 コスモス Data collection device for monitoring data network streams
CN113544676A (en) * 2019-03-12 2021-10-22 三菱电机株式会社 Attack estimation device, attack control method, and attack estimation program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183773A (en) * 2006-01-06 2007-07-19 Fujitsu Ltd Server monitoring program, server monitoring device, server monitoring method
JP2013534105A (en) * 2010-06-23 2013-08-29 コスモス Data collection device for monitoring data network streams
KR101819075B1 (en) * 2010-06-23 2018-01-16 꼬스모스 테크 Data collection device for monitoring streams in a data network
CN113544676A (en) * 2019-03-12 2021-10-22 三菱电机株式会社 Attack estimation device, attack control method, and attack estimation program

Similar Documents

Publication Publication Date Title
US10558823B2 (en) Systems and methods for controlling data exposure using artificial-intelligence-based modeling
US11550911B2 (en) Multi-representational learning models for static analysis of source code
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
Choi et al. A method of DDoS attack detection using HTTP packet pattern and rule engine in cloud computing environment
US11861044B2 (en) Systems and methods for controlling data exposure using artificial-intelligence-based modeling
US11615184B2 (en) Building multi-representational learning models for static analysis of source code
CN104426906A (en) Identifying malicious devices within a computer network
WO2017056121A1 (en) Method for the identification and prevention of client-side web attacks
US20180139142A1 (en) Network traffic pattern based machine readable instruction identification
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
JP2023516621A (en) Web attack detection and blocking system and method by artificial intelligence machine learning behavior-based web protocol analysis
Tang et al. Low-rate dos attack detection based on two-step cluster analysis
KR20110022141A (en) Apparatus for detecting and preventing application layer distribute denial of service attack and method
Le et al. Unsupervised monitoring of network and service behaviour using self organizing maps
Ogawa et al. Malware originated http traffic detection utilizing cluster appearance ratio
Asha et al. Analysis on botnet detection techniques
JP2005085158A (en) Improper access detector, and abnormal data detecting method over computer network
CN106411879B (en) A kind of acquisition methods and device of software identification feature
Gou et al. Discovering abnormal behaviors via HTTP header fields measurement
Tan et al. Web Application Anomaly Detection Based On Converting HTTP Request Parameters To Numeric
Ponmaniraj et al. Intrusion Detection: Spider Content Analysis to Identify Image-Based Bogus URL Navigation
US20240154997A1 (en) Tor-based malware detection
Chegu et al. An improved filter against injection attacks using regex and machine learning
Yao et al. Anomaly Detection on Network Traffic
Shaikh et al. Dynamic Updating of Signatures for Improving the Performance of IDS

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070306