(57)【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記Ｗｅｂアプリケーションの設計情報データベースを参照して、脆弱性への対策を修正することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記Ｗｅｂアプリケーションの設計情報データベースを参照して、パラメータを特定して脆弱性への対策を除外する修正を加えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記脆弱性特定情報について、前記Ｗｅｂアプリケーションにインストールされたソフトウェアに関するインストール情報データデースを参照して、脆弱性の誤検知を排除する誤検知排除手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記生成手段において生成された設定情報に関する画像を表示して、前記脆弱性のそれぞれについての対策の有無についてのオペレータからの選択を受け付ける確認手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムを備えたＷｅｂサーバと、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする情報処理システム。
【請求項７】
情報処理装置に含まれる設定情報生成部が、Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記情報処理装置に含まれる送信部が、前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする情報処理方法。
【請求項８】
Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のセキュリティを向上させる情報処理技術に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションに対する攻撃を予測し、強固なセキュリティシステムを構築する技術が知られている。特に、特許文献１では、検査対象となるパラメータと検査項目との対応を示す設定ファイルを記憶装置から読み出し、パラメータが指定された場合に、検査項目を特定して脆弱性の検査処理を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願２００３−３６７６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した特許文献１の技術を実現するためには、予めＷｅｂアプリケーションごとに設定ファイルを生成しなければなない。そして、従来はそのような設定ファイルをオペレータが１つずつ生成していたため、その作業に非常に手間が掛かっていた。
【０００５】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る装置は、
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする。
【０００７】
上記目的を達成するため、本発明に係るシステムは、
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムを備えたＷｅｂサーバと、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする。
【０００８】
上記目的を達成するため、本発明にかかる情報処理方法にあっては、
情報処理装置に含まれる設定情報生成部が、Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記情報処理装置に含まれる送信部が、前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする。
【０００９】
上記目的を達成するため、本発明に係るプログラムは、
Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、脆弱性の有するアプリケーションに対して効率的に設定情報を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る情報処理装置の構成を示す図である。
【図２】本発明の第２実施形態に係る情報処理システムの構成を示す図である。
【図３】本発明の第２実施形態に係る脆弱性診断部の出力データを示す図である。
【図４】本発明の第２実施形態に係る誤検知排除部の出力データを示す図である。
【図５】本発明の第２実施形態に係る情報処理システムで用いられる脆弱性情報を示す図である。
【図６】本発明の第２実施形態に係る情報処理システムで用いられるインストール情報を示す図である。
【図７】本発明の第２実施形態に係る情報処理システムで用いられる脆弱性情報を示す図である。
【図８】本発明の第２実施形態に係る情報処理システムで用いられる脆弱性対策ルールを示す図である。
【図９】本発明の第２実施形態に係る情報処理システムで用いられるソフトウェア設計情報を示す図である。
【図１０】本発明の第２実施形態に係る情報処理システムで生成される設定情報を示す図である。
【図１１】本発明の第２実施形態に係る情報処理システムで修正される修正後の設定情報を示す図である。
【図１２】本発明の第２実施形態に係る情報処理システムで実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１３】
(第１実施形態)
本発明の第１実施形態について図１を用いて説明する。図１において、情報処理装置１０は、Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラム２０に対して、攻撃への対応を設定する設定情報を送信する。情報処理装置１０は設定情報生成部１１を有している。設定情報生成部１１は、Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報１２を入力して、脆弱性対策ルールデータベース１３を参照しつつ、設定情報１４を生成する。設定情報１４は、Ｗｅｂアプリケーションに含まれる脆弱性と該脆弱性に対応する対策とを関連付けた情報である。
【００１４】
このような構成によれば、Ｗｅｂアプリケーションそれぞれについて最適な設定情報を生成することができ、ひいては監視プログラムによるセキュリティ監視を効率的に行なうことが可能となる。
【００１５】
（第２実施形態）
本発明の第２実施形態としての情報処理システムについて、図２を用いて説明する。
【００１６】
［システムの構成］
図２において、Ｗｅｂサーバ２００は、ネットワークを介してユーザ端末２５０、２６０と通信可能であり、ユーザ端末２５０、２６０のブラウザに対して画像や音声など様々な情報を提供する。また、Ｗｅｂサーバ２００は、ユーザ端末２５０、２６０に対して提供するためのＨＴＭＬ文書や画像や音声などのコンテンツ２０１を蓄積している。また、Ｗｅｂサーバ２００はＷｅｂアプリケーション２０２を備える。Ｗｅｂアプリケーション２０２は、ユーザ端末２５０、２６０からのアクセスに応じて或いは自動的にユーザに提示するコンテンツを生成する。また、Ｗｅｂサーバ２００は、防御プログラム２０３を備えている。防御プログラム２０３は、Ｗｅｂアプリケーション２０２やコンテンツ２０１に対する外からの攻撃の有無を監視し、攻撃があった場合には防御し、更に、Ｗｅｂサーバ２００からの個人情報などの漏洩を防ぐ役割を担っている。
【００１７】
一方、情報処理装置としての脆弱性対策装置１００は、診断対象抽出部１０１、脆弱性検出部１０２、誤検知排除部１０３、設定情報生成部１０４、設定情報調整部１０５を備える。また、脆弱性対策装置１００は、データベース１０７、１０８を備えている。図２では、これらのデータベースが脆弱性対策装置１００内に設けられているように示しているがこれに限定されるものではなく外部的に接続されていても良い。さらには、診断対象抽出部１０１、脆弱性検出部１０２、誤検知排除部１０３、設定情報生成部１０４、設定情報調整部１０５が同じ装置内に組み込まれていることに限定されるものでもなく、複数装置を組み合せてそれらの機能を実現するシステムであっても良い。
【００１８】
診断対象抽出部１０１は、Ｗｅｂサーバ２００にアクセスした場合に表示される画面の遷移を取得する。この画面推移にはもちろんＷｅｂアプリケーション２０２が生成した画面やＷｅｂアプリケーション２０２に値が渡される画面が含まれる。脆弱性検出部１０２は、この画面遷移を受け取り、各画面のパラメータを変更して様々な擬似攻撃を加える。また、その画面から、Ｗｅｂサーバ２００内で動いているアプリケーションを推定し、そのアプリケーション固有の脆弱性を脆弱性データベース（図５）から導き出す。その結果、図３に示すような脆弱性検出結果３００が得られる。図５に示した脆弱性はほんの一例である。ここに示したバッファオーバーフロー（Buffer Overflow）、クロスサイトスクリプティング（Cross Site Scripting）、パラメータ改ざん（Parameter Manipulation）、強制的ブラウズ（Forceful Browsing）、パストラバーサル（Path Traversal）、ＳＱＬインジェクション（SQL Injection）以外にも様々なものがある。例えば、バックドアとデバックオプション（Backdoor & Debug Options）、セッション・ハイジャック／リプレイ（Session Hijacking／Replay）、ＯＳコマンドインジェクション（OS Command Injection）、クライアント側コメント（Client Side Comment）、エラーコード（Error Codes）などが挙げられる。
【００１９】
図３の脆弱性検出結果３００は、Ｗｅｂサーバ２００が管理しているＵＲＬの遷移ツリー３０１と、それぞれのＵＲＬが示すサイトに存在していると推定される脆弱性情報３０３と、その脆弱性情報３０３に関連する関連パラメータ３０２とを含む。ここで、脆弱性情報３０３に示されたＩＤは、図５の脆弱性テーブル５００における脆弱性ＩＤ５０１に対応している。この脆弱性テーブル５００は、脆弱性検出部１０２が検出可能な脆弱性の情報５０２をまとめたものである。
【００２０】
脆弱性検出部１０２が出力した脆弱性検出結果３００は、次に、誤検知排除部１０３に送られて、各脆弱性について、より具体的な判断が行なわれる。誤検知排除部１０３では、データベース１０７に含まれるソフトウェア設計情報や、インストール情報や運用手順などを用いて、脆弱性検出結果３００に誤りが無いかチェックする。例えば、図３の３０５で示したＣＶＥ−２０１０−０２７６という脆弱性について、図５を参照すると、ｅｅｅソフトにおけるパストラバーサルの脆弱性と判断されたことが分かる。これに対し誤検知排除部１０３は、ｅｅｅソフトが本当に、Ｗｅｂアプリケーション２０２として組み込まれているか否かを図６に示したインストール情報６００から判定する。その結果、ｅｅｅソフトが、Ｗｅｂアプリケーション２０２に組み込まれていないと判定されると、この脆弱性情報は誤検知であると判定できるため、図４に示すように、誤検知を排除した新たな脆弱性検出結果４００を得る。
【００２１】
設定情報生成部１０４は、誤検知排除部１０３で誤検知が排除された脆弱性検出結果を受け取り、検出された各脆弱性に対して対策を割り当てる。これは、データベース１０８に格納された脆弱性情報及び脆弱性対策ルールを用いて行なわれる。データベース１０８に格納された脆弱性情報を図７のテーブル７００に示す。このテーブル７００では、対策を講じることができる脆弱性のＩＤ７０１、７０２とその内容７０３について登録している。一方、図８には、脆弱性対策ルールを示すテーブル８００が示されている。テーブル８００は、テーブル７００に示された脆弱性に対応する脆弱性ＩＤ８０１と、その脆弱性が検出される検出場所８０２と、検出した脆弱性に対する対策８０３とが登録されている。
【００２２】
設定情報生成部１０４は、誤検知排除部１０３で誤検知が排除された脆弱性検出結果と、これらのテーブル７００、８００とを用いることにより、図１０に示す設定情報１０００を生成する。この脆弱性情報では、脆弱性が存在する具体的なロケーションと、そのロケーションで注意すべきパラメータ１００１と、パラメータとして検出すべき値１００２と、そのような値を検出した場合に具体的に取るべき対策１００３とが登録されている。
【００２３】
このように生成された設定情報に対して、更に設定情報生成部１０４では、データベース１０７のソフトウェア設計情報（図９のテーブル９００）を用いて、対策を取るべきパラメータの除外を行なう。例えば、図１０では、/www.sample.com/info/serviceというロケーションにおいて、パスワードというパラメータに「<」「>」「&」が含まれていれば、それぞれ、「&lt;」「&gt;」「&amp;」に変換することを設定条件として定めている。しかし、図９のソフトウェア設計情報を参照した場合、Personal_ID=range_PID, Group_ID=range_GIDという条件では、「&」については、そのような変換を行なわなくても良いことが分かったとする。その場合には、図１１のように、脆弱性対策１１０１に除外例を含め、より一層細かい脆弱性対策を行なう。このように、ソフトウェア設計情報を用いて設定情報を修正するので、防御プログラム２０３は、Ｗｅｂアプリケーションファイヤウォールを置いてアクセス不能にする場合に比べ、きめ細かな対策を取ることができる。
【００２４】
更に、生成され修正された設定情報は、設定情報調整部１０５に出力され、オペレータ１０６による設定情報の調整が行なわれる。具体的には例えば、設定情報に対策が定められた脆弱性の条件に適合する状態になった場合（例えば特定の文字列が入力ボックスに入力された場合など）に、どう対策を行なうのか、オペレータ１０６の選択を受け付ける画面を表示する。例えば、「管理者へ通知せずに防御対策を行なう」、「管理者へ通知し防御するかどうかを問い合わせる」「防御対策を行なわない」といった３つの選択肢をオペレータに提示し、選択を促す。ここでの管理者とはＷｅｂサーバ２００の管理者である。デフォルトでは全ての脆弱性に対して「ユーザへ通知せずに防御対策を行なう」と設定されていてもよい。特別な画面で脆弱性に対する対策よりもビジネスを優先させたい場合など、敢えて防御を行なわないという設定を行なうことができる。つまりＷｅｂサーバ２００の管理者に対してよりきめ細かな脆弱性対策を提供することが可能となる。なお、ここでのオペレータ１０６は、Ｗｅｂサーバ２００の管理者と同一人でもよい。
【００２５】
［システムの動作］
図１２のフローチャートを用いてシステムの動作について説明する。まず、本システムはステップＳ１２０１において、脆弱性の対策を施すべきＷｅｂサイトを特定する。次に、ステップＳ１２０３において、表示ログ及びサイト設計情報を用いて、Ｗｅｂサイトの画面遷移マップを生成する。診断対象抽出部１０１は、この画面遷移マップを用いて、ステップＳ１２０５において、診断対象となる画面の抽出を行ない、脆弱性検出部１０２に渡す。ステップＳ１２０７では、脆弱性検出部１０２が、診断対象画面を検査して、脆弱性があると推定されるロケーション及びその脆弱性を対応付けて検出結果として出力する。
【００２６】
次に、ステップＳ１２０９において、誤検知排除部１０３が、ステップＳ１２０７で検出された検出結果から誤検知を排除する。具体的には、ソフトウェア設計情報、インストール情報、ソフトウェア運用手順などを参照して、Ｗｅｂアプリケーション２０２の内容と矛盾した脆弱性が検出されていないか判断し、検出されていればそのような脆弱性を排除する。
【００２７】
更に、ステップＳ１２１１では、データベース１０８の脆弱性対策ルールを参照し、ステップＳ１２１３では、検出した脆弱性をキーとして、脆弱性対策ルールを検索する。その結果、対策がルールに定められた脆弱性とその対策と、更に、その脆弱性が検出されたロケーションやパラメータとを対応付けて図１０に示した設定情報を生成する。
【００２８】
ステップＳ１２１５においては、更に、検査対象としてのＷｅｂアプリケーションの設計情報や運用手順などを参照して、対策を除外する条件を導き出し、設定情報を修正する。これによって図１１に示した修正版の設定情報を生成できる。
【００２９】
更にステップＳ１２１７では、設定情報の調整画面を表示してオペレータ１０６に対して、設定情報の細かい確認を促す。ステップＳ１２１９では、オペレータ１０６からの選択を受付け、その選択に応じて設定情報を調整する。ステップＳ１２２１では、最終的に決定した設定情報を、防御プログラム２０３に送信する。
【００３０】
［実施形態の効果］
以上のような実施形態の構成及び動作により、従来のＷｅｂアプリケーションファイヤウォールなどでは実現できなかった非常に緻密な脆弱性対策を行なうことが可能となる。更に、データベースに登録されたルールなどから設定情報を自動的に生成し、修正を行なうため、防御プログラムの最適化を迅速且つタイムリーに行なうことができる。防御プログラムに設定すべき脆弱性対策情報をソフトウェア設計情報などを用いて修正するので、より個々のＷｅｂアプリケーションに最適化した脆弱性対策を行なうことが可能となる。また、さらに脆弱性の誤検出を防止し、脆弱性の検出精度自体を向上させることもできる。
【００３１】
［実施形態の他の表現］
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする情報処理装置。
（付記２）
前記生成手段は、前記Ｗｅｂアプリケーションの設計情報データベースを参照して、脆弱性への対策を修正することを特徴とする付記１に記載の情報処理装置。
（付記３）
前記生成手段は、前記Ｗｅｂアプリケーションの設計情報データベースを参照して、パラメータを特定して脆弱性への対策を除外する修正を加えることを特徴とする付記１又は２に記載の情報処理装置。
（付記４）
前記脆弱性特定情報について、前記Ｗｅｂアプリケーションにインストールされたソフトウェアに関するインストール情報データデースを参照して、脆弱性の誤検知を排除する誤検知排除手段を更に有することを特徴とする付記１乃至３の何れか１項に記載の情報処理装置。
（付記５）
前記生成手段において生成された設定情報に関する画像を表示して、前記脆弱性のそれぞれについての対策の有無についてのオペレータからの選択を受け付ける確認手段を更に有することを特徴とする付記１乃至４の何れか１項に記載の情報処理装置。
（付記６）
Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムを備えたＷｅｂサーバと、
前記Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする情報処理システム。
（付記７）
Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力し、
脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする情報処理方法。
（付記８）
Ｗｅｂアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Ｗｅｂアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Ｗｅｂアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【００３２】
（他の実施形態）
以上、本発明の実施形態について詳述したが、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステム又は装置も、本発明の範疇に含まれる。
【００３３】
また、本発明は、複数の機器から構成されるシステムに適用しても良いし、単体の装置に適用しても良い。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システム或いは装置に直接或いは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、或いはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷサーバも、本発明の範疇に含まれる。
【図１】
0005499805.tif 000002
【図２】
0005499805.tif 000003
【図３】
0005499805.tif 000004
【図４】
0005499805.tif 000005
【図５】
0005499805.tif 000006
【図６】
0005499805.tif 000007
【図７】
0005499805.tif 000008
【図８】
0005499805.tif 000009
【図９】
0005499805.tif 000010
【図１０】
0005499805.tif 000011
【図１１】
0005499805.tif 000012
【図１２】
0005499805.tif 000013