JP6714143B2 - 学習装置、再学習要否判定方法及び再学習要否判定プログラム - Google Patents

学習装置、再学習要否判定方法及び再学習要否判定プログラム Download PDF

Info

Publication number
JP6714143B2
JP6714143B2 JP2019502897A JP2019502897A JP6714143B2 JP 6714143 B2 JP6714143 B2 JP 6714143B2 JP 2019502897 A JP2019502897 A JP 2019502897A JP 2019502897 A JP2019502897 A JP 2019502897A JP 6714143 B2 JP6714143 B2 JP 6714143B2
Authority
JP
Japan
Prior art keywords
learning
request
profile
specific request
determination 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.)
Active
Application number
JP2019502897A
Other languages
English (en)
Other versions
JPWO2018159380A1 (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 JPWO2018159380A1 publication Critical patent/JPWO2018159380A1/ja
Application granted granted Critical
Publication of JP6714143B2 publication Critical patent/JP6714143B2/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/1416Event detection, e.g. attack signature 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

本発明は、学習装置、再学習要否判定方法及び再学習要否判定プログラムに関する。
インターネットの普及に伴い、Webサーバに対する攻撃が急増している。攻撃の対策としてIDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、WAF(Web Application Firewall)等が知られている。これらの技術では、ブラックリストやシグネチャファイルを用いたパターンで検出を行い、既知の攻撃の検知及び防御を行う。
また、未知の攻撃の検出技術として、正常なWebサーバへのアクセス要求からパラメータ値の特徴等をプロファイルとして学習し、識別対象のアクセス要求の特徴と当該プロファイルとを比較することにより、当該アクセス要求が攻撃(正常なアクセスではない)であるか否かを判定する技術が知られている(例えば、特許文献1を参照)。
国際公開第2015/186662号
しかしながら、アクセスが攻撃であるか否かをプロファイルに基づいて判定する従来の技術には、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することが困難であるという問題があった。
例えば、Webサイトが変更されると、当該Webサイトへの正常なアクセスのHTTPリクエストに、それまで含まれていなかったパスやパラメータが含まれ始める。このような場合、Webサイトの変更前に学習されたプロファイルでは、アクセスが攻撃であるか否かを判定できなくなり、攻撃を見逃してしまう場合がある。また、パラメータのバリューの仕様が変更され、文字列構造が変化した場合、正常なアクセスを攻撃と判定する誤検知が発生すること場合がある。
このような場合、攻撃の検知精度を高精度に維持するためには、Webサイトの変更にあわせてプロファイルの再学習を行う必要があるが、従来の技術では、Webサイトの変更を検出することができず、プロファイルの再学習を行う契機を判断することは困難であった。
一方で、Webサイトの変更が行われたか否かにかかわらず、高頻度でプロファイルの再学習を行うことで、攻撃の検知精度を高精度に維持することが考えられるが、この場合、運用稼働が増大してしまうため現実的ではない。
本発明の学習装置は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出部と、前記抽出部によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する判定部と、前記特定のリクエストが、前記判定部によって所定の条件を満たすと判定された場合、前記プロファイルの再学習を行う学習部と、を有することを特徴とする。
本発明の再学習要否判定方法は、学習装置で実行される再学習要否判定方法であって、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出工程と、前記抽出工程によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定工程と、を含んだことを特徴とする。
本発明の再学習要否判定プログラムは、コンピュータに、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出ステップと、前記抽出ステップによって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定ステップと、を実行させることを特徴とする。
本発明によれば、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することができる。
図1は、第1の実施形態に係る学習装置の構成の一例を示す図である。 図2は、第1の実施形態に係る制御部の処理について説明するための図である。 図3は、第1の実施形態に係るNew Parameterの抽出について説明するための図である。 図4は、第1の実施形態に係るUnmached Valueの抽出について説明するための図である。 図5は、第1の実施形態に係る抽出部の処理結果の出力について説明するための図である。 図6は、第1の実施形態に係る抽出部の処理の変形例について説明するための図である。 図7は、第1の実施形態に係る継続性があるパターンの一例について説明するための図である。 図8は、第1の実施形態に係る継続性があるパターンの一例について説明するための図である。 図9は、第1の実施形態に係る継続性があるパターンの一例について説明するための図である。 図10は、第1の実施形態に係るタイムスロットの分割について説明するための図である。 図11は、第1の実施形態に係るタイムスロットの特定について説明するための図である。 図12は、第1の実施形態に係る判定部の処理結果の出力について説明するための図である。 図13は、第1の実施形態に係る判定部の他の処理について説明するための図である。 図14は、第1の実施形態に係る判定部の再学習対象判定用情報作成処理について説明するための図である。 図15は、第1の実施形態に係る判定部の再学習対象判定用情報検索処理について説明するための図である。 図16は、第1の実施形態に係る判定部の送信元のIPアドレスに関する再学習対象判定用情報比較処理について説明するための図である。 図17は、第1の実施形態に係る判定部の送信日時に関する再学習対象判定用情報比較処理について説明するための図である。 図18は、第1の実施形態に係る判定部の再学習対象判定処理について説明するための図である。 図19は、第1の実施形態に係る判定部の再学習対象判定用情報追加処理について説明するための図である。 図20は、第1の実施形態に係る判定部の再学習対象判定用情報更新処理について説明するための図である。 図21は、第1の実施形態に係る判定部の処理の変形例について説明するための図である。 図22は、第1の実施形態に係る抽出部の処理の流れを示すフローチャートである。 図23は、第1の実施形態に係る判定部のタイムスロットを用いた処理の流れを示すフローチャートである。 図24は、第1の実施形態に係る判定部の再学習対象判定用情報を用いた処理の流れを示すフローチャートである。 図25は、プログラムが実行されることにより学習装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係る学習装置、再学習要否判定方法及び再学習要否判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る学習装置の構成について説明する。図1は、第1の実施形態に係る学習装置の構成の一例を示す図である。図1に示すように、学習装置10は、入力部11、制御部12及び再学習要否判定部15を有する。また、学習装置10は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル13の学習を行うための装置である。また、学習装置10は、プロファイル13を用いて攻撃であるリクエストの検知を行うこともできる。
また、学習装置10は、入力されたデータに基づき、プロファイル13の再学習を行う必要があるかを自動的に判断することができる。また、学習装置10は、プロファイル13の再学習を行う必要があると判断した際に、自動的に再学習を開始することができる。
入力部11は、学習装置10における学習又は分析のためのデータの入力を受け付ける。入力部11は、分析対象データ入力部111及び学習データ入力部112を有する。分析対象データ入力部111は、分析データHTTPリクエスト20の入力を受け付ける。また、学習データ入力部112は、学習データHTTPリクエスト30の入力を受け付ける。分析データHTTPリクエスト20及び学習データHTTPリクエスト30は、例えば、Webサイトへのアクセスの際に生成されるHTTPリクエストである。また、学習データHTTPリクエスト30は、攻撃であるか否かがあらかじめ判明しているHTTPリクエストであってもよい。
制御部12は、パラメータ抽出部121、文字クラス列変換部122、異常検知部123及びプロファイル保存部124を有する。制御部12は、プロファイル13の学習及び攻撃であるリクエストの検知に関する処理を行う。
パラメータ抽出部121は、入力部11に入力された分析データHTTPリクエスト20及び学習データHTTPリクエスト30からパラメータを抽出する。パラメータ抽出部121は、各HTTPリクエストから、パス、パラメータキー及びパラメータキーに対応するバリューを抽出する。
例えば、学習データHTTPリクエスト30に「http://example.com/index.php?id=03&file=Top001.png」というURLが含まれている場合、パラメータ抽出部121は、パスとして「index.php」を抽出し、パラメータキーとして「id」及び「file」を抽出し、パラメータキーに対応するバリューとして、「03」及び「Top001.png」を抽出する。
また、文字クラス列変換部122は、パラメータ抽出部121によって抽出されたバリューを文字クラス列に変換する。例えば、文字クラス列変換部122は、パラメータ抽出部121によって抽出されたバリューである「03」及び「Top001.png」を文字クラス列に変換する。
文字クラス列変換部122は、例えば、バリューの数字で構成される部分を「numeric」、アルファベットで構成される部分を「alpha」、記号で構成される部分を「symbol」に置き換えることで文字クラス列への変換を行う。文字クラス列変換部122は、例えば、バリュー「03」を文字クラス列「(numeric)」に変換する。また、文字クラス列変換部122は、例えば、バリュー「Top001.png」を文字クラス列「(alpha, numeric, symbol, alpha)」に変換する。
異常検知部123は、文字クラス列変換部122等から受け取ったパス、パラメータキー及び文字クラス列と、プロファイル13との類似度を計算し、計算した類似度を閾値と比較すること等により攻撃の検知を行う。例えば、異常検知部123は、ある分析データHTTPリクエスト20のパス、パラメータキー及び文字クラス列と、プロファイル13との類似度が閾値以下である場合、当該分析データHTTPリクエスト20を攻撃として検知する。また、異常検知部123は、検知結果14を出力する。
プロファイル保存部124は、文字クラス列変換部122から受け取ったパス、パラメータキー及び文字クラス列をプロファイル13として保存する。この時、パス及びパラメータキーに対応する文字クラス列が複数ある場合、例えば当該複数の文字クラス列のうち最も頻出する文字クラス列をプロファイル13として保存する。プロファイル保存部124の処理により、制御部12は、学習部として機能する。
図2を用いて、制御部12の処理について説明する。図2は、第1の実施形態に係る制御部の処理について説明するための図である。まず、学習データHTTPリクエスト30には、URL「http://example.com/index.php?file=Img.jpg」、「http://example.com/index.php?file=Test.png」及び「http://example.com/index.php?file=Top001.png」が含まれているとする。また、分析データHTTPリクエスト20には、URL「http://example.com/index.php?file=Test011.jpg」及び「http://example.com/index.php?file=Test_011.jpg' or '1'='1」が含まれているとする。
このとき、パラメータ抽出部121は、学習データHTTPリクエスト30から、バリュー「Img.jpg」、「Test.png」及び「Top001.png」を抽出する。また、パラメータ抽出部121は、分析データHTTPリクエスト20から、バリュー「Test011.jpg」及び「Test_011.jpg' or '1'='1」を抽出する。
次に、図2に示すように、文字クラス列変換部122は、バリュー「Img.jpg」、「Test.png」及び「Top001.png」をそれぞれ、文字クラス列「(alpha, symbol, alpha)」、「(alpha, symbol, alpha)」及び「(alpha, numeric, symbol, alpha)」に変換する。また、文字クラス列変換部122は、バリュー「Test011.jpg」及び「Test_011.jpg' or '1'='1」を、それぞれ文字クラス列「(alpha, numeric, symbol, alpha)」及び「(alpha, symbol, numeric, symbol, alpha, symbol, space, alpha, space, symbol, numeric, symbol, numeric)」に変換する。なお、バリュー「スペース(空白)」は文字クラス列「space」に変換する。
次に、異常検知部123は、分析データHTTPリクエスト20からの文字クラス列「(alpha, numeric, symbol, alpha)」及び「(alpha, symbol, numeric, symbol, alpha, symbol, space, alpha, space, symbol, numeric, symbol, numeric)」に対応するパスとパラメータキーを組み合わせたデータとプロファイル13との類似度を計算し、攻撃の検知を行う。
また、プロファイル保存部124は、学習データHTTPリクエスト30に含まれるURLのパス「index.php」及びパラメータキー「file」に対応する文字クラス列のうち、例えば「(alpha, symbol, alpha)」を最も頻出する文字クラス列としてプロファイル13に保存する。
再学習要否判定部15は、抽出部151及び判定部152を有する。抽出部151は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル13とマッチしないリクエストのうち、特定のリクエストを抽出する。また、判定部152は、抽出部151によって抽出された特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する。また、制御部12は、特定のリクエストが、判定部152によって所定の条件を満たすと判定された場合、プロファイル13の再学習を行う。
なお、制御部12は、判定部152による判定が行われた後、判定結果である再学習対象データHTTPリクエスト16を学習データ入力部112に入力し、自動的に再学習を開始してもよい。また、再学習対象データHTTPリクエスト16は、例えばユーザが認識可能なデータ形式で、装置外部に出力されてもよい。
本実施形態において、抽出部151は、New Parameter及びUnmatched Valueの抽出、New Parameter又はUnmatched Valueを含んだHTTPリクエストの抽出を行う。New Parameterとは、学習したプロファイル13に存在しないパス及びパラメータキーである。また、Unmatched Valueとは、学習したプロファイル13と、傾向が異なるバリューである。バリューの傾向の異同は、例えば文字クラス列を用いて判断される。
また、本実施形態では、判定部152は、New Parameter又はUnmatched Valueを含んだHTTPリクエストが、一定数以上の発信元から継続して発信されているものである場合、プロファイル13の再学習が必要であると判定する。これは、プロファイル13が正常通信の特徴を学習した正常プロファイルであるとしたときに、New Parameter又はUnmatched Valueを含んだHTTPリクエストが一定数以上の発信元から継続して発信されている場合、Webサイトに変更があったことが考えられるためである。
なお、プロファイル13は、悪性通信の特徴を学習した悪性プロファイルであってもよい。この場合、判定部152は、New Parameter又はUnmatched Valueを含んだHTTPリクエストが、一定数以上の発信元から継続して発信されているものである場合以外の場合に、プロファイル13の再学習が必要であると判定する。
ここで、New Parameter又はUnmatched Valueを含んだHTTPリクエストは、攻撃であることも考えられる。しかし、正規利用者数が攻撃者数より非常に多いため、多数のIPアドレスから送信されているHTTPリクエストは、攻撃よりもWebサイトの正常な利用によるものである可能性が高い。また、攻撃者が攻撃を行う期間は短いことから、送信の継続期間が長いHTTPリクエストは、攻撃よりもWebサイトの正常な利用によるものである可能性が高い。このため、判定部152によってHTTPリクエストが一定数以上の発信元から継続して発信されていると判定されたHTTPリクエストは、攻撃よりもWebサイトの正常な利用によるものである可能性が高いことがいえる。
抽出部151は、パス及びパラメータキーの組み合わせがプロファイル13に含まれないHTTPリクエスト、すなわち、New Parameterを有するHTTPリクエストを特定のリクエストとして抽出することができる。また、抽出部151は、パス及びパラメータキーの組み合わせがプロファイル13に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル13に含まれないHTTPリクエスト、すなわち、Unmached Valueを有するHTTPリクエストを特定のリクエストとして抽出することができる。
(New Parameterの抽出)
ここで、図3を用いて、抽出部151によるNew Parameterの抽出処理について説明する。図3は、第1の実施形態に係るNew Parameterの抽出について説明するための図である。抽出部151は、分析対象のHTTPリクエストのパス及びパラメータキーの組み合わせが、プロファイル13に含まれない場合、当該HTTPリクエストに関する情報をNew Parameterとして抽出する。
例えば、図3に示すように、HTTPリクエスト「12/1 0:01:30 192.168.0.1 GET /index.php?key=user001」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせは、プロファイル13に含まれるため、抽出部151は、HTTPリクエスト「12/1 0:01:30 192.168.0.1 GET /index.php?key=user001」に関する情報をNew Parameterとして抽出しない。
一方、HTTPリクエスト「12/1 0:01:34 192.168.0.1 GET /index.php?key=user001&new_key1=new_value001」に含まれるパス「index.php」及びパラメータキー「new_key1」の組み合わせは、プロファイル13に含まれないため、抽出部151は、HTTPリクエスト「12/1 0:01:34 192.168.0.1 GET /index.php?key=user001&new_key1=new_value001」に関する情報をNew Parameterとして抽出する。
(Unmached Valueの抽出)
次に、図4を用いて、抽出部151によるUnmached Valueの抽出処理について説明する。図4は、第1の実施形態に係るUnmached Valueの抽出について説明するための図である。抽出部151は、分析対象のHTTPリクエストのパス及びパラメータキーの組み合わせがプロファイル13に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル13に含まれない場合、当該HTTPリクエストに関する情報をUnmached Valueとして抽出する。
例えば、図4に示すように、HTTPリクエスト「12/1 0:03:45 192.168.0.1 GET /index.php?key=user001」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせはプロファイル13に含まれ、パス「index.php」、パラメータキー「key」及びバリュー「user001」から変換された文字クラス列「{AL, NU}」の組み合わせもプロファイル13に含まれる。このため、抽出部151は、HTTPリクエスト「12/1 0:03:45 192.168.0.1 GET /index.php?key=user001」に関する情報をUnmached Valueとして抽出しない。なお、図4の文字クラス列の表記方法は図2のものと異なるが、文字クラス列の表記方法は、学習装置10内で認識可能なものであれば任意の方法とすることができる。
一方、HTTPリクエスト「12/1 3:00:18 192.168.0.1 GET /index.php?key=user001-01」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせは、プロファイル13に含まれるが、パス「index.php」、パラメータキー「key」及びバリュー「user001-01」から変換された文字クラス列「{AL, NU, SY, NU}」の組み合わせはプロファイル13に含まれない。このため、抽出部151は、HTTPリクエスト「12/1 3:00:18 192.168.0.1 GET /index.php?key=user001-01」に関する情報をUnmached Valueとして抽出する。
次に、図5を用いて、抽出部151の出力について説明する。図5は、第1の実施形態に係る抽出部の処理結果の出力について説明するための図である。前述の通り、抽出部151は、New Parameter又はUnmached Valueとして、HTTPリクエストに関する情報を取得する。HTTPリクエストに関する情報には、例えば、送信日時、IPアドレス、パス、パラメータキー及びバリュー等が含まれる。さらに、抽出部151は、再学習対象候補HTTPリクエストを抽出する。
再学習対象候補HTTPリクエストには、New Parameter又はUnmached Valueの抽出対象のHTTPリクエストに加え、当該HTTPリクエストとパス及びパラメータキーが一致するHTTPリクエストが含まれる。例えば、図4の例では、抽出部151は、HTTPリクエスト「12/1 0:03:45 192.168.0.1 GET /index.php?key=user001」に関する情報をUnmached Valueとして抽出しないが、当該HTTPリクエストは、Unmached Valueとして抽出するHTTPリクエスト「12/1 3:00:18 192.168.0.1 GET /index.php?key=user001-01」とパス及びパラメータが一致しているため、再学習対象候補HTTPリクエストとして抽出する。
また、図5に示すように、抽出部151は、バリューが文字クラス列に変換されたHTTPリクエストではなく、元となったHTTPリクエストを再学習候補HTTPリクエストとして抽出する。
(変形例)
さらに、図6に示すように、抽出部151は、HTTPリクエストのうち、ステータスコードが所定値であるものだけを抽出するようにしてもよい。図6は、第1の実施形態に係る抽出部の処理の変形例について説明するための図である。例えば、ステータスコード「200〜399」は、正常を意味しているため、抽出部151は、ステータスコード「200〜399」であるHTTPリクエストを抽出する。
図6の例では、HTTPリクエスト「192.168.0.2 GET /index.php?new_key2=../../etc/passwd」は、前述のNew Parameterとして抽出される条件を満たしているが、ステータスコードが「404」であるため、本変形例においては、抽出部151は、HTTPリクエスト「192.168.0.2 GET /index.php?new_key2=../../etc/passwd」に関する情報をNew Parameterとして抽出しない。なお、ここではNew Parameterの場合の例を説明したが、抽出部151がUnmached Valueを抽出する場合においても本変形例を適用することができる。
(継続性の判定)
ここで、判定部152による、継続性の判定、すなわち、リクエストが、一定数以上の送信元から継続して送信されているか否かを判定する処理について説明する。図7〜9を用いて、継続性があるパターンについて説明する。図7〜9は、第1の実施形態に係る継続性があるパターンの一例について説明するための図である。
まず、図7に示すように、HTTPリクエストの送信時間を含んだ期間を複数のタイムスロットに分割した場合に、条件を満たすタイムブロックが高頻度で出現するパターンを、判定部152は継続性があるパターンと判定することができる。
例えば、条件を満たすタイムブロックの出現率の閾値を5/10に設定した場合、図7に示すように、条件を満たすタイムブロックの出現率が1/10である場合は非継続的であると判定され、条件を満たすタイムブロックの出現率が8/10である場合は継続的であると判定される。
また、図8に示すように、HTTPリクエストの送信時間を含んだ期間を複数のタイムスロットに分割した場合に、条件を満たすタイムブロックの連続して出現するパターンを、判定部152は継続性があるパターンと判定することができる。
例えば、条件を満たすタイムブロックが連続する回数の閾値を5回とした場合、図8に示すように、条件を満たすタイムブロックが6回連続で出現した場合は継続的であると判定され、条件を満たすタイムブロックが3回までしか連続して出現しなかった場合は非継続的であると判定される。
また、図9に示すように、所定のHTTPリクエストが送信されてから、当該HTTPリクエストから一部が変化したHTTPリクエストが送信されるまでの時間が所定の条件を満たすパターンを、判定部152は継続性があるパターンと判定することができる。例えば、図9のパターンには、あるパス及びパラメータキーを有するHTTPリクエストが送信された後、同じパス及びパラメータキーを有し、異なる送信元IPアドレスを有するHTTPリクエストが送信されるまでの時間が所定値以上であるパターンが該当する。
(タイムスロットを用いた判定)
図10を用いて、判定部152による、図7のパターンを判定する処理について説明する。まず、図10に示すように、判定部152は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割する。図10は、第1の実施形態に係るタイムスロットの分割について説明するための図である。図10に示すように、判定部152は、特定の期間を、4時間ごとのタイムスロットに分割する。例えば、タイムスロット(1)は、0:00〜4:00である。また、タイムスロット(2)は、4:00〜8:00である。このとき、さらに、判定部152は、各タイムスロットに、HTTPリクエストの送信元IPアドレスを時系列で並べて割り当てる。
次に、図11に示すように、判定部152は、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントする。図11は、第1の実施形態に係るタイムスロットの特定について説明するための図である。例えば、「path1:new_key1」のタイムスロット(1)(0:00〜4:00)には、3種類の送信元IPアドレスが含まれるので、判定部152は当該タイムスロットの送信元アドレスの種類を3とカウントする。一方、「path1:new_key2」のタイムスロット(1)(0:00〜4:00)には、1種類の送信元IPアドレスが含まれるので、判定部152は当該タイムスロットの送信元アドレスの種類を1とカウントする。
次に、判定部152は、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が所定値以上である場合、特定のリクエストが所定の条件を満たすと判定する。ここで、送信元アドレスの種類の数に関する閾値が2であるとする。このとき、図11に示すように、「path1:new_key1」のタイムスロットには、送信元アドレスの種類が複数見られるのに対し、「path1:new_key2」のタイムスロットには、送信元アドレスの種類があまり見られない。
ここで、例えば、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が0.8を超えた場合に、判定部152は所定の条件を満たすとすることができる。そして、図12に示すように、「path1:new_key1」が当該条件を満たすと判定された場合、抽出部151によって抽出された再学習対象候補HTTPリクエストのうち、パスが「path1」、パラメータキーが「new_key1」であるHTTPリクエストは、再学習対象データHTTPリクエスト16として出力される。図12は、第1の実施形態に係る判定部の処理結果の出力について説明するための図である。なお、「path1」は、パス「index.php」を示す符号である。
図13を用いて、判定部152による、図8のパターンを判定する処理について説明する。図13は、第1の実施形態に係る判定部の他の処理について説明するための図である。図13に示すように、判定部152は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、特定のリクエストが所定の条件を満たすと判定することができる。タイムスロットの分割及び送信元アドレスの種類の数のカウントについては、図10及び11の場合と同様であるため説明を省略する。
ここで、図13に示すように、「path1:new_key1」の方では、送信元アドレスの種類が閾値を越えるタイムスロットが連続している傾向があるのに、「path1:new_key2」の方では、送信元アドレスの種類が閾値を越えるタイムスロットが連続しない傾向がある。判定部152は、例えば送信元アドレスの種類が閾値を越えるタイムスロットが5回以上連続した場合に、判定部152は所定の条件を満たすとすることができる。
(再学習対象判定用情報を用いた判定)
図14〜20を用いて、判定部152による、図9のパターンを判定する処理について説明する。図14〜20は、第1の実施形態に係る判定部の図9のパターンを判定する処理について説明するための図である。
まず、図14のように、判定部152は、再学習対象判定用情報を作成する。図14は、第1の実施形態に係る判定部の再学習対象判定用情報作成処理について説明するための図である。このとき、再学習対象判定用情報にはデータが存在せず、項目のみが設定されている。
次に、図15に示すように、判定部152は、抽出部151で抽出されたNew Parameter及びUnmatched Valueのパス及びパラメータキーの組み合わせのそれぞれで、再学習対象判定用情報を順次検索する。図15は、第1の実施形態に係る判定部の再学習対象判定用情報検索処理について説明するための図である。再学習対象判定用情報を検索した結果、検索結果が存在した場合、判定部152は、送信元のIPアドレスに関する再学習対象判定用情報比較を行う。
図16を用いて、送信元のIPアドレスに関する再学習対象判定用情報比較について説明する。図16は、第1の実施形態に係る判定部の送信元のIPアドレスに関する再学習対象判定用情報比較処理について説明するための図である。検索結果の再学習対象判定用情報に含まれるIPアドレスと、検索に用いたNew Parameter又はUnmatched Valueに含まれるIPアドレスとが同じである場合(図16の比較(2))、判定部152は次の検索へ進む。
一方、検索結果の再学習対象判定用情報に含まれるIPアドレスと、検索に用いたNew Parameter又はUnmatched Valueに含まれるIPアドレスとが異なる場合(図16の比較(1))、判定部152は送信日時に関する再学習対象判定用情報比較を行う。
ここで、図17を用いて、送信日時に関する再学習対象判定用情報比較について説明する。図17は、第1の実施形態に係る判定部の送信日時に関する再学習対象判定用情報比較処理について説明するための図である。検索に用いたNew Parameter又はUnmatched Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間(例えば、60分)以内である場合(図17の比較(1))、判定部152は再学習対象判定処理を行う。
一方、検索に用いたNew Parameter又はUnmatched Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間(例えば、60分)以内でない場合(図17の比較(2))、判定部152は再学習対象判定用情報更新処理を行った後、次の検索へ進む。
ここで、図18を用いて、再学習対象判定処理について説明する。図18は、第1の実施形態に係る判定部の再学習対象判定処理について説明するための図である。検索に用いたNew Parameter又はUnmatched Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる初回時刻から一定時間(例えば、120分)以上経過している場合(図18の比較(1))、判定部152は、抽出部151によって抽出された再学習対象候補HTTPリクエストのうち、当該New Parameter又はUnmatched Valueを有するものを、再学習対象データHTTPリクエスト16とする。
一方、検索に用いたNew Parameter又はUnmatched Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる初回時刻から一定時間(例えば、120分)以上経過していない場合(図18の比較(2))、判定部152は再学習対象判定用情報の前回時刻及びIPアドレスを、それぞれNew Parameter又はUnmatched Valueに含まれる送信日時及び送信元のIPアドレスで更新し、次の検索へ進む。
また、再学習対象判定用情報を検索した結果、検索結果が存在しなかった場合、判定部152は、再学習対象判定用情報追加処理を行う。なお、初回は検索対象の再学習対象判定用情報が作成されていないため、判定部152は、再学習対象判定用情報追加処理を行うことになる。
図19を用いて、再学習対象判定用情報追加処理について説明する。図19は、第1の実施形態に係る判定部の再学習対象判定用情報追加処理について説明するための図である。図19に示すように、再学習対象判定用情報追加処理において、判定部152は、New Parameter又はUnmatched Valueに含まれる各情報を再学習対象判定用情報に追加する。なお、この場合、判定部152は、初回時刻及び前回時刻の両方に、New Parameter又はUnmatched Valueに含まれる送信日時を追加する。
図20を用いて、再学習対象判定用情報更新処理について説明する。図20は、第1の実施形態に係る判定部の再学習対象判定用情報更新処理について説明するための図である。図20に示すように、再学習対象判定用情報更新処理において、判定部152は、再学習対象判定用情報を、New Parameter又はUnmatched Valueに含まれる各情報で更新する。なお、この場合、判定部152は、前回時刻をNew Parameter又はUnmatched Valueに含まれる送信日時で更新し、初回時刻は更新しない。
この場合、判定部152で用いられる所定の条件は、特定のリクエストの送信日時の間隔が短く、特定のリクエストの送信元アドレスの種類が多いほど満たされやすいものである。
つまり、再学習対象データHTTPリクエスト16として判定部152によって判定されるためには、図18に示す再学習対象判定処理に進む必要がある。ここで、再学習対象判定処理に進むためには、送信日時に関する再学習対象判定用情報比較処理において、New Parameter又はUnmatched Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間以内でなければならない。これより、リクエストの送信日時の間隔短いほど再学習対象判定処理に進みやすいといえる。
また、送信日時に関する再学習対象判定用情報比較処理に進むためには、送信元のIPアドレスに関する再学習対象判定用情報比較処理において、New Parameter又はUnmatched Valueに含まれる送信元のIPアドレスが、検索結果の再学習対象判定用情報に含まれるIPアドレスと異なっていなければならない。これより、送信元アドレスの種類が多いほど再学習対象判定処理に進みやすいといえる。
(変形例)
図21に示すように、判定部152はIPアドレスのブラックリストを保持しておき、HTTPリクエストの送信元のIPアドレスがブラックリストに記載されている場合、HTTPリクエストを判定対象から除外してもよい。図21は、第1の実施形態に係る判定部の処理の変形例について説明するための図である。図21の例では、IPアドレス「192.168.0.2」はブラックリストに含まれているため、例えばタイムブロックごとのアドレスの種類の数をカウントする際に除外される。
[第1の実施形態の処理]
まず、図22を用いて、抽出部151の処理の流れについて説明する。図22は、第1の実施形態に係る抽出部の処理の流れを示すフローチャートである。図22に示すように、抽出部151は、入力データとして分析対象のHTTPリクエストを取得する(ステップS101)。次に、抽出部151は、New Parameterの抽出を行う(ステップS102)。また、抽出部151は、Unmatched Valueの抽出を行う(ステップS103)。そして、抽出部151は、処理結果データを出力する(ステップS104)。
なお、抽出部151は、New Parameterの抽出(ステップS102)、及びUnmatched Valueの抽出(ステップS103)の順序を逆にしてもよいし、New Parameterの抽出(ステップS102)、及びUnmatched Valueの抽出(ステップS103)のいずれか一方のみを行うこととしてもよい。
次に、図23を用いて、判定部152のタイムスロットを用いた判定処理について説明する。図23は、第1の実施形態に係る判定部のタイムスロットを用いた処理の流れを示すフローチャートである。図23に示すように、判定部152は、まず、入力データとして、抽出部151の処理結果データを取得する(ステップS201)。
次に、判定部152は、抽出部151の処理結果データに含まれるHTTPリクエストの送信日時を含んだ期間を複数のタイムスロットに分割する(ステップS202)。次に、判定部152は、タイムスロットごとに送信元IPアドレスの種類をカウントすること等により、判定の対象となるタイムスロットを特定する(ステップS203)。そして、特定したタイムスロットの出現状況に基づいて再学習対象のHTTPリクエストを判定する(ステップS204)。出現状況としては、条件を満たすタイムスロットの全体に占める割合や、条件を満たすタイムスロットの連続性等がある。そして、判定部152は、処理結果データを出力する(ステップS205)。
次に、図24を用いて、再学習対象判定情報を用いた判定処理について説明する。図24は、第1の実施形態に係る判定部の再学習対象判定用情報を用いた処理の流れを示すフローチャートである。図24に示すように、判定部152は、入力データとして、抽出部151の処理結果データを取得する(ステップS301)。
ここで、判定部152は、再学習対象判定用情報を作成する(ステップS302)。次に、判定部152は、入力データとして取得したHTTPリクエストに関する情報で、再学習対象判定用情報を検索し、検索結果が存在しなかった場合(ステップS303、No)、再学習対象判定用情報追加処理を行い(ステップS304)、次の検索へ進む。検索結果が存在した場合(ステップS303、Yes)、判定部152は、送信元のIPアドレスに関する再学習対象判定用情報比較処理を実行する(ステップS305)。
送信元のIPアドレスに関する再学習対象判定用情報比較処理の結果、IPアドレスが異なっていた場合(ステップS305、Yes)、判定部152は、送信日時に関する再学習対象判定用情報比較処理を実行する(ステップS306)。また、送信元のIPアドレスに関する再学習対象判定用情報比較処理の結果、IPアドレスが異なっていなかった場合(ステップS305、No)、判定部152は、次の検索へ進む。
送信日時に関する再学習対象判定用情報比較処理の結果、送信日時が前回時刻から一定時間以内であった場合(ステップS306、Yes)、判定部152は、再学習対象判定処理を実行する(ステップS308)。また、送信日時に関する再学習対象判定用情報比較処理の結果、送信日時が前回時刻から一定時間以内でなかった場合(ステップS306、No)、判定部152は、再学習対象判定用情報更新処理を実行し(ステップS307)、次の検索へ進む。
また、再学習対象判定処理の結果、送信日時が初回時刻から一定時間以上経過している場合(ステップS308、Yes)、当該HTTPリクエストを再学習対象として、処理結果データを出力する(ステップS309)。また、再学習対象判定処理の結果、送信日時が初回時刻から一定時間以上経過していなかった場合(ステップS308、No)、判定部152は、再学習対象判定用情報のIPアドレスと前回時刻を更新し、次の検索へ進む。
[第1の実施形態の効果]
抽出部151は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル13とマッチしないリクエストのうち、特定のリクエストを抽出する。また、判定部152は、抽出部151によって抽出された特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する。また、制御部12は、特定のリクエストが、判定部152によって所定の条件を満たすと判定された場合、プロファイル13の再学習を行う。これにより、必要に応じてプロファイルの再学習を行うことができるようになるため、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することができるようになる。
抽出部151は、パス及びパラメータキーの組み合わせがプロファイル13に含まれないHTTPリクエストを特定のリクエストとして抽出することができる。これにより、新たに出現したパスやパラメータにプロファイルを対応させることが可能となり、攻撃の見逃しを防止できるようになる。
抽出部151は、パス及びパラメータキーの組み合わせがプロファイル13に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル13に含まれないHTTPリクエストを特定のリクエストとして抽出することができる。これにより、既存パラメータキーのバリューの仕様(文字列構造)が変化した場合であっても、プロファイルを対応させることが可能となり、攻撃の誤検知を防止できるようになる。
判定部152は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が所定値以上である場合、特定のリクエストが所定の条件を満たすと判定することができる。これにより、タイムスロットの出現頻度に基づき、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
判定部152は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、特定のリクエストが所定の条件を満たすと判定することができる。これにより、タイムスロットの出現の連続性に基づき、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
判定部152で用いられる所定の条件は、特定のリクエストの送信日時の間隔短く、特定のリクエストの送信元アドレスの種類が多いほど満たされやすいものであってもよい。これにより、Webサイトの変更時に現れやすい傾向を基に条件を設定し、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
[プログラム]
一実施形態として、学習装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の再学習要否判定を実行する再学習要否判定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の再学習要否判定プログラムを情報処理装置に実行させることにより、情報処理装置を学習装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、学習装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の再学習要否判定に関するサービスを提供する学習サーバ装置として実装することもできる。例えば、学習サーバ装置は、分析対象のHTTPリクエストを入力とし、再学習の要否、及び再学習対象のHTTPリクエストを出力とする学習サービスを提供するサーバ装置として実装される。この場合、学習サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の再学習要否判定に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図25は、プログラムが実行されることにより学習装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 学習装置
11 入力部
12 制御部
13 プロファイル
14 検知結果
15 再学習要否判定部
16 再学習対象データHTTPリクエスト
20 分析データHTTPリクエスト
30 学習データHTTPリクエスト
111 分析対象データ入力部
112 学習データ入力部
121 パラメータ抽出部
122 文字クラス列変換部
123 異常検知部
124 プロファイル保存部
151 抽出部
152 判定部

Claims (8)

  1. サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出部と、
    前記抽出部によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する判定部と、
    前記特定のリクエストが、前記判定部によって所定の条件を満たすと判定された場合、前記プロファイルの再学習を行う学習部と、
    を有することを特徴とする学習装置。
  2. 前記抽出部は、パス及びパラメータキーの組み合わせが前記プロファイルに含まれないHTTPリクエストを前記特定のリクエストとして抽出することを特徴とする請求項1に記載の学習装置。
  3. 前記抽出部は、パス及びパラメータキーの組み合わせが前記プロファイルに含まれ、かつ、前記パス、前記パラメータキー及びバリューの傾向の組み合わせが前記プロファイルに含まれないHTTPリクエストを前記特定のリクエストとして抽出することを特徴とする請求項1に記載の学習装置。
  4. 前記判定部は、前記特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、前記タイムスロットごとに前記特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が前記複数のタイムスロットの総数に占める割合が所定値以上である場合、前記特定のリクエストが前記所定の条件を満たすと判定することを特徴とする請求項1から3のいずれか1項に記載の学習装置。
  5. 前記判定部は、前記特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、前記タイムスロットごとに前記特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、前記特定のリクエストが前記所定の条件を満たすと判定することを特徴とする請求項1から3のいずれか1項に記載の学習装置。
  6. 前記判定部で用いられる前記所定の条件は、前記特定のリクエストの送信日時の間隔短く、前記特定のリクエストの送信元アドレスの種類が多いほど満たされやすいことを特徴とする請求項1から3のいずれか1項に記載の学習装置。
  7. 学習装置で実行される再学習要否判定方法であって、
    サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出工程と、
    前記抽出工程によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定工程と、
    を含んだことを特徴とする再学習要否判定方法。
  8. コンピュータに、
    サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出ステップと、
    前記抽出ステップによって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定ステップと、
    を実行させることを特徴とする再学習要否判定プログラム。
JP2019502897A 2017-03-03 2018-02-20 学習装置、再学習要否判定方法及び再学習要否判定プログラム Active JP6714143B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017041123 2017-03-03
JP2017041123 2017-03-03
PCT/JP2018/005962 WO2018159380A1 (ja) 2017-03-03 2018-02-20 学習装置、再学習要否判定方法及び再学習要否判定プログラム

Publications (2)

Publication Number Publication Date
JPWO2018159380A1 JPWO2018159380A1 (ja) 2019-06-27
JP6714143B2 true JP6714143B2 (ja) 2020-06-24

Family

ID=63370971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502897A Active JP6714143B2 (ja) 2017-03-03 2018-02-20 学習装置、再学習要否判定方法及び再学習要否判定プログラム

Country Status (3)

Country Link
US (1) US11233809B2 (ja)
JP (1) JP6714143B2 (ja)
WO (1) WO2018159380A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198443A (ja) * 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd 基地局装置、通信端末装置及び無線通信方法
KR100468232B1 (ko) * 2002-02-19 2005-01-26 한국전자통신연구원 분산된 침입탐지 에이전트와 관리자 시스템을 이용한네트워크 기반 침입자 역추적 시스템 및 그 방법
US7752662B2 (en) * 2004-02-20 2010-07-06 Imperva, Inc. Method and apparatus for high-speed detection and blocking of zero day worm attacks
US7831586B2 (en) * 2006-06-09 2010-11-09 Ebay Inc. System and method for application programming interfaces for keyword extraction and contextual advertisement generation
JP4664257B2 (ja) * 2006-09-06 2011-04-06 富士通株式会社 攻撃検出システム及び攻撃検出方法
KR100922582B1 (ko) * 2007-07-20 2009-10-21 한국전자통신연구원 중심점 분할 기법을 이용한 로그 기반의 역추적 시스템 및방법
US8650648B2 (en) * 2008-03-26 2014-02-11 Sophos Limited Method and system for detecting restricted content associated with retrieved content
US9668156B2 (en) * 2012-07-23 2017-05-30 Lg Electronics Inc. Method for reporting combined measurement results in wireless communication system and apparatus for supporting same
US10243982B2 (en) 2014-06-06 2019-03-26 Nippon Telegraph And Telephone Corporation Log analyzing device, attack detecting device, attack detection method, and program
WO2017018377A1 (ja) * 2015-07-30 2017-02-02 日本電信電話株式会社 分析方法、分析装置、および分析プログラム
KR20180074316A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 장소 정보를 제공하기 위한 시스템 및 이를 지원하는 방법 및 전자 장치

Also Published As

Publication number Publication date
US20200252419A1 (en) 2020-08-06
US11233809B2 (en) 2022-01-25
WO2018159380A1 (ja) 2018-09-07
JPWO2018159380A1 (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
CN111935192B (zh) 网络攻击事件溯源处理方法、装置、设备和存储介质
AU2018212470B2 (en) Continuous learning for intrusion detection
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
CN111382434B (zh) 用于检测恶意文件的系统和方法
WO2019128529A1 (zh) Url攻击检测方法、装置以及电子设备
US9565209B1 (en) Detecting electronic messaging threats by using metric trees and similarity hashes
US20160072833A1 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
CN103180863A (zh) 计算机系统分析方法和装置
CN110414236B (zh) 一种恶意进程的检测方法及装置
CN111651591A (zh) 一种网络安全分析方法和装置
JP6200101B2 (ja) 分析装置、分析システム、分析方法、および、分析プログラム
Naik et al. Fuzzy-import hashing: A static analysis technique for malware detection
US20200403964A1 (en) Systems and methods for determining character entry dynamics for text segmentation
JP6505533B2 (ja) 悪質なコードの検出
CN110392032B (zh) 检测异常url的方法、装置及存储介质
RU2747464C2 (ru) Способ обнаружения вредоносных файлов на основании фрагментов файлов
JP6714143B2 (ja) 学習装置、再学習要否判定方法及び再学習要否判定プログラム
KR20180097824A (ko) 악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체
US20210168121A1 (en) Generation method, generation device, and recording medium
JP2012003463A (ja) シグネチャの生成を支援する支援装置、方法及びプログラム
WO2019225251A1 (ja) 学習方法、学習装置及び学習プログラム
KR102289408B1 (ko) 해시 코드 기반의 검색 장치 및 검색 방법
CN110197066B (zh) 一种云计算环境下的虚拟机监控方法及监控系统
JP7001180B2 (ja) フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム
JP6930667B2 (ja) 検知装置および検知プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6714143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150