ネットワークを介して接続された複数の計算機から構成されるシステムの脆弱性対策を行う脆弱性対策装置であって、前記計算機のそれぞれと前記計算機が有するソフトウェアとを対応付けた構成情報と、前記ソフトウェアと前記ソフトウェアの脆弱性に関する情報とを対応付けた脆弱性情報と、前記ソフトウェアと前記ソフトウェアに脆弱性がある場合に実行する対策ポリシとを対応付けた対策ポリシ情報とを記憶する記憶手段と、前記脆弱性対策装置が、前記システムの利用端末が送信したデータを受信し、受信したデータに含まれる前記データの経路に関する情報に基づいて前記データが到達する計算機を算出し、算出した前記計算機と前記構成情報とに基づいて前記計算機に存在するソフトウェアを取得し、取得したソフトウェアと前記脆弱性情報とに基づいて前記取得したソフトウェアに脆弱性があるか否かを判定する判定手段と、前記判定手段が前記ソフトウェアに脆弱性があると判定した場合に、脆弱性があると判定された前記ソフトウェアに対して、前記対策ポリシ情報に記憶されている対策ポリシに従って脆弱性に対する対策を実行する対策手段と、を備えることを特徴とする脆弱性対策装置。前記判定手段は、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記データが到達する計算機を算出する、ことを特徴とする請求項1に記載の脆弱性対策装置。前記判定手段は、前記計算機ごとに、前記計算機に存在する前記ソフトウェアを取得する、ことを特徴とする請求項1または2に記載の脆弱性対策装置。前記判定手段は、前記ソフトウェアごとに、脆弱性が存在するか否かを判定する、ことを特徴とする請求項1~3のいずれか1項に記載の脆弱性対策装置。前記対策手段は、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記対策ポリシに示される対策を実行する、ことを特徴とする請求項1~4のいずれか1項に記載の脆弱性対策装置。前記対策手段は、前記計算機ごと及び前記ソフトウェアごとに、前記対策ポリシに示された対策を実行する、ことを特徴とする請求項1~5のいずれか1項に記載の脆弱性対策装置。前記判定手段は、前記計算機の前記ソフトウェアに脆弱性があると判定した場合に、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果を保持する保持手段とをさらに備え、前記判定手段が保持した、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果とを可視化する可視化手段と、をさらに備えることを特徴とする請求項1~6のいずれか1項に記載の脆弱性対策装置。前記可視化手段は、前記データが到達する計算機と、前記計算機に存在する前記脆弱性情報とを併せて出力する、ことを特徴とする請求項7に記載の脆弱性対策装置。前記可視化手段は、前記データが到達する計算機と、前記計算機で実行されている前記対策結果とを併せて出力する、ことを特徴とする請求項7または8に記載の脆弱性対策装置。前記可視化手段は、前記データが到達する計算機と、前記計算機に到達する前記データの量とを併せて出力する、ことを特徴とする請求項7~9のいずれか1項に記載の脆弱性対策装置。ネットワークを介して接続された複数の計算機から構成されるシステムの脆弱性対策を行う脆弱性対策装置で行われる脆弱性対策方法であって、前記脆弱性対策装置が、前記システムの利用端末が送信したデータを受信し、受信したデータに含まれる前記データの経路に関する情報に基づいて前記データが到達する計算機を算出し、算出した前記計算機と前記計算機のそれぞれと前記計算機が有するソフトウェアとを対応付けた構成情報とに基づいて前記計算機に存在するソフトウェアを取得し、取得したソフトウェアと、前記ソフトウェアと前記ソフトウェアの脆弱性に関する情報とを対応付けた脆弱性情報とに基づいて前記取得したソフトウェアに脆弱性があるか否かを判定する判定ステップと、前記判定手段が前記ソフトウェアに脆弱性があると判定した場合に、脆弱性があると判定された前記ソフトウェアに対して、前記ソフトウェアと前記ソフトウェアに脆弱性がある場合に実行する対策ポリシとを対応付けた対策ポリシ情報に記憶されている対策ポリシに従って脆弱性に対する対策を実行する対策ステップと、を含むことを特徴とする脆弱性対策方法。前記判定ステップにおいて、前記判定の際に、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記データが到達する計算機を算出する、ことを特徴とする請求項11に記載の脆弱性対策方法。前記判定ステップにおいて、前記判定の際に、前記計算機ごとに、前記計算機に存在する前記ソフトウェアを取得する、ことを特徴とする請求項11または12に記載の脆弱性対策方法。前記判定ステップにおいて、前記判定の際に、前記ソフトウェアごとに、脆弱性が存在するか否かを判定する、ことを特徴とする請求項11~13のいずれか1項に記載の脆弱性対策方法。前記対策ステップにおいて、前記対策の際に、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記対策ポリシに示される対策を実行する、ことを特徴とする請求項11~14のいずれか1項に記載の脆弱性対策方法。前記対策ステップにおいて、前記対策の際に、前記計算機ごと及び前記ソフトウェアごとに、前記対策ポリシに示された対策を実行する、ことを特徴とする請求項11~15のいずれか1項に記載の脆弱性対策方法。前記判定ステップにおいて、前記判定の際に、前記計算機の前記ソフトウェアに脆弱性があると判定した場合に、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果をさらに保持し、前記判定ステップにおいて保持した、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果とをさらに可視化する可視化ステップ、をさらに含む特徴とする請求項11~16のいずれか1項に記載の脆弱性対策方法。前記可視化ステップにおいて、前記可視化の際に、前記データが到達する計算機と、前記計算機に存在する前記脆弱性情報とを併せて出力する、ことを特徴とする請求項17に記載の脆弱性対策方法。前記可視化ステップにおいて、前記可視化の際に、前記データが到達する計算機と、前記計算機で実行されている前記対策結果とを併せて出力する、ことを特徴とする請求項17または18に記載の脆弱性対策方法。前記可視化ステップにおいて、前記可視化の際に、前記データが到達する計算機と、前記計算機に到達する前記データの量とを併せて出力する、ことを特徴とする請求項17~19のいずれか1項に記載の脆弱性対策方法。特許文献1の発明は、ホストに存在する脆弱性のシグネチャを管理し、対策するためには有効である。しかし、シグネチャを利用した対策では、通信が途中で中断されるため、データを必要以上に遮断してしまったり、正常に終了しないコネクションの影響でサーバのリソースを消費してしまったりする場合があるという問題がある。また、特許文献2の発明は、パッチ情報ページの内容について解析を行い、脆弱と判定されたウイルスや不正アクセスの侵入経路となり得るおそれのあるTCP/IPポートを閉鎖するため、クライアントが行う通信の影響をある程度とどめることができる。しかし、ポートを閉鎖してしまうため、ウイルスや不正アクセス以外のアクセスも遮断してしまう場合があるという問題がある。本発明は、上記に鑑みてなされたものであって、脆弱性の影響を判定し、データが必要以上に遮断されることを防止することが可能な脆弱性対策装置、および脆弱性対策方法を提供することを目的とする。上述した課題を解決し、目的を達成するために、本発明にかかる脆弱性対策装置は、ネットワークを介して接続された複数の計算機から構成されるシステムの脆弱性対策を行う脆弱性対策装置であって、前記計算機のそれぞれと前記計算機が有するソフトウェアとを対応付けた構成情報と、前記ソフトウェアと前記ソフトウェアの脆弱性に関する情報とを対応付けた脆弱性情報と、前記ソフトウェアと前記ソフトウェアに脆弱性がある場合に実行する対策ポリシとを対応付けた対策ポリシ情報とを記憶する記憶手段と、前記脆弱性対策装置が受信したデータに含まれる前記データの経路に関する情報に基づいて前記データが到達する計算機を算出し、算出した前記計算機と前記構成情報とに基づいて前記計算機に存在するソフトウェアを取得し、取得したソフトウェアと前記脆弱性情報とに基づいて前記取得したソフトウェアに脆弱性があるか否かを判定する判定手段と、前記判定手段が前記ソフトウェアに脆弱性があると判定した場合に、脆弱性があると判定された前記ソフトウェアに対して、前記対策ポリシ情報に記憶されている対策ポリシに従って脆弱性に対する対策を実行する対策手段と、を備えることを特徴とする。望ましい他の様態では、前記判定手段は、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記データが到達する計算機を算出する。また、望ましい他の様態では、前記判定手段は、前記計算機ごとに、前記計算機に存在する前記ソフトウェアを取得する。さらに、望ましい他の様態では、前記判定手段は、前記ソフトウェアごとに、脆弱性が存在するか否かを判定する。また、望ましい他の様態では、前記対策手段は、前記データに含まれる前記ソフトウェアによって提供されるサービスの動作条件を与えるためのパラメタごとに、前記対策ポリシに示される対策を実行する。さらに、望ましい他の様態では、前記対策手段は、前記計算機ごと及び前記ソフトウェアごとに、前記対策ポリシに示された対策を実行する。また、望ましい他の様態では、前記判定手段は、前記計算機の前記ソフトウェアに脆弱性があると判定した場合に、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果を保持する保持手段とをさらに備え、前記判定手段が保持した、前記計算機と、前記ソフトウェアと、前記脆弱性情報と、前記脆弱性に対する対策結果とを可視化する可視化手段と、をさらに備えることを特徴とする。さらに、望ましい他の様態では、前記可視化手段は、前記データが到達する計算機と、前記計算機に存在する前記脆弱性情報とを併せて出力する。また、望ましい他の様態では、前記可視化手段は、前記データが到達する計算機と、前記計算機で実行されている前記対策結果とを併せて出力する。さらに、望ましい他の様態では、前記可視化手段は、前記データが到達する計算機と、前記計算機に到達する前記データの量とを併せて出力する。また、本発明は、上記脆弱性対策装置で行われる脆弱性対策方法である。本発明によれば、データが必要以上に遮断されることを防止することができるという効果を奏する。インターネットなどに対してサービスを提供している計算機は、データを受信すると、データに応じて別のサービスを提供している計算機にデータを転送することがある。例えば、ファイルのアップロードサービスなどでは、ユーザがWebサーバにファイルを送信すると、ファイルのデータを受信したWebサーバは、ファイルを格納する他の計算機に当該ファイルを転送し、保存したりする。脆弱性対策を行う場合、計算機への侵入経路を監視し、データに脆弱性をつく攻撃パターンが含まれている際に、当該データをブロックすることが一般的に行われる。しかし、データによっては、ある計算機で処理が行われた後に、別の計算機に転送されるものも存在する。このように転送されるデータに関しては、最初の計算機だけでなく、その転送先の計算機にも脆弱性の影響があるか否かの確認を行い、脆弱性対策をしなければならない。先ほどのファイルアップロードサービスの例では、Webサーバへの侵入経路を監視し、Webサーバが影響をうける脆弱性に関する攻撃パターンをブロックすることが一般的に行われる。しかし、Webサーバが受信したファイルのデータは、ファイルを格納する他の計算機にも送信されるため、ファイルを格納する計算機にも脆弱性の影響があるか否かの確認を行い、脆弱性対策を行わなければならない。すなわち、データの到達性に応じて対策方法が異なる。本実施形態では、データの到達性に応じて脆弱性対策を行うことで、データが必要以上に遮断されることを防止する。実施例1では、この点に着目し、データの到達性判定、対策ポリシに基づく脆弱性対策について説明する。実施例2では、脆弱性対策結果の可視化について説明する。図1に、本実施例におけるデータの到達性に応じて脆弱性対策を行う脆弱性対策装置を含むネットワークの構成例を示す。脆弱性対策装置101は、対策対象システム114とネットワーク106の間に存在しており、対策対象システム114に存在する機器の脆弱性情報を管理し、ネットワーク106を介して受信したデータの到達性を判定し、脆弱性対策装置101が保持している対策ポリシに基づいた対策を行う。ネットワーク106は、例えば、インターネットなどのネットワーク、あるいはこれらに接続するための通信網である。なお、図1では省略しているが、ネットワーク106には対策対象システム114で公開されているサービスを利用する利用者の端末が接続されている。脆弱性対策装置101は、ネットワーク106を介して脆弱性情報公開サイト105と接続している。ここで脆弱性情報公開サイト105は、ソフトウェアの脆弱性に関する情報を公開している国内外のWebサイトである。脆弱性情報公開サイト105には、例えば、JPCERT/CCJapanComputerEmergencyResponseTeamCoordinationCenterと情報処理推進機構が共同で管理するJVNJapanVulnerabilityNotesや、米国NISTNationalInstituteofStandardsandTechnologyが管理するNVDNationalVulnerabilityDatabaseなどが挙げられる。対策対象システム114は、サーバA102、サーバB103、サーバC104、及び、これらを接続するネットワーク107から構成されている。サーバA102上では、オペレーティングシステムA108、Webサーバプログラム109が稼働しておりWebサービスを提供している。サーバB103上では、オペレーティングシステムB110、DBサーバプログラム111が稼働しており、データベースサービスを提供している。サーバC104上では、オペレーティングシステムC112、画像処理プログラム113が稼働しており、画像変換サービスを提供している。ここで、サーバA102はWebサービスを外部に提供しており、ネットワーク106を介して送られてきたデータを処理し、サーバB103で提供されているデータベースサービスに登録したり、サーバC104で提供されている画像処理サービスにデータを転送したりする。なお、説明を簡単にするため対策対象システム114が計算機サーバ及びネットワークから構成される例を示したが、そのほか、FWやIDS、負荷分散装置などを含んで、対策対象システム114を構成しても良い。また、脆弱性対策装置101を1台で構成する例を示したが、必要に応じて複数の脆弱性対策装置101を用いて構成しても良い。図2に、データごとの到達性を判定し、到達性に応じた脆弱性対策を行う脆弱性対策装置101の構成例を示す。脆弱性対策装置101は、CPUCentralProcessingUnit203と、CPU203が処理を実行するために必要なデータを格納するためのメモリ206と、大量のデータを記憶する容量を持つハードディスクやフラッシュメモリなどの記憶装置205と、他装置と通信を行なうためのIFインタフェース201、202と、キーボード、ディスプレイなどの入出力を行なうための入出力装置204と、これらの各装置を接続する通信路バス213とを備えたコンピュータである。なお、IFは、接続先に応じて通信インタフェース、入出力インタフェース、又は動作に応じて通信装置、受信装置、送信装置、入出力装置などと呼ぶこともある。また、通信路213は、例えば、バスやケーブルなどの情報伝達媒体である。CPU203は、メモリ206に格納された判定プログラム211を実行することによりデータごとの到達性判定を、対策プログラム212を実行することによりポリシに基づいた脆弱性対策を行なう。対策プログラム212は複数の対策機能214対策機能1214a~対策機能n1214bを含んで構成される。これら対策機能には、例えば、データのフォーマットがあらかじめ定めたフォーマットに等しいか否かを確認し、フォーマットが異なっている場合に当該データを破棄する型チェック機能や、データの中に<script>という文字列を発見した際に、対応する</script>までの文字列を除去スクリプトタグを除去するscript除去機能、データが与えられた際に、当該データのフォーマットをJpegフォーマットに変換するJpeg変換機能、データを破棄するデータ破棄機能、データの中から特定のパターンを検出し、検出したパターン部分を除去するシグネチャマッチング機能などが挙げられる。なお、型チェック機能では、後述するパラメタごとに、どのようなフォーマットであるべきかの定義を、予めサービス提供者が行っているものとする。これら対策機能214は必要に応じて、追加したり、削除したりしても良い。また、対策機能214は、対策プログラム212に格納されている例を示したが、メモリ206に格納されても良い。記憶装置205には、データの到達性を判定するための経路情報データ207、対策対象システム114の構成情報を把握するための構成情報データ208、ソフトウェアに脆弱性があるか否かを判定するための脆弱性情報データ209、脆弱性対策のためのポリシである対策ポリシデータ210が格納されている。上記の各プログラムやデータは、あらかじめメモリ206または記憶装置205に格納されていてもよいし、必要な時に、入出力装置204からまたは、IF201、IF202を介して他の装置から、インストールロードされてもよい。図3は、経路情報データ207の一例を示す図である。図3に示すように、経路情報データ207は、経路ID301と、ホスト302と、パス303と、パラメタ304と、経路305とを含む。経路ID301は、経路情報を一意に識別できる情報識別子を表す。ホスト302は、サービスがどのサーバで提供されているかを表す。例えば、コンピュータネットワークにおいて個々のサーバを識別するドメイン名やIPアドレスなどが挙げられる。なお、ホスト302にはサービスが提供されているポート番号を含んで格納しても良い。パス303は、提供されているサービスにどのようにアクセスできるかの情報を表す。例えば、サーバ内部でのファイルの所在地などが挙げられる。また、パス303には階層構造を示すために使われる/を含んで格納しても良い。ホスト302とパス303の組み合わせにより、インターネット上のサービスを特定することができる。パラメタ304は、サービスの動作条件を与えるための情報を表す。Webサービスなどでは、多くのユーザの好みに応えるために、一つのプログラムに与えるパラメタによって動作の制御を行っている。パラメタ304はホスト302のパス303で待ち受けているサービスが動作変更を行うためのパラメタを表す。経路305は、データの到達性を表す。ここで、到達性とは、データがどのサーバを経由しているかを表す情報である。例えば、経路305がサーバA、サーバBであれば、当該データはサーバAで処理されたあと、サーバBにも送信されることを表す。なお、経路305には、後述する計算機識別子の情報が格納される。なお、パラメタ304に-don‘tcareを表す記号が格納されている場合には、パラメタに関係なく、経路305に格納されているサーバを経由することを表す。また、パス303に-が格納されている場合は、パス303に依存しないことを、ホスト302に-が格納されている場合には、ホスト302に依存しないことを表す。なお、これら-は一つの経路情報に複数存在しても良いし、存在しなくてもよい。例えば、ホスト302、パス303、パラメタ304のすべてに-が格納されている場合、すべてのデータが経路305に格納されているサーバを経由することを表す。図3を用いて具体的に説明する。例えば、経路ID301が1の経路情報は、ホスト302がwww.serverA.org、パス303がserveA.cgi、パラメタ304がid、経路305がサーバAであるため、HTTPプロトコルを例にすれば、http://www.serverA.cgi/serverA.cgiでサービスにアクセスできることを表す。また、このサービスは、idというパラメタを受け付けることができ、そのidで受け付けた値はサーバA102で処理されることを表す。経路情報データ207に格納される経路情報は、サービスの提供者が必要に応じて、入力または更新しても良い。例えば、対策対象システム114で新たなサービスの提供が開始された場合には、サービスの提供者が新たに開始されたサービスの経路ID、ホスト、パス、パラメタ、経路を、経路情報データ207に登録する。また、サービスが終了した場合には、当該サービスに関連する経路ID、ホスト、パス、パラメタ、経路を、経路情報データ207から削除する。経路情報データ207は、CPU203により実行される判定プログラム211が、データの到達性を判定する際に利用される。判定プログラム211の具体的な処理については、図7を用いて後述する。図4は、構成情報データ208の一例を示す図である。図4に示すように、構成情報データ208は、構成ID401と、計算機識別子402と、ソフトウェア403と、バージョン404とを含む。構成ID401は、構成情報を一意に識別できる情報識別子を表す。計算機識別子402は、対策対象システム114に存在する計算機の識別子を表す。なお、計算機識別子402には、経路情報データ207のホスト302との対応がとれる識別子が格納される。例えば、ホスト302がwww.serverA.orgと計算機識別子402がサーバAの計算機は、同一の計算機を表す。ソフトウェア403は計算機識別子402の計算機に搭載されているソフトウェアを表し、バージョン404は当該ソフトウェアのバージョンを表す。なお、バージョンが存在しないソフトウェアは、バージョン404を格納しなくても良い。図4を用いて具体的に説明する。構成ID401が1の構成情報は、計算機識別子402がサーバA、ソフトウェア403がWebサーバプログラム、バージョン404が0.9であり、これは、サーバA102上で、バージョンが0.9のWebサーバプログラム109が稼働していることを表す。構成情報データ208に格納される構成情報は、サービスの提供者が必要に応じて、入力または更新してもよいし、各サーバに導入された構成情報を取得するためのプログラム構成情報取得エージェントなどを用いて収集してもよい。例えば、対策対象システム114に新たな計算機が導入された場合には、サービスの提供者が新たに導入された計算機の構成ID、計算機識別子、ソフトウェア、バージョンを、構成情報データ208に登録する。また、計算機を廃棄する場合には、当該計算機に関連する構成ID、計算機識別子、ソフトウェア、バージョンを、構成情報データ208から削除する。なお、新たなソフトウェアを導入した場合や破棄した場合にも、構成情報データ208の更新を行う。構成情報データ208は、CPU203により実行される判定プログラム211が、サーバにインストールされているソフトウェアを取得する際に利用される。判定プログラム211の具体的な処理については、図7を用いて後述する。図5は、脆弱性情報データ209の一例を示す図である。図5に示すように、脆弱性情報データ209は、脆弱性ID501と、公開日502と、ソフトウェア503と、バージョン504とを含む。脆弱性ID501は、脆弱性情報を一意に識別できる情報識別子を表す。公開日502は、脆弱性が公開された日時を表し、ソフトウェア503は当該脆弱性の影響を受けるソフトウェアを、バージョン504は脆弱性の影響を受けるソフトウェアのバージョンを表す。なお、バージョン504には、ある特定のバージョン以前のすべてのバージョンを表す○○以前という情報を格納しても良い。図5を用いて具体的に説明する。例えば、脆弱性ID501が1の脆弱性情報は、公開日502が2010/11/11、ソフトウェア503がWebサーバプログラム、バージョン504が1.0以前であり、これは、2011年11月11日にバージョンが1.0以前のWebサーバプログラムに脆弱性が発見されたことを表している。なお、説明を簡単にするため、脆弱性情報データ209は、公開日502、ソフトウェア503、バージョン504を含む例を示したが、必要に応じて、脆弱性によってどのような影響を受けるのかの情報や、脆弱性の対策パッチの有無、脆弱性の深刻度を表すCVSSCommonVulnerabilityScoringSystemの値、或いは、脆弱性の対策方法などの情報を併せて保持してもよい。サービスの提供者は、脆弱性情報公開サイト105を定期的に確認し、新たな脆弱性が公開された際に、当該脆弱性の情報を脆弱性情報データ209に反映する。または、ツールを用いて、脆弱性情報データ209の更新を自動化してもよい。脆弱性情報データ209は、CPU203により実行される判定プログラム211が、サーバにインストールされているソフトウェアに脆弱性があるか否かの判定を行う際に利用される。判定プログラム211の具体的な処理については、図7を用いて後述する。図6は、対策ポリシデータ210の一例を示す図である。図6に示すように、対策ポリシデータ210は、ポリシID601と、計算機識別子602と、ソフトウェア603と、対策ポリシ604とを含む。ポリシID601は、対策ポリシを一意に識別できる情報識別子を表す。計算機識別子602は、対策対象システム114に存在する計算機の識別子を表す。なお、構成情報データ208の計算機識別子402と同一の識別子が利用される。ソフトウェア603は、脆弱性の影響が存在するソフトウェアを表す。対策ポリシ604は、脆弱性の影響が存在する場合の対策を表す。例えば、型チェックscript除去Jpeg変換データ破棄などが挙げられる。なお、これらの対策は脆弱性の影響を回避するためのポリシであるが、例えば、トラフィック監視のように脆弱性が存在する場合に監視を強化するポリシを設定してもよい。また、これらの対策は、脆弱性対策装置101の対策プログラム212に組み込まれている対策機能214が実行する。例えば、型チェックの対策ポリシでは、受信したデータに含まれるパラメタの値が、当該パラメタが想定している型と一致しているか否かを確認する。具体的には、想定している型が整数である場合には、受信した値が0~9の数値のみのデータであるかの確認を行う。また、想定している型がgif画像であれば、受信した値がgifファイルの仕様と一致しているか否かの確認を行う。なお、型チェックに失敗した型が一致しなかった場合には該当する値を除去する。script除去の対策ポリシでは、受信したデータに含まれるパラメタの値からscriptを除去する。具体的には、<script>タグを除去する。Jpeg変換の対策ポリシでは、受信したデータに含まれるパラメタの値を、Jpegフォーマットに変更する。対策ポリシデータ210は、計算機識別子602で稼働しているソフトウェア603に脆弱性が存在する場合に、対策ポリシ604で示した対策を行うことを表している。図6を用いて具体例を説明する。ポリシID1の対策ポリシデータ210は、計算機識別子602がサーバA、ソフトウェア603がWebサーバプログラム、対策ポリシ604が型チェックである。このとき、サーバA102のWebサーバプログラム109に脆弱性が存在する場合に、型チェックの脆弱性対策を行うことを表している。対策ポリシデータ210に格納される対策ポリシは、サービスの提供者が必要に応じて、入力または更新する。また、対策ポリシに併せて当該対策ポリシを実行するための対策機能214を対策プログラム212に組み込む必要がある。説明を簡単にするため、対策ポリシデータ210は、ポリシID601、計算機識別子602、ソフトウェア603、対策ポリシ604とを含む構成を例示したが、必要に応じて、脆弱性の影響度を表すCVSSの値などを格納し、CVSSの値に応じて対策するポリシを変更しても良い。対策ポリシデータ210は、CPU203により実行される対策プログラム212が、脆弱性の影響を回避するための対策を行う際に利用される。対策プログラム212の具体的な処理については、図8を用いて後述する。続いて、脆弱性対策装置101の判定プログラム211がデータを受信し、データが到達する経路上のサーバに、脆弱性の影響を受けるソフトウェアが存在するか否かを判定する処理以下、判定処理と呼ぶ。について説明する。図7は、判定処理のフローチャートである。図7に示すように、判定処理を実行する判定プログラム211は、CPU203により実行され、ネットワーク106に接続された利用者端末からのパケットを、IF201を介して受信すると、受信したパケットを連結し、データを復元するステップ701。判定プログラム211は、復元したデータから、ホスト、パス、パラメタ、値の情報を取得し、取得したすべてのパラメタについてステップ703からステップ709の処理を繰り返すステップ702。判定プログラム211は、ステップ702で取得したホスト、パス、パラメタの情報と、経路情報データ207のホスト302、パス303、パラメタ304とを比較し、該当する経路情報が存在すれば、ステップ704に進み、存在しなければステップ710に進むステップ703。判定プログラム211は、ステップ703で該当した経路情報データ207の経路305に記載された計算機識別子を取得し、取得したすべての計算機識別子についてステップ705からステップ708の処理を繰り返すステップ704。判定プログラム211は、ステップ704で取得した計算機識別子と、構成情報データ208の計算機識別子402とを比較し、該当する構成情報のソフトウェア403とバージョン404を取得し、取得したすべてのソフトウェア403とバージョン404についてステップ706からステップ707の処理を繰り返すステップ705。判定プログラム211は、ステップ705で取得したソフトウェア、バージョンと、脆弱性情報データ209のソフトウェア503、バージョン504とを比較し、該当する脆弱性情報が存在すればステップ707に進み、該当する脆弱性情報が存在しなければステップ708に進む。判定プログラム211は、対策プログラム212を実行し、対策処理を行うステップ707。なお、対策プログラム212の具体的な処理については、図8を用いて後述する。判定プログラム211は、受信したデータをパケットに分割し、IF202を介して送信し、処理を終了するステップ711。ステップ702からステップ710までの判定処理の流れを、具体例を用いて説明する。例えば、http://www.serverA.org/serverA.cgiid=123cmd=updateというデータを受信した場合、判定プログラム211は受信したデータから、ホストwww.serverA.org、パスserverA.cgi、パラメタidcmd、値123updateを取得する。この場合、パラメタが2つあるため、2つのパラメタidcmdのそれぞれについてステップ703からステップ709の処理を行う。判定プログラム211は、一つ目のパラメタであるidに対して経路情報データ207との比較を行う。この場合、経路ID301が1のホスト302www.serverA.org、パス303serverA.cgi、パラメタ304idに該当する。判定プログラム211は、該当した経路情報の経路305に格納されている計算機識別子サーバAを取得する。なお、上記ステップから、パラメタidに対応する値123がサーバAによって処理されることが分かる。判定プログラム211は、取得した計算機識別子サーバAと構成情報データ208の計算機識別子402との比較を行う。この場合、構成IDが1の計算機識別子402サーバA及び、構成IDが2の計算機識別子402サーバAに該当する。該当する構成情報が2つあるため、2つのソフトウェアWebサーバプログラムオペレーティングシステムAのそれぞれについて、ステップ706からステップ707の処理を繰り返す。なお、上記ステップから、サーバAには、WebサーバプログラムとオペレーティングシステムAの2つのソフトウェアが稼働していることが分かる。判定プログラム211は、一つ目のソフトウェア、バージョンであるWebサーバプログラム、0.9と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、脆弱性IDが1のソフトウェア503Webサーバプログラム、バージョン5041.0以前に該当する。判定プログラム211は、該当する脆弱性情報が存在したため、対策プログラム212を実行し、計算機識別子サーバA、ソフトウェアWebサーバプログラム、バージョン0.9、パラメタid、値123を対策プログラムに212に送信する。なお、対策プログラム212の具体的な処理については図8を用いて後述する。判定プログラム211は、二つ目のソフトウェア、バージョンであるオペレーティングシステムA、バージョン2.3と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、該当する脆弱情報は存在しないため、対策処理ステップ707は実行されない。次に、判定プログラム211は、2つ目のパラメタであるcmdに対して経路情報データ207との比較を行う。この場合、経路ID301が2のホスト302www.serverA.org、パス303serverA.cgi、パラメタ304cmdに該当する。判定プログラム211は、該当した経路情報の経路305に格納されている計算機識別子サーバA、サーバBを取得する。なお、上記ステップから、パラメタcmdに対応する値updateがサーバAとサーバBによって処理されることが分かる。このとき、経路にサーバが2つ存在するため、2つの計算機識別子サーバAサーバBのそれぞれについて、ステップ705からステップ708の処理を繰り返す。判定プログラム211は、一つ目の計算機識別子であるサーバAと構成情報データ208の計算機識別子402との比較を行う。この場合、構成IDが1の計算機識別子402サーバA及び、構成IDが2の計算機識別子402サーバAに該当する。該当する構成情報が2つあるため、2つのソフトウェアWebサーバプログラムオペレーティングシステムAのそれぞれについて、ステップ706からステップ707の処理を繰り返す。判定プログラム211は、一つ目のソフトウェア、バージョンであるWebサーバプログラム、0.9と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、脆弱性IDが1のソフトウェア503Webサーバプログラム、バージョン5041.0以前に該当する。判定プログラム211は、該当する脆弱性情報が存在したため、対策プログラム212を実行し、計算機識別子サーバA、ソフトウェアWebサーバプログラム、パラメタcmd、値updateを対策プログラムに212に送信する。なお、対策プログラム212の具体的な処理については図8を用いて後述する。判定プログラム211は、二つ目のソフトウェア、バージョンであるオペレーティングシステムA、バージョン2.3と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、該当する脆弱情報は存在しないため、対策処理ステップ707は実行されない。判定プログラム211は、二つ目の計算機識別子であるサーバBと構成情報データ208の計算機識別子402との比較を行う。この場合、構成IDが3の計算機識別子402サーバB及び、構成IDが4の計算機識別子402サーバBに該当する。該当する構成情報が2つあるため、2つのソフトウェアDBサーバプログラムオペレーティングシステムBのそれぞれについて、ステップ706からステップ707の処理を繰り返す。判定プログラム211は、一つ目のソフトウェア、バージョンであるDBサーバプログラム、2.3と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、該当する脆弱情報は存在しないため、対策処理ステップ707は実行されない。判定プログラム211は、二つ目のソフトウェア、バージョンであるオペレーティングシステムB、バージョン0.5と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、脆弱性IDが4のソフトウェア503オペレーティングシステムB、バージョン5041.0以前に該当する。判定プログラム211は、該当する脆弱性情報が存在したため、対策プログラム212を実行し、計算機識別子サーバB、ソフトウェアオペレーティングシステムB、パラメタcmd、値updateを対策プログラムに207に送信する。このように、判定プログラム211は受信したデータから、データがどの計算機に到達するかを解析し、計算機に存在するソフトウェアの情報を取得し、取得した各ソフトウェアに脆弱性があるか否かを判定し、脆弱性がある場合には、対策プログラム212を起動する。続いて、脆弱性対策装置101の対策プログラム212が判定プログラム211から対策処理の要求を受信し、脆弱性の影響を回避するための対策を行う処理以下、対策処理と呼ぶ。について説明する。図8は、対策処理のフローチャートである。図8に示すように、対策処理を実行する対策プログラム212は、CPU203により実行され、判定プログラム211から対策処理の要求を受信するステップ801。なお、対策処理の要求には脆弱性の影響を受ける計算機識別子、脆弱性の影響を受けるソフトウェア、脆弱性の影響を受ける計算機に到達するパラメタとその値の情報が含まれている。対策プログラム212は、受信した計算機識別子、ソフトウェアと、対策ポリシデータ210の計算機識別子602、ソフトウェア603とを比較し、該当する対策ポリシ604を取得し、取得したすべての対策ポリシ604についてステップ803の処理を繰り返すステップ802。対策プログラム212は、取得した対策ポリシ604に基づき脆弱性の影響を回避するための対策を、対策機能214を用いて実行するステップ803。ステップ801からステップ803までの対策処理の流れを、具体例を用いて説明する。例えば、判定プログラム211から、計算機識別子サーバA、ソフトウェアWebサーバプログラム、パラメタid、値123の情報が送られてきた場合、対策プログラム212は、受信した計算機識別子サーバA、ソフトウェアWebサーバプログラムと、対策ポリシデータ210の計算機識別子602、ソフトウェア603との比較を行う。この場合、ポリシIDが1の計算機識別子602サーバA、ソフトウェア603Webサーバプログラム及び、ポリシIDが2の計算機識別子602サーバA、ソフトウェア603Webサーバプログラムに該当する。該当する対策ポリシが2つあるため、2つの対策ポリシ型チェックscript除去のそれぞれについてステップ803の処理を繰り返す。対策プログラム212は、一つ目の対策ポリシである型チェックを実行する。具体的には、対策プログラム212は、型チェックを実行する対策機能214を呼び出し、判定プログラム212から受信した、パラメタidの型を、対策機能214の中に保持されている情報から取得する。ここで、パラメタidの型は整数であると定義されていたとする。次に、対策機能214は、パラメタidの値123が、型整数に一致しているか否かの確認を行う。整数に一致しているか否かについては、値123が数値で構成されているかの確認を行う。この場合、123は整数であるため、対策機能214はデータを破棄しない。対策プログラム212は、二つ目の対策ポリシであるscript除去を実行する。具体的には、対策プログラム212はscript除去を実行する対策機能214を呼び出し、判定プログラム212から受信した、値123に存在する<script>タグを除去する。この場合、値123には<script>タグが含まれていないため、対策機能214はデータを変更しない。このように、脆弱性対策を行う脆弱性対策装置において、脆弱性対策装置101の判定プログラム211が、IF201を介して受信したデータから、経路情報データ207に基づき、データが到達する計算機を算出し、算出した計算機に存在するソフトウェアに脆弱性があるか否かを判定し、対策プログラム212が、対策ポリシデータ210に従って脆弱性の対策を実行することで、必要以上のデータ遮断を防止することが可能となる。なお、本実施例の一部を変更して、次のように実施してもよい。各サーバに対策処理を実行する対策機能214をエージェントとして導入し、脆弱性対策装置101の対策プログラム212において、各エージェントに脆弱性の影響を回避するための対策命令を発行する。これにより対策処理を各サーバ上で実行することができ、脆弱性対策装置101の対策処理に係る負荷を軽減することができる。また、脆弱性情報データ209に利用禁止ソフトウェアとそのバージョンを登録する。これにより、利用禁止ソフトウェアに対する対策を実施することができる。また、脆弱性対策装置101を複数用意して、それらを連携させても良い。これにより、脆弱性対策装置に係る負荷を分散することが可能となる。本実施例は、実施例1の脆弱性対策装置を含み、さらに可視化プログラムを用いた脆弱性対策結果の可視化を行う脆弱性対策装置である。実施例1では、サービス提供者が、どの計算機上のソフトウェアに脆弱性が存在するのか、或いはどの計算機上でどのような脆弱性対策が実施されているかを確認することが困難である。そこで、実施例2では、脆弱性対策結果を可視化する脆弱性対策装置を説明する。脆弱性対策結果を可視化することで、サービス提供者が迅速に脆弱性の対策結果を知ることが可能となる。図9は、本実施例における脆弱性対策装置101の構成図の例である。実施例1と同一の構成要素には同一の符号を付すことによってその説明を省略し、以下では、実施例1と異なる点を中心に説明する。図9に示すように、実施例2における脆弱性対策装置101は、既に説明した実施例1の脆弱性対策装置101に、脆弱性対策ログ901と、データ到達ログ902と、判定プログラム903と、可視化プログラム904とを含んで構成される。なお、実施例1においても判定プログラム211が存在するが、実施例2での判定プログラム903とは一部処理が異なるため、ここでは新たな符号を付した。CPU203は、メモリ206に格納された判定プログラム903を実行することによりデータの到達性判定を、可視化プログラム904を実行することにより対策結果の可視化を行う。記憶装置205には脆弱性対策状況を保持した脆弱性対策ログ901と、データの到達量を格納したデータ到達ログ902が格納されている。上記の各プログラムやデータは、あらかじめメモリ206または記憶装置205に格納されていてもよいし、必要な時に、入出力装置204または、IF201、IF202を介して他の装置から、インストールロードされてもよい。図10は、脆弱性対策ログ901の一例を示す図である。図10に示すように、脆弱性対策ログ901は、計算機識別子1001と、ソフトウェア1002と、脆弱性ID1003と、対策ID1004とを含む。計算機識別子1001には、対策対象システム114に存在する計算機の識別子が格納される。なお、構成情報データ208の計算機識別子402と同一の識別子を格納する。ソフトウェア1002には、脆弱性の影響をうけるソフトウェアを格納する。脆弱性ID1003には、計算機識別子1001で稼働しているソフトウェア1002に関する脆弱性の情報を格納する。脆弱性情報データ209の脆弱性情報501と同一の識別子を格納する。対策ID1004には、実施している対策ポリシの情報を格納する。対策ポリシデータ210のポリシID601と同一の識別子を格納する。脆弱性対策ログ901は、計算機識別子1001のソフトウェア1002に脆弱性ID1003の脆弱性が存在し、対策ID1004の対策を実行していることを表す。図10を用いて具定例を説明する。一行目に格納されている脆弱性ログは、計算機識別子1001がサーバA、ソフトウェア1002がWebサーバプログラム、脆弱性ID1003が1、対策ID1004が1、2である。このとき、サーバA102のWebサーバプログラム109には、脆弱性ID1003が1の脆弱性が存在し、現在、対策IDが1と2の対策、つまり、型チェックとscript除去との対策を実施していることを表している。脆弱性対策ログ901に格納されるログ情報は、サービスの提供者が、脆弱性対策を行った際に削除する。脆弱性対策ログ901は、CPU203により実行される判定プログラム903が、計算機上に脆弱性があるか否かを判定する際に利用される。判定プログラム903の具体的な処理については、図13を用いて後述する。脆弱性対策ログ901は、CPU203により実行される可視化プログラム904が、対策結果を可視化する際にも利用される。可視化プログラム904の具体的な処理については、図14を用いて後述する。図11は、データ到達ログ902の一例を示す図である。図11に示すように、データ到達ログ902は、ホスト1101と、パス1102と、計算機識別子1103と、データ量1104とを含む。ホスト1101は、サービスがどのサーバで提供されているかの情報が格納される。例えば、コンピュータネットワークにおいて個々のサーバを識別するドメイン名やIPアドレスなどが挙げられる。なお、ホスト1101にはサービスが提供されているポート番号を含んで格納しても良い。経路情報データ207のホスト302と同一の識別子が格納される。パス1102は、提供されているサービスにどのようにアクセスできるかの情報が格納される。例えば、サーバ内部でのファイルの所在地などが挙げられる。また、パス1102には階層構造を示すために使われる/を含んで格納しても良い。経路情報データ207のパス303と同一の識別子が格納される。ホスト1101とパス1102の組み合わせにより、インターネット上のサービスを特定することができる。計算機識別子1103には、対策対象システム114に存在する計算機の識別子が格納される。なお、構成情報データ208の計算機識別子402と同一の識別子を格納する。データ量1104には、計算機識別子1103に到達したデータの量が格納される。なお、データ量1104は、例えば、データの文字数などの値である。データ到達ログ902は、ホスト1101、パス1102で提供されているサービスが受信したデータのうち、計算機識別子1103で処理されたデータが、データ量1104だけ存在することを表す。図11を用いて具定例を説明する。一行目に格納されているデータ到達ログは、ホスト1101がwww.serverA.org、パス1102がserverA.cgi、計算機識別子1103がサーバA、データ量1104が300である。このとき、http://www.serverA.org/serverA.cgiで提供されているサービスに到達したデータのうち、サーバA102に到達したデータが300あったことを表している。データ到達ログ902は、CPU203により実行される可視化プログラム904が、対策結果を可視化する際に利用される。可視化プログラム904の具体的な処理については、図14を用いて後述する。図12に、対策結果可視化画面の一例を示す。図12に示すように、対策結果可視化画面1201は、脆弱性対策状況を表示する領域1202と、計算機到達データ量を表示する領域1203とを含む。脆弱性対策状況を表示する領域1202は、どの計算機上でどのような脆弱性対策が行われているか、また、データが経由する計算機と、経由する順番も併せて表している。脆弱性対策状況を表示する領域1202には、計算機識別子サーバAのソフトウェアWebサーバプログラムに脆弱性が存在し、対策ポリシscript除去及び型チェックの対策を実行しており、かつ、計算機識別子サーバCのソフトウェア画像処理プログラムに脆弱性が存在し、対策ポリシJpeg変換の対策を実行している場合の脆弱性対策状況を例示している。サーバ到達データ量を表示する領域1203は、計算機に到達したデータが、どの計算機でどれだけ処理されたかの割合を円グラフなどを用いて表示している。対策結果可視化画面1201はユーザからの可視化要求を受信した際に、可視化プログラム904が出力する。可視化プログラム904の具体的な処理については、図14を用いて後述する。続いて、脆弱性対策装置101の判定プログラム903がデータを受信し、データが到達する経路上のサーバに、脆弱性の影響を受けるソフトウェアが存在するか否かを判定する処理以下、判定処理と呼ぶ。について説明する。図13は、判定処理のフローチャートである。図13に示すように、判定処理を実行する判定プログラム903は、CPU203により実行され、ネットワーク106に接続された利用者端末からのパケットを、IF201を介して受信すると、受信したパケットを連結し、データを復元するステップ1301。判定プログラム903は、復元したデータから、ホスト、パス、パラメタ、値の情報を取得し、取得したすべてのパラメタについてステップ1303からステップ1314の処理を繰り返すステップ1302。判定プログラム903は、ステップ1302で取得したホスト、パス、パラメタの情報と、経路情報データ207のホスト302、パス303、パラメタ304とを比較し、該当する経路情報が存在すれば、ステップ1304に進み、存在しなければステップ1314に進むステップ1303。判定プログラム903は、ステップ1303で該当した経路情報データ207の経路305に記載された計算機識別子を取得し、取得したすべての計算機識別子についてステップ1305からステップ1313の処理を繰り返すステップ1304。判定プログラム903は、ステップ1302で取得したホスト、パス、パラメタ、値と、ステップ1304で取得した計算機識別子を基に、データ到達ログ902のデータ量1104を値のデータ量だけ加算するステップ1305。ホスト1101がwww.serverA.org、パス1102がserverA.cgi、計算機識別子1103がサーバAのデータ量1104が300の時に、http://www.serverA.org/serverA.cgiid=123というデータを受信したとする。この場合、パラメタidに対応する値123は、経路情報データ207より、計算機識別子サーバAで処理されることが分かるため、判定プログラム903は、値123のデータ量3ここで、データ量は文字数とするをデータ量1104300に加算し、303という値に更新する。判定プログラム903は、ステップ1304で取得した計算機識別子と、脆弱性対策ログ901の計算機識別子1001とを比較し、該当する脆弱性対策ログが存在すればステップ1307に、存在しなければステップ1308に進むステップ1306。このように、脆弱性対策ログ901との比較を行うことにより、ソフトウェアごとに脆弱性があるか否かの判定を行う処理を省略することが可能となり、判定処理に係る負荷を軽減することができる。判定プログラム903は、ステップ1304で取得した計算機識別子と、構成情報データ208の計算機識別子402とを比較し、該当する構成情報のソフトウェア403とバージョン404を取得し、取得したすべてのソフトウェア403とバージョン404についてステップ1309からステップ1302の処理を繰り返すステップ1308。判定プログラム903は、ステップ1308で取得したソフトウェア、バージョンと、脆弱性情報データ209のソフトウェア503、バージョン504とを比較し、該当する脆弱性情報が存在すればステップ1310に進み、該当する脆弱性情報が存在しなければステップ1312に進むステップ1309。判定プログラム903は、対策プログラム212を実行し、対策処理を行うステップ1310。なお、対策プログラム212の具体的な処理については、実施例1に記述してある。判定プログラム903は、ステップ1304で取得した計算機識別子と、ステップ1308で取得したソフトウェアと、ステップ1309で取得した脆弱性IDと、ステップ1310で取得した対策IDとを、脆弱性対策ログ901に格納するステップ1311。上記の処理を行うことで、次からは対策ログ901との比較の際に該当する脆弱性情報が対策ログ901に格納されているため、ソフトウェアごとに脆弱性があるか否かの判定を行う処理を省略することが可能となる。判定プログラム903は、受信したデータをパケットに分割し、IF202を介して送信し、処理を終了するステップ1315。ステップ1302からステップ1314までの判定処理の流れを、実施例1と同じ具体例を用いて説明する。なお、脆弱性対策ログ901及び、データ到達ログ902には、データが格納されていない状態であるとする。この時、例えば、http://www.serverA.org/serverA.cgiid=123cmd=updateというデータを受信した場合、判定プログラム903は受信したデータから、ホストwww.serverA.org、パスserverA.cgi、パラメタidcmd、値123updateを取得する。この場合、パラメタが2つあるため、2つのパラメタidcmdのそれぞれについてステップ1303からステップ1313の処理を行う。判定プログラム903は、一つ目のパラメタであるidに対して経路情報データ207との比較を行う。この場合、経路ID301が1のホスト302www.serverA.org、パス303serverA.cgi、パラメタ304idに該当する。判定プログラム903は、該当した経路情報の経路305に格納されている計算機識別子サーバAを取得する。なお、上記ステップから、パラメタidに対応する値123がサーバAによって処理されることが分かる。判定プログラム903は、データ到達ログ902に、ホストwww.serverA.org、パスserverA.cgi、計算機識別子サーバA、データ量3値123の文字数が3であるため、データ量は3となるの値を格納する。判定プログラム903は、取得した計算機識別子サーバAと、脆弱性対策ログ901の計算機識別子1001とを比較する。この場合該当する脆弱性対策ログが存在しないため、ステップ1308に進む。判定プログラム903は、取得した計算機識別子サーバAと構成情報データ208の計算機識別子402との比較を行う。この場合、構成IDが1の計算機識別子402サーバA及び、構成IDが2の計算機識別子402サーバAに該当する。該当する構成情報が2つあるため、2つのソフトウェアWebサーバプログラムオペレーティングシステムAのそれぞれについて、ステップ1309からステップ1312の処理を繰り返す。判定プログラム903は、一つ目のソフトウェア、バージョンであるWebサーバプログラム、0.9と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、脆弱性IDが1のソフトウェア503Webサーバプログラム、バージョン5041.0以前に該当する。判定プログラム211は、該当する脆弱性情報が存在したため、対策プログラム212を実行し、計算機識別子サーバA、ソフトウェアWebサーバプログラム、バージョン0.9、パラメタid、値123を対策プログラムに212に送信する。なお、対策プログラム212の具体的な処理については実施例1に記述してある。判定プログラム903は、計算機識別子サーバA、ソフトウェアWebサーバプログラム、脆弱性ID1及び、対策プログラム212で実施された対策ID1、2を脆弱性対策ログ901に格納する。判定プログラム903は、二つ目のソフトウェア、バージョンであるオペレーティングシステムA、バージョン2.3と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、該当する脆弱情報は存在しないため、対策処理ステップ1310及び、脆弱性対策ログ901の更新処理は実行されない。次に、判定プログラム903は、2つ目のパラメタであるcmdに対して経路情報データ207との比較を行う。この場合、経路ID301が2のホスト302www.serverA.org、パス303serverA.cgi、パラメタ304cmdに該当する。判定プログラム211は、該当した経路情報の経路305に格納されている計算機識別子サーバA、サーバBを取得する。なお、上記ステップから、パラメタcmdに対応する値updateがサーバAとサーバBによって処理されることが分かる。このとき、経路にサーバが2つ存在するため、2つの計算機識別子サーバAサーバBのそれぞれについて、ステップ1305からステップ1313の処理を繰り返す。判定プログラム903は、データ到達ログ902に、ホストwww.serverA.org、パスserverA.cgi、計算機識別子サーバAのデータ量を更新する。この時、データ量には、3が格納されているため、3にupdateのデータ量6を加算した9を、データ量として格納する。判定プログラム903は、取得した計算機識別子サーバAと、脆弱性対策ログ901の計算機識別子1001とを比較する。この場合、先ほど格納した脆弱性対策ログが該当するため、ステップ1307の対策プログラム212の実行に進む。判定プログラム903は、二つ目の計算機識別子であるサーバBに関して、データ到達ログ902の更新を行う。この時、データ到達ログ902に、ホストwww.serverA.org、パスserverA.cgi、計算機識別子サーバB、データ量6のデータを格納する。判定プログラム903は、取得した計算機識別子サーバBと、脆弱性対策ログ901の計算機識別子1001とを比較する。この場合該当する脆弱性対策ログが存在しないため、ステップ1308に進む。判定プログラム903は、取得した計算機識別子サーバBと構成情報データ208の計算機識別子402との比較を行う。この場合、構成IDが3の計算機識別子402サーバB及び、構成IDが4の計算機識別子402サーバBに該当する。該当する構成情報が2つあるため、2つのソフトウェアDBサーバプログラムオペレーティングシステムBのそれぞれについて、ステップ1309からステップ1312の処理を繰り返す。判定プログラム903は、一つ目のソフトウェア、バージョンであるDBサーバプログラム、2.3と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、該当する脆弱情報は存在しないため、対策処理ステップ1310及び脆弱性対策ログ901の更新ステップ1311は実行されない。判定プログラム903は、二つ目のソフトウェア、バージョンであるオペレーティングシステムB、バージョン0.5と、脆弱性情報データ209のソフトウェア503、バージョン504を比較する。この場合、脆弱性IDが4のソフトウェア503オペレーティングシステムB、バージョン5041.0以前に該当する。判定プログラム903は、該当する脆弱性情報が存在したため、対策プログラム212を実行し、計算機識別子サーバB、ソフトウェアオペレーティングシステムB、パラメタcmd、値updateを対策プログラムに207に送信する。判定プログラム903は、計算機識別子サーバB、ソフトウェアオペレーティングシステムB、脆弱性ID4及び、対策プログラム212で実施された対策ID3を脆弱性対策ログ901に格納する。続いて、脆弱性対策装置101の可視化プログラム904が可視化リクエストを受信し、脆弱性対策結果を可視化する処理以下、可視化処理と呼ぶ。について説明する。図14は、可視化処理のフローチャートである。図14に示すように、可視化処理を実行する可視化プログラム904は、CPU203により実行され、入出力装置204から可視化リクエストを受信するステップ1401。なお、可視化リクエストには少なくとも可視化を行うホストとパスの情報が含まれている。可視化プログラム904は、受信したホスト、パスと、経路情報データ207のホスト302、パス303とを比較し、該当する経路305を取得するステップ1402。可視化プログラム904は、ステップ1402で取得した経路に含まれる計算機識別子と、脆弱性対策ログ901の計算機識別子1001とを比較し、一致する計算機識別子1001が存在すれば、該当するソフトウェア1002、脆弱性ID1003、対策ID1004を取得するステップ1403。可視化プログラム904は、ステップ1401で受信したホスト、パス、ステップ1402で取得した計算機識別子と、データ到達ログ902のホスト1101、パス1102、計算機識別子1103を比較し、該当するデータ量1104を取得するステップ1404。可視化プログラム904は、ステップ1402~ステップ1404で取得した情報から可視化画面を描画し、入出力装置204に出力するステップ1405。このとき、ステップ1402で取得した経路の情報から、各計算機のデータの到着状況を復元し、可視化する。ステップ1401からステップ1405までの可視化処理の流れを、具体例を用いて説明する。可視化プログラム904がホストwww.serverA.org、パスserverA.cgiの対策結果を可視化するよう、可視化リクエストを受けたとする。可視化プログラム904は、受信したホストwww.serverA.org、パスserverA.cgiの情報を経路情報データ207のホスト302、パス303と比較する。この場合、経路ID301が123の3つの経路情報が該当する。可視化プログラム904は該当した3つの経路情報の経路305に含まれている計算機識別子を取得する。この場合、該当する経路305は、サーバAサーバA、サーバBサーバA、サーバB、サーバCの3つとなり、これらの経路305に含まれる計算機識別子は、重複を除けばサーバAサーバBサーバCの3つとなる。可視化プログラム904は、取得した計算機識別子と、対策ログ901の計算機識別子1001を比較し、該当するソフトウェア1002、脆弱性ID1003、対策ID1004を取得する。この場合、サーバAは、対策ログ901の1行目の情報、計算機識別子1001がサーバA、ソフトウェア1002がWebサーバプログラム、脆弱性ID1003が1、対策ID1004が1、2の対策ログに該当する。また、サーバCは、対策ログ901の2行目の情報、計算機識別子1001がサーバC、ソフトウェア1002が画像処理プログラム、脆弱性ID1003が3、対策ID1004が4の対策ログに該当する。可視化プログラム904は、可視化リクエストとして受信したホストwww.serverA.org、パスserverA.cgiの情報と、取得した計算機識別子サーバAサーバBサーバCの情報とを、データ到達ログ902と比較し、該当するデータ量を取得する。この場合は、該当するデータ量は、それぞれ、300200100となる。可視化プログラム904は、以上の処理によって得た情報を用いて、図12に例示した可視化結果画面を出力する。このように、脆弱性対策を行う脆弱性対策装置において、可視化プログラム904が、脆弱性対策の結果を可視化することで、サービス提供者が迅速に脆弱性の対策結果を知ることが可能となる。なお、本実施例の一部を変更して、次のように実施してもよい。データ到達ログ902の情報を一定時間ごとに、記憶装置に記憶させ、データ量をリセットする。これにより、図15に示すように、計算機到達データを時系列で表示することが可能となる。計算機到達データを時系列で表示することにより、例えば、ある時刻t1とt2の間のデータ量の変化率が他の時刻との間の変化率に比べて大きい等、サービス提供者はどの計算機でいつ異常があったか判断することが可能となる。また、可視化リクエストをIF201または、IF202を介して受信し、可視化結果をIF201または、IF202を介して送信する。これにより、サービス提供者はリモート環境から脆弱性対策結果を確認することが可能となる。また、可視化プログラム904を、脆弱性対策装置101から分離し、別の計算機上に実装してもよい。これにより、脆弱性対策装置101において、可視化に関する負荷を軽減することが可能となる。また、可視化に必要となる、脆弱性対策ログ901や、到達データログ902を脆弱性対策装置101から分離し、他の計算機上に格納してもよい。本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。