(57)【特許請求の範囲】
【請求項１】
悪意属性の判別用サーバにおいて実行される、プログラムの悪意属性の判別方法であって、
前記サーバが、クライアントでの前記プログラムの動作データを取得するステップと、
前記サーバが、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得するステップと、
前記サーバが、前記プログラムの悪意動作及び／または悪意動作値によって前記プログラムの悪意属性を判断するステップと
を含み、
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、前記サーバが、前記悪意動作を式Actionevili=(Actionposi-Actionnegi)によって選択し、Actionposiは悪意プログラムサンプルセットでの動作ｉの発生頻度を示し、Actionnegiは非悪意プログラムサンプルセットでの動作ｉの発生頻度を示し、前記サーバは、Actioneviliが所定の閾値より大きい場合、動作ｉが悪意動作であると判断する
ことを特徴とする方法。
【請求項２】
前記サーバが、前記悪意動作値を式scorenewi=scoreoldi×(1+ratei)、ratei=IsBlacktoday_ratei-IsBlackyesterday_rateiによって確定し、
ここで、scorenewiは悪意動作ｉの新たな悪意動作値を示し、scoreoldiは悪意動作ｉの既存の悪意動作値を示し、rateiは悪意動作ｉの変化率を示し、IsBlacktoday_rateiは、悪意動作ｉが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、現在記録された悪意動作ｉの悪意動作百分率を示し、IsBlackyesterday_rateiは、悪意動作ｉが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、前回記録された悪意動作ｉの悪意動作百分率を示す
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記プログラムの悪意動作及び／または悪意動作値によって前記プログラムの悪意属性を判断することは、前記サーバが、
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することを含む
ことを特徴とする請求項１又は２に記載の方法。
【請求項４】
プログラムの悪意属性の判別用サーバであって、
クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニットと、
前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニットと、
前記プログラムの悪意動作及び／または悪意動作値によってプログラムの悪意属性を判断することに用いられる判断ユニットと、
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプル及び式Actionevili=(Actionposi-Actionnegi)によって動作の悪意動作値を取得することに用いられる動作判断ユニットと
を含み、
ここで、Actionposiは悪意プログラムサンプルセットでの動作ｉの発生頻度を示し、Actionnegi)は非悪意プログラムサンプルセットでの動作ｉの発生頻度を示し、Actioneviliは悪意動作値を示し、
前記動作判断ユニットは、Actioneviliが所定の閾値より大きい場合、動作ｉが悪意動作であると判断することに用いられる
ことを特徴とするプログラムの悪意属性の判別用サーバ。
【請求項５】
前記サーバは、更に、既存の悪意動作値によって新たな悪意動作値を取得することに用いられる新規悪意値取得ユニットを含み、前記悪意動作値が式scorenewi=scoreoldi×(1+ratei)、ratei=IsBlacktoday_ratei-IsBlackyesterday_rateiによって確定され、
ここで、scorenewiは悪意動作ｉの新たな悪意動作値を示し、scoreoldiは悪意動作ｉの既存の悪意動作値を示し、rateiは悪意動作ｉの変化率を示し、IsBlacktoday_rateiは、悪意動作ｉが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、現在記録された悪意動作ｉの悪意動作百分率を示し、IsBlackyesterday_rateiは、悪意動作ｉが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、前回記録された悪意動作ｉの悪意動作百分率を示す
ことを特徴とする請求項４に記載のサーバ。
【請求項６】
前記判断ユニットは、更に、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することに用いられる
ことを特徴とする請求項４又は５に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット通信分野に関し、特にプログラムの悪意属性の判別方法及び判別用サーバに関する。
【背景技術】
【０００２】
本出願は、２０１１年８月２３日に出願され、中国特許出願番号が２０１１１０２４３１２１５であり、出願人が騰訊科技（深セン）有限公司であり、発明名称が「プログラムの悪意属性の判別方法及び判別用サーバ」である中国特許出願の優先権の利益を亨受し、その中国特許出願の全内容は本出願において援用される。
【０００３】
例えば、コンピュータマネージャにおけるトロイの木馬クラウドスキャン機能のような既存のウイルススキャンプログラムでは、独立レポートファイル（独立レポートファイルとはクライアントから報告された、スキャンされた互いに異なるファイルである）における２０％程度のみについて、黒白属性を判断することができる。残りの８０％の独立レポートファイルでは、５０％のファイルがグレーな独立レポートファイルとされる。即ち、ウイルススキャンバックグラウンドにこれらのファイルと同じサンプルが記憶されているが、アンチウイルスソフトウェアによるスキャンによって黒白属性（即ち、ファイルにウイルスがあるかどうか）が判断されない。残りの３０％の独立レポートファイルは、根本的にウイルススキャンバックグラウンドにおける同じサンプルファイルを持っておらず、アンチウイルスソフトウェアセットのスキャンを行って属性を判断することができない。
【０００４】
以上の説明から理解されるように、現在におけるトロイの木馬クラウドスキャン技術では、許容差計画に関与するユーザから伝送された疑わしいｐｅファイル（ｐｅ：Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔｅ）を収集することで、これらの疑わしいｐｅファイルを、アンチウイルスソフトウェアによりスキャンし、これにより、予め指定されたスキャンルールに従って、スキャンすべきｐｅファイルの黒、白及びグレー属性を取得している。
【０００５】
しかし、この方法の欠点は、バックグラウンドにレポートファイルに対応するサンプルがない場合、ユーザがクラウドスキャンを行うときに、黒、白及びグレー属性を取得できないといった点にあり、また、一部のｐｅファイルがバックグラウンドに存在していても、既存のスキャンモデルではその黒、白及びグレー属性を取得できないといった点にある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態が解決しようとする技術的課題は、バックグラウンドにおける同じサンプルを持っていないレポートファイルの悪意属性を判断することができるプログラムの悪意属性の判別方法及び判別用サーバを提供することにある。
【課題を解決するための手段】
【０００７】
上記の技術的問題を解決するために、本発明の実施形態に係るプログラムの悪意属性の判別方法は、クライアントでの前記プログラムの動作データを取得するステップと、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得するステップと、前記プログラムの悪意動作及び／または悪意動作値によって前記プログラムの悪意属性を判断するステップとを含む。
【０００８】
対応して、本発明の実施形態は、さらに、プログラムの悪意属性の判別用サーバを提供し、この判別用サーバは、クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニットと、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニットと、前記プログラムの悪意動作及び／または悪意動作値によってプログラムの悪意属性を判断することに用いられる判断ユニットとを含む。
【０００９】
本発明の実施形態では、プログラムの動作データを取得し、そしてバックグラウンドの他のサンプルデータに応じて、プログラムにおけるこれらの動作のうちどの動作が悪意動作であるかを判断することによって、プログラムの悪意属性を判断している。そのため、本発明の実施形態は、バックグラウンドに同じサンプルがない場合でも、プログラムの悪意属性を判断することができ、これにより、システムのウイルススキャン効率を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態におけるプログラムの悪意属性の判別方法の一例を示す具体的なフローチャートである。
【図２】本発明の実施形態におけるプログラムの悪性属性の判別の一例を示す具体的なフローチャートである。
【図３】本発明の実施形態におけるプログラムの悪意属性の判別用サーバの一例を示す構成構造図である。
【図４】本発明の実施形態におけるプログラムの悪意属性の判別用サーバの別の構成構造図である。
【発明を実施するための形態】
【００１１】
本発明の実施形態または従来技術における技術的スキームをより明確に説明するために、図面の簡単な説明の欄において、実施形態または従来技術に必要な図面を簡単に説明する。明らかなように、図面の簡単な説明の欄における図面は、本発明のいくつかの実施形態に過ぎない。本分野の当業者であれば、創造的な努力をすることなく、これらの図面に基づいて他の図面を取得することができる。
【００１２】
以下、本発明の実施形態における図面を参照しながら、本発明の実施形態における技術的スキームを、明確かつ完全に説明する。明らかなように、ここで説明される実施形態は、本発明の実施形態の一部に過ぎず、全ての実施形態ではない。本発明の実施形態に基づき、本分野の当業者が創造的な努力をすることなく取得したすべての他の実施形態は、本発明の保護範囲に属する。
【００１３】
本発明の実施形態では、クライアントで生成されたプログラムの動作データが取得され、同時に、ウイルススキャンバックグラウンドの既存のプログラムサンプルにおいて、既存のサンプルによって、様々な悪意動作及び悪意動作値が定義される。本発明の実施形態では、クライアントから送信されたプログラムの動作データを受信した後、プログラムに悪意動作及び当該悪意動作の悪意動作値があるかどうかを判断することができる。これにより、プログラムの悪意属性の判断が実現される。
【００１４】
図１に示すように、本発明の実施形態におけるプログラムの悪意属性の判別方法は、以下のステップを含む。
【００１５】
ステップ１００、ローカルに記憶されたサンプルデータによって悪意動作セットを取得し、そして前記悪意動作セットにおける悪意動作の悪意動作値を取得する。本ステップは、選択可能であり、即ちシステムは、予めサンプルデータによって悪意動作及びその悪意程度を定義することができる。
【００１６】
本ステップは、サンプル訓練プロセスであり、具体的には、重み付け法のような様々なサンプル訓練方式を用いて動作の悪意性を判断することができる。本発明の実施形態は、後述のように、更に具体的なサンプル訓練方式を提供する。
【００１７】
第一：訓練プロセスにおいて、各ユーザの動作属性が悪意かそれとも正常かを判断する。正負属性動作の抽出方法は、周波数に基づく抽出、カイ二乗統計量に基づく抽出、情報ゲインに基づく抽出などの様々な方法がある。これらの方法は、最初にテキストのフィルタリングに用いられる。例えば、本発明のいくつかの具体的な実施形態では、特定のカテゴリを最も良く表すことができるユーザ動作を抽出するというこれらの全ての方法での一般的原理における特徴抽出アルゴリズムの考え方が用いられている。同様の原理に基づき、本発明の実施形態は、悪意サンプルセットと正常サンプルセットにおける特定動作の出現回数の差に基づいて、異なる属性の動作を抽出することができる。また、その後に、異なる特徴抽出方法が用いられてもよい。
【００１８】
第二：各悪意動作に対して採点を行う。採点方法は、悪意ｐｅファイルと正常ｐｅファイルにおける１つのユーザ動作の出現回数の差により、予め当該動作の得点を取得するという方法である。つまり、悪意プログラムサンプルセット（当該セットにおけるプログラムは既に悪意プログラムに確定されている）と非悪意プログラムサンプルセット（当該セットにおけるプログラムは既に非悪意プログラムに確定されている）におけるサンプルの数が同じであると判断した場合、式（１）によって動作が悪意動作であるかどうかを判断し、そして当該悪意動作の悪意指数Actioneviliを取得する。
【００１９】
Actionevili=(Actionposi-Actionnegi)    （１）
ここで、Actionposiは悪意プログラムサンプルセットにおける動作ｉの発生頻度を示し、Actionnegiは非悪意プログラムサンプルセットにおける動作ｉの発生頻度を示す。動作ｉの悪意指数Actioneviliが所定の閾値より大きい場合、動作ｉが悪意動作であると判断する。このように、サンプルデータにおける全ての動作を判断し、全ての悪意動作を取得することによって、１つの悪意動作セットを形成し、そして悪意動作に値を与えて悪意動作値を取得することができる。この動作値は悪意の程度によって設定された値である。
【００２０】
上記方法の原理は、２つのセットにおける特定のクライアント動作の発生頻度の差が大きくなるほど、悪意プログラムサンプルセットに現れるクライアント動作の可能性が高くなり、当該動作がより危険で、高リスクであることを表すといった原理である。
【００２１】
当該悪意動作値は、連続的に更新することもできる。即ちテストプロセスにおいて、悪意サンプルのフィルタ閾値を確定する。
【００２２】
第１：初期フィルタ閾値は、本発明の実施形態において特定された方法を用い、全ての訓練サンプルに対して採点を行い、全ての訓練サンプルの悪意動作の得点の合計を判断することによって確定することができる。１つの初期フィルタ閾値を、順次、特定し、テストにおいて、１つのサンプルの悪意動作の得点の合計が訓練サンプルにおける特定の閾値を超えた場合、黒サンプルであると判断する。
【００２３】
第２：本発明の実施形態における方法は、とても良い拡張性を持つため、新たな悪意動作が検出された場合、当該悪意動作を悪意動作データベースに加え、且つ１つの初期値を指定することができる。その後、改めて学習し、当該動作の得点を確定する。例えば、以下のような具体的な学習プロセスが採用される。
【００２４】
得点判断待ちのユーザ動作を有する１００個のファイルをランダムに抽出する。ある動作について、新たな得点は、元の得点に変化率を乗じた値に等しい。変化率は正の数であってもよいし、負の数であってもよい。１００個のファイルから検出された黒サンプルの今日の割合が昨日の割合よりも大きくなった場合、変化率は正の数となり、逆に、黒サンプルの検出率が持続的に低下した場合、この動作の悪意率が徐々に低下していると考えられ、この場合には、変化率が負の数となる。長期的な動作により、各悪意動作に一定の適当な得点が与えられ、そして最終的に安定する。
【００２５】
第３：最良の学習目標を達成するために、異なるユーザ動作分類方法と採点方法を用いて学習を行ってもよい。この場合フィルタ効果の良い方法を用いる。
【００２６】
例えば、悪意動作値は、下記の式（２）と（３）によって確定される。
scorenewi=scoreoldi×(1+ratei)              （２）
ratei=IsBlacktoday_ratei-IsBlackyesterday_ratei    （３）
【００２７】
ここで、scorenewiは悪意動作ｉの新たな悪意動作値を示し、scoreoldiは悪意動作ｉの既存の悪意動作値を示し、rateiは悪意動作ｉの変化率を示し、IsBlacktoday_rateiは現在記録された（例えば当日の記録）の悪意動作ｉの悪意動作の百分率を示し、IsBlackyesterday_rateiは前回記録（昨日の記録）された悪意動作ｉの悪意動作の百分率を示す。
【００２８】
一般的には、悪意動作ｉが検出されたファイルのトップ１０内における、悪意ファイル（黒ファイル）とされたファイルのサンプルの割合（黒ファイル検出率）が昨日よりも大きい場合、悪意動作ｉの変化率は正の数となり、逆に、黒ファイル検出率が持続的に低下した場合、この動作の悪意率が徐々に低下していると考えられ、この場合には、悪意動作ｉの変化率は負の数となる。
【００２９】
そして、上記方法では、悪意動作を抽出できるだけではなく、白い動作に対しても採点を行うことができる。判断待ちのファイルの白属性得点の合計がある閾値を超えた場合、そのファイルは、白いファイルであると判断される。また、実際の使用プロセスにおいては、悪意動作の判別方法及び判別における閾値を持続的に更新することができる。
【００３０】
ステップ１０１、クライアントでの前記プログラムの動作データを取得する。当該動作データは、システムに定義された動作の識別子のみであってもよいし、動作に対する様々な説明を含んでいてもよい。
【００３１】
ステップ１０２、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映する悪意動作値とを取得する。
【００３２】
ステップ１０３、前記プログラムの悪意動作及び／または悪意動作値によって前記プログラムの悪意属性を判断する。当然ながら、本ステップでは、プログラムが悪意動作を含むかどうかのみによってプログラムの悪意属性を判断し、悪意動作またはある特定の悪意動作が存在すれば、当該プログラムが悪意プログラムであると判断する。従って、前記ステップでは、プログラムの悪意動作さえ取得すれば、判断を行うことができる。しかしながら、このような判断は、比較的に広範であり、そのため下記の方式に従って判断することもできる。
【００３３】
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断する。例えば、遠隔制御や、ドメインファイルの直接的な変更などの動作をプログラムが許可している場合、このプログラムを悪意プログラムとして直接的に判断することができる。
【００３４】
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断する。
【００３５】
図２に示すように、前記閾値によってプログラムの属性を判断するプロセスは、以下の処理を含んでいてもよい。プログラムの実行ファイルを取得し、当該ファイルが悪意ファイルであるかどうかを判断する。悪意ファイルである場合、当該プログラムが悪意プログラムであることをクライアントに返す。悪意ファイルでない場合、明らかな悪意動作があるかどうかを判断する。明らかな悪意動作がある場合、当該プログラムが悪意プログラムであることをクライアントに返す。明らかな悪意動作がない場合、一般的な悪意動作があるかどうか、即ち前記プログラムのいずれかの悪意動作値が高リスク閾値より大きいかどうかを判断する。一般的な悪意動作がある場合、当該プログラムが悪意プログラムであることをクライアントに返す。一般的な悪意動作がない場合、総悪意閾値を超えたかどうか、即ち前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きいかどうかを判断する。総悪意閾値を超えた場合、当該プログラムが悪意プログラムであることをクライアントに返す。総悪意閾値を超えていない場合、当該プログラムが非悪意プログラムであることをクライアントに返す。前記閾値は、実際の状況に応じて調整することができると理解できる。
【００３６】
本実施形態における前記方法は、既存のクラウドスキャンの補足として用いることができる。即ち、バックグラウンドに同じサンプルを持つプログラムに対しては、当該サンプルの属性によって直接的に当該プログラムの属性を判断してもよい。一方、バックグラウンドに同じサンプルを持っていないプログラムに対しては、前記方法によりプログラムの属性を判断することができる。従って、当該方法は、クラウドエンジンウィルススキャンシステムに用いることができる。
【００３７】
対応して、本発明の実施形態は、更にプログラムの悪意属性の判別用サーバを提供する。図３に示すように、当該サーバ３は、クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニット３０と、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニット３２と、前記プログラムの悪意動作及び／または悪意動作値によって前記プログラムの悪意属性を判断することに用いられる判断ユニット３４とを含む。
【００３８】
ここで、前記判断ユニット３４は、更に、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することに用いられる。
【００３９】
図４に示すように、当該サーバ３は、更に、サンプルデータにおける悪意プログラムサンプルセット及び非悪意プログラムサンプルセット内のサンプルによって、既存の動作のうちどの動作が悪意動作であるかを判断したり、悪意動作値を判断したりすることに用いられる動作判断ユニット３６を含んでいてもよい。
【００４０】
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、判断ユニット３６は、更に、サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプル及び式（１）によって動作の悪意指数Actioneviliを取得することに用いられる。
【００４１】
図４に示すように、当該サーバ３は、更に、既存の悪意動作値によって新たな悪意動作値を取得することに用いられる新規悪意値取得ユニット３８を含んでいてもよい。前記悪意動作値は前記式（２）と（３）によって確定される。ここで、scorenewiは悪意動作ｉの新たな悪意動作値を示し、scoreoldiは悪意動作ｉの既存の悪意動作値を示し、rateiは悪意動作ｉの変化率を示し、IsBlacktoday_rateiは現在記録された悪意動作ｉの悪意動作百分率を示し、IsBlackyesterday_rateiは前回記録された悪意動作ｉの悪意動作百分率を示す。
【００４２】
本発明の実施形態では、プログラムの動作データを取得し、バックグラウンドの他のサンプルデータによって、プログラムにおけるこれらの動作のうちどの動作が悪意動作であるかを判断した後、さらにプログラムの悪意属性を判断することができる。そのため、本発明の実施形態は、バックグラウンドに同じサンプルがない場合でも、プログラムの悪意属性を判断することができ、これにより、システムのウイルススキャン効率を向上させることができる。
【００４３】
本分野の当業者であれば、前記実施形態の方法の全部または一部のプロセスの実現がコンピュータプログラムによる関連ハードウェアへの指示によって達成することができること、前記プログラムをコンピュータ読取可能な記憶媒体に記憶することができること、当該プログラムが、その実行において、上述した各方法の実施形態のプロセスを含むことができることを理解されるであろう。ここで、前記記憶媒体は、ディスク、光ディスク、読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であってもよい。上述の説明は、本発明の好適な実施例に過ぎず、当然、本発明の保護範囲を限定するものではない。そのため本発明の権利範囲内で行われた如何なる同等の変形も本発明の保護範囲以内に含まれるべきである。
【図１】
0005700894.tif 000002
【図２】
0005700894.tif 000003
【図３】
0005700894.tif 000004
【図４】
0005700894.tif 000005