(57)【要約】【課題】  本発明は、キーワードに依存することなく、Ｗｅｂアプリケーションのパラメータ改ざん検出機能を診断する診断装置の提供を目的とする。【解決手段】  サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２で動作するＷｅｂアプリケーションの脆弱性を検出する。サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２に正常なリクエストと、この正常なリクエストを改ざんした不正リクエストとを送信する。診断対象Ｗｅｂサーバ２１２は、正常リクエストに対応する正常対応レスポンスと、不正リクエストに対応する不正対応レスポンスとを返信する。サーバ診断装置２００は、「正常対応レスポンス」、「不正対応レスポンス」を受信し、それぞれのタグ構造を比較する。そして、タグ構造の比較結果によって、診断対象Ｗｅｂサーバ２１２が脆弱であるかどうかを判断する。【選択図】        図１
2006338246.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行することによりネットワークを介してリクエストを受け付けて受け付けたリクエストに対応するとともにタグを用いた言語で作成されたレスポンスをネットワークを介して返信するサーバを診断するサーバ診断装置において、
正常リクエストと正常リクエストを改ざんした不正リクエストとを前記サーバに送信するリクエスト送信部と、
前記リクエスト送信部が送信した正常リクエストと不正リクエストとを受信した前記サーバから、正常リクエストに対応するとともにタグを用いた言語で作成された正常対応レスポンスと、不正リクエストに対応するとともにタグを用いた言語で作成された不正対応レスポンスとを受信するレスポンス受信部と、
前記レスポンス受信部が受信した正常対応レスポンスと不正対応レスポンスとのタグ構造に基づいて、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定する判定部と、
前記判定部が判定した判定結果を出力装置に出力する判定結果出力部と
を備えたことを特徴とするサーバ診断装置。
【請求項２】
前記判定部は、
前記レスポンス受信部が受信した正常対応レスポンスと不正対応レスポンスとのそれぞれについて、タグの出現パターンを示すタグパターンを抽出するタグパターン抽出部と、
前記タグパターン抽出部が抽出した正常対応レスポンスのタグパターンと不正対応レスポンスのタグパターンとを比較することにより、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定するタグパターン比較部と
を備えたことを特徴とする請求項１記載のサーバ診断装置。
【請求項３】
前記判定部は、さらに、
前記タグパターン抽出部が抽出した正常対応レスポンスのタグパターンに対して繰り返し構造の部分を縮約し、繰り返し構造の部分を縮約した正常対応レスポンスのタグパターンを正常縮約タグパターンとして作成するタグパターン縮約部を備え、
前記タグパターン比較部は、
前記タグパターン縮約部が作成した正常縮約タグパターンと前記タグパターン抽出部が抽出した不正対応レスポンスのタグパターンとを比較することにより、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定することを特徴とする請求項２記載のサーバ診断装置
【請求項４】
前記タグパターン縮約部は、
正常縮約タグパターンを作成する場合に、繰り返し構造の表現形式である正規表現を使用して縮約することを特徴とする請求項３記載のサーバ診断装置。
【請求項５】
前記タグパターン抽出部は、
タグパターンとして、正常対応レスポンスと不正対応レスポンスとのそれぞれについて、タグで示されているタグ名称を抽出することを特徴とする請求項２記載のサーバ診断装置。
【請求項６】
前記タグパターン抽出部は、
タグパターンとして、正常対応レスポンスと不正対応レスポンスとのそれぞれについて、タグで示されているクラス属性を抽出することを特徴とする請求項２記載のサーバ診断装置。
【請求項７】
前記リクエスト送信部は、
正常リクエストを改ざんしたリクエストであってアプリケーションプログラムの異常終了を目的とする攻撃リクエストを前記サーバに送信し、
前記レスポンス受信部は、
前記リクエスト送信部が送信した攻撃リクエストを受信した前記サーバから、攻撃リクエストに対応するとともにタグを用いた言語で作成された攻撃対応レスポンスを受信し、
前記判定部は、
前記レスポンス受信部が受信した攻撃対応レスポンスと正常対応レスポンスと不正対応レスポンスとのそれぞれのタグ構造に基づいて、アプリケーションプログラムが異常終了した可能性があるかどうかを判定することを特徴とする請求項１記載のサーバ診断装置。
【請求項８】
前記判定部は、
攻撃対応レスポンスのタグ構造が正常対応レスポンスと不正対応レスポンスとのいずれのタグ構造とも異なる場合に、アプリケーションプログラムが異常終了した可能性があると判定することを特徴とする請求項７記載のサーバ診断装置。
【請求項９】
ネットワークを介してリクエストを受け付けて受け付けたリクエストに対応するとともにタグを用いた言語で作成されたレスポンスをネットワークを介して返信するサーバを監視するサーバ監視装置において、
前記サーバへのリクエストを傍受するリクエスト傍受部と、
前記リクエスト傍受部が傍受した前記サーバへのリクエストに応答して前記サーバが返信したレスポンスを傍受するレスポンス傍受部と、
前記サーバへ送信可能なリクエストとそのリクエストに対応するレスポンスのタグ構造との関係を複数記憶するタグ構造記憶部と、
リクエスト傍受部が傍受したリクエストをキーとして、リクエスト傍受部が傍受したリクエストを受信した前記サーバが返信すると予想されるレスポンスのタグ構造を前記タグ構造記憶部から検索する検索部と、
前記検索部が検索したタグ構造と前記レスポンス傍受部が傍受したレスポンスのタグ構造とに基づいて、前記リクエスト傍受部が傍受したリクエストが正常かどうかを判定する判定部と、
前記判定部の判定結果を出力装置に出力する判定結果出力部と
を備えたことを特徴とするサーバ監視装置。
【請求項１０】
前記タグ構造記憶部は、
タグ構造として、タグの出現パターンを示すタグパターンを記憶し、
前記検索部は、
リクエスト傍受部が傍受したリクエストを受信した前記サーバが返信すると思われるレスポンスのタグパターンを前記タグ構造記憶部から検索し、
前記判定部は、
前記レスポンス傍受部が傍受したレスポンスからタグパターンを抽出するタグパターン抽出部と、
前記タグパターン抽出部が抽出したタグパターンと前記検索部が検索したタグパターンとを比較することにより、前記リクエスト傍受部が傍受したリクエストが正常かどうかを判定する比較部と
を備えたことを特徴とする請求項９記載のサーバ監視装置。
【請求項１１】
アプリケーションプログラムを実行することによりネットワークを介してリクエストを受け付けて受け付けたリクエストに対応するとともにタグを用いた言語で作成されたレスポンスをネットワークを介して返信するサーバを診断するサーバ診断装置に以下の処理を実行させるサーバ診断プログラム
（１）正常リクエストと正常リクエストを改ざんした不正リクエストとを前記サーバに送信する処理
（２）送信した正常リクエストと不正リクエストとを受信した前記サーバから、正常リクエストに対応するとともにタグを用いた言語で作成された正常対応レスポンスと、不正リクエストに対応するとともにタグを用いた言語で作成された不正対応レスポンスとを受信する処理
（３）受信した正常対応レスポンスと不正対応レスポンスとのタグ構造に基づいて、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定する処理
（４）判定した判定結果を出力装置に出力する処理
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＷｅｂアプリケーションの脆弱性診断に係るものである。また、Ｗｅｂアプリケーションへの攻撃検知に係るものでもある。
【背景技術】
【０００２】
まず初めに、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）上でのＷｅｂアプリケーションとの通信について説明する。
【０００３】
Ｗｅｂアプリケーションのユーザは、Ｗｅｂアプリケーションが送信してきたＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ページをブラウザ上に表示し、そのページ内に含まれているフォームやリンクを操作することで、Ｗｅｂアプリケーションとの対話を行う。
【０００４】
ユーザがブラウザ上で行った操作をもとに、ブラウザは、ＨＴＴＰリクエストメッセージを生成し、Ｗｅｂアプリケーションに送信する。
【０００５】
Ｗｅｂアプリケーションは、ＨＴＴＰリクエストに含まれているユーザからの入力データを解析し、入力に応じたＨＴＭＬページをＨＴＴＰレスポンスメッセージに含めてブラウザに送り返す。
【０００６】
ユーザが、ブラウザに表示されたフォーム上に入力した値は、ＨＴＴＰリクエストの
（１）ＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）のｑｕｅｒｙ部分あるいは、
（２）リクエストのボディ部
に格納されて送信される。
各値は、ＷｅｂアプリケーションがＨＴＭＬを通じて指定したデータ名と対応付けられて送信される。ＨＴＴＰリクエストで送信されるデータ名とデータの一対を、以降「フォームパラメータ」と呼ぶことにする。上記用語を用いれば、「ユーザがフォーム等を通じて入力したデータは、ＨＴＴＰリクエスト上の複数のフォームパラメータとなってＷｅｂアプリケーションに送信される」と表現できる。
【０００７】
さらに、ＨＴＴＰはステートレスなプロトコルであるため、Ｗｅｂアプリケーションは各利用者の状態を管理するために、クッキー（Ｃｏｏｋｉｅ）と呼ばれる情報をブラウザに送る場合がある。
【０００８】
クッキーを受け取ったブラウザは、次にＨＴＴＰリクエストを送信するときに、そのクッキー情報も一緒に送信することで、Ｗｅｂアプリケーションに自分の現在の状態を通知することができる。クッキーも、前述したフォームパラメータ同様、複数のデータ名とデータの対で構成されているため、クッキーを構成する各データ名、データの対を「クッキーパラメータ」と呼ぶことにする。
【０００９】
以上を踏まえた上で、従来のＷｅｂアプリケーション診断技術について説明する。図１１は米国特許６５８４５６９に代表される一般的なＷｅｂアプリケーション診断装置の構成を表す図である。図にあるとおり、従来のＷｅｂアプリケーション診断装置１００は、装置操作手段１０１、検査制御手段１０２、正常ＨＴＴＰリクエスト生成手段１０３、パラメータ改ざん手段１０４、ＨＴＴＰリクエスト送信手段１０５、ＨＴＴＰレスポンス受信手段１０６、キーワード検索手段１０７で構成されている。Ｗｅｂアプリケーション診断装置１００は、ネットワーク１０８を介して診断対象Ｗｅｂサーバ１０９に接続されている。
【００１０】
次に、従来のＷｅｂアプリケーション診断装置１００の動作について説明する。まずはじめに、診断実施者（検査実施者）は、装置操作手段１０１を介して診断の実行を装置に指示する。それを受けて検査制御手段１０２は、Ｗｅｂアプリケーションに通常送信されるようなＨＴＴＰリクエストを正常ＨＴＴＰリクエスト生成手段１０３を利用して生成する。
【００１１】
次に、生成されたＨＴＴＰリクエストのパラメータを、パラメータ改ざん手段１０４を用いて診断用の検査文字列に置き換え、ＨＴＴＰリクエスト送信手段１０５を通じて診断対象Ｗｅｂサーバ１０９に送信する。
【００１２】
Ｗｅｂサーバ１０９上で稼動するＷｅｂアプリケーションは、前述した改変されたＨＴＴＰリクエストを受信し、その入力に対するＨＴＴＰレスポンスを生成し、診断装置１００に送り返す。送り返されたＨＴＴＰレスポンスはＨＴＴＰレスポンス受信手段１０６によって受信され、レスポンスが特定の文字列を含んでいるかどうかをキーワード検索手段１０７によってチェックされる。
【００１３】
キーワード検索手段１０７によってチェックされるキーワードは、「ｅｒｒｏｒ」、「ｓｏｒｒｙ」、「ｎｏｔ  ｆｏｕｎｄ」といった、Ｗｅｂアプリケーション内でエラーを検出したことを示す文字列である。もし、これらのキーワードがレスポンスの中に含まれていた場合には、Ｗｅｂアプリケーションは、正しく入力の改ざんを検出できたとみなし、脆弱性は無しと判断する。
【００１４】
万一これらのキーワードが見つからなかった場合には、パラメータの改ざんをＷｅｂアプリケーションは検知できなかったものとみなし、脆弱性有りとして、装置操作手段１０１を通じて診断実施者に通知する。
【特許文献１】米国特許６５８４５６９
【発明の開示】
【発明が解決しようとする課題】
【００１５】
以上の様に、従来のＷｅｂアプリケーション診断装置では、レスポンスの中にあらかじめ定義されたキーワードが含まれているかどうかで脆弱性をチェックしている。このため、これらのキーワードを含まないページが返ってきた場合、常に脆弱性有りとみなしてしまっていた。しかし、入力エラーを示す文字列は無数に考えられるため、それらの全てをあらかじめ網羅したキーワードリストを用意することは困難であり、結果として誤検知が多く発生するという課題があった。
【００１６】
さらに、Ｗｅｂアプリケーションがパラメータ改ざんを検出できなかった場合でも、偶然レスポンス内にキーワードが含まれていた場合には、脆弱性無しとみなされてしまうという課題も存在した。
【００１７】
本発明は、キーワードに依存することなく、Ｗｅｂアプリケーションのパラメータ改ざん検出機能を診断する診断装置の提供を目的とする。
【課題を解決するための手段】
【００１８】
本発明のサーバ診断装置は、
アプリケーションプログラムを実行することによりネットワークを介してリクエストを受け付けて受け付けたリクエストに対応するとともにタグを用いた言語で作成されたレスポンスをネットワークを介して返信するサーバを診断するサーバ診断装置において、
正常リクエストと正常リクエストを改ざんした不正リクエストとを前記サーバに送信するリクエスト送信部と、
前記リクエスト送信部が送信した正常リクエストと不正リクエストとを受信した前記サーバから、正常リクエストに対応するとともにタグを用いた言語で作成された正常対応レスポンスと、不正リクエストに対応するとともにタグを用いた言語で作成された不正対応レスポンスとを受信するレスポンス受信部と、
前記レスポンス受信部が受信した正常対応レスポンスと不正対応レスポンスとのタグ構造に基づいて、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定する判定部と、
前記判定部が判定した判定結果を出力装置に出力する判定結果出力部と
を備えたことを特徴とする。
【発明の効果】
【００１９】
本発明により、キーワードに依存することなく、Ｗｅｂアプリケーションのパラメータ改ざん検出機能の診断を行うことができる。
【発明を実施するための最良の形態】
【００２０】
実施の形態１．
図１〜図４を用いて実施の形態１を説明する。実施の形態１は、Ｗｅｂアプリケーションプログラム（以下、Ｗｅｂアプリケーションという）を実行するＷｅｂサーバの脆弱性を診断するサーバ診断装置に関する。
【００２１】
図１は、実施の形態１に係るサーバ診断装置２００の構成を示す図である。図１を参照して、実施の形態１の概要を説明する。
（１）サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２上で動作しているＷｅｂアプリケーションの脆弱性を検出する。サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２に様々なＨＴＴＰリクエストを送信し、その応答を解析することで脆弱性を判定する。例えば、サーバ診断装置２００は診断対象Ｗｅｂサーバ２１２に正常なリクエストと、この正常なリクエストを改ざんした不正リクエストとを送信する。
（２）診断対象Ｗｅｂサーバ２１２は、リクエストに応答し、このリクエストに対応するレスポンスを返信する。このレスポンスは、リクエストに応じたＨＴＭＬ（タグを用いた言語の一例）ページを含む。正常リクエストに対応するレスポンスを、以下、「正常対応レスポンス」という。また、不正リクエストに対応するレスポンスを「不正対応レスポンス」という。
（３）サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２から正常対応レスポンス、不正対応レスポンスを受信する。そして、サーバ診断装置２００は、「正常対応レスポンス」に含まれるＨＴＭＬページのタグ構造と、「不正対応レスポンス」に含まれるＨＴＭＬページのタグ構造とを比較する。サーバ診断装置２００は、このタグ構造の比較結果によって、診断対象Ｗｅｂサーバ２１２が脆弱であるかどうかを判断する。
ここでタグ構造は、ＨＴＭＬページに出現するタグの出現パターンを示す後述のタグパターンや、タグパターンから作成される後述の正規表現文字列（正常縮約タグパターン）を含む。このように、タグ構造の比較結果によって診断対象Ｗｅｂサーバ２１２が脆弱であるかどうかを判断することが特徴である。サーバ診断装置２００は、不正対応レスポンスのタグ構造が、正常対応レスポンスのタグ構造と変化が無い場合、診断対象Ｗｅｂサーバ２１２の脆弱を指摘する。
【００２２】
次に図１を参照して、サーバ診断装置２００の構成を説明する。サーバ診断装置２００は、装置操作部２０１、検査制御部２０２、リクエスト送信部２３０、ＨＴＴＰレスポンス受信部２０６、判定部２２０、タグパターン保存部２１０、判定結果出力部２４１とを備える。
【００２３】
リクエスト送信部２３０は、正常ＨＴＴＰリクエスト生成部２０３、パラメータ改ざん部２０４、ＨＴＴＰリクエスト送信部２０５を備える。
【００２４】
判定部２２０は、タグパターン抽出部２０７、タグパターン縮約部２０８、タグパターン変化検出部２０９を備える。
【００２５】
サーバ診断装置２００は、ネットワーク２１１、インターネット等を介して診断対象Ｗｅｂサーバ２１２と接続されている。
【００２６】
次に、各構成要素の機能を説明する。まず検査制御部２０２は、サーバ診断装置２００の全体を統括し、装置操作部２０１を介して入力されたユーザ（検査実施者２５０）からの命令に応じて、各構成要素を適切にコントロールする。
【００２７】
リクエスト送信部２３０は、正常リクエストと正常リクエストを改ざんした不正リクエストとを診断対象Ｗｅｂサーバ２１２に送信する。まず正常ＨＴＴＰリクエスト生成部２０３が検査制御部２０２からの要求に応じ、診断対象Ｗｅｂサーバ２１２で受理される正しいＨＴＴＰリクエストを生成する。そしてパラメータ改ざん部２０４が、正常ＨＴＴＰリクエスト生成部２０３が生成した正しいＨＴＴＰリクエスト（正常リクエスト）を元に、診断に用いるためのＨＴＴＰリクエスト（不正リクエスト）を生成する。どのような改変を行うかは検査制御部２０２が決定する。図２は、改ざん（改変）の例を示している。
【００２８】
図２の改ざん例を説明する。図２の（ａ）〜（ｃ）において、破線で囲まれた部分が改変箇所を示している。（ａ）はＵＲＬ改変の例を示しており、「ａ＝１」を「ａ＝１００」と改変している。（ｂ）はリクエストボディ改変の例を示しており、「ａ＝１」を「ａ＝１００」と改変している。（ｃ）はＣｏｏｋｉｅ改変の例を示しており、「ｉｄ＝ｇｕｅｓｔ」を「ｉｄ＝ａｄｍｉｎ」と改変している。
【００２９】
ＨＴＴＰリクエスト送信部２０５は、生成されたＨＴＴＰリクエスト（正常リクエスト、不正リクエスト）をネットワーク２１１を介して診断対象Ｗｅｂサーバ２１２に送信する。必要に応じて暗号プロトコルを使用しても構わない。
【００３０】
次に受信側の各構成要素について説明する。ＨＴＴＰレスポンス受信部２０６は、診断対象Ｗｅｂサーバ２１２から送信されてきたＨＴＴＰレスポンス（正常対応レスポンス、不正対応レスポンス）を受信する。
【００３１】
次に判定部２２０を説明する。判定部２２０は、ＨＴＴＰレスポンス受信部２０６が受信した正常対応レスポンスと不正対応レスポンスとについてのタグ構造に基づいて、アプリケーションプログラムを実行する診断対象Ｗｅｂサーバ２１２が脆弱かどうかを判定する。判定部２２０のタグパターン抽出部２０７は、ＨＴＴＰレスポンス受信部２０６が受信したＨＴＴＰレスポンスの中のＨＴＭＬを解析し、その中のタグの出現パターンを「タグパターン」として抽出する。タグパターン縮約部２０８は、タグパターン抽出部２０７が抽出したタグパターンのうち、繰り返し構造を持つ部分を縮約した正規表現文字列を生成する。タグパターン変化検出部２０９はタグパターン抽出部２０７によって抽出されたタグパターンと、タグパターン保存部２１０中の正規表現文字列とを比較して、一致するかどうかを検査する。
【００３２】
タグパターン保存部２１０は、タグパターン縮約部２０８によって生成された正規表現文字列を後で参照できる形式で保存しておく。
【００３３】
判定結果出力部２４１は、判定部２２０が判定した判定結果を液晶ディスプレイやＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などの表示装置や、プリンタ、あるいはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記録装置に出力する。
本実施の形態は、Ｗｅｂアプリケーション（診断対象Ｗｅｂサーブ２１２）が改ざんを検出した場合、ＷｅｂアプリケーションがＨＴＴＰレスポンスに、ＨＴＴＰリクエストが受理されなかった旨をユーザに通知するＨＴＭＬを含めてサーバ診断装置に送り返すことを前提としており、この場合、正規のリクエストを送信した場合に返されるＨＴＭＬとは文書の構造が異なってくるので、それを検出するものである。
【００３４】
図３を参照してサーバ診断装置２００の動作について説明する。図３はサーバ診断装置２００の動作を示すフローチャートである。はじめに、検査実施者２５０は、装置操作部２０１を通じて検査制御部２０２に検査を要求する。
（１）検査制御部２０２は、まず、正常ＨＴＴＰリクエスト生成部２０３を用いて診断対象Ｗｅｂサーバ２１２上のＷｅｂアプリケーションが正常に受理できるような「正常リクエスト」を生成（ステップ３０１）する。
（２）サーバ診断装置２００は、この正常リクエストを、ＨＴＴＰリクエスト送信部２０５を介して検査対象Ｗｅｂサーバに送信する（ステップ３０２）。
（３）診断対象Ｗｅｂサーバ２１２は、正常リクエストに対応する正常対応レスポンスをサーバ診断装置２００に返信する。ＨＴＴＰレスポンス受信部２０６が、この正常対応レスポンスを受信する（ステップ３０３）。
（４）その後、サーバ診断装置２００は、タグパターン抽出部２０７によって正常対応レスポンス中のＨＴＭＬのタグパターンを抽出する（ステップ３０４）。
（５）タグパターン縮約部２０８は、タグパターン抽出部２０７が抽出したタグパターンを正規表現文字列（正常縮縮約タグパターンの一例）に変換する（ステップ３０５）。
（６）そして、タグパターン保存部２１０が、正規表現文字列に変換されたタグパターンを記憶する（ステップ３０６）。
【００３５】
（７）次にサーバ診断装置２００は、正常ＨＴＴＰリクエスト生成部２０３を用いて、再び正常リクエストを生成（ステップ３０７）する。
（８）サーバ診断装置２００は、パラメータ改ざん部２０４を用いて、生成した正常リクエストの中の「フォームパラメータ」及び「クッキーパラメータ」を一部改変した不正なリクエストである不正リクエストを生成する（ステップ３０８）。
（９）その後、不正リクエストをＨＴＴＰリクエスト送信部２０５を介して診断対象Ｗｅｂサーバ２１２に送信する（ステップ３０９）。
【００３６】
なお、本診断は、正規のリクエストで用いられている値の改ざんをＷｅｂアプリケーションが正しく検出できるかどうかを目的としている。そのため、特にブラウザによる操作では通常変更されることのないパラメータに対する改変を行う。具体的には、クッキーパラメータ及び、チェックボックスやメニューのような選択肢が限定されているフォームパラメータ、さらに、画面上には一切表示されず、サーバから与えられた情報をそのまま送り返すもの（ＨＴＭＬ上では、ｔｙｐｅ＝’ｈｉｄｄｅｎ’を指定されたｉｎｐｕｔ要素が相当する）を通じて入力されるフォームパラメータが該当する。
【００３７】
引き続き図３を参照して動作を説明する。
（１０）ＨＴＴＰレスポンス受信部２０６が、診断対象Ｗｅｂサーバ２１２からの不正対応レスポンスを受信する（ステップ３１０）。
（１１）タグパターン抽出部２０７が、不正対応レスポンスの中に含まれるＨＴＭＬのタグのパターンを抽出する（ステップ３１１）。
（１２）タグパターン変化検出部２０９が、不正対応レスポンスから抽出されたタグパターンと、タグパターン保存部２１０が記憶する正常対応レスポンスのタグパターンの正規表現文字列とを比較する。これにより、不正対応レスポンスの中のタグパターンが、正常対応レスポンスの正規表現にマッチするかどうかが検査される（ステップ３１２）。
（１３）マッチした場合は、改ざんされた不正リクエストに対応する不正対応レスポンスであるにもかかわらず、正常対応レスポンスと比べページの構造が変化しなかったことを表す。よって、タグパターン変化検出部２０９は、Ｗｅｂアプリケーションが、改ざんされた不正リクエストを検出できず、通常（正常リクエスト）と同様に処理したとみなし、脆弱性と判定し、判定結果出力部２４１により「脆弱である」ことを出力する（ステップ３１３）。具体的には、判定結果出力部２４１は、「脆弱である」ことを表示部に表示したり、プリンタに出力することで、検査実施者２５０に報告する。
（１４）マッチしなかった場合は、タグパターン変化検出部２０９は、診断対象Ｗｅｂサーバ２１２が不正リクエストの改ざんを検出してエラーを示すページを返したとみなす。この場合、タグパターン変化検出部２０９は、判定結果出力部２４１により「脆弱性無し」を出力する（ステップ３１４）。具体的には、判定結果出力部２４１は、「脆弱性無し」であることを表示部（図示していない）に表示したり、プリンタ（図示していない）に出力したりすることで、検査実施者２５０に報告する。
【００３８】
上記動作は、Ｗｅｂアプリケーション（診断対象Ｗｅｂサーバ２１２）が改ざんを検出した場合、Ｗｅｂアプリケーションから送り返されるＨＴＴＰレスポンスにはリクエストが受理されなかった旨をユーザに通知するＨＴＭＬが含まれているはずであり、正規のリクエストを送信した場合に返されるＨＴＭＬとは文書の構造が異なってくるという仮定に基づいている。
【００３９】
次に、図４を参照しながら、サーバ診断装置２００の特徴部であるタグパターン抽出部２０７及びタグパターン縮約部２０８について詳しく説明する。
【００４０】
タグパターン抽出部２０７は、与えられたＨＴＴＰレスポンス（正常対応レスポンス及び不正対応レスポンスの両者）の中のボディ部に格納されているＨＴＭＬのタグを順番に抽出し、タグ名を要素に持つ「タグ名リスト」を生成する。例えば、図４に示すようなＨＴＭＬ４０１がＨＴＴＰレスポンス（正常対応レスポンスあるいは不正対応レスポンス）の中に含まれていたとする。その場合、タグパターン抽出部２０７は、図４に示すような「タグ名リスト４０２」を生成する。なお、タグ名リスト４０２における「⇒」の記号は、各要素がリストとして並んでいることを表現している。図からも判るとおり、ＨＴＭＬ中のタグ名以外の情報は全て無視される。
【００４１】
本実施の形態１では、タグの名称のみをリストとして抽出しているが、これは一例である。例えば、＜ｄｉｖ＞や＜ｓｐａｎ＞のように、タグの中のｃｌａｓｓ属性がタグ名そのものよりも、その要素の文書中の意味を良く表している場合が考えられる。そのような場合には、タグ名ではなく、ｃｌａｓｓ属性をタグ名の代わりとして用いても構わない。
【００４２】
また、タグ名は、ＨＴＭＬでは大文字小文字は区別されない。このため、タグ名を全て大文字もしくは小文字に変換した後にリストを生成しても構わない。
【００４３】
次に、タグパターン縮約部２０８の動作について説明する。タグパターン縮約部２０８は、タグパターン抽出部２０７からタグ名リストを受け取り、その中で、繰り返し構造を持つものを縮約した正規表現文字列（正常縮約タグパターンの一例）を生成する。これは、このような繰り返し構造を持つ部分は、Ｗｅｂアプリケーション内部のデータを列挙するために用いられる場合が多く、アクセスのたびにその繰り返し個数が変化する恐れがあるためである。換言すれば、同一の正常リクエストであっても、その正常対応レスポンスは、アクセスのたびに繰り返し個数が変化するおそれがあるからである。繰り返しを許すタグにはｔｒ、ｌｉ、ｏｐｔｉｏｎ等が存在するが、別のタグに対して繰り返しを許しても良い。また繰り返し構造中に別の繰り返し構造が現れるような入れ子構造となっていても構わない。
【００４４】
最終的にタグパターン縮約部２０８は、図４に示すような正規表現文字列４０３を生成し、タグパターン保存部２１０に格納する。正規表現文字列４０３の「（，ｔｒ，ｔｄ，／ｔｄ，ｔｄ，／ｔｄ，／ｔｒ）＋」の部分は、正規表現で繰り返しを表している。なお、本実施の形態１ではタグ名の区切り子としてカンマ（，）を用いたが、タグ名で使用されず、かつ正規表現で特殊な意味にとられない文字ならば他の文字を使用することも可能である。さらに、本実施の形態１では実装の容易さから表現形式として正規表現を選択したが、繰り返し構造を表現できるその他の表現形式を用いても構わない。
【００４５】
最後にタグパターン変化検出部２０９の動作について説明する。タグパターン変化検出部２０９は、タグパターン抽出部２０７からタグ名リスト（不正対応レスポンスから作成したリスト）を受け取ると、それらをカンマ（，）で連結した文字列を生成する。次に、この文字列をタグパターン保存部２１０中に格納されている正規表現文字列（正常対応レスポンスから作成された正規表現文字列）とマッチさせる。マッチした場合には、タグパターンの変化は無かったものと判定し、マッチしなかった場合にはタグパターンが変化したと判定する。
【００４６】
以上、本実施の形態１のサーバ診断装置２００は、判定部２２０が、正しいリクエスト（正常リクエスト）と改ざんされたリクエスト（不正リクエスト）とを送信したときのレスポンス（正常対応レスポンス及び不正対応レスポンス）におけるＨＴＭＬに含まれるタグの出現順序の変化を検出することにより、キーワードに依存することなく、Ｗｅｂアプリケーションのパラメータ改ざん検出機能について診断を行うことができる。
【００４７】
実施の形態１のサーバ診断装置２００は、タグパターン縮約部２０８を備えたので、正常対応レスポンスごとに、繰り返し構造の部分の繰り返し個数が異なる場合でも、それぞれを正常対応レスポンスと判定することができる。
【００４８】
実施の形態２．
図５を用いて実施の形態２を説明する。実施の形態２は、サーバ診断装置２００が診断対象Ｗｅｂサーバ２１２の異常終了を検知する実施形態である。実施の形態２のサーバ診断装置２００の構成は、図１に示した実施の形態１と同様である。実施の形態２では、サーバ診断装置２００が診断対象Ｗｅｂサーバ２１２の異常終了を診断するが、サーバ診断装置２００は、診断対象Ｗｅｂサーバ２１２に対し、正常リクエストと不正リクエストとに加えて、「攻撃リクエスト」を送信する。「攻撃リクエスト」とは、正常リクエストを改ざんしたリクエストであって、Ｗｅｂアプリケーションプログラムの異常終了を目的とするリクエストである。診断対象Ｗｅｂサーバ２１２は攻撃リクエストを受信すると、攻撃リクエストに対応するレスポンスである攻撃対応レスポンスを返信する。サーバ診断装置２００は、攻撃対応レスポンスからタグパターンを抽出し、攻撃対応レスポンス、正常対応レスポンス及び不正対応レスポンスのそれぞれのタグ構造に基づいて、診断対象Ｗｅｂサーバ２１２が異常終了した可能性があるかどうかを判定する。
【００４９】
本実施の形態２の目的は、パラメータの改ざんを行う際に、Ｗｅｂアプリケーションあるいはサーバ、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にとって特殊な意味を持つ文字を含めることで、Ｗｅｂアプリケーションの異常な終了を検出することにある。このような特殊な文字としては、クオート（‘）、ダブルクオート（“）、改行コード、等が良く知られているが、他の文字を使用することももちろん可能である。
【００５０】
次に図５を参照しながら動作を説明する。図中の端子Ａ、端子Ｂは、図３の端子Ａ、端子Ｂを示し、図５が図３から継続していることを示している。
（１）その後、改ざんされた不正リクエストによってページが変化した場合、本実施の形態２では、不正対応レスポンスに含まれるＨＴＭＬについてもタグパターン縮約部２０８が正規表現文字列を生成する（ステップ５０１）。
（２）そしてタグパターン縮約部２０８が、不正対応レスポンスについての正規表現文字列をタグパターン保存部２１０中に格納する（ステップ５０２）。
【００５１】
（３）ステップ５０３で、再び正常ＨＴＴＰリクエスト生成部２０３によりＨＴＴＰリクエスト（正常リクエスト）を生成する。
（４）パラメータ改ざん部２０４が正常リクエストに含まれる必要なパラメータの改ざんを行い、攻撃リクエストを生成する（ステップ５０４）。このときの改ざんは、前記の不正リクエストの生成（図３のＳ３０８）における改ざんと異なり、前述した異常終了を引き起こすような特殊な文字を含んだ文字列に正常リクエストを改ざんする。
（５）次のステップでは、ＨＴＴＰリクエスト送信部２０５が、生成された攻撃リクエストを診断対象Ｗｅｂサーバ２１２に送信する（ステップ５０５）。
（６）ＨＴＴＰレスポンス受信部２０６が、診断対象Ｗｅｂサーバ２１２が返信した攻撃対応レスポンスを受信する（ステップ５０６）。
（７）その後、タグパターン抽出部２０７が、攻撃対応レスポンスからタグ名リストを生成する（ステップ５０７）。
（８）タグパターン変化検出部２０９が、生成された攻撃対応レスポンスのタグ名リストを、保存中の正常対応レスポンスの正規表現文字列と比較する（ステップ５０８）。
【００５２】
図５のＳ５０９以降のステップについて説明する。タグパターン変化検出部２０９は、攻撃対応レスポンスのタグ名リストから、実施の形態１と同様、タグ名をカンマ（，）で連結した文字列を生成する。そして、「攻撃対応レスポンスのタグ名リストから生成した文字列」（攻撃対応文字列ともいう）と、図３のＳ３０６において保存されている「正常対応レスポンスから作成した正規表現文字列」（正常対応文字列ともいう）とマッチングさせる。あるいは、「攻撃対応文字列」と、Ｓ５０２において「不正対応レスポンスから作成した正規表現文字列」（「不正対応文字列」ともいう）が保存されている場合は、「攻撃対応文字列」と、「不正対応文字列」とをマッチングさせる。
このとき、図５に示すように、次の（ａ）〜（ｄ）の４通りの場合が考えられる。
（ａ）「攻撃対応文字列」が「正常対応文字列」にマッチする（攻撃＝正常）場合である。図５において「Ｓ５０９→Ｓ５１０→ＥＮＤ」のルートである。
（ｂ）「攻撃対応文字列」が「正常対応文字列」にマッチせず、かつ、「不正対応文字列」にマッチする（攻撃≠正常、かつ、攻撃＝不正）場合である。不正対応レスポンス及び攻撃対応レスポンスともに、「入力が不正です」等を示すいわゆるエラーページが返信されたような場合である。図５において「Ｓ５０９→Ｓ５１１→Ｓ５１２→Ｓ５１３→５１４→ＥＮＤ」のルートである。
（ｃ）「攻撃対応文字列」が、「正常対応文字列」にマッチせず、かつ、「不正対応文字列」が存在しない（攻撃≠正常、かつ、正常＝不正。すなわち、攻撃≠正常、かつ、攻撃≠不正）。ここで「不正対応文字列」が存在しないとは、図３のＳ３１２においてタグパターン変化検出部２０９が「正常対応文字列」＝「不正対応文字列」と検出したため、図５の端子Ｂに進んだ場合である。図５において「Ｓ５０９→Ｓ５１１→Ｓ５１５→ＥＮＤ」のルートである。
（ｄ）「攻撃対応文字列」が「正常対応文字列」、「不正対応文字列」のどちらにもマッチしない（攻撃≠正常、かつ、攻撃≠不正）場合である。図５において「Ｓ５０９→Ｓ５１１→Ｓ５１２→Ｓ５１３→５１５→ＥＮＤ」のルートである。
【００５３】
（ａ）に該当した場合を説明する（攻撃＝正常）。この場合、Ｗｅｂアプリケーション（サーバ診断装置２００）は、「攻撃対応文字列」と「正常対応文字列」とがマッチするような攻撃対応レスポンス、正常対応レスポンスとを返信している。よって、タグパターン変化検出部２０９は、Ｗｅｂアプリケーションがパラメータの改ざんを検出できなかったとみなす。そしてタグパターン変化検出部２０９は、判定結果出力部２４１に「改ざん検出漏れ」の警告を表示装置（図示していない）に表示させる（ステップ５１０）。
【００５４】
（ｂ）に該当した場合を説明する（攻撃≠正常、かつ、攻撃＝不正）。この場合、タグパターン変化検出部２０９は、診断対象Ｗｅｂサーバ２１２が不正リクエストの場合と同様にエラー処理を正しく行ったとみなす。そして、タグパターン変化検出部２０９は、判定結果出力部２４１に「脆弱性は無し」の表示を表示装置（図示していない）に表示させる（ステップ５１４）。
【００５５】
最後に（ｃ）、（ｄ）に該当した場合を説明する（攻撃≠正常、かつ、攻撃≠不正）。この場合は、Ｗｅｂアプリケーションが通常（正常リクエスト）のリクエスト処理とも改ざん検出後（不正リクエスト検出）の処理とも別の挙動を示したとみなすことができる。これは、Ｗｅｂアプリケーションが入力データの処理中に異常終了した際に典型的に現れるパターンである。よって、この場合は、タグパターン変化検出部２０９は、送信された特殊文字によってシステムが誤動作を引き起こした可能性があることを示す「Ｗｅｂアプリケーションの異常終了警告」の表示を表示装置（図示していない）に表示させる（ステップ５１５）。
【００５６】
以上のように、実施の形態２におけるサーバ診断装置２００は、判定部２２０が、正常リクエストのレスポンスＨＴＭＬ（正常対応レスポンス）の正規表現文字列だけでなく、改ざんされたリクエスト（不正リクエスト）送信時のレスポンスＨＴＭＬ（不正対応レスポンス）の正規表現文字列も格納し、さらに特殊文字を用いた改ざんリクエスト（攻撃リクエスト）を送信した際のレスポンスＨＴＭＬ（攻撃対応レスポンス）のタグパターンと前記両者の正規表現とを比較することで、特殊文字の取り扱いミスによるＷｅｂアプリケーションの異常終了を検出することができる。
【００５７】
実施の形態３．
図６、図７を参照して実施の形態３を説明する。実施の形態３は、ネットワーク６０９を流れる通信を常に監視することで、Ｗｅｂアプリケーション（Ｗｅｂサーバ）へのアタックを検出する装置である。
【００５８】
図６は実施の形態３に係るサーバ監視装置６００の構成図である。サーバ監視装置６００は、ネットワーク６０９上を流れる監視対象Ｗｅｂサーバ６１０とクライアント端末６１１との間の通信を監視している。図に示すように、サーバ監視装置６００は、ページ変化報告部６０１、全体制御部６０２、ＨＴＴＰリクエスト傍受部６０３、比較対象タグパターン決定部６０４、タグパターン保存部６０５、ＨＴＴＰレスポンス傍受部６０６、判定部６２０、判定結果出力部６３１を備える。
【００５９】
また、判定部６２０は、タグパターン抽出部６０７、タグパターン変化検出部６０８を備える。
【００６０】
次に、図７を参照してサーバ監視装置６００の動作を説明する。サーバ監視装置６００は、あらかじめタグパターン保存部６０５中に、リクエストの内容をキーとして、対応するレスポンス中に現れるＨＴＭＬページのタグパターンを表す正規表現文字列を検索可能な形式で格納しておく。この処理は手動で行っても良いし、学習によって自動的に行わせても良い。
【００６１】
Ｓ８０１において、クライアント端末６１１が監視対象Ｗｅｂサーバ６１０にＨＴＴＰリクエストを送信すると、そのメッセージはネットワークを監視しているＨＴＴＰリクエスト傍受部６０３が傍受する。
【００６２】
Ｓ８０２において、傍受されたＨＴＴＰリクエストの内容は、比較対象タグパターン決定部６０４に渡される。そして、比較対象タグパターン決定部６０４は、監視対象Ｗｅｂサーバ６１０が返すと予想されるレスポンスに対応するタグパターンの正規表現文字列を、タグパターン保存部６０５の中から選択（検索）する。
【００６３】
Ｓ８０３において、監視対象Ｗｅｂサーバ６１０からＨＴＴＰレスポンスがクライアント端末６１１に返されると、このメッセージをＨＴＴＰレスポンス傍受部６０６が傍受する。
【００６４】
Ｓ８０４において、タグパターン抽出部６０７が、ＨＴＴＰレスポンスのボディ部に格納されているＨＴＭＬから、タグ名リストを抽出する。
【００６５】
Ｓ８０５において、タグパターン変化検出部６０８は、比較対象タグパターン決定部６０４がタグパターン保存部６０５の中から選択（検索）した正規表現文字列と、タグパターン抽出部６０７がＨＴＴＰレスポンスから抽出したタグ名リストとを比較する。比較の結果、マッチしなかった場合には、タグパターン変化検出部６０８は、予期せぬページの変化が発生したと判定して、この旨をページ変化報告部６０１（判定結果出力部の一例）を通じてネットワーク管理者に報告する。
【００６６】
以上のように、実施の形態３のサーバ監視装置は、タグパターン保存部６０５にあらかじめ本来あるべきタグのパターンを登録しておくことで、監視対象サーバが異常処理を起こした場合や、ページの改ざん等を受けた場合であっても、迅速にネットワーク管理者に通知することができる。また、サーバ監視装置によれば、未知の攻撃によるＷｅｂアプリケーションの動作異常も検出できる。
【００６７】
実施の形態４．
図８〜図１０を用いて実施の形態４を説明する。実施の形態４は、実施の形態１のサーバ診断装置２００の動作を、プログラム及びプログラムを記録した記録媒体により実施する実施形態である。
【００６８】
前記の実施の形態１においては、サーバ診断装置２００における各構成要素の動作は互いに関連しており、動作の関連を考慮しながら、コンピュータに実施させる一連の処理に置き換えることができる。各構成要素の動作を一連の処理に置き換えることにより、サーバ診断プログラムの実施形態とすることができる。また、このサーバ診断プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【００６９】
図８は、図１のサーバ診断装置２００のリクエスト送信部２３０の動作、ＨＴＴＰレスポンス受信部２０６（レスポンス受信部）の動作、判定部２２０の動作、及び判定結果出力部２４１の動作を、コンピュータに実施させる一連の処理に置き換えてサーバ診断プログラムの実施形態としたフローチャートを示す。
【００７０】
Ｓ９０１は、正常リクエストと正常リクエストを改ざんした不正リクエストとを診断対象Ｗｅｂサーバ２１２に送信する処理である。リクエスト送信部２３０の動作に対応する。
【００７１】
Ｓ９０２は、送信した正常リクエストと不正リクエストとを受信した診断対象Ｗｅｂサーバ２１２サーバから、正常リクエストに対応するとともにＨＴＭＬ（タグを用いた言語）で作成された正常対応レスポンスと、不正リクエストに対応するとともにＨＴＭＬ（タグを用いた言語）で作成された不正対応レスポンスとを受信する処理である。ＨＴＴＰレスポンス受信部２０６の動作に対応する。
【００７２】
Ｓ９０３は、受信した正常対応レスポンスと不正対応レスポンスとのタグ構造に基づいて、アプリケーションプログラムを実行する前記サーバが脆弱かどうかを判定する処理である。判定部２２０の動作に対応する。
【００７３】
Ｓ９０４は、判定した判定結果を出力装置に出力する処理である。判定結果出力部２４１の動作に対応する。
【００７４】
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
【００７５】
図９は、図１に示した実施の形態１のサーバ診断装置２００の機能を実現するコンピュータシステム８００の外観を示す。図９において、コンピュータシステム８００は、システムユニット８３０、液晶ディスプレイ８１３、キーボード（Ｋ／Ｂ）８１４、マウス８１５、コンパクトディスク装置（ＣＤＤ）８１８、プリンタ８１９を備え、これらはケーブルで接続されている。また、コンピュータシステム８００は、ネットワーク２１１、インターネットを介して診断対象Ｗｅｂサーバ２１２に接続されている。これにより、コンピュータシステム８００は診断対象Ｗｅｂサーバ２１２と通信可能である。
【００７６】
図１０は、図９のコンピュータシステム８００のハードウェア構成図である。図１０において、コンピュータシステム８００は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１０を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ８１１、ＲＡＭ８１２、液晶ディスプレイ８１３、Ｋ／Ｂ８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ８１９、及び磁気ディスク装置８２０と接続されている。
【００７７】
磁気ディスク装置８２０には、オペレーティングシステム（ＯＳ）８２１、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３は、ＣＰＵ８１０、ＯＳ８２１、ウィンドウシステム８２２により実行される。
【００７８】
上記プログラム群８２３には、実施の形態１の図１の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００７９】
図１のサーバ診断装置２００と図１０のコンピュータシステム８００との対応関係を説明する。
（１）ＨＴＴＰリクエスト送信部２０５、及びＨＴＴＰレスポンス受信部２０６は、プログラム群８２３に格納されているプログラム及び通信ボード８１６が対応する。
（２）また、正常ＨＴＴＰリクエスト生成部２０３、及びパラメータ改ざん部２０４は、プログラム群８２３に格納されているプログラムが対応する。
（３）判定部２００は、プログラム群８２３に格納されているプログラムが対応する。
（４）タグパターン保存部２１０は、ファイル群８２４が対応する。
（５）判定結果出力部２４１は、プログラム群８２３に格納されているプログラムが対応する。また判定結果出力部２４１が判定結果を出力する出力装置としては、液晶ディスプレイ８１３、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ８１９、磁気ディスク装置８２０などが対応する。
（６）検査制御部２０２は、プログラム群８２３に格納されているプログラムが対応する。
（７）装置操作部２０１は、キーボード８１４、マウス８１５などが対応する。
【００８０】
図１において「〜部」として説明したものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００８１】
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理は、プログラムで実行されるが、このプログラムは、前述のようにプログラム群８２３に記録されている。そして、プログラム群８２３からＣＰＵ８１０に読み込まれ、ＣＰＵ８１０によって、プログラムの各処理が実行される。
【００８２】
また、ソフトウェア、あるいはプログラムは、ＲＯＭ８１１に記憶されたファームウェアで実行されても構わない。あるいは、ソフトウェアとファームウェアとハードウェアの組み合わせでプログラムを実行しても構わない。
【００８３】
本実施の形態４のサーバ診断プログラムでは、正しいリクエスト（正常リクエスト）と改ざんされたリクエスト（不正リクエスト）とを送信したときのレスポンス（正常対応レスポンス及び不正対応レスポンス）におけるＨＴＭＬに含まれるタグの出現順序の変化を検出することにより、キーワードに依存することなく、Ｗｅｂアプリケーションのパラメータ改ざん検出機能について診断を行うことができる。
【図面の簡単な説明】
【００８４】
【図１】実施の形態１における、サーバ診断装置２００の構成を示す。
【図２】実施の形態１における、ＨＴＴＰリクエストの改ざんの例を示す。
【図３】実施の形態１における、サーバ診断装置２００の動作を示すフローチャート。
【図４】実施の形態１における、タグ名リスト及び正規表現文字列の例を示す。
【図５】実施の形態２における、サーバ診断装置２００の動作を示すフローチャート。
【図６】実施の形態３における、サーバ監視装置６００の構成を示す。
【図７】実施の形態３における、サーバ監視装置６００の動作を示すフローチャート。
【図８】実施の形態４における、サーバ診断プログラムのフローチャート。
【図９】実施の形態４における、コンピュータシステム８００の外観を示す。
【図１０】実施の形態４における、コンピュータシステム８００のハードウェア構成。
【図１１】従来のＷｅｂ診断装置の構成を示す。
【符号の説明】
【００８５】
１００  診断装置、１０１  装置操作手段、１０２  検査制御手段、１０３  正常ＨＴＴＰリクエスト生成手段、１０４  パラメータ改ざん手段、１０５  ＨＴＴＰリクエスト送信手段、１０６  ＨＴＴＰレスポンス受信手段、１０７  キーワード検索手段、１０８  ネットワーク、１０９  診断対象サーバ、２００  サーバ診断装置、２０１  装置操作部、２０２  検査制御部、２０３  正常ＨＴＴＰリクエスト生成部、２０４  パラメータ改ざん部、２０５  ＨＴＴＰリクエスト送信部、２０６  ＨＴＴＰレスポンス受信部、２０７  タグパターン抽出部、２０８  タグパターン縮約部、２０９  タグパターン変化検出部、２１０  タグパターン保存部、２１１  ネットワーク、２１２  診断対象Ｗｅｂサーバ、２２０  判定部、２３０  リクエスト送信部、２４１  判定結果出力部、２４２  表示装置、４０１  ＨＴＭＬ、４０２  タグ名リスト、４０３  正規表現文字列、６００  サーバ監視装置、６０１  ページ変化報告部、６０２  全体制御部、６０３  ＨＴＴＰリクエスト傍受部、６０４  比較対象タグパターン決定部、６０５  タグパターン保存部、６０６  ＨＴＴＰレスポンス傍受部、６０７  タグパターン抽出部、６０８  タグパターン変化検出部、６０９  ネットワーク、６１０  監視対象Ｗｅｂサーバ、６１１  クライアント端末、６２０  判定部、６３１  判定結果出力部、８１０  ＣＰＵ、８１１  ＲＯＭ、８１２  ＲＡＭ、８１３  ＤＳＰ、８１４  Ｋ／Ｂ、８１５  マウス、８１６  通信ボード、８１７  ＦＤＤ、８１８  ＣＤＤ、８１９  プリンタ、８２０  磁気ディスク装置、８２１  ＯＳ、８２２  ウィンドウシステム、８２３  プログラム群、８２５  バス、８３０  システムユニット。
【図１】
2006338246.tif 000003
【図２】
2006338246.tif 000004
【図３】
2006338246.tif 000005
【図４】
2006338246.tif 000006
【図５】
2006338246.tif 000007
【図６】
2006338246.tif 000008
【図７】
2006338246.tif 000009
【図８】
2006338246.tif 000010
【図９】
2006338246.tif 000011
【図１０】
2006338246.tif 000012
【図１１】
2006338246.tif 000013