説明

情報処理装置、情報処理システム、情報処理方法並びに情報処理プログラム

【課題】 脆弱性の有するアプリケーションに対して効率的に設定情報を生成すること。
【解決手段】 Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、Webアプリケーションに含まれる脆弱性と、脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のセキュリティを向上させる情報処理技術に関する。
【背景技術】
【0002】
Webアプリケーションに対する攻撃を予測し、強固なセキュリティシステムを構築する技術が知られている。特に、特許文献1では、検査対象となるパラメータと検査項目との対応を示す設定ファイルを記憶装置から読み出し、パラメータが指定された場合に、検査項目を特定して脆弱性の検査処理を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特願2003−367605号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した特許文献1の技術を実現するためには、予めWebアプリケーションごとに設定ファイルを生成しなければなない。そして、従来はそのような設定ファイルをオペレータが1つずつ生成していたため、その作業に非常に手間が掛かっていた。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る装置は、
Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする。
【0007】
上記目的を達成するため、本発明に係るシステムは、
Webアプリケーションに対する攻撃を監視する監視プログラムを備えたWebサーバと、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする。
【0008】
上記目的を達成するため、本発明に係る方法は、
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力し、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする。
【0009】
上記目的を達成するため、本発明に係るプログラムは、
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、脆弱性の有するアプリケーションに対して効率的に設定情報を生成することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1実施形態に係る情報処理装置の構成を示す図である。
【図2】本発明の第2実施形態に係る情報処理システムの構成を示す図である。
【図3】本発明の第2実施形態に係る脆弱性診断部の出力データを示す図である。
【図4】本発明の第2実施形態に係る誤検知排除部の出力データを示す図である。
【図5】本発明の第2実施形態に係る情報処理システムで用いられる脆弱性情報を示す図である。
【図6】本発明の第2実施形態に係る情報処理システムで用いられるインストール情報を示す図である。
【図7】本発明の第2実施形態に係る情報処理システムで用いられる脆弱性情報を示す図である。
【図8】本発明の第2実施形態に係る情報処理システムで用いられる脆弱性対策ルールを示す図である。
【図9】本発明の第2実施形態に係る情報処理システムで用いられるソフトウェア設計情報を示す図である。
【図10】本発明の第2実施形態に係る情報処理システムで生成される設定情報を示す図である。
【図11】本発明の第2実施形態に係る情報処理システムで修正される修正後の設定情報を示す図である。
【図12】本発明の第2実施形態に係る情報処理システムで実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0013】
(第1実施形態)
本発明の第1実施形態について図1を用いて説明する。図1において、情報処理装置10は、Webアプリケーションに対する攻撃を監視する監視プログラム20に対して、攻撃への対応を設定する設定情報を送信する。情報処理装置10は設定情報生成部11を有している。設定情報生成部11は、Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報12を入力して、脆弱性対策ルールデータベース13を参照しつつ、設定情報14を生成する。設定情報14は、Webアプリケーションに含まれる脆弱性と該脆弱性に対応する対策とを関連付けた情報である。
【0014】
このような構成によれば、Webアプリケーションそれぞれについて最適な設定情報を生成することができ、ひいては監視プログラムによるセキュリティ監視を効率的に行なうことが可能となる。
【0015】
(第2実施形態)
本発明の第2実施形態としての情報処理システムについて、図2を用いて説明する。
【0016】
[システムの構成]
図2において、Webサーバ200は、ネットワークを介してユーザ端末250、260と通信可能であり、ユーザ端末250、260のブラウザに対して画像や音声など様々な情報を提供する。また、Webサーバ200は、ユーザ端末250、260に対して提供するためのHTML文書や画像や音声などのコンテンツ201を蓄積している。また、Webサーバ200はWebアプリケーション202を備える。Webアプリケーション202は、ユーザ端末250、260からのアクセスに応じて或いは自動的にユーザに提示するコンテンツを生成する。また、Webサーバ200は、防御プログラム203を備えている。防御プログラム203は、Webアプリケーション202やコンテンツ201に対する外からの攻撃の有無を監視し、攻撃があった場合には防御し、更に、Webサーバ200からの個人情報などの漏洩を防ぐ役割を担っている。
【0017】
一方、情報処理装置としての脆弱性対策装置100は、診断対象抽出部101、脆弱性検出部102、誤検知排除部103、設定情報生成部104、設定情報調整部105を備える。また、脆弱性対策装置100は、データベース107、108を備えている。図2では、これらのデータベースが脆弱性対策装置100内に設けられているように示しているがこれに限定されるものではなく外部的に接続されていても良い。さらには、診断対象抽出部101、脆弱性検出部102、誤検知排除部103、設定情報生成部104、設定情報調整部105が同じ装置内に組み込まれていることに限定されるものでもなく、複数装置を組み合せてそれらの機能を実現するシステムであっても良い。
【0018】
診断対象抽出部101は、Webサーバ200にアクセスした場合に表示される画面の遷移を取得する。この画面推移にはもちろんWebアプリケーション202が生成した画面やWebアプリケーション202に値が渡される画面が含まれる。脆弱性検出部102は、この画面遷移を受け取り、各画面のパラメータを変更して様々な擬似攻撃を加える。また、その画面から、Webサーバ200内で動いているアプリケーションを推定し、そのアプリケーション固有の脆弱性を脆弱性データベース(図5)から導き出す。その結果、図3に示すような脆弱性検出結果300が得られる。図5に示した脆弱性はほんの一例である。ここに示したバッファオーバーフロー(Buffer Overflow)、クロスサイトスクリプティング(Cross Site Scripting)、パラメータ改ざん(Parameter Manipulation)、強制的ブラウズ(Forceful Browsing)、パストラバーサル(Path Traversal)、SQLインジェクション(SQL Injection)以外にも様々なものがある。例えば、バックドアとデバックオプション(Backdoor & Debug Options)、セッション・ハイジャック/リプレイ(Session Hijacking/Replay)、OSコマンドインジェクション(OS Command Injection)、クライアント側コメント(Client Side Comment)、エラーコード(Error Codes)などが挙げられる。
【0019】
図3の脆弱性検出結果300は、Webサーバ200が管理しているURLの遷移ツリー301と、それぞれのURLが示すサイトに存在していると推定される脆弱性情報303と、その脆弱性情報303に関連する関連パラメータ302とを含む。ここで、脆弱性情報303に示されたIDは、図5の脆弱性テーブル500における脆弱性ID501に対応している。この脆弱性テーブル500は、脆弱性検出部102が検出可能な脆弱性の情報502をまとめたものである。
【0020】
脆弱性検出部102が出力した脆弱性検出結果300は、次に、誤検知排除部103に送られて、各脆弱性について、より具体的な判断が行なわれる。誤検知排除部103では、データベース107に含まれるソフトウェア設計情報や、インストール情報や運用手順などを用いて、脆弱性検出結果300に誤りが無いかチェックする。例えば、図3の305で示したCVE−2010−0276という脆弱性について、図5を参照すると、eeeソフトにおけるパストラバーサルの脆弱性と判断されたことが分かる。これに対し誤検知排除部103は、eeeソフトが本当に、Webアプリケーション202として組み込まれているか否かを図6に示したインストール情報600から判定する。その結果、eeeソフトが、Webアプリケーション202に組み込まれていないと判定されると、この脆弱性情報は誤検知であると判定できるため、図4に示すように、誤検知を排除した新たな脆弱性検出結果400を得る。
【0021】
設定情報生成部104は、誤検知排除部103で誤検知が排除された脆弱性検出結果を受け取り、検出された各脆弱性に対して対策を割り当てる。これは、データベース108に格納された脆弱性情報及び脆弱性対策ルールを用いて行なわれる。データベース108に格納された脆弱性情報を図7のテーブル700に示す。このテーブル700では、対策を講じることができる脆弱性のID701、702とその内容703について登録している。一方、図8には、脆弱性対策ルールを示すテーブル800が示されている。テーブル800は、テーブル700に示された脆弱性に対応する脆弱性ID801と、その脆弱性が検出される検出場所802と、検出した脆弱性に対する対策803とが登録されている。
【0022】
設定情報生成部104は、誤検知排除部103で誤検知が排除された脆弱性検出結果と、これらのテーブル700、800とを用いることにより、図10に示す設定情報1000を生成する。この脆弱性情報では、脆弱性が存在する具体的なロケーションと、そのロケーションで注意すべきパラメータ1001と、パラメータとして検出すべき値1002と、そのような値を検出した場合に具体的に取るべき対策1003とが登録されている。
【0023】
このように生成された設定情報に対して、更に設定情報生成部104では、データベース107のソフトウェア設計情報(図9のテーブル900)を用いて、対策を取るべきパラメータの除外を行なう。例えば、図10では、/www.sample.com/info/serviceというロケーションにおいて、パスワードというパラメータに「<」「>」「&」が含まれていれば、それぞれ、「&lt;」「&gt;」「&amp;」に変換することを設定条件として定めている。しかし、図9のソフトウェア設計情報を参照した場合、Personal_ID=range_PID, Group_ID=range_GIDという条件では、「&」については、そのような変換を行なわなくても良いことが分かったとする。その場合には、図11のように、脆弱性対策1101に除外例を含め、より一層細かい脆弱性対策を行なう。このように、ソフトウェア設計情報を用いて設定情報を修正するので、防御プログラム203は、Webアプリケーションファイヤウォールを置いてアクセス不能にする場合に比べ、きめ細かな対策を取ることができる。
【0024】
更に、生成され修正された設定情報は、設定情報調整部105に出力され、オペレータ106による設定情報の調整が行なわれる。具体的には例えば、設定情報に対策が定められた脆弱性の条件に適合する状態になった場合(例えば特定の文字列が入力ボックスに入力された場合など)に、どう対策を行なうのか、オペレータ106の選択を受け付ける画面を表示する。例えば、「管理者へ通知せずに防御対策を行なう」、「管理者へ通知し防御するかどうかを問い合わせる」「防御対策を行なわない」といった3つの選択肢をオペレータに提示し、選択を促す。ここでの管理者とはWebサーバ200の管理者である。デフォルトでは全ての脆弱性に対して「ユーザへ通知せずに防御対策を行なう」と設定されていてもよい。特別な画面で脆弱性に対する対策よりもビジネスを優先させたい場合など、敢えて防御を行なわないという設定を行なうことができる。つまりWebサーバ200の管理者に対してよりきめ細かな脆弱性対策を提供することが可能となる。なお、ここでのオペレータ106は、Webサーバ200の管理者と同一人でもよい。
【0025】
[システムの動作]
図12のフローチャートを用いてシステムの動作について説明する。まず、本システムはステップS1201において、脆弱性の対策を施すべきWebサイトを特定する。次に、ステップS1203において、表示ログ及びサイト設計情報を用いて、Webサイトの画面遷移マップを生成する。診断対象抽出部101は、この画面遷移マップを用いて、ステップS1205において、診断対象となる画面の抽出を行ない、脆弱性検出部102に渡す。ステップS1207では、脆弱性検出部102が、診断対象画面を検査して、脆弱性があると推定されるロケーション及びその脆弱性を対応付けて検出結果として出力する。
【0026】
次に、ステップS1209において、誤検知排除部103が、ステップS1207で検出された検出結果から誤検知を排除する。具体的には、ソフトウェア設計情報、インストール情報、ソフトウェア運用手順などを参照して、Webアプリケーション202の内容と矛盾した脆弱性が検出されていないか判断し、検出されていればそのような脆弱性を排除する。
【0027】
更に、ステップS1211では、データベース108の脆弱性対策ルールを参照し、ステップS1213では、検出した脆弱性をキーとして、脆弱性対策ルールを検索する。その結果、対策がルールに定められた脆弱性とその対策と、更に、その脆弱性が検出されたロケーションやパラメータとを対応付けて図10に示した設定情報を生成する。
【0028】
ステップS1215においては、更に、検査対象としてのWebアプリケーションの設計情報や運用手順などを参照して、対策を除外する条件を導き出し、設定情報を修正する。これによって図11に示した修正版の設定情報を生成できる。
【0029】
更にステップS1217では、設定情報の調整画面を表示してオペレータ106に対して、設定情報の細かい確認を促す。ステップS1219では、オペレータ106からの選択を受付け、その選択に応じて設定情報を調整する。ステップS1221では、最終的に決定した設定情報を、防御プログラム203に送信する。
【0030】
[実施形態の効果]
以上のような実施形態の構成及び動作により、従来のWebアプリケーションファイヤウォールなどでは実現できなかった非常に緻密な脆弱性対策を行なうことが可能となる。更に、データベースに登録されたルールなどから設定情報を自動的に生成し、修正を行なうため、防御プログラムの最適化を迅速且つタイムリーに行なうことができる。防御プログラムに設定すべき脆弱性対策情報をソフトウェア設計情報などを用いて修正するので、より個々のWebアプリケーションに最適化した脆弱性対策を行なうことが可能となる。また、さらに脆弱性の誤検出を防止し、脆弱性の検出精度自体を向上させることもできる。
【0031】
[実施形態の他の表現]
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする情報処理装置。
(付記2)
前記生成手段は、前記Webアプリケーションの設計情報データベースを参照して、脆弱性への対策を修正することを特徴とする付記1に記載の情報処理装置。
(付記3)
前記生成手段は、前記Webアプリケーションの設計情報データベースを参照して、パラメータを特定して脆弱性への対策を除外する修正を加えることを特徴とする付記1又は2に記載の情報処理装置。
(付記4)
前記脆弱性特定情報について、前記Webアプリケーションにインストールされたソフトウェアに関するインストール情報データデースを参照して、脆弱性の誤検知を排除する誤検知排除手段を更に有することを特徴とする付記1乃至3の何れか1項に記載の情報処理装置。
(付記5)
前記生成手段において生成された設定情報に関する画像を表示して、前記脆弱性のそれぞれについての対策の有無についてのオペレータからの選択を受け付ける確認手段を更に有することを特徴とする付記1乃至4の何れか1項に記載の情報処理装置。
(付記6)
Webアプリケーションに対する攻撃を監視する監視プログラムを備えたWebサーバと、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする情報処理システム。
(付記7)
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力し、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする情報処理方法。
(付記8)
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【0032】
(他の実施形態)
以上、本発明の実施形態について詳述したが、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステム又は装置も、本発明の範疇に含まれる。
【0033】
また、本発明は、複数の機器から構成されるシステムに適用しても良いし、単体の装置に適用しても良い。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システム或いは装置に直接或いは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、或いはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWWサーバも、本発明の範疇に含まれる。

【特許請求の範囲】
【請求項1】
Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記攻撃への対応を設定する設定情報を送信する情報処理装置であって、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する生成手段を備えることを特徴とする情報処理装置。
【請求項2】
前記生成手段は、前記Webアプリケーションの設計情報データベースを参照して、脆弱性への対策を修正することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記生成手段は、前記Webアプリケーションの設計情報データベースを参照して、パラメータを特定して脆弱性への対策を除外する修正を加えることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記脆弱性特定情報について、前記Webアプリケーションにインストールされたソフトウェアに関するインストール情報データデースを参照して、脆弱性の誤検知を排除する誤検知排除手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記生成手段において生成された設定情報に関する画像を表示して、前記脆弱性のそれぞれについての対策の有無についてのオペレータからの選択を受け付ける確認手段を更に有することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
Webアプリケーションに対する攻撃を監視する監視プログラムを備えたWebサーバと、
前記Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力して、脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、前記監視プログラムに対して生成した設定情報を送信する情報処理装置と、
を含むことを特徴とする情報処理システム。
【請求項7】
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力し、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成し、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信することを特徴とする情報処理方法。
【請求項8】
Webアプリケーションに含まれる脆弱性を特定する脆弱性特定情報を入力する工程と、
脆弱性対策ルールデータベースを参照しつつ、前記Webアプリケーションに含まれる脆弱性と、該脆弱性に対応する対策とを関連付けた設定情報を生成する工程と、
前記Webアプリケーションに対する攻撃を監視する監視プログラムに対して、前記設定情報を送信する工程と、
をコンピュータに実行させることを特徴とする情報処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate