JPWO2016006520A1 - 検知装置、検知方法及び検知プログラム - Google Patents

検知装置、検知方法及び検知プログラム Download PDF

Info

Publication number
JPWO2016006520A1
JPWO2016006520A1 JP2016532900A JP2016532900A JPWO2016006520A1 JP WO2016006520 A1 JPWO2016006520 A1 JP WO2016006520A1 JP 2016532900 A JP2016532900 A JP 2016532900A JP 2016532900 A JP2016532900 A JP 2016532900A JP WO2016006520 A1 JPWO2016006520 A1 JP WO2016006520A1
Authority
JP
Japan
Prior art keywords
request
unauthorized access
query
detection
service server
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
JP2016532900A
Other languages
English (en)
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 JPWO2016006520A1 publication Critical patent/JPWO2016006520A1/ja
Pending legal-status Critical Current

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
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

不正アクセス検知装置(50)の検知部(51)は、リクエスト取得部(31)が取得した、ユーザによって操作される端末からサービスを提供するサービスサーバ(10)へ送信されるリクエストに関する情報と、クエリ取得部(41)が取得した、サービスサーバ(10)からサービスに関する情報を蓄積するDB(20)へ送信されるクエリに関する情報と、の関連が正常パターンと異なる場合に、クエリをDB(20)に対する不正アクセスとして検知する。

Description

本発明は、検知装置、検知方法及び検知プログラムに関する。
従来、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つとして、WAF(Web Application Firewall)が導入されている。WAFは、クライアントとサーバの間に配置され、既知の不正アクセスのシグネチャを保持する。そして、WAFは、クライアントから送信されるリクエストをサーバに中継する際に、シグネチャにマッチするリクエストを遮断することで、サーバに対する攻撃を防ぐ。
「Web Application Firewall(WAF)読本」、[平成26年6月24日検索]、インターネット<URL:http://www.ipa.go.jp/security/vuln/waf.html>
しかしながら、従来の技術では、サーバへの未知なる不正アクセスを検知することができないという問題があった。例えば、上記のWAFでは、既知の不正アクセスのシグネチャを保持する必要があるため、まだ世に知られていない脆弱性を突く攻撃(ゼロデイ攻撃)に対応できなかった。このような攻撃が行われると、サーバが攻撃者に乗っ取られ、遠隔操作されることがある。サーバはデータベースへのアクセス権を持つため、攻撃者がサーバを遠隔操作し、データベースにアクセスすることで、データベースのデータが漏えい、改ざんされる恐れがあった。
そこで、この発明は、攻撃者からの攻撃によりサーバからデータベースに対して行われる不正アクセスを検知することを目的とする。
上述した課題を解決し、目的を達成するため、開示の検知装置は、ユーザによって操作される端末からサービスを提供するサービスサーバへ送信される第1の要求に関する第1の要求情報を取得する第1の取得部と、前記サービスサーバから前記サービスに関する情報を蓄積する蓄積装置へ送信される第2の要求に関する第2の要求情報を取得する第2の取得部と、前記第1の要求情報と前記第2の要求情報との関連が正常パターンと異なる場合に、前記第2の要求を前記蓄積装置に対する不正アクセスとして検知する検知部とを備えることを特徴とする。
本願に開示する実施形態によれば、攻撃者からの攻撃によりサーバからデータベースに対して行われる不正アクセスを検知することができるという効果を奏する。
図1は、第1の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図2は、第1の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。 図3は、第1の実施形態に係る不正アクセス検知装置による効果を説明するための図である。 図4は、第2の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。 図5は、第3の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図6は、第3の実施形態に係る本文パターン記憶部に記憶される情報の一例を示す図である。 図7は、第3の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。 図8は、第4の実施形態に係る本文パターン記憶部に記憶される情報の一例を示す図である。 図9は、第4の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。 図10は、第5の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図11は、第5の実施形態に係るセッション情報DBに記憶される情報の一例を示す図である。 図12は、第5の実施形態に係るクエリパターン記憶部に記憶される情報の一例を示す図である。 図13は、第5の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。 図14は、その他の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図15Aは、その他の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図15Bは、その他の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。 図16は、検知プログラムを実行するコンピュータを示す図である。
以下に、本願に係る検知装置、検知方法及び検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る検知装置、検知方法及び検知プログラムが限定されるものではない。
[第1の実施形態]
以下、第1の実施形態では、実施形態に係る不正アクセス検知装置の構成及び処理の流れを順に説明し、その後、不正アクセス検知装置による効果を説明する。
まず、図1を用いて、不正アクセス検知装置の構成を説明する。図1は、第1の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。図1に示すように、このシステムは、サービスサーバ10、DB(Database)20、ログ取得装置30,40、及び不正アクセス検知装置50を備える。以下に、これらの各部の処理を説明する。
サービスサーバ10は、例えば、各種のネットワークサービス(以下、単にサービスとも表記する)を提供するウェブ・アプリケーションサーバである。例えば、サービスサーバ10は、ユーザによって操作される端末(図示せず)からインターネット5を経由してリクエストを受信する。このリクエストは、例えば、HTTP(Hypertext Transfer Protocol)リクエストやHTTPS(Hypertext Transfer Protocol Secure)リクエストである。サービスサーバ10は、受信したリクエストに応じて情報処理を行い、端末へ応答する。
また、サービスサーバ10は、端末へ応答する際に、必要に応じて、データの検索や更新、削除等を要求するためのクエリを発行し、DB20へ送信する。そして、サービスサーバ10は、クエリの実行結果をDB20から受信して、端末へ応答する。
DB20は、サービスサーバ10によって提供されるサービスに関する情報を蓄積する。例えば、DB20は、サービスサーバ10からクエリを受信して、クエリに記述された処理を実行する。そして、DB20は、クエリの実行結果をサービスサーバ10へ送信する。なお、DB20に保持される情報は、SQL形式に限らず、KVS(Key-Value Store)形式で管理されても良い。この場合、サービスサーバ10からDB20へ送信される要求は、クエリではなくKVS形式で記述される。また、DB20は、蓄積装置の一例である。
ログ取得装置30,40は、通信に関するログを取得し、記録する。例えば、ログ取得装置30は、サービスサーバ10がインターネット5を経由してやり取りされる通信のログを取得し、記録する。また、ログ取得装置40は、サービスサーバ10とDB20との間でやり取りされる通信のログを取得し、記録する。なお、ログ取得装置30,40は、例えば、NTP(Network Time Protocol)等によって時刻の同期が行われている。また、リクエストとしてHTTPSリクエストが用いられる場合には、リクエストの本文が暗号化されることになるが、ログ取得装置30をサービスサーバ10のリバースプロキシとすることで、ログ取得装置30側でリクエストを復号化することができるので、リクエスト情報を不正アクセス検知装置50に送信可能となる。
また、ログ取得装置30は、リクエスト取得部31を備え、ログ取得装置40は、クエリ取得部41を備える。
リクエスト取得部31は、端末からサービスサーバ10へ送信されるリクエストに関する情報であるリクエスト情報を取得する。そして、リクエスト取得部31は、取得したリクエスト情報を不正アクセス検知装置50へ送信する。不正アクセス検知装置50へ送信されたリクエスト情報は、不正アクセス検知装置50内部の所定の記憶部(図示せず)に記録される。なお、リクエスト取得部31は、第1の取得部の一例である。
例えば、リクエスト取得部31は、リクエスト情報として、少なくとも、リクエストがサービスサーバ10に受信された受信時刻を取得する。そして、リクエスト取得部31は、受信時刻を取得するごとに、取得した受信時刻を不正アクセス検知装置50へ送信し、記憶部に記録させる。なお、リクエスト取得部31は、リクエストの受信時刻に限らず、リクエストの本文や送信元ユーザのIP(Internet Protocol)アドレスを取得し、不正アクセス検知装置50へ送信しても良い。
クエリ取得部41は、サービスサーバ10からDB20へ送信されるクエリに関する情報であるクエリ情報を取得する。そして、クエリ取得部41は、取得したクエリ情報を不正アクセス検知装置50へ送信する。不正アクセス検知装置50へ送信されたクエリ情報は、不正アクセス検知装置50内部の所定の記憶部(図示せず)に記録される。なお、クエリ取得部41は、第2の取得部の一例である。
例えば、クエリ取得部41は、クエリ情報として、少なくとも、クエリがDB20に受信された受信時刻を取得する。そして、クエリ取得部41は、受信時刻を取得するごとに、取得した受信時刻を不正アクセス検知装置50へ送信し、記憶部に記録させる。なお、クエリ取得部41は、クエリの受信時刻に限らず、クエリの本文や送信元サーバのIPアドレスを取得し、不正アクセス検知装置50へ送信しても良い。
不正アクセス検知装置50は、不正アクセスを検知する。例えば、不正アクセス検知装置50は、インターネット5からDB20までの間でやり取りされる情報を監視して、DB20に対する不正アクセスを検知する。不正アクセス検知装置50は、検知部51を備える。
検知部51は、リクエスト情報とクエリ情報との関連が正常パターンと異なる場合に、そのクエリをDB20に対する不正アクセスとして検知する。例えば、検知部51は、リクエストの受信時刻とクエリの受信時刻とを比較し、クエリの受信時刻から所定時間前までの間にリクエストが受信されていなければ、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。
ここで、上記のように不正アクセスを検知するのは、リクエスト情報とクエリ情報との関連として、サービスサーバ10によってクエリが発行される前にリクエストがサービスサーバ10に受信されているという正常パターンがあるからである。言い換えると、このリクエストが受信されていないにもかかわらず、クエリがDB20に受信されている場合には、そのクエリは不正アクセスと考えられる。例えば、リクエスト受信からクエリ送信までの平均時間が0.1秒であるサービスサーバ10であれば、クエリの受信時刻の1秒前からクエリの受信時刻までの1秒間にリクエストが受信されているのが正常パターンである。この場合、検知部51は、クエリの受信時刻から1秒前までの間にリクエストが受信されていなければ、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。なお、ここでは所定時間が1秒である場合を説明したが、この値は、サービスサーバ10等の性能(若しくはDB20の負荷状況、ネットワークの輻輳状況等)に応じて不正アクセス検知装置50の管理者が任意に設定可能である。
次に、図2を用いて、不正アクセス検知装置50における処理の流れを説明する。図2は、第1の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。
図2に示すように、不正アクセス検知装置50の検知部51は、処理タイミングになると(ステップS101Yes)、処理を開始する。例えば、検知部51は、ログ取得装置40からクエリを取得したことを契機として、処理を開始する。なお、処理タイミングになるまで(ステップS101No)、検知部51は、待機状態である。
続いて、検知部51は、クエリの受信時刻から所定時間前までの間にリクエストが受信されたか否かを判定する(ステップS102)。例えば、検知部51は、DB20に受信されたクエリの受信時刻が8時22分10秒であれば、8時22分9秒から10秒までの間に、サービスサーバ10にリクエストが受信されていたか否かを判定する。ここで、クエリの受信時刻から所定時間前までの間にリクエストが受信されていた場合には(ステップS102Yes)、検知部51は、そのクエリが不正アクセスではないと判定する(ステップS103)。
一方、クエリの受信時刻から所定時間前までの間にリクエストが受信されていなかった場合には(ステップS102No)、検知部51は、そのクエリが不正アクセスであると判定する(ステップS104)。
なお、図2の例は一例に過ぎない。例えば、検知部51は、所定の間隔(例えば、1秒間隔)で図2の処理を開始しても良い。この場合、前回の処理終了後から現在(今回の処理開始時点)までに取得した全てのクエリについて、上記の処理(ステップS102〜S104)が実行される。
第1の実施形態に係る不正アクセス検知装置50は、端末からサービスサーバ10へ送信されるリクエストに関するリクエスト情報を取得する。そして、不正アクセス検知装置50は、サービスサーバ10からDB20へ送信されるクエリに関するクエリ情報を取得する。そして、不正アクセス検知装置50は、リクエスト情報とクエリ情報との関連が、クエリが発行されるリクエストの正常パターンと異なる場合に、そのクエリをDB20に対する不正アクセスとして検知する。このため、不正アクセス検知装置50は、攻撃者からの攻撃によりサーバからデータベースに対して行われる不正アクセスを検知することができる。
図3は、第1の実施形態に係る不正アクセス検知装置による効果を説明するための図である。図3に示すように、ゼロデイ攻撃によりサーバの遠隔操作に成功した攻撃者は、サービスサーバ10を遠隔操作して(1)、DB20へクエリを発行させることで(2)、DB20に記憶されている情報を収集・改ざんする。ここで、通常であれば、ユーザは、サービスサーバ10に対してリクエストを送信し(3)、DB20へクエリが発行されることで(4)、DB20に記憶されている情報にアクセスする。第1の実施形態に係る不正アクセス検知装置50は、この通常時のリクエストとクエリとの関連、すなわち正常パターンに基づいて、そのクエリが正常なものか否かを判定する。このため、不正アクセス検知装置50は、ゼロデイ攻撃に対しても対処することが可能となる。例えば、WAFを通過した攻撃者がサービスサーバ10に不正なクエリを発行させたとしても、そのクエリがユーザからのリクエストに基づかないものであれば、不正アクセスとして検知することができる。また、検知時刻周辺のアクセスログを公知の手段で自動的/手動的に調査することにより、攻撃者を特定することも可能となる。
また、例えば、第1の実施形態に係る不正アクセス検知装置50は、リクエスト情報及びクエリ情報を、サービスサーバ10とは異なる個別のログ取得装置30,40から取得する。これによれば、仮にサービスサーバ10が未知の攻撃者によって乗っ取られた場合にも、リクエスト情報及びクエリ情報を取得できるので、不正アクセスを検知することが可能となる。
[第2の実施形態]
上記の第1の実施形態では、クエリの受信時刻から所定時間前までの間にリクエストが受信されているという正常パターンに基づいて、不正アクセスを検知する場合を説明したが、実施形態はこれに限定されるものではない。例えば、不正アクセス検知装置50が適用されるシステムによっては、所定期間におけるリクエストの数に対するクエリの数の比率がほぼ一定であるというパターンを有する場合がある。このようなシステムに不正アクセス検知装置50が適用される場合には、不正アクセス検知装置50は、このパターンを正常パターンとして、不正アクセスを検知しても良い。そこで、第2の実施形態では、不正アクセス検知装置50が、所定期間におけるリクエストの数に対するクエリの数の比率が閾値を超えていれば、それらのクエリを不正アクセスとして検知する場合を説明する。
第2の実施形態に係る不正アクセス検知装置50は、図1に示した不正アクセス検知装置50と同様の構成を備えるが、検知部51における処理の一部が相違する。なお、第2の実施形態では、第1の実施形態と相違する点を中心に説明することとし、第1の実施形態において説明した構成と同様の機能を有する点については、説明を省略する。
第2の実施形態に係る検知部51は、所定期間に受信されたリクエストの数とクエリの数とをそれぞれ計数し、リクエストの数に対するクエリの数の比率が所定の閾値を超えていれば、正常パターンと異なるものとして、それらのクエリを不正アクセスとして検知する。
ここで、上記のように不正アクセスを検知するのは、システムによっては、リクエスト情報とクエリ情報との関連として、所定期間におけるリクエストの数に対するクエリの数の比率(以下、クエリ発行率とも表記する)がほぼ一定であるという正常パターンがあるからである。言い換えると、同一の期間におけるリクエストの数に対してクエリの数が多すぎる場合には、それらのクエリの中に不正アクセスが含まれると考えられる。例えば、クエリ発行率が0.1程度(10個のリクエストに対して1個のクエリが発行される)であるサービスサーバ10において、クエリ発行率が0.3程度に増加した期間があれば、検知部51は、正常パターンと異なるものとして、その期間に発行されたクエリの中に不正アクセスによるものが存在したと検知する。なお、ここでは閾値が0.3である場合を説明したが、この値は、不正アクセス検知装置50の管理者が任意に設定可能である。
次に、図4を用いて、第2の実施形態に係る不正アクセス検知装置50における処理の流れを説明する。図4は、第2の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。
図4に示すように、不正アクセス検知装置50の検知部51は、処理タイミングになると(ステップS201Yes)、処理を開始する。例えば、検知部51は、所定の間隔(例えば、1秒間隔)で処理を開始する。なお、処理タイミングになるまで(ステップS201No)、検知部51は、待機状態である。
続いて、検知部51は、所定期間に受信されたリクエストの数とクエリの数とをそれぞれ計数する(ステップS202)。例えば、検知部51は、直前の1秒間に、サービスサーバ10が受信したリクエストの数と、同じ時間にDB20が受信したクエリの数とをそれぞれ計数する。
そして、検知部51は、所定期間におけるクエリ発行率が閾値未満か否かを判定する(ステップS203)。例えば、ステップS202において計数したリクエストの数が「100」であり、クエリの数が「50」であれば、検知部51は、クエリ発行率は「0.5」であると算出する。そして、検知部51は、算出したクエリ発行率「0.5」が閾値未満か否かを判定する。ここで、所定期間におけるクエリ発行率が閾値未満である場合には(ステップS203Yes)、検知部51は、その期間のクエリは不正アクセスではないと判定する(ステップS204)。
一方、所定期間におけるクエリ発行率が閾値以上である場合には(ステップS203No)、検知部51は、その期間のクエリが不正アクセスであると判定する(ステップS205)。
なお、図4の例は一例に過ぎない。例えば、処理を開始する間隔や、リクエスト及びクエリを計数する期間、閾値は、不正アクセス検知装置50の管理者によって適宜変更されて良い。
第2の実施形態に係る不正アクセス検知装置50は、所定期間に受信されたリクエストの数とクエリの数とをそれぞれ計数し、リクエストの数に対するクエリの数の比率が所定の閾値を超えていれば、正常パターンと異なるものとして、それらのクエリの中に不正アクセスによるものが存在したと検知する。このため、不正アクセス検知装置50は、攻撃者からの攻撃によりサーバからデータベースに対して行われる不正アクセスを検知することができる。例えば、不正アクセス検知装置50は、秒間100リクエストを受信するような大規模なシステムにおいても、不正なクエリを検知することができる。
[第3の実施形態]
また、例えば、不正アクセス検知装置50は、リクエストの本文のパターンに対応する本文のパターンのクエリが発行されるという正常パターンに基づいて、不正アクセスを検知しても良い。
図5は、第3の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。第3の実施形態に係る不正アクセス検知装置50は、図1に示した不正アクセス検知装置50と基本的に同様の構成を備えるが、リクエスト取得部31、クエリ取得部41、及び検知部51における処理の一部と、本文パターン記憶部52を有する点とが相違する。なお、第3の実施形態では、第1の実施形態と相違する点を中心に説明することとし、第1の実施形態において説明した構成と同様の機能を有する点については、図5の各構成要素に図1と同一の符号を付し、説明を省略する。
第3の実施形態に係るリクエスト取得部31は、リクエスト情報として、少なくとも、リクエストの受信時刻と、リクエストの本文とを取得し、不正アクセス検知装置50へ送信する。
第3の実施形態に係るクエリ取得部41は、クエリ情報として、少なくとも、クエリの受信時刻と、クエリの本文とを取得し、不正アクセス検知装置50へ送信する。
第3の実施形態に係る本文パターン記憶部52は、リクエストの本文のパターンと、クエリの本文のパターンとが対応づけられた情報を記憶する。ここで、リクエストの本文のパターンは、リクエストの文字列のうち、ログイン用のリクエストやデータ登録用のリクエスト等、リクエストの種類に応じて予め決められた部分の文字列がパターン化されたものである。また、クエリの本文のパターンは、対応するリクエストがサービスサーバ10に受信された場合に、サービスサーバ10からDB20に送信されるクエリの文字列のうち、リクエストの種類に応じて予め決められた部分の文字列がパターン化されたものである。なお、本文パターン記憶部52に記憶される情報は、不正アクセス検知装置50の管理者によって予め登録されるものとする。
図6は、第3の実施形態に係る本文パターン記憶部に記憶される情報の一例を示す図である。図6に示すように、本文パターン記憶部52は、例えば、クエリの本文のパターン「SELECT * FROM user WHERE id = ? AND pass = ?」と、リクエストの本文のパターン「URL=“http://www.xxx.co.jp/login.jsp”」とが対応づけられた情報を記憶する。なお、図6において、「?」は、任意の文字列である。
第3の実施形態に係る検知部51は、本文パターン記憶部52を参照し、クエリ取得部41によって取得されたクエリの本文のパターンに対応する本文のパターンのリクエストが、そのクエリの受信時刻から所定時間前までの間に受信されていなければ、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。
ここで、上記のように不正アクセスを検知するのは、例えば、ログイン用のリクエストが受信されればログイン認証用のクエリが発行されるように、リクエスト情報とクエリ情報との関連として、リクエストの本文のパターンに対応する本文のパターンのクエリが発行されるという正常パターンがあるからである。言い換えると、DB20へ送信されたクエリの本文のパターンに対応する本文のパターンのリクエストがサービスサーバ10に受信されていなければ、そのクエリは不正アクセスと考えられる。例えば、クエリの受信時刻から1秒前までの間にリクエストが受信されていたとしても、それらの本文のパターンが対応していない場合には、検知部51は、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。
次に、図7を用いて、第3の実施形態に係る不正アクセス検知装置50における処理の流れを説明する。図7は、第3の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。
図7に示すように、不正アクセス検知装置50の検知部51は、処理タイミングになると(ステップS301Yes)、処理を開始する。例えば、検知部51は、ログ取得装置40からクエリを取得したことを契機として、処理を開始する。なお、処理タイミングになるまで(ステップS301No)、検知部51は、待機状態である。
続いて、検知部51は、取得したクエリの本文のパターンに対応する本文のパターンのリクエストが、クエリの受信時刻から所定時間前までの間に受信されていたか否かを判定する(ステップS302)。例えば、検知部51は、ログイン認証用のクエリが8時22分10秒に受信されていれば、8時22分9秒から10秒までの間に、ログイン用のリクエストがサービスサーバ10に受信されていたか否かを判定する。ここで、該当のリクエストが受信されていた場合には(ステップS302Yes)、検知部51は、取得したクエリが不正アクセスではないと判定する(ステップS303)。
一方、該当のリクエストが受信されていなかった場合には(ステップS302No)、検知部51は、取得したクエリが不正アクセスであると判定する(ステップS304)。
なお、図7の例は一例に過ぎない。例えば、検知部51は、所定の間隔(例えば、1秒間隔)で図7の処理を開始しても良い。この場合、前回の処理終了後から現在(今回の処理開始時点)までに取得した全てのクエリについて、上記の処理(ステップS302〜S304)が実行される。
第3の実施形態に係る不正アクセス検知装置50は、クエリ取得部41によって取得されたクエリの本文のパターンに対応する本文のパターンのリクエストが、そのクエリの受信時刻から所定時間前までの間に受信されていなければ、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。このため、不正アクセス検知装置50は、攻撃者からの攻撃によりサーバからデータベースに対して行われる不正アクセスを検知することができる。
例えば、不正アクセス検知装置50は、クエリの受信時刻から1秒前までの間にリクエストが受信されていたとしても、それらの本文のパターンが対応していない場合には、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。このため、不正アクセス検知装置50は、不正アクセスを正確に検知することができる。
[第4の実施形態]
上記の第2の実施形態では、所定期間におけるリクエストの数に対するクエリの数の比率が閾値を超えていれば、それらのクエリの中に不正アクセスによるものが存在したと検知する場合を説明したが、実施形態はこれに限定されるものではない。例えば、不正アクセス検知装置50は、更に、リクエスト及びクエリの本文のパターンを用いて不正アクセスを検知しても良い。
第4の実施形態に係る不正アクセス検知装置50は、図5に示した不正アクセス検知装置50と同様の構成を備えるが、本文パターン記憶部52に記憶される情報の一部と、検知部51における処理の一部とが相違する。なお、第4の実施形態では、第3の実施形態と相違する点を中心に説明することとし、第3の実施形態において説明した構成と同様の機能を有する点については、説明を省略する。
第4の実施形態に係る本文パターン記憶部52は、リクエストの本文のパターンと、クエリの本文のパターンと、閾値とが対応づけられた情報を記憶する。閾値は、例えば、クエリ発行率に基づいて決定される値である。
図8は、第4の実施形態に係る本文パターン記憶部に記憶される情報の一例を示す図である。図8に示すように、本文パターン記憶部52は、例えば、クエリの本文のパターン「SELECT * FROM user WHERE id = ? AND pass = ?」と、リクエストの本文のパターン「URL=“http://www.xxx.co.jp/login.jsp”」と、クエリ発行率の閾値「0.2」とが対応づけられた情報を記憶する。なお、図8において、「?」は、任意の文字列である。
第4の実施形態に係る検知部51は、本文パターン記憶部52を参照し、所定期間に受信された所定の本文のパターンのクエリの数と、同じ期間に受信された所定の本文のパターンに対応するリクエストの数とをそれぞれ計数する。そして、検知部51は、リクエストの数に対するクエリの数の比率(クエリ発行率)が所定の本文のパターンに対応する閾値を超えていれば、正常パターンと異なるものとして、その期間に含まれるクエリを不正アクセスとして検知する。
ここで、上記のように不正アクセスを検知するのは、所定期間におけるクエリ発行率が正常パターンに該当する場合であっても、それらの期間のクエリが不正アクセスでないとは限らないからである。例えば、不正アクセスが行われていたとしても、その期間にクエリ発行を伴わないリクエストが増加していれば、見かけのクエリ発行率には顕著な変化が見られないと考えられる。このため、第4の実施形態では、クエリ発行率の正常パターンに加えて、リクエスト及びクエリの本文のパターンにおける正常パターンについても考慮することで、不正アクセスを正確に検知することを可能にする。なお、第2の実施形態で説明したように、クエリ発行率の閾値は、不正アクセス検知装置50の管理者が任意に設定可能である。
次に、図9を用いて、第4の実施形態に係る不正アクセス検知装置50における処理の流れを説明する。図9は、第4の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。
図9に示すように、不正アクセス検知装置50の検知部51は、処理タイミングになると(ステップS401Yes)、処理を開始する。例えば、検知部51は、所定の間隔(例えば、1秒間隔)で処理を開始する。なお、処理タイミングになるまで(ステップS401No)、検知部51は、待機状態である。
続いて、検知部51は、所定期間に受信された各本文のパターンのリクエストの数と、所定期間に受信された各本文のパターンのクエリの数とをそれぞれ計数する(ステップS402)。例えば、検知部51は、直前の1秒間に、サービスサーバ10が受信したログイン用のリクエストの数と、同じ時間にDB20が受信したログイン認証用のクエリの数とをそれぞれ計数する。
そして、検知部51は、所定期間における各本文のパターンのクエリ発行率が閾値未満か否かを判定する(ステップS403)。例えば、ステップS402において計数したリクエストの数が「10」であり、クエリの数が「5」であれば、検知部51は、クエリ発行率は「0.5」であると算出する。そして、検知部51は、算出したクエリ発行率「0.5」が閾値未満か否かを判定する。ここで、所定期間における各本文のパターンのクエリ発行率が閾値未満である場合には(ステップS403Yes)、検知部51は、その期間のクエリは不正アクセスではないと判定する(ステップS404)。
一方、所定期間における各本文のパターンのクエリ発行率が閾値以上である場合には(ステップS403No)、検知部51は、その期間におけるその本文のパターンのクエリが不正アクセスであると判定する(ステップS405)。
なお、図9の例は一例に過ぎない。例えば、処理を開始する間隔や、リクエスト及びクエリを計数する期間、閾値は、不正アクセス検知装置50の管理者によって適宜変更されて良い。
第4の実施形態に係る不正アクセス検知装置50は、本文パターン記憶部52を参照し、所定期間に受信された所定の本文のパターンのクエリの数と、同じ期間に受信された所定の本文のパターンに対応するリクエストの数とをそれぞれ計数する。そして、検知部51は、リクエストの数に対するクエリの数の比率(クエリ発行率)が所定の本文のパターンに対応する閾値を超えていれば、正常パターンと異なるものとして、その期間に含まれるクエリを不正アクセスとして検知する。このため、不正アクセス検知装置50は、DB20への未知なる不正アクセスを検知することができる。例えば、不正アクセス検知装置50は、秒間100リクエストを受信するような大規模なシステムにおいても、不正なクエリを正確に検知することができる。
[第5の実施形態]
第5の実施形態では、実際にサービスサーバ10に接続しているユーザの端末の情報を用いて、不正アクセスを検知する場合を説明する。
図10は、第5の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。第5の実施形態に係る不正アクセス検知装置50が適用されるシステムは、図1に示した不正アクセス検知装置50と基本的に同様の構成を備えるが、リクエスト取得部31、クエリ取得部41、及び検知部51における処理の一部と、クエリパターン記憶部53及びセッション情報DB60を備える点とが相違する。なお、第5の実施形態では、第1の実施形態と相違する点を中心に説明することとし、第1の実施形態において説明した構成と同様の機能を有する点については、図10の各構成要素に図1と同一の符号を付し、説明を省略する。
第5の実施形態に係るリクエスト取得部31は、リクエスト情報として、少なくとも、リクエストの受信時刻と、リクエストの本文とを取得し、不正アクセス検知装置50へ送信する。
第5の実施形態に係るクエリ取得部41は、クエリ情報として、少なくとも、クエリの受信時刻と、クエリの本文とを取得し、不正アクセス検知装置50へ送信する。
第5の実施形態に係るセッション情報DB60は、サービスサーバ10に接続しているユーザの端末に関する情報を記憶する。例えば、セッション情報DB60は、セッションIDと、ユーザIDとが対応づけられた情報を記憶する。セッションIDは、サービスサーバ10に接続している端末を識別するための情報である。また、ユーザIDは、サービスサーバ10によって提供されるサービスを利用するユーザを識別するための情報である。
図11は、第5の実施形態に係るセッション情報DBに記憶される情報の一例を示す図である。図11に示すように、セッション情報DB60は、例えば、セッションID「31a9eab98d33bb24c」と、ユーザID「suzuki_taro」とが対応づけられた情報を記憶する。なお、セッション情報DB60に記憶される情報は、例えば、ユーザの端末とサービスサーバ10との間でセッションが確立される際に、サービスサーバ10によって登録される。
第5の実施形態に係るクエリパターン記憶部53は、クエリの本文のパターンと、ユーザIDを記憶する変数名とが対応づけられた情報を記憶する。ユーザIDを記憶する変数名は、対応する本文のパターンのクエリにおいて、ユーザIDが記述されている箇所を示す情報である。
図12は、第5の実施形態に係るクエリパターン記憶部に記憶される情報の一例を示す図である。図12に示すように、クエリパターン記憶部53は、例えば、クエリの本文のパターン「SELECT ? FROM user WHERE id=?」と、ユーザIDを記憶する変数名「id」とが対応づけられた情報を記憶する。なお、クエリパターン記憶部53に記憶される情報は、例えば、不正アクセス検知装置50の管理者によって予め登録される。また、図12において、「?」は、任意の文字列である。
第5の実施形態に係る検知部51は、クエリに含まれるユーザIDからセッションIDを特定し、特定したセッションIDを含むリクエストが、そのクエリの受信時刻から所定時間前までの間に受信されていなければ、正常パターンと異なるものとして、そのクエリを不正アクセスとして検知する。
ここで、上記のように不正アクセスを検知するのは、リクエスト情報とクエリ情報との関連として、クエリから特定されるユーザのセッションIDは、そのクエリを発行するために送信されたリクエストに含まれるセッションIDと一致するという正常パターンがあるからである。これにより、検知部51は、より確実に、不正アクセスを検知することができる。なお、通常、セッションIDは、HTTPリクエストの本文において、クッキーあるいはURL(Uniform Resource Locator)部に記載されている。
次に、図13を用いて、第5の実施形態に係る不正アクセス検知装置50における処理の流れを説明する。図13は、第5の実施形態に係る不正アクセス検知装置における処理の流れを示すフローチャートである。なお、図13の例では、取得したクエリの本文が、「SELECT creditcard FROM user WHERE id= suzuki_taro」である場合を説明する。
図13に示すように、不正アクセス検知装置50の検知部51は、処理タイミングになると(ステップS501Yes)、処理を開始する。例えば、検知部51は、所定の間隔(例えば、1秒間隔)で処理を開始する。なお、処理タイミングになるまで(ステップS501No)、検知部51は、待機状態である。
続いて、検知部51は、クエリパターン記憶部53を参照し、取得したクエリからユーザIDを抽出する(ステップS502)。例えば、検知部51は、クエリパターン記憶部53を参照し、取得したクエリの本文に対応する本文のパターンを特定する。ここでは、受信したクエリの本文が「SELECT creditcard FROM user WHERE id= suzuki_taro」であるので、検知部51は、クエリの本文のパターンとして「SELECT ? FROM user WHERE id=?」を特定する。続いて、検知部51は、特定した本文のパターンに対応するユーザIDを記憶する変数名を取得する。図12に示す例では、クエリの本文のパターン「SELECT ? FROM user WHERE id=?」に対応するユーザIDを記憶する変数名は「id」であるので、検知部51は、「id」を取得する。そして、検知部51は、取得したユーザIDを記憶する変数名を用いて、クエリの本文からユーザIDを抽出する。クエリの本文において、「id」に記述されているのは「suzuki_taro」であるので、検知部51は、クエリの本文から「suzuki_taro」をユーザIDとして抽出する。
続いて、検知部51は、セッション情報DBを参照し、ユーザIDに対応するセッションIDを取得する(ステップS503)。例えば、検知部51は、セッション情報DB60を参照し、ステップS502において抽出したユーザID「suzuki_taro」に対応するセッションID「31a9eab98d33bb24c」を取得する。
そして、検知部51は、セッションIDを含むリクエストがクエリの受信時刻から所定時間前までの間に受信されていたか否かを判定する(ステップS504)。例えば、検知部51は、DB20に受信されたクエリの受信時刻が8時22分10秒であれば、8時22分9秒から10秒までの間に、セッションID「31a9eab98d33bb24c」を含むリクエストがサービスサーバ10に受信されていたか否かを判定する。ここで、該当のリクエストが、クエリの受信時刻から所定時間前までの間に受信されていた場合には(ステップS504Yes)、検知部51は、そのクエリが不正アクセスではないと判定する(ステップS505)。
一方、該当のリクエストが、クエリの受信時刻から所定時間前までの間に受信されていない場合には(ステップS504No)、検知部51は、そのクエリが不正アクセスであると判定する(ステップS506)。
なお、図13の例は一例に過ぎない。例えば、検知部51は、ログ取得装置40からクエリを取得したことを契機として、図13の処理を開始しても良い。
第5の実施形態に係る不正アクセス検知装置50は、実際にサービスサーバ10に接続しているユーザの端末の情報を用いて、不正アクセスを検知する。このため、不正アクセス検知装置50は、より確実に、不正アクセスを検知することができる。例えば、仮に、秒間1000リクエストのような大規模なシステムであっても、不正アクセス検知装置50は、高精度に不正アクセスを検知することができる。
[その他の実施形態]
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されて良いものである。
[負荷分散装置への適用]
例えば、上述した第1〜第5の実施形態では、サービスサーバ10が単独で機能する場合を説明したが、複数のサービスサーバ10が配置され、負荷分散している場合であっても適用可能である。
図14は、その他の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。図14に示すように、このシステムでは、サービスを提供するために、3つのサービスサーバ10A,10B,10Cを備える。
この場合、ログ取得装置30は、LB(Load Balancer)として機能する。例えば、ログ取得装置30は、ユーザの端末から送信されたリクエストをサービスサーバ10A,10B,10Cのいずれかに転送する場合に、各サービスサーバ10A,10B,10Cの負荷状況を参照した上で、負荷の少ないところへ転送する。また、リクエスト取得部31は、リクエスト情報として、更に、リクエストの送信先のサービスサーバのアドレスを取得し、不正アクセス検知装置50へ送信する。また、クエリ取得部41は、クエリ情報として、更に、クエリの送信元のサービスサーバのアドレスを取得し、不正アクセス検知装置50へ送信する。
そして、検知部51は、取得したリクエスト及びクエリのアドレスごとに、不正アクセスを検知する処理を行う。例えば、検知部51は、取得したクエリの送信元がサービスサーバ10Aであれば、送信先のアドレスがサービスサーバ10Aであるリクエストが、そのクエリの受信時刻から所定時間前までの間に含まれるか否かを判定する。言い換えると、検知部51は、取得したクエリの送信元がサービスサーバ10Aであれば、送信先のアドレスがサービスサーバ10B,10Cであるリクエストについては処理対象とはせずに、不正アクセスの検知処理を行う。このため、不正アクセス検知装置50は、未知なる不正アクセスをより正確に検知することが可能となる。
このように、サービスサーバ10が複数存在する場合に、DB20へのクエリとリクエストの対応を経由サーバ毎に分類することで、検出力を向上させることが可能となる。例えば、上述した第1,3,5の実施形態に適用する場合には、ログ取得装置30がリクエストを振り分けたサービスサーバと、クエリを発行したサービスサーバとが異なる場合に、不正アクセスを検知可能となる。また、第2,4の実施形態に適用する場合には、ログ取得装置30が振り分けたあるサービスサーバへのHTTPリクエストの数と、そのサービスサーバからのクエリの発行数の割合が、サービスサーバ毎に大きく異なることで、不正アクセスを検知可能となる。特に、その割合が一部のサービスサーバにおいて突出している場合、そのサービスサーバが乗っ取られ、不正なクエリが発行されている可能性が高いということを検知することが可能となる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
図15A及び図15Bは、その他の実施形態に係る不正アクセス検知装置が適用されるシステムの概要を示す構成図である。例えば、図15Aに示すように、不正アクセス検知装置50は、検知部51に加えて、リクエスト取得部31及びクエリ取得部41を備えていても良い。この場合、リクエスト取得部31は、サービスサーバ10からリクエスト情報を取得し、クエリ取得部41は、DB20からクエリ情報を取得する。
また、例えば、図15Bに示すように、不正アクセス検知装置50は、サービスサーバ10とインターネット5との間、及び、サービスサーバ10とDB20との間の通信を中継するように構成されても良い。言い換えると、サービスサーバ10及びDB20は、不正アクセス検知装置50を介してインターネット5に接続される。
なお、図15A及び図15Bの例は一例に過ぎない。例えば、リクエスト取得部31、クエリ取得部41、及び検知部51が一つの装置に備えられていなくても良く、いずれかが別装置として分離して構成されても良い。一例としては、リクエスト取得部31が、不正アクセス検知装置50とは別装置として(例えば、図1のログ取得装置30として)、サービスサーバ10とインターネット5との間の通信を中継するように構成されても良い。この場合、不正アクセス検知装置50は、クエリ取得部41及び検知部51を備える。このように、リクエスト取得部31、クエリ取得部41、及び検知部51は、任意に組み合わせて構成されても良い。
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
また、上記実施形態において説明した検知装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る検知装置が実行する処理について、コンピュータが実行可能な言語で記述した検知プログラムを作成することもできる。この場合、コンピュータが検知プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる検知プログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録された検知プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図1に示した検知装置と同様の機能を実現する検知プログラムを実行するコンピュータの一例を説明する。
図16は、検知プログラムを実行するコンピュータを示す図である。図16に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図16に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図16に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図16に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。
ここで、図16に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の検知プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各手順を実行する。
なお、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
これらの実施形態やその変形は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
5 インターネット
10 サービスサーバ
20 DB
30,40 ログ取得装置
31 リクエスト取得部
41 クエリ取得部
50 不正アクセス検知装置
51 検知部

Claims (8)

  1. ユーザによって操作される端末からサービスを提供するサービスサーバへ送信される第1の要求に関する第1の要求情報を取得する第1の取得部と、
    前記サービスサーバから前記サービスに関する情報を蓄積する蓄積装置へ送信される第2の要求に関する第2の要求情報を取得する第2の取得部と、
    前記第1の要求情報と前記第2の要求情報との関連が正常パターンと異なる場合に、前記第2の要求を前記蓄積装置に対する不正アクセスとして検知する検知部と
    を備えることを特徴とする検知装置。
  2. 前記第1の取得部は、前記第1の要求情報として、前記第1の要求が前記サービスサーバに受信された第1の受信時刻を取得し、
    前記第2の取得部は、前記第2の要求情報として、前記第2の要求が前記蓄積装置に受信された第2の受信時刻を取得し、
    前記検知部は、前記第1の受信時刻と前記第2の受信時刻とを比較し、当該第2の受信時刻から所定時間前までの間に当該第1の受信時刻が含まれなければ、前記正常パターンと異なるものとして、当該第2の受信時刻に対応する前記第2の要求を前記不正アクセスとして検知することを特徴とする請求項1に記載の検知装置。
  3. 前記検知部は、所定期間に受信された前記第1の要求の数と前記第2の要求の数とをそれぞれ計数し、前記第1の要求の数に対する前記第2の要求の数の比率が所定の閾値を超えていれば、前記正常パターンと異なるものとして、当該第2の要求を前記不正アクセスとして検知することを特徴とする請求項1に記載の検知装置。
  4. 前記第1の要求の本文のパターンと、当該第1の要求が前記サービスサーバに受信された場合に送信される前記第2の要求の本文のパターンとが対応づけられた情報を記憶する記憶部を更に備え、
    前記第1の取得部は、前記第1の受信時刻を取得するとともに、前記第1の要求の本文を取得し、
    前記第2の取得部は、前記第2の受信時刻を取得するとともに、前記第2の要求の本文を取得し、
    前記検知部は、前記記憶部を参照し、前記第2の取得部によって取得された第2の要求の本文のパターンに対応する本文のパターンの第1の要求が、当該第2の要求の受信時刻から所定時間前までの間に受信されていなければ、前記正常パターンと異なるものとして、当該第2の要求を前記不正アクセスとして検知することを特徴とする請求項2に記載の検知装置。
  5. 前記第1の要求の本文のパターンと、当該第1の要求が前記サービスサーバに受信された場合に送信される前記第2の要求の本文のパターンと、閾値とが対応づけられた情報を記憶する記憶部を更に備え、
    前記第1の取得部は、前記第1の受信時刻を取得するとともに、前記第1の要求の本文を取得し、
    前記第2の取得部は、前記第2の受信時刻を取得するとともに、前記第2の要求の本文を取得し、
    前記検知部は、前記記憶部を参照し、所定期間に受信された所定の本文のパターンの第2の要求の数と、当該所定期間に受信された当該所定の本文のパターンに対応する第1の要求の数とをそれぞれ計数し、当該第1の要求の数に対する当該第2の要求の数の比率が当該所定の本文のパターンに対応する閾値を超えていれば、前記正常パターンと異なるものとして、当該第2の要求を前記不正アクセスとして検知することを特徴とする請求項3に記載の検知装置。
  6. 前記第1の取得部は、前記第1の受信時刻を取得するとともに、前記第1の要求の本文を取得し、
    前記第2の取得部は、前記第2の受信時刻を取得するとともに、前記第2の要求の本文を取得し、
    前記検知部は、前記サービスサーバに接続している前記端末を識別する接続情報を前記第2の要求に含まれる前記ユーザの情報から特定し、特定した接続情報を含む第1の要求が、当該第2の要求の受信時刻から所定時間前までの間に受信されていなければ、前記正常パターンと異なるものとして、当該第2の要求を前記不正アクセスとして検知することを特徴とする請求項2に記載の検知装置。
  7. 検知装置によって実行される検知方法であって、
    ユーザによって操作される端末からサービスを提供するサービスサーバへ送信される第1の要求に関する第1の要求情報を取得する第1の取得工程と、
    前記サービスサーバから前記サービスに関する情報を蓄積する蓄積装置へ送信される第2の要求に関する第2の要求情報を取得する第2の取得工程と、
    前記第1の要求情報と前記第2の要求情報との関連が正常パターンと異なる場合に、前記第2の要求を前記蓄積装置に対する不正アクセスとして検知する検知工程と
    を含んだことを特徴とする検知方法。
  8. ユーザによって操作される端末からサービスを提供するサービスサーバへ送信される第1の要求に関する第1の要求情報を取得する第1の取得ステップと、
    前記サービスサーバから前記サービスに関する情報を蓄積する蓄積装置へ送信される第2の要求に関する第2の要求情報を取得する第2の取得ステップと、
    前記第1の要求情報と前記第2の要求情報との関連が正常パターンと異なる場合に、前記第2の要求を前記蓄積装置に対する不正アクセスとして検知する検知ステップと
    をコンピュータに実行させることを特徴とする検知プログラム。
JP2016532900A 2014-07-07 2015-07-01 検知装置、検知方法及び検知プログラム Pending JPWO2016006520A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014139796 2014-07-07
JP2014139796 2014-07-07
PCT/JP2015/069073 WO2016006520A1 (ja) 2014-07-07 2015-07-01 検知装置、検知方法及び検知プログラム

Publications (1)

Publication Number Publication Date
JPWO2016006520A1 true JPWO2016006520A1 (ja) 2017-04-27

Family

ID=55064156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016532900A Pending JPWO2016006520A1 (ja) 2014-07-07 2015-07-01 検知装置、検知方法及び検知プログラム

Country Status (5)

Country Link
US (1) US20170155669A1 (ja)
EP (1) EP3144839A4 (ja)
JP (1) JPWO2016006520A1 (ja)
CN (1) CN106663166A (ja)
WO (1) WO2016006520A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526501A (en) 2013-03-01 2015-11-25 Redowl Analytics Inc Modeling social behavior
US20140250033A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Social behavior hypothesis testing
US11888859B2 (en) 2017-05-15 2024-01-30 Forcepoint Llc Associating a security risk persona with a phase of a cyber kill chain
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
US10803178B2 (en) 2017-10-31 2020-10-13 Forcepoint Llc Genericized data model to perform a security analytics operation
US11314787B2 (en) 2018-04-18 2022-04-26 Forcepoint, LLC Temporal resolution of an entity
KR102528258B1 (ko) * 2018-04-30 2023-05-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10949428B2 (en) 2018-07-12 2021-03-16 Forcepoint, LLC Constructing event distributions via a streaming scoring operation
US11810012B2 (en) 2018-07-12 2023-11-07 Forcepoint Llc Identifying event distributions using interrelated events
US11755584B2 (en) 2018-07-12 2023-09-12 Forcepoint Llc Constructing distributions of interrelated event features
US11436512B2 (en) 2018-07-12 2022-09-06 Forcepoint, LLC Generating extracted features from an event
US11025638B2 (en) * 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
US11811799B2 (en) 2018-08-31 2023-11-07 Forcepoint Llc Identifying security risks using distributions of characteristic features extracted from a plurality of events
US11025659B2 (en) 2018-10-23 2021-06-01 Forcepoint, LLC Security system using pseudonyms to anonymously identify entities and corresponding security risk related behaviors
US11171980B2 (en) 2018-11-02 2021-11-09 Forcepoint Llc Contagion risk detection, analysis and protection
CN111083166A (zh) * 2019-12-31 2020-04-28 紫光云(南京)数字技术有限公司 云数据库设置白名单的方法、装置及计算机存储介质
US11489862B2 (en) 2020-01-22 2022-11-01 Forcepoint Llc Anticipating future behavior using kill chains
US11630901B2 (en) 2020-02-03 2023-04-18 Forcepoint Llc External trigger induced behavioral analyses
US11080109B1 (en) 2020-02-27 2021-08-03 Forcepoint Llc Dynamically reweighting distributions of event observations
US11429697B2 (en) 2020-03-02 2022-08-30 Forcepoint, LLC Eventually consistent entity resolution
US11836265B2 (en) 2020-03-02 2023-12-05 Forcepoint Llc Type-dependent event deduplication
US11080032B1 (en) 2020-03-31 2021-08-03 Forcepoint Llc Containerized infrastructure for deployment of microservices
US11568136B2 (en) 2020-04-15 2023-01-31 Forcepoint Llc Automatically constructing lexicons from unlabeled datasets
US11516206B2 (en) 2020-05-01 2022-11-29 Forcepoint Llc Cybersecurity system having digital certificate reputation system
US11544390B2 (en) 2020-05-05 2023-01-03 Forcepoint Llc Method, system, and apparatus for probabilistic identification of encrypted files
US11895158B2 (en) 2020-05-19 2024-02-06 Forcepoint Llc Cybersecurity system having security policy visualization
JP2021189658A (ja) * 2020-05-28 2021-12-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN111859363B (zh) * 2020-06-24 2024-04-05 杭州数梦工场科技有限公司 用于识别应用未授权访问的方法、装置以及电子设备
US11663353B1 (en) * 2020-06-29 2023-05-30 United Services Automobile Association (Usaa) Systems and methods for monitoring email template usage
US11704387B2 (en) 2020-08-28 2023-07-18 Forcepoint Llc Method and system for fuzzy matching and alias matching for streaming data sets
US11190589B1 (en) 2020-10-27 2021-11-30 Forcepoint, LLC System and method for efficient fingerprinting in cloud multitenant data loss prevention
US20220400120A1 (en) * 2021-06-10 2022-12-15 Nxp B.V. Method for partitioning a plurality of devices in a communications system and a device therefor
CN114006832B (zh) * 2021-10-08 2023-03-21 福建天泉教育科技有限公司 一种检测客户端与服务端之间存在代理服务的方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136312A1 (en) * 2005-12-12 2007-06-14 Imperva, Inc System and method for correlating between http requests and sql queries
US20100333172A1 (en) * 2008-04-25 2010-12-30 Wu Jiang Method, apparatus and system for monitoring database security
JP2013143064A (ja) * 2012-01-12 2013-07-22 Kddi Corp 端末間で権限情報を中継する方法及びシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049547A1 (en) * 2007-08-13 2009-02-19 Yuan Fan System for real-time intrusion detection of SQL injection web attacks
CN101388899B (zh) * 2007-09-12 2011-07-27 北京启明星辰信息技术股份有限公司 一种Web服务器前后台关联审计方法及系统
CN101707598B (zh) * 2009-11-10 2012-12-19 成都市华为赛门铁克科技有限公司 识别洪水攻击的方法、装置及系统
CN102281298A (zh) * 2011-08-10 2011-12-14 深信服网络科技(深圳)有限公司 检测和防御cc攻击的方法及装置
US8856913B2 (en) * 2011-08-29 2014-10-07 Arbor Networks, Inc. Method and protection system for mitigating slow HTTP attacks using rate and time monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136312A1 (en) * 2005-12-12 2007-06-14 Imperva, Inc System and method for correlating between http requests and sql queries
US20100333172A1 (en) * 2008-04-25 2010-12-30 Wu Jiang Method, apparatus and system for monitoring database security
JP2013143064A (ja) * 2012-01-12 2013-07-22 Kddi Corp 端末間で権限情報を中継する方法及びシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
首藤 裕一 ほか: "HTTPリクエストとの突合に基づくデータベースへの不正クエリ検知方式", 電子情報通信学会技術研究報告, vol. Vol.114、No.207, JPN6015036629, 4 September 2014 (2014-09-04), JP, pages p.99−104 *

Also Published As

Publication number Publication date
EP3144839A4 (en) 2018-01-03
US20170155669A1 (en) 2017-06-01
WO2016006520A1 (ja) 2016-01-14
CN106663166A (zh) 2017-05-10
EP3144839A1 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
WO2016006520A1 (ja) 検知装置、検知方法及び検知プログラム
US10097520B2 (en) Method and apparatus for causing delay in processing requests for internet resources received from client devices
CN107211016B (zh) 会话安全划分和应用程序剖析器
US9112828B2 (en) Method for defending against session hijacking attacks and firewall
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
KR102580898B1 (ko) Dns 메시지를 사용하여 컴퓨터 포렌식 데이터를 선택적으로 수집하는 시스템 및 방법
US20130254870A1 (en) Detecting and Thwarting Browser-Based Network Intrusion Attacks By a Virtual Machine Monitoring System, Apparatus, and Method
US10542044B2 (en) Authentication incident detection and management
JP6524789B2 (ja) ネットワーク監視方法、ネットワーク監視プログラム及びネットワーク監視装置
CN104935551B (zh) 一种网页篡改防护装置及方法
CN111314381A (zh) 安全隔离网关
JP6502902B2 (ja) 攻撃検知装置、攻撃検知システムおよび攻撃検知方法
US10129277B1 (en) Methods for detecting malicious network traffic and devices thereof
US10218805B2 (en) Method and apparatus for causing delay in processing requests for internet resources received from client devices
JP5743822B2 (ja) 情報漏洩防止装置及び制限情報生成装置
KR101650475B1 (ko) 웹 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치
CN114760083B (zh) 一种攻击检测文件的发布方法、装置及存储介质
US10320784B1 (en) Methods for utilizing fingerprinting to manage network security and devices thereof
CN115037537A (zh) 异常流量拦截、异常域名识别方法、装置、设备及介质
KR20200006035A (ko) 제공된 구성 정보를 사용하여 트리거된 스캐닝
US10812266B1 (en) Methods for managing security tokens based on security violations and devices thereof
JP2017092755A (ja) ネットワーク監視装置及びネットワーク監視装置におけるウイルス検知方法。
JP2016157311A (ja) ネットワーク監視装置、ネットワーク監視方法およびネットワーク監視プログラム
RU2776349C1 (ru) Системы и способы использования сообщений dns для селективного сбора компьютерных криминалистических данных
KR101445817B1 (ko) 서비스 이용 제어 방법 및 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170606