(57)【要約】【課題】ブラックリストに載っていない悪意ある攻撃に対しても有効であり、また、多形態の悪意のあるアタックを検知して排除することのできるウェブアプリケーションファイアーウォールを実現する。【解決手段】  ファイアーウォールコンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段３１、ユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、ルールと比較して悪意のあるアタックであるか否かを判定する分析手段３３、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段４１、として機能させる。【選択図】図２
2012068903.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項２】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項３】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
ユーザリクエストのプロトコルの記述仕様が、ＲＦＣに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ＲＦＣに基づいて有効であると確認されたユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項４】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
ユーザリクエストのプロトコルの記述仕様が、ＲＦＣに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ＲＦＣに基づいて有効であると確認されたユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、
前記比較において悪意のあるアタックであることの推論をオントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、及び
前記ユーザリクエストのアクセスを記録し、前記分析手段によって当該ユーザリクエストが悪意のあるアタックである場合に、該ユーザリクエストは有効ではないことの表示を可能とする記録監視手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項５】
前記ルールは、オントロジーを用いた複数のタグの付されたデータから成ることを特徴とする請求項１〜４のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項６】
前記ルールは、オントロジーデータベースのオントロジーに基づき前記推論手段で得られた推論によって生成されたルールと、ユーザリクエストに含まれる悪意のあるアタックに基づくルールとを含むことを特徴とする請求項１〜５のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項７】
前記インターネットに接続されるコンピュータは、ファイアーウォールサーバであり、該ファイアーウォールサーバにウェブアプリケーション層を有するウェブサーバが接続されていることを特徴とする請求項１〜６のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項８】
前記ルール生成手段は、前記ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、
前記分析手段は、前記オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、前記ユーザリクエストが悪意のあるアタックであるか否かを判定することを特徴とする請求項１〜７のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザリクエストのコンテキスト（文脈）の分析を行い、セマンテックス（意味構造）の分析を実行し、不正を検知するルールと比較して悪意のあるアタックを検知し、ユーザリクエストからのウェブアプリケーションに対する悪意ある攻撃（ハッカー攻撃）、感染、不正等から防御するファイアーウォールプログラム（以下、本明細書及び本発明では、ウェブアプリケーションファイアーウォール（WAF：Web Application Fire Wall）という。）に関する。
【背景技術】
【０００２】
インターネットを介して接続されるウェブアプリケーション層への外部からの悪意ある攻撃に対して防御するためのウェブアプリケーションファイアーウォール（WAF：Web Application Fire Wall）は、従来、いろいろな技術が知られている。（特許文献１、２参照）それら従来の技術は、通常は、ブラックリストに載った送信元や既知のファイル名と合致する悪意ある攻撃やハッカーを排除する機能を備えている。しかし、新種の攻撃も増えており、それら未知の攻撃に対応するウェブアプリケーションファイアーウォールの登場が急務である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３６７２５６号公報
【特許文献２】特開２００８−２６５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のファイアーウォールは、ブラックリストに載った既知の発信元やファイル名と合致するハッカー攻撃を排除するには都合が良いが、ブラックリストに載っていない悪意ある攻撃やハッカーを排除することはできない。
【０００５】
本発明は、ブラックリストに載っていない悪意ある攻撃に対しても有効であり、また、多形態の未知の攻撃を検知して排除することのできるウェブアプリケーションファイアーウォールを実現することを課題とする。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【０００７】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【０００８】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、ユーザリクエストのプロトコルの記述仕様が、ＲＦＣに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ＲＦＣに基づいて有効であると確認されたユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【０００９】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、ユーザリクエストのプロトコルの記述仕様が、ＲＦＣに基づいて有効であるか否か確認するプロトコル確認手段、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ＲＦＣに基づいて有効であると確認されたユーザリクエストにおけるＨＴＴＰプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、前記比較において悪意のあるアタックであることの推論をオントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、及び前記ユーザリクエストのアクセスを記録し、前記分析手段によって当該ユーザリクエストが悪意のあるアタックである場合に、該ユーザリクエストは有効ではないことの表示を可能とする記録監視手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【００１０】
前記ルールは、オントロジーを用いた複数のタグの付されたデータから成ることが好ましい。
【００１１】
前記ルールは、オントロジーデータベースのオントロジーに基づき前記推論手段で得られた推論によって生成されたルールと、ユーザリクエストに含まれる悪意のあるアタックに基づくルールとを含むことが好ましい。
【００１２】
前記インターネットに接続されるコンピュータは、ファイアーウォールサーバであり、該ファイアーウォールサーバにウェブアプリケーション層を有するウェブサーバが接続されていることが好ましい。
【００１３】
前記ルール生成手段は、前記ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、前記分析手段は、前記オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、前記ユーザリクエストが悪意のあるアタックであるか否かを判定するようにすることが好ましい。
【発明の効果】
【００１４】
本発明によれば、ウェブアプリケーションにアクセスするユーザリクエストに対して、そのＩＳＯ規格の第７層のＨＴＴＰプロトコルを分析してコンテキスト（文脈）を捕らえ、それをオントロジーを用いた複数のタグベースを有するルールであるデータと比較して、捕らえた文脈から効率的に悪意のあるアタックを検知するので、ブラックリストに載っていない悪意ある攻撃やハッカーに対しても有効に排除することができ、また、多形態の悪意のあるアタックを検知して排除することが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明に係るウェブアプリケーションファイアーウォールの実施例の全体的な動作を説明するフロー図である。
【図２】本発明に係るウェブアプリケーションファイアーウォールの実施例のシステムを構成する４つのモジュールを説明するブロック図である。
【図３】本発明に係るウェブアプリケーションファイアーウォールの実施例の推論手段及び分析手段の動作を説明するフロー図である。
【図４】プロトコルのオントロジーの例を説明する図である。
【図５】悪意ある攻撃を検知するルールを生成する基となるオントロジー（アタックオントロジー）の構造の概念を説明する図である。
【図６】記録監視モジュールの動作を説明するフロー図である。
【図７】セマンテックルールのテンプレート構造を説明する図である。
【図８】ＨＴＴＰメッセージおけるセマンテックルールのテンプレートを説明する図である。
【発明を実施するための形態】
【００１６】
本発明に係るウェブアプリケーションファイアーウォールプログラムを実施するための形態を実施例に基づき図面を参照して、以下説明する。
【００１７】
（本発明の概要）
本発明に係るウェブアプリケーションファイアーウォールプログラムは、インターネット等の通信回線に接続されるファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等に適用され、インターネット等の通信回線から入ってくるユーザリクエストに含まれる悪意ある攻撃（ハッカー攻撃）、特に多形態の悪意のあるアタックを検知するものである。
【００１８】
これにより、ファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等に接続されたＷｅｂサーバ、イントラネット等に保存されているウェブアプリケーションを、インターネット等の通信回線から入ってくる多形態の悪意のあるアタックから守ることを目的とするものである。
【００１９】
そして、本発明に係るウェブアプリケーションファイアーウォールプログラムの特徴は、ファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等を構成するコンピュータに、インターネット等の通信回線により入力されるユーザリクエスト（ユーザからのサーバ利用のためのリクエスト）について、そのＩＳＯ規格の第７層のＨＴＴＰプロトコルを分析してコンテキスト（文脈）を捕らえセマンテックスを分析（意味構造の分析）し、それをオントロジーを用いた複数のタグベースを有するデータであるルール（悪意のあるアタックを検知するルール）と比較して、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、該コンピュータをウェブアプリケーションファイアーウォールとして機能させるようにしたプログラムである。
【００２０】
ここでの、「悪意のあるアタック」とは、ソフトウェアにセキュリティ上の脆弱性が発見されたときに、それが公表される前にその脆弱性を悪用して行なわれる悪意ある攻撃である。本発明で対象とする悪意のあるアタックは、特に、インターネットに接続されるウェブサーバのウェブアプリケーション層への外部からの上記悪意ある攻撃を意図している。
【００２１】
また、ここでの「ＨＴＴＰプロトコル」とは、ハイパーテキストを送るためのプロトコルであって、ＩＳＯ規格の第７層のＴＣＰ／ＩＰの上位のプロトコルである。
【００２２】
また、ここでの「オントロジー」（Ontology）とは、知識を共有するために、物事を体系的に分類したり、物事の間の関係性を定義することであり、要するに、異なる語彙間の関係性を定義し整理することである。プロトコルのオントロジーの一例を図４に示す。
【実施例】
【００２３】
（概要）
本発明に係るウェブアプリケーションファイアーウォールプログラム（以下、単に「ファイアーウォールプログラム」とも言う。）の実施例を以下説明する。インターネットを介して、ＨＴＴＰプロトコルを含むユーザリクエストがウェブアップリケーションを備えたウェブサーバにアクセスされるが、この実施例では、ウェブサーバのウェブアップリケーション層を悪意のあるアタックから守るファイアーウォールとして、コンピュータを機能させる構成について説明する。
【００２４】
具体的には、この実施例では、本発明のファイアーウォールプログラムを、インターネットに接続されたコンピュータに適用し、該コンピュータをファイアーウォールとして機能するファイアーウォールサーバとして利用する。
【００２５】
そして、このファイアーウォールサーバを介してウェブサーバをインターネットに接続する。この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータに適用し、ユーザリクエストに含まれる悪意のあるアタックを排除し、ファイアーウォールサーバに接続されるウェブサーバのウェブアプリケーション層を悪意のあるアタックから守る。
【００２６】
（動作概要）
このプログラムの実施例の具体的構成を説明する前に、このプログラムによりファイアーウォールサーバが機能する全体動作の概要を図１において説明する。
【００２７】
ファイアーウォールサーバが、インターネットを介してＨＴＴＰプロトコルを含むユーザリクエストを受けると（（ア）参照）、そのアクセス情報を登録し（Log：ログ。（イ）参照）、記録ストレージ（図２参照）の記録データベースに記録する（（ウ）参照）。
【００２８】
一方、そのユーザリクエストのプロトコルのフォーマット（記述仕様）が、ＲＦＣ（Request For Comments：インターネット上での技術仕様の標準を示すドキュメント）に基づいた有効なプロトコルリクエストであるか否か確認する（（エ）参照）。
【００２９】
有効なプロトコルリクエストではない場合は、そのユーザリクエストを感染情報としてインターセプトし、インターセプトした情報として登録し（（オ）参照）、記録ストレージの記録データベースに記録し（（ウ）参照）、このユーザリクエストはウェブサーバには送信しない。
【００３０】
有効なプロトコルリクエストである場合は、アプリケーションデータ抽出プロセスへ転送され、さらに、抽出されたアプリケーションの内容が、オントロジーデータベースに知識ベースとして格納される。
【００３１】
また、ここで抽出されたユーザリクエストに含まれるＨＴＴＰプロトコルについて分析をする（（カ）参照）。この分析では、コンテキスト（文脈）を捕らえセマンテックスを分析（意味構造の分析）する。
【００３２】
そして、分析されたユーザリクエストについて、オントロジーを用いた複数のタグベースを有するデータであるルール（悪意のあるアタックを検知するルール）と比較して（（キ）参照）、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、悪意のあるアタックが含まれていない有効なリクエストであるか否か判定する（（ク）参照）。
【００３３】
この判定で有効なリクエストではないと判定した場合は、感染情報として登録し（（オ）参照）、記録ストレージの記録データベースに記録し（（ウ）参照）、そのユーザリクエストはウェブサーバには送信しない。この判定で有効なリクエストであると判定した場合は、そのユーザリクエストをウェブサーバへ転送する（（ケ）参照）。
【００３４】
（要部構成）
以上のとおり、この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータをウェブアプリケーションファイアーウォール手段として機能させるものである。この実施例のファイアーウォールプログラムの構成について、以下さらに詳細に説明する。
【００３５】
この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータのメモリに搭載され、コンピュータを構成するＣＰＵ、記憶装置、メモリ及びデータバス等動作させて、次の４つのモジュール手段（以下、単に「モジュール」という）として機能させる。
【００３６】
この４つのモジュールは、図２に示すが、次のとおりである。
ア．プロトコル確認モジュール１（プロトコルバリディエータ：Protocol Validator）
イ．記録監視モジュール２（ログ及び監視モジュール：Logging and Monitoring Module）
ウ．ルールベース分析エンジンモジュール３（Rule based Analysis Engine Module）
エ．知識ベースモジュール４（Knowledge Base Module）
【００３７】
以下、各モジュールについてさらに、図２等を参照として説明する。
（１）プロトコル確認モジュール
このプロトコル確認モジュール１は、インターネットを介してファイアーウォールサーバに入力されたユーザリクエストを、登録及び記録のために次に説明する記録監視モジュール２に送るとともに、そのユーザリクエストのプロトコルのフォーマット（記述仕様）が、標準化されたプロトコルのフォーマット（標準仕様）に合った有効なリクエストであるか否か確認する手段として機能する。
【００３８】
具体的には、プロトコル確認モジュール１は、ユーザリクエストのプロトコルのフォーマット（記述仕様）が、ＲＦＣに基づいた有効なプロトコルリクエストであるか否か確認する手段として機能する。
【００３９】
（２）記録監視モジュール
記録監視モジュール２は、記録ストレージ（ログストア：Log Store)へ記録を行う記録手段２１と、報告手段２２及び管理コンソール手段２３を備えている。記録手段２１は、ユーザリクエストの各種の登録を行うとともに、記録ストレージ２４に記憶を行う管理手段として機能する。
【００４０】
例えば、記録手段２１は、プロトコル確認モジュール１で受けたユーザリクエストを登録するとともに、記録ストレージ２４に記憶する。また、プロトコル確認モジュール１において、有効なユーザリクエストではないと確認された場合に、その感染情報を登録し記録ストレージ２４に記憶する。
【００４１】
また、ユーザリクエストに有効ではない悪意あるデータがある場合（感染があり有効ではない場合）には、記録手段２１においてエラー（感染ログ）が生成され、その感染情報及び警報等について登録し記録ストレージ２４に記憶する（図６参照）。
【００４２】
報告手段２２は、登録された感染情報を記録ストレージ２４から取り出し、管理コンソール手段２３に送信し、管理コンソール手段２３は、必要に応じて、その感染情報及び警報を表示装置２５に供して表示し、またファイアーウォールサーバの管理者等に報告をする。
【００４３】
なお、ルールベース分析エンジンモジュール３で、有効なユーザリクエストと判定された場合は、管理コンソール手段２３を通してその結果（有効）の指示を、ウェブサーバ５へのリクエスト配達用のキャッシュコントローラー６に送信する。
【００４４】
（３）ルールベース分析エンジンモジュール
このモジュールは、本発明のファイアーウォールの中心となるモジュールであり、ルール生成手段３１と、ルールキャッシュ手段３２（具体的にはメモリをルールキャッシュとして機能させる手段）と、分析手段３３とを備えている。
【００４５】
ルール生成手段３１は、後記するオントロジーデータベースストレージ４３に蓄積されているオントロジーデータベースに記憶されているオントロジー及び推論手段４１で推論された推論知識等に基づいて、ユーザリクエストのコンテキストを考慮して、ルールを自動的に生成する機能を有する。
【００４６】
ここでルールとは、悪意のあるアタック、特に、インターネットに接続されるウェブサーバ５のウェブアプリケーション層への、外部からの悪意ある攻撃に対して防御するために、ユーザリクエストが有効か否か（悪意のあるアタックが含まれているか否か）判定する基準となるルール（規則）である。
【００４７】
悪意ある攻撃を検知するルールは、後記するが、例えば図５に示すようなアタックオントロジーに基づく一定の関係であり、この関係、即ちルールを満たすプロトコルがユーザリクエストに含まれれば（ユーザリクエストのプロトコルのコンテキストがルールと一致するものを含む）、悪意ある攻撃が含まれ、ユーザリクエストが有効ではないと判定される。
【００４８】
ところで、ルールは、すべて指標部分とアクション部分と言う、２つの主なコンポーネントを備えている。
【００４９】
ルールの指標部分は、悪意のあるユーザリクエストの検知がし易いように、攻撃状況及び条件がモデル化されている。
【００５０】
ルールのアクション部分は、分析手段でユーザリクエストが有効か否か判定された後の処理、例えば、攻撃が検知された後得られる予防や警戒のアクション等を表現する。このアクション部分に基づく、予防や警戒のための処理は、分析手段３３及び記録監視モジュール２によって実行される。
【００５１】
具体的には、アクションは、ユーザリクエストを廃棄する、警告や警戒のメッセージを生成する、当該リクエストを記録する、アクションを無視する（アクションしない）、ユーザリクエストをウェブサーバ５への転送を許可する、のうちのいずれか１つ以上の機能を有する。
【００５２】
オントロジーデータベースへのオントロジーが追加、削除、変更されたりした場合は、それに応じて、既存のルールは、再生成される。なお、後記するが、既存のルールでは悪意ある攻撃に一致しないユーザリクエストについても、推論手段４１で推論された知識等に基づくと悪意ある攻撃が含まれると推論される場合は、新たに発見したルールとして分析手段３３の判定に供せられ、またオントロジーデータベースに加えられる。
【００５３】
ここで、ルール生成の具体的なプロセスについて説明する。ルール生成手段３１では、オントロジーデータベースに記憶されているセマンテックルールテンプレートを使用してクエリー（データベースに対してデータを抽出する命令）を構築する（（ア）参照）。セマンテックルールテンプレートは、悪意ある攻撃について、そのシナリオの抽象的な記述をする機能を行っている。
【００５４】
一方、オントロジーデータベースに記憶されているセマンテックルール及びオトロジーモデルを基に推論手段４１において、ルールベース推論を生成し（イ）参照）、その推論知識ベースに蓄積する（（ウ）参照）。
【００５５】
そして、ルール生成手段３１は、構築したクエリーに基づき、オントロジーデータベースに記憶されているルールテンプレート、文法ルール、オントロジー等を呼び出し、また、推論知識ベースに記憶されている推論知識を呼び出し、これらをルールテンプレートに当てはめて、悪意のあるアタック検知のための具体的なルールを生成する（（エ）参照）。
【００５６】
ルール生成プロセスでは、オントロジーデータベースへアクセスしてルールテンプレート、文法ルール、オントロジーを呼び出して用いるが、その際、常にユーザリクエストと比較し、その属性に基づいてタグ付けがなされる。後記する分析手段３３では、このタグの持つ関連性を比較し解析することで悪意ある攻撃であるか否か判定がされることとなる。
【００５７】
図７は、特定な攻撃を検出するためのセマンテックルールのテンプレート構造の一例である。また、図８は、ＨＴＴＰメッセージのセマンテックルールのテンプレートの一例である。
【００５８】
なお、テンプレートは、ルール・インターチェンジ・フォーマット(Rule Interchange Format)、意味的なウェブ・ルール・ランゲージ(Semantic Web Rule Languages)、ホーンロジック・ステートメント等で、意味を含むルールを生成することができる。
【００５９】
また、ルール生成手段３１は、ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、分析手段３３は、オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、ユーザリクエストが悪意のあるアタックであるか否かを判定することができる。
【００６０】
ルールキャッシュ手段３２は、ルール生成手段３１で生成したルールをキャッシュ（一時的に記憶する）する機能を有する（図７の（オ）参照）。また、ルールキャッシュは、分析手段においてユーザリクエスト分析するプロセスで発見したルール（発見ルール）もキャッシュする機能を有する（図７の（オ）参照）。ルールキャッシュ手段３２は、ハードについては、一時的記憶手段としてメモリが使用される。
【００６１】
分析手段３３は、ユーザリクエストに含まれるＨＴＴＰプロトコルについて分析をする。この分析では、コンテキスト（文脈）を捕らえ、セマンテックスを分析（意味構造の分析）する。また、ユーザリクエストに含まれるアプリケーションデータを抽出し、抽出したアプリケーションの内容を、オントロジーデータベースストレージ４３に知識ベースとして格納する。
【００６２】
一方、分析手段３３は、オントロジーに基づいてルール生成手段３１(Rule Generator)によって生成したルールをルールキャッシュから呼び出す。このルールは、オントロジーを用いた複数のタグベースを有するデータであるルール（悪意のあるアタックを検知するルール）である。
【００６３】
そして、セマンテックスを分析されたユーザリクエストについて、ルールと比較して、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、悪意のあるアタックが含まれていない有効なリクエストであるか否か判定する。
【００６４】
このルールを構成するオントロジーとの比較において、分析手段３３は、ユーザリクエストのプロトコルの属性について、ルールに付けられたオントロジーのタグの持つ関連性とを比較し、悪意のあるアタックの含まれていない有効なユーザリクエストであるか否か判定する機能を行う。
【００６５】
この判定で有効なリクエストではないと判定した場合は、感染情報として登録し、記録ストレージ２４の記録ストレージ２４に記録し、そのユーザリクエストはウェブサーバ５には転送しない。この判定で有効なリクエストであると判定した場合は、そのユーザリクエストを、キャッシュコントローラ６を介してウェブサーバ５へ転送する。
【００６６】
（４）知識ベースモジュール
この知識モジュール４は、上記ルール生成の基となるオントロジー、推論知識（推論手段で生成された知識）、ルール、ルールテンプレート等を提供する手段として機能するモジュールであり、推論ベース手段４１とデータベース記録手段４２とを備えている。
【００６７】
データベース記録手段４１は、オントロジーデータベースストレージ４３に構築されているオントロジー、推論知識、ルール、ルールテンプレート等を記録し、取出す手段として機能する。
【００６８】
オントロジーデータベースには、オントロジー、推論知識、ルール、ルールテンプレート、その他の知識等が含まれる。ルールは、ユーザリクエストに悪意ある攻撃が含まれていないか検知する基準となるものであり、オントロジーに基づいて生成されたルール、ユーザリクエスト中に含まれ発見されたルール、ユーザリクエストについて抽出された推論手段４１で推論され推論知識等に基づいて生成されたルール等がある。
【００６９】
オントロジーについては、大別して２つのオントロジーが含まれる。一つは、予めオントロジーデータベースストレージに記憶しておくオントロジーであり、他の一つは、ファイアーウォールサーバが稼働していく過程において、ユーザリクエストから抽出され、新たに発見された知識がプロファイル化されたオントロジーである。
【００７０】
また、オントロジーデータベースに含まれるオントロジーを別の切り口で種類化すると、プロトコルに関連する項目を分類し互いに関係づけたプロトコルオントロジー、ウェブアプリケーションに関連する項目を分類し互いに関係づけたアプリケーション・プロファイルオントロジー等がある。
【００７１】
プロトコルオントロジーの例として、コミュニケーション（通信）についてのプロトコル、即ち、（コミュニケーション）プロトコルのオントロジーの例を、図４に示す。このプロトコルオントロジーは、メッセージ、リクエスト、レスポンスの３つの概念を含んでいる。
【００７２】
リクエストメッセージ（Request Message)に着目し、HTTPリクエスト(HTTP Request)を考慮して分類すると、GET、POST、PUT、HEAD、DELETE、TRACE、OPTIONおよびCONNECT等のリクエストを持つ。また、コミュニケーションプロトコルは、ヘッダーを含み、ヘッダーは、リクエストヘッダー、エントリーヘッダーおよびジェネラルヘッダーに分類されている。
【００７３】
オントロジーデータベースには、前記のとおりルールが含まれるが、このルールには、既定のオントロジーに基づき作成されたルールに加えて、新たに発見されたオントロジーに基づくルールであって、新たに発見された悪意ある攻撃を検知するルール等も、オントロジーデータベースに含まれる。
【００７４】
悪意ある攻撃を検知するルールを生成する基となるオントロジー（アタックオントロジー）の構造を、図５に示す。オントロジーは、オントロジーを構成する概念（項目）の関係について、received From、directed To、effected By、resulting In、deceived Byおよびmitigated Byのような様々な属性で定義する。
【００７５】
換言すると、これらの属性は、アタックオントロジーの概念を相互にリンクする。例えば、ポリシー（Policy）は、攻撃を緩和するために使用され、「アタックmitigated Byポリシー」としてリンクしてモデル化する。
【００７６】
悪意ある攻撃を検知するルールは、例えば、図５に示すアタックオントロジーに基づく一定の関係であり、この関係、即ちルールを満たすユーザリクエストからのプロトコルが含まれれば、悪意ある攻撃と判定される。
【００７７】
推論ベース手段は、ユーザリクエストを分析手段３３で分析し、既定のルール（オントロジーデータベースに含まれる既定のオントロジーに基づいて生成された悪意ある攻撃を検知するルール）とは一致しないオントロジーが含まれると判定した場合について、その一致しないオントロジーの構造について、悪意ある攻撃であるか否か推論する。
【００７８】
この推論に際しては、オントロジーデータベースに記憶されているオントロジーを利用して推論に供する。推論手段４１において悪意ある攻撃と推論したプロトコルは、新たに発見したルールとして、ルール生成手段３１及び分析手段３３に生成材料及び判定材料として供するとともに、オントロジーデータベースに記憶される。
【００７９】
以上、本発明に係るウェブアプリケーションファイアーウォールプログラムを実施するための形態を実施例に基づいて説明したが、本発明はこのような実施例に限定されるものではなく、特許請求の範囲に記載された技術的事項の範囲内でいろいろな実施例があることは言うまでもない。
【産業上の利用可能性】
【００８０】
本発明に係るウェブアプリケーションファイアーウォールプログラムは上記のような構成であるから、インターネットと接続されて使用されている一般のコンピュータ、業務用コンピュータ等をファイアーウォールとして機能させることが可能である。
【符号の説明】
【００８１】
１  プロトコル確認モジュール
２  記録監視モジュール
３  ルールベース分析エンジンモジュール
４  知識ベースモジュール
５  ウェブサーバ
６  キャッシュコントローラー
２１  記録手段
２２  報告手段
２３  管理コンソール手段
２４  記録ストレージ
２５  表示装置
３１  生成手段
３２  ルールキャッシュ手段
３３  分析手段
４１  推論手段
４２  データベース記録手段
４３  オントロジーデータベースストレージ
【図１】
2012068903.tif 000003
【図２】
2012068903.tif 000004
【図３】
2012068903.tif 000005
【図４】
2012068903.tif 000006
【図５】
2012068903.tif 000007
【図６】
2012068903.tif 000008
【図７】
2012068903.tif 000009
【図８】
2012068903.tif 000010