JP5803502B2 - 監視装置、制御方法及び制御プログラム - Google Patents

監視装置、制御方法及び制御プログラム Download PDF

Info

Publication number
JP5803502B2
JP5803502B2 JP2011211653A JP2011211653A JP5803502B2 JP 5803502 B2 JP5803502 B2 JP 5803502B2 JP 2011211653 A JP2011211653 A JP 2011211653A JP 2011211653 A JP2011211653 A JP 2011211653A JP 5803502 B2 JP5803502 B2 JP 5803502B2
Authority
JP
Japan
Prior art keywords
access
execution unit
storage
logic execution
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.)
Expired - Fee Related
Application number
JP2011211653A
Other languages
English (en)
Other versions
JP2013073405A (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.)
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 JP2011211653A priority Critical patent/JP5803502B2/ja
Priority to US13/568,766 priority patent/US9092620B2/en
Publication of JP2013073405A publication Critical patent/JP2013073405A/ja
Application granted granted Critical
Publication of JP5803502B2 publication Critical patent/JP5803502B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/45595Network integration; Enabling network access in 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、監視装置、制御方法及び制御プログラムに関する。
物理サーバとストレージ装置とをネットワーク接続する技術がある。この技術は、iSCSI(Internet Small Computer System Interface)等、物理サーバとストレージ装置との間をIPネットワークで接続したものがある。このIPネットワークで接続された物理サーバとストレージ装置は、各々が搭載するネットワーク機器に応じてIPアドレスなどネットワークアドレスが付与され、該ネットワークアドレスを使用して通信を行っている。
近年、この物理サーバにて、複数の仮想マシン(VM:Virtual Machine)を稼働させ、該VMからネットワーク上のストレージ装置へのアクセスを行うことが可能となっている。
上記したように、通信に用いるネットワークアドレスは、ネットワーク機器単位での付与となるため、物理サーバでは、搭載されるネットワーク機器単位で付与となる。即ち、ネットワークアドレスは、物理サーバで稼働するVM単位では付与されない。このため、物理サーバで稼働するVMからストレージ装置へのアクセスは、全て物理サーバに搭載されるネットワーク機器に割り当てられたネットワークアドレスを使用することになる。即ち、物理サーバで稼働する複数のVMが同じネットワークアドレスを使用してストレージ装置へのアクセスを行う場合がある。
ところで、ネットワークを使用したストレージ装置へのアクセスは、複数のサーバからのアクセスが行われるため、セキュリティの観点から、サーバ単位でストレージ装置内のアクセス可能領域を制限することがある。しかしながら、障害や悪意のあるソフトウエアなどにより、いずれかのサーバが、予め設定されているアクセス可能領域を逸脱してアクセスを行ってしまう場合がある(このようなアクセスを以下不正なアクセスと呼ぶ)。この様な、不正なアクセスを監視は、ネットワーク上のパケットをキャプチャする事により行われることがある。詳しくは、ネットワーク内にパケットキャプチャ装置を設置し、該装置によりキャプチャしたパケットに含まれるネットワークアドレスから送信元のサーバを特定し、該パケットに含まれるストレージ装置のアクセス可能領域外のアクセスが無いかを監視する。
しかしながら、上記したように、送信元IPアドレスは、物理サーバに搭載したネットワーク機器単位で割り振られているため、VMを搭載したサーバでは、たとえパケットを取得しても、該物理サーバ内で稼働している複数のVMのいずれから送信されたパケットかまでは識別できない。
このため、個々のVMからのアクセスが、その割り当てられた領域範囲外に対してアクセスを行っているのか、その割り当てられた領域範囲内に対してアクセスを行っているのかまでは送信元のネットワークアドレスを持って特定することができない。
即ち、送信元IPアドレスによる識別では、仮想サーバを実行する物理サーバのアクセスがストレージ装置に対し、不正なアクセスを行っているか正常なアクセスを行っているのか判定できない。
なお、先行技術文献としては、下記のものがある。
特開2005−269486号公報
本技術の開示での課題は、仮想サーバを実行する物理サーバのアクセスが異常なアクセスを行っているかを検出することができる監視装置を提供することである。
上記課題を解決するために、本技術では、複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置は、前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する判定部を有する。
本開示の技術の一側面によれば、仮想サーバを実行する物理サーバのアクセスが異常なアクセスを行っているかを検出することができる。
情報処理システムを示す図である。 サーバ装置の構成を示すブロック図である。 監視装置の構成を示すブロック図である。 本実施形態における情報処理システムを示す図である。 仮想ストレージが仮想サーバに割り当てられる場合の構成の一例を示す図である。 iSCSIにてデータを読み込む場合に使用するiSCSIコマンドフォーマットを示す図である。 CDB中のフォーマットを示す図である。 特定領域情報テーブルを示す図(その1)である。 アクセス判定情報テーブルを示す図である。 実施形態1における情報処理システムを示す図である。 実施形態1における監視装置の処理を示すフローチャートである。 実施形態2における情報処理システムを示す図である。 実施形態2における監視装置の処理を示すフローチャートである。 実施形態3における情報処理システムを示す図である。 実施形態3における監視装置の処理を示すフローチャートである。 実施形態4における情報処理システムを示す図である。 特定領域情報テーブルを示す図(その2)である。 実施形態4における監視装置の処理を示すフローチャートである。
以下、本実施形態における情報処理システムについて説明する。
(実施形態1)
図1は、本実施形態における情報処理システムを示す図である。情報処理システムは、複数のサーバ100、ネットワーク200、監視装置300及び複数のストレージ装置400を有する。複数のサーバ100、監視装置300及び複数のストレージ装置400は、ネットワーク200によって互いに接続される。サーバ100は、VM(Virtual Machine)を実行する。監視装置300は、サーバ100及びストレージ装置400の監視を行う。ストレージ装置400は、複数のディスクを有し、データを格納する。なお、サーバ100とストレージ装置400とからなる構成を当該情報処理システムの最小構成としても良い。
図2を用いて、本実施形態におけるサーバ100について説明する。サーバ100は、CPU201、主記憶装置202、システムコントローラ203、バス204、ネットワークコントローラ207、電源209、ディスクコントローラ212及びハードディスク213を有する。サーバ100は、CPU(Central Processing Unit)201によって制御されている。
CPU201及び主記憶装置202には、システムコントローラ203が接続されている。システムコントローラ203は、CPU201と主記憶装置202との間のデータ転送や、CPU201とバス204との間のデータ転送を制御する。さらに、システムコントローラ203には、バス204を介して、ネットワークコントローラ207及びディスクコントローラ212が接続されている。
主記憶装置202には、CPU201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置202には、CPU201による処理に必要な各種データが格納される。主記憶装置202には、例えば、RAM(Random Access Memory)が用いられる。
ディスクコントローラ212には、ハードディスク213が接続されている。ディスクコントローラ212は、ハードディスク213を制御する。
ハードディスク213は、CPU201が主記憶装置202上でVMを実行するためのアプリケーションプログラム3000、CPU201に当該アプリケーションプログラム3000の呼び出しなどの制御を行わせる制御プログラム2000及び各種データを格納する。
ネットワークコントローラ207は、図1に示したサーバ100及びストレージ装置400と接続されており、サーバ100及びストレージ装置400との間で、データの送受信を行う。
電源209は、不図示の電源線を介してサーバ100内の各ハードウェアに対して電力を供給する。
このようなハードウェアによって、サーバ100の処理機能を実現することができる。
図3を用いて、本実施形態における監視装置300について説明する。監視装置300は、CPU221、主記憶装置222、システムコントローラ223、バス224、ネットワークコントローラ227、電源229、ディスクコントローラ232及びハードディスク233を有する。監視装置300は、CPU221によって制御されている。
CPU221及び主記憶装置222には、システムコントローラ223が接続されている。システムコントローラ223は、CPU221と主記憶装置222との間のデータ転送や、CPU221とバス224との間のデータ転送を制御する。さらに、システムコントローラ223には、バス224を介して、ネットワークコントローラ227及びディスクコントローラ232が接続されている。
主記憶装置222には、CPU221に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置222には、CPU221による処理に必要な各種データが格納される。主記憶装置222には、例えば、RAMが用いられる。
ディスクコントローラ232には、ハードディスク233が接続されている。ディスクコントローラ232は、ハードディスク233を制御する。
ハードディスク233は、CPU221が主記憶装置222上で実行するアプリケーションプログラム1000、CPU221に当該アプリケーションプログラム1000の呼び出しなどの制御を行わせる制御プログラム4000及び各種データを格納する。また、ハードディスク233は、特定領域情報テーブル510等を格納する。なお、特定領域情報テーブル510等については後述する。
ネットワークコントローラ227は、図1に示したサーバ100及びストレージ装置400と接続されており、サーバ100及びストレージ装置400との間で、データの送受信を行う。
電源229は、不図示の電源線を介して監視装置300内の各ハードウェアに対して電力を供給する。
このようなハードウェアによって、監視装置300の処理機能を実現することができる。
図4に図1において示した本実施形態における情報処理システムを示す。サーバ100のCPU201が、主記憶装置202にてアプリケーションプログラム3000を実行することで、サーバ100にて、VMが実行される。サーバ100それぞれにおいて、「VMA」110及び「VMB」120、「VMC」130及び「VMD」140が実行される。また、サーバ100はハイパーバイザ150を有する。ハイパーバイザ150は、VMの管理を行ったり、入出力の制御を行ったりする。
ストレージ装置400は、「ディスク0」410、「ディスク1」420、「ディスク2」430及び「ディスク3」440を有する。「ディスク0」410乃至「ディスク3」440はデータを記憶する。「ディスク0」410は「VMA」110に、「ディスク1」420は「VMB」120に、「ディスク2」430は「VMC」130に、「ディスク3」440は「VMD」140に、それぞれ対応付けられている。
監視装置300のCPU221が、主記憶装置222にてアプリケーションプログラム1000を実行することで、監視装置300にて、パケットキャプチャ310及びロジック実行部320が実行される。ハードディスク233は仮想システム構成情報540を格納する。仮想システム構成情報540は、VMと当該VMに対応付けられたディスクを示している。パケットキャプチャ310は、ネットワーク200を介してサーバ100とストレージ装置400との間で送受信されるパケットを取得する。なお、パケットキャプチャ310は、例えば、スイッチのミラー機能やタップ装置を介してパケットを取得すれば良い。ロジック実行部320は、パケットに含まれるIPアドレスを参照することにより、種々の処理を行い、ストレージ装置400への不正アクセスを検出する。
図5に、ストレージ装置400がiSCSIを利用して、各物理サーバ100、各仮想サーバ(VM110〜140)に割り当てられる場合の一例を示す。
ストレージ装置400内には、物理ディスク410(ここでは、説明の都合上、1つの物理ディスク410を示しているが、実際は、複数の物理ディスクで構成される)が搭載されている。
また、各物理サーバ100には、物理ディスク410と一意に対応付けた仮想的なディスクを備える。即ち、各物理サーバ100には、各々同じ構成の仮想ディスク160が配置される。
各VM(VMA1110,VMB120,VMC130,VMD140)には、各々論理的ディスク1〜4・111〜141が割り当てられている。この論理的ディスク1〜4・111〜141は、各々搭載する物理サーバの仮想ディスク160内の、お互いのVM同士が同じ領域へのアクセスができない排他的な領域をアクセスできる領域を割り当てている。
図6に、iSCSIにてデータを読み込む場合に使用するiSCSIコマンドフォーマット610を示す。
図7に、実際にiSCSIを利用することによるサーバ100とストレージ装置400との通信において、データの読み込みが行われる場合の、Command DescrIPtion Block(CDB)中のフォーマット620を示す。
図8に、特定領域情報テーブル510を示す。特定領域情報テーブル510は、仮想ストレージの全体のディスクの中で、ある特定の領域を示す情報を記録する。特定領域情報テーブル510は、項番511、変数512及び説明513を有する。項番「1」の変数「IP(initiator)」はInitiatorのIPアドレスを示す。InitiatorのIPアドレスは、物理サーバのIPアドレスである。項番「2」の変数「IP(target)」はTargetのIPアドレスを示す。TargetのIPアドレスはストレージ装置400のIPアドレスを示す。項番「3」の変数「LUN(Logical Unit Number)」はLUNの値を示す。LUNは、ストレージ装置を所定領域に分割した論理的な単位を特定する番号である。項番「4」の「LBA(Logical Block Address)」はLBAの開始値を示す。LBAは、当該所定領域をさらに分割した論理ブロックを特定するアドレス番号であり、LBAの開始値は、ある領域の先頭のLBAを示す。項番「5」の変数「LBA範囲」はLBAのOffsetを示す。LBAのOffsetは、当該領域に含まれる論理ブロックの数を示す。なお、LBAのOffsetは任意の値に設定可能である。例えば、LBAのOffsetを「10」と設定した場合、特定単位領域には10個の論理ブロックが含まれることになる。
図9に、アクセス判定情報テーブル520を示す。アクセス判定情報テーブル520は、ある特定の領域へのアクセス情報を記録する。アクセス判定情報テーブル520は、どの物理サーバからストレージ装置のどの領域にアクセスしたかを示すためのものであり、各物理サーバに対応付けられて各記憶領域ごとに生成されている。アクセス判定情報テーブル520は、項番521、変数522及び説明523を有する。項番「1」の変数「IP(target)」はTargetのIPアドレスを示す。項番「2」の変数「時刻」は、ある物理サーバからストレージ装置の領域にアクセスがあった時点のアクセス時刻を示す。ロジック実行部320は、当該時刻から所定時間経過後、異常アクセス判定を行う。項番「3」の変数「LUN」は、アクセスした領域のLUNの値を示す。項番「4」の「LBA」は、アクセスした領域のLBAの開始値を示す。項番「5」の変数「LBA範囲」は、アクセスした領域の範囲となるLBAのOffsetを示す。項番「6」の変数「アクセス回数」はLBAへアクセスした回数を示し、当該LBAへのアクセスを検出する都度更新され、所定の単位時間ごとにクリアされる。
図10に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。本実施形態では、「VMB」120のように、ストレージ装置400内の「VMB」120に割り当てられた領域以外の領域も含めて全体的にアクセスした場合を異常と判定する。なお、「VMD」140のように、ストレージ装置400内の「VMD」140に割り当てられた領域の一部領域をアクセスしている場合は正常と判定する。
サーバ100はそれぞれ、「VMA」110及び「VMB」120、「VMC」130及び「VMD」140を実行する。「VMA」110は、仮想ディスク160から論理的ディスク111を割り当てる。「VMB」120は、仮想ディスク160から論理的ディスク121を割り当てる。「VMC」130は、仮想ディスク160から論理的ディスク131を割り当てる。「VMD」140は、仮想ディスク160から論理的ディスク141を割り当てる。iSCSI180はストレージ装置400とサーバ100とを接続するためのストレージ用インタフェースである。
ストレージ装置400は、iSCSI180、論理ブロック「L0」411、論理ブロック「L1」412、論理ブロック「L2」413、論理ブロック「L3」421、論理ブロック「L4」422、論理ブロック「L5」423、論理ブロック「L6」431、論理ブロック「L7」432、論理ブロック「L8」433、論理ブロック「L9」441、論理ブロック「L10」442及び論理ブロック「L11」443を有する。論理ブロック「L0」411乃至論理ブロック「L2」413は「VMA」110に割り当てられている。論理ブロック「L3」421乃至論理ブロック「L5」423は「VMB」120に割り当てられている。論理ブロック「L6」431乃至論理ブロック「L8」433は「VMC」130に割り当てられている。論理ブロック「L9」441乃至論理ブロック「L11」443は「VMD」140に割り当てられている。iSCSI180はサーバ100とストレージ装置400とを接続するためのシトレージ用インタフェースである。ロジック実行部320は、パケットキャプチャ310が解析したパケットに含まれるInitiatorのIPアドレス、TargetのIPアドレス、LUN、LBA及びLBA範囲を参照することで、各論理ブロックの番号と当該論理ブロックへのアクセス回数とを対応付けて、図9に示したアクセス判定情報テーブル520に記録する。
図11を用いて実施形態1における監視装置300の処理を説明する。
ステップS101において、ロジック実行部320は、現在時刻を取得する。ロジック実行部320は、処理をステップS102へ移行する。
ステップS102において、ロジック実行部320は、ステップS101にて取得した時刻と前回ステップS102を実行した時刻との差分とから所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部320は、処理をステップS105へ移行する。一方、所定時間が経過していない場合、ロジック実行部320は、処理をステップS103へ移行する。
ステップS103において、パケットキャプチャ310は、ネットワーク200を介してサーバ100とストレージ装置400との間で送受信されるパケットを取得する。ロジック実行部320は、処理をステップS104へ移行する。
ステップS104において、ロジック実行部320は、パケットキャプチャ310が取得したパケットのInitiatorのIPアドレスやTargetのIPアドレス、LUN等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル520の特定領域単位での各キーのアクセス回数を更新する。ここで、キーとは、LUN、LBA及びLBA範囲の3つの項目から特定される領域である。その後、ロジック実行部320は、処理をステップS102へ戻す。
ステップS105において、ロジック実行部320は、アクセス判定情報テーブル520を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部320は、特定領域単位の一例として、各論理ブロックを用い、当該論理ブロックでの各キーへのアクセス回数を取得する。ロジック実行部320は、処理をステップS106へ移行する。
ステップS106において、ロジック実行部320は、全キーへのアクセス回数が0よりも大きいか否かを判定する。全キーへのアクセス回数が0よりも大きい場合、ロジック実行部320は、処理をステップS107へ移行する。一方、全キーへのアクセス回数が0よりも大きくない場合、ロジック実行部320は、処理をステップS108へ移行する。
ステップS107において、ロジック実行部320は、VMからストレージ装置へのアクセスは正常と判定する。ロジック実行部320は、処理をステップS109へ移行する。
ステップS108において、ロジック実行部320は、VMからストレージ装置へのアクセスは異常と判定する。ロジック実行部320は、処理をステップS109へ移行する。
ステップS109において、ロジック実行部320は、全キーへのアクセス回数をクリアする。具体的には、ロジック実行部320は、アクセス判定情報テーブル520のアクセス回数を0にする。ロジック実行部320は、処理をステップS101へ戻す。
本実施形態によれば、単位時間あたりに特定領域の全体にアクセスしている場合は異常と判定し、単位時間あたりに特定領域の一部にアクセスしている場合は正常と判定することができる。通常のVMは、単位時間内に、特定のディスク領域にしかアクセスしない可能性が高く、一方、悪意あるVMは、単位時間内に、ディスク全体の領域にアクセスする可能性が高いことに着目している。これによれば、単位時間あたりに特定領域の全体にアクセスしている物理サーバの中には、不正アクセスを行っているVMが存在すると判定することができる。
なお、ステップS107において異常と判定された場合、ロジック実行部320は、例えば、異常アクセスが発生したことを管理者にメールなどで通知するようにしても良い。また、ステップS107において異常と判定された場合、ロジック実行部320は、例えば、異常アクセスを示すログを出力するようにしても良い。
(実施形態2)
図12に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。本実施形態では、「VMB」120のように、ストレージ装置400内の「VMB」120に割り当てられた領域以外の領域も含めて、Lx(411〜443)で示すLBAとOffsetで示すそれぞれの領域に、シーケンシャルにアクセスした場合を異常と判定する。なお、「VMD」140のように、ストレージ装置400内の「VMD」140に割り当てられた領域の一部にアクセスしている場合は正常と判定する。
図13を用いて実施形態2における監視装置300の処理を説明する。
ステップS201において、ロジック実行部320は、現在時刻を取得する。ロジック実行部320は、処理をステップS202へ移行する。
ステップS202において、ロジック実行部320は、ステップS201にて取得した時刻と前回ステップS202を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部320は、処理をステップS205へ移行する。一方、所定時間が経過していない場合、ロジック実行部320は、処理をステップS203へ移行する。
ステップS203において、パケットキャプチャ310は、ネットワーク200を介してサーバ100とストレージ装置400との間で送受信されるパケットを取得する。ロジック実行部320は、処理をステップS204へ移行する。
ステップS204において、ロジック実行部320は、パケットキャプチャ310が取得したパケットのInitiatorのIPアドレスやTargetのIPアドレス、LUN等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル520のアクセス回数を更新する。その後、ロジック実行部320は、処理をステップS202へ戻す。
ステップS205において、ロジック実行部320は、アクセス判定情報テーブル520を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部320は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部320は、処理をステップS206へ移行する。
ステップS206において、ロジック実行部320は、アクセスしたキーの直前のキーが0であるか否かを判定する。具体的には、ロジック実行部320は、アクセス判定情報テーブル520を参照して、1つ前の論理ブロックにアクセスがあったか否かを判定する。アクセスしたキーの直前のキーが0である場合、ロジック実行部320は、処理をステップS207へ移行する。一方、アクセスしたキーの直前のキーが0でない場合、ロジック実行部320は、処理をステップS208へ移行する。
ステップS207において、ロジック実行部320は、VMからストレージ装置へのアクセスは正常と判定する。ロジック実行部320は、処理をステップS209へ移行する。
ステップS208において、ロジック実行部320は、VMからストレージ装置へのアクセスは異常と判定する。ロジック実行部320は、処理をステップS209へ移行する。
ステップS209において、ロジック実行部320は、全キーへのアクセス回数を0に初期化することでクリアする。その後、ロジック実行部320は、処理をステップS201へ戻す。
本実施形態によれば、特定領域の全体に、論理ブロック「L0」から論理ブロック「L5」の順にシーケンシャルにアクセスしている場合は異常と判定し、単位時間あたりに特定領域の一部にアクセスしている場合は正常と判定することができる。正常時でも、確率的には、ディスクの特定領域の全体にアクセスする可能性はある。ただし、ランダムに、かつ、重複してアクセスされる可能性が高い。一方、悪意あるVMが特定領域の全体にアクセスする場合、効率的にデータを収集するために、特定領域をシーケンシャルにアクセスする可能性が高いことに着目している。
(実施形態3)
図14に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。論理ブロック「L0」411乃至論理ブロック「L11」443内に付した番号は所定時間内にサーバ100からアクセスされた回数を示す。本実施形態では、論理ブロック「L0」411乃至論理ブロック「L5」423のように、特定領域の全体にランダムであるが重複なくアクセスしている場合を異常と判定する。なお、論理ブロック「L6」431乃至論理ブロック「L11」443のように、特定領域の全体に重複してアクセスしている場合を正常と判定する。
図15を用いて実施形態3における監視装置300の処理を説明する。
ステップS301において、ロジック実行部320は、現在時刻を取得する。ロジック実行部320は、処理をステップS302へ移行する。
ステップS302において、ロジック実行部320は、ステップS301にて取得した時刻と前回ステップS302を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部320は、処理をステップS305へ移行する。一方、所定時間が経過していない場合、ロジック実行部320は、処理をステップS303へ移行する。
ステップS303において、パケットキャプチャ310は、ネットワーク200を介してサーバ100とストレージ装置400との間で送受信されるパケットを取得する。ロジック実行部320は、処理をステップS304へ移行する。
ステップS304において、ロジック実行部320は、パケットキャプチャ310が取得したパケットのInitiatorのIPアドレスやTargetのIPアドレス、LUN等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル520のアクセス回数を更新する。その後、ロジック実行部320は、処理をステップS302へ戻す。
ステップS305において、ロジック実行部320は、アクセス判定情報テーブル520を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部320は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部320は、処理をステップS306へ移行する。
ステップS306において、ロジック実行部320は、全キーへのアクセス回数がnよりも大きく、かつmよりも小さいか否かを判定する。この判定を満たす場合、ロジック実行部320は、処理をステップS307へ移行する。一方、この判定を満たさない場合、ロジック実行部320は、処理をステップS308へ移行する。
ステップS307において、ロジック実行部320は、VMからストレージ装置へのアクセスは異常と判定する。ロジック実行部320は、処理をステップS309へ移行する。
ステップS308において、ロジック実行部320は、VMからストレージ装置へのアクセスは正常と判定する。ロジック実行部320は、処理をステップS309へ移行する。
ステップS309において、ロジック実行部320は、全キーへのアクセス回数をクリアする。ロジック実行部320は、処理をステップS301へ戻す。
本実施形態によれば、特定領域の全体に、ランダムであるが重複なくアクセスしている場合は異常と判定し、特定領域の全体に、ランダムであり、かつ、重複してアクセスしている場合は正常と判定することができる。正常時でも、確率的には、ディスクの特定領域の全体にアクセスする可能性はある。一方、悪意あるVMが特定領域の全体にアクセスする場合、効率的にデータを収集するために、特定領域を、重複なくアクセスする可能性が高いことに着目している。なお、ステップS306において用いた、m及びnには「n<m」の条件を満たした任意の値を設定すれば良い。
(実施形態4)
図16に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。論理ブロック「L0」411、論理ブロック「L1」412、論理ブロック「L3」421及び論理ブロック「L5」423は既にデータが記録されているものとする。論理ブロック「L0」411、論理ブロック「L1」412、論理ブロック「L3」421及び論理ブロック「L5」423にアクセスがあった場合を異常と判定する。
図17に、アクセス判定情報テーブル530を示す。アクセス判定情報テーブル530は、ある特定の領域へのアクセス情報を記録する。アクセス判定情報テーブル530は、項番531、変数532及び説明533を有する。項番「1」の変数「IP(target)」はTargetのIPアドレスを示す。項番「2」の変数「時刻」は、領域にアクセスがあった時点のアクセス時刻を示す。ロジック実行部320は、当該時刻から所定時間経過後、異常アクセス判定を行う。項番「3」の変数「LUN」はLUNの値を示す。項番「4」の「LBA」は、アクセスした領域のLBAの開始値を示す。項番「5」の変数「LBA範囲」は、アクセスした領域の範囲となるLBAのOffsetを示す。項番「6」の変数「アクセス回数」はLBAへアクセスした回数を示す。項番「7」の変数「書込みフィールド」は、既にデータを記録している論理ブロックである論理ブロック「L0」411、論理ブロック「L1」412、論理ブロック「L3」421及び論理ブロック「L5」423にアクセスがあった場合に、ロジック実行部320は、当該論理ブロックに対応する書込み発生記録フィールドのフラグを「0」から「1」に変更する。
図18を用いて実施形態4における監視装置300の処理を説明する。
ステップS401において、ロジック実行部320は、現在時刻を取得する。ロジック実行部320は、処理をステップS402へ移行する。
ステップS402において、ロジック実行部320は、ステップS401にて取得した時刻と前回ステップS402を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部320は、処理をステップS405へ移行する。一方、所定時間が経過していない場合、ロジック実行部320は、処理をステップS403へ移行する。
ステップS403において、パケットキャプチャ310は、ネットワーク200を介してサーバ100とストレージ装置400との間で送受信されるパケットを取得する。ロジック実行部320は、処理をステップS404へ移行する。
ステップS404において、ロジック実行部320は、パケットキャプチャ310が取得したパケットのInitiatorのIPアドレスやTargetのIPアドレス、LUN等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル520のアクセス回数を更新する。その後、ロジック実行部320は、処理をステップS402へ戻す。
ステップS405において、ロジック実行部320は、アクセス判定情報テーブル520を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部320は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部320は、処理をステップS406へ移行する。
ステップS406において、ロジック実行部320は、キーへのアクセス回数が0よりも大きく、かつ書込みフィールドのフラグが1であるか否かを判定する。この判定を満たす場合、ロジック実行部320は、処理をステップS407へ移行する。一方、この判定を満たさない場合、ロジック実行部320は、処理をステップS408へ移行する。
ステップS407において、ロジック実行部320は、VMからストレージ装置へのアクセスは異常と判定する。ロジック実行部320は、処理をステップS409へ移行する。
ステップS408において、ロジック実行部320は、VMからストレージ装置へのアクセスは正常と判定する。ロジック実行部320は、処理をステップS409へ移行する。
ステップS409において、ロジック実行部320は、全キーへのアクセス回数と書き込みフィールドのフラグを0に初期化することでクリアする。その後、ロジック実行部320は、処理をステップS401へ戻す。
本実施形態では、悪意あるVMが、標準的なOSコマンド(ls、cp等)でディスクにアクセスし、ファイルの探索を試みる場合、既にデータが書き込みされている領域しかアクセス対象にならないことに着目している。
以上、実施形態1〜4によれば、仮想ストレージへのアクセスする際のiSCSIパケットの通信パターンを解析し、その通信パターンに異常な挙動があるか否かを判定することで、セキュリティ的な異常を検出することができる。これにより、VMからストレージ装置への不正なアクセスを検出できる。パケットキャプチャによる外付けのモニタリング方式により、ハイパーバイザ層に依存しないセキュリティ監視が可能である。また、この外付けの汎用性により、VMWare、XENなど、複数の仮想化アーキテクチャでのICTシステムに適用可能である。さらに、仮想サーバによる仮想システムだけでなく、仮想ストレージを利用する物理的なホスティングのシステムにも適用可能である。
以上、本発明の例示的な実施の形態の情報処理システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
100 サーバ
110、120、130、140 VM
111、121、131、141 論理的ディスク
150 ハイパーバイザ
160 ディスク
180 iSCSI
200 ネットワーク
201、221 CPU
202、222 主記憶装置
203、223 システムコントローラ
204、224 バス
207、227 ネットワークコントローラ
209、229 電源
212、232 ディスクコントローラ
213、233 ハードディスク
300 監視装置
310 パケットキャプチャ
320 ロジック実行部
400 ストレージ装置
410、420、430、440 ディスク
411、412、413、421、422、423、431、432、433、441、442、443 論理ブロック
510 特定領域情報テーブル
511、521 項番
512、522 変数
513、523 説明
520、530 アクセス判定情報テーブル
540 仮想システム構成情報
610 iSCSIコマンドフォーマット
620 CDB中のフォーマット
1000、3000 アプリケーション
2000、4000 制御プログラム

Claims (6)

  1. 複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置において、
    前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する判定部
    を有することを特徴とする監視装置。
  2. 前記判定部は、前記パケットの解析結果に基づき、前記単位時間内に検出した前記サーバ装置から前記ストレージ装置に対してなされアクセスが前記複数の記憶領域に所定順序に従って行われている場合、異常アクセスが行われていると判定することを特徴とする請求項1記載の監視装置。
  3. 前記判定部は、前記パケットの解析結果に基づき、前記単位時間内に検出した前記サーバ装置から前記ストレージ装置に対してなされるアクセスが前記複数の記憶領域の全てに一回ずつ行われている場合、異常アクセスが行われていると判定することを特徴とする請求項1記載の監視装置。
  4. 前記サーバ装置がアクセスしている記憶領域には、データが格納されていることを特徴とする請求項1乃至3に記載の監視装置。
  5. 複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置の制御方法において、 前記監視装置が、
    前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、
    所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する、
    ことを特徴とする制御方法。
  6. 複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置の制御プログラムであって、
    前記監視装置に、
    前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、
    所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する、
    処理を実行させることを特徴とする制御プログラム。
JP2011211653A 2011-09-27 2011-09-27 監視装置、制御方法及び制御プログラム Expired - Fee Related JP5803502B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011211653A JP5803502B2 (ja) 2011-09-27 2011-09-27 監視装置、制御方法及び制御プログラム
US13/568,766 US9092620B2 (en) 2011-09-27 2012-08-07 Monitoring apparatus, control method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011211653A JP5803502B2 (ja) 2011-09-27 2011-09-27 監視装置、制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2013073405A JP2013073405A (ja) 2013-04-22
JP5803502B2 true JP5803502B2 (ja) 2015-11-04

Family

ID=47912502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011211653A Expired - Fee Related JP5803502B2 (ja) 2011-09-27 2011-09-27 監視装置、制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US9092620B2 (ja)
JP (1) JP5803502B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5121258B2 (ja) * 2007-03-06 2013-01-16 株式会社東芝 不審行動検知システム及び方法
US9501222B2 (en) * 2014-05-09 2016-11-22 Micron Technology, Inc. Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction
JP6354901B2 (ja) * 2014-10-06 2018-07-11 日本電気株式会社 仮想マシンの故障検知および回復用管理システム
JP6440203B2 (ja) * 2015-09-02 2018-12-19 Kddi株式会社 ネットワーク監視システム、ネットワーク監視方法およびプログラム
JP6610100B2 (ja) * 2015-09-07 2019-11-27 富士通株式会社 ログ分析方法、プログラム及び情報処理装置
US10924467B2 (en) * 2016-11-04 2021-02-16 Microsoft Technology Licensing, Llc Delegated authorization for isolated collections
US10514854B2 (en) 2016-11-04 2019-12-24 Microsoft Technology Licensing, Llc Conditional authorization for isolated collections
US10873589B2 (en) * 2017-08-08 2020-12-22 Sonicwall Inc. Real-time prevention of malicious content via dynamic analysis
US11151252B2 (en) 2017-10-13 2021-10-19 Sonicwall Inc. Just in time memory analysis for malware detection
US10685110B2 (en) 2017-12-29 2020-06-16 Sonicwall Inc. Detection of exploitative program code
US10902122B2 (en) 2018-01-31 2021-01-26 Sonicwall Inc. Just in time memory analysis for malware detection
US11232201B2 (en) 2018-05-14 2022-01-25 Sonicwall Inc. Cloud based just in time memory analysis for malware detection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2249450T3 (es) * 2000-07-05 2006-04-01 ERNST & YOUNG LLP Metodo y aparato para proporcionar servicios informaticos.
JP4327630B2 (ja) 2004-03-22 2009-09-09 株式会社日立製作所 インターネット・プロトコルを用いたストレージエリア・ネットワーク・システム、セキュリティ・システム、セキュリティ管理プログラム、ストレージ装置
US20060037077A1 (en) * 2004-08-16 2006-02-16 Cisco Technology, Inc. Network intrusion detection system having application inspection and anomaly detection characteristics
GB0514529D0 (en) * 2005-07-15 2005-08-24 Ibm Virtualisation engine and method, system, and computer program product for managing the storage of data
JP2008112343A (ja) * 2006-10-31 2008-05-15 Hitachi Ltd 計算機システム、アクセス制御方法及びホスト計算機
JP2008299930A (ja) * 2007-05-30 2008-12-11 Mega Chips Corp 半導体記憶装置
US20090138480A1 (en) * 2007-08-29 2009-05-28 Chatley Scott P Filing system and method for data files stored in a distributed communications network
KR101624868B1 (ko) * 2008-08-06 2016-06-07 삼성전자주식회사 가상화 장치의 제어방법 및 가상화 장치

Also Published As

Publication number Publication date
US9092620B2 (en) 2015-07-28
US20130080625A1 (en) 2013-03-28
JP2013073405A (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
JP5803502B2 (ja) 監視装置、制御方法及び制御プログラム
JP6310061B2 (ja) システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持
US11777705B2 (en) Techniques for preventing memory timing attacks
Owens et al. Non-interactive OS fingerprinting through memory de-duplication technique in virtual machines
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US10180915B2 (en) Method and apparatus for accessing physical resources
US10102375B2 (en) Multi-modal memory hierarchical management for mitigating side-channel attacks in the cloud
JP7144642B2 (ja) フォレンジクスのための動作ベースのvmリソースキャプチャ
CN111353162B (zh) 基于TrustZone分核异步执行的主动可信计算方法及系统
JP6594452B2 (ja) 仮想マシン性能を向上させる方法、端末、装置及びプログラム
JP2009031859A (ja) 情報収集システムおよび情報収集方法
US9983997B2 (en) Event based pre-fetch caching storage controller
JP2011154697A (ja) Raidと関連するアプリケーションの実行のための方法およびシステム
EP3274896B1 (en) Configuration of a memory controller for copy-on-write with a resource controller
JP4724640B2 (ja) ストレージ仮想化スイッチ
JP5966466B2 (ja) バックアップ制御方法、および情報処理装置
US8775786B1 (en) Boot caching for boot acceleration within data storage systems
EP3295606A1 (en) Secure virtual sector erasure method and system
JP2008305377A (ja) ネットワーク記憶装置の侵入保護システムおよび方法
US8055867B2 (en) Methods, apparatuses, and computer program products for protecting pre-staged provisioned data in a storage system
JP5478372B2 (ja) ゲストos制御システム
KR101532375B1 (ko) 가상 호출 경로를 이용한 드라이버 보안 시스템 및 방법
US20230229600A1 (en) Information processing system
JP5832408B2 (ja) 仮想計算機システム及びその制御方法
US20240111857A1 (en) Secure execution of a file on a copy device in a virtualized computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5803502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees