(57)【要約】【課題】処理能力を向上したセキュリティサーバシステムを提供すること。【解決手段】ネットワークを介して送られる要求に応じてコンテンツを提供する第１のサーバシステムと、第１のサーバシステムよりもネットワークを経由した攻撃に対する強度が強く、ネットワークを介して送られる要求に応じてコンテンツを提供する第２のサーバシステムと、ネットワークを介して提供するコンテンツを受け付ける受付部と、ネットワークを経由した攻撃の影響を受け得るコンテンツ内容を示す脆弱情報を含む判定テーブルと、脆弱情報に基づき、受付部が受け付けたコンテンツについてネットワークを経由した攻撃に対する脆弱性の有無を判定する判定部と、判定部の判定結果に応じて、受付部が受け付けたコンテンツを提供候補として第１のサーバシステムまたは第２のサーバシステムのいずれかに格納するファイル制御部と、を具備する。【選択図】図１
2011258018.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して送られる要求に応じてコンテンツを提供する第１のサーバシステムと、
前記第１のサーバシステムよりも前記ネットワークを経由した攻撃に対する強度が強く、前記ネットワークを介して送られる要求に応じてコンテンツを提供する第２のサーバシステムと、
前記ネットワークを介して提供するコンテンツを受け付ける受付部と、
前記ネットワークを経由した攻撃の影響を受け得るコンテンツ内容を示す脆弱情報を含む判定テーブルと、
前記脆弱情報に基づき、前記受付部が受け付けたコンテンツについて前記ネットワークを経由した攻撃に対する脆弱性の有無を判定する判定部と、
前記判定部の判定結果に応じて、前記受付部が受け付けたコンテンツを提供候補として前記第１のサーバシステムまたは前記第２のサーバシステムのいずれかに格納するファイル制御部と、
を具備したことを特徴とするセキュリティサーバシステム。
【請求項２】
前記ファイル制御部は、前記受付部が受け付けたコンテンツのうち前記脆弱性を有するデータを前記第２サーバシステムに格納し、前記脆弱性を有さないデータを前記第１サーバシステムに格納することを特徴とする請求項１記載のセキュリティサーバシステム。
【請求項３】
前記ファイル制御部により、前記第１サーバシステムに格納されるデータおよび前記第２サーバシステムに格納されるデータ相互間のリンクを整合させる整合部をさらに備えたことを特徴とする請求項２記載のセキュリティサーバシステム。
【請求項４】
前記ネットワークと前記第１のサーバシステムおよび前記第２のサーバシステムとの間に接続され、前記判定部の判定結果に基づき、前記ネットワークを介して送られる要求を前記第１のサーバシステムまたは前記第２のサーバシステムのいずれかに振り分ける通信経路制御部をさらに備えたことを特徴とする請求項２記載のセキュリティサーバシステム。
【請求項５】
前記判定テーブルは、前記ネットワークを経由した攻撃に関する攻撃情報を含み、
前記攻撃情報に基づいて前記ネットワークを経由した攻撃を擬似的に生成する擬似攻撃発生部と、
前記擬似的に生成した攻撃に応じて前記受付部が受け付けたコンテンツを提供する第３のサーバシステムと、
前記第３のサーバシステムが提供したコンテンツが正常か否かスキャンし、正常でない場合に前記脆弱性を有すると判定する脆弱性スキャン部と、
をさらに具備したこと
を特徴とする請求項１ないし４のいずれか１項に記載のセキュリティサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でサービスを提供するサーバを攻撃から保護するセキュリティサーバシステムに関する。
【背景技術】
【０００２】
インターネット上でサービスを提供するサーバに対して、インターネット経由の様々な攻撃が発生している。例えば、攻撃者がサーバに対し本来とは異なる方法を用いてアクセスすることでサーバ上の情報を詐取する攻撃や、正当なユーザが攻撃者に騙された結果、当該ユーザのアクセスを攻撃者の準備したサーバを通じて脆弱性を有するサーバに誘導する攻撃などが知られている。
【０００３】
アプリケーションの脆弱性をついた攻撃としては、例えば、ＷＥＢサーバに対するクロスサイトスクリプティング、クロスサイトリクエストフォージェリや、ＷＥＢサーバとＳＱＬサーバに対するＳＱＬインジェクションなどがある。ＳＱＬインジェクションは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないＳＱＬ文を実行させることにより、データベースシステムを不正に操作するものである。この攻撃に成功すると、攻撃者によるデータの詐取・改竄・削除が可能になってしまう。
【０００４】
ネットワークを経由した攻撃を防御する技術としては、アクセスが違法または有害であるか否かを判定し、有害なオペレーション要求の実行を防止する方法が提案されている（特許文献１）。またアプリケーションに対するＤｏＳ／ＤＤｏＳ攻撃から防御するため、トラヒック量などの情報を基に攻撃を検知し、攻撃トラヒックのレートを制御しフィルタリングすることが提案されている（特許文献２）。
【０００５】
さらに、ネットワークからの全てのアクセスについて防御装置を経由させることで、ネットワークを経由した攻撃からサーバのアプリケーションを防御するセキュリティサーバシステム（アプリケーションセキュリティシステム）も知られている。事前の対応としては、ソースコード等に起因するアプリケーションの脆弱性診断をあらかじめ行って脆弱性を発見しておき、当該アプリケーションの脆弱な要素を手作業で除去することが一般に行われている。
【０００６】
全てのアクセスについて防御装置を経由させる従来のシステムでは、トラヒックの増加に伴って当該防御装置の処理能力を超えることがあった。特に、複数のサーバを一括して防御処理する場合、サーバ自体の脆弱性やサーバにより提供されるコンテンツ等のサービスの脆弱性の有無に関わらず全てのアクセスが防御装置を通過するため、サーバへのアクセスの増加に伴って防御装置の処理能力を超えやすい。
【０００７】
一方、脆弱性診断により発見した脆弱性を人手で改修する場合、アプリケーションのソースコード等の改修に膨大な時間と労力が必要となる。特に、脆弱性の改修にはセキュアプログラミングに係る知識と経験を有する人員が必要となるため、サーバ運営者の負担が大きくなる問題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２００４−５３３６７６公報
【特許文献２】特開２００６−６０５９９公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このように、従来のセキュリティサーバシステムでは、サーバへのアクセスの増加により処理能力を超えやすいという問題がある。また、人手により脆弱性を改修するにも限界がある。
【００１０】
本発明は、かかる課題を解決するためになされたもので、処理能力を向上したセキュリティサーバシステムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の一つの実施形態に係るセキュリティサーバシステムは、ネットワークを介して送られる要求に応じてコンテンツを提供する第１のサーバシステムと、第１のサーバシステムよりもネットワークを経由した攻撃に対する強度が強く、ネットワークを介して送られる要求に応じてコンテンツを提供する第２のサーバシステムと、ネットワークを介して提供するコンテンツを受け付ける受付部と、ネットワークを経由した攻撃の影響を受け得るコンテンツ内容を示す脆弱情報を含む判定テーブルと、脆弱情報に基づき、受付部が受け付けたコンテンツについてネットワークを経由した攻撃に対する脆弱性の有無を判定する判定部と、判定部の判定結果に応じて、受付部が受け付けたコンテンツを提供候補として第１のサーバシステムまたは第２のサーバシステムのいずれかに格納するファイル制御部と、を具備することを特徴としている。
【発明の効果】
【００１２】
本発明によれば、処理能力を向上したセキュリティサーバシステムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。
【図２】第１の実施形態に係るセキュリティサーバシステムの構成を詳細に示すブロック図である。
【図３Ａ】第１の実施形態に係る防御部（リバースプロキシ）の機能構成を示す概念図である。
【図３Ｂ】一般的なルータの機能構成を示す概念図である。
【図４】第１の実施形態に係るセキュリティサーバシステムの動作を示すフローチャートである。
【図５】第２の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。
【図６】第２の実施形態に係るセキュリティサーバシステムの構成を詳細に示すブロック図である。
【図７】第２の実施形態に係るセキュリティサーバシステムの動作を示すフローチャートである。
【図８】第３の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。
【図９】第４の実施形態に係るセキュリティサーバシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
以下、本発明の実施の形態を、図面を参照して詳細に説明する。実施形態に係るセキュリティサーバシステムは、インターネットなどのネットワークに接続されたサーバを、当該ネットワークを経由した攻撃から防御する機能を有している。より具体的には、外部ネットワークに直接接続されたサーバと、外部ネットワークと防御手段を介して接続されたサーバとを備え、外部からの攻撃に対する脆弱性の有無に応じて提供するコンテンツを各サーバに振り分けてアップロード可能としている。
【００１５】
図１に示すように、第１の実施形態に係るセキュリティサーバシステム１は、第１サーバ１０および第２サーバ２０を備えている。第１サーバ１０および第２サーバ２０には、それぞれ第１記憶部１２および第２記憶部２２が接続されている。第１サーバ１０は、ネットワーク４０と直接接続されており、第２サーバ２０は、ネットワーク４０と防御部２４を介して接続されている。さらに、この実施形態に係るセキュリティサーバシステム１は、ファイル受付部３０、脆弱性判定部３２、判定テーブル３４を備えている。
【００１６】
第１サーバ１０は、例えばＷｅｂサーバのように、ネットワークを介して電子ファイル群からなるコンテンツを提供する。第１記憶部１２は、例えばハードディスクドライブなどであり、第１サーバ１０が提供するコンテンツなどを記憶する。すなわち、第１サーバ１０および第１記憶部１２は、協働してサーバシステムとして機能する。第２サーバ２０および第２記憶部２２は、それぞれ第１サーバ１０および第１記憶部１２と対応し、共通する機能を有している。すなわち、この実施形態のセキュリティサーバシステムでは、共通する機能をもつサーバシステムを二以上有している。第１サーバ１０および第２サーバ２０は、例えばＵＮＩＸ（登録商標）などのネットワークＯＳ上で動作するサーバアプリケーションにより実現することができる。
【００１７】
防御部２４は、ネットワーク４０から第２サーバ２０への全てのアクセスを検査し、不正なアクセスやサーバなどの脆弱性に対する攻撃から第２サーバ２０を防御する機能を有する。防御部２４は、受け取ったトラヒックを一旦物理層からアプリケーション層まで解釈してデータを取り出し、取り出されたデータが第２サーバ２０などを攻撃する可能性があるかチェックする。防御部２４は、チェックの結果攻撃可能性がなければ、当該データを再びアプリケーション層から物理層まで変換して第２サーバ２０へ送り、攻撃可能性があれば、当該データを無害化するか破棄することで第２サーバ２０を保護する。
【００１８】
すなわち、このシステムは、直接ネットワーク４０と接続された第１サーバ１０、および、ネットワーク４０との間に防御部２４を備えてトラヒックによる処理負担の増加よりも安全性を優先した第２サーバ２０を有している。
【００１９】
ファイル受付部３０は、第１サーバ１０または第２サーバ２０がネットワーク４０を介してクライアント４２ａ・４２ｂへ提供するコンテンツを受け入れる。ここで、第１サーバ１０や第２サーバ２０が提供するコンテンツは、テキストファイルや画像ファイルなどの電子ファイルにより構成されるから、ファイル受付部３０は、例えばハードディスクドライブ上に構成されたディレクトリ（あるいはフォルダ）などにより実現される。
なお、以下の説明において、コンテンツは、脆弱性のない「ページ」と、脆弱性を含みうる「プログラム」とから構成されるものとする。コンテンツは、ページのみから構成されてもよく、この場合コンテンツには脆弱性はないことになる。一方、コンテンツが「ページ」と「プログラム」とから構成される場合、「プログラム」が脆弱性を含むか否かにより、コンテンツが脆弱性を有するか否かが左右される。
【００２０】
脆弱性判定部３２は、ファイル受付部３０に格納されたコンテンツ（電子ファイル群）を解析し、ネットワークを介した攻撃に対する脆弱性の有無を判定する機能を有する。併せて、脆弱性判定部３２は、判定結果に応じて、ファイル受付部３０に格納された電子ファイルを第１記憶部１２または第２記憶部２２に移動する機能をも有している。脆弱性判定部３２は、例えばメモリ上に展開されたコンピュータプログラムとＣＰＵなどの演算装置などにより実現される。
【００２１】
判定テーブル３４は、脆弱性判定部３２が解析や判定に用いる脆弱性情報を記録している。すなわち、脆弱性判定部３２は、判定テーブル３４に記録された脆弱性情報に基づいて、電子ファイルの解析や脆弱性の有無を判定する。判定テーブル３４は、ハードディスクドライブ上に構成されたディレクトリ（あるいはフォルダ）や、メモリなどにより実現される。
【００２２】
（第１の実施形態の具体的構成）
続いて、図２を参照して、第１の実施形態に係るセキュリティサーバシステムの構成をより詳細に説明する。図２に示すように、第１サーバ１０は、ＷＥＢサーバ１０２、ＣＧＩ部１０４、およびデータベースサーバ（ＤＢサーバ）１０６を有している。同様に、第２サーバ２０は、ＷＥＢサーバ２０２、ＣＧＩ部２０４、およびＤＢサーバ２０６を有している。防御部２４は、ファイアウォール２４２およびリバースプロキシ２４４を有している。脆弱性判定部３２は、テキスト抽出部３０１、判定部３０２、リンク整合部３０３およびファイル格納部３０４を有している。
【００２３】
ＷＥＢサーバ１０２およびＷＥＢサーバ２０２は、ＨＴＴＰ（HyperText Transfer Protocol）を用いてＨＴＭＬ（HyperText Markup Language）や画像データなどからなるコンテンツをクライアント４２ａ・４２ｂに提供する機能要素である。ＣＧＩ部１０４およびＣＧＩ部２０４は、それぞれＷＥＢサーバ１０２およびＷＥＢサーバ２０２と協働してプログラムを実行し、その実行結果をクライアント４２ａ・４２ｂに提供する機能要素である。ＤＢサーバ１０６およびＤＢサーバ２０６は、第１記憶部１２および第２記憶部２２それぞれに記憶されたデータ（データベース）１２５および２２５を用いて、検索やソート処理されたデータをクライアント４２ａ・４２ｂに提供する機能要素である。
【００２４】
ファイアウォール２４２は、ネットワーク４０からの不正アクセスを防ぐ機能要素である。リバースプロキシ２４４は、受け取ったトラヒックを物理層からアプリケーション層まで一旦解析してデータを取り出し、取り出したデータが攻撃性を有するか否か解析する機能要素である。リバースプロキシ２４４は、解析した結果データが攻撃性を有する有害なものである場合、無害化処理や廃棄処理を行い、同じく無害のものである場合、取り出したデータを再びアプリケーション層から物理層まで変換して出力する。
【００２５】
テキスト抽出部３０１は、ファイル受付部３０が受け取った電子ファイルから所定の文字列等を検索して抽出する機能要素である。判定部３０２は、テキスト抽出部３０１による検索結果に基づいて当該受け取った電子ファイルの脆弱性を判定し、脆弱性のあるデータと脆弱性のないデータを区分する。リンク整合部３０３は、判定部３０２が区分したデータのうち、脆弱性のあるデータについて、データ内の含まれる他のデータへのジャンプを示すリンクを更新する機能要素である。ファイル格納部３０４は、判定部３０２による区分結果に基づいて、電子ファイルを第１サーバ１０と接続された第１記憶部１２または第２サーバ２０と接続された第２記憶部２２のいずれかに格納制御する機能要素である。
脆弱性の判定方法の例としては、例えば、ソースコードを解析し、プログラムに入力された文字列が、プログラム中の複数の手続きによって処理加工された後、最終的にプログラムの出力となるまでの処理フローをトレースし、そのトレースの過程で、攻撃によく用いられる危険な文字または文字列をサニタイズして入力から取り除く処理が含まれているか否かにより判断する手法が挙げられる。また、ＳＱＬインジェクション等の攻撃を防ぐためＳＱＬで使われる「’」や「％」の他ＨＴＭＬで使われる「＜」や「＞」を検知し、一定のルールに従いデータの内容を変えないように変換するエスケープ処理が、判定対象のプログラムにおいて実施されていない場合には、脆弱性があると判断することができる。一定のルールとしては、例えば、「＆」は「＆amp」に、「＜」は「＆lt」に、「＞」は「＆gt」に、「’」は「＆＃039」に、「”」は「＆quot」に変換するものが挙げられる。
【００２６】
（第１サーバ／第２サーバの動作と外部からの攻撃）
ここで、第１サーバ１０および第２サーバ２０の基本動作を説明する。以下の説明では、脆弱性のないページａのみからなるコンテンツＡ、脆弱性のないページｂと脆弱性のないプログラムｂ１と脆弱性のあるプログラムｂ２とからなるコンテンツＢ、および、脆弱性のないページｃと脆弱性のあるプログラムｃとからなるコンテンツＣをネットワーク上で提供するものとする。
【００２７】
まず、ネットワークを介してサービスを提供するアプリケーションの例としてWEB（）サービスの例を説明する。
【００２８】
図１および図２に示すように、第１サーバ１０におけるＷＥＢサーバ１０２は、ネットワーク４０を介して、当該ネットワーク４０に接続したクライアント４２ａ・４２ｂに対してサービスを提供する。ＷＥＢサーバ１０２に接続された第１記憶部１２は、クライアント４２ａ等に提供するページとしてページａ１２１などを保持している。また、ＷＥＢサーバ１０２は、ＣＧＩ部１０４と協働して第１記憶部１２に格納されたプログラムｂ１などを走らせる。ここで、ページａ１２１やプログラムｂ１・１２２ｂなどの電子ファイルは、単一の電子ファイルではなく、複数の電子ファイルからなる電子ファイル群として構成されてもよい。
【００２９】
クライアント４２ａが閲覧したいページのＵＲＬを明示して第１サーバ１０に閲覧要求を行うと、ＷＥＢサーバ１０２は、その閲覧要求に含まれたＵＲＬが、ＷＥＢサーバ１０２の直接の配下のページであれば、そのページをクライアント４２ａに提供する。一方、ＵＲＬの指し示すページがＷＥＢサーバ１０２の直接の配下ではなく、例えばプログラムｂ１・１２２ｂのようにＣＧＩ部１０４を経由してのみアクセス可能なページの場合、ＷＥＢサーバ１０２は、プログラムｂ１・１２２ｂをＣＧＩ部１０４により実行して作成したページファイルをクライアント４２ａに提供する。
【００３０】
プログラムｂ１・１２２ｂ等は、ＣＧＩ部１０４を構成する言語で実行できるプログラムのソースコードである。したがって、ＣＧＩ部１０４を用いることにより、ページａ１２１のような固定的なページだけではなく、クライアント４２ａからの要求に応じて動的に生成したページを提供することも可能である。すなわち、ＣＧＩ部１０４の機能を用いることで、各種のアプリケーションプログラムを作成することが可能になる。同様に、クライアント４２ａは、ＣＧＩ部１０４とプログラムを介することで、ＤＢサーバ１０６にアクセスすることも可能になる。
【００３１】
一般に、ネットワーク４０を経由してデータベース１０６等の情報資源にアクセスする場合、ユーザ認証を行い意図しないユーザが情報資源へアクセスすること防止している。しかし、プログラムなどに脆弱性のあるコマンド等が含まれている場合、ネットワーク４０を経由して外部から認証が破られ、データにアクセスされてしまうおそれがある。
【００３２】
続いてＳＱＬインジェクション攻撃の例を説明する。ＷＥＢサーバ１０２を経由してＤＢサーバ１０６に対して次のようなＳＱＬを発行することを考える。例えば、プログラムに、以下のテキストが含まれているとすると、
SELECT * FROM users WHERE name = '入力値';
アプリケーション開発者は、上記の「入力値」として、例えばクライアント４２ａが作成した「suzuki」のようなユーザ名が入力されるものと期待する。しかし、悪意ある攻撃者は、例えば、
' OR 't' = 't
という文字列をパラメータ入力値として与える。そうすると、上記テキストは
SELECT * FROM users WHERE name = '' OR 't' = 't';
と展開されてしまう。't' = 't'は常に条件が真であるため、このＳＱＬ文では「name」カラムの値にかかわらず、全レコードが選択されることになる。このとき選択されるレコードにはクライアント４２ａが「suzuki」のユーザ名で登録した全てのデータが含まれる。
【００３３】
このようにして、データベースの抽出結果を確認のために画面に表示したりダウンロードしたりするアプリケーションの場合、全てのデータを盗まれてしまうことがあり得る。アプリケーションプログラムの開発者は、「入力値」にユーザ名などのデータの入力を期待するが、悪意ある攻撃者は、「入力値」に全体としてＳＱＬコマンドの一部を構成するような文字列「' OR 't' = 't」を入力し、結果として全レコードを選択することに成功してしまう。
【００３４】
そのため、ＣＧＩを用いたアプリケーションのプログラミングにおいては、入力値のチェックが欠かせない。例えばユーザ名の入力を期待する場合には、ユーザ名として入力を許容する文字のみを許容し、ユーザ名として使われない「％」や「＜」、「＞」などの特殊な文字は許容しないようにする。また攻撃によく用いられる危険な文字または文字列が既知であれば、それをサニタイズして入力から取り除くことも効果がある。
【００３５】
さらにＳＱＬインジェクション攻撃を防ぐため、ＳＱＬで使われる「’」や「％」の他、ＨＴＭＬで使われる「＜」や「＞」を検知し、データの内容を変えないように変換するエスケープ処理が行われる。例えば、「<」や「>」は「&lt;」や「&gt;」のように変換される。
【００３６】
プログラム中に含まれる可能性のある脆弱性の探索を人手で行うことは、特に大規模なプログラムでは、コストと脆弱性の見落とす可能性から得策ではない。そこで、人手に代わって脆弱性診断ツールを用いてアプリケーションプログラムに含まれる脆弱性を診断することが行われている。脆弱性診断ツールにより発見された脆弱な部分について人手で修正する作業を、脆弱性診断ツールにより脆弱性が発見されなくなるまで繰り返すことで、プログラムを完成させる。
【００３７】
しかし、既にサービスが開始されているページでは、サービスを一旦中止して修正プログラムを導入することが困難である。また、大規模なプログラムでは修正に長い時間がかかり、その間脆弱性をもつコンテンツがネットワーク上に曝されることとなる。そこで、この実施形態では、防御部２４を導入して脆弱性のあるコンテンツを安全に提供できるようにしている。
【００３８】
（防御部２４の機能）
サーバに対する攻撃の例と防御部２４の機能について詳細に説明する。防御部２４は、コンテンツの脆弱性をついた外部からの攻撃を防ぐ。すなわち、防御部２４は、ＣＧＩプログラム（プログラムｃなど）の脆弱性がネットワーク上に露呈しないように、クライアント４２ａから送られるリクエスト中のパラメータに危険なものが含まれていないかどうか検査する。この検査は、アプリケーション層で行われる。検査の結果、脆弱性を攻撃する可能性がある文字列を発見した場合、防御部２４は、当該文字列を無害化するように書換えて後段のサーバに転送するか、転送自体を中止する。
【００３９】
ここで、「アプリケーション層」、「物理層」とは、国際標準化機構（ＩＳＯ）により制定された、異機種間のデータ通信を実現するためのネットワーク構造の設計方針（ＯＳＩ）に基づいて階層構造に分割した各機能を意味している。すなわち、ＯＳＩでは、通信機能を下層から順に物理層（Ｌ１）、データリンク層（Ｌ２）、ネットワーク層（Ｌ３）、トランスポート層（Ｌ４）、セッション層（Ｌ５）、プレゼンテーション層（Ｌ６）、アプリケーション層（Ｌ７）の７階層に分けている。インターネットではこのうち下位から２層目のデータリンク層にはイーサネット（登録商標）が、３層目のネットワーク層にはインターネットプロトコル（ＩＰ）が、それぞれ用いられることが多い。
【００４０】
図３Ａは、防御部２４の中核をなすリバースプロキシ２４４の機能構成の例を示している。図３Ａに示すように、防御部２４におけるリバースプロキシ２４４は、第１変換部２４４ａ、攻撃判定部２４４ｂ、および第２変換部２４４ｃを備えている。
【００４１】
第１変換部２４４ａは、物理層（Ｌ１）にて受信したパケットをアプリケーション層（Ｌ７）まで解釈し元のデータに変換する。攻撃判定部２４４ｂは、クライアントから送られてきたデータからパラメータの入力値を取り出し、その文字列に脆弱性を攻撃する可能性の有無を判断し、文字列を無害化するように書換えるか廃棄する。第２判定部２４４ｃは、攻撃判定部２４４ｂから出力されたデータ（元のデータまたは無害化されたデータ）を再びアプリケーション層（Ｌ７）から物理層（Ｌ１）まで変換してパケットを出力する。かかる構成を有するリバースプロキシ２４４は、送られたパケットから元のデータを取り出して攻撃性の有無を判定するので、外部からの攻撃を効果的に防御することができる。
【００４２】
一方で、図３Ａに示すリバースプロキシ２４４を備えた防御部２４は、全てのパケットを一旦アプリケーション層まで解釈するため、トラヒックのボトルネックとなりやすい。図３Ｂに示すようなデータリンク層のＬ２スイッチおよびネットワーク層のＬ３スイッチをもつルータ２４５と比較しても、解析処理と変換処理に時間を要するのは明らかである。
【００４３】
そこで、実施形態に係るセキュリティサーバシステムでは、防御部２４に処理させるトラヒックを、脆弱性を持ったコンテンツへのアクセスのみに絞り込むことで、処理能力を向上させている。
【００４４】
（脆弱性判定部の動作）
続いて、図１ないし図４を参照して、この実施形態のセキュリティサーバシステムの動作を説明する。
【００４５】
この実施形態に係るセキュリティサーバシステムでは、ユーザは、ネットワーク４０を通じてクライアント４２ａ・４２ｂに提供しようとするコンテンツＡ〜Ｃの電子ファイル群をファイル受付部３０に格納する（ステップＳ５１。以下「Ｓ５１」のように称する。）。具体的には、ユーザは、所望の電子ファイル群をハードディスク上の所定のフォルダに保存する。
【００４６】
ファイル受付部３０が電子ファイルを受け取ると、テキスト抽出部３０１は、判定テーブル３４から脆弱性情報を読み出す（Ｓ５２）。脆弱性情報は、例えば、脆弱性が指摘されている脆弱コマンド３４１や攻撃性をもつサイトのＵＲＬなどの危険アドレス３４２などを含んでおり、あらかじめ判定テーブル３４に格納されている。
【００４７】
脆弱性情報を読み出すと、テキスト抽出部３０１は、当該脆弱性情報を用いて、ファイル受付部３０が受け取った電子ファイルから脆弱コマンド３４１や危険アドレス３４２と全体または一部が一致したデータを検索・抽出するテキスト抽出処理を実行する（Ｓ５３）。抽出処理結果は、判定部３０２に送られる。
【００４８】
判定部３０２は、テキスト抽出部３０１による抽出処理結果に基づいて、ファイル受付部３０が受け取った電子ファイルの脆弱性を判定する（Ｓ５４）。判定の基準は、サイトの規模やコンテンツの種類に応じて様々に定義することができる。例えば、判定部３０２は、ファイル受付部３０が受け取った電子ファイルに一つでも脆弱コマンド３４１や危険アドレス３４２が含まれていた場合に脆弱性ありと判定してもよいし、一定基準以上含まれていた場合に脆弱性ありと判定してもよい。ここでいう「脆弱性」は、外部からの攻撃に対する脆弱性を意味するから、判定部３０２は、テキスト情報しか含まないＨＴＭＬファイルや純粋な画像データなどについては脆弱性なしと判定してもよい。
【００４９】
判定の結果、脆弱性が全くない場合（Ｓ５５のＮｏ）、例えば、判定対象の電子ファイルが安全なＨＴＭＬファイルのみからなるコンテンツＡのような場合、ファイル格納部３０４は、ファイル受付部３０が受け取った電子ファイルを全て第１記憶部１２に格納（移動またはコピー）する。すなわち、安全なコンテンツについては、アクセス速度等を優先して、防御部２４を設けていない第１サーバ１０が提供するようにする。図２には、判定部３０２により脆弱性なしと判定されたコンテンツＡのページａ・１２１が、ファイル受付部３０から第１記憶部１２に格納された様子が示されている。
【００５０】
判定の結果、脆弱性が発見された場合（Ｓ５５のＹｅｓ）、テキスト抽出部３０１は、判定部３０２が脆弱性を発見したデータと発見しなかったデータとを区分する。すなわち、テキスト抽出部３０１は、ファイル受付部３０が受け取った電子ファイルのうち脆弱性が発見されたプログラムと発見されなかったプログラムとに区分する。このとき、ファイル受付部３０が受け取った電子ファイルの全てに脆弱性が発見された場合（Ｓ５７のＹｅｓ）、ファイル格納部３０４は、当該ファイルを全て第２記憶部２２に格納する（Ｓ５８）。すなわち、構成する全てのプログラムに脆弱性があるコンテンツは、安全性を優先して、プログラムに対する全てのアクセスが防御部２４を経由する第２サーバ２０により提供されるようにする。図２には、判定部３０２により脆弱性ありと判定されテキスト抽出部３０１が全データに脆弱性を発見したコンテンツＣのうちプログラムｃ・１２３ｂが、ファイル受付部３０から第２記憶部２２に格納された様子が示されている。なお、コンテンツＣのうちページｃ・１２３ａは、脆弱性を有さないから、第１記憶部１２に格納されている。
【００５１】
ファイル受付部３０が受け取った電子ファイルが脆弱性が発見されたデータと発見されなかったデータとにより構成される場合（Ｓ５７のＮｏ）、リンク整合部３０３は、脆弱性が発見されたデータと発見されなかったデータとの間の関連づけを更新する（Ｓ５９）。そして、ファイル格納部３０４は、脆弱性が発見されたデータを第２記憶部２２に格納するとともに発見されなかったデータを第１記憶部１２に格納する（Ｓ６０）。リンク整合部３０３による関連づけの更新は、ファイル受付部３０が受け取った電子ファイルが、第１記憶部１２および第２記憶部２２に分散して格納されることによって発生するリンク切れを解消する。すなわち、脆弱性が発見されなかったデータから脆弱性が発見されたデータへ移動するリンクは、第２サーバ２０のアドレス（ＵＲＬ）宛に変更される。同様に、脆弱性が発見されたデータから脆弱性が発見されなかったデータへ移動するリンクは、第１サーバ１０のアドレス宛に変更される。これにより、一つのコンテンツが複数に分割して保管・提供されることに起因するリンク切れ等の不具合を防ぐことができる。図２には、脆弱性のないページｂ・１２２ａおよび脆弱性が発見されなかったプログラムｂ１・１２２ｂが、脆弱性が発見されたプログラムｂ２・１２２ｃと区分され、第１記憶部１２および第２記憶部２２それぞれに格納された様子が示されている。
【００５２】
図４のステップ５１からステップ６０までを繰り返すことで、クライアント４２ａ・４２ｂに提供されるコンテンツが、外部からの攻撃に対する脆弱性の有無を基準に第１記憶部１２および第２記憶部２２に振り分けられて格納され、第１サーバ１０および第２サーバ２０により別個に提供される。
【００５３】
例えば、クライアント４２ａがブラウザアプリケーションを用いてページａ１２１を参照したとすると、参照要求はＷＥＢサーバ１０２に送られ、ＷＥＢサーバ１０２は、ページａ１２１を第１記憶部１２から読み出し、ネットワーク４０を介してクライアント４０ａに送る。一方、クライアント４２ａが脆弱性のあるプログラムｃ・１２３ｂを実行するページｃ・１２３ａを参照したり、一部に脆弱性のあるプログラムｂ２・１２２ｃを実行するページｂを参照したりすると、参照要求は、ネットワーク４０を経由してファイアウォール２４２へ送られ、次いでリバースプロキシ２４２を経由してＷＥＢサーバ２０２に到達する。このとき、クライアント４２ａからの参照要求が攻撃性を有していても、リバースプロキシ２４２により無害化または廃棄されるので、ＷＥＢサーバ２０２やＣＧＩ部２０４の脆弱性を攻撃されることはない。
【００５４】
ＷＥＢサーバ２０２は、ＣＧＩ部２０４が第２記憶部２２から読み出したプログラムｂ２やプログラムｃを実行して得たページデータを、ネットワーク４０を介してクライアント４２ａに送る。
【００５５】
この実施形態のセキュリティサーバシステムによれば、脆弱性を含むアプリケーションへのアクセスは防御手段を経由して第２サーバに接続され、脆弱性を含まない大多数のアクセスは防御手段を経由することなく直接第１サーバに接続されるから、防御手段のトラヒック負荷を低減することができる。
【００５６】
なお、図４に示す例では、テキスト抽出部３０１は、ファイル受付部３０が受け取った電子ファイルのうち脆弱性が発見されたファイル（プログラム）と発見されなかったファイル（プログラム）とに区分し、ファイル格納部３０４は、区分された当該ファイルを第１記憶部１２および第２記憶部２２それぞれに格納しているが、これには限定されない。すなわち、ファイル格納部３０４は、コンテンツを構成するファイル（プログラム）のうち一部でも脆弱性を発見した場合、全てのファイル（ページおよびプログラム）を第２記憶部２２に格納してもよい。この場合、テキスト抽出部による抽出漏れ・区分漏れがあった場合でも、脆弱性のあるファイル（プログラム）を確実に第２サーバ２０から提供することができる。また、ファイルの区分をせず一括して第１記憶部１２または第２記憶部２２に格納するので、ファイル受付から第１または第２サーバへの格納を高速に処理することができる。
【００５７】
（第２の実施形態）
続いて、本発明の第２の実施の形態を、図面を参照して詳細に説明する。この実施形態に係るセキュリティサーバシステムは、図１および図２に示す第１の実施形態に係るセキュリティサーバシステムの構成の一部を変更したものである。そこで、以下の説明においては、第１の実施形態と共通する要素については同一の符号を付して示し、重複する説明を省略する。
【００５８】
図５に示すように、第２の実施形態に係るセキュリティサーバシステム２は、第１サーバ１０および第２サーバ２０を備えている。第１サーバ１０および第２サーバ２０には、それぞれ第１記憶部１２および第２記憶部２２が接続されている。第１サーバ１０は、通信経路選択部１２６を介してネットワーク４０と接続されており、第２サーバ２０は、防御部２４および通信経路選択部１２６を介してネットワーク４０と接続されている。さらに、この実施形態に係るセキュリティサーバシステム２は、ファイル受付部３０、脆弱性判定部１３２、判定テーブル３４を備えている。すなわち、第２の実施形態に係るセキュリティサーバシステム２は、第１の実施形態に係るセキュリティサーバシステム１に通信経路選択部１２６を追加した構成を有している。
【００５９】
通信経路選択部１２６は、ネットワーク４０から送られるアクセス要求を、第１サーバ１０または第２サーバ２０のいずれかに振り分ける機能要素である。通信経路選択部１２６は、例えばネットワーク機器の一種であるルータにより実現することができる。あるいは、通信経路選択部１２６の機能をネットワーク４０上に設けられるＤＮＳ（Domain Name System）を利用することによっても実現可能である。
【００６０】
（第２の実施形態の具体的構成）
次に、図６を参照して、第２の実施形態に係るセキュリティサーバシステムの構成をより詳細に説明する。図６に示すように、脆弱性判定部１３２は、テキスト抽出部３０１、判定部３０２、アドレス処理部４０３およびファイル格納部３０４を有している。第２の実施形態の脆弱性判定部１３２は、第１の実施形態の脆弱性判定部３２と比較すると、アドレス処理部４０３を備える点において相違している。
【００６１】
テキスト抽出部３０１は、受け取った電子ファイルから所定の文字列等を検索して抽出する機能要素である。判定部３０２は、テキスト抽出部３０１による検索結果に基づいて当該受け取った電子ファイルの脆弱性を判定し、脆弱性のあるデータと脆弱性のないデータを区分する。アドレス処理部４０３は、判定部３０２による判定テーブル３４を用いた区分結果に基づいて、ネットワーク４０からのアクセスを第１サーバ１０または第２サーバ２０に振り分けるよう通信経路選択部１２６に指示する機能要素である。ファイル格納部３０４は、判定部３０２による区分結果に基づいて、電子ファイルを第１サーバ１０と接続された第１記憶部１２または第２サーバ２０と接続された第２記憶部２２のいずれかに格納する機能要素である。
【００６２】
（第２の実施形態の動作）
図５ないし図７を参照して、この実施形態のセキュリティサーバシステムの動作を説明する。以下の説明では、脆弱性のないページａのみからなるコンテンツＡ、脆弱性のないページｂと脆弱性のないプログラムｂ１と脆弱性のあるプログラムｂ２とからなるコンテンツＢ、および、脆弱性のないページｃと脆弱性のあるプログラムｃとからなるコンテンツＣをネットワーク上で提供するものとする。
【００６３】
この実施形態に係るセキュリティサーバシステムにおいては、サーバによるサービス提供者は、クライアント４２ａ・４２ｂに提供しようとするコンテンツの電子ファイルを、ファイル受付部３０に格納する（ステップＳ５１。以下「Ｓ５１」のように称する。）。具体的には、ユーザは、所望の電子ファイルをハードディスク上の所定のフォルダに保存する。以下、判定部３０２によるファイル受付部３０が受け取った電子ファイルの脆弱性の判定まで、第１の実施形態と動作は同じである（図７中Ｓ５２〜Ｓ５４）
【００６４】
判定の結果、脆弱性が全くない場合（Ｓ５５のＮｏ）、例えば、判定対象の電子ファイルが安全なＨＴＭＬファイルのみからなるコンテンツＡのような場合、ファイル格納部３０４は、ファイル受付部３０が受け取った電子ファイルを全て第１記憶部１２に格納する。すなわち、安全なコンテンツについては、アクセス速度等を優先して、防御部２４を設けていない第１サーバ１０により提供されるようにする。図６には、判定部３０２により脆弱性なしと判定されたコンテンツＡのページａ・１２１が、ファイル受付部３０から第１記憶部１２に格納された様子が示されている。
【００６５】
判定の結果、脆弱性が発見された場合（Ｓ５５のＹｅｓ）、ファイル格納部３０４は、当該電子ファイルを全て第２記憶部２２に格納する（Ｓ１５７）。すなわち、構成するプログラムに脆弱性があるコンテンツは、安全性等を優先して、プログラムに対する全てのアクセスが防御部２４を経由する第２サーバ２０により提供されるようにする。図６には、判定部３０２により脆弱性ありと判定されたコンテンツＣのうちプログラムｃ・１２３ｂが、ファイル受付部３０から第２記憶部２２に格納された様子が示されている。
【００６６】
ファイル格納部３０４が電子ファイルの格納を行うと、アドレス処理部４０３は、第１記憶部１２および第２記憶部２２それぞれに格納されたコンテンツと、コンテンツを提供する第１サーバ１０および第２サーバ２０それぞれのアドレス（当該コンテンツを提供するクライアント４２ａ・４２ｂがネットワーク４０を介してアクセスするためのアドレス）とを関係付けたアドレス情報を生成し、通信経路選択部１２６に送る（Ｓ１５８）。通信経路選択部１２６は、アドレス処理部４０３から送られたアドレス情報に基づいて、第１記憶部１２および第２記憶部２２それぞれに格納されたコンテンツと第１サーバ１０および第２サーバ２０それぞれを示すアドレスとを対応付けて自身のメモリ領域に記憶する。
【００６７】
図６のステップ５１からステップ１５８までを繰り返すことで、クライアント４２ａ・４２ｂに提供されるコンテンツが、外部からの脆弱性の有無を基準に第１記憶部１２および第２記憶部２２に振り分けられて格納されるとともに、振り分けられたコンテンツと第１サーバ１０および第２サーバ２０それぞれのアドレスとが対応付けられる。
【００６８】
例えば、クライアント４２ａがブラウザアプリケーションを用いてページａ・１２１を参照したとすると、参照要求は、ネットワーク４０を介して通信経路選択部１２６に送られる。通信経路選択部１２６は、ページａ・１２１を提供するアドレスをメモリ領域に記憶したアドレスから選択し、当該参照要求をＷＥＢサーバ１０２に送る。ＷＥＢサーバ１０２は、ページａ・１２１を第１記憶部１２から読み出し、ネットワーク４０を介してクライアント４２ａに送る。
【００６９】
クライアント４２ａが脆弱性のあるプログラムｃ・１２３ｂを実行するページｃ・１２３ａを参照すると、参照要求は、ネットワーク４０を介して通信経路選択部１２６に送られる。通信経路選択部１２６は、プログラムｃ・１２３ｂの実行結果を提供するアドレスをメモリ領域に記憶したアドレスから選択し、当該参照要求をファイアウォール２４２へ送る。ファイアウォール２４２に送られた参照要求は、次いでリバースプロキシ２４２を経由してＷＥＢサーバ２０２に到達する。このとき、クライアント４２ａからの参照要求が攻撃性を有していても、リバースプロキシ２４２により無害化または廃棄されているので、ＷＥＢサーバ２０２やＣＧＩ部２０４の脆弱性が攻撃されることはない。
【００７０】
ＷＥＢサーバ２０２は、ＣＧＩ部２０４が第２記憶部２２から読み出したプログラムｃを実行して得たページデータを、ネットワーク４０を介してクライアント４２ａに送る。
【００７１】
なお、この例では、通信経路選択部１２６がルータとして機能するものとして説明したが、これには限定されない。通信経路選択部１２６の機能をＤＮＳにより実現する場合、クライアント４２ａからのクエリーをＤＮＳが受けると、クエリーに含まれるＵＲＬに応じたページを示すＩＰアドレスをメモリ領域に記憶したＩＰアドレスから選択し、クライアント４２ａに当該アドレスを返し、クライアント４２ａは、返されたアドレスを用いて参照要求を再度発行すればよい。この場合、ＤＮＳは、この実施形態の通信経路選択部１２６のように直接第１サーバ１０や防御部２４に接続されている必要はなく、第１サーバ１０や防御部２４は、第１の実施形態に示したようにネットワーク４０と直接接続されることができる。
【００７２】
この実施形態のセキュリティサーバシステムによれば、脆弱性を含むアプリケーションへのアクセスは防御手段を介して第２サーバに接続され、脆弱性を含まない大多数のアクセスは防御手段を経由することなく直接第１サーバに接続されるから、防御手段のトラヒック負荷を低減することができる。また、この実施形態のセキュリティサーバシステムによれば、通信経路選択部を備えたので、コンテンツの脆弱性の有無に応じて確実に参照先を指定することができる。
【００７３】
なお、第２の実施形態では、コンテンツを構成するファイルの一部のみに脆弱性が存在する場合（ページｂ、プログラムｂ１およびｂ２からなるコンテンツＢ）の判定をしていないが、これには限定されない。第１の実施形態と同様に、リンク整合部を設けて脆弱性のあるファイルのみを区分して第２記憶部に格納するように構成してもよい。
【００７４】
（通信経路選択部の他の動作例１）
コンテンツを構成する電子ファイル群を作成する際、コンテンツを提供するサーバのアドレス（ＵＲＬ）を、例えば「www1.sample.jp」、「www2.sample.co.jp」、「www3.sample.co.jp」のようにあらかじめ複数準備しておく。判定部３０２が、コンテンツＢのプログラムｂ２やコンテンツＣのプログラムｃに脆弱性を発見した場合、ファイル格納部３０４は、コンテンツＢあるいはコンテンツＣの全てのファイルを第２記憶部２２に格納する。併せて、アドレス処理部４０３は、ＤＮＳとしての通信経路選択部１２６に対し、「www1.sample.jp」が第２サーバ２０のＩＰアドレスとなるように登録する。
【００７５】
同様に、判定部３０２が、コンテンツＡのページａあるいはコンテンツＢのプログラムｂ１に脆弱性を発見しなかった場合、ファイル格納部３０４は、コンテンツＡあるいはコンテンツＢのうちプログラムｂ２に関する全てのファイルを第１記憶部１２に格納する。併せて、アドレス処理部４０３は、ＤＮＳとしての通信経路選択部１２６に対し、「www1.sample.jp」が第１サーバ１０のＩＰアドレスとなるように登録する。
【００７６】
すなわち、クライアント４２ａ・４２ｂは、インターネット上のＤＮＳの機能により、自動的に第１サーバ１０または第２サーバ２０のいずれかにアクセスすることが可能となるから、コンテンツをなすページやプログラムに含まれるジャンプ先のＵＲＬを書き換えることなく、脆弱性な内容を含むコンテンツのみを第２サーバ２０から提供することが可能になる。これは、防御部２４の負荷を軽減することにもつながる。
【００７７】
（通信経路選択部の他の動作例２）
第１サーバ１０および第２サーバ２０を仮想的なドメイン（バーチャルドメイン）により１台のサーバで構築する。この場合、内部的に第１サーバ１０と第２サーバ２０のＵＲＬを変更できるから、通信経路選択部１２６をルータにより構築した場合、脆弱性の有無に応じて第１サーバ１０および第２サーバ２０のいずれかにアクセスを振り分けることができる。上記動作例１と同様に、コンテンツをなすページやプログラムに含まれるジャンプ先のＵＲＬを書き換えることなく、脆弱性な内容を含むコンテンツのみを第２サーバ２０から提供することが可能になる。これは、防御部２４の負荷を軽減することにもつながる。
【００７８】
（第３の実施形態）
次に、図８を参照して、第３の実施形態に係るセキュリティサーバシステムについて詳細に説明する。図８に示すように、この実施形態に係るセキュリティサーバシステムは、図１に示す第１の実施形態に係るセキュリティサーバシステムに、第３サーバ４２６および脆弱性スキャン部４２８をさらに備えたものである。そこで、共通する要素については同一の符号を付して示し、重複する説明は省略する。
【００７９】
第３サーバ４２６は、第１サーバ１０および第２サーバ２０と共通する機能を有するサーバであり、擬似的に第１サーバ１０および第２サーバ２０の動作を再現させる。第３サーバ４２６は、判定部３０２から与えられる擬似参照要求に応じて、ファイル受付部３０が受け付けたコンテンツを脆弱性スキャン部４２８に提供する動作をする。
【００８０】
脆弱性スキャン部４２８は、第３サーバ４２６と接続され、クライアントに代わって擬似参照要求を第３サーバ４２６に発行するとともに、当該参照要求に応じて第３サーバ４２６が提供するファイル受付部３０が受け取ったコンテンツのパケットをスキャンする機能要素である。スキャン制御部４２８は、判定テーブル４３４にあらかじめ記憶されたネットワーク経由の攻撃態様を示す攻撃情報に基づいて、攻撃性のある参照要求を第３サーバ４２６に対して発行する。また、スキャン制御部４２８は、判定テーブル４３４に記憶した攻撃情報に基づいて、第３サーバ４２６が提供したコンテンツ（ファイル受付部３０が受け取ったコンテンツ）のパケットをスキャンし、当該パケットに保護すべきデータが含まれていないか（攻撃された結果サーバのセキュリティがやぶられていないか）を判定する機能要素である。
【００８１】
脆弱性スキャン部４２８は、例えば、NiktoやParos、skipfish等のツールにより実現することができる。脆弱性スキャン部４２８は、判定テーブル４３４に予め記憶された想定される各種攻撃方法による攻撃パケットを、第３サーバ４２６に対して実際に発行し、攻撃パケットに応じて提供されたパケットをスキャンする。脆弱性スキャン部４２８は、スキャン結果に基づいて、第３サーバ４２６の攻略が可能であるか否かを判定する。すなわち、攻撃が可能である場合、ファイル受付部３０が受け取ったコンテンツには外部からの攻撃に対する脆弱性が存在することになる。
【００８２】
攻撃パケットとしては、例えば、ＳＱＬサーバとしてのＤＢサーバと接続されたＷＥＢサーバに対して、前述したように文字列「' OR 't' = 't」を含めたものが考えられる。脆弱性スキャン部４２８は、スキャン結果に意図しないユーザの情報が漏洩していないかを確認し、漏洩していれば脆弱性があると判定して判定部３０２に通知する。この場合、脆弱性診断に用いるＤＢサーバのデータベースを復元するために用いたバックアップログに含まれる文字が、スキャン結果に漏洩しているか否かを判定することにより、情報漏洩の有無を判定することができる。新たな攻撃方法が発見された場合、攻撃情報として判定テーブル４３４に新たに記憶させることで、攻撃方法を最新に更新することが可能である。
【００８３】
図８に示す実施形態のセキュリティサーバシステムの動作は、図４に示す第１の実施形態の動作とステップ５４の判定処理を除き共通である。すなわち、第３サーバ４２６および脆弱性スキャン部４２８による脆弱性スキャンが、図４に示すステップ５４の判定処理として実行される。
【００８４】
この実施形態のセキュリティサーバシステムによれば、判定部３０２に加えて、実際にサーバに攻撃パケットを発行するとともに提供されたパケットに漏洩データがあるか否か判定する脆弱性スキャン部４２８を備えたので、ファイル受付部３０が受け取った電子ファイルに脆弱性があるかどうか正確に判定することができる。
【００８５】
なお、図８に示す例では、第１サーバおよび第２サーバとは別に第３サーバを設けているが、これには限定されない。例えば、第１サーバ１０をネットワーク４０から切り離し、第１サーバ１０に第３サーバ４２６の機能を代替させてもかまわない。
【００８６】
（第４の実施形態）
次に、図９を参照して、第４の実施形態に係るセキュリティサーバシステムについて詳細に説明する。図９に示すように、この実施形態に係るセキュリティサーバシステムは、図５に示す第２の実施形態に係るセキュリティサーバシステムに、第３サーバ４２６および脆弱性スキャン部４２８をさらに備えたものである。すなわち、第３の実施形態における第３サーバおよび脆弱性スキャン部を第２の実施形態に適用したものであり、第３サーバおよび脆弱性スキャン部の動作は第３の実施形態と共通する。
【００８７】
この実施形態のセキュリティサーバシステムにおいても、第３の実施形態と同様に、実際にサーバに攻撃パケットを発行するとともに提供されたパケットに漏洩データがあるか否か判定する脆弱性スキャン部４２８を備えたので、ファイル受付部３０が受け取った電子ファイルに脆弱性があるかどうか正確に判定することができる。
【００８８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８９】
１…セキュリティサーバシステム、１０…第１サーバ、１２…第１記憶部、２０…第２サーバ、２２…第２記憶部、２４…防御部、３０…ファイル受付部、３２…脆弱性判定部、３４…判定テーブル、４０…ネットワーク、４２ａ，４２ｂ…クライアント。
【図１】
2011258018.tif 000003
【図２】
2011258018.tif 000004
【図３Ａ】
2011258018.tif 000005
【図３Ｂ】
2011258018.tif 000006
【図４】
2011258018.tif 000007
【図５】
2011258018.tif 000008
【図６】
2011258018.tif 000009
【図７】
2011258018.tif 000010
【図８】
2011258018.tif 000011
【図９】
2011258018.tif 000012