JPWO2018159362A1 - ログ分析装置、ログ分析方法およびログ分析プログラム - Google Patents

ログ分析装置、ログ分析方法およびログ分析プログラム Download PDF

Info

Publication number
JPWO2018159362A1
JPWO2018159362A1 JP2019502890A JP2019502890A JPWO2018159362A1 JP WO2018159362 A1 JPWO2018159362 A1 JP WO2018159362A1 JP 2019502890 A JP2019502890 A JP 2019502890A JP 2019502890 A JP2019502890 A JP 2019502890A JP WO2018159362 A1 JPWO2018159362 A1 JP WO2018159362A1
Authority
JP
Japan
Prior art keywords
parameter
log
learning
access
unit
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
JP2019502890A
Other languages
English (en)
Other versions
JP6680945B2 (ja
Inventor
慎吾 折原
慎吾 折原
佐藤 徹
徹 佐藤
陽介 嶋田
陽介 嶋田
悠太 岩城
悠太 岩城
揚 鐘
揚 鐘
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
Publication of JPWO2018159362A1 publication Critical patent/JPWO2018159362A1/ja
Application granted granted Critical
Publication of JP6680945B2 publication Critical patent/JP6680945B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Abstract

ログ分析装置(10)は、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、パラメータの出現頻度を学習し、学習結果をプロファイルとしてプロファイル記憶部(14a)に格納する。ログ分析装置(10)は、分析対象のアクセスログからパラメータを抽出し、該パラメータとプロファイル記憶部(14a)に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、分析対象のアクセスログにおけるアクセスを攻撃と判定する。ログ分析装置(10)は、プロファイルに無いパラメータを持つ、または類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、ユーザ端末の種類数が閾値以上のパラメータがある場合には、パラメータの再学習を行うと判定する。

Description

本発明は、ログ分析装置、ログ分析方法およびログ分析プログラムに関する。
近年、インターネットの普及に伴い、Webサーバに対する攻撃が急増している。このような攻撃の対策としてIDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、WAF(Web Application Firewall)等によるネットワークへの不正侵入検知・防御システムが知られている。ところが、このようなシステムにおいては、ブラックリストやシグネチャファイルを用いたパターンで検出を行うため、既知の攻撃の検知、防御しかできない場合がある。
これに対して、未知の攻撃検出手法として、正常なWebサーバへのアクセス要求からパラメータ値の特徴を学習し、識別対象のアクセス要求の特徴と比較することにより攻撃(正常なアクセスではない)か否かを判定する技術が知られている。
特開2013−232716号公報
しかしながら、上記した従来の未知の攻撃検出手法では、システムの仕様変更等で「正常なアクセス」の定義が変更になった場合に手動で再学習を行うため、運用に掛かる手間が大きく、高精度での攻撃検知を行うことができない場合があるという課題があった。
上述した課題を解決し、目的を達成するために、本発明のログ分析装置は、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習部と、分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析部と、前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定部とを備えたことを特徴とする。
また、本発明のログ分析方法であって、ログ分析装置によって実行されるログ分析方法であって、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習工程と、分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析工程と、前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定工程とを含んだことを特徴とする。
また、本発明のログ分析プログラムは、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習ステップと、分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析ステップと、前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、運用に掛かる手間を低減し、高精度で未知の攻撃検知を行うことができるという効果を奏する。
図1は、第一の実施の形態に係るログ分析装置の概要を示す構成図である。 図2は、プロファイル記憶部に記憶される情報の一例を示す図である。 図3は、アクセスログの具体例を説明する図である。 図4は、パラメータ抽出処理を説明する図である。 図5は、文字クラスの例を説明する図である。 図6は、抽象化後のパラメータ値の例を説明する図である。 図7は、プロファイル更新の例を説明する図である。 図8は、プロファイル更新の例を説明する図である。 図9は、プロファイル更新の例を説明する図である。 図10は、類似度比較処理の例を説明する図である。 図11は、第一の実施の形態に係るログ分析装置における学習処理の流れを示すフローチャートである。 図12は、第一の実施の形態に係るログ分析装置における分析処理の流れを示すフローチャートである。 図13は、第一の実施の形態に係るログ分析装置における再学習要否判定処理の流れを示すフローチャートである。 図14は、第二の実施の形態に係るログ分析装置の概要を示す構成図である。 図15は、パス抽象化処理の例を説明する図である。 図16は、第二の実施の形態に係るログ分析装置における学習処理の流れを示すフローチャートである。 図17は、第三の実施の形態に係るログ分析装置の概要を示す構成図である。 図18は、第三の実施の形態に係るログ分析装置における攻撃パターン生成処理の流れを示すフローチャートである。 図19は、第四の実施の形態に係るログ分析装置の概要を示す構成図である。 図20は、ログ分析プログラムを実行するコンピュータを示す図である。
以下に、本願に係るログ分析装置、ログ分析方法およびログ分析プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係るログ分析装置、ログ分析方法およびログ分析プログラムが限定されるものではない。
[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係るログ分析装置10の構成、ログ分析装置10の処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
[ログ分析装置の構成]
まず、図1を用いて、ログ分析装置10の構成を説明する。図1は、第一の実施の形態に係るログ分析装置の概要を示す構成図である。図1に示すように、このログ分析装置10は、入力部11、出力部12、制御部13および記憶部14を有する。
入力部11は、各種情報の入力操作を受け付けるデバイスであり、例えば、Webサーバへのアクセスログの入力を受け付ける。出力部12は、各種情報を出力するデバイスであり、例えば、後述する分析処理による結果を出力する。
また、記憶部14は、制御部13による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、プロファイル記憶部14a、分析済ログ記憶部14bおよび再学習要否判定情報記憶部14cを有する。例えば、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
プロファイル記憶部14aは、アクセスログから抽出されたパラメータの出現頻度を記憶する。例えば、プロファイル記憶部14aは、図2に例示するように、プロファイルとして、「パス」と「パラメータキー」の組合せ「パス:パラメータキー」に対応付けて、「文字クラス列」および「出現回数」を記憶する。図2は、プロファイル記憶部に記憶される情報の一例を示す図である。
分析済ログ記憶部14bは、後述する分析部13bによって分析されたアクセスログを記憶する。分析済ログ記憶部14bが記憶するアクセスログは、後述する学習部13aが再学習を行う際に、読み出されるデータである。
再学習要否判定情報記憶部14cは、後述する分析部13bによってプロファイルに無い、またはマッチしないパラメータ値を持つリクエストの「発IP」と、「日時」と、「パス」と、「パラメータキー」との組を記憶する。
制御部13は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、学習部13a、分析部13bおよび再学習要否判定部13cを有する。ここで、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
学習部13aは、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとしてプロファイル記憶部14aに格納する。
学習部13aは、学習時の処理において、入力部11を介して入力されたアクセスログからパラメータの特徴を学習し、プロファイルの生成および保存を行う。以下に学習時の処理について詳しく説明する。なお、以降の説明では、入力されたログが複数行分まとまって与えられるバッチ処理のイメージで記載しているが、1行ごとに与えられるリアルタイム処理であっても処理内容は同様である。また、学習または分析のどちらの動作を行うかは、システムに対する指示として与えてもよいし、例えば学習用ログ保存領域に保存されたログは学習の動作、分析用ログ保存領域に保存されたログは分析の動作というように、入力によって動作を変えてもよい。
まず、学習部13aは、入力部11を介して学習用ログを取得する。かかる学習用ログは、ユーザ端末からWebサーバへのアクセスログであり、図3に例示するように、少なくとも「発IP」、「日時」、「リクエスト」を含む。図3は、アクセスログの具体例を説明する図である。
そして、学習部13aは、プロファイルを空のデータで初期化する。続いて、学習部13aは、学習ログから各種パラメータを抽出する。例えば、学習部13aは、図4に例示するように、入力された学習用ログの先頭からログを1行取り出し、パースして「発IP」、「日時」、「リクエスト」を抽出する。さらに、学習部13aは、「リクエスト」のパス部(図4における「リクエスト」の「?」より前)とクエリストリング部(図4における「リクエスト」の「?」より後)を分割し、クエリストリング部をパースして、パラメータキー(図4における「=」より前)、パラメータ値(図4における「=」より後)のペアを取得する。図4は、パラメータ抽出処理を説明する図である。
例えば、図4の具体例を挙げて説明すると、学習部13aは、リクエスト「/search.php?p1=value1&p2=value-2」について、「?」より前のパス部「/search.php」と、「?」より後のクエリストリング部「p1=value1&p2=value-2」とに分割する。そして、学習部13aは、クエリストリング部をパースして、パラメータキー「p1」、パラメータ値「value1」のペアと、パラメータキー「p2」、パラメータ値「value−2」のペアとを取得する。なお、クエリストリング部が無い場合、当該行は無視して次の行の処理に移る。
そして、学習部13aは、アクセスログからパラメータを抽出し、該抽出したパラメータを抽象化し、抽象化されたパラメータの出現頻度を学習する。例えば、学習部13aは、パラメータ値をアルファベット、数字などの文字クラスの列として抽象化する。文字クラスは、例えば正規表現によって表される。図5に例示するように、文字クラスには、「優先度」が設定されており、抽象化の際、先頭からできるだけ長くマッチするもの、長さが同じ場合、優先度の高いもの、すなわち優先度の数値が大きいものに抽象化する。例えば、「123」は「HEX」ではなく「NUM」と抽象化する。パラメータ値の先頭からこのような文字クラスへの抽象化を行ない、パラメータ値を文字クラスのシーケンス、すなわち文字クラス列に変換する。なお、文字クラスは事前に設定ファイル等で与えられているものとする。図5は、文字クラスの例を説明する図である。
また、抽象化後の文字クラス列の例を図6に例示する。図6は、抽象化後のパラメータ値の例を説明する図である。なお、文字クラス列をさらに抽象化して、順序性と重複を無視した文字クラス集合としてもよい。例えば、文字クラス列[AL,NUM,AL,SYM]も[SYM,NUM,AL]も同じ文字クラス集合{AL,NUM,SYM}として扱う。以降、特記しない場合、文字クラス列とは文字クラス列または文字クラス集合を指すものとする。
そして、学習部13aは、上記の抽象化処理で得られた[パス:パラメータキー]および文字クラス列を用いて、プロファイルを更新する。例えば、学習部13aは、図7に例示するように、上記の抽象化処理で得られた文字クラス列がプロファイルに存在する場合には、出現回数に1を加算する。図7の例では、学習部13aは、[パス:パラメータキー]が「/path:key1」、文字クラス列[AL]の出現回数「1」と、[パス:パラメータキー]が「/path:key2」、文字クラス列[HEX]の出現回数「1」とにそれぞれ1を加算して出現回数を「2」にそれぞれに更新する。図7は、プロファイル更新の例を説明する図である。
また、例えば、学習部13aは、図8に例示するように、当該文字クラス列がプロファイルに無い場合、出現回数1回としてプロファイルに当該文字クラス列を追加する。また、例えば、学習部13aは、図9に例示するように、プロファイルに当該[パス:パラメータキー]が無い場合、出現回数1回としてプロファイルに当該[パス:パラメータキー]と当該文字クラス列を追加する。図8は、プロファイル更新の例を説明する図である。図9は、プロファイル更新の例を説明する図である。
その後、学習部13aは、学習すべきログが残っていれば、上記のパラメータ抽出処理に戻り、残りのログを学習する。なお、学習終了の条件は、学習用のログ全てを学習したかで判定してもよいし、例えば一定量以上のログを読み込んでも、新たなパスやパラメータキー、文字クラス列が現れず、プロファイルが変化しなくなったことを検知して判定してもよい。
学習部13aは、学習終了と判定した場合には、プロファイルを確定する。この際、学習部13aは、各パラメータの出現頻度を算出し、各パラメータのうち、出現頻度が所定の閾値以下であるパラメータについては、プロファイルから削除してもよい。例えば、学習部13aは、各[パス:パラメータキー]ごとに、文字クラス列の出現割合を算出し、頻度が小さいものをレアケースとしてプロファイルから削除する等の正規化処理を行ってもよい。そして、学習部13aは、確定したプロファイルをプロファイル記憶部14aに保存する。なお、渡されるパラメータ値の種類が限定的な環境においては、上記のパラメータ値抽象化の処理を省略し、パラメータ値そのものをプロファイルとして保存してもよい。
分析部13bは、分析対象のアクセスログからパラメータを抽出し、該パラメータとプロファイル記憶部14aに記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、分析対象のアクセスログにおけるアクセスを攻撃と判定する。
分析部13bは、分析時の処理において、入力部11を介して入力された分析用ログからパラメータの特徴をプロファイルと比較し、異常なものを攻撃として判定するまでを行う。以下に分析時の処理について詳しく説明する。まず、分析部13bは、入力部11を介して分析用ログを取得する。かかるログは、学習用ログと同様に、Webサーバへのアクセスログであり、少なくとも「発IP」、「日時」、「リクエスト」を含む。
そして、分析部13bは、プロファイル記憶部14aからプロファイルを読み出す。そして、分析部13bは、入力された分析用ログの先頭からログを1行取り出し、パースして発IP、日時、リクエストを抽出する。さらに、分析部13bは、リクエストのパス部とクエリストリング部を分割し、クエリストリング部をパースして、パラメータキー、パラメータ値のペアを取得する。パースが終わった分析用ログは、分析済みログ記憶部14bに格納する。そして、分析部13bは、パラメータ値をアルファベット、数字などの文字クラスの列として抽象化する。
続いて、分析部13bは、抽象化された結果である文字クラス列をプロファイルと比較し、類似しないものを攻撃として抽出する。類似度合いの比較方法としては、文字クラス列の完全一致で比較するほか、文字クラス列同士の共通部分の割合や、文字クラス列同士の最長共通部分列(LCS:Longest Common Subsequence)の長さを文字クラス列長と比較するなどの方法を用いてもよい。
ここで、図10を用いて、類似度比較処理の例を説明する。図10は、類似度比較処理の例を説明する図である。図10に例示するように、分析部13bは、分析対象のアクセスログにおけるパス「/path」とパラメータキー「key1」とに対応する文字クラス「AL」と、プロファイルにおける[パス:パラメータキー]が「/path:key1」の文字クラス列「AL」と比較すると、両者文字クラス列が「AL」で一致することから、ここでは類似度が閾値以上に大きいと判定され、分析対象のアクセスログにおけるアクセスを「非攻撃」と判定する。
一方、分析部13bは、分析対象のアクセスログにおけるパス「/path」とパラメータキー「key2」とに対応する文字クラス「HEX」と、プロファイルにおける[パス:パラメータキー]が「/path:key2」の文字クラス列「AL」と比較すると、両者文字クラス列が「HEX」と「AL」とで一致しないことから、ここでは類似度が閾値より小さいと判定され、分析対象のアクセスログにおけるアクセスを「攻撃」と判定する。
そして、分析部13bは、類似度比較の際、プロファイルに一致する[パス:パラメータキー]が存在しない場合、または文字クラス列の類似度が小さいと判断した場合、処理中ログの[発IP、日時、パス、パラメータキー]を再学習要否判定情報として再学習要否判定情報記憶部14cに格納する。
その後、分析部13bは、分析すべきログが残っていれば、上記の入力された学習用ログの先頭からログを1行取り出し、パースして発IP、日時、リクエストを抽出する処理に戻り、上記の処理を繰り返す。
また、分析部13bは、分析すべきログが無くなった場合、分析結果を出力して終了する。分析結果としては、分析対象ログから得た発IP、日時、リクエスト、パースによって得られたパラメータキーおよびパラメータ値、類似度比較によって得られた判定結果、例えば、「攻撃」として判定したか「非攻撃」と判定したかなどを出力する。なお、バッチではなく1行ごとリアルタイムにログが与えられる場合、1行分析するたびに分析結果を出力してもよい。
再学習要否判定部13cは、分析部13bによる類似度比較の際、プロファイルに一致する[パス:パラメータキー]が存在しない、または類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する。
以下に再学習要否判定時の処理について詳しく説明する。まず、再学習要否判定部13cは、再学習要否判定情報を取得する。具体的には、再学習要否判定部13cは、分析時に更新した再学習要否判定情報(プロファイルに無い、または類似度が閾値未満であるパラメータ値を持つリクエストの[発IP、日時、パス、パラメータキー])を再学習要否判定情報記憶部14cから取得する。
そして、再学習要否判定部13cは、多くのユーザから継続的にプロファイルに無い、または類似度が閾値未満であるパラメータ値が送られた場合、攻撃ではなくWebアプリケーション側の仕様変更が発生したと推定する。そして、再学習要否判定部13cは、多くのユーザから継続的に送られていることを確認するため、再学習要否判定情報を集計する。
具体的には、再学習要否判定部13cは、ある期間の再学習要否判定情報の[パス:パラメータキー]ごとに発IPの種類数を集計する。そして、再学習要否判定部13cは、発IPの種類数が閾値以上であれば再学習が必要と判断する。なお、継続性を判断するため、例えば、期間内で連続する複数のリクエストの時間間隔が閾値未満であるものだけを集計の対象とする処理を加えてもよい。そして、再学習要否判定部13cは、再学習が必要と判断した場合、学習部13aに当該[パス:パラメータキー]の再学習を指示する。なお、再学習要否判定情報は再学習要否判断処理が終わったあとは破棄してもよい。
ここで、再学習要否判定部13cから再学習の指示を受けた学習部13aの再学習処理を説明する。学習部13aは、再学習要否判定部13cから再学習の指示を受けると、再学習を行い、プロファイルを更新する。再学習の処理は、以下の(1)〜(3)を除き、学習時の処理と同一であるため、説明を省略する。(1)学習用ログの取得は、入力部11から学習用ログを取得するのではなく、分析済ログ記憶部14bの分析済みログを取得する。(2)プロファイル初期化は、初期化ではなく、プロファイル記憶部14aから既存のプロファイルを取得する。なお、その際、既存プロファイルに追加学習ではなく、ゼロから学習する場合には、再学習対象の[パス・パラメータキー]についてのみ初期化(出現回数を0にする)を行ってもよい。(3)パース後、再学習対象の[パス・パラメータキー]についてのみ処理を行う。なお、再学習要否判定処理は分析終了の都度行ってもよいし、分析数回の分をまとめて実施してもよい。また、分析済みログは再学習要否判定後は不要となるため、自動的に削除してもよい。これにより、記憶部14の容量を削減することができる。
[ログ分析装置の処理の一例]
次に、図11〜図13を用いて、ログ分析装置10における処理の流れを説明する。図11は、第一の実施の形態に係るログ分析装置における学習処理の流れを示すフローチャートである。図12は、第一の実施の形態に係るログ分析装置における分析処理の流れを示すフローチャートである。図13は、第一の実施の形態に係るログ分析装置における再学習要否判定処理の流れを示すフローチャートである。
まず、図11を用いて、ログ分析装置10における学習処理の流れを説明する。図11に示すように、ログ分析装置10の学習部13aは、入力部11を介して学習用ログを取得する(ステップS101)。そして、学習部13aは、プロファイルを空のデータで初期化する(ステップS102)。
続いて、学習部13aは、学習ログから各種パラメータを抽出する(ステップS103)。例えば、学習部13aは、入力された学習用ログの先頭からログを1行取り出し、パースして「発IP」、「日時」、「リクエスト」を抽出する。さらに、学習部13aは、「リクエスト」のパス部(図4における「?」より前)とクエリストリング部(図4における「?」より後)を分割し、クエリストリング部をパースして、パラメータキー、パラメータ値のペアを取得する。
そして、学習部13aは、アクセスログからパラメータを抽出し、該抽出したパラメータを抽象化する(ステップS104)。例えば、学習部13aは、パラメータ値をアルファベット、数字などの文字クラス列として抽象化する。続いて、学習部13aは、抽象化されたパラメータの出現頻度を学習し、プロファイルを更新する(ステップS105)。例えば、学習部13aは、上記の抽象化処理で得られた文字クラス列がプロファイルに存在する場合には、出現回数に1を加算する。
そして、学習部13aは、学習処理の終了条件を満たしたか否かを判定する(ステップS106)。この結果、学習部13aは、終了条件を満たしていないと判定した場合には(ステップS106否定)、ステップS103の処理に戻る。つまり、学習部13aは、例えば、学習すべきアクセスログが残っていれば、上記のパラメータ抽出処理に戻り、残りのログを学習する。なお、学習終了の条件は、学習用のログ全てを学習したかで判定してもよいし、例えば一定量以上のログを読み込んでも、新たなパスやパラメータキー、文字クラス列が現れず、プロファイルが変化しなくなったことを検知して判定してもよい。
また、学習部13aは、終了条件を満たしたと判定した場合には(ステップS106肯定)、プロファイルを確定する(ステップS107)。この際、学習部13aは、各パラメータの出現頻度を算出し、各パラメータのうち、出現頻度が所定の閾値以下であるパラメータについては、プロファイルから削除してもよい。例えば、学習部13aは、各[パス:パラメータキー]ごとに、文字クラス列の出現割合を算出し、頻度が小さいものをレアケースとしてプロファイルから削除する等の正規化処理を行ってもよい。そして、学習部13aは、確定したプロファイルをプロファイル記憶部14aに保存する(ステップS108)。
次に、図12を用いて、ログ分析装置における分析処理の流れを説明する。図12に示すように、分析部13bは、入力部11を介して分析用ログを取得する(ステップS201)。かかるログは、学習用ログと同様に、Webサーバへのアクセスログであり、少なくとも「発IP」、「日時」、「リクエスト」を含む。
そして、分析部13bは、プロファイル記憶部14aからプロファイルを取得する(ステップS202)。そして、分析部13bは、分析用ログから各種パラメータを抽出する(ステップS203)。パラメータ抽出が終わった分析用ログは分析済みログ記憶部14bに格納する。
続いて、分析部13bは、パラメータ値をアルファベット、数字などの文字クラスの列として抽象化する(ステップS204)。続いて、分析部13bは、抽象化された結果である文字クラス列をプロファイルと比較する(ステップS205)。類似度合いの比較方法としては、文字クラス列の完全一致で比較するほか、文字クラス列同士の共通部分の割合や、文字クラス列同士の最長共通部分列(LCS:Longest Common Subsequence)の長さを文字クラス列長と比較するなどの方法を用いてもよい。
そして、分析部13bは、類似度比較の際、プロファイルに一致する[パス:パラメータキー]が存在しない場合、または文字クラス列の類似度が小さいと判断した場合、処理中ログの[発IP、日時、パス、パラメータキー]を再学習要否判定情報として再学習要否判定情報記憶部14cに記憶された情報を更新する(ステップS206)。
その後、分析部13bは、分析処理の終了条件を満たしたか否かを判定する(ステップS207)。この結果、分析部13bは、終了条件を満たしていないと判定した場合には(ステップS207否定)、ステップS203の処理に戻る。また、分析部13bは、終了条件を満たしたと判定した場合には(ステップS207肯定)、類似度比較によって得られた判定結果、例えば、「攻撃」として判定したか「非攻撃」と判定したかなどを出力する(ステップS208)。
次に、図13を用いて、ログ分析装置における再学習要否判定処理の流れを説明する。図13に示すように、再学習要否判定部13cは、再学習要否判定情報を取得する(ステップS301)。具体的には、再学習要否判定部13cは、分析時に更新した再学習要否判定情報(プロファイルに無い、または類似度が閾値未満であるパラメータ値を持つリクエストの[発IP、日時、パス、パラメータキー])を再学習要否判定情報記憶部14cから取得する。
そして、再学習要否判定部13cは、多くのユーザから継続的に送られていることを確認するため、再学習要否判定情報を集計する集計処理を行う(ステップS302)。具体的には、再学習要否判定部13cは、ある期間の再学習要否判定情報の[パス:パラメータキー]ごとに発IPの種類数を集計する。
そして、再学習要否判定部13cは、発IPの種類数が閾値以上であるか否かを判定し、発IPの種類数が閾値以上であれば再学習が必要と判断する(ステップS303)。この結果、再学習要否判定部13cは、発IPの種類数が閾値以上でない場合には、再学習が必要でないと判断し(ステップS303否定)、そのまま処理を終了する。また、再学習要否判定部13cは、発IPの種類数が閾値以上である場合には、再学習が必要であると判断し(ステップS303肯定)、学習部13aに再学習を指示する(ステップS304)。
[第一の実施の形態の効果]
このように、第一の実施の形態に係るログ分析装置10は、ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとしてプロファイル記憶部14aに格納する。そして、ログ分析装置10は、分析対象のアクセスログからパラメータを抽出し、該パラメータとプロファイル記憶部14aに記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、分析対象のアクセスログにおけるアクセスを攻撃と判定する。続いて、ログ分析装置10は、「パス:パラメータキー」がプロファイルに存在しない、または類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する。このため、第一の実施の形態に係るログ分析装置10では、運用に掛かる手間を低減し、高精度で未知の攻撃検知を行うことが可能である。
つまり、第一の実施の形態に係るログ分析装置10は、再学習が可能なため、Webアプリケーションの仕様変更に追随することが可能である。さらに、第一の実施の形態に係るログ分析装置10は、再学習要否判定機能を持つため、オペレータが再学習実施の判断を行う必要が無く、運用を自動化することが可能である。このため、運用に掛かる手間を低減し、高精度で未知の攻撃検知を行うことが可能である。また、第一の実施の形態に係るログ分析装置10は、プロファイルとして統計情報ではなく、実際の出現回数を保持しているため、再学習の処理が加算処理のみで容易に行うことが可能である。
[第二の実施の形態]
上述した第一の実施の形態では、プロファイルとして、「パス:パラメータキー」に対応付けて「文字クラス列」と「出現回数」とを記憶する場合を説明したが、「パス:パラメータキー」の「パス」を抽象化するようにしてもよい。
Webアプリケーションによっては、パスが動的に生成されるため、静的なパスを前提として分析を行うと、正しく分析を行うことが出来ない場合がある。そこで、第二の実施の形態では、パスの抽象化を行うことで、動的に生成されるパスがあっても正しく分析できるようにする。なお、第一の実施の形態と同様の構成や処理については説明を省略する。
まず、図14を用いて、第二の実施の形態に係るログ分析装置10Aの構成を説明する。図14は、第二の実施の形態に係るログ分析装置の概要を示す構成図である。図14に示すように、第二の実施の形態に係るログ分析装置10Aは、図1に示したログ分析装置10と比較して、パス抽象化情報記憶部14dを有している点が異なる。
パス抽象化情報記憶部14dは、パス抽象化情報として、抽象化対象パスの正規表現と抽象化後のパスの設定を記憶する。パス抽象化情報記憶部14dは、例えば、「/dynamic/path/foo」のあと、数字が3桁からなるパスについて、数字部分を_NUMに抽象化する場合、以下の設定を記憶する。
抽象化対象正規表現:“/dynamic/path/foo[0-9]{3}”
抽象化後:“/dynamic/path/foo_NUM”
学習部13aは、学習用ログを全て処理し、プロファイルの更新が終わった後、抽象化対象となるパスのレコードをプロファイルから抽出する。具体的には、学習部13aは、パス部が抽象化対象正規表現にマッチするレコードを抽出する。
そして、学習部13aは、抽出されたレコードのパスを抽象化するパス抽象化処理を行う。ここで、図15を用いて、パス抽象化処理の例を説明する。図15は、パス抽象化処理の例を説明する図である。図15に例示するように、学習部13aは、抽象化対象のパスについて、プロファイルの[パス:パラメータキー]の情報を[抽象化後のパス:パラメータキー]にマージする。そして、学習部13aは、マージした[パス:パラメータキー]の出現回数については、抽象化前の情報を加算して更新する。学習部13aは、抽象化によって同一の[パス:パラメータキー]となったものは集約する。なお、学習部13aは、再学習時にも同様にパスの抽象化を行う。
分析部13bは、パラメータ抽出処理において、パラメータ抽出後、パス抽象化情報を参照して、抽象化対象正規表現にマッチするパスを抽象化する。
次に、図16用いて、第二の実施の形態に係るログ分析装置10Aにおける処理の流れを説明する。図16は、第二の実施の形態に係るログ分析装置における学習処理の流れを示すフローチャートである。
図16に示すように、ログ分析装置10Aの学習部13aは、入力部11を介して学習用ログを取得し(ステップS401)、プロファイルを空のデータで初期化する(ステップS402)。続いて、学習部13aは、学習ログから各種パラメータを抽出する(ステップS403)。そして、学習部13aは、アクセスログからパラメータを抽出し、該抽出したパラメータを抽象化する(ステップS404)。続いて、学習部13aは、抽象化されたパラメータの出現頻度を学習し、プロファイルを更新する(ステップS405)。
そして、学習部13aは、学習処理の終了条件を満たしたか否かを判定する(ステップS406)。この結果、学習部13aは、終了条件を満たしていないと判定した場合には(ステップS406否定)、ステップS403の処理に戻る。また、学習部13aは、終了条件を満たしたと判定した場合には(ステップS406肯定)、パス抽象化対象となるパスのレコードをプロファイルから抽出する(ステップS407)。
そして、学習部13aは、抽出されたレコードのパスを抽象化するパス抽象化処理を行う(ステップS408)。その後、学習部13aは、プロファイルを確定し(ステップS409)、確定したプロファイルをプロファイル記憶部14aに保存する(ステップS410)。
[第二の実施の形態の効果]
このように、第二の実施の形態に係るログ分析装置10Aは、パスの抽象化を行うので、Webアプリケーションが動的に生成されるパスを持つ場合であっても、正確に分析を行うことができる。
[第三の実施の形態]
上述した第一の実施の形態では、分析対象のアクセスログからパラメータを抽出し、該パラメータとプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、分析対象のアクセスログにおけるアクセスを攻撃と判定する場合を説明した。このような攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成するようにしてよい。例えば、分析時において攻撃と判断されたパラメータから、攻撃パターンを生成し、WAF等のシグネチャとして与えることで、類似の攻撃をブロックできるようにする。
そこで、以下の第三の実施の形態では、攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成する場合について説明する。なお、第一の実施の形態と同様の構成や処理については説明を省略する。
図17を用いて、第三の実施の形態に係るログ分析装置10Bの構成を説明する。図17は、第三の実施の形態に係るログ分析装置の概要を示す構成図である。図17に示すように、第三の実施の形態に係るログ分析装置10Bは、図1に示したログ分析装置10と比較して、攻撃パターン生成部13dを有している点が異なる。
攻撃パターン生成部13dは、攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成する。例えば、攻撃パターン生成部13dは、分析部13bから分析結果を取得し、攻撃と判定されたパラメータを取得する。そして、攻撃パターン生成部13dは、パラメータから共通部分を抽出する。
例えば、攻撃パターン生成部13dは、(i)パラメータ集合をP={p,p,...,p}とし、最初の要素pとPのp以外の要素との共通部分を求め、最も共通部分が長くなる要素(pとする)とpの共通部分をC1とする。そして、攻撃パターン生成部13dは、C1の長さが閾値以上であれば、C1を共通部分として保持し、Pからpとpを削除する。また、攻撃パターン生成部13dは、C1の長さが閾値未満であればpは他のどれとも共通部分を持たないと判断し、C1は破棄してPからpのみを削除する。
そして、攻撃パターン生成部13dは、上記(i)の手順で更新したPについて、手順(i)を繰り返し、共通部分C1,C2,...を抽出する。なお、共通部分抽出は他の手法によってもよい。例えば、2つの文字列の類似度を編集距離で計り、類似度に基づいてパラメータ集合をクラスタリングし、各々のクラスタから共通部分を抽出するなどである。
そして、攻撃パターン生成部13dは、上記の手順で抽出した共通部分C1,C2,...から共通部分以外を“*”で置き換えた正規表現を作り、攻撃パターンとする。例えば、攻撃パターン生成部13dは、パラメータ値“abc♯♯ATTACK$$ef”と”12♯♯ATTACK$$xyz”、その共通部分”♯♯ATTACK$$”からは、”*♯♯ATTACK$$*”という正規表現を生成し、攻撃パターンとし、生成した攻撃パターンを出力する。
次に、図18用いて、第三の実施の形態に係るログ分析装置10Bにおける処理の流れを説明する。図18は、第三の実施の形態に係るログ分析装置における攻撃パターン生成処理の流れを示すフローチャートである。
図18に示すように、ログ分析装置10Bの攻撃パターン生成部13dは、分析部13bから分析結果を取得する(ステップS501)。そして、攻撃パターン生成部13dは、パラメータから共通部分を抽出する(ステップS502)。
そして、攻撃パターン生成部13dは、攻撃パターンを生成する(ステップS503)。例えば、攻撃パターン生成部13dは、共通部分C1,C2,...から共通部分以外を“*”で置き換えた正規表現を作り、攻撃パターンとする。その後、攻撃パターン生成部13dは、生成した攻撃パターンを出力する(ステップS504)。
[第三の実施の形態の効果]
このように、第三の実施の形態に係るログ分析装置10Bは、攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成するので、生成した攻撃パターンをWAF等のシグネチャとして与えることで、類似の攻撃をブロックすることが可能である。
[第四の実施の形態]
上述した第三の実施の形態では、攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成する場合を説明した。これに対して、既に生成された攻撃パターンと類似の攻撃パターンが重複して生成されることを防ぐために、攻撃と判定されたアクセスのパラメータが、既に生成された攻撃パターンとマッチするか否かを判定し、マッチすると判定した場合には、攻撃と判定されたアクセスのパラメータを削除するようにしてもよい。
そこで、以下の第四の実施の形態では、攻撃と判定されたアクセスのパラメータが、既に生成された攻撃パターンとマッチするか否かを判定し、マッチすると判定した場合には、攻撃と判定されたアクセスのパラメータを削除する場合について説明する。なお、第三の実施の形態と同様の構成や処理については説明を省略する。
図19を用いて、第四の実施の形態に係るログ分析装置10Cの構成を説明する。図19は、第四の実施の形態に係るログ分析装置の概要を示す構成図である。図19に示すように、第四の実施の形態に係るログ分析装置10Cは、図17に示したログ分析装置10Bと比較して、攻撃パターンマッチテスト部13eを有している点が異なる。
攻撃パターンマッチテスト部13eは、分析部13bによって攻撃と判定されたアクセスのパラメータが、既に生成された攻撃パターンとマッチするか否かを判定し、マッチすると判定した場合には、攻撃と判定されたアクセスのパラメータを削除する。
つまり、攻撃パターンマッチテスト部13eは、攻撃パターン生成部13dによって既に生成されたものと類似の攻撃パターンが生成されることを防ぐため、分析部13bによって攻撃と判定された分析結果のパラメータ値と既に生成された攻撃パターンとのマッチテストを行い、マッチしなかったもののみを攻撃パターン生成部13dに渡して攻撃パターン生成処理させる。
[第四の実施の形態の効果]
このように、第四の実施の形態に係るログ分析装置10Cは、攻撃と判定されたアクセスのパラメータが、既に生成された攻撃パターンとマッチするか否かを判定し、マッチすると判定した場合には、攻撃と判定されたアクセスのパラメータを削除するので、類似の攻撃パターンが重複して生成されることを防ぐことが可能である。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、学習部13aと分析部13bとを統合してもよい。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
また、上記実施形態において説明したログ分析装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係るログ分析装置10が実行する処理をコンピュータが実行可能な言語で記述したログ分析プログラムを作成することもできる。この場合、コンピュータがログ分析プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるログ分析プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたログ分析プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
図20は、ログ分析プログラムを実行するコンピュータ1000を示す図である。図20に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図20に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図20に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図20に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図20に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図20に例示するように、例えばディスプレイ1130に接続される。
ここで、図20に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のログ分析プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
なお、ログ分析プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、ログ分析プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10、10A、10B、10C ログ分析装置
11 入力部
12 出力部
13 制御部
13a 学習部
13b 分析部
13c 再学習要否判定部
13d 攻撃パターン生成部
13e 攻撃パターンマッチテスト部
14 記憶部
14a プロファイル記憶部
14b 分析済ログ記憶部
14c 再学習要否判定情報記憶部

Claims (8)

  1. ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習部と、
    分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析部と、
    前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定部と
    を備えたことを特徴とするログ分析装置。
  2. 前記分析部によって攻撃と判定されたアクセスのパラメータにおける共通部分を抽出し、該共通部分を基に攻撃パターンを生成する攻撃パターン生成部をさらに備えることを特徴とする請求項1に記載のログ分析装置。
  3. 前記学習部は、前記アクセスログからパラメータを抽出し、該抽出したパラメータを抽象化し、抽象化されたパラメータの出現頻度を学習することを特徴とする請求項1に記載のログ分析装置。
  4. 前記学習部は、各パラメータの出現頻度を学習し、各パラメータのうち、出現頻度が所定の閾値以下であるパラメータについては、前記プロファイルから削除することを特徴とする請求項1に記載のログ分析装置。
  5. 前記再学習要否判定部は、前記類似度が閾値未満である分析対象のアクセスログのうち、所定期間内で連続する複数のリクエストの時間間隔が閾値未満であるアクセスログについて、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定することを特徴とする請求項1に記載のログ分析装置。
  6. 前記分析部によって攻撃と判定されたアクセスのパラメータが、既に生成された攻撃パターンとマッチするか否かを判定し、マッチすると判定した場合には、前記攻撃と判定されたアクセスのパラメータを削除する攻撃パターンマッチテスト部をさらに備えることを特徴とする請求項2に記載のログ分析装置。
  7. ログ分析装置によって実行されるログ分析方法であって、
    ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習工程と、
    分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析工程と、
    前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定工程と
    を含んだことを特徴とするログ分析方法。
  8. ユーザ端末からサーバへのリクエストに関するアクセスログからパラメータを抽出して、該パラメータの出現頻度を学習し、学習結果をプロファイルとして記憶部に格納する学習ステップと、
    分析対象のアクセスログからパラメータを抽出し、該パラメータと前記記憶部に記憶されたプロファイルにおけるパラメータとを比較して類似度を求め、該類似度が閾値未満である場合には、前記分析対象のアクセスログにおけるアクセスを攻撃と判定する分析ステップと、
    前記類似度が閾値未満である分析対象のアクセスログのうち、パラメータごとにリクエスト元のユーザ端末の種類数を集計し、該ユーザ端末の種類数が閾値以上のパラメータがある場合には、該パラメータの再学習を行うと判定する再学習要否判定ステップと
    をコンピュータに実行させるためのログ分析プログラム。
JP2019502890A 2017-03-03 2018-02-19 ログ分析装置、ログ分析方法およびログ分析プログラム Active JP6680945B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017041125 2017-03-03
JP2017041125 2017-03-03
PCT/JP2018/005773 WO2018159362A1 (ja) 2017-03-03 2018-02-19 ログ分析装置、ログ分析方法およびログ分析プログラム

Publications (2)

Publication Number Publication Date
JPWO2018159362A1 true JPWO2018159362A1 (ja) 2019-08-08
JP6680945B2 JP6680945B2 (ja) 2020-04-15

Family

ID=63371049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502890A Active JP6680945B2 (ja) 2017-03-03 2018-02-19 ログ分析装置、ログ分析方法およびログ分析プログラム

Country Status (3)

Country Link
US (1) US20190387012A1 (ja)
JP (1) JP6680945B2 (ja)
WO (1) WO2018159362A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915587B2 (en) * 2018-05-18 2021-02-09 Google Llc Data processing system for generating entries in data structures from network requests
JP6563578B1 (ja) * 2018-09-26 2019-08-21 株式会社ラック 端末装置、ファイル分析装置、ファイル分析システム、ファイル分析方法およびプログラム
JP7166969B2 (ja) * 2019-03-20 2022-11-08 三菱電機インフォメーションネットワーク株式会社 ルータ攻撃検出装置、ルータ攻撃検出プログラム及びルータ攻撃検出方法
US11010287B1 (en) * 2019-07-01 2021-05-18 Intuit Inc. Field property extraction and field value validation using a validated dataset
JP6751960B1 (ja) * 2020-03-09 2020-09-09 株式会社シンカー 情報処理システムおよび情報処理方法
CN111565192A (zh) * 2020-05-08 2020-08-21 南开大学 基于可信度的内网安全威胁多模型协同防御方法
JP7413924B2 (ja) * 2020-05-25 2024-01-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN113259324B (zh) * 2021-04-21 2022-09-02 深圳供电局有限公司 数据攻击检测方法、装置、计算机设备和可读存储介质
JPWO2022239147A1 (ja) * 2021-05-12 2022-11-17

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152431A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 不正アクセス検知装置及び不正アクセス検知プログラム及び記録媒体及び不正アクセス検知方法
WO2015186662A1 (ja) * 2014-06-06 2015-12-10 日本電信電話株式会社 ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
JP2016505984A (ja) * 2013-01-02 2016-02-25 クアルコム,インコーポレイテッド モバイルデバイスの挙動の効率的な分類のためのデバイス固有およびデバイス状態固有の分類器モデルを動的に生成し使用する方法およびシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099813A1 (en) * 2000-12-04 2002-07-25 Jason Winshell Method for collecting statistics about Web site usage
US20060294588A1 (en) * 2005-06-24 2006-12-28 International Business Machines Corporation System, method and program for identifying and preventing malicious intrusions
US7441429B1 (en) * 2006-09-28 2008-10-28 Narus, Inc. SIP-based VoIP traffic behavior profiling
US8463253B2 (en) * 2007-06-21 2013-06-11 Verizon Patent And Licensing Inc. Flexible lifestyle portable communications device
JP4962782B2 (ja) * 2007-08-13 2012-06-27 富士通株式会社 利用者状態推定システム、利用者状態推定方法および利用者状態推定プログラム
US9531736B1 (en) * 2012-12-24 2016-12-27 Narus, Inc. Detecting malicious HTTP redirections using user browsing activity trees

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152431A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 不正アクセス検知装置及び不正アクセス検知プログラム及び記録媒体及び不正アクセス検知方法
JP2016505984A (ja) * 2013-01-02 2016-02-25 クアルコム,インコーポレイテッド モバイルデバイスの挙動の効率的な分類のためのデバイス固有およびデバイス状態固有の分類器モデルを動的に生成し使用する方法およびシステム
WO2015186662A1 (ja) * 2014-06-06 2015-12-10 日本電信電話株式会社 ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム

Also Published As

Publication number Publication date
JP6680945B2 (ja) 2020-04-15
US20190387012A1 (en) 2019-12-19
WO2018159362A1 (ja) 2018-09-07

Similar Documents

Publication Publication Date Title
WO2018159362A1 (ja) ログ分析装置、ログ分析方法およびログ分析プログラム
CN110213227B (zh) 一种网络数据流检测方法及装置
US10303873B2 (en) Device for detecting malware infected terminal, system for detecting malware infected terminal, method for detecting malware infected terminal, and program for detecting malware infected terminal
US9479524B1 (en) Determining string similarity using syntactic edit distance
JP6252254B2 (ja) 監視プログラム、監視方法および監視装置
US10318727B2 (en) Management device, management method, and computer-readable recording medium
EP3343869A1 (en) A method for modeling attack patterns in honeypots
JP6491356B2 (ja) 分類方法、分類装置および分類プログラム
US20210273964A1 (en) Abnormality sensing device and abnormality sensing method
JP6039826B2 (ja) 不正アクセスの検知方法および検知システム
Coull et al. On Measuring the Similarity of Network Hosts: Pitfalls, New Metrics, and Empirical Analyses.
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
Zhang et al. Toward unsupervised protocol feature word extraction
Ting et al. Compression analytics for classification and anomaly detection within network communication
CN113114671A (zh) 一种云数据安全识别与分类方法
CN113691491A (zh) 域名系统中恶意域名的检测方法与检测装置
JP2019148894A (ja) ルール生成装置およびルール生成プログラム
WO2020175113A1 (ja) 異常検知装置、異常検知方法および異常検知プログラム
TWI796706B (zh) 資料外洩偵測方法與裝置
JPWO2019043804A1 (ja) ログ分析装置、ログ分析方法及びプログラム
JP2020028092A (ja) 攻撃検知装置、攻撃検知システム、攻撃検知方法および攻撃検知プログラム
Locher Finding heavy distinct hitters in data streams
CN113792291B (zh) 一种受域生成算法恶意软件感染的主机识别方法及装置
JP2019175334A (ja) 情報処理装置、制御方法、及びプログラム
Reviriego et al. On the security of the k minimum values (KMV) sketch

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200319

R150 Certificate of patent or registration of utility model

Ref document number: 6680945

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150