(57)【特許請求の範囲】
【請求項１】
ウェブサイトスキャン装置であって、
ウェブサイト内のリンクが当該ウェブサイト内の特定のウェブアプリケーションに属している場合、当該リンクに対して脆弱性スキャンが実行されないようにするため、当該ウェブサイトが採用している既知ウェブアプリケーションの特定リストに基づいて、前記リンクが当該ウェブサイト内の前記特定のウェブアプリケーションに属しているか否かを判定するポリシー分析手段と、
特定のウェブアプリケーションに属していないリンクを前記ポリシー分析手段から受け取り、受け取った前記リンクが指すリンクコンテンツを取得するクローラ手段と、
前記リンク及び前記リンクコンテンツに基づいて、前記リンクが既知ウェブアプリケーションに属しているか否かを判定し、前記リンクが前記既知ウェブアプリケーションに属している場合に、前記既知ウェブアプリケーションを、前記ウェブサイトにおける前記特定のウェブアプリケーションと判定するウェブアプリケーション特定手段と、
前記ウェブアプリケーション特定手段によって既知ウェブアプリケーションに属していないと判定されたリンクを受け取り、受け取った前記リンクに対して脆弱性フルスキャンを実行するフルスキャン手段と、
前記ウェブアプリケーション特定手段による判定が行われた特定のウェブアプリケーションを受け取り、前記特定のウェブアプリケーションの既知の脆弱性に基づいて、前記ウェブサイトに対して脆弱性検出を実行して、前記特定のウェブアプリケーションの前記既知の脆弱性が修正済みか否かを判定する既知ウェブアプリケーション脆弱性検出手段と
を備えることを特徴とするウェブサイトスキャン装置。
【請求項２】
前記ウェブサイトスキャン装置は、さらに、前記ウェブサイト内の１以上のリンクを格納しているウェブサイトリンク格納手段を備え、
前記クローラ手段は、さらに、取得された前記リンクコンテンツを分析して、当該リンクコンテンツに含まれる１以上のリンクを抽出し、抽出した１以上の前記リンクを前記ウェブサイトリンク格納手段に格納し、
前記ポリシー分析手段は、前記ウェブサイトリンク格納手段内の各リンクに対して判定を行う
ことを特徴とする請求項１に記載のウェブサイトスキャン装置。
【請求項３】
前記ウェブサイトスキャン装置は、さらに、前記ウェブサイト内の１以上の特定のウェブアプリケーションを格納している特定ウェブアプリケーション格納手段を備える
ことを特徴とする請求項１に記載のウェブサイトスキャン装置。
【請求項４】
前記ウェブサイトスキャン装置は、さらに、既知ウェブアプリケーションの特徴と、当該既知ウェブアプリケーションに関する１以上の脆弱性とを格納している既知ウェブアプリケーション特徴格納手段を備える
ことを特徴とする請求項１に記載のウェブサイトスキャン装置。
【請求項５】
前記ウェブアプリケーション特定手段は、
前記既知ウェブアプリケーションの特徴に基づいて規則セットを生成する規則生成部と、
前記リンク及び前記リンクコンテンツを取得し、取得した前記リンク及び前記リンクコンテンツの特徴を抽出し、抽出した前記リンク及び前記リンクコンテンツの前記特徴に基づいて、前記規則セットに含まれる複数の前記規則の一つがマッチしているか否か判定し、マッチした前記規則に対応する既知ウェブアプリケーションを、前記リンクが属する前記既知ウェブアプリケーションであるとして決定する規則マッチングエンジンと
を含むことを特徴とする請求項１乃至４のいずれか１項に記載のウェブサイトスキャン装置。
【請求項６】
前記規則セットに含まれる規則は、それぞれ、既知ウェブアプリケーションに対応しており、各規則は、１以上の副規則を含み、各副規則は、対応する前記既知ウェブアプリケーションの一つの特徴に対応しており、
ある規則に含まれる副規則の全てがマッチした場合にのみ、当該規則はマッチしていると判定される
ことを特徴とする請求項５に記載のウェブサイトスキャン装置。
【請求項７】
各規則に含まれる副規則は、一つのリンクと関連しており、
前記規則マッチングエンジンが、前記リンク及び前記リンクコンテンツの特徴がある規則の一つの副規則にマッチしていると判定したとき、前記クローラ手段によって、当該規則の他の副規則と関連する別のリンク及び当該別のリンクのコンテンツが取得され、
当該別のリンク及び当該別のリンクのコンテンツが前記規則に含まれる他の副規則とマッチするときにだけ、当該規則はマッチしていると判定される
ことを特徴とする請求項６に記載のウェブサイトスキャン装置。
【請求項８】
既知ウェブアプリケーションの前記特徴は、
特定のページ及び当該特定のページにおける特定のマーク、
特定のページ及び当該特定のページの全てのコンテンツ、
ＨＴＴＰレスポンスフィールド、及び、
特定のリンク
のうちの１以上から成る
ことを特徴とする請求項５に記載のウェブサイトスキャン装置。
【請求項９】
前記ウェブアプリケーション特定手段によって特定された特定のウェブアプリケーションは、さらに、当該特定のウェブアプリケーションのバージョンを含み、前記既知ウェブアプリケーション特徴格納手段は、さらに、既知ウェブアプリケーションの前記バージョンと関連づけて、前記既知ウェブアプリケーションの前記特徴と１以上の既知の脆弱性とを格納する
ことを特徴とする請求項４に記載のウェブサイトスキャン装置。
【請求項１０】
ポリシー分析手段、クローラ手段、ウェブアプリケーション特定手段、既知ウェブアプリケーション脆弱性検出手段及びフルスキャン手段を備えるウェブサイトスキャン装置により用いられるウェブサイトスキャン方法であって、
前記ポリシー分析手段によって、ウェブサイトが採用している既知ウェブアプリケーションの特定リストに基づいて、当該ウェブサイト内のリンクが当該ウェブサイト内の特定のウェブアプリケーションに属しているか否かを判定するステップと、
前記フルスキャン手段によって、前記リンクが前記特定のウェブアプリケーションに属している場合、前記リンクの脆弱性スキャンを実行せず、前記クローラ手段によって、前記リンクが前記特定のウェブアプリケーションに属していない場合、特定のウェブアプリケーションに属していないリンクを受け取り、受け取った前記リンクが指すリンクコンテンツを取得するステップと、
前記ウェブアプリケーション特定手段によって、前記リンク及び前記リンクコンテンツに基づき、前記リンクが既知ウェブアプリケーションに属しているか否かを判定するステップと、
前記ウェブアプリケーション特定手段によって、前記リンクが既知ウェブアプリケーションに属している場合には、当該既知ウェブアプリケーションを前記ウェブサイトにおける特定のウェブアプリケーションと決定し、前記既知ウェブアプリケーション脆弱性検出手段によって、特定のウェブアプリケーションの既知の脆弱性に応じて、前記ウェブサイトに対して脆弱性検出を実行して、前記特定のウェブアプリケーションの前記既知の脆弱性が修正済みか否かを判定するステップと、
前記フルスキャン手段によって、前記リンクが既知ウェブアプリケーションに属していない場合に、前記リンクに脆弱性フルスキャンを実行するステップと
を含むことを特徴とするウェブサイトスキャン方法。
【請求項１１】
前記ウェブサイトスキャン方法は、さらに、
前記クローラ手段により、前記ウェブサイトにおける１以上のリンクを取得するステップを含み、
前記ポリシー分析手段により、前記１以上のリンクに含まれる各リンクについて、判定が行われる
ことを特徴とする請求項１０に記載のウェブサイトスキャン方法。
【請求項１２】
前記リンクが既知ウェブアプリケーションに属しているか否か判定する前記ステップは、
１以上の既知ウェブアプリケーションにおいて、各既知ウェブアプリケーションの特徴に基づいて規則セットを生成するサブステップと、
前記リンク及び前記リンクコンテンツの特徴を抽出し、抽出した前記リンク及び前記リンクコンテンツの前記特徴が、前記規則セットに含まれる複数の前記規則の一つにマッチしているか否か判定するサブステップと、
マッチする場合、マッチした前記規則に対応する既知ウェブアプリケーションを、前記リンクが属する前記既知ウェブアプリケーションとして、決定するサブステップと
を含むことを特徴とする請求項１０又は１１に記載のウェブサイトスキャン方法。
【請求項１３】
前記規則セットの各規則は、各既知ウェブアプリケーションに対応し、各規則は、１以上の副規則を含み、各副規則は、対応する前記既知ウェブアプリケーションの一つの特徴に対応し、
ある規則に含まれる副規則の全てがマッチした場合にのみ、前記リンク及び前記リンクコンテンツの前記特徴は、前記規則にマッチしていると判定される
ことを特徴とする請求項１２に記載のウェブサイトスキャン方法。
【請求項１４】
前記リンク及び前記リンクコンテンツの前記特徴が前記規則セットに含まれる複数の前記規則の一つとマッチするか否か判定するステップは、さらに、
一つの規則に含まれる１以上の副規則が前記リンク及び前記リンクコンテンツの前記特徴にマッチし、かつ、当該規則が更に、別のリンクと関連する副規則を含むと判定された場合に、
当該別のリンクとそのコンテンツとを取得するサブステップと、
当該別のリンクとそのコンテンツとが前記規則の別の副規則とマッチするか否か判定するサブステップと
を含むことを特徴とする請求項１３に記載のウェブサイトスキャン方法。
【請求項１５】
前記既知ウェブアプリケーションの前記特徴は、
特定のページ及び当該特定のページにおける特定のマーク、
特定のページ及び当該特定のページの全てのコンテンツ、
ＨＴＴＰレスポンスフィールド、及び、
特定のリンク
のうちの１以上から成る
を特徴とする請求項１２に記載のウェブサイトスキャン方法。
【請求項１６】
前記特定のウェブアプリケーションは、さらに、当該特定のウェブアプリケーションのバージョンを含み、前記既知ウェブアプリケーションの前記特徴と１以上の既知の脆弱性とは、前記既知ウェブアプリケーションの前記バージョンと関連付けられている
ことを特徴とする請求項１０乃至１５のいずれか１項に記載のウェブサイトスキャン方法。
【請求項１７】
コンピュータ読み取り可能なコードから成り、サーバ上で実行されることによって、請求項１０乃至１６のいずれか１項に記載のウェブサイトスキャン方法をサーバに実行させるコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムを格納しているコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークセキュリティの分野に関し、特に、ウェブサイトが脆弱性を有するか否かを確認するために当該ウェブサイトをリモートスキャンするウェブサイトスキャン装置及びウェブサイトスキャン方法に関する。
【背景技術】
【０００２】
あるウェブサイトについて、ＣＧＩ脆弱性、ＳＱＬインジェクション脆弱性、クロスサイトスクリプティング脆弱性などの各種の脆弱性を有するか否かを判定するためには、当該ウェブサイトに対して外部から、すなわち遠隔から、脆弱性スキャンを実行して、上記のような脆弱性を有するか否か確認する必要がある。
今日、インターネット上の多数のウェブサイトは、いくつかの既知ウェブアプリケーションに基づいて構築されている。例えば、ウェブサイトのフォーラムシステムは、Discuz!、phpwind、Dvbbsなどの既知ウェブアプリケーションに基づいて構築すればよい。そして、ウェブサイトのブログシステムは、WordPressなどのウェブアプリケーションに基づいて構築すればよい。これら既知ウェブアプリケーションが、いくつかの既知のＣＧＩ脆弱性を含んでいたことは、既に知られている。例えば、Discuz!フォーラムは、バイパスグローバル変数防御脆弱性、Discuz!フォーラムのmanyou plug-inに含まれていたＳＱＬインジェクション脆弱性、WordPressに含まれていたバイパスパスワード保護脆弱性などを含んでいた。既知ウェブアプリケーションのアプリケーション範囲は非常に広いため、これらのウェブアプリケーションに関する脆弱性検討の範囲も非常に広くなるが、これらの既知ウェブアプリケーションの脆弱性については、手遅れにならないうちに修正方法が示される。従って、これらの既知ウェブアプリケーションは徐々に、比較的成熟した製品となってきた。ネットワークに公開された脆弱性以外の脆弱性が存在する可能性は非常に低くなっている。
【０００３】
従来のウェブサイト脆弱性のスキャン方法では、順番にウェブサイト上の全てのページを横断し、各ページについてクローラプログラムをコールし、ページコンテンツを取得して分析を行い、そうして、複数のページに対して包括的な脆弱性スキャンを実行している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のウェブサイト脆弱性のスキャン方法を、既知ウェブアプリケーションに基づいて構成されたウェブサイトのスキャンに用いる場合、スキャンによって脆弱性が発見される可能性は比較的低い。その一方で、多くの時間と帯域幅とが消費され、更に、スキャンプログラムの問題から誤って脆弱性ありと判定される事態すら生じ、そうなれば徒に顧客に不安を感じさせることになる。
【０００５】
以上のことから、既知のウェブアプリケーションがウェブサイトによって使用されている点を考慮して、不要な脆弱性スキャン処理を減らし、それによって、スキャン時間及び占有ネットワーク帯域幅を節約することで、ウェブサイトスキャンの効率を高める、という新しいウェブサイトスキャン装置及びウェブサイトスキャン方法が求められている。
本発明は、上記の課題に鑑みて提案されるものであり、上記課題を克服又は少なくとも部分的に解決する、ウェブサイトスキャンシステム及びウェブサイトスキャン方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の１つの態様として、ウェブサイトスキャン装置であって、ウェブサイト内のリンクが当該ウェブサイト内の特定のウェブアプリケーションに属している場合、当該リンクに対して脆弱性スキャンが実行されないようにするため、当該ウェブサイトが採用している既知ウェブアプリケーションの特定リストに基づいて、前記リンクが当該ウェブサイト内の前記特定のウェブアプリケーションに属しているか否かを判定するポリシー分析手段と、特定のウェブアプリケーションに属していないリンクを前記ポリシー分析手段から受け取り、受け取った前記リンクが指すリンクコンテンツを取得するクローラ手段と、前記リンク及び前記リンクコンテンツに基づいて、前記リンクが既知ウェブアプリケーションに属しているか否かを判定し、前記リンクが前記既知ウェブアプリケーションに属している場合に、前記既知ウェブアプリケーションを、前記ウェブサイトにおける前記特定のウェブアプリケーションと判定するウェブアプリケーション特定手段と、前記ウェブアプリケーション特定手段によって既知ウェブアプリケーションに属していないと判定されたリンクを受け取り、受け取った前記リンクに対して脆弱性フルスキャンを実行するフルスキャン手段と、前記ウェブアプリケーション特定手段による判定が行われた特定のウェブアプリケーションを受け取り、前記特定のウェブアプリケーションの既知の脆弱性に基づいて、前記ウェブサイトに対して脆弱性検出を実行して、前記特定のウェブアプリケーションの前記既知の脆弱性が修正済みか否かを判定する既知ウェブアプリケーション脆弱性検出手段と、を備えることウェブサイトスキャン装置を提供する。
【０００７】
また、オプションとして、本発明によるウェブサイトスキャン装置における前記ウェブアプリケーション特定手段は、前記既知ウェブアプリケーションの特徴に基づいて規則セットを生成する規則生成部と、前記リンク及び前記リンクコンテンツを取得し、取得した前記リンク及び前記リンクコンテンツの特徴を抽出し、抽出した前記リンク及び前記リンクコンテンツの前記特徴に基づいて、前記規則セットに含まれる複数の前記規則の一つがマッチしているか否か判定し、マッチした前記規則に対応する既知ウェブアプリケーションを、前記リンクが属する前記既知ウェブアプリケーションであるとして決定する規則マッチングエンジンとを含む。加えて、既知ウェブアプリケーションの特徴は、特定のページ及び当該特定のページにおける特定のマーク、特定のページ及び当該特定のページの全てのコンテンツ、ＨＴＴＰレスポンスフィールド、及び、特定のリンクのうちの１以上から成る。
【０００８】
また、本発明の別の態様として、ポリシー分析手段、クローラ手段、ウェブアプリケーション特定手段、既知ウェブアプリケーション脆弱性検出手段及びフルスキャン手段を備えるウェブサイトスキャン装置により用いられるウェブサイトスキャン方法であって、前記ポリシー分析手段によって、ウェブサイトが採用している既知ウェブアプリケーションの特定リストに基づいて、当該ウェブサイト内のリンクが当該ウェブサイト内の特定のウェブアプリケーションに属しているか否かを判定するステップと、前記フルスキャン手段によって、前記リンクが前記特定のウェブアプリケーションに属している場合、前記リンクの脆弱性スキャンを実行せず、前記クローラ手段によって、前記リンクが前記特定のウェブアプリケーションに属していない場合、特定のウェブアプリケーションに属していないリンクを受け取り、受け取った前記リンクが指すリンクコンテンツを取得するステップと、前記ウェブアプリケーション特定手段によって、前記リンク及び前記リンクコンテンツに基づき、前記リンクが既知ウェブアプリケーションに属しているか否かを判定するステップと、前記ウェブアプリケーション特定手段によって、前記リンクが既知ウェブアプリケーションに属している場合には、当該既知ウェブアプリケーションを前記ウェブサイトにおける特定のウェブアプリケーションと決定し、前記既知ウェブアプリケーション脆弱性検出手段によって、特定のウェブアプリケーションの既知の脆弱性に応じて、前記ウェブサイトに対して脆弱性検出を実行して、前記特定のウェブアプリケーションの前記既知の脆弱性が修正済みか否かを判定するステップと、前記フルスキャン手段によって、前記リンクが既知ウェブアプリケーションに属していない場合に、前記リンクに脆弱性フルスキャンを実行するステップと、を含むウェブサイトスキャン方法を提供する。
【発明の効果】
【０００９】
本発明によるウェブサイトスキャン装置及びウェブサイトスキャン方法を利用した場合、対象ウェブサイトが採用している既知ウェブアプリケーションが特定される際には、特定された既知ウェブアプリケーションの対応ディレクトリの下にあるページの全てをスキャンする必要はなく、既知ウェブアプリケーションに関して公開済みの脆弱性のチェックのみ行えばよいため、スキャン効率は大幅に向上する。更に、特定された既知ウェブアプリケーションについては、対応ディレクトリのファイル構造が直接取得され、クローラ部によるページコンテンツのクロールを実行しなくともよいため、ページクロールのために占有される帯域幅及び時間は小さくなるであろう。
【００１０】
加えて、本発明によるウェブサイトスキャン装置及びウェブサイトスキャン方法は、既知ウェブアプリケーションで新たに発見された脆弱性と脆弱性修正方法とを適時にアップデートする。そのため、本発明によるウェブサイトスキャン装置及びウェブサイトスキャン装置を用いてウェブサイトが利用している既知ウェブアプリケーションを特定する際に、ウェブサイトの脆弱性は手遅れになることなく発見され、脆弱性修正のための提案も示されるであろう。
【００１１】
また、特定された既知ウェブアプリケーションの対応ディレクトリの下にあるファイルに対しては、フルスキャンはそれ以上行われない。これにより、スキャンスキームの欠陥及びウェブ環境の複雑さが原因となって、これらディレクトリ下のファイルに各種脆弱性が存在すると誤認識される、という事態の発生を減らすことができる。
上記以外の各種効果及び利点については、当業者であれば、好適な実施の形態に関する以下の詳細な記述を読むことで明らかになるであろう。図面は好適な実施の形態の例示のみを目的としており、本発明を限定するものと見なすべきではない。全ての図面を通じて、類似の参照記号は類似の構成要素を示すのに用いられている。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態によるウェブサイトスキャン装置１００を概略的に示すブロック図である。
【図２】ウェブサイトスキャン装置１００におけるウェブアプリケーション特定部１４０を概略的に示すブロック図である。
【図３】ウェブアプリケーションDiscuz!に関する特徴的な例を概略的に示す図である。
【図４】本発明の実施の形態によるウェブスキャン方法４００を概略的に示すフローチャートである。
【図５】ウェブスキャン方法４００におけるウェブアプリケーション特定方法を概略的に示すフローチャートである。
【図６】本発明による方法を実行するためサーバを概略的に示すブロック図である。
【図７】本発明による方法を実現するプログラムコードを保持又は搬送するための記憶部を示す概略図である。
【発明を実施するための形態】
【００１３】
以下、図面及び特定の実施の形態と関連付けながら、本発明について更に説明する。
図１は、本発明の実施の形態によるウェブサイトスキャン装置１００を概略的に示すブロック図である。図１に示すように、ウェブサイトスキャン装置１００は、ポリシー分析部１１０、クローラ部１２０、ウェブアプリケーション特定部１４０、フルスキャン部１７０、そして、既知ウェブアプリケーション脆弱性検出部１６０から成る。
【００１４】
ポリシー分析部１１０は、対象ウェブサイトにおける処理対象リンクを受け取り、対象ウェブサイトが採用している既知ウェブアプリケーションの特定リストに基づいて、当該処理対象リンクが、ある既知ウェブアプリケーションに属しているか否か判定する。対象ウェブサイトへのスキャン実行プロセスにおいて、対象ウェブサイトが採用している既知ウェブアプリケーションが特定される（その数は不定であり、既知ウェブアプリケーションが全く採用されていない場合もありうる）。そして、オプションとして、こうした既知ウェブアプリケーションは、特定ウェブアプリケーション格納部１８０に保存される場合もある。既知ウェブアプリケーションは、各々が固有のファイルディレクトリ構造を有している。こうしたディレクトリ構造をウェブアプリケーションに関連付けて保存してもよい。処理対象リンクのアドレスを対象ウェブサイトが採用している既知ウェブアプリケーションのファイルディレクトリ構造と比較することで、処理対象リンクが、ある既知ウェブアプリケーションに属しているか否か判定することができる。一例として、「http://www.example.com/a/」というディレクトリ構造を有する特定のウェブアプリケーションについて考えると、処理対象リンクのアドレスが「http://www.example/a/b.php」であれば、前記ウェブアプリケーションのディレクトリ構造の下にあるため、この処理対象リンクは当該特定のウェブアプリケーションに属していると判定される。
【００１５】
対象ウェブサイトが特定の既知ウェブアプリケーションを全く持たない場合、あるいは、処理対象リンクが特定の既知ウェブアプリケーションに属しているとは判定されなかった場合、ポリシー分析部１１０は、当該処理対象リンクをクローラ部１２０に送って次の処理を行わせる。あるいは、ポリシー分析部１１０は、当該処理対象リンクの処理を終了し、次の処理対象リンクを取得して、これを処理する。
【００１６】
クローラ部１２０は、特定のウェブアプリケーションに属していないリンクをポリシー分析部１１０から受け取り、当該リンクに対応するネットワークコンテンツを取得する。クローラ部１２０は、ネットワーククローラなどの手法を用いて、当該リンクに対応するネットワークコンテンツを取得すればよい。当然のことながら、リンクに対応するネットワークコンテンツを取得する手法は全て、本発明の保護範囲に含まれる。クローラ部１２０は、更に、取得したネットワークコンテンツを分析し、そこに更に含まれるリンクを抽出すると、これら抽出したリンクを、次のステップにおける処理対象リンクとして、ネットワークリンク格納部１３０に格納する。ネットワークリンク格納部１３０は、処理対象リンクのリストを格納し、ポリシー分析部１１０は、ネットワークリンク格納部１３０から、処理のためのリストに含まれる１つの処理対象リンクを取得し、処理することにしてもよい。
【００１７】
加えて、クローラ部１２０は更に、取得したネットワークコンテンツに関連する別ネットワークコンテンツを取得する場合もある。具体的には、ネットワークコンテンツ、例えば、ネットワークリンクに対応するウェブページは更に、外部ｊｓコード、ｃｓｓ−フォーマットファイルなどを参照する場合があり、こうしたｊｓコード、ｃｓｓ−フォーマットファイルなどのコンテンツが、当該ウェブページに関連する別ネットワークコンテンツとされる。このような、関連する別コンテンツもまた、あるリンクが既知ウェブアプリケーションに属しているか否かを判定する際に用いられる場合がある。よって、クローラ部１２０は、こうしたコンテンツを、処理対象リンクに対応するネットワークコンテンツの関連コンテンツとして取得することにすればよい。
【００１８】
クローラ部１２０は、処理対象リンク及び当該リンクのネットワークコンテンツをウェブアプリケーション特定部１４０へ送る（オプションとして、ネットワークコンテンツに関連するコンテンツまで含まれる場合がある）。そうして、ウェブアプリケーション特定部１４０は、対象ウェブサイトが、ある既知アプリケーションを採用しているか否かを判定する（オプションとして、既知ウェブアプリケーションの特徴が保存された既知ウェブアプリケーション特徴格納部１５０を参照する場合もある）。対象ウェブサイトが、ある既知アプリケーションを採用している場合には、当該既知ウェブアプリケーションに関する情報が既知ウェブアプリケーション脆弱性検出部に送られ、更なる処理が行われる。採用していない場合には、リンク及びそのネットワークコンテンツがフルスキャン部１７０に送られ、脆弱性に関するフルスキャンが実行される。更に、ウェブアプリケーション特定部１４０は、特定された既知ウェブアプリケーション及びその関連情報（例えばＵＲＬなど）を、特定ウェブアプリケーション格納部１８０に格納する。ポリシー分析部１１０は、これによって、リンクが特定の既知ウェブアプリケーションに属しているか否かを判定することができる。以下、ウェブアプリケーション特定部１４０の特定の実施の形態について、図２を参照しながら詳細に説明する。しかしながら、本発明がこの特定の実施の形態に限定されないことを理解すべきである。リンク及びそのコンテンツに従ってリンクが属するウェブアプリケーションを判定するウェブアプリケーション特定装置は全て、本発明の保護範囲に含まれる。
【００１９】
留意すべき点として、ウェブアプリケーション特定部１４０が処理対象リンク及びそのコンテンツに従って既知ウェブアプリケーションの特定を行うプロセスでは、クローラ部１２０との間で情報交換を行って、別のリンク及びそのコンテンツを取得する必要が生じるかもしれない。
フルスキャン部１７０は、ウェブアプリケーション特定部１４０から処理対象リンク、更にオプションとして、対応するネットワークコンテンツを受け取り、当該リンク及びそれに対応するネットワークコンテンツに脆弱性フルスキャンを実行する。スキャン対象は、例えば、クロスサイトスクリプト攻撃脆弱性（ＸＳＳ）、ＳＱＬインジェクション脆弱性、ＣＧＩ脆弱性などである。フルスキャン部１７０が採用する脆弱性スキャン技術は、本技術分野に属し、本発明の保護範囲を越えないものであれば、いかなるものでもよい。
【００２０】
既知ウェブアプリケーション脆弱性検出部１６０は、ウェブアプリケーション特定部１４０から特定の既知ウェブアプリケーションを受け取り、特定の既知ウェブアプリケーションの既知脆弱性に応じて、対象ウェブサイトの既知ウェブアプリケーションに対して脆弱性スキャンを行うことで、対象ウェブサイトの既知ウェブアプリケーションに関して、当該既知脆弱性が修正済みか否かを判定する。オプションとして、既知ウェブアプリケーションの既知脆弱性を、既知ウェブアプリケーションの特徴に関連付けて、既知ウェブアプリケーション特徴格納部１５０に保存する場合もある。
【００２１】
留意すべき点として、ここまでに本発明の既知ウェブアプリケーションについて述べた部分では、そのバージョンに言及していなかったが、実際問題として、既知ウェブアプリケーションは複数のバージョンを有するのが一般的であり、各々のバージョンは特定の特徴と異なる既知脆弱性とを有する。よって、上述の既知ウェブアプリケーションにバージョン情報を付加し、バージョンの異なるウェブアプリケーションを別のウェブアプリケーションと見なす場合もありうる。そうした場合、バージョン番号は、ウェブアプリケーション特徴、ウェブアプリケーション脆弱性などと関連付けられて、既知ウェブアプリケーション特徴格納部１５０に保存される。
【００２２】
図２は、本発明の実施の形態によるウェブサイトスキャン装置１００におけるウェブアプリケーション特定部１４０を概略的に示す図である。図２に示すように、ウェブアプリケーション特定部１４０は、規則生成部１４１、規則マッチングエンジン１４３、そして結果出力部１４５を有する。
規則生成部１４１は、既知ウェブアプリケーションの特徴に応じて規則セット１４７を生成する。本発明の実施の形態によれば、既知ウェブアプリケーションの特徴は、既知ウェブアプリケーション特徴格納部１５０に保存されていてもよい。規則生成部１４１は、既知ウェブアプリケーション特徴格納部１５０から様々な既知ウェブアプリケーションの特徴を取得し、それによって規則セット１４７を生成してもよい。本発明の実施の形態では、既知ウェブアプリケーションは以下の特徴のうちの少なくとも１つを有していてもよい：
１．あるページ及び当該ページにおけるマーク。多くのウェブアプリケーションは、いくつかの特定のページに特定のマークを埋め込む。例えば、フォーラムウェブアプリケーションである「Discuz!」におけるページ「index.php」には以下の特定の文字列が含まれる：
<meta name = "author" content = "Discuz! Team and Comsenz UI Team"/>
２．あるページ及び当該ページの全てのコンテンツ。多くの既知ウェブアプリケーションは、いくつかの定例のファイル、例えば、拡張子が「.css」、「.js」、「.ini」などのものを含み、従って、これらのファイルのコンテンツ全体をウェブアプリケーションの識別マークとして利用すればよい。本発明の実施の形態では、ウェブアプリケーションを判定は、これら定例のファイルのコンテンツ全体のＭＤ５値に従って行えばよい。例えば、既知ウェブアプリケーション「joomla」のバージョン１.５.１５における定例のファイル「/language/en-GB/en-GB.ini」のＭＤ５値は、「449d7bb356fcefa1343d72d203297438」である。
【００２３】
３.ＨＴＴＰレスポンスフィールド。いくつかの既知ウェブアプリケーションのレスポンスヘッドは排他的であり（例えば、「set-cookie」のレスポンスフィールドの値）、従って、当該排他的なレスポンスフィールドをウェブアプリケーション特定の手段として用いてもよい。
４.特定のリンク。いくつかの既知ウェブアプリケーションには必ず特定のネットワークリンク（ＵＲＬ）が存在する。従って、こうした特定のリンクの存在によって、特定のウェブアプリケーションを特定すればよい。
【００２４】
５.「robots.txt.」。ウェブサイトが用いるウェブアプリケーションに関する情報のいくつかはウェブサイトのファイル「robots.txt」で設定可能である。従って、ウェブアプリケーションに関する情報のいくつかは、当該ファイルの内容から取得すればよい。
本発明の実施の形態では、既知ウェブアプリケーションの特徴は、既知ウェブアプリケーション特徴格納部１５０に、ＸＭＬフォーマットで格納すればよい。図３は、ウェブアプリケーション「phpnuke」向けのＸＭＬファイルを示す。ＸＭＬファイルから、具体的には、ウェブアプリケーション「phpnuke」には３つの副規則があることが分かる。
【００２５】
第１の副規則は以下の通りである。すなわち、特定のコンテンツが特定のネットワークページ「index.php」に存在する（<meta name = "generator" content = "(PHP-Nuke.*|.*http://phpnuke.org)">、及び、<META NAME = "RATING" CONTENT = "GENERAL">とマッチする特定のコンテンツ）。そして、留意すべき点として、その中の"(PHP-Nuke.*|.*http://phpnuke.org)"は、本技術分野で一般的に用いられる正規表現で書かれた特定コンテンツマッチング項目であって、当業者は、当該項目とマッチする特定コンテンツを、この正規表現の特徴に基づいて見つけ出せばよい。
【００２６】
第２の副規則は、特定のコンテンツが特定のネットワークページ「user.php」に存在することである（すなわち、<meta name = "generator" content = "(PHP-Nuke.*|.*http://phpnuke.org)">とマッチする特定のコンテンツ）。同様に、この副規則も正規表現を用いている。
第３の副規則は、あるページ「themes/Freezebeta/style/style.css」と当該ページのコンテンツ全体とが存在し、当該ページのコンテンツ全体のＭＤ５値が「415acd896960884ada364d508e7c8ae9」であるということである。
【００２７】
加えて、ウェブアプリケーションのバージョンも、特定のネットワークページ「index.php.」における「<META NAME = "GENERATOR" CONTENT = "PHP-Nuke[ ]*(?P<version>\d+\.\d+).*">"」によって判定される。
留意すべき点として、ウェブアプリケーションの特徴について、いくつかの特定の例を上に挙げたが、既知ウェブアプリケーションの特徴はこれらに限定されない。ウェブアプリケーションの特徴については、当業者であれば、本発明から着想を得て、上記以外の特徴も容易に思いつくであろう。
【００２８】
本発明の実施の形態では、各ウェブアプリケーションが１以上のウェブアプリケーション特徴を有し、規則セット１４７は、対応する構造を有する。すなわち、規則セット１４７は、各々がウェブアプリケーションの１つに対応する規則１４８1、１４８2、…１４８nから成り、各々の規則１４８1、１４８2、…１４８nは１以上の副規則１４９1、１４９2、…１４９mを有する。副規則の各々は、ウェブアプリケーションのウェブアプリケーション特徴の１つに対応する。
【００２９】
規則マッチングエンジン１４３は、処理対象リンクと当該リンクに対応するネットワークコンテンツとを取得し、処理対象リンク及び当該リンクのコンテンツの特徴を抽出し、その後、規則セット１４７を参照して、処理対象リンク及び当該リンクのコンテンツの抽出した特徴が、規則セット内の、ある規則とマッチするか否かを判定する。ある規則の中の全ての副規則にマッチしている場合は、その規則にマッチしていると見なされ、リンクは規則に対応するウェブアプリケーションに属していると判定される。すなわち、対象ウェブサイトにウェブアプリケーションが存在すると判定される。反対に、処理対象リンクが規則セット１４７の中のいずれの規則ともマッチしないと判定された場合、当該処理対象リンクは、既知ウェブアプリケーションのいずれにも属していないと見なされる。その後、マッチングの結果が結果出力部１４５から出力される。
【００３０】
留意すべき点は、上述したように、既知ウェブアプリケーションは複数の副規則を有してもよいし、個々の副規則は別々のリンク（すなわち、ウェブページ）を伴うこととしてもよい、ということである。よって、規則マッチングエンジン１４３が、抽出された処理対象リンク及び当該リンクのコンテンツの特徴が規則セットの中の、ある規則とマッチするか否かを判定する際、クローラ部１２０は、そのリンクを取得する。そして、クローラ部１２０が取得したリンクに対して、規則マッチングエンジン１４３が副規則とのマッチングを行う際には、ある規則内の全ての副規則全体に対して処理対象リンクがマッチする場合に、当該処理対象リンクは当該規則に対応する既知ウェブアプリケーションに属する、と見なされる。
【００３１】
例えば、図３を参照すると、「phpnuke」の規則が規則マッチングエンジン１４３内に存在し、しかも、クローラ部１２０がリンク「index.php」及びそのコンテンツを取得する場合、規則マッチングエンジン１４３は、「index.php」が前記第１の副規則とマッチするか否か判定する。「index.php」に、<meta name = "generator" content = "(PHP-Nuke.*|.*http://phpnuke.org)">、及び、<META NAME = "RATING" CONTENT = "GENERAL">などの特定のコンテンツが存在すれば、その場合は、前記第１の副規則に正しくマッチすることになる。クローラ部１２０が、リンク「user.php」及びそのコンテンツを取得すると、規則マッチングエンジン１４３は、「user.php」及びそのコンテンツが第２の副規則とマッチするか否か判定する。「user.php」に<meta name = "generator" content = (PHP-Nuke.*|.*http://phpnuke.org)">などの特定のコンテンツが存在すれば、その場合、第２の副規則に正しくマッチすることになる。クローラ部１２０がリンク「themes/Freezebeta/style/style.css」を取得する場合、規則マッチングエンジン１４３は、それが第３の副規則とマッチするか否か判定する。ＭＤ５値が「415acd896960884ada364d508e7c8ae9」であれば、第３の副規則に正しくマッチすることになる。当然のことながら、マッチしない副規則が１つでもあれば、規則マッチングエンジン１４３は、処理対象リンクは既知ウェブアプリケーションに属していないと判定する。
【００３２】
オプションとして、処理対象リンクが既知ウェブアプリケーションに属しているか否かの判定の後、規則マッチングエンジン１４３は、特定の既知ウェブアプリケーションと、当該既知ウェブアプリケーションの対象ウェブサイト上のディレクトリ位置（処理対象リンク及び既知ウェブアプリケーションのディレクトリ構造によって決定されるもの）とを特定ウェブアプリケーション格納部１８０に保存する。保存しておけば、後でポリシー分析部１１０が、特定の既知ウェブアプリケーションにリンクが属するか否かの判定を行う際に利用できる。
【００３３】
本発明によるウェブサイトスキャン装置１００の効率は、以下の手順を取ることで大幅に向上する。すなわち、対象ウェブサイトのファイル（すなわちリンク）のスキャン実行に先だって、当該ファイルが既知ウェブアプリケーションに属しているか否かを判定し、既知ウェブアプリケーションに属していないファイルのみにフルスキャンを行う。一方、ウェブサイトが採用している既知ウェブアプリケーションに対しては、既知ウェブアプリケーションに関して現在知られている脆弱性に基づくチェックのみ行って、フルチェックは行わない。従って、フルスキャンの回数は減ることになる。
【００３４】
図４は、本発明の実施の形態によるウェブスキャン方法４００のフローチャートであり、当該方法は、上述したように、ウェブサイトスキャン装置１００において実行される。図４に示すように、ウェブスキャン方法４００は、処理対象リンクが取得されるステップＳ４１０から始まる。オプションとして、処理対象リンクを予めネットワークリンク格納部１３０内の処理対象リンクリストに格納しておき、処理にあたって当該処理対象リンクリストから処理対象リンクを取得することにしてもよい。次に、ステップＳ４２０において、対象ウェブサイトが採用している既知ウェブアプリケーションのリストに基づき、処理対象リンクが、ある既知ウェブアプリケーションに属しているか否かの判定が行われる。上述したように、ある既知ウェブアプリケーションに処理対象リンクが属しているか否かの判定は、処理対象リンクのアドレスと、対象ウェブサイトが採用している既知ウェブアプリケーションのファイルディレクトリ構造との比較によって行われる。処理対象リンクが、ある既知ウェブアプリケーションに属している場合、処理対象リンクは、これ以上処理されることはなく、ステップＳ４３０に進んで、処理対象リンクリストに処理対象リンクがまだ残っているか否かの判定が行われる。対象ウェブサイトが採用している既知ウェブアプリケーションに処理対象リンクが属していない場合は、ステップＳ４５０に進む。ステップＳ４２０の処理は、ウェブサイトスキャン装置１００のポリシー分析部１１０で実行される。
【００３５】
ステップＳ４５０において、クローラ部は、処理対象リンクに対応するネットワークコンテンツを取得し、取得したネットワークコンテンツの分析を実行して、そこに含まれる更に別のリンクを抽出する。そして、抽出したリンクを、次のステップで処理対象リンクとして、処理対象リンクリストに追加する。更に、上述したように、ステップＳ４５０では、取得されたネットワークコンテンツに関連する更に別のネットワークコンテンツも取得される場合もある。
【００３６】
次に、ステップＳ４６０では、既知ウェブアプリケーションの特徴が参照され、処理対象リンクと当該リンクのネットワークコンテンツとが分析される（オプションとして、当該ネットワークコンテンツと関連するコンテンツが含まれる場合もある）。それによって、処理対象リンクが既知ウェブアプリケーションに属しているか否か、すなわち、当該既知ウェブアプリケーションが対象ウェブサイトに存在するか否かの判定が行われる。ステップＳ４６０における処理については、後で図５を参照しながら更に詳しく説明する。処理対象リンクが既知ウェブアプリケーションのいずれにも属していなければ、その場合は、ステップＳ４７０で、処理対象リンクとそのネットワークコンテンツとに対して脆弱性フルスキャンが実行される。ステップＳ４６０において、処理対象リンクが既知ウェブアプリケーションに属している、すなわち、既知ウェブアプリケーションが対象ウェブサイトに存在すると判定されれば、その場合は、特定の既知ウェブアプリケーションとその関連情報（例えば、ＵＲＬなど）とがステップＳ４８０において格納される。格納された既知ウェブアプリケーション及びその関連情報は後で、対象ウェブサイトが採用している既知ウェブアプリケーションに処理対象リンクが属しているか否かを判定する際に使用される。
【００３７】
留意すべき点として、ステップＳ４６０において、処理対象リンクを分析して既知ウェブアプリケーションが対象ウェブサイトに存在するか否かを判定する際には、対象ウェブサイトに既知ウェブアプリケーションが存在するか否かを正確に判定するために、クローラ部は、更にいくつかのリンクとそのコンテンツとを取得する必要がある。
次に、ステップＳ４９０では、特定既知ウェブアプリケーションの既知の脆弱性に基づいて、対象ウェブサイトの既知ウェブアプリケーションに対する脆弱性スキャンが実行され、それによって、当該既知の脆弱性について対象ウェブサイトの既知ウェブアプリケーションは修正済みか否かの判定が行われる。
【００３８】
次に、ステップＳ４３０で、処理対象リンクが更に存在すると判定された場合には、ステップＳ４４０において、別の処理対象リンクが処理対象リンクリストから取得される。そして、方法はステップＳ４２０に戻って処理を繰り返す。ステップＳ４３０において処理対象リンクがないと判定された場合、方法４００は終了する。
図５は、特にステップＳ４６０の処理を示すフローチャートである。すなわち、本発明の実施の形態によるウェブスキャン方法４００において、リンクが既知ウェブアプリケーションに属しているか否かを判定する方法を示している。図５に示すように、当該方法は、ステップＳ５１０から開始される。ステップＳ５１０では、規則セットが初期化されるが、それはつまり、規則セットが既知ウェブアプリケーションの特徴に基づいて生成されるということである（本発明の実施の形態では、これら既知ウェブアプリケーションの特徴は、あるフォーマット（例：ＸＭＬファイル形式）で予め既知ウェブアプリケーション特徴格納部１５０に格納されている）。規則セットは、上述したフォーマットを有する。オプションとして、図５に示すプロセスの実行前に、規則セットの初期化を終わらせておくこともできる。そうすれば、リンクの判定を行うたびに初期化処理を行う必要はなくなる。
【００３９】
次に、ステップＳ５２０において、規則セットの中の最初の規則が、現在の規則として取得される。そしてステップＳ５３０では、現在の規則の中から、処理対象リンク及びそのコンテンツに関連する最初の副規則が、現在の副規則として取得される。ステップＳ５４０では、処理対象リンクとそれに関連するネットワークコンテンツとが、現在の副規則にマッチするか否かの判定が行われる。既知のネットワークの特徴に関する特定のコンテンツ並びにその規則及び副規則については、これより前に、図２を参照しながら行った説明のなかで既に示しているので、ここでは詳しい説明は行わない。
【００４０】
ステップＳ５４０においてマッチせずと判定された場合、ステップＳ５５０において、規則セットの中に、マッチングが実行されていない規則がまだ残っているか否かの判定が行われる。ステップＳ５５０において、マッチングが実行されていない規則が残っていないと判定されると、その場合には、ステップＳ５６０において、処理対象リンクは既知ウェブアプリケーションには属していないとの結果が出力され、本方法は終了する。反対に、ステップＳ５５０において、マッチングが実行されていない規則が残っていると判定されると、その場合には、ステップＳ５７０において、規則セットにおける次の規則が現在の規則として取得され、方法はステップＳ５３０に戻って更に処理を行う。
【００４１】
ステップＳ５４０において、処理対象リンク及びそれに関連するネットワークコンテンツが現在の副規則とマッチすると判定された場合、ステップＳ５８０において、現在の規則の中に、更に別の副規則があるか否かの判定が行われる。ステップＳ５８０において、マッチングの実行されていない副規則が存在すると判定されると、その場合には、ステップＳ５９０において、次の副規則が現在の副規則として取得される。そして、方法はステップＳ５４０に戻って、当該副規則にマッチングを実行する。留意すべき点は、上述したように、既知ウェブアプリケーションは複数の副規則を有していてもよいし、個々の副規則は異なるリンクを伴っていてもよい、ということである。従って、ステップＳ５９０で取得される次の副規則は、更に別のリンクを含んでいてもよく、ステップＳ５９０は、当該別のリンクに基づいて、現在の副規則及びそのコンテンツに関連したリンクを取得するステップを含むこととしてもよい。
【００４２】
反対に、ステップＳ５８０において、現在の規則の中の全ての副規則が、処理対象リンク及びその関連コンテンツとマッチすると判定されると、その場合には、処理対象リンクが現在の規則に対応する既知ウェブアプリケーションに属していると判定され、当該既知ウェブアプリケーションがステップＳ５９５において出力される。オプションとして、対象ウェブサイト上の既知ウェブアプリケーションの位置（例：対象ウェブサイトのルートディレクトリに対するファイル位置）は、ステップＳ５９５において更に出力され、後で上記ステップＳ４２０において、対象ウェブサイトが採用している既知ウェブアプリケーションに処理対象リンクが属しているか否かの判定を行う際に利用することにしてもよい。
【００４３】
留意すべき点として、本発明のウェブサイトスキャン装置１００の個々の構成要素については、内部の構成要素が実現する機能に応じて論理的に分割されているが、本発明は、これに限定されるものではなく、個々の構成要素を必要に応じて更に分割したり組み合わせたりしてもよい。例えば、複数の構成要素を組み合わせて１つの構成要素としてもよいし、複数の構成要素は更に複数の副構成要素に分割してもよい。
【００４４】
本発明の個々の構成要素の実施の形態は、ハードウェアで、又は１以上のプロセッサ上で実行されるソフトウェアモジュールで、又は、これらの組合せで実現すればよい。当業者には理解されるであろうが、実際問題として、本発明の実施の形態によるウェブサイトスキャン装置における構成要素の一部又は全ての機能の一部又は全ては、マイクロプロセッサ又はデジタル信号プロセッサ（ＤＳＰ）を用いて実現すればよい。本発明は、また、本文に記述した方法の一部又は全体を実行する装置又は装置プログラム（例えば、コンピュータプログラム又はコンピュータプログラム製品）の形で実現することもできる。本発明を実現するプログラムは、コンピュータ読取可能な媒体に保存される場合もあれば、１以上の信号の形とされる場合もある。こうした信号は、インターネットウェブサイトからのダウンロードによって取得される場合もあれば、キャリヤ信号で提供される場合もあり、それ以外の何らかの形で提供される場合もある。
【００４５】
図６は、本発明によるウェブスキャン方法を実行するサーバ、例えば、アプリケーションサーバの一例を示す。サーバは従来通りの構成であり、プロセッサ６１０と、コンピュータ読取り可能媒体又はコンピュータプログラム製品の形を取るメモリ６２０とから成る。メモリ６２０は、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＥＰＲＯＭ、ハードディスク、またはＲＯＭといった電子メモリとすればよい。メモリ６２０は、上述した方法のいずれかの方法ステップを実行するプログラムコード６３１のためのメモリ空間６３０を有する。例えば、プログラムコード用のメモリ空間６３０は、それぞれが上記の方法におけるいずれかのステップを実行する複数の個別のプログラムコード６３１を含む。これらのプログラムコードは、１以上のコンピュータプログラム製品から読み出される、又は、これに書き込まれることとすればよい。これらのコンピュータプログラム製品は、ハードディスク、コンパクトディスク（ＣＤ）、メモリーカード、フロッピディスクなどのプログラムコードキャリアから成る。図７を参照して説明すると、こうしたコンピュータプログラム製品は通常、可搬型又は据付型（stationary）の記憶ユニットである。記憶ユニットは、図６のサーバにおけるメモリ６２０と類似の形で配置された、記憶セグメント、記憶空間などを有するものとすればよい。プログラムコードは、例えば、適当な形で圧縮してあってもよい。一般に、記憶ユニットには、コンピュータ読取可能なコード６３１´、すなわち、プロセッサ６１０などで読取可能なコードが入っており、これらのコードをサーバで走らせると、これらのコードがサーバに、上述した方法の個々のステップを実行させる。
【００４６】
留意すべき点として、上記の実施の形態は本発明の例を示すものであって、本発明を限定するものではなく、当業者であれば、添付の特許請求の範囲から逸脱することなしに上記以外の実施の形態を設計できるはずである。特許請求の範囲において、括弧で閉じられた参照記号は、特許請求の範囲を限定するものと解釈されるべきではない。「成る（comprise）」という語は、特許請求の範囲に挙げられていない構成要素又はステップの存在を除外するものではない。構成要素に先行する冠詞の「a」又は「an」は、当該構成要素が複数存在する構成を排除するものではない。本発明は、異なる複数の構成要素から成るハードウェア、及び、適切にプログラムされたコンピュータを用いて実現される。複数の手段を列挙した１つの請求項では、いくつかの手段は、単一のハードウェアアイテムで実体化される場合もある。「第１」、「第２」、「第３」などの語を用いる場合、これらは順番を示すものではない。こうした語は、名称を分ける目的で用いられていると解釈すべきである。
【図１】
0005572763.tif 000002
【図２】
0005572763.tif 000003
【図３】
0005572763.tif 000004
【図４】
0005572763.tif 000005
【図５】
0005572763.tif 000006
【図６】
0005572763.tif 000007
【図７】
0005572763.tif 000008