説明

ウェブアプリケーションファイアーウォールプログラム

【課題】ブラックリストに載っていない悪意ある攻撃に対しても有効であり、また、多形態の悪意のあるアタックを検知して排除することのできるウェブアプリケーションファイアーウォールを実現する。
【解決手段】
ファイアーウォールコンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段31、ユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、ルールと比較して悪意のあるアタックであるか否かを判定する分析手段33、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段41、として機能させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザリクエストのコンテキスト(文脈)の分析を行い、セマンテックス(意味構造)の分析を実行し、不正を検知するルールと比較して悪意のあるアタックを検知し、ユーザリクエストからのウェブアプリケーションに対する悪意ある攻撃(ハッカー攻撃)、感染、不正等から防御するファイアーウォールプログラム(以下、本明細書及び本発明では、ウェブアプリケーションファイアーウォール(WAF:Web Application Fire Wall)という。)に関する。
【背景技術】
【0002】
インターネットを介して接続されるウェブアプリケーション層への外部からの悪意ある攻撃に対して防御するためのウェブアプリケーションファイアーウォール(WAF:Web Application Fire Wall)は、従来、いろいろな技術が知られている。(特許文献1、2参照)それら従来の技術は、通常は、ブラックリストに載った送信元や既知のファイル名と合致する悪意ある攻撃やハッカーを排除する機能を備えている。しかし、新種の攻撃も増えており、それら未知の攻撃に対応するウェブアプリケーションファイアーウォールの登場が急務である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−367256号公報
【特許文献2】特開2008−26547号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のファイアーウォールは、ブラックリストに載った既知の発信元やファイル名と合致するハッカー攻撃を排除するには都合が良いが、ブラックリストに載っていない悪意ある攻撃やハッカーを排除することはできない。
【0005】
本発明は、ブラックリストに載っていない悪意ある攻撃に対しても有効であり、また、多形態の未知の攻撃を検知して排除することのできるウェブアプリケーションファイアーウォールを実現することを課題とする。
【課題を解決するための手段】
【0006】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【0007】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記ユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【0008】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、ユーザリクエストのプロトコルの記述仕様が、RFCに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記RFCに基づいて有効であると確認されたユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【0009】
本発明は上記課題を解決するために、インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、前記コンピュータを、ユーザリクエストのプロトコルの記述仕様が、RFCに基づいて有効であるか否か確認するプロトコル確認手段、悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、前記RFCに基づいて有効であると確認されたユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、前記比較において悪意のあるアタックであることの推論をオントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、及び前記ユーザリクエストのアクセスを記録し、前記分析手段によって当該ユーザリクエストが悪意のあるアタックである場合に、該ユーザリクエストは有効ではないことの表示を可能とする記録監視手段、として機能させるためのウェブアプリケーションファイアーウォールプログラムを提供する。
【0010】
前記ルールは、オントロジーを用いた複数のタグの付されたデータから成ることが好ましい。
【0011】
前記ルールは、オントロジーデータベースのオントロジーに基づき前記推論手段で得られた推論によって生成されたルールと、ユーザリクエストに含まれる悪意のあるアタックに基づくルールとを含むことが好ましい。
【0012】
前記インターネットに接続されるコンピュータは、ファイアーウォールサーバであり、該ファイアーウォールサーバにウェブアプリケーション層を有するウェブサーバが接続されていることが好ましい。
【0013】
前記ルール生成手段は、前記ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、前記分析手段は、前記オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、前記ユーザリクエストが悪意のあるアタックであるか否かを判定するようにすることが好ましい。
【発明の効果】
【0014】
本発明によれば、ウェブアプリケーションにアクセスするユーザリクエストに対して、そのISO規格の第7層のHTTPプロトコルを分析してコンテキスト(文脈)を捕らえ、それをオントロジーを用いた複数のタグベースを有するルールであるデータと比較して、捕らえた文脈から効率的に悪意のあるアタックを検知するので、ブラックリストに載っていない悪意ある攻撃やハッカーに対しても有効に排除することができ、また、多形態の悪意のあるアタックを検知して排除することが可能である。
【図面の簡単な説明】
【0015】
【図1】本発明に係るウェブアプリケーションファイアーウォールの実施例の全体的な動作を説明するフロー図である。
【図2】本発明に係るウェブアプリケーションファイアーウォールの実施例のシステムを構成する4つのモジュールを説明するブロック図である。
【図3】本発明に係るウェブアプリケーションファイアーウォールの実施例の推論手段及び分析手段の動作を説明するフロー図である。
【図4】プロトコルのオントロジーの例を説明する図である。
【図5】悪意ある攻撃を検知するルールを生成する基となるオントロジー(アタックオントロジー)の構造の概念を説明する図である。
【図6】記録監視モジュールの動作を説明するフロー図である。
【図7】セマンテックルールのテンプレート構造を説明する図である。
【図8】HTTPメッセージおけるセマンテックルールのテンプレートを説明する図である。
【発明を実施するための形態】
【0016】
本発明に係るウェブアプリケーションファイアーウォールプログラムを実施するための形態を実施例に基づき図面を参照して、以下説明する。
【0017】
(本発明の概要)
本発明に係るウェブアプリケーションファイアーウォールプログラムは、インターネット等の通信回線に接続されるファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等に適用され、インターネット等の通信回線から入ってくるユーザリクエストに含まれる悪意ある攻撃(ハッカー攻撃)、特に多形態の悪意のあるアタックを検知するものである。
【0018】
これにより、ファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等に接続されたWebサーバ、イントラネット等に保存されているウェブアプリケーションを、インターネット等の通信回線から入ってくる多形態の悪意のあるアタックから守ることを目的とするものである。
【0019】
そして、本発明に係るウェブアプリケーションファイアーウォールプログラムの特徴は、ファイアーウォールサーバ、プロキシサーバ、ゲートウェイ等を構成するコンピュータに、インターネット等の通信回線により入力されるユーザリクエスト(ユーザからのサーバ利用のためのリクエスト)について、そのISO規格の第7層のHTTPプロトコルを分析してコンテキスト(文脈)を捕らえセマンテックスを分析(意味構造の分析)し、それをオントロジーを用いた複数のタグベースを有するデータであるルール(悪意のあるアタックを検知するルール)と比較して、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、該コンピュータをウェブアプリケーションファイアーウォールとして機能させるようにしたプログラムである。
【0020】
ここでの、「悪意のあるアタック」とは、ソフトウェアにセキュリティ上の脆弱性が発見されたときに、それが公表される前にその脆弱性を悪用して行なわれる悪意ある攻撃である。本発明で対象とする悪意のあるアタックは、特に、インターネットに接続されるウェブサーバのウェブアプリケーション層への外部からの上記悪意ある攻撃を意図している。
【0021】
また、ここでの「HTTPプロトコル」とは、ハイパーテキストを送るためのプロトコルであって、ISO規格の第7層のTCP/IPの上位のプロトコルである。
【0022】
また、ここでの「オントロジー」(Ontology)とは、知識を共有するために、物事を体系的に分類したり、物事の間の関係性を定義することであり、要するに、異なる語彙間の関係性を定義し整理することである。プロトコルのオントロジーの一例を図4に示す。
【実施例】
【0023】
(概要)
本発明に係るウェブアプリケーションファイアーウォールプログラム(以下、単に「ファイアーウォールプログラム」とも言う。)の実施例を以下説明する。インターネットを介して、HTTPプロトコルを含むユーザリクエストがウェブアップリケーションを備えたウェブサーバにアクセスされるが、この実施例では、ウェブサーバのウェブアップリケーション層を悪意のあるアタックから守るファイアーウォールとして、コンピュータを機能させる構成について説明する。
【0024】
具体的には、この実施例では、本発明のファイアーウォールプログラムを、インターネットに接続されたコンピュータに適用し、該コンピュータをファイアーウォールとして機能するファイアーウォールサーバとして利用する。
【0025】
そして、このファイアーウォールサーバを介してウェブサーバをインターネットに接続する。この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータに適用し、ユーザリクエストに含まれる悪意のあるアタックを排除し、ファイアーウォールサーバに接続されるウェブサーバのウェブアプリケーション層を悪意のあるアタックから守る。
【0026】
(動作概要)
このプログラムの実施例の具体的構成を説明する前に、このプログラムによりファイアーウォールサーバが機能する全体動作の概要を図1において説明する。
【0027】
ファイアーウォールサーバが、インターネットを介してHTTPプロトコルを含むユーザリクエストを受けると((ア)参照)、そのアクセス情報を登録し(Log:ログ。(イ)参照)、記録ストレージ(図2参照)の記録データベースに記録する((ウ)参照)。
【0028】
一方、そのユーザリクエストのプロトコルのフォーマット(記述仕様)が、RFC(Request For Comments:インターネット上での技術仕様の標準を示すドキュメント)に基づいた有効なプロトコルリクエストであるか否か確認する((エ)参照)。
【0029】
有効なプロトコルリクエストではない場合は、そのユーザリクエストを感染情報としてインターセプトし、インターセプトした情報として登録し((オ)参照)、記録ストレージの記録データベースに記録し((ウ)参照)、このユーザリクエストはウェブサーバには送信しない。
【0030】
有効なプロトコルリクエストである場合は、アプリケーションデータ抽出プロセスへ転送され、さらに、抽出されたアプリケーションの内容が、オントロジーデータベースに知識ベースとして格納される。
【0031】
また、ここで抽出されたユーザリクエストに含まれるHTTPプロトコルについて分析をする((カ)参照)。この分析では、コンテキスト(文脈)を捕らえセマンテックスを分析(意味構造の分析)する。
【0032】
そして、分析されたユーザリクエストについて、オントロジーを用いた複数のタグベースを有するデータであるルール(悪意のあるアタックを検知するルール)と比較して((キ)参照)、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、悪意のあるアタックが含まれていない有効なリクエストであるか否か判定する((ク)参照)。
【0033】
この判定で有効なリクエストではないと判定した場合は、感染情報として登録し((オ)参照)、記録ストレージの記録データベースに記録し((ウ)参照)、そのユーザリクエストはウェブサーバには送信しない。この判定で有効なリクエストであると判定した場合は、そのユーザリクエストをウェブサーバへ転送する((ケ)参照)。
【0034】
(要部構成)
以上のとおり、この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータをウェブアプリケーションファイアーウォール手段として機能させるものである。この実施例のファイアーウォールプログラムの構成について、以下さらに詳細に説明する。
【0035】
この実施例のファイアーウォールプログラムは、ファイアーウォールサーバを構成するコンピュータのメモリに搭載され、コンピュータを構成するCPU、記憶装置、メモリ及びデータバス等動作させて、次の4つのモジュール手段(以下、単に「モジュール」という)として機能させる。
【0036】
この4つのモジュールは、図2に示すが、次のとおりである。
ア.プロトコル確認モジュール1(プロトコルバリディエータ:Protocol Validator)
イ.記録監視モジュール2(ログ及び監視モジュール:Logging and Monitoring Module)
ウ.ルールベース分析エンジンモジュール3(Rule based Analysis Engine Module)
エ.知識ベースモジュール4(Knowledge Base Module)
【0037】
以下、各モジュールについてさらに、図2等を参照として説明する。
(1)プロトコル確認モジュール
このプロトコル確認モジュール1は、インターネットを介してファイアーウォールサーバに入力されたユーザリクエストを、登録及び記録のために次に説明する記録監視モジュール2に送るとともに、そのユーザリクエストのプロトコルのフォーマット(記述仕様)が、標準化されたプロトコルのフォーマット(標準仕様)に合った有効なリクエストであるか否か確認する手段として機能する。
【0038】
具体的には、プロトコル確認モジュール1は、ユーザリクエストのプロトコルのフォーマット(記述仕様)が、RFCに基づいた有効なプロトコルリクエストであるか否か確認する手段として機能する。
【0039】
(2)記録監視モジュール
記録監視モジュール2は、記録ストレージ(ログストア:Log Store)へ記録を行う記録手段21と、報告手段22及び管理コンソール手段23を備えている。記録手段21は、ユーザリクエストの各種の登録を行うとともに、記録ストレージ24に記憶を行う管理手段として機能する。
【0040】
例えば、記録手段21は、プロトコル確認モジュール1で受けたユーザリクエストを登録するとともに、記録ストレージ24に記憶する。また、プロトコル確認モジュール1において、有効なユーザリクエストではないと確認された場合に、その感染情報を登録し記録ストレージ24に記憶する。
【0041】
また、ユーザリクエストに有効ではない悪意あるデータがある場合(感染があり有効ではない場合)には、記録手段21においてエラー(感染ログ)が生成され、その感染情報及び警報等について登録し記録ストレージ24に記憶する(図6参照)。
【0042】
報告手段22は、登録された感染情報を記録ストレージ24から取り出し、管理コンソール手段23に送信し、管理コンソール手段23は、必要に応じて、その感染情報及び警報を表示装置25に供して表示し、またファイアーウォールサーバの管理者等に報告をする。
【0043】
なお、ルールベース分析エンジンモジュール3で、有効なユーザリクエストと判定された場合は、管理コンソール手段23を通してその結果(有効)の指示を、ウェブサーバ5へのリクエスト配達用のキャッシュコントローラー6に送信する。
【0044】
(3)ルールベース分析エンジンモジュール
このモジュールは、本発明のファイアーウォールの中心となるモジュールであり、ルール生成手段31と、ルールキャッシュ手段32(具体的にはメモリをルールキャッシュとして機能させる手段)と、分析手段33とを備えている。
【0045】
ルール生成手段31は、後記するオントロジーデータベースストレージ43に蓄積されているオントロジーデータベースに記憶されているオントロジー及び推論手段41で推論された推論知識等に基づいて、ユーザリクエストのコンテキストを考慮して、ルールを自動的に生成する機能を有する。
【0046】
ここでルールとは、悪意のあるアタック、特に、インターネットに接続されるウェブサーバ5のウェブアプリケーション層への、外部からの悪意ある攻撃に対して防御するために、ユーザリクエストが有効か否か(悪意のあるアタックが含まれているか否か)判定する基準となるルール(規則)である。
【0047】
悪意ある攻撃を検知するルールは、後記するが、例えば図5に示すようなアタックオントロジーに基づく一定の関係であり、この関係、即ちルールを満たすプロトコルがユーザリクエストに含まれれば(ユーザリクエストのプロトコルのコンテキストがルールと一致するものを含む)、悪意ある攻撃が含まれ、ユーザリクエストが有効ではないと判定される。
【0048】
ところで、ルールは、すべて指標部分とアクション部分と言う、2つの主なコンポーネントを備えている。
【0049】
ルールの指標部分は、悪意のあるユーザリクエストの検知がし易いように、攻撃状況及び条件がモデル化されている。
【0050】
ルールのアクション部分は、分析手段でユーザリクエストが有効か否か判定された後の処理、例えば、攻撃が検知された後得られる予防や警戒のアクション等を表現する。このアクション部分に基づく、予防や警戒のための処理は、分析手段33及び記録監視モジュール2によって実行される。
【0051】
具体的には、アクションは、ユーザリクエストを廃棄する、警告や警戒のメッセージを生成する、当該リクエストを記録する、アクションを無視する(アクションしない)、ユーザリクエストをウェブサーバ5への転送を許可する、のうちのいずれか1つ以上の機能を有する。
【0052】
オントロジーデータベースへのオントロジーが追加、削除、変更されたりした場合は、それに応じて、既存のルールは、再生成される。なお、後記するが、既存のルールでは悪意ある攻撃に一致しないユーザリクエストについても、推論手段41で推論された知識等に基づくと悪意ある攻撃が含まれると推論される場合は、新たに発見したルールとして分析手段33の判定に供せられ、またオントロジーデータベースに加えられる。
【0053】
ここで、ルール生成の具体的なプロセスについて説明する。ルール生成手段31では、オントロジーデータベースに記憶されているセマンテックルールテンプレートを使用してクエリー(データベースに対してデータを抽出する命令)を構築する((ア)参照)。セマンテックルールテンプレートは、悪意ある攻撃について、そのシナリオの抽象的な記述をする機能を行っている。
【0054】
一方、オントロジーデータベースに記憶されているセマンテックルール及びオトロジーモデルを基に推論手段41において、ルールベース推論を生成し(イ)参照)、その推論知識ベースに蓄積する((ウ)参照)。
【0055】
そして、ルール生成手段31は、構築したクエリーに基づき、オントロジーデータベースに記憶されているルールテンプレート、文法ルール、オントロジー等を呼び出し、また、推論知識ベースに記憶されている推論知識を呼び出し、これらをルールテンプレートに当てはめて、悪意のあるアタック検知のための具体的なルールを生成する((エ)参照)。
【0056】
ルール生成プロセスでは、オントロジーデータベースへアクセスしてルールテンプレート、文法ルール、オントロジーを呼び出して用いるが、その際、常にユーザリクエストと比較し、その属性に基づいてタグ付けがなされる。後記する分析手段33では、このタグの持つ関連性を比較し解析することで悪意ある攻撃であるか否か判定がされることとなる。
【0057】
図7は、特定な攻撃を検出するためのセマンテックルールのテンプレート構造の一例である。また、図8は、HTTPメッセージのセマンテックルールのテンプレートの一例である。
【0058】
なお、テンプレートは、ルール・インターチェンジ・フォーマット(Rule Interchange Format)、意味的なウェブ・ルール・ランゲージ(Semantic Web Rule Languages)、ホーンロジック・ステートメント等で、意味を含むルールを生成することができる。
【0059】
また、ルール生成手段31は、ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、分析手段33は、オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、ユーザリクエストが悪意のあるアタックであるか否かを判定することができる。
【0060】
ルールキャッシュ手段32は、ルール生成手段31で生成したルールをキャッシュ(一時的に記憶する)する機能を有する(図7の(オ)参照)。また、ルールキャッシュは、分析手段においてユーザリクエスト分析するプロセスで発見したルール(発見ルール)もキャッシュする機能を有する(図7の(オ)参照)。ルールキャッシュ手段32は、ハードについては、一時的記憶手段としてメモリが使用される。
【0061】
分析手段33は、ユーザリクエストに含まれるHTTPプロトコルについて分析をする。この分析では、コンテキスト(文脈)を捕らえ、セマンテックスを分析(意味構造の分析)する。また、ユーザリクエストに含まれるアプリケーションデータを抽出し、抽出したアプリケーションの内容を、オントロジーデータベースストレージ43に知識ベースとして格納する。
【0062】
一方、分析手段33は、オントロジーに基づいてルール生成手段31(Rule Generator)によって生成したルールをルールキャッシュから呼び出す。このルールは、オントロジーを用いた複数のタグベースを有するデータであるルール(悪意のあるアタックを検知するルール)である。
【0063】
そして、セマンテックスを分析されたユーザリクエストについて、ルールと比較して、捕らえた文脈、言語の意味や関係等、から効率的に悪意のあるアタックを検知する動作を行わせて、悪意のあるアタックが含まれていない有効なリクエストであるか否か判定する。
【0064】
このルールを構成するオントロジーとの比較において、分析手段33は、ユーザリクエストのプロトコルの属性について、ルールに付けられたオントロジーのタグの持つ関連性とを比較し、悪意のあるアタックの含まれていない有効なユーザリクエストであるか否か判定する機能を行う。
【0065】
この判定で有効なリクエストではないと判定した場合は、感染情報として登録し、記録ストレージ24の記録ストレージ24に記録し、そのユーザリクエストはウェブサーバ5には転送しない。この判定で有効なリクエストであると判定した場合は、そのユーザリクエストを、キャッシュコントローラ6を介してウェブサーバ5へ転送する。
【0066】
(4)知識ベースモジュール
この知識モジュール4は、上記ルール生成の基となるオントロジー、推論知識(推論手段で生成された知識)、ルール、ルールテンプレート等を提供する手段として機能するモジュールであり、推論ベース手段41とデータベース記録手段42とを備えている。
【0067】
データベース記録手段41は、オントロジーデータベースストレージ43に構築されているオントロジー、推論知識、ルール、ルールテンプレート等を記録し、取出す手段として機能する。
【0068】
オントロジーデータベースには、オントロジー、推論知識、ルール、ルールテンプレート、その他の知識等が含まれる。ルールは、ユーザリクエストに悪意ある攻撃が含まれていないか検知する基準となるものであり、オントロジーに基づいて生成されたルール、ユーザリクエスト中に含まれ発見されたルール、ユーザリクエストについて抽出された推論手段41で推論され推論知識等に基づいて生成されたルール等がある。
【0069】
オントロジーについては、大別して2つのオントロジーが含まれる。一つは、予めオントロジーデータベースストレージに記憶しておくオントロジーであり、他の一つは、ファイアーウォールサーバが稼働していく過程において、ユーザリクエストから抽出され、新たに発見された知識がプロファイル化されたオントロジーである。
【0070】
また、オントロジーデータベースに含まれるオントロジーを別の切り口で種類化すると、プロトコルに関連する項目を分類し互いに関係づけたプロトコルオントロジー、ウェブアプリケーションに関連する項目を分類し互いに関係づけたアプリケーション・プロファイルオントロジー等がある。
【0071】
プロトコルオントロジーの例として、コミュニケーション(通信)についてのプロトコル、即ち、(コミュニケーション)プロトコルのオントロジーの例を、図4に示す。このプロトコルオントロジーは、メッセージ、リクエスト、レスポンスの3つの概念を含んでいる。
【0072】
リクエストメッセージ(Request Message)に着目し、HTTPリクエスト(HTTP Request)を考慮して分類すると、GET、POST、PUT、HEAD、DELETE、TRACE、OPTIONおよびCONNECT等のリクエストを持つ。また、コミュニケーションプロトコルは、ヘッダーを含み、ヘッダーは、リクエストヘッダー、エントリーヘッダーおよびジェネラルヘッダーに分類されている。
【0073】
オントロジーデータベースには、前記のとおりルールが含まれるが、このルールには、既定のオントロジーに基づき作成されたルールに加えて、新たに発見されたオントロジーに基づくルールであって、新たに発見された悪意ある攻撃を検知するルール等も、オントロジーデータベースに含まれる。
【0074】
悪意ある攻撃を検知するルールを生成する基となるオントロジー(アタックオントロジー)の構造を、図5に示す。オントロジーは、オントロジーを構成する概念(項目)の関係について、received From、directed To、effected By、resulting In、deceived Byおよびmitigated Byのような様々な属性で定義する。
【0075】
換言すると、これらの属性は、アタックオントロジーの概念を相互にリンクする。例えば、ポリシー(Policy)は、攻撃を緩和するために使用され、「アタックmitigated Byポリシー」としてリンクしてモデル化する。
【0076】
悪意ある攻撃を検知するルールは、例えば、図5に示すアタックオントロジーに基づく一定の関係であり、この関係、即ちルールを満たすユーザリクエストからのプロトコルが含まれれば、悪意ある攻撃と判定される。
【0077】
推論ベース手段は、ユーザリクエストを分析手段33で分析し、既定のルール(オントロジーデータベースに含まれる既定のオントロジーに基づいて生成された悪意ある攻撃を検知するルール)とは一致しないオントロジーが含まれると判定した場合について、その一致しないオントロジーの構造について、悪意ある攻撃であるか否か推論する。
【0078】
この推論に際しては、オントロジーデータベースに記憶されているオントロジーを利用して推論に供する。推論手段41において悪意ある攻撃と推論したプロトコルは、新たに発見したルールとして、ルール生成手段31及び分析手段33に生成材料及び判定材料として供するとともに、オントロジーデータベースに記憶される。
【0079】
以上、本発明に係るウェブアプリケーションファイアーウォールプログラムを実施するための形態を実施例に基づいて説明したが、本発明はこのような実施例に限定されるものではなく、特許請求の範囲に記載された技術的事項の範囲内でいろいろな実施例があることは言うまでもない。
【産業上の利用可能性】
【0080】
本発明に係るウェブアプリケーションファイアーウォールプログラムは上記のような構成であるから、インターネットと接続されて使用されている一般のコンピュータ、業務用コンピュータ等をファイアーウォールとして機能させることが可能である。
【符号の説明】
【0081】
1 プロトコル確認モジュール
2 記録監視モジュール
3 ルールベース分析エンジンモジュール
4 知識ベースモジュール
5 ウェブサーバ
6 キャッシュコントローラー
21 記録手段
22 報告手段
23 管理コンソール手段
24 記録ストレージ
25 表示装置
31 生成手段
32 ルールキャッシュ手段
33 分析手段
41 推論手段
42 データベース記録手段
43 オントロジーデータベースストレージ

【特許請求の範囲】
【請求項1】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項2】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記ユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項3】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
ユーザリクエストのプロトコルの記述仕様が、RFCに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記RFCに基づいて有効であると確認されたユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、及び
前記比較において悪意のあるアタックであることの推論を、オントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項4】
インターネットに接続されるコンピュータを、インターネットを介してアクセスするユーザリクエストによるウェブアプリケーション層への悪意のあるアタックを検知する手段として機能させる、ウェブアプリケーションファイアーウォールプログラムであって、
前記コンピュータを、
ユーザリクエストのプロトコルの記述仕様が、RFCに基づいて有効であるか否か確認するプロトコル確認手段、
悪意のあるアタックであると判定する基準となるルールを、オントロジーデータベースにアクセスしオントロジーに基づいて生成するルール生成手段、
前記RFCに基づいて有効であると確認されたユーザリクエストにおけるHTTPプロトコルのセマンテックスを分析し、前記ルールと比較して悪意のあるアタックであるか否かを判定する分析手段、
前記ルール生成手段で生成されたルールをキャッシュし、前記分析手段に該キャッシュされたルールを提供するルールキャッシュ手段、
前記比較において悪意のあるアタックであることの推論をオントロジーデータベースにアクセスしオントロジーデータベースを利用して行い、該推論結果を分析手段に供する推論手段、及び
前記ユーザリクエストのアクセスを記録し、前記分析手段によって当該ユーザリクエストが悪意のあるアタックである場合に、該ユーザリクエストは有効ではないことの表示を可能とする記録監視手段、
として機能させるためのウェブアプリケーションファイアーウォールプログラム。
【請求項5】
前記ルールは、オントロジーを用いた複数のタグの付されたデータから成ることを特徴とする請求項1〜4のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項6】
前記ルールは、オントロジーデータベースのオントロジーに基づき前記推論手段で得られた推論によって生成されたルールと、ユーザリクエストに含まれる悪意のあるアタックに基づくルールとを含むことを特徴とする請求項1〜5のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項7】
前記インターネットに接続されるコンピュータは、ファイアーウォールサーバであり、該ファイアーウォールサーバにウェブアプリケーション層を有するウェブサーバが接続されていることを特徴とする請求項1〜6のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。
【請求項8】
前記ルール生成手段は、前記ウェブアプリケーションの正規化に基づくデータを下にオントロジールールを生成しデータベース化する機能も備えており、
前記分析手段は、前記オントロジールールを、悪意のあるアタックであると判定する基準となるルールとして活用して、前記ユーザリクエストが悪意のあるアタックであるか否かを判定することを特徴とする請求項1〜7のいずれかに記載のウェブアプリケーションファイアーウォールプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−68903(P2012−68903A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−213312(P2010−213312)
【出願日】平成22年9月24日(2010.9.24)
【出願人】(399004175)DTS株式会社 (5)
【出願人】(510255325)ナショナル ユニバーシティ オブ サイエンス アンド テクノロジー (1)
【Fターム(参考)】