(57)【要約】【課題】Ｗｅｂアプリケーションに対する診断を効率的に行う。【解決手段】フレームワーク識別情報蓄積部１１３は、診断対象Ｗｅｂアプリケーション１１１で使用されているフレームワークを判別するための文字列が含まれるフレームワーク識別情報を記憶し、通信記録部１１４は、診断対象Ｗｅｂアプリケーション１１１との間の通信を記録し、フレームワーク判定部１１２が、通信記録から診断対象Ｗｅｂアプリケーション１１１から受信したＷｅｂページを抽出し、抽出したＷｅｂページにフレームワーク識別情報の文字列が含まれているか否かを解析し、Ｗｅｂページに文字列が含まれている場合に、当該文字列に対応するフレームワークが使用されていると判断し、セキュリティホール判定部１０２及び擬似攻撃生成部１０３が、当該フレームワーク用の擬似攻撃を省略してＷｅｂアプリケーションに対する擬似攻撃を行ってセキュリティホールを診断する。【選択図】図１
2011028665.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションフレームワークが使用されているＷｅｂアプリケーションと通信を行い、前記Ｗｅｂアプリケーションを管理する管理装置であって、
前記Ｗｅｂアプリケーションとの通信を記録する通信記録部と、
Ｗｅｂアプリケーションフレームワークの判別に用いられる判別情報を記憶している判別情報記憶領域から判別情報を取得する判別情報取得部と、
前記通信記録部による通信記録と前記判別情報取得部により取得された判別情報とを用いて、前記ＷｅｂアプリケーションにおいていずれのＷｅｂアプリケーションフレームワークが使用されているかを判別するフレームワーク判定部とを有することを特徴とする管理装置。
【請求項２】
前記判別情報取得部は、
前記判別情報記憶領域から、Ｗｅｂアプリケーションフレームワークごとに固有の判別用文字列が示される判別情報を取得し、
前記フレームワーク判定部は、
前記通信記録部による通信記録のうち前記Ｗｅｂアプリケーションから受信したＷｅｂページを抽出するとともに、抽出したＷｅｂページにいずれかのＷｅｂアプリケーションフレームワークの判別用文字列が含まれているか否かを判定し、前記Ｗｅｂページに含まれている判別用文字列に対応するＷｅｂアプリケーションフレームワークが前記Ｗｅｂアプリケーションにおいて使用されていると判定することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記判別情報取得部は、
前記判別情報記憶領域から、判別用文字列と当該判別用文字列が配置されているＷｅｂページ内の文字列配置位置が示される判別情報を取得し、
前記フレームワーク判定部は、
抽出したＷｅｂページ内の文字列配置位置に判別用文字列が含まれているか否かを判定することを特徴とする請求項２に記載の管理装置。
【請求項４】
前記管理装置は、更に、
前記フレームワーク判定部により判別されたＷｅｂアプリケーションフレームワークに対応させて、前記Ｗｅｂアプリケーションにおけるセキュリティホールの診断を行うＷｅｂアプリケーション診断部を有することを特徴とする請求項１〜３のいずれかに記載の管理装置。
【請求項５】
前記Ｗｅｂアプリケーション診断部は、
前記フレームワーク判定部により判別されたＷｅｂアプリケーションフレームワークに対応させて前記Ｗｅｂアプリケーションに対する擬似攻撃を行って、前記Ｗｅｂアプリケーションにおけるセキュリティホールの診断を行うことを特徴とする請求項４に記載の管理装置。
【請求項６】
前記Ｗｅｂアプリケーション診断部は、
前記フレームワーク判定部により判別されたＷｅｂアプリケーションフレームワークに固有のセキュリティホールの診断のための擬似攻撃は省略して前記Ｗｅｂアプリケーションに対する擬似攻撃を行うことを特徴とする請求項５に記載の管理装置。
【請求項７】
Ｗｅｂアプリケーションフレームワークが使用されているＷｅｂアプリケーションと通信を行うコンピュータが行う、前記Ｗｅｂアプリケーションの管理方法であって、
前記コンピュータが、前記Ｗｅｂアプリケーションとの通信を記録する通信記録ステップと、
前記コンピュータが、Ｗｅｂアプリケーションフレームワークの判別に用いられる判別情報を記憶している判別情報記憶領域から判別情報を取得する判別情報取得ステップと、
前記コンピュータが、前記通信記録ステップによる通信記録と前記判別情報取得ステップにより取得された判別情報とを用いて、前記ＷｅｂアプリケーションにおいていずれのＷｅｂアプリケーションフレームワークが使用されているかを判別するフレームワーク判定ステップとを有することを特徴とする管理方法。
【請求項８】
Ｗｅｂアプリケーションフレームワークが使用されているＷｅｂアプリケーションと通信を行うコンピュータに、
前記Ｗｅｂアプリケーションとの通信を記録する通信記録処理と、
Ｗｅｂアプリケーションフレームワークの判別に用いられる判別情報を記憶している判別情報記憶領域から判別情報を取得する判別情報取得処理と、
前記通信記録処理による通信記録と前記判別情報取得処理により取得された判別情報とを用いて、前記ＷｅｂアプリケーションにおいていずれのＷｅｂアプリケーションフレームワークが使用されているかを判別するフレームワーク判定処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂアプリケーションの管理に関し、特にＷｅｂアプリケーションフレームワークが使用されているＷｅｂアプリケーションの管理に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションとは、Ｗｅｂサーバもしくはアプリケーションサーバ上で動作するソフトウェアであり、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルを通じてＷｅｂブラウザから呼び出され、処理結果をＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）としてブラウザに返すことでユーザにサービスを提供するものである。
Ｗｅｂアプリケーションの呼び出しは、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の他に、ユーザがフォームへ入力したデータなど呼び出し時のパラメータをＨＴＴＰリクエストに格納して、Ｗｅｂサーバに送信することで行われる。
近年、パラメータに不正なデータを格納して、Ｗｅｂアプリケーションを呼び出すことで、セキュリティ上の欠陥（セキュリティホールもしくは脆弱性）を悪用する攻撃が増加してきている。
このようなＷｅｂアプリケーションのセキュリティホールに対する対策技術の一つとして、Ｗｅｂアプリケーションに対して擬似攻撃を行うことで、悪用される前にセキュリティホールを見つけ出すＷｅｂアプリケーション診断技術が存在する。
Ｗｅｂアプリケーション診断技術においては、各パラメータに対し、攻撃を模擬した不正データを設定したＨＴＴＰリクエストを送信し、その応答からセキュリティホールの有無を判断する。
その際、Ｗｅｂアプリケーションの入口でのパラメータチェックを回避するために、様々な文字種や形式の不正データを用いて検査を行うのが一般的である。
検査の効率を上げるため、事前に数パターンのデータを送信し、パラメータチェックに合格する文字セットなどを特定して、パラメータチェックに合格する不正データのみを送信する方法が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１３５０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、Ｗｅｂアプリケーションの開発を効率化するために、Ｗｅｂアプリケーションフレームワーク（以下、単に「フレームワーク」ともいう）を使用した開発が主流となっている。
フレームワークを利用した開発では、セッション管理やページ遷移の制御といった複数のＷｅｂアプリケーションに共通する機能をフレームワークが行うため、開発者は本来行いたい処理の実装に専念できるというメリットがある。
このようなフレームワークを用いたＷｅｂアプリケーションでは、ブラウザから送信されるＨＴＴＰリクエストに、本来Ｗｅｂアプリケーションが必要とするパラメータの他に、フレームワークが動作するために必要なパラメータが大量に付加される場合がある。
例えば、図１０はＤＷＲ（Ｄｉｒｅｃｔ  Ｗｅｂ  Ｒｅｍｏｔｉｎｇ）と呼ばれるフレームワーク上で生成されたＷｅｂページからのＨＴＴＰリクエストで送信されるパラメータ（計９個）を示す。
ところが、これらの中で実際に開発者の実装したプログラムに渡されるパラメータはｃ０−ｐａｒａｍ中の“Ｊｏｅ”のみであり、残りは全てフレームワーク内で処理される。
従来はこれらのパラメータ全てを診断対象とし、各パラメータに擬似攻撃を加えて診断を行っていた。
しかし、フレームワークのセキュリティホールは、フレームワークを提供するベンダやセキュリティコミュニティによって十分検証されており、フレームワークが消費するパラメータに関する診断は単に診断時間を浪費するのみである。
つまり、従来は、フレームワークのパラメータとＷｅｂアプリケーション独自のパラメータとを区別していないので、本来は不要であるフレームワークのパラメータに対する診断が行われ、このため、無駄に診断時間が長くなり、また、無駄な計算機リソースの消費が生じるという課題がある。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとしており、Ｗｅｂアプリケーションに対する診断の効率化を図ることを主な目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明に係る管理装置は、
Ｗｅｂアプリケーションフレームワークが使用されているＷｅｂアプリケーションと通信を行い、前記Ｗｅｂアプリケーションを管理する管理装置であって、
Ｗｅｂアプリケーションフレームワークの判別に用いられる判別情報を記憶している判別情報記憶領域から判別情報を取得する判別情報取得部と、
前記Ｗｅｂアプリケーションとの通信を記録する通信記録部と、
前記通信記録部による通信記録と前記判別情報取得部により取得された判別情報とを用いて、前記ＷｅｂアプリケーションにおいていずれのＷｅｂアプリケーションフレームワークが使用されているかを判別するフレームワーク判定部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明では、Ｗｅｂアプリケーションに使用されているＷｅｂアプリケーションフレームワークを判別し、判別したＷｅｂアプリケーションフレームワークに対する診断を省略することにより、Ｗｅｂアプリケーションに対する診断の効率化を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１〜４に係るシステム構成例を示す図。
【図２】実施の形態１〜４に係るＷｅｂアプリケーション診断装置の動作の概略を示すフローチャート図。
【図３】実施の形態１〜４に係るＷｅｂアプリケーション診断装置の動作の詳細を示すフローチャート図。
【図４】実施の形態１〜４に係るＷｅｂアプリケーション診断装置の動作の詳細を示すフローチャート図。
【図５】実施の形態１に係るフレームワーク識別情報の例を示す図。
【図６】実施の形態２に係るフレームワーク識別情報の例を示す図。
【図７】実施の形態３に係るフレームワーク識別情報の例を示す図。
【図８】実施の形態４に係るフレームワーク識別情報の例を示す図。
【図９】実施の形態１〜４に係るＷｅｂアプリケーション診断装置のハードウェア構成例を示す図。
【図１０】従来技術を説明する図。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係るＷｅｂアプリケーション診断装置１０１の機能構成を示す図である。
Ｗｅｂアプリケーション診断装置１０１は、インターネット（あるいはＩＰ網）１０８を介して、診断対象Ｗｅｂアプリケーション１１１が稼動しているＷｅｂサーバ１１０と接続されている。
Ｗｅｂアプリケーション診断装置１０１は、管理装置の例である。
【００１０】
診断対象Ｗｅｂアプリケーション１１１は、いずれかのＷｅｂアプリケーションフレームワーク（以下、フレームワークともいう）を使用している。
Ｗｅｂアプリケーション診断装置１０１は、診断対象Ｗｅｂアプリケーション１１１を管理する。
より具体的には、Ｗｅｂアプリケーション診断装置１０１は、診断対象Ｗｅｂアプリケーション１１１においていずれのＷｅｂアプリケーションフレームワークが使用されているかを判別するとともに、判別したＷｅｂアプリケーションフレームワークに対応させてＷｅｂアプリケーションに対する擬似攻撃を行って、Ｗｅｂアプリケーションにおけるセキュリティホールの診断を行う。
【００１１】
Ｗｅｂアプリケーション診断装置１０１は、ＨＴＴＰリクエスト送信部１０５、ＨＴＴＰレスポンス受信部１０６、雛形ＨＴＴＰリクエスト生成部１０７、擬似攻撃生成部１０３、セキュリティホール判定部１０２、診断結果表示部１０４および通信記録部１１４といった従来のＷｅｂアプリケーション診断装置に備えられた機能に加え、フレームワーク判定部１１２、フレームワーク識別情報蓄積部１１３を備えている。
【００１２】
ＨＴＴＰリクエスト送信部１０５は、診断対象Ｗｅｂアプリケーション１１１が稼動しているサーバアドレスとＨＴＴＰリクエストを入力として、同アドレスで指定されるサーバにＨＴＴＰリクエストを送信する機能である。
【００１３】
同様にＨＴＴＰレスポンス受信部１０６は、診断対象ＷｅｂアプリケーションからのＨＴＴＰレスポンスを受信する機能である。
【００１４】
雛形ＨＴＴＰリクエスト生成部１０７は、Ｗｅｂアプリケーションにとって正常に処理可能なＨＴＴＰリクエストを生成する機能である。
【００１５】
擬似攻撃生成部１０３は、後述するフレームワーク判定部１１２により特定されたフレームワークに固有のセキュリティホールに対する診断のための擬似攻撃は省略して診断対象Ｗｅｂアプリケーション１１１におけるセキュリティホールの診断のための擬似攻撃を行う。
前述したように、フレームワークのセキュリティホールは、フレームワークを提供するベンダやセキュリティコミュニティによって十分検証されており、フレームワークが消費するパラメータに関する診断は単に診断時間を浪費するのみであるため、擬似攻撃生成部１０３は、診断対象Ｗｅｂアプリケーション１１１に使用されているフレームワークのパラメータに対する擬似攻撃は省略し、診断対象Ｗｅｂアプリケーション１１１独自のパラメータに対する擬似攻撃のみを行う。
【００１６】
セキュリティホール判定部１０２は、擬似攻撃生成部１０３による擬似攻撃を通じて診断対象Ｗｅｂアプリケーション１１１におけるセキュリティホールを判定する。
【００１７】
擬似攻撃生成部１０３及びセキュリティホール判定部１０２は、Ｗｅｂアプリケーション診断部の例である。
【００１８】
診断結果表示部１０４は、セキュリティホール判定部１０２によるセキュリティホールの判定結果を表示する。
【００１９】
フレームワーク判定部１１２は、診断対象Ｗｅｂアプリケーション１１１から取得されたＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイルのテキストを解析し、診断対象Ｗｅｂアプリケーション１１１で使用されているフレームワークを特定する機能である。
フレームワーク判定部１１２は、フレームワーク判定部及び判別情報取得部の例である。
【００２０】
フレームワーク識別情報蓄積部１１３は、Ｗｅｂアプリケーションで使用されているフレームワークを特定するためのフレームワーク識別情報（シグニチャ）を蓄積する機能である。
フレームワーク識別情報は、フレームワークの判別に用いられる情報であり、判別情報の例である。
また、フレームワーク識別情報蓄積部１１３は、判別情報記憶領域の例である。
【００２１】
通信記録部１１４は、診断対象Ｗｅｂアプリケーション１１１との間の通信を記録する。
具体的には、診断対象Ｗｅｂアプリケーション１１１とＨＴＴＰリクエスト送信部１０５との間の通信、及び診断対象Ｗｅｂアプリケーション１１１とＨＴＴＰレスポンス受信部１０６との間の通信を記録する。
【００２２】
図２を用いてＷｅｂアプリケーション診断装置１０１の概略動作について説明する。
はじめにＷｅｂアプリケーション診断装置１０１は、診断実施者に対し診断対象サイトのトップページＵＲＬを入力させ（Ｓ２０２）、指定されたＵＲＬまで移動する（Ｓ２０３）。
さらに、Ｗｅｂアプリケーション診断装置１０１は、診断実施者に診断対象ページまでの移動操作を行わせ、トップページから診断対象ページに至る間のＷｅｂサーバとの通信を通信記録部１１４に記録する（Ｓ２０４）。
【００２３】
次にＷｅｂアプリケーション診断装置１０１は、診断実施者に診断対象ページ指定を行わせた（Ｓ２０５）上で、診断対象Ｗｅｂアプリケーション１１１の操作を行わせる。
Ｗｅｂアプリケーション診断装置１０１は、診断実施者による診断対象Ｗｅｂアプリケーション１１１の操作によって発生するＷｅｂサーバ１１０との通信を診断対象の通信として通信記録部１１４に記録する（Ｓ２０６）（通信記録ステップ）。
【００２４】
Ｗｅｂアプリケーション診断装置１０１は、診断対象者に対して診断対象Ｗｅｂアプリケーション１１１の操作終了後に診断開始指示を行わせ（Ｓ２０７）、診断開始指示が行われた時点で診断対象の通信に対してセキュリティ診断を開始する。
セキュリティ診断では、Ｗｅｂアプリケーション診断装置１０１は、診断対象Ｗｅｂアプリケーション１１１の操作によって発生したＷｅｂサーバ１１０との通信記録の中から診断対象Ｗｅｂアプリケーション１１１から受信したＷｅｂページを取得し（Ｓ２０８）、フレームワーク判定部１１２がフレーム識別情報を取得しＷｅｂページに照合して診断対象Ｗｅｂアプリケーション１１１で使用されているフレームワークを特定する（Ｓ２０９）（判別情報取得ステップ）（フレームワーク判定ステップ）。
フレームワークを特定する動作については、後で詳述する。
【００２５】
フレームワークの特定が終わると、雛形ＨＴＴＰリクエスト生成部１０７が、診断対象Ｗｅｂアプリケーション１１１へ送信する擬似攻撃のＨＴＴＰリクエストを生成するための雛形となるＨＴＴＰリクエストを生成する（Ｓ２１０）。
このＨＴＴＰリクエストは、Ｗｅｂアプリケーションで正常に処理されるものである。
次に、擬似攻撃生成部１０３は、特定したフレームワークの情報を元に診断対象のパラメータを特定し、生成したＨＴＴＰリクエストの雛形から擬似攻撃データを作成する（Ｓ２１１）。この擬似攻撃データは、フレームワークのパラメータを除外した診断対象Ｗｅｂアプリケーション１１１独自のパラメータに対する擬似攻撃を行うためのデータである。
そして、セキュリティホール判定部１０２は、作成された擬似攻撃データを用いて診断対象Ｗｅｂアプリケーション１１１の診断を行う（Ｓ２１２）。
診断対象のパラメータを特定し、擬似攻撃データを作成、診断を行う処理動作の詳細に関しては、本明細書では言及しない。
【００２６】
以降では、フレームワークを特定する動作について説明する。
図５は、フレームワーク識別情報蓄積部１１３に格納されているフレームワーク識別情報の例を示した図である。
フレームワーク識別情報蓄積部１１３には、０個以上のフレームワーク識別情報が格納されている。
各フレームワーク識別情報は、フレームワーク名４０２、ファイルタイプ４０４、詳細指定４０５、パターン文字列４０６で構成されている。
【００２７】
図５で示したようにファイルタイプ４０４が“ＨＴＭＬ”である場合には、詳細指定４０５は特定の部分を指定する構文（ＸＰａｔｈなど）で表されたＨＴＭＬ文書内の照合対象ノード条件と照合箇所を特定するための情報である。
つまり、詳細指定４０５は、後述のパターン文字列４０６が配置されているＷｅｂページ内の文字列配置位置を示す。
【００２８】
パターン文字列４０６は、フレームワークを特定するための正規表現文字列である。パターン文字列は、フレームワークの判別に用いられる文字列であり、判別用文字列の例である。
フレームワーク名４０２は、使用されているフレームワークの名前を表す。
【００２９】
図３及び図４を用いてフレームワーク判定部１１２がフレームワークを特定する動作について説明する。
フレームワーク判定部１１２は、フレームワーク識別情報蓄積部１１３からフレームワーク識別情報を取り出す（Ｓ３０２）。
取り出すべきフレームワーク識別情報がない場合には、フレームワーク判定部１１２は該当するフレームワークが存在しないとし、「該当なし」を出力し（Ｓ３１３）、処理を終了する（Ｓ３１４）。
フレームワーク判定部１１２は、取り出したフレームワーク識別情報のファイルタイプ４０４と、診断対象のファイルタイプが同一であるかを確認し（Ｓ３０３）、同一である場合にはファイルタイプが“ＨＴＭＬ”である事を確認する（Ｓ３０４）。
本実施の形態では、ファイルタイプは必ず“ＨＴＭＬ”となる。
また、取り出したフレームワーク識別情報のファイルタイプ４０４と、診断対象のファイルタイプが異なる場合には、フレームワーク判定部１１２は次のフレームワーク識別情報を取り出す。
【００３０】
次にフレームワーク判定部１１２は、フレームワーク識別情報の詳細指定４０５が空でない事を確認し（Ｓ３０５）、ＸＰａｔｈで特定部分を指定する構文で記述された詳細指定４０５を用い、診断対象ページファイルから照合対象箇所を抽出する（Ｓ３０６）。
そして、フレームワーク判定部１１２は、抽出した箇所それぞれに対して（Ｓ３０７）、フレームワーク識別情報のパターン文字列４０６とのマッチングを行う（Ｓ３０８）。
抽出した箇所とフレームワーク識別情報のパターン文字が一致した場合（Ｓ３０９でＹＥＳ）には、フレームワーク判定部１１２は、フレームワーク識別情報のフレームワーク名４０２を出力し（Ｓ３１５）、処理を終了する（Ｓ３１４）。
【００３１】
照合箇所が複数抽出された場合には、フレームワーク判定部１１２は、抽出された照合箇所それぞれに対してパターンマッチングを行う（Ｓ３０７〜Ｓ３１０）。
抽出された照合箇所のいずれもパターンに一致しない場合には、フレームワーク判定部１１２は次の詳細指定を用いる。
つまり、フレームワーク識別情報の詳細指定が複数指定されている場合には、フレームワーク判定部１１２は、指定されている詳細指定それぞれに対して照合箇所を抽出し、抽出された照合箇所全てに対してパターンマッチングを行う（Ｓ３０６〜Ｓ３１１）。
指定された詳細指定のいずれでもパターンに一致になければ、フレームワーク判定部１１２は次のフレームワーク識別情報を用いる。
フレームワーク判定部１１２は、複数のフレームワーク識別情報に対して個々に照合を行い（Ｓ３０２〜Ｓ３１２）、最初にマッチしたフレームワークを診断対象のフレームワークとしてみなす。
【００３２】
以上のように、診断対象Ｗｅｂアプリケーションからの応答（Ｗｅｂページファイル）に対して、Ｗｅｂページのファイルタイプを判別し、特定の部分を指定する構文（ＸＰａｔｈなど）で表されたＨＴＭＬ文書内の照合対象ノード条件と照合箇所を特定する情報を元に照合箇所を抽出し、特定のパターンにマッチするかを判断する事で、フレームワークを特定し、フレームワーク情報を元にした擬似攻撃データを作成する事が可能になる、という効果がある。
【００３３】
つまり、本実施の形態では、通信記録とフレームワーク識別情報を用いてＷｅｂアプリケーションに使用されているフレームワークを判別し、既に十分な検証が行われているフレームワークについての診断を省略し、Ｗｅｂアプリケーション独自のパラメータにのみ擬似攻撃を行って、Ｗｅｂアプリケーションに対する診断の効率化を図ることができる。
【００３４】
なお、本実施の形態では、フレームワーク識別情報蓄積部１１３が、Ｗｅｂアプリケーション診断装置１０１と同一装置内で機能することを想定しているが、フレームワーク識別情報蓄積部１１３がリモートのデータベースサーバに格納されていてももちろん構わない。
また、フレームワーク識別情報蓄積部１１３内のフレームワーク識別情報を、リモートの配布サーバから定期的に取得して、常に最新のフレームワークに対応するようにする構成も可能である。
【００３５】
以上、本実施の形態では、
擬似攻撃データを含んだＨＴＴＰリクエストを診断対象のＷｅｂアプリケーションへ送信し、その応答であるＨＴＴＰレスポンスを解析することによって該Ｗｅｂアプリケーション上のセキュリティホールの有無を判定するＷｅｂアプリケーション診断装置において、
Ｗｅｂアプリケーションからの応答に含まれるテキストの中から、Ｗｅｂアプリケーションが使用しているフレームワーク名を特定するフレームワーク判定部を有するＷｅｂアプリケーション診断装置を説明した。
【００３６】
また、本実施の形態では、フレームワーク判定部から参照され、フレームワーク名、１つ乃至複数の照合箇所、パターン文字列で構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００３７】
また、本実施の形態では、照合箇所が、ファイルタイプとファイルタイプ固有の詳細指定情報で構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００３８】
また、本実施の形態では、ファイルタイプがＨＴＭＬであって、詳細指定では特定の部分を指定する構文によりＨＴＭＬ文書内の照合対象ノード条件と照合箇所を特定可能であるＷｅｂアプリケーション診断装置を説明した。
【００３９】
実施の形態２．
実施の形態１では、フレームワーク識別情報が、フレームワーク名、ファイルタイプ、詳細指定、パターン文字列で構成されており、ファイルタイプが“ＨＴＭＬ”である場合のフレームワーク判定部の動作について説明した。
本実施の形態では、フレームワーク識別情報が、フレームワーク名、ファイルタイプ、パターン文字列で構成されており、ファイルタイプが“ＨＴＭＬ”である場合（図５の詳細設定４０５が省略されている場合）のフレームワーク判定部１１２の動作について説明する。
【００４０】
図６は、本実施の形態に係るフレームワーク識別情報蓄積部１１３に格納されているフレームワーク識別情報の例を示した図である。
フレームワーク識別情報蓄積部１１３には、０個以上のフレームワーク識別情報が格納されている。
各フレームワーク識別情報は、フレームワーク名５０２、ファイルタイプ５０４、パターン文字列５０５で構成されている。
パターン文字列５０５は、フレームワークを特定するための正規表現文字列であり、判別用文字列の例である。
フレームワーク名５０２は、使用されているフレームワークの名前を表す。
【００４１】
図３及び図４を用いてフレームワーク判定部１１２がフレームワークを特定する動作について説明する。
フレームワーク判定部１１２は、フレームワーク識別情報蓄積部１１３からフレームワーク識別情報を取り出す（Ｓ３０２）。
取り出すべきフレームワーク識別情報がない場合には、フレームワーク判定部１１２は該当するフレームワークが存在しないとし、「該当なし」を出力し（Ｓ３１３）、処理を終了する（Ｓ３１４）。
フレームワーク判定部１１２は、取り出したフレームワーク識別情報のファイルタイプ５０４と、診断対象のファイルタイプが同一であるかを確認し（Ｓ３０３）、同一である場合にはファイルタイプが“ＨＴＭＬ”である事を確認する（Ｓ３０４）。
本実施の形態では、ファイルタイプは必ず“ＨＴＭＬ”となる。
また、取り出したフレームワーク識別情報のファイルタイプと、診断対象のファイルタイプが異なる場合には、フレームワーク判定部１１２は次のフレームワーク識別情報を取り出す。
【００４２】
次にフレームワーク判定部１１２は、フレームワーク識別情報の詳細指定が空（詳細指定が存在しない）である事を確認し（Ｓ３０５）、診断対象ページファイル全てに対してフレームワーク識別情報のパターン文字列５０５とのマッチングを行う（Ｓ３１６）。
そして、診断対象ページファイルとフレームワーク識別情報のパターン文字列５０５が一致した場合には、フレームワーク判定部１１２は、フレームワーク識別情報のフレームワーク名５０２を出力し（Ｓ３１５）、処理を終了する（Ｓ３１４）。
【００４３】
診断対象ページファイルにパターン文字列５０５と一致する箇所が存在しない場合には、フレームワーク判定部１１２は、次のフレームワーク識別情報を用いる。
フレームワーク判定部は、複数のフレームワーク識別情報に対して個々に照合を行い（Ｓ３０２〜Ｓ３１２）、最初にマッチしたフレームワークを診断対象のフレームワークとしてみなす。
【００４４】
以上のように、診断対象Ｗｅｂアプリケーションからの応答（Ｗｅｂページファイル）に対してＷｅｂページのファイルタイプを判別し、タグも含めたＨＴＭＬファイル全体に特定パターンにマッチする箇所が存在するかを判断することで、フレームワークを特定し、フレームワーク情報を元にした擬似攻撃データを作成する事が可能になる、という効果がある。
【００４５】
本実施の形態では、フレームワーク識別情報蓄積部１１３が、Ｗｅｂアプリケーション診断装置１０１と同一装置内で機能することを想定しているが、フレームワーク識別情報蓄積部１１３がリモートのデータベースサーバに格納されていてももちろん構わない。
また、フレームワーク識別情報蓄積部１１３内のフレームワーク識別情報を、リモートの配布サーバから定期的に取得して、常に最新のフレームワークに対応するようにする構成も可能である。
【００４６】
また、本実施の形態で示したフレームワーク識別情報蓄積部１１３は、実施の形態１で示したフレームワーク識別情報蓄積部１１３と統一してももちろん構わない。
この場合、実施の形態２で使用されるフレームワーク識別情報はフレームワーク名、ファイルタイプ、空の詳細指定、パターン文字列から構成される。
【００４７】
以上、本実施の形態では、照合箇所が、ファイルタイプで構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００４８】
また、本実施の形態では、ファイルタイプがＨＴＭＬであって、タグも含め、ＨＴＭＬ文書全体が照合対象となるＷｅｂアプリケーション診断装置を説明した。
【００４９】
実施の形態３．
実施の形態１では、ファイルタイプが“ＨＴＭＬ”である場合のフレームワーク判定部の動作について説明した。本実施の形態では、ファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である場合のフレームワーク判定部の動作について説明する。
【００５０】
近年ではＡｊａｘ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）  Ａｎｄ  ＸＭＬ）とよばれるＪａｖａＳｃｒｉｐｔ（登録商標）からＷｅｂアプリケーションへの非同期通信による画面更新技術を利用したＷｅｂアプリケーションも普及しつつある。
ＡｊａｘではＪａｖａＳｃｒｉｐｔ（登録商標）からＷｅｂアプリケーションへと送信されるパラメータの様式が定まっておらず、従来のＷｅｂ診断技術では独自のフォーマットを使用してパラメータを送信するＷｅｂアプリケーション向けの擬似攻撃（ＨＴＴＰリクエスト）を生成することができないという課題がある。
本実施の形態では、このような課題に対応するＷｅｂアプリケーション診断装置１０１を説明する。
【００５１】
図７は、本実施の形態に係るフレームワーク識別情報蓄積部１１３に格納されているフレームワーク識別情報の例を示した図である。
フレームワーク識別情報蓄積部１１３には、０個以上のフレームワーク識別情報が格納されている。
各フレームワーク識別情報は、フレームワーク名６０２、ファイルタイプ６０４、詳細指定６０５、パターン文字列６０６で構成されている。
図７で示したようにファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である場合には、詳細指定６０５は照合開始行と照合終了行である。
照合開始行が省略された場合には、ファイル先頭が、照合終了行が省略された場合には、ファイル末尾が指定される。
そして、パターン文字列６０６は、フレームワークを特定するための正規表現文字列であり、判別用文字列の例である。
フレームワーク名６０２は、使用されているフレームワークの名前を表す。
【００５２】
図３及び図４を用いてフレームワーク判定部１１２がフレームワークを特定する動作について説明する。
フレームワーク判定部１１２は、フレームワーク識別情報蓄積部１１３からフレームワーク識別情報を取り出す（Ｓ３０２）。
取り出すべきフレームワーク識別情報がない場合には、フレームワーク判定部１１２は該当するフレームワークが存在しないとし、「該当なし」を出力し（Ｓ３１３）、処理を終了する（Ｓ３１４）。
フレームワーク判定部１１２は、取り出したフレームワーク識別情報のファイルタイプ６０４と、診断対象のファイルタイプが同一であるかを確認し（Ｓ３０３）、同一である場合にはファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である事を確認する（Ｓ３１８）。
本実施の形態では、ファイルタイプは必ず“ＪａｖａＳｃｒｉｐｔ”（登録商標）となる。
また、取り出したフレームワーク識別情報のファイルタイプ６０４と、診断対象のファイルタイプが異なる場合には、フレームワーク判定部１１２は次のフレームワーク識別情報を取り出す。
【００５３】
次にフレームワーク判定部１１２は、フレームワーク識別情報の詳細指定が空でない事を確認し（Ｓ３１９）、フレームワーク識別情報の詳細指定６０５で指定された照合開始行から順に診断対象ページファイルから照合対象行を抽出する（Ｓ３２０）。
そして、フレームワーク判定部１１２は、抽出した照合対象行それぞれに対してフレームワーク識別情報のパターン文字列６０６とのマッチングを行う（Ｓ３２１）。
照合対象行とフレームワーク識別情報のパターン文字列６０６が一致した場合には、フレームワーク判定部１１２は、フレームワーク識別情報のフレームワーク名６０２を出力し（Ｓ３１５）、処理を終了する（Ｓ３１４）。
照合対象行とフレームワーク識別情報のパターン文字列６０６が一致しない場合には、フレームワーク判定部１１２は、照合対象行とフレームワーク識別情報のパターン文字列６０６とのマッチングを、詳細指定６０５で指定された照合終了行まで行う（Ｓ３２０〜Ｓ３２３）。
照合開始行から照合終了行までにパターン文字列６０６と一致しなければ、フレームワーク判定部１１２は、次のフレームワーク識別情報を用いる。
フレームワーク判定部１１２は、複数のフレームワーク識別情報に対して個々に照合を行い（Ｓ３０２〜Ｓ３１２）、最初にマッチしたフレームワークを診断対象のフレームワークとしてみなす。
【００５４】
以上のように、診断対象Ｗｅｂアプリケーションからの応答（Ｗｅｂページファイル）に対して、Ｗｅｂページのファイルタイプを判別し、照合開始行から照合終了行までを抽出し、特定のパターンにマッチするかを判断する事で、フレームワークを特定し、フレームワーク情報を元にした擬似攻撃データを作成する事が可能になる、という効果がある。
【００５５】
本実施の形態におけるフレームワーク識別情報蓄積部１１３が、Ｗｅｂアプリケーション診断装置１０１と同一装置内で機能することを想定しているが、フレームワーク識別情報蓄積部１１３がリモートのデータベースサーバに格納されていてももちろん構わない。
また、フレームワーク識別情報蓄積部１１３内のフレームワーク識別情報を、リモートの配布サーバから定期的に取得して、常に最新のフレームワークに対応するようにする構成も可能である。
また、本実施の形態で示したフレームワーク識別情報蓄積部１１３は、実施の形態１で示したフレームワーク識別情報蓄積部１１３と統一してももちろん構わない。
【００５６】
以上、本実施の形態では、フレームワーク判定部から参照され、フレームワーク名、照合箇所、パターン文字列で構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００５７】
また、本実施の形態では、照合箇所が、ファイルタイプとファイルタイプ固有の詳細指定情報で構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００５８】
また、本実施の形態では、ファイルタイプがＪａｖａＳｃｒｉｐｔ（登録商標）であって、照合開始行と照合終了行を指定可能であるＷｅｂアプリケーション診断装置を説明した。
【００５９】
実施の形態４．
実施の形態３では、フレームワーク識別情報が、フレームワーク名、ファイルタイプ、詳細指定情報、パターン文字列で構成されており、ファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である場合のフレームワーク判定部の動作について説明した。
本実施の形態では、フレームワーク識別情報が、フレームワーク名、ファイルタイプ、パターン文字列で構成されており、ファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である場合（図７の詳細指定６０５が省略されている場合）のフレームワーク判定部の動作について説明する。
【００６０】
図８は、本実施の形態に係るフレームワーク識別情報蓄積部１１３に格納されているフレームワーク識別情報の例を示した図である。
フレームワーク識別情報蓄積部１１３には、０個以上のフレームワーク識別情報が格納されている。
各フレームワーク識別情報は、フレームワーク名７０２、ファイルタイプ７０４、パターン文字列７０５で構成されている。
パターン文字列７０５は、フレームワークを特定するための正規表現文字列であり、判別用文字列の例である。
フレームワーク名７０２は、使用されているフレームワークの名前を表す。
【００６１】
図３及び図４を用いてフレームワーク判定部１１２がフレームワークを特定する動作について説明する。
フレームワーク判定部１１２は、フレームワーク識別情報蓄積部１１３からフレームワーク識別情報を取り出す（Ｓ３０２）。
取り出すべきフレームワーク識別情報がない場合には、フレームワーク判定部１１２は、該当するフレームワークが存在しないとし、「該当なし」を出力し（Ｓ３１３）、処理を終了する（Ｓ３１４）。
フレームワーク判定部１１２は、取り出したフレームワーク識別情報のファイルタイプ７０４と、診断対象のファイルタイプが同一であるかを確認し（Ｓ３０３）、同一である場合にはファイルタイプが“ＪａｖａＳｃｒｉｐｔ”（登録商標）である事を確認する（Ｓ３１８）。
本実施の形態では、ファイルタイプは必ず“ＪａｖａＳｃｒｉｐｔ”（登録商標）となる。
また、取り出したフレームワーク識別情報のファイルタイプ７０４と、診断対象のファイルタイプが異なる場合には、フレームワーク判定部１１２は次のフレームワーク識別情報を取り出す。
【００６２】
次にフレームワーク判定部１１２は、フレームワーク識別情報の詳細指定が空（詳細指定が存在しない）である事を確認し（Ｓ３１９）、診断対象ページファイル全てに対してフレームワーク識別情報のパターン文字列７０５とのマッチングを行う（Ｓ３１６）。
そして、診断対象ページファイルとフレームワーク識別情報のパターン文字列７０５が一致した場合には、フレームワーク識別情報のフレームワーク名７０２を出力し（Ｓ３１５）、処理を終了する（Ｓ３１４）。
【００６３】
診断対象ページファイルにパターン文字列７０５と一致する箇所が存在しない場合には、フレームワーク判定部１１２は、次のフレームワーク識別情報を用いる。
フレームワーク判定部１１２は、複数のフレームワーク識別情報に対して個々に照合を行い（Ｓ３０２〜Ｓ３１２）、最初にマッチしたフレームワークを診断対象のフレームワークとしてみなす。
【００６４】
以上のように、診断対象Ｗｅｂアプリケーションからの応答（Ｗｅｂページファイル）に対してＷｅｂページのファイルタイプを判別し、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル全体に特定パターンにマッチする箇所が存在するかを判断することで、フレームワークを特定し、フレームワーク情報を元にした擬似攻撃データを作成する事が可能になる、という効果がある。
【００６５】
本実施の形態におけるフレームワーク識別情報蓄積部１１３が、Ｗｅｂアプリケーション診断装置１０１と同一装置内で機能することを想定しているが、フレームワーク識別情報蓄積部１１３がリモートのデータベースサーバに格納されていてももちろん構わない。
また、フレームワーク識別情報蓄積部１１３内のフレームワーク識別情報を、リモートの配布サーバから定期的に取得して、常に最新のフレームワークに対応するようにする構成も可能である。
【００６６】
また、本実施の形態で示したフレームワーク識別情報蓄積部１１３は、実施の形態１及び実施の形態３で示したフレームワーク識別情報蓄積部１１３と統一してももちろん構わない。
この場合、実施の形態４で使用されるフレームワーク識別情報はフレームワーク名、ファイルタイプ、空の詳細指定、パターン文字列から構成される。
【００６７】
以上、本実施の形態では、照合箇所が、ファイルタイプで構成されたフレームワーク識別情報が格納されたフレームワーク識別情報蓄積部を有するＷｅｂアプリケーション診断装置を説明した。
【００６８】
また、本実施の形態では、ファイルタイプがＪａｖａＳｃｒｉｐｔ（登録商標）であって、スクリプトファイル全体が照合対象となるＷｅｂアプリケーション診断装置を説明した。
【００６９】
最後に、実施の形態１〜４に示したＷｅｂアプリケーション診断装置１０１のハードウェア構成例について説明する。
図９は、実施の形態１〜４に示すＷｅｂアプリケーション診断装置１０１のハードウェア資源の一例を示す図である。
なお、図９の構成は、あくまでもＷｅｂアプリケーション診断装置１０１のハードウェア構成の一例を示すものであり、Ｗｅｂアプリケーション診断装置１０１のハードウェア構成は図９に記載の構成に限らず、他の構成であってもよい。
【００７０】
図９において、Ｗｅｂアプリケーション診断装置１０１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１〜４で説明した「フレームワーク識別情報蓄積部１１３」及び「通信記録部１１４」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００７１】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、インターネットの他、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００７２】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００７３】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００７４】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
Ｗｅｂアプリケーション診断装置１０１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００７５】
上記プログラム群９２３には、実施の形態１〜４の説明において「〜部」（「フレームワーク識別情報蓄積部１１３」及び「通信記録部１１４」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００７６】
ファイル群９２４には、実施の形態１〜４の説明において、「〜の判断」、「〜の判定」、「〜の計算」、「〜の比較」、「〜の照合」、「〜の診断」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜４で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００７７】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。
【００７８】
このように、実施の形態１〜４に示すＷｅｂアプリケーション診断装置１０１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００７９】
１０１  Ｗｅｂアプリケーション診断装置、１０２  セキュリティホール判定部、１０３  擬似攻撃生成部、１０４  診断結果表示部、１０５  ＨＴＴＰリクエスト送信部、１０６  ＨＴＴＰレスポンス受信部、１０７  雛形ＨＴＴＰリクエスト生成部、１０８  インターネット、１１０  Ｗｅｂサーバ、１１１  診断対象Ｗｅｂアプリケーション、１１２  フレームワーク判定部、１１３  フレームワーク識別情報蓄積部、１１４  通信記録部。
【図１】
2011028665.tif 000003
【図２】
2011028665.tif 000004
【図３】
2011028665.tif 000005
【図４】
2011028665.tif 000006
【図５】
2011028665.tif 000007
【図６】
2011028665.tif 000008
【図７】
2011028665.tif 000009
【図８】
2011028665.tif 000010
【図９】
2011028665.tif 000011
【図１０】
2011028665.tif 000012