JP2017123037A - 推定プログラム、推定装置及び推定方法 - Google Patents

推定プログラム、推定装置及び推定方法 Download PDF

Info

Publication number
JP2017123037A
JP2017123037A JP2016001469A JP2016001469A JP2017123037A JP 2017123037 A JP2017123037 A JP 2017123037A JP 2016001469 A JP2016001469 A JP 2016001469A JP 2016001469 A JP2016001469 A JP 2016001469A JP 2017123037 A JP2017123037 A JP 2017123037A
Authority
JP
Japan
Prior art keywords
information
change event
load
transition
resource
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
JP2016001469A
Other languages
English (en)
Inventor
西山 勝
Masaru Nishiyama
勝 西山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016001469A priority Critical patent/JP2017123037A/ja
Priority to US15/380,312 priority patent/US20170201535A1/en
Publication of JP2017123037A publication Critical patent/JP2017123037A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】推定可能な外部攻撃を拡充することを可能とする推定プログラム、推定装置及び推定方法を提供する。
【解決手段】情報処理システムから計測したリソースの負荷が所定の値以上になった場合、情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する変更事象を特定し、過去に変更事象が発生したタイミングからリソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した変更事象に対応する第1推移情報を特定し、特定した第1推移情報と、現在のタイミングに対応する変更事象が発生したタイミングからリソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、情報処理システムに対する外部攻撃の存在の有無を推定する。
【選択図】図7

Description

本発明は、推定プログラム、推定装置及び推定方法に関する。
近年、物理装置(以下、物理マシンとも呼ぶ)の性能向上に伴い、複数の仮想装置(以下、仮想マシンとも呼ぶ)を1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は、例えば、仮想化ソフトウエア(以下、ハイパーバイザとも呼ぶ)が物理マシンを複数の仮想マシンに割り当てて、各仮想マシンによるサービスの提供を可能にする。
上記のような仮想マシンによって構成される情報処理システムを構築する場合、サービスを提供する事業者(以下、単に事業者とも呼ぶ)は、例えば、新たな仮想マシンの生成及び既存の仮想マシンの削除を自動的に行う機能(以下、オートスケール機能とも呼ぶ)を実装する。具体的に、事業者は、情報処理システムを構成する仮想マシンの処理負荷に応じて、新たな仮想マシンの生成及び既存の仮想マシンの削除を自動的に行う機能を実装する。これにより、事業者は、情報処理システムの稼働状況の監視するための負荷を抑制することが可能になる(例えば、特許文献1及び2参照)。
特開2011−118525号公報 特開2010−226635号公報
上記のような情報処理システムは、事業者が提供するサービスに悪影響を及ぼすことを目的とした外部攻撃を受ける場合がある。具体的に、情報処理システムは、悪意のある者が情報処理システムに過度の処理負荷を与えるために、膨大な数の処理要求を送信するDos攻撃(Denial of Service)等を受ける場合がある。そのため、事業者は、例えば、Dos攻撃の検知機能を有するファイアーウォールを外部ネットワークと情報処理システムの間に配備する。これにより、事業者は、情報処理システムに悪影響が及ぶ前に、情報処理システムに対するDos攻撃の存在を検知することが可能になる。
しかしながら、近年、上記のような情報処理システムは、事業者に必要以上の仮想マシンを生成させることによって経済的負担を強いることを目的としたEDos攻撃(Economic Denial of Service)を受ける場合がある。このEDos攻撃は、上記のDos攻撃のように膨大な数の処理要求を送信する攻撃と異なり、例えば、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システムに送信することによって行われる。そのため、情報処理システムは、例えば、Dos攻撃の検知機能を有するファイアーウォールを用いる場合であっても、情報処理システムに対するEDos攻撃の存在を検知することができない場合がある。
そこで、一つの側面では、本発明は、推定可能な外部攻撃を拡充することを可能とする推定プログラム、推定装置及び推定方法を提供することを目的とする。
実施の形態の一態様では、コンピュータに、情報処理システムのリソースの負荷を計測し、計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、処理を実行させる。
一つの側面によれば、推定可能な外部攻撃を拡充することを可能とする。
情報処理システム10の全体構成を示す図である。 仮想マシン3が実行する処理を説明する図である。 仮想マシン3が実行する処理を説明する図である。 仮想マシン3が実行する処理を説明する図である。 物理マシン2のハードウエア構成を示す図である。 VM(ASM)33の機能ブロック図である。 第1の実施の形態における外部攻撃推定処理の概略を説明するフローチャート図である。 第1の実施の形態における外部攻撃推定処理の概略を説明する図である。 第1の実施の形態における外部攻撃推定処理の概略を説明する図である。 第1の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。 第1の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。 負荷情報231の具体例を示す図である。 変更事象情報232の具体例を示す図である。 推移情報233の具体例を示す図である。 推移情報233の具体例を示す図である。 推移情報233の具体例を示す図である。 第1推移情報241の具体例を示す図である。 第2推移情報242の具体例を示す図である。 推移情報233の具体例を示す図である。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、例えば、データセンタ内に、管理装置1と、仮想マシン3及び仮想化ソフトウエア4が動作する物理マシン2とが設けられている。そして、仮想マシン3には、インターネットやイントラネット等のネットワークNWを介して、1台以上の利用者端末11からアクセス可能になっている。
物理マシン2は、図1の例では複数の物理マシンから構成されており、各物理マシンは、例えば、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ハードディスク(HDD:Hard Disk Drive)とを有する。そして、物理マシン2のリソースは、複数の仮想マシン3に割り当てられる。
管理装置1は、物理マシン2とアクセス可能であり、物理マシン2内における仮想マシン3の生成指示や生成された仮想マシン3の管理を行う。
仮想マシン3は、利用者に対してサービスを提供するための処理を実行する。仮想マシン3が実行する処理の詳細については後述する。
仮想化ソフトウエア4は、管理装置1からの指示に応じて、物理マシン2のリソースを割り当てることにより、仮想マシン3を動作させる基盤ソフトウエアである。
利用者端末11は、事業者が提供するサービスを受ける利用者が利用する端末である。具体的に、利用者端末11は、利用者から仮想マシン3に対する処理要求の入力があった場合に、仮想マシン3に対して入力された処理要求を送信する。また、利用者端末11は、仮想マシン3に対して送信した処理要求に対する実行結果を受信する。
[仮想マシンが実行する処理]
次に、仮想マシン3が実行する処理について説明を行う。図2から図4は、仮想マシン3が実行する処理を説明する図である。なお、以下、仮想マシン3には、例えば、利用者端末11から送信された処理要求を複数の仮想マシンに対して割り振るロードバランサとして機能する仮想マシン31(以下、VM(LB)31とも呼ぶ)が含まれているものとする。また、仮想マシン3には、例えば、利用者端末11から送信された処理要求に対する処理を実行するアプリケーションが動作する仮想マシン32(以下、VM(AP)32とも呼ぶ)が含まれるものとする。また、仮想マシン3には、例えば、VM(AP)の処理負荷を監視し、VM(AP)32の処理負荷に応じて、新たなVM(AP)32の生成等を管理装置1に指示するオートスケールマネージャとして機能する仮想マシン33(以下、VM(ASM)33とも呼ぶ)が含まれるものとする。なお、以下、物理マシン2には、VM(AP)32が複数台生成されているものとして説明を行う。
具体的に、VM(LB)31は、利用者端末11から送信された処理要求を受信した場合、図2に示すように、受信した処理要求をVM(AP)32のいずれかに送信する。VM(LB)31は、例えば、各VM(AP)32の処理負荷が均等になるように、処理要求の振り分けを行う。
VM(AP)32は、VM(LB)31から処理要求を受信した場合、図2に示すように、受信した処理要求に対する処理を実行する。そして、VM(AP)32は、必要に応じて、実行した処理の実行結果を利用者端末11に送信する。
VM(ASM)33は、図3に示すように、例えば、所定時間毎に、各VM(AP)32の処理負荷(処理負荷を示す情報)を取得する。そして、例えば、取得した処理負荷が所定の値(以下、第1閾値情報とも呼ぶ)以上であるVM(AP)32が存在する場合、VM(ASM)33は、図3に示すように、新たなVM(AP)32の生成を管理装置1に指示する。その後、管理装置1は、図3に示すように、新たなVM(AP)32の生成を行う。
一方、例えば、取得した処理負荷が所定の値(以下、第2閾値情報とも呼ぶ)未満であるVM(AP)32が存在する場合、VM(ASM)33は、図4に示すように、既存のVM(AP)32の削除を管理装置1に指示する。その後、管理装置1は、図4に示すように、既存のVM(AP)32の削除を行う。
これにより、事業者は、VM(AP)32の生成または削除を自動化することが可能になる。そのため、事業者は、情報処理システム10の監視に伴う作業負担を軽減することが可能になる。
なお、VM(ASM)33は、VM(AP)32の処理負荷の全てが第1閾値情報以上になった場合に、新たなVM(AP)32の生成を管理装置1に指示するものであってもよい。また、VM(ASM)33は、VM(AP)32の処理負荷の全てが第2閾値情報未満になった場合に、既存のVM(AP)32の削除を管理装置1に指示するものであってもよい。
ここで、図2等で説明した情報処理システム10は、事業者が提供するサービスに悪影響を及ぼすことを目的とした外部攻撃を受ける場合がある。具体的に、この外部攻撃には、悪意のある者が情報処理システム10に過度の処理負荷を与えるために、膨大な数の処理要求を送信するDos攻撃等が含まれる。
そのため、事業者は、例えば、Dos攻撃の検知機能を有するファイアーウォールを利用者端末11と情報処理システム10の間に配備する。これにより、事業者は、情報処理システム10に悪影響が及ぶ前に、情報処理システム10に対するDos攻撃の存在を検知することが可能になる。
しかしながら、近年、情報処理システム10は、事業者に必要以上の仮想マシン3を生成させることによって経済的負担を強いることを目的としたEDos攻撃を受ける場合がある。このEDos攻撃は、上記のDos攻撃のように膨大な数の処理要求を送信する攻撃と異なり、例えば、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システム10に送信することによって行われる。そのため、情報処理システム10は、例えば、Dos攻撃の検知機能を有するファイアーウォールを用いた場合であっても、情報処理システム10に対するEDos攻撃の存在を検知することができない場合がある。
そこで、本実施の形態におけるVM(ASM)33は、情報処理システム10のリソース(例えば、VM(AP)32に割り振られた物理マシン2のリソース)の負荷を計測する。そして、VM(ASM)33は、計測したリソースの負荷が第1閾値情報以上になった場合、情報処理システム10に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する変更事象を特定する。
その後、VM(ASM)33は、過去に変更事象が発生したタイミングから情報処理システム10のリソースの負荷が第1閾値情報以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した変更事象に対応する推移情報(以下、第1推移情報とも呼ぶ)を特定する。また、VM(ASM)33は、現在のタイミングに対応する変更事象が発生したタイミングから情報処理システム10のリソースの負荷が第1閾値情報以上になるまでの推移情報(以下、第2推移情報とも呼ぶ)を生成する。そして、VM(ASM)33は、特定した第1推移情報と生成した第2推移情報との相関度合いに基づいて、情報処理システム10に対する外部攻撃の存在の有無を推定する。
すなわち、VM(ASM)33は、情報処理システム10の負荷が第1閾値情報以上になった場合、新たなVM(AP)32の生成を行う前に、情報処理システム10の負荷が第1閾値情報まで上昇した原因が、EDoS攻撃によるものであるか否かの判定を行う。
具体的に、VM(ASM)33は、情報処理システム10において現在行われている変更事象(例えば、新たなサービスの追加等)を特定する。そして、VM(ASM)33は、現在行われている変更事象の過去の発生時における情報処理システム10の負荷の推移を示す第1推移情報を特定する。さらに、VM(ASM)33は、今回の情報処理システム10の負荷の推移(情報処理システム10の負荷が第1閾値情報以上になるまでの推移)を示す第2推移情報と、第1推移情報とを比較する。
これにより、VM(ASM)33は、例えば、第1推移情報が示す内容と第2推移情報が示す内容との差異が所定の基準値(以下、判定情報とも呼ぶ)以上である場合、情報処理システム10の負荷が第1閾値情報まで上昇した原因が、EDoS攻撃によるものである可能性があると推定することが可能になる。
一方、VM(ASM)33は、例えば、差異が判定情報未満である場合、情報処理システム10の負荷が第1閾値情報まで上昇した原因が、外部攻撃(EDoS攻撃)によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、VM(ASM)33は、例えば、新たなVM(AP)32の生成の指示を管理装置1に送信すべきであると判定することが可能になる。
[物理マシンのハードウエア構成]
次に、物理マシン2のハードウエア構成について説明する。図5は、物理マシン2のハードウエア構成を示す図である。
物理マシン2は、プロセッサであるCPU201と、メモリ202と、外部インターフェース(I/Oユニット)203と、記憶媒体204とを有する。各部は、バス205を介して互いに接続される。
記憶媒体204は、例えば、記憶媒体204内のプログラム格納領域(図示しない)に、情報処理システム10に対する外部攻撃が存在するか否かを推定する処理(以下、外部攻撃推定処理または推定処理とも呼ぶ)を行うためのプログラム210を記憶する。また、記憶媒体204は、例えば、外部攻撃推定処理を行う際に用いられる情報を記憶する情報格納領域230(以下、記憶部230とも呼ぶ)を有する。
CPU201は、図5に示すように、プログラム210の実行時に、プログラム210を記憶媒体204からメモリ202にロードし、プログラム210と協働して外部攻撃推定処理を行う。
外部インターフェース203は、例えば、管理装置1と通信を行う。また、外部インターフェース203は、例えば、ネットワークNWを介して利用者端末11と通信を行う。
[仮想マシンの機能]
次に、物理マシン2に配備されたVM(ASM)33の機能について説明する。図6は、VM(ASM)33の機能ブロック図である。
VM(ASM)33に割当てられた物理マシン2のCPU201は、プログラム210と協働することにより、例えば、負荷計測部211と、事象特定部212と、推移特定部213と、攻撃推定部214として動作する。また、VM(ASM)33に割当てられた物理マシン2のCPU201は、プログラム210と協働することにより、例えば、情報管理部215と、情報通知部216と、VM生成指示部217と、VM削除指示部218として動作する。
さらに、情報格納領域230には、負荷情報231と、変更事象情報232と、推移情報233と、第1閾値情報234と、第2閾値情報235と、判定情報236とが記憶されている。
負荷計測部211は、所定の時間間隔毎(例えば、2分毎)に、情報処理システム10のリソースの負荷を計測する。そして、負荷計測部211は、計測した負荷から負荷情報231を生成する。
具体的に、負荷計測部211は、例えば、物理マシン2に配備されたVM(AP)32毎に、リソースの負荷情報231を計測する。負荷の計測を行うリソースは、例えば、物理マシン2がVM(AP)32にそれぞれ割り当てたCPU(Central Processing Unit)やメモリ等であってよい。負荷情報231の具体例については後述する。
事象特定部212は、負荷計測部211が計測した情報処理システム10のリソースの負荷が第1閾値情報234以上になった場合に、情報格納領域230に記憶された変更事象情報232から、現在のタイミングに対応する変更事象を特定する。変更事象は、例えば、VM(AP)32が処理を実行することによって利用者に提供する新たなサービスの追加や、情報処理システム10に対して行われる定期的なメンテナンス等の事象を含む。また、変更事象情報232は、情報処理システム10に対する変更事象と、各変更事象の発生タイミングとが関連付けられた情報である。変更事象情報232の具体例については後述する。
なお、第1閾値情報234は、例えば、VM(ASM)33が新たなVM(AP)32を生成する必要があると判定する値であってよい。具体的に、負荷の計測が行うリソースがCPUの使用率である場合、事象特定部212は、例えば、CPUの使用率が90(%)以上になったVM(AP)32が存在する場合に、現在のタイミングに対応する変更事象を特定するものであってよい。また、負荷の計測が行うリソースがメモリの使用量である場合、事象特定部212は、例えば、メモリの使用量が5.0(MB)以上になったVM(AP)32が存在する場合に、現在のタイミングに対応する変更事象を特定するものであってよい。
推移特定部213は、情報格納領域230に記憶された推移情報233から、事象特定部212が特定した変更事象に対応する第1推移情報241を特定する。推移情報233は、過去に変更事象が発生したタイミングから情報処理システム10にリソースの負荷が第1閾値情報234以上になるまでの負荷の推移を、変更事象が発生したタイミング毎に含む情報である。
また、推移特定部213は、現在のタイミングに対応する変更事象が発生したタイミングから情報処理システム10のリソースの負荷が第1閾値情報234以上になるまでの第2推移情報242を生成する。
なお、負荷計測部211が複数のVM(AP)32からリソースの負荷の計測を行っている場合、推移特定部213は、例えば、リソースの負荷が第1閾値情報234以上になったVM(AP)32のリソースの負荷についての第2推移情報242を生成するものであってよい。推移情報233、第1推移情報241及び第2推移情報242の具体例については後述する。
攻撃推定部214は、推移特定部213が特定した第1推移情報241と、推移特定部213が生成した第2推移情報242との相関度合いに基づいて、情報処理システム10に対する外部攻撃の存在の有無を推定する。
具体的に、攻撃推定部214は、例えば、第1推移情報241と第2推移情報242とを比較し、その差異が所定の基準値である判定情報236以上である場合、情報処理システム10に対する外部攻撃が存在するものと推定する。
情報管理部215は、負荷計測部211が生成した負荷情報231を情報格納領域230に記憶する。また、情報管理部215は、事業者が予め生成した変更事象情報232を情報格納領域230に記憶する。さらに、情報管理部215は、第2推移情報242を生成し、推移情報233の一部として情報格納領域230に記憶する。
情報通知部216は、情報処理システム10に対する外部攻撃が行われていると推定された場合に、その旨の情報を事業者(例えば、図示しない事業者端末)に通知する。
VM生成指示部217は、情報処理システム10に対する外部攻撃が行われていないと推定された場合に、新たなVM(AP)32の生成を管理装置1に指示する。
VM削除指示部218は、負荷計測部211が計測した情報処理システム10のリソースの負荷が第2閾値情報235未満になった場合に、新たなVM(AP)32の削除を管理装置1に指示する。
[第1の実施の形態]
次に、第1の実施の形態について説明する。図7は、第1の実施の形態における外部攻撃推定処理の概略を説明するフローチャート図である。また、図8及び図9は、第1の実施の形態における外部攻撃推定処理の概略を説明する図である。図8及び図9を参照しながら図7の外部攻撃推定処理の概略について説明する。なお、以下、VM(ASM)33が負荷を計測する対象がVM(AP)32であるものとして説明を行う。
VM(ASM)33は、図7に示すように、VM(AP)32のリソースの負荷を計測するタイミング(以下、負荷計測タイミングとも呼ぶ)になるまで待機する(S1のNO)。負荷計測タイミングは、例えば、1分毎等、所定の時間毎のタイミングであってよい。
そして、負荷計測タイミングになった場合(S1のYES)、VM(ASM)33は、図8に示すように、各VM(AP)32のリソースの負荷を計測する(S2)。その後、VM(ASM)33は、リソースの負荷が第1閾値情報234以上であるVM(AP)32が存在するか否かを判定する(S3)。すなわち、VM(ASM)33は、新たなVM(AP)32の生成の指示を管理装置1に行うか否かを判定するために、各VM(AP)32のリソースの負荷を計測し、リソースの負荷が第1閾値情報234以上であるVM(AP)32が存在するか否かを判定する。
その結果、例えば、リソースの負荷を計測したVM(AP)32のうち、リソースの負荷が第1閾値情報234以上であるVM(AP)32が存在する場合(S3のNO)、VM(ASM)33は、変更事象情報232から、現在のタイミングに対応する変更事象(以下、単に現在の変更事象とも呼ぶ)を特定する(S4)。そして、VM(ASM)33は、推移情報233から、S4の処理で特定した変更事象に対応する第1推移情報241を特定する(S5)。
さらに、VM(ASM)33は、図9に示すように、S5の処理で特定した第1推移情報241と、現在の変更事象の発生からリソースの負荷が第1閾値情報234以上になるまでの推移を示す第2推移情報との相関度合いに基づき、外部攻撃の存在の有無を推定する(S6)。
すなわち、VM(AP)32のリソースの負荷が上昇した原因が現在の変更事象によるものである場合、現在の変更事象と同一の変更事象が過去に発生した際のVM(AP)32のリソースの負荷の推移は、今回のVM(AP)32のリソースの負荷の推移と類似する。そのため、VM(ASM)33は、VM(AP)32を生成する前に、現在の変更事象と同一の変更事象が過去に発生した際のVM(AP)32のリソースの負荷の推移(第1推移情報241)と、今回のVM(AP)32のリソースの負荷の推移(第2推移情報242)とを比較する。そして、VM(ASM)33は、第1推移情報241と第2推移情報242との比較結果に基づき、外部攻撃の存在の有無を推定する。
これにより、VM(ASM)33は、新たなVM(AP)32を生成する前に、VM(AP)32のリソースの負荷が上昇した原因が、外部攻撃(EDoS攻撃)によるものであるか否かの判定を行うことが可能になる。そして、VM(ASM)33は、外部攻撃が存在しないと判定した場合に限り、新たなVM(AP)32の生成の指示を管理装置1に送信することが可能になる。
このように、本実施の形態におけるVM(ASM)33は、情報処理システム10(VM(AP)32)のリソースの負荷を計測する。そして、計測したリソースの負荷が第1閾値情報234以上になった場合、VM(ASM)33は、情報処理システム10に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報232から、現在のタイミングに対応する変更事象を特定する。
さらに、VM(ASM)33は、過去に変更事象が発生したタイミングからリソースの負荷が第1閾値情報234以上になるまでの負荷の推移をそれぞれ示す推移情報233から、特定した変更事象に対応する第1推移情報241を特定する。そして、VM(ASM)33は、特定した第1推移情報241と、現在の変更事象が発生したタイミングからリソースの負荷が第1閾値情報234以上になるまでの第2推移情報242との相関度合いに基づいて、情報処理システム10に対する外部攻撃の存在の有無を推定する。
これにより、VM(ASM)33は、例えば、第1推移情報が示す内容と第2推移情報が示す内容との差異が判定情報236以上である場合、VM(AP)32のリソースの負荷が第1閾値情報234まで上昇した原因が、外部攻撃によるものである可能性があると推定することが可能になる。そのため、この場合、VM(ASM)33は、新たなVM(AP)32の生成の指示を管理装置1に送信すべきでないと判定することが可能になる。
一方、VM(ASM)33は、例えば、第1推移情報が示す内容と第2推移情報が示す内容との差異が判定情報236未満である場合、VM(AP)32のリソースの負荷が第1閾値情報234まで上昇した原因が、外部攻撃によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、VM(ASM)33は、新たなVM(AP)32の生成の指示を管理装置1に送信すべきと判定することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図10及び図11は、第1の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。また、図12から図19は、第1の実施の形態における外部攻撃推定処理の詳細を説明する図である。図12から図19を参照しながら、図10及び図11の外部攻撃推定処理の詳細を説明する。
VM(ASM)33の負荷計測部211は、図10に示すように、負荷計測タイミングになるまで待機する(S11のNO)。
その結果、負荷計測タイミングになった場合(S11のYES)、負荷計測部211は、各VM(AP)32のリソースの負荷を計測する(S12)。そして、負荷計測部211は、計測したVM(AP)32のリソースの負荷を示す情報を、負荷情報231の一部として情報格納領域230に蓄積する。以下、負荷情報231の具体例について説明を行う。
[負荷情報の具体例]
図12は、負荷情報231の具体例を示す図である。図12に示す負荷情報231は、負荷情報231に含まれる各情報を示す「項番」と、負荷計測部211がVM(AP)32のリソースの負荷を計測した日時を示す「日時」とを項目として有する。また、図12に示す負荷情報231は、負荷計測部211が計測したCPUの使用率を示す「CPU使用率」と、負荷計測部211が計測したメモリの使用量を示す「メモリ使用量」とを項目として有する。なお、以下、負荷計測部211は、VM(AP)32のリソースの負荷を2分毎に計測するものとして説明を行う。
具体的に、図12に示す負荷情報231において、「項番」が「1」である情報には、「日時」として「2015/01/20 00:02:00」が設定され、「CPU使用率」として「11(%)」が設定され、「メモリ使用量」として「2.0(MB)」が設定されている。図12に含まれる他の情報については説明を省略する。
図10に戻り、負荷計測部211は、S12の処理で計測したリソースの負荷が第1閾値情報234以上であるVM(AP)32が存在するか否かを判定する(S13)。その結果、例えば、S12の処理でリソースの負荷を計測したVM(AP)32のうち、負荷が第1閾値情報234以上であるVM(AP)32が存在する場合(S13のYES)、VM(ASM)33の事象特定部212は、現在の変更事象の特定を行う。具体的に、事象特定部212は、この場合、変更事象情報232から、現在の変更事象を特定する(S14)。
一方、例えば、S12の処理でリソースの負荷を計測したVM(AP)32のうち、負荷が第1閾値情報234以上であるVM(AP)32が存在しない場合(S13のNO)、負荷計測部211は、次の負荷計測タイミングになるまで待機する(S11のNO)。
なお、以下、負荷計測部211が計測するVM(AP)32のリソースは、CPUの使用率及びメモリの使用量であるものとする。そして、第1閾値情報234は、CPUの使用率に対する閾値である「90(%)」と、メモリの使用量に対する閾値である「7.0(MB)」を含むものとして説明を行う。すなわち、事象特定部212は、S13の処理において、CPUの使用率が「90(%)」以上であるVM(AP)32が存在する場合に、S14の処理を実行する。また、事象特定部212は、S13の処理において、メモリの使用量が「7.0(MB)」以上であるVM(AP)32が存在する場合に、S14の処理を実行する。以下、変更事象情報232の具体例について説明を行う。
[変更事象情報の具体例]
図13は、変更事象情報232の具体例を示す図である。図13に示す変更事象情報232は、変更事象情報232に含まれる各情報を示す「項番」と、各変更事象を示す「変更事象名」とを項目として有する。また、図13に示す変更事象情報232は、「変更事象名」に設定された変更事象の開始日時を示す「事象開始日時」と、「変更事象名」に設定された変更事象が行われている間に発生したVM(AP)32の生成の日時を示す「VM生成発生日時」とを項目として有する。さらに、図13に示す変更事象情報232は、「変更事象名」に設定された変更事象の実施状況を示す「実施状況」を項目として有する。
なお、「変更事象名」には、例えば、毎月予め定められた日時に実行される処理である「月次処理」、または、情報処理システム10に対する新たなアプリケーションの導入や導入済のアプリケーションの改版を伴う新サービスの提供開始を示す「新サービス開始」が設定される。また、「変更事象名」には、例えば、定期的に行われる情報処理システム10のメンテナンスを示す「定期メンテナンス」が設定される。すなわち、「変更事象名」には、事業者によって事前に予定されている事象が設定される。
そして、「変更事象名」に設定された変更事象が行われている間に新たなVM(AP)32の生成が発生しなかった場合、「VM生成発生日時」には、「なし」が設定される。また、「変更事象名」に設定された変更事象がまだ実施されていない場合、「VM生成発生日時」には、「−」が設定される。
さらに、「実施状況」には、「変更事象名」に設定された変更事象が既に終了したことを示す「実施済」、変更事象が行われている途中であることを示す「実施中」、または、変更事象がまだ開始していないことを示す「未実施」が設定される。
具体的に、図13に示す変更事象情報232において、「項番」が「1」である情報には、「変更事業名」として「月次処理」が設定されている。また、図13に示す変更事象情報232において、「項番」が「1」である情報には、「事象開始日時」として「2015/01/20 22:00:00」が設定され、「VM生成発生日時」として「2015/01/21 01:01:46」が設定されている。さらに、図13に示す変更事象情報232において、「項番」が「1」である情報には、「実施状況」として「実施済」が設定されている。
また、図13に示す変更事象情報232において、「項番」が「2」である情報には、「変更事業名」として「月次処理」が設定されている。また、図13に示す変更事象情報232において、「項番」が「2」である情報には、「事象開始日時」として「2015/02/20 22:00:00」が設定され、「VM生成発生日時」として「なし」が設定されている。さらに、図13に示す変更事象情報232において、「項番」が「2」である情報には、「実施状況」として「実施済」が設定されている。
すなわち、図13に示す変更事象情報232は、「項番」が「1」である情報の変更事象が行われた際に新たなVM(AP)32の生成が行われたが、「項番」が「2」である情報の変更事象が行われた際には、新たなVM(AP)32の生成が行われなかったことを示している。図13に含まれる他の情報については説明を省略する。
そして、S14の処理において、事象特定部212は、例えば、変更事象情報232に含まれる情報のうち、「実施状況」が「実施中」である情報を特定する。具体的に、図13に示す変更事象情報232の「項番」が「5」である情報の「実施状況」には、「実施中」が設定されている。そのため、事象特定部212は、現在のタイミングに対応する変更事象として、図13に示す変更事象情報232の「項番」が「5」である情報の「変更事象名」に設定された情報である「月次処理」を特定する。
図10に戻り、S14の処理の後、VM(ASM)33の推移特定部213は、現在のタイミングに対応する変更事象が存在するか否かを判定する(S15)。そして、現在のタイミングに対応する変更事象が存在した場合(S15のYES)、推移特定部213は、S16の処理を実行するために、推移情報233を参照する。以下、推移情報233の具体例について説明を行う。
[推移情報の具体例(1)]
図14から図16及び図19は、推移情報233の具体例を示す図である。図14から図16及び図19に示す推移情報233は、推移情報233に含まれる各情報を示す「項番」と、各変更事象を示す「変更事象名」とを項目として有する。また、図14から図16及び図19に示す推移情報233は、変更事象を識別する「識別情報」を項目として有する。図14から図16及び図19に示す推移情報233における「識別情報」に設定される情報は、図13に示す変更事象情報232における「項番」に設定された情報に対応する。さらに、図14から図16及び図19に示す推移情報233は、図12に示す負荷情報231で説明した「CPU使用率(%)」と「メモリ使用量(MB)」とを項目として有する。
推移情報233は、外部攻撃推定処理が実行される前に、負荷情報231及び変更事象情報232に含まれる情報に基づき、VM(ASM)33の情報管理部215によって生成される。そして、推移情報233は、後述するように、外部攻撃推定処理の実行に伴って更新される。以下、外部攻撃推定処理が実行される前に生成される推移情報233(以下、初期状態の推移情報233とも呼ぶ)について説明を行う。
図14から図16は、初期状態の推移情報233を説明する具体例である。情報管理部215は、例えば、事業者による推移情報233の生成指示を受け付けた場合、変更事象情報232の「項番」に設定された情報毎に、「事象開始日時」に設定された日時から「VM生成発生日時」に設定された日時までの期間を所定数(例えば、10)に等分する。そして、情報管理部215は、等分された各期間におけるVM(AP)32のリソースの負荷の平均値をそれぞれ算出する。図13に示す変更事象情報232において、「項番」が「1」である情報の「変更事象日時」には、「2015/01/20 22:00:00」が設定されており、「VM生成発生日時」には、「2015/01/21 01:01:46」が設定されている。すなわち、この場合、「事象開始日時」に設定された日時から「VM生成発生日時」に設定された日時までの期間は、約3時間(約180分)である。そのため、情報管理部215は、図12に示す負荷情報231を参照し、例えば、180分を10等分した期間である18分毎に、「事象開始日時」に設定された日時から「VM生成発生日時」に設定された日時までの期間におけるVM(AP)32のリソースの負荷の平均値を算出する。
具体的に、情報管理部215は、例えば、図12に示す負荷情報231から、「日時」が「2015/01/20 00:02:00」から「2015/01/20 00:16:00」である情報(最初の18分に対応する情報)の「CPU使用率」に設定された情報を取得する。すなわち、情報管理部215は、「11」、「10」、「13」、「24」、「13」、「7」、「8」、「10」及び「12」(図12に示す負荷情報231における「項番」が「1」から「9」である情報の「CPU使用率」に設定された情報)を取得する。そして、情報管理部215は、取得した情報の平均値である「12」を算出する。その後、情報管理部215は、図14の下線部分に示すように、「項番」が「1」である情報に対応する「CPU使用率」に、算出した「12(%)」を設定する。
また、情報管理部215は、例えば、図12に示す負荷情報231から、「日時」が「2015/01/20 00:02:00」から「2015/01/20 00:16:00」である情報の「メモリ使用量」に設定された情報を取得する。すなわち、情報管理部215は、「2.0」、「2.1」、「2.0」、「2.1」、「2.0」、「1.9」、「2.0」、「2.0」及び「1.9」(図12に示す負荷情報231における「項番」が「1」から「9」である情報の「メモリ使用量」に設定された情報)を算出する。そして、情報管理部215は、取得した情報の平均値である「2.0」を算出する。その後、情報管理部215は、図14の下線部分に示すように、「項番」が「1」である情報に対応する「メモリ使用量」に、算出した「2.0(MB)」を設定する。
なお、この場合、情報管理部215は、図14の下線部分に示すように、「項番」が「1」である情報の「変更事象名」に、図13に示す変更事象情報232の「項番」が「1」である情報の「変更事象名」に設定された情報である「月次処理」を設定する。また、情報管理部215は、図14の下線部分に示すように、「項番」が「1」である情報の「識別情報」に、図13に示す変更事象情報232のうち、現在参照している情報の「項番」である「1」を設定する。
また、情報管理部215は、図15の下線部分に示すように、図13に示す変更事象情報232における「項番」が「1」である情報の「事象開始日時」に設定された日時から「VM生成発生日時」に設定された日時までの期間のうち、最初の18分以外の期間についても推移情報233の生成を行う。
さらに、情報管理部215は、図13に示す変更事象情報232に含まれる情報のうち、「実施状況」に「実施済」が設定された情報であって、「VM生成発生日時」に「なし」以外の情報が設定された各情報について、推移情報233の生成を行う。すなわち、情報管理部215は、図16の下線部分に示すように、図13に示す変更事象情報232に含まれる情報のうち、「項番」が「3」、「4」、「6」及び「7」である情報についても推移情報233の生成を行う。
これにより、情報管理部215は、情報処理システム10が外部攻撃を受けているか否かを判定する際に用いられる情報を含むように、推移情報233を生成することが可能になる。なお、図14から図16に含まれる他の情報については説明を省略する。
図10に戻り、推移特定部213は、推移情報233から、S14の処理で特定した変更事象に対応する第1推移情報241を特定する(S16)。
具体的に、S14の処理において特定された変更事象が「月次処理」である場合、推移特定部213は、図14に示す推移情報233から、「変更事象名」が「月次処理」である情報を第1推移情報241として特定する(S16)。以下、第1推移情報241の具体例について説明を行う。
[第1推移情報の具体例]
図17は、第1推移情報241の具体例を示す図である。図17に示す第1推移情報241は、第1推移情報241に含まれる各情報を示す「項番」と、図12に示す負荷情報231で説明した「CPU使用率」と「メモリ使用量」とを項目として有する。なお、以下、S14の処理において、現在のタイミングに対応する変更事象として「月次処理」が特定されたものとして説明を行う。
具体的に、図17に示す第1推移情報241には、図16に示す推移情報233のうち、「変更事象名」が「月次処理」であって「識別情報」が「1」である情報の「CPU使用率」及び「メモリ使用量」に設定された情報と同じ情報が設定されている。図17に含まれる他の情報については説明を省略する。
なお、図13に示す変更事象情報232のうち、「変更事象名」に「月次処理」が設定され、「VM生成発生日時」に「なし」以外の情報が設定され、「実施状況」に「実施済」が設定されている情報は、「項番」が「1」、「3」及び「4」である。そのため、推移特定部213は、図17で説明した第1推移情報241の他に、図13に示す変更事象情報232における「項番」が「3」及び「4」である情報についても、第1推移情報241を生成する。以下、図13に示す変更事象情報232における「項番」が「1」、「3」及び「4」に対応する第1推移情報241を、それぞれ第1推移情報241a、第1推移情報241b及び第1推移情報241cとも呼ぶ。
図10に戻り、情報管理部215は、S14の処理で特定した変更事象の発生からリソースの負荷が第1閾値情報234以上になるまでの推移を示す第2推移情報242を生成する(S17)。以下、第2推移情報242の具体例について説明を行う。
[第2推移情報の具体例]
図18は、第2推移情報242の具体例を示す図である。図18に示す第2推移情報242は、図17に示す第1推移情報241と同じ項目を有している。なお、以下、現在の日時(S13の処理が行われた日時)が2015年5月21日00時01分32秒であるものとして説明を行う。
S17の処理において、情報管理部215は、図13に示す変更事象情報232の「実施状況」が「実施中」になっている「項番」が「5」である情報の「事象開始日時」に設定された日時から現在の日時までの期間を所定数(例えば、10)に等分する。そして、情報管理部215は、等分された各期間におけるVM(AP)32のリソースの負荷の平均値をそれぞれ算出することにより、第2推移情報242を生成する。
具体的に、図13に示す変更事象情報232において、「項番」が「5」である情報の「変更事象日時」には、「2015/05/20 22:00:00」が設定されている。すなわち、この場合、「事象開始日時」に設定された日時から現在の日時(2015年5月21日00時01分32秒)までの期間は、約2時間(約120分)である。そのため、この場合、情報管理部215は、図14等で説明した場合と同様に、120分を10等分した期間である12分毎に、「事象開始日時」に設定された日時から現在の日時までの期間におけるVM(AP)32のリソースの負荷の平均値を算出する。
そして、情報管理部215は、例えば、VM(AP)32のCPU使用率の負荷の平均値(最初の12分についての平均値)が「10」であった場合、図18に示すように、「項番」が「1」である情報の「CPU使用率」に「10(%)」を設定する。また、情報管理部215は、例えば、VM(AP)32のメモリ使用量の負荷の平均値(最初の12分についての平均値)が「2.0」であった場合、図18に示すように、「項番」が「1」である情報の「メモリ使用量」に「2.0(MB)」を設定する。図18に含まれる他の情報については説明を省略する。
図11に戻り、VM(ASM)33の攻撃推定部214は、S16の処理で特定した第1推移情報241毎に、それぞれ時系列順が同じである第1推移情報241に含まれる各情報と、S17の処理で生成した第2推移情報242に含まれる各情報との差分の総和を算出する(S21)。なお、以下、第1推移情報241に含まれる各情報をそれぞれ第1平均値情報241とも呼び、第2推移情報242に含まれる各情報をそれぞれ第2平均値情報242とも呼ぶ。
具体的に、攻撃推定部214は、例えば、図17に示す第1推移情報241aと、図18に示す第2推移情報242とのそれぞれについて、「項番」に設定された情報が互いに同一である情報の差分(差分の絶対値)を算出する。例えば、図17に示す第1推移情報241aにおける「項番」が「1」である情報の「CPU使用率」には、「12」が設定されている。そして、図18に示す第2推移情報242における「項番」が「1」である情報の「CPU使用率」には、「10」が設定されている。そのため、攻撃推定部214は、「項番」が「1」である各情報の差分の絶対値として「2」を算出する。
また、例えば、図17に示す第1推移情報241aにおける「項番」が「2」である情報の「CPU使用率」には、「23」が設定されている。そして、図18に示す第2推移情報242における「項番」が「2」である情報の「CPU使用率」には、「27」が設定されている。そのため、攻撃推定部214は、「項番」が「2」である情報の差分の絶対値として「4」を算出する。
同様に、攻撃推定部214は、「項番」が「3」から「10」である各情報の差分の絶対値として、それぞれ「3」、「8」、「1」、「6」、「4」、「2」、「0」及び「0」を算出する。そして、攻撃推定部214は、第1推移情報241a及び第2推移情報242の「項番」が「1」から「10」である情報の差分の絶対値の総和として、「30」を算出する。
さらに、攻撃推定部214は、S16の処理で特定した他の第1推移情報241(第1推移情報241b及び第1推移情報241c)と、S17の処理で生成した第2推移情報242との差分の総和をそれぞれ算出する。以下、第1推移情報241bと第2推移情報242との差分の総和が「60」であり、第1推移情報241cと、第2推移情報242との差分の総和が「10」であるものとして説明を行う。
図11に戻り、攻撃推定部214は、S16の処理で特定した第1推移情報241のうち、S21の処理で算出した総和が判定情報236以上である第1推移情報241が存在するか否かを判定する(S22)。そして、攻撃推定部214は、S21の処理で算出した総和が判定情報236以上である第1推移情報241が存在すると判定した場合(S22のYES)、攻撃推定部214は、情報処理システム10に対して外部攻撃が行われていると推定する。
すなわち、S21の処理で算出した総和が判定情報236以上である第1推移情報241が存在すると判定した場合、攻撃推定部214は、情報処理システム10のリソースの負荷の推移が、過去に同じ変更事象が行われていたときの負荷の推移と乖離していると判定する。そのため、攻撃推定部214は、情報処理システム10のリソースの負荷が上昇した原因が、現在行われている変更事象によるものではないと判定する。したがって、攻撃推定部214は、この場合、情報処理システム10に対して外部攻撃が行われていると推定する。
これにより、攻撃推定部214は、情報処理システム10に対して、例えば、EDoS攻撃のように、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システム10に送信することによって行われる攻撃であっても検知することが可能になる。そのため、攻撃推定部214は、推定可能な外部攻撃を拡充することが可能になる。
具体的に、S22の処理において、例えば、判定情報236が「50」である場合、第1推移情報241bと第2推移情報242との差分の総和である「60」は、判定情報236以上である(S22のYES)。そのため、この場合、攻撃推定部214は、S23以降の処理を実行する。
一方、S22の処理において、例えば、判定情報236が「80」である場合、S21で算出した全ての総和は、判定情報236未満である(S22のNO)。そのため、この場合、攻撃推定部214は、S25以降の処理を実行する。
なお、図10のS15の処理において、現在のタイミングに対応する変更事象が存在しない場合についても(S15のNO)、攻撃推定部214は、S23の処理を実行する(S22のYES)。すなわち、変更事象情報232に現在のタイミングに対応する変更事象が存在しない場合、VM(AP)32のリソースの負荷が上昇する可能性があるものとして予め変更事象情報232に設定された変更事象以外の原因によって、VM(AP)32のリソースの負荷が上昇したことになる。そのため、攻撃推定部214は、この場合についても、情報処理システム10に対して外部攻撃が行われていると推定する。
そして、S23の処理の後、VM(ASM)33の情報通知部216は、S23の処理の結果を通知する(S24)。具体的に、情報通知部216は、VM(AP)32のリソースの負荷の上昇が、外部攻撃によるものである可能性がある旨の情報を事業者(例えば、図示しない事業者端末)に送信する。これにより、事業者は、情報処理システム10に対する外部攻撃の存在の可能性を認識することが可能になる。また、事象者は、情報処理システム10に対する外部攻撃の存在の有無について、必要な調査等を行うことが可能になる。
さらに、VM生成指示部217は、この場合、新たなVM(AP)32のリソースの生成の指示を管理装置1に行わない。これにより、VM(ASM)33は、外部攻撃によるものである可能性があるリソースの負荷の上昇に伴って、新たなVM(AP)32が生成されることを防止することが可能になる。そのため、事業者は、情報処理システム10に対する外部攻撃によって経済的負担を強いられることを防止することが可能になる。
一方、S21の処理で算出した総和が判定情報236以上である第1推移情報241が存在しないと判定した場合(S22のNO)、攻撃推定部214は、情報処理システム10に対して外部攻撃が行われていないと推定する(S25)。そして、VM生成指示部217は、この場合、新たなVM(AP)32の生成を管理装置1に指示する(S26)。これにより、VM生成指示部217は、攻撃推定部214が情報処理システム10に対する外部攻撃が存在しないと判定した場合、新たなVM(AP)32の生成の指示を管理装置1に行うことが可能になる。
その後、情報管理部215は、S16の処理で生成した第2推移情報242を、S14の処理で特定した変更事象と関連付けて、推移情報233の一部として情報格納領域230に記憶する(S27)。以下、S27の処理を実行した後の推移情報233の具体例について説明を行う。
[推移情報の具体例(2)]
図19は、S27の処理を実行した後の推移情報233の具体例について説明する図である。図19に示す推移情報233は、図16で説明した推移情報233に対して、図18で説明した第2推移情報242に対応する情報(図19の下線部分)が追加された場合の推移情報233である。
具体的に、情報管理部215は、S27の処理において、「項番」が「51」である情報の「変更事象名」として、図13に示す変更事象情報232における「実施状況」が「実施中」である情報の「変更事象名」に設定された情報である「月次処理」を設定する。また、情報管理部215は、「項番」が「51」である情報の「識別情報」として、図13に示す変更事象情報232における「実施状況」が「実施中」である情報の「項番」に設定された情報である「5」を設定する。
さらに、情報管理部215は、「項番」が「51」である情報の「CPU使用率」として、図18に示す変更事象情報232における「項番」が「1」である情報の「CPU使用率」に設定された情報である「10(%)」を設定する。また、情報管理部215は、「項番」が「51」である情報の「メモリ使用量」として、図18に示す変更事象情報232における「項番」が「1」である情報の「メモリ使用量」に設定された情報である「2.0(MB)」を設定する。図19に含まれる他の情報については説明を省略する。
すなわち、情報管理部215は、この場合、S16の処理で生成した第2推移情報242に関する情報に基づいて、情報格納領域230に記憶された推移情報233を更新する。これにより、情報管理部215は、S11以降の処理を再度実行する場合に、より精度の高い推移情報233を参照して、処理を実行することが可能になる。
このように、本実施の形態におけるVM(ASM)33は、情報処理システム10(VM(AP)32)のリソースの負荷を計測する。そして、計測したリソースの負荷が第1閾値情報234以上になった場合、VM(ASM)33は、情報処理システム10に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報232から、現在のタイミングに対応する変更事象を特定する。
さらに、VM(ASM)33は、過去に変更事象が発生したタイミングからリソースの負荷が第1閾値情報234以上になるまでの負荷の推移をそれぞれ示す推移情報233から、特定した変更事象に対応する第1推移情報241を特定する。そして、VM(ASM)33は、特定した第1推移情報241と、特定した変更事象が発生したタイミングからリソースの負荷が第1閾値情報234以上になるまでの第2推移情報242との相関度合いに基づいて、情報処理システム10に対する外部攻撃の存在の有無を推定する。
これにより、VM(ASM)33は、例えば、第1推移情報が示す内容と第2推移情報が示す内容との差異が判定情報236以上である場合、VM(AP)32のリソースの負荷が第1閾値情報234まで上昇した原因が、外部攻撃によるものである可能性があると推定することが可能になる。
一方、VM(ASM)33は、例えば、第1推移情報が示す内容と第2推移情報が示す内容との差異が判定情報236未満である場合、VM(AP)32のリソースの負荷が第1閾値情報234まで上昇した原因が、外部攻撃によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、VM(ASM)33は、例えば、新たなVM(AP)32の生成の指示を管理装置1に送信すべきと判定することが可能になる。
なお、情報管理部215は、所定のタイミングで、情報格納領域230に記憶された負荷情報231のうち、外部攻撃推定処理に使用しない情報の削除を行うものであってもよい。具体的に、情報管理部215は、例えば、情報格納領域230に記憶された負荷情報231のうち、S17の処理において第2推移情報242を生成する際に使用される可能性がある情報以外の情報を削除するものであってよい。これにより、情報管理部215は、負荷情報231を記憶するために必要な情報格納領域230の大きさを抑えることが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
コンピュータに、
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
処理を実行させることを特徴とする推定プログラム。
(付記2)
付記1において、さらに、
前記第2推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
(付記3)
付記1において、
前記情報処理システムは、1台以上の仮想マシンにおいて動作する情報処理システムであり、
前記所定の値は、前記情報処理システムにおいて新たな仮想マシンの生成が行われる前記リソースの負荷に対応する値である、
ことを特徴とする推定プログラム。
(付記4)
付記3において、さらに、
前記情報処理システムに対する外部攻撃が存在しないと推定した場合、前記情報処理システムにおいて新たな仮想マシンの生成を行う、
ことを特徴とする推定プログラム。
(付記5)
付記1において、
前記第1推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第1平均値情報を含み、
前記第2推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第2平均値情報を含み、
前記推定では、
前記第1推移情報毎に、それぞれ時系列順が同じである前記第1平均値情報と前記第2平均値情報との差分の総和を算出し、
前記第1推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定プログラム。
(付記6)
情報処理システムのリソースの負荷を計測する負荷計測部と、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定する事象特定部と、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する攻撃推定部と、を有する、
ことを特徴とする推定装置。
(付記7)
付記6において、
前記記憶部は、前記第2推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として記憶する、
ことを特徴とする推定装置。
(付記8)
付記6において、
前記第1推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第1平均値情報を含み、
前記第2推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第2平均値情報を含み、
前記攻撃推定部は、
前記第1推移情報毎に、それぞれ時系列順が同じである前記第1平均値情報と前記第2平均値情報との差分の総和を算出し、
前記第1推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定装置。
(付記9)
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
ことを特徴とする推定方法。
(付記10)
付記9において、さらに、
前記第2推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
ことを特徴とする推定方法。
(付記11)
付記9において、
前記第1推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第1平均値情報を含み、
前記第2推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第2平均値情報を含み、
前記推定では、
前記第1推移情報毎に、それぞれ時系列順が同じである前記第1平均値情報と前記第2平均値情報との差分の総和を算出し、
前記第1推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定方法。
1:管理装置 2:物理マシン
3:仮想マシン 11:利用者端末

Claims (7)

  1. コンピュータに、
    情報処理システムのリソースの負荷を計測し、
    計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
    前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
    処理を実行させることを特徴とする推定プログラム。
  2. 請求項1において、さらに、
    前記第2推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
    処理をコンピュータに実行させることを特徴とする推定プログラム。
  3. 請求項1において、
    前記情報処理システムは、1台以上の仮想マシンにおいて動作する情報処理システムであり、
    前記所定の値は、前記情報処理システムにおいて新たな仮想マシンの生成が行われる前記リソースの負荷に対応する値である、
    ことを特徴とする推定プログラム。
  4. 請求項3において、さらに、
    前記情報処理システムに対する外部攻撃が存在しないと推定した場合、前記情報処理システムにおいて新たな仮想マシンの生成を行う、
    ことを特徴とする推定プログラム。
  5. 請求項1において、
    前記第1推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第1平均値情報を含み、
    前記第2推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第2平均値情報を含み、
    前記推定では、
    前記第1推移情報毎に、それぞれ時系列順が同じである前記第1平均値情報と前記第2平均値情報との差分の総和を算出し、
    前記第1推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
    ことを特徴とする推定プログラム。
  6. 情報処理システムのリソースの負荷を計測する負荷計測部と、
    計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定する事象特定部と、
    前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する攻撃推定部と、を有する、
    ことを特徴とする推定装置。
  7. 情報処理システムのリソースの負荷を計測し、
    計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
    前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第1推移情報を特定し、特定した前記第1推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第2推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
    ことを特徴とする推定方法。
JP2016001469A 2016-01-07 2016-01-07 推定プログラム、推定装置及び推定方法 Pending JP2017123037A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016001469A JP2017123037A (ja) 2016-01-07 2016-01-07 推定プログラム、推定装置及び推定方法
US15/380,312 US20170201535A1 (en) 2016-01-07 2016-12-15 Estimation device and estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001469A JP2017123037A (ja) 2016-01-07 2016-01-07 推定プログラム、推定装置及び推定方法

Publications (1)

Publication Number Publication Date
JP2017123037A true JP2017123037A (ja) 2017-07-13

Family

ID=59274974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001469A Pending JP2017123037A (ja) 2016-01-07 2016-01-07 推定プログラム、推定装置及び推定方法

Country Status (2)

Country Link
US (1) US20170201535A1 (ja)
JP (1) JP2017123037A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382492B2 (en) 2017-03-02 2019-08-13 Draios Inc. Automated service-oriented performance management

Also Published As

Publication number Publication date
US20170201535A1 (en) 2017-07-13

Similar Documents

Publication Publication Date Title
EP3001345B1 (en) Targeted attack discovery
US20180046477A1 (en) Technique For Scaling An Application Having A Set Of Virtual Machines
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
JPWO2009008279A1 (ja) コンピュータシステム、管理装置、及びコンピュータシステム管理方法
US10452469B2 (en) Server performance correction using remote server actions
JPWO2011105091A1 (ja) 制御装置、管理装置、制御装置のデータ処理方法、およびプログラム
US20180081781A1 (en) Analyzing physical machine impact on business transaction performance
US20180309686A1 (en) Reducing rate limits of rate limiters
JP2019144785A (ja) 監視プログラム、監視装置及び監視方法
US20180095819A1 (en) Incident analysis program, incident analysis method, information processing device, service identification program, service identification method, and service identification device
CN103399791A (zh) 一种基于云计算的虚拟机迁移方法和装置
US20160124765A1 (en) Resource allocation apparatus, method, and storage medium
JP2017123037A (ja) 推定プログラム、推定装置及び推定方法
US10616081B2 (en) Application aware cluster monitoring
CN111931210A (zh) 一种访问控制方法、装置、设备及计算机存储介质
US11451056B2 (en) Processing apparatus, processing method, and program for inferring demand response
JP6269199B2 (ja) 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム
JP6823257B2 (ja) ジョブ監視プログラム、ジョブ監視装置及びジョブ監視方法
WO2018097877A1 (en) Window deviation analyzer
JP7410425B2 (ja) 監視システム、監視方法およびマネージャプログラム
JP2018032245A (ja) 計算機システム及びリソース制御方法
JP2009259005A (ja) リソース監視方法および装置
JP6398737B2 (ja) ログ取得管理プログラム、ログ取得管理装置及びログ取得管理方法
JP6951637B2 (ja) 調査資料採取プログラム、調査資料採取装置及び調査資料採取方法
JP2015114991A (ja) データ処理装置、データ処理装置監視方法およびデータ処理システム