(57)【特許請求の範囲】
【請求項１】
仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備えた仮想化装置であって、
前記ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部と、
前記カーネルに入力された処理要求を検出する処理要求検出部と、
前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定するプロセス判定部と、
前記プロセス判定部により前記仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する処理要求判定部と、
前記処理要求判定部による判定結果に基づいて、警告を出力する警告部と、
を備えることを特徴とする仮想化装置。
【請求項２】
前記仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、
前記仮想マシンの起動要求を受付け、当該起動要求に応じて、前記カーネル上に仮想マシンを起動させ、当該仮想マシンを識別するプロセス識別情報を前記プロセス記憶部に記憶させるプロセス管理部と、
を備え、
前記プロセス判定部は、前記処理要求検出部が前記処理要求を検出すると、当該処理要求を入力した前記プロセスを識別するプロセス識別情報が、前記プロセス記憶部に記憶されているか否かを判定することにより、前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する
ことを特徴とする請求項１に記載の仮想化装置。
【請求項３】
仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備え、前記ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置の仮想化装置制御方法であって、
前記カーネルに入力された処理要求を検出する第１ステップと、
前記第１ステップにおいて検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第２ステップと、
前記第２ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第３ステップと、
前記第３ステップにおける判定結果に基づいて、警告を出力する第４ステップと、
を含むことを特徴とする仮想化装置制御方法。
【請求項４】
仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備え、前記ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置のコンピュータに、
前記カーネルに入力された処理要求を検出する第１ステップと、
前記第１ステップにおいて検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第２ステップと、
前記第２ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第３ステップと、
前記第３ステップにおける判定結果に基づいて、警告を出力する第４ステップと、
を実行させるための仮想化装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化支援機能を有するＣＰＵを備えた仮想化装置に関する。
【背景技術】
【０００２】
物理マシンのコンピュータリソースを複数の論理リソースに分割して複数の仮想マシンを起動し、仮想マシン毎にＯＳ（Operating System）を動作させる仮想化技術が存在する（例えば、特許文献１、２）。例えば、ＯＳからハードウェアへの処理要求をソフトウェアによってエミュレートすることにより、単一の物理マシン上に複数のＯＳを動作させることができる。ここで、ソフトウェアによるハードウェアのエミュレート処理には相当のオーバーヘッドがかかる。そこで、ハードウェアレベルでこのような仮想化を支援する仮想化支援機能を有するＣＰＵ（Central Processing Unit）が利用されている。物理マシン上で動作する仮想マシンは、ＣＰＵが備えるこのような仮想化支援機能を介して処理要求を行うことにより、効率良く動作することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３８０４４号公報
【特許文献２】国際公開第２００７／１０８０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このように物理マシン上に起動した仮想マシンが、外部からの不正アクセス等により乗っ取られて制御されてしまうことが起こり得ないとはいえない。このようなことが起きれば、その仮想マシンが何らかの不正行為の踏み台にされたり、その物理マシン上で動作する他の仮想マシンに対して攻撃がされたり、物理マシンの何らかの情報が抜き取られたりするような脅威になると考えられる。そこで、このような乗っ取りが行われた場合、そのことを検出することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、物理マシン上に起動する仮想マシンが乗っ取られた可能性があることを検出する仮想化装置、仮想化装置制御方法、仮想化装置制御プログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備えた仮想化装置であって、ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部と、カーネルに入力された処理要求を検出する処理要求検出部と、処理要求検出部が検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定するプロセス判定部と、プロセス判定部により仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する処理要求判定部と、処理要求判定部による判定結果に基づいて、警告を出力する警告部と、を備えることを特徴とする。
【０００７】
また、本発明は、仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、仮想マシンの起動要求を受付け、起動要求に応じて、カーネル上に仮想マシンを起動させ、仮想マシンを識別するプロセス識別情報をプロセス記憶部に記憶させるプロセス管理部と、を備え、プロセス判定部は、処理要求検出部が処理要求を検出すると、処理要求を入力したプロセスを識別するプロセス識別情報が、プロセス記憶部に記憶されているか否かを判定することにより、前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定することを特徴とする。
【０００８】
また、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備え、ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置の仮想化装置制御方法であって、カーネルに入力された処理要求を検出する第１ステップと、第１ステップにおいて検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第２ステップと、第２ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第３ステップと、第３ステップにおける判定結果に基づいて、警告を出力する第４ステップと、を含むことを特徴とする。
【０００９】
また、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備え、ＣＰＵにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置のコンピュータに、カーネルに入力された処理要求を検出する第１ステップと、第１ステップにおいて検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第２ステップと、第２ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第３ステップと、第３ステップにおける判定結果に基づいて、警告を出力する第４ステップと、を実行させるための仮想化装置制御プログラムである。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するＣＰＵを備えた仮想化装置が、ＣＰＵにおいて動作するカーネル上で動作する仮想マシンから、カーネルに入力されることが定められた複数の処理要求を予め記憶し、仮想マシンからカーネルに入力された処理要求を検出し、検出した処理要求と一致する処理要求が、予め記憶されているか否かを判定し、記憶されていないと判定された場合、警告を出力するようにしたので、物理マシン上に起動する仮想マシンが乗っ取られた可能性があることを検出することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による仮想化装置の構成例を示すブロック図である。
【図２】本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。
【図３】本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。
【図４】本発明の一実施形態によるプロセス記憶部に記憶されるプロセス情報のデータ例を示す図である。
【図５】本発明の一実施形態による処理要求記憶部に記憶されるデータ例を示す図である。
【図６】本発明の一実施形態による仮想化装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による仮想化装置１００の構成を示すブロック図である。仮想化装置１００は、ハードウェア１１０を備えたコンピュータ装置であり、ハードウェア１１０として、例えばＣＰＵ１１１と、ＨＤ１１３と、メモリ１１４と、ＮＩＣ１１５とを備えている。ＣＰＵ１１１は、複数の仮想マシンにおける複数のＯＳの並行動作をより効率的に行うための仮想化支援機能であるＶＴ（Virtualization Technology）１１２を有する中央演算処理装置である。ＶＴ１１２としては、例えばＩｎｔｅｌ  ＶＴ（Ｉｎｔｅｌは登録商標）や  ＡＭＤ−Ｖ（ＡＭＤは登録商標）などが適用できる。ＶＴ１１２は、例えば、ＯＳカーネル自体を仮想マシンのハイパーバイザとする仮想化技術に基づくＫＶＭ（Kernel-based Virtual Machine）のようなプログラムからの処理要求に応じて動作する。
【００１３】
ＨＤ（Hard Disk）１１３は、データが記憶される磁気ディスクであり、補助記憶装置である。メモリ１１４は、データが記憶される半導体メモリであり、主記憶装置である。ＮＩＣ（Network Interface Card）１１５は、ネットワーク通信を行う拡張カードである。仮想化装置１００は、この他にもハードウェア１１０として様々な要素を備えていて良い。
ここでは、ハードウェアレベルでの仮想化支援機能として、ＣＰＵ１１１がＶＴ１１２を備える例を説明するが、他のハードウェア１１０の要素においても、ハードウェアレベルでの仮想化支援機能を有していても良い。
【００１４】
このようなハードウェア１１０上でカーネル１２０が動作し、カーネル１２０上でアプリケーションプログラム等のプロセスが動作する。カーネル１２０は、ＯＳの中核となるプログラムである。本実施形態では、Ｌｉｎｕｘ（登録商標）カーネルを想定して説明するが、他のＯＳカーネルでも良い。カーネル１２０は、コンピュータリソースやデータ等をファイル単位で管理するファイルシステム１２１の機能を有し、このようなファイルに対する処理要求を行うためのシステムコールをプロセスに公開している。システムコールは、カーネル１２０と、カーネル１２０上で動作するプロセスとのインタフェースである。
【００１５】
ここでは、プロセスがカーネル１２０のシステムコールを呼び出すことを、プロセスがカーネル１２０に処理要求を入力するという。図２、図３は、カーネル１２０に入力される処理要求の例を示す図である。処理要求としては、例えば、ファイルからデータを読み出す「ｒｅａｄ」、ファイルにデータを書き込む「ｗｒｉｔｅ」、デバイスを制御する「ｉｏｃｔｌ」などが存在する。カーネル１２０は、カーネル１２０上で動作するプロセスから、このような処理要求の入力を受付け、入力された処理要求に応じてハードウェア１１０を動作させる。処理要求としては、例えば、ファイルの読み書き、ＶＴ１１２を含む各種ハードウェア要素への制御コマンド発行、プロセスやスレッドの新規生成、プロセスで使用するメモリの確保などが存在する。
【００１６】
例えば、図１において符号ａに示されるプロセスＡが、システムコールを介してファイル「／ｔｍｐ」のデータを読み出すｒｅａｄの処理要求を入力したり、符号ｂに示されるプロセスＢが、システムコールを介してファイル「／ｕｓｒ／ｈａｒａｄａ」にデータを書き込むｗｒｉｔｅの処理要求を入力したりすることができる。カーネル１２０は、処理要求に応じてハードウェア１１０にアクセスし、ファイルの読み書き等の処理を行う。
【００１７】
符号ｄに示されるプロセスＤと、符号ｅに示されるプロセスＥとは仮想マシンである。カーネル１２０にとって、仮想マシンは、他のアプリケーションプログラムと同様の１プロセスである。このような仮想マシンがカーネル１２０に対して入力する処理要求としては、自身のイメージファイル（プロセスＤであればファイル「／ｄａｔａ／ｉｍｇＤ」、プロセスＥであればファイル「／ｄａｔａ／ｉｍｇＥ」）に対する読み書き（ｒｅａｄまたはｗｒｉｔｅ）を行うものと、ＶＴ１１２にアクセスするファイル「／ｄｅｖ／ｋｖｍ」に対する制御（ｉｏｃｔｌ）を行うものとが存在する。ここで、仮想マシンがカーネル１２０に入力する処理要求は、基本的に、このような自身のイメージファイルに対する読み書きと、ＶＴ１１２に対する処理要求等、ある程度パターン化できるものである。すなわち、仮想マシンが行う処理要求のパターンを予め定めて記憶しておき、定められたパターン以外の処理要求を仮想マシンがカーネル１２０に入力したことを検出することにより、仮想マシンがパターン通りの動作をしていないことが検出できる。このような動作を行った場合、仮想マシンが乗っ取られた可能性があると考えられる。このような検出処理を行うために、カーネル１２０は、処理要求検出部１２２を備えている。この機能部は、例えばカーネル１２０に対するパッチプログラムとして提供できる。
【００１８】
処理要求検出部１２２は、プロセスから、システムコールを介してカーネル１２０に入力された処理要求を検出し、検出した処理要求を処理要求判定部１４３に通知する。ここで、処理要求には、処理要求元のプロセスを識別するプロセスＩＤが含まれる。
【００１９】
カーネル１２０で動作するプロセスＦは、カーネル１２０上に仮想マシンを起動する場合、ユーザから入力されるコマンド等に応じて仮想マシンを起動させ、起動した複数の仮想マシンの状態等を管理する仮想マシン管理プログラムであり、プロセス記憶部１４１と、プロセス管理部１４２と、プロセス判定部１４３と、処理要求記憶部１４４と、処理要求判定部１４５と、警告部１４６とを備えている。
【００２０】
プロセス記憶部１４１には、プロセス管理部１４２によって起動され管理されている仮想マシンのプロセスを識別するプロセスＩＤが記憶されている。仮想マシンは、ＶＴ１１２に対する処理要求をカーネルに入力することが予め定められたプロセスである。図４は、プロセス記憶部１４１に記憶されるプロセス情報のデータ例を示す図である。プロセス記憶部１４１には、ＶＭ（Virtual Machine）名と、イメージファイルパスと、ＯＳと、メモリと、ＣＰＵと、ステータスと、プロセスＩＤとが対応付けられて記憶される。ＶＭ名は、仮想マシンの名称である。イメージファイルパスは、ファイルシステムにおいて仮想マシンのイメージファイルが記憶された場所を識別する情報である。ＯＳは、対応する仮想マシンにおいて動作するＯＳの種別を示す情報である。メモリは、対応する仮想マシンに割り振られたメモリリソースの容量を示す情報である。ＣＰＵは、対応する仮想マシンに割り振られたＣＰＵリソースの個数を示す情報である。ステータスは、対応する仮想マシンの動作状態を示す情報であり、例えば「停止」や「実行中」等の情報が対応付けられる。プロセスＩＤは、カーネル１２０における仮想マシンのプロセスを識別する識別情報である。
【００２１】
プロセス管理部１４２は、仮想マシンの起動要求を受付け、受付けた起動要求に応じて、カーネル１２０上に仮想マシンを起動させ、起動させた仮想マシンを識別するプロセスＩＤをプロセス記憶部１４１に記憶させる。また、プロセス管理部１４２は、仮想マシンの停止要求を受付け、受付けた停止要求に応じた仮想マシンを停止させると、停止された仮想マシンに対応付けられてプロセス管理部１４２に記憶されたステータスを「停止」に更新する。
【００２２】
プロセス判定部１４３は、処理要求検出部１２２から、カーネル１２０に入力された処理要求を検出したことが通知されると、その処理要求を入力したプロセスを識別するプロセスＩＤが、プロセス管理部１４２に記憶されているか否かを判定する。すなわち、その処理要求を入力したプロセスが仮想マシンであるか否かを判定する。プロセス判定部１４３は、判定結果を処理要求判定部１４５に通知する。
【００２３】
処理要求記憶部１４４には、ＣＰＵ１１１において動作するカーネル１２０上で動作する仮想マシンから、カーネル１２０に入力されることが定められた複数の処理要求が予め記憶されている。予め定められた複数の処理要求とは、例えば、上述のように、仮想マシン自身のイメージファイルに対する読み書きと、ＶＴ１１２に対する処理要求等である。図５は、仮想マシンがカーネル１２０に入力することが予め定められた複数の処理要求の例を示す図である。処理要求記憶部１４４には、このような処理要求が記載された定義ファイルが記憶される。定義ファイルには、例えばワイルドカード（＊）の記号を使って処理要求を表現して記憶しておくこともできる。
【００２４】
処理要求判定部１４５は、処理要求検出部１２２が検出した処理要求に基づくプロセス判定部１４３の判定結果が、処理要求を入力したプロセスが仮想マシンであることを示す場合、その処理要求と一致する処理要求が、処理要求記憶部１４４に記憶されているか否かを判定する。すなわち、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを判定する。
【００２５】
警告部１４６は、プロセス記憶部１４１により、処理要求検出部１２２が検出した処理要求を入力したプロセスを識別するプロセスＩＤがプロセス記憶部１４１に記憶されていると判定され、かつ、処理要求判定部１４５により、処理要求検出部１２２が検出した処理要求と一致する処理要求が、処理要求記憶部１４４に記憶されていないと判定された場合、警告を出力する。ここで、警告を出力するとは、例えば、仮想化装置１００のディスプレイに警告文を出力するようにしても良いし、警告文を含むログファイルを出力して記憶領域に記憶させるようにしても良いし、定められたメールアドレスを宛先として警告文をメール送信するようにしても良い。また、警告部１４６は、カーネル１２０に対して警告を出力し、カーネル１２０は、警告部１４６から出力された警告に応じて、ＶＴ１１２に対して入力された処理要求に応じた処理を実行しないようにしても良い。あるいは、例えば仮想化装置１００のディスプレイに、処理要求に応じた処理を実行させるか否かを選択するダイアログを表示させることもできる。この場合、カーネル１２０は、処理要求を実行させると選択されたことが入力されれば、処理要求を実行させ、処理要求を実行させないと選択されたことが入力されれば、処理要求を実行させずに、そのプロセスを停止させるようにしても良い。
【００２６】
次に、本実施形態による仮想化装置１００の動作例を説明する。図６は、このような仮想化装置１００が警告を出力する動作例を示すフローチャートである。何らかのプロセスによりカーネル１２０に処理要求が入力されると（ステップＳ１）、処理要求検出部１２２は、入力された処理要求を検出する（ステップＳ２）。処理要求検出部１２２は、検出した処理要求をプロセス判定部１４３に通知する（ステップＳ３）。プロセス判定部１４３は、処理要求に含まれるプロセスＩＤが、プロセス記憶部１４１に記憶されているか否かを判定する（ステップＳ４）。
【００２７】
プロセス判定部１４３が、処理要求に含まれるプロセスＩＤはプロセス記憶部１４１に記憶されていないと判定すると（ステップＳ４：ＮＯ）、処理を終了する。一方、プロセス判定部１４３が、処理要求に含まれるプロセスＩＤはプロセス記憶部１４１に記憶されていると判定すると（ステップＳ４：ＹＥＳ）、処理要求判定部１４５は、処理要求記憶部１４４に記憶された処理要求を読み出し、ステップＳ２において検出された処理要求が、処理要求記憶部１４４に記憶されているか否かを判定する（ステップＳ５）。
【００２８】
処理要求判定部１４５が、ステップＳ２において検出された処理要求が、処理要求記憶部１４４に記憶されていると判定すると（ステップＳ５：ＹＥＳ）、処理を終了する。一方、処理要求判定部１４５が、ステップＳ２において検出された処理要求が、処理要求記憶部１４４に記憶されていないと判定すると（ステップＳ５：ＮＯ）、警告部１４６は、警告を出力する（ステップＳ６）。
【００２９】
このようにすれば、仮想化装置１００の管理者は、例えばカーネル１２０上で動作する仮想マシンが乗っ取られることなどにより、仮想マシンが意図しない動作を行っていることを知ることができる。
なお、本実施形態では、プロセス記憶部１４１とプロセス管理部１４２とを備える仮想マシン管理プログラムのプロセスが、プロセス判定部１４３と処理要求記憶部１４４と処理要求判定部１４５と警告部１４６とを備える例を説明したが、プロセス記憶部１４１とプロセス管理部１４２とを備える仮想マシン管理プログラムのプロセスとは別に、プロセス判定部１４３と処理要求記憶部１４４と処理要求判定部１４５と警告部１４６とを備えるプロセスを起動させる構成としても良い。
【００３０】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３２】
１００  仮想化装置
１１０  ハードウェア
１１１  ＣＰＵ
１１２  ＶＴ
１１３  ＨＤ
１１４  メモリ
１１５  ＮＩＣ
１２０  カーネル
１２１  ファイルシステム
１２２  処理要求検出部
１３０  システムコール
１４１  プロセス記憶部
１４２  プロセス管理部
１４３  プロセス判定部
１４４  処理要求記憶部
１４５  処理要求判定部
１４６  警告部
【図１】
0005637934.tif 000002
【図２】
0005637934.tif 000003
【図３】
0005637934.tif 000004
【図４】
0005637934.tif 000005
【図５】
0005637934.tif 000006
【図６】
0005637934.tif 000007