(57)【要約】  １つの側面では、本発明は、ネットワークに接続された機器の脆弱性に対する効果的な保護を提供することを目的とする。  一実施形態によれば、ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力する装置であって、前記受信されたデータを、所定のパターンと比較した結果を出力する比較部であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのうち、前記テスト機器が所定の挙動を示したパターンである、比較部と、前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、を有する装置が提供される。
2014076773.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力する装置であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する比較部であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンである、比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有する装置。
【請求項２】
前記比較部は、前記受信されたデータと、前記所定のパターンが類似する場合に、肯定的な結果を出力する、
請求項１記載の装置。
【請求項３】
前記所定のパターンは、脆弱性検出部により提供され、
前記脆弱性検出部は、
前記複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を前記テスト機器に与える送信部と、
前記テスト機器の挙動の異常を検知する異常検知部と、
前記挙動の異常が検知された場合、前記挙動の異常の原因となった前記所定のパターンを特定するパターン特定部と、
を更に有する、
請求項１又は２記載の装置。
【請求項４】
前記保護対象機器と前記テスト機器は、同一の機器である、請求項１ないし３のうち何れか１項に記載の装置。
【請求項５】
前記所定のパターンは、ポート番号、及び又は、前記受信されたデータを利用するアプリケーションを特定する情報を含む、請求項１ないし４のうち何れか１項に記載の装置。
【請求項６】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するためのプログラムであって、
前記受信されたデータを、所定のパターンと比較した結果を出力し、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンであり、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する、
処理をコンピュータに実行させるプログラム。
【請求項７】
前記比較した結果を出力する処理は、前記受信されたデータと、前記所定のパターンが類似する場合に、肯定的な結果を出力する、
請求項６記載のプログラム。
【請求項８】
前記複数のパターンのデータを生成し、
生成された前記複数のパターンのデータの各々を前記テスト機器に与え、
前記テスト機器の挙動の異常を検知し、
前記挙動の異常が検知された場合、前記挙動の異常の原因となった前記所定のパターンを特定する、
処理をコンピュータに実行させるプログラムを更に有する、
請求項６又は７記載のプログラム。
【請求項９】
前記保護対象機器と前記テスト機器は、同一の機器である、請求項６ないし８のうち何れか１項に記載のプログラム。
【請求項１０】
前記所定のパターンは、ポート番号、及び又は、前記受信されたデータを利用するアプリケーションを特定する情報を含む、請求項６ないし９のうち何れか１項に記載のプログラム。
【請求項１１】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するための方法であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する工程であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうちで、前記テスト機器が所定の挙動を示したパターンである、工程と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する工程と、
を有する方法。
【請求項１２】
前記比較した結果を出力する工程は、前記受信されたデータと、前記所定のパターンが類似する場合に、肯定的な結果を出力する、
請求項１１記載の方法。
【請求項１３】
前記複数のパターンのデータを生成する工程と、
生成された前記複数のパターンのデータの各々を前記テスト機器に与える工程と、
前記テスト機器の挙動の異常を検知する工程と、
前記挙動の異常が検知された場合、前記挙動の異常の原因となった前記所定のパターンを特定する工程と、
を更に有する、
請求項１１又は１２記載の方法。
【請求項１４】
前記保護対象機器と前記テスト機器は、同一の機器である、請求項１１ないし１３のうち何れか１項に記載の方法。
【請求項１５】
前記所定のパターンは、ポート番号、及び又は、前記受信されたデータを利用するアプリケーションを特定する情報を含む、請求項１１ないし１４のうち何れか１項に記載の方法。
【請求項１６】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するシステムであって、
複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を、保護対象機器の挙動を推定するためのテスト機器に与えるパターンデータ送信部と、
前記テスト機器の挙動を検知する異常検知部と、
前記テスト機器の所定の挙動が検知された場合、前記所定の挙動の原因となった所定のパターンを特定する特定部と、
前記受信されたデータを、前記所定のパターンと比較した結果を出力する比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で伝送されるデータに対するフィルタリングの技術に関する。
【背景技術】
【０００２】
近年、ファジングとよばれるブラックボックスセキュリティテストの手法が広く利用されつつある。ファジングのためのツールは、脆弱性の検出に有効と考えられるテストデータを何種類も大量にテスト対象製品に試行することにより、脆弱性を検出する。例えば、ファジングツールにより、バッファオーバーフローや整数オーバーフローなどの未知の脆弱性を発見することが行われている。なお、近年では、誰でもがファジングツールを利用できる状況となっており、悪意のある者によって製品の未知の脆弱性を容易に発見されてしまう恐れがある。【０００３】
ネットワークと接続される製品は、販売時点において、ネットワークからの攻撃に対して強固なセキュリティ対策が施されていることが理想である。しかしながら、この製品が販売され、消費者に渡った後に、この製品の脆弱性が新たに発見されることも多い。また、製品内には、様々な部品が含まれている。これらの部品の中には、内部を調査することが容易でないブラックボックスモジュール（ソースコードの監査などができないモジュール）も存在する。また、販売された製品が、購入者のシステムに組み込まれて、始めて発見される脆弱性も存在する。また、販売された製品に脆弱性が発見されても、その脆弱性に対応するアップデートソフトウエアなどの配布には時間がかかる場合も多い。【０００４】
このため、製品の未知の脆弱性への対策が急務となっている。【０００５】
従来、応用プログラムのソースコードを自動的にスキャンし、応用プログラムレベルの脆弱性を検出する技術が存在する（例えば、特許文献１）。【０００６】
また、動作中のアプリケーション上で発生した異常終了動作データを逐次蓄積し表示することで、異常発生原因の分析並びに復旧の対応処理を行う技術が存在する（例えば、特許文献２）。【０００７】
また、ネットワークを介して接続されているサーバと通信可能な通信装置であって、ＰＯＰ３サーバからメールメッセージを受信すると、そのメールメッセージにエラーが存在するかどうかを判定し、エラーが存在すると判定されたメールメッセージのユニークＩＤを登録し、その登録されたユニークＩＤと同じユニークＩＤを有するメールメッセージの番号を受信すると、そのメールメッセージの受信を拒否する技術が存在する（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−５０７１６５号公報
【特許文献２】特開平６−３５８５７号公報
【特許文献３】特開２００３−３２３３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
１つの側面では、本発明は、ネットワークに接続された機器の脆弱性に対する効果的な保護を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一実施形態によれば、ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力する装置であって、前記受信されたデータを、所定のパターンと比較した結果を出力する比較部であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンである、比較部と、前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、を有する装置が提供される。
【発明の効果】
【００１１】
実施態様によれば、ネットワークに接続された機器を簡便に保護することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に従った機能ブロック図である。
【図２】一実施形態に従った正常パターンと、テスト用のパターンの例を示す図である。
【図３】一実施形態の方法のフローチャートである。
【図４】一実施形態の方法のフローチャートである。
【図５】パターンを生成するために用いるリストの例を示す図である。
【図６】異常が特定されたパターンを保存するリストの例を示す図である。
【図７】他の実施形態の構成を示す図である。
【図８】他の実施形態の構成を示す図である。
【図９】他の実施形態の構成を示す図である。
【図１０】異常検知部の動作を例示するブロック図である。
【図１１】一実施形態のハードウエア構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、図面を用いて本発明の実施形態を詳細に説明する。なお、以下の実施形態は、発明を理解するためのものであり、本発明の範囲を限定するためのものではない点に留意すべきである。また、以下の複数の実施形態は、相互に排他的なものではない。したがって、矛盾が生じない限り、異なる実施形態の各要素を組み合わせることも意図されていることに留意すべきである。また、請求項に記載された方法やプログラムに係る発明は、矛盾のない限り処理の順番を入れ替えてもよく、あるいは、複数の処理を同時に実施してもよい。そして、これらの実施形態も、請求項に記載された発明の技術的範囲に包含されることは言うまでもない。
【００１４】
また、コンピュータが読み出したプログラムコードを実行することにより、後述の実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどの他のプログラムが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００１５】
また、本発明の各種実施形態のそれぞれの構成要素は、物理的に分離された複数のハードウエアで実現されてもよい。また、本発明の各種実施形態のそれぞれの構成要素は、１つのサーバ上で動作する複数のバーチャルマシンに分散されて実現されてもよい。
【実施例】
【００１６】
図１は、一実施形態に従った、フィルタリングシステム１００の機能ブロック図を示している。保護対象機器１１０は、フィルタリング部１３０を介して外部のネットワーク１５０と接続されている。フィルタリング部１３０は、保護対象機器１１０に対して、ネットワーク１５０から伝達されるデータをフィルタリングする。このフィルタリングによって、保護対象機器１１０の脆弱性に対して脅威を及ぼすデータを遮断することができる。【００１７】
また、フィルタリング部１３０は、脆弱性検出部１４０と接続されてもよい。脆弱性検出部１４０は、テスト機器１２０に接続されてもよい。【００１８】
なお、フィルタリング部１３０及び脆弱性検出部１４０は、物理的に分離されてもよい。また、これらは、物理的にどのような場所におかれてもよい。【００１９】
保護対象機器１１０は、ネットワークに接続され得る、いかなる機器であってもよい。保護対象機器１１０の具体例としては、サーバ、パーソナルコンピュータ、ハンドヘルドコンピュータ、ゲーム機器、テレビ、家電製品、ナビゲーションシステム、携帯電話などが挙げられる。【００２０】
フィルタリング部１３０は、パターン保存部１３２、比較部１３４、遮断部１３６を含んでもよい。ネットワーク１５０からフィルタリング部１３０に対して、伝送路１３３を介して、パケット列が送られてくる。比較部１３４は、伝送されたパケットの各々を、パターン保存部１３２に保存されている複数のパターンと比較してもよい。なお、比較の単位は、パケットに限定されるものではない。伝送路１３３に流れるデータの形式は、パケット以外のいかなる形式であってもよい。また、比較部１３４は、伝送路に流れるデータの一部とパターン保存部１３２に保存されたパターンとを比較してもよい。或いは、比較部１３４は、伝送路に流れるデータが圧縮等で変換されている場合には、逆変換したデータを比較対象としてもよい。比較部１３４における比較は、完全一致の比較でなくてもよい。比較は、例えば、データが一定の数値範囲に入るか否か、データのビット数の長さが所定の範囲にあるか否かを、１つ以上の閾値を用いて比較（判定）してもよい。したがって、比較は、完全な一致以外に、上述のような比較の幅を持たせることにより、類似の範囲を含んだ判定結果であってもよい。比較結果によって、比較部１３４は、肯定的な結果又は否定的な結果を出力してもよい。また、比較は、データのシーケンスが所定の規則に従っているか否かを比較（判定）してもよい。【００２１】
パターン保存部１３２は、所定のビット列を格納してもよいが、これに限定されるものではない。例えば、単なるデータ列のパターン以外に、規則としてのパターンが保存されていてもよい。例えば、パラメータ値のビット列の長さ、パラメータ値の範囲などが、規則の形でパターンとして保存されていてもよい。或いは、パターンには、保護対象機器１１０へのポート番号、データが利用される保護対象機器１１０のアプリケーションの情報等が含まれてもよい。比較部１３４は、様々な形式のパターンに基づいて、伝送路１３３に流れるデータを比較し又は判定し、その結果として肯定的な結果又は否定的な結果を、伝送路１３５を介して遮断部１３６に出力してもよい。なお、本明細書において、比較部１３４の肯定的な結果とは、データとパターンとが所定の規則に従っていることを意味し、そのデータは遮断部１３６において、遮断されるべきことを意味する。比較器における否定的な結果とは、その逆を意味し、遮断部１３６においてデータを通過させるべきことを意味する。【００２２】
遮断部１３６は、ネットワーク１５０と保護対象機器１１０との間に位置し、ネットワークから保護対象機器１１０に提供されるデータをフィルタリングしてもよい。なお、保護対象機器１１０からネットワーク１５０へ出力されるデータは、そのまま通過させてもよい。遮断部は、伝送路１３３を入力とし、所定のデータを遮断した後のデータを、伝送路１３７を介して保護対象機器１１０に伝達する。遮断部１３６は、比較部１３４からの制御情報を、伝送路１３５を介して受信する。伝送されるデータがパケットに分離されている場合には、遮断部１３６は、受信したパケットをバッファリングしてもよい。そして、比較部から伝送路１３５を介して送られてくる制御信号の到来を待って、バッファリングしたパケットを遮断するか、通過させるかを実行してもよい。遮断したパケットは、破棄してもよい。或いは、遮断部１３６は、比較部１３４が比較しているデータをバッファリングしてもよい。そして、比較部から伝送路１３５を介して送られてくる制御信号の到来を待って、バッファリングしたデータを遮断するか、通過させるかを実行してもよい。【００２３】
脆弱性検出部１４０に接続されているテスト機器１２０は、保護対象機器１１０の挙動をシミュレートする機器であってもよい。テスト機器１２０は、保護対象機器１１０と同じ仕様の製品を用いてもよい。例えば、保護対象機器１１０がサーバであれば、同じ仕様のサーバであって、同じソフトウエアを搭載したものであることが望ましい。なお、保護対象機器１１０をそのままテスト機器１２０として用いてもよい（この点は、図７を用いて後述する）。なお、テスト機器１２０は、挙動をチェックするために、例えばコンソールポートに、異常検知部１４６を接続してもよい。また、ソフトウエアの挙動を監視するために、バーチャルマシン上でソフトウエアを稼働させ、バーチャルマシンのファームウエアによってソフトウエアを監視し、その監視出力を異常検知部１４６に送ってもよい。【００２４】
脆弱性検出部１４０は、パターン生成部１４２、送信部１４４、異常検知部１４６、パターン特定部１４８を含んでもよい。【００２５】
パターン生成部１４２は、様々なパターンのデータを生成してもよい。パターンの例については後述する。データがパケットの形で送られる場合には、パケットを生成してもよい。また、圧縮されたデータなど、所定の処理を施したデータを生成してもよい。生成されるパターンについての例は、図２を用いて後述する。【００２６】
送信部１４４は、パターン生成部１４２によって生成されたパターンのデータを、テスト機器１２０に送信する。【００２７】
異常検知部１４６は、テスト機器１２０の挙動を監視する。挙動の監視は、１つのパターンのデータがテスト機器１２０に送られる度に実行されてもよい。異常検知部１４６は、テスト機器１２０が正常に動作しているか、又は異常終了したかを確認してもよい。テスト機器１２０の挙動の監視としては、例えば、テスト機器のコンソールポートから出力される文字列情報を監視してもよい。例えば、サーバのコンソールポートからは、サーバの異常を知らせるために、コンソールポートにおいて異常を知らせる表示を行うことがある。異常検知部１４６は、この表示に係るデータを捕捉し、サーバの異常を検出してもよい。或いは、一定時間経過後に、死活確認用のパケット（Ｐｉｎｇ等）を、異常検知部からテスト機器に送信し、返信があるか否かをチェックしてもよい。例えば、テスト機器が異常終了した場合や、ハングアップしている場合には、ｐｉｎｇの返信が行われないことがあるため、ｐｉｎｇの返信が無いことによって、テスト機器１２０の異常を確認することができる。【００２８】
また、テスト機器上のソフトウエアの挙動を監視するために、バーチャルマシン上でテスト機器を構築してもよい。そして、テスト機器上で注目しているソフトウエアを稼働させ、バーチャルマシンのファームウエアによって、このテスト機器の挙動を監視し、その監視結果を異常検知部１４６に送ってもよい。【００２９】
パターン特定部１４８では、異常を引き起こしたパターンを特定する。異常検知部で異常を検知した場合には、その異常に関する情報がパターン特定部１４８に伝達されるため、その直前に送信したパターンを、パターン特定部１４８が特定することができる。【００３０】
パターン特定部１４８は、異常を引き起こしたパターンを特定し、パターン保存部１３２に送ってもよい。また、パターン特定部１４８は、パターンのデータそのものではなく、パターンの長さ（ビット長）などを、パターンとして特定し、パターン特定部１４８に送信してもよい。また、パターン特定部１４８は、パターンと共に、使用したポート番号や対象とするアプリケーションを特定する情報をパターンと関連付けて、パターン保存部１３２に提供してもよい。【００３１】
以上のように、フィルタリング部１３０と脆弱性検出部１４０とは、連繋を取りながら動作することができる。【００３２】
このようにして、保護対象機器１１０に内在する新たな脆弱性を効率的に発見することができる。そして、その脆弱性をターゲットとしたネットワークからのデータの伝送を、効果的に遮断することができる。このことによって、保護対象機器１１０の保護を迅速に行うことができる。【００３３】
図２は、一実施形態に従った正常パターンと、テスト用のパターンの例を示している。保護対象機器１１０がＷｅｂサーバであるとして、ＨＴＴＰリクエストとしてテストデータ（パケット）を送信する例が示されている。【００３４】
正常パターン２００は、ＨＴＴＰプロトコルの各種ヘッダ部分である。この情報が、１つのパケットに含まれる。テストパターン１（２１０）ないしテストパターン４（２４０）は、パターン生成部１４２が生成するパターンの例を示している。これらのテストパターンは、主としてバッファオーバーフローをチェックするためのパターンである。４種類のヘッダが存在するため、各ヘッダに、Ｘが２５６個連続するデータが用いられている。【００３５】
テストパターン１（２１０）は、ホストアドレスとして、通常ではあり得ないビット長のアドレス（ＸＸＸ・・・ＸＸＸ）を含む。テストパターン２（２２０）は、受信側の利用するデータ形式を示すアクセプトパラメータとして、通常ではあり得ないビット長のパラメータ（ＸＸＸ・・・ＸＸＸ）を含む。テストパターン３（２３０）は、受信側の利用する言語を示す言語パラメータとして、通常ではあり得ないビット長のパラメータ（ＸＸＸ・・・ＸＸＸ）を含む。テストパターン４（２４０）は、受信側の利用するユーザエージェントのパラメータとして、通常ではあり得ないビット長のパラメータ（ＸＸＸ・・・ＸＸＸ）を含む。なお、Ｘの代わりに、Ｎｕｌｌとしたり、文字列の長さを２５６個ではなく、それよりも長い文字列を用いたりしてもよい。【００３６】
図３は、一実施形態の比較部１３４の処理のフローチャート３００を示している。この方法は、例えば、ネットワーク１５０からのデータ（パケット）の入力イベントによって開始されてもよい（ステップ３１０）。例えば、受信した複数のパケットの各々に対してこのフローを実行してもよい。【００３７】
ステップ３２０において、パターン生成部１４２に保存されているパターンと、ネットワーク１５０から受信されたデータとが比較される。比較はパケットの単位であってもよい。ステップ３２０は、比較結果が肯定的であれば、「はい」を出力する。肯定的であることは、受信されたデータ（パケット）を遮断すべきであることを示しており、ステップ３３０に進む。比較結果が肯定的でない場合（「いいえ」）であれば、受信されたデータは、通過させてよいことを意味し、ステップ３４０に進む。【００３８】
ステップ３３０において、遮断部１３６は、受信されたデータ（パケット）を遮断する。この遮断によって、保護対象機器１１０に対して異常をもたらすデータが伝達されることを効果的に防止できる。【００３９】
ステップ２４０において、遮断部１３６はｒｘ、受信されたデータを通過させ、保護対象機器１１０に、データを伝達する。【００４０】
図４は、一実施形態における脆弱性検出部１４０の処理のフローチャートを示している。【００４１】
ステップ４１０において、全てのパターンがテストされたかが判断される。図２に示したように、テストするパターンは、複数存在する。したがって、このステップ４１０において、全てのテストパターンのテストが終了すれば、この処理は終了する。全てのパターンのテストが終了していない場合には、ステップ４２０に進む。【００４２】
ステップ４２０において、パターン生成部１４２によって、１つのパターンが生成される。１つのパターンは、１つのパケットであってもよい。【００４３】
ステップ４３０において、生成されたパターンが送信部１４４によってテスト機器１２０に送信される。なお、テスト機器１２０として保護対象機器１１０とが同じ機器である場合には、生成されたパターンは、送信部１４４によって保護対象機器１１０に送られてもよい。【００４４】
ステップ４４０において、異常検知部１４６によって、テスト機器１２０の挙動が検知される。異常検知の方法としては、テスト機器のコンソール出力の異常表示の有無、Ｐｉｎｇによる返信が受信できるか否か等を自動的にチェックしてもよい。【００４５】
ステップ４５０において、所定の挙動例えば異常が検知されたか否かが判断される。この判断結果が「はい」であれば、ステップ４６０に進む。この判断が「いいえ」であれば、ステップ４７０に進む。【００４６】
ステップ４６０において、テスト機器１２０に異常を引き起こしたパターンを特定する。特定されたパターンは、パターン保存部１３２に通知されてもよい。【００４７】
ステップ４８０において、チェック結果を記録してもよい。この記録によって、テスト対象機器に対するテストの進捗管理を行ってもよい。また、この記録を用いて、保護対象機器１１０の脆弱性の管理を行ってもよい。或いは、この記録に基づいて、例えば、保護対象機器１１０に内在するアプリケーションプログラムのバージョンアップを行ってもよい。バージョンアップが行われ、保護対象機器１１０の脆弱性が改善できた場合には、その情報を基に、パターン保存部１３２に保存されているパターンから、脆弱性が改善できた不要なパターンを削除するようにしてもよい（不図示）。【００４８】
図５は、パターンを生成するために用いるリスト５００の例を示している。図５に示す情報を、例えば、脆弱性検出部１４０に記憶してもよい。リスト５００には、例えば以下の情報が保存されてもよい。【００４９】
以下が図５に示すようなテスト情報保存手段に予め保存されているものとする。
（１）保護対象機器１１０のＩＰアドレス：１９２．１６８．１．１０
（２）保護対象機器１１０のポート番号：８０
（３）テスト方法：テスト１
（４）保護対象機器１１０の対象アプリケーション：業務プログラム１
（５）テスト１の正常パターン：正常パターンの保存アドレス
（６）テスト１のテストパターンの総数：４
（７）テスト１の次にテストすべきパターンの番号：１
上記（１）には、送信部１４４が送信するパターンを送信する宛先のテスト機器１２０のアドレスを示す情報を保存してもよい。上記（２）には、保護対象機器１１０のポート番号を特定してもよい。一般に、保護対象機器１１０のポート番号によって、脆弱性は異なるからである。上記（３）には、テスト方法を特定する情報が格納されてもよい。ここでは、「テスト１」が保存されており、例えば、「テスト１」は、上述のバッファオーバーフローに関するテストであることを示している。そして、例えば「テスト２」としては、ヘッダの名前を置き換えるテストであることを特定してもよい。上記（４）には、保護対象機器１１０において動作しているテスト対象のアプリケーションを特定する情報が保存されてもよい。この項目を利用するのは、動作するアプリケーション毎に脆弱性が異なる場合が想定されるからである。上記（５）は、テスト１の正常パターンを特定する項目である。これは、例えば、正常パターンが格納されているアドレスにより特定されてもよい。上記（６）は、テスト１のテストパターンの総数を示している。図４に示したステップ４１０を実行する際に、この情報が利用されてもよい。上記（７）は、図４に示したステップ４１０を実行する際に、この情報が利用されてもよい。この値をインクリメントすることにより、次のテストのバターンを生成することができる。図５においては、値が「１」となっているため、初期値であることを示しており、テスト１はまだ実行されていないことを示している。【００５０】
図６は、異常が特定されたパターンを保存するリスト６００の例を示している。「テスト番号」は、１から順にインクリメントする番号であり、エントリの位置を特定するために用いてもよい。「テスト方法」は、どのテストによって異常が検出されたかを示すものとして利用され得る。「テスト１の正常パターン」は、正常なパターンを確認したい場合に利用されてもよい。「テスト１のパターン情報」は、具体的に異常を引き起こしたパターンのアドレスが格納されてもよい。或いは、パターンに付与されたシーケンスの番号を保存し、パターンを特定してもよい。リスト６００は、パターン保存部１３２に格納され得る。【００５１】
図７は、他の実施形態の構成を示している。脆弱性検出部１４０は、伝送路７２０によって保護対象機器１１０に接続されている。この場合には、脆弱性検出部１４０は、保護対象機器１１０に接続されているため、例えば、保護対象機器１１０がサーバの場合、システムダウンを起こす可能性がある。したがって、保護対象機器１１０のシステムメンテナンス時などに、脆弱性検出部１４０を稼働させ、脆弱性のテストを行うことが望ましい。あるいは、再稼働が迅速に行える保護対象機器１１０であれば、保護対象機器１１０の稼働中に、脆弱性検出部１４０を動作させてもよい。この実施例の場合には、保護対象機器１１０を直接チェックできるため、保護対象機器１１０の挙動を推定するためのテスト機器１２０が不要となる。また、テスト機器１２０を使用する場合よりも、より正確な脆弱性のチェックが行える。脆弱性検出部１４０によって特定されたパターンは、伝送路７４０を介してフィルタリング部１３０に伝達することができる。【００５２】
図８は、他の実施形態の構成を示している。フィルタリング部１３０が、保護対象機器１１０内に組み込まれている実施例である。フィルタリング部１３０を保護対象製品内のフロントエンド部に設置することができる。したがって、保護対象機器１１０毎にフィルタリング部１３０におけるフィルタリングの動作をカスタマイズでき、保護対象機器１１０に対して、より適合した脆弱性の対策を講じることができる。なお、図８の場合には、脆弱性検出部１４０が、保護対象機器１１０に、伝送路８２０を介して接続されているが、別途テスト機器１２０を設置してもよい（不図示）。脆弱性検出部１４０によって特定されたパターンは伝送路８１０を介してフィルタリング部１３０に伝達される。【００５３】
図９は、他の実施形態の構成を示している。保護対象機器１１０内に脆弱性検出部１４０とフィルタリング部１３０が位置している。なお、この実施例の場合には、脆弱性検出部１４０が、保護対象機器１１０内に存在するため、保護対象機器１１０の異常動作が、脆弱性検出部１４０の動作に影響することが予想される。したがって、保護対象機器１１０の異常動作が保護対象機器１１０によるパターンの特定に影響する場合がある。このような事態に対処するためには、同一のサーバに複数のバーチャルマシンを動作させ、脆弱性検出部１４０と、保護対象機器１１０とを、別のバーチャルマシンで動作させてもよい。このようにすれば、保護対象機器１１０の異常動作が保護対象機器１１０によるパターンの特定に影響するのを飛躍的に減少させることができる。【００５４】
図１０は、異常検知部の動作を例示するブロック図である。例えば、テスト機器１２０がサーバの場合には、コンソールポートなどが装備されている場合がある。したがって、伝送路１０３０を介して、テスト機器１２０のコンソールポートを異常検知部１４６に接続してもよい。異常検知部１４６は、テスト機器１２０のコンソールポートの出力を解析することによって、テスト機器１２０の異常の有無を調べることができる。通常、サーバなどのコンソールポートからの出力には、サーバの異常を知らせる種々の情報が出力されるからである。【００５５】
また、図１０に示すように、異常検知部１４６からテスト機器１２０にｐｉｎｇなどの死活確認用のパケットを送ってもよい。そして、一定時間経過後に、その返信があるか否かを確認してもよい。返信が確認できない場合には、テスト機器１２０がシステムダウンを起こしていたり、ハングアップしていたりする可能性が非常に高いことが分かる。したがって、死活確認用のパケットの送信により、テスト機器１２０の異常の発生を確認することができる。或いは、異常検知部１４６から、ステータス確認用のコマンドを送信し、テスト機器１２０の種々のステータスを確認して、異常の有無を検知してもよい。【００５６】
本発明は、これらの実施例に限定されるものではない。【００５７】
図１１は、本発明の実施形態のハードウェア（コンピュータ）の構成例を示している。ハードウエアは、ＣＰＵ１１１０、メモリ１１１５、入力装置１１２０、出力装置１１２５、外部記憶装置１１３０、可搬記憶媒体駆動装置１１３５、ネットワーク接続装置１１４５が含まれる。そして、それぞれの機器は、バス１１５０によって接続されている。また、可搬記憶媒体駆動装置１１３５は、可搬記憶媒体１１４０を読み書きすることができる。そして、ネットワーク接続装置１１４５には、ネットワーク１１６０が接続されている。【００５８】
なお、本実施形態の全部又は一部はプログラムによってインプリメントされ得る。このプログラムは、可搬記憶媒体１１４０に格納することができる。可搬記憶媒体１１４０とは、構造を有する１つ以上の非一時的（non-transitory）な記憶媒体を言う。例示として、可搬記憶媒体１１４０としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital  Versatile  Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact  Disc-Read  Only  Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。また、光磁気記録媒体には、ＭＯ（Magneto-Optical  disk）などがある。可搬型記録媒体に格納されたプログラムが読み込まれ、ＣＰＵによって実行されることにより、本発明の実施形態の全部又は一部が実施され得る。
【符号の説明】
【００５９】
１００  フィルタリングシステム
１１０  保護対象機器
１２０  テスト機器
１３０  フィルタリング部
１３２  パターン保存部
１３４  比較部
１３６  遮断部
１４０  脆弱性検出部
１４２  パターン生成部
１４４  送信部
１４６  異常検知部
１４８  パターン特定部
１５０  ネットワーク
【図１】
2014076773.tif 000003
【図２】
2014076773.tif 000004
【図３】
2014076773.tif 000005
【図４】
2014076773.tif 000006
【図５】
2014076773.tif 000007
【図６】
2014076773.tif 000008
【図７】
2014076773.tif 000009
【図８】
2014076773.tif 000010
【図９】
2014076773.tif 000011
【図１０】
2014076773.tif 000012
【図１１】
2014076773.tif 000013
【手続補正書】
【提出日】平成27年4月2日(2015.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力する装置であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する比較部であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンである、比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有する装置。
【請求項２】
前記比較部は、前記受信されたデータと、前記所定のパターンが類似する場合に、肯定的な結果を出力する、
請求項１記載の装置。
【請求項３】
前記所定のパターンは、脆弱性検出部により提供され、
前記脆弱性検出部は、
前記複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を前記テスト機器に与える送信部と、
前記テスト機器の挙動の異常を検知する異常検知部と、
前記挙動の異常が検知された場合、前記挙動の異常の原因となった前記所定のパターンを特定するパターン特定部と、
を更に有する、
請求項１又は２記載の装置。
【請求項４】
前記保護対象機器と前記テスト機器は、同一の機器である、請求項１ないし３のうち何れか１項に記載の装置。
【請求項５】
前記所定のパターンは、ポート番号、及び又は、前記受信されたデータを利用するアプリケーションを特定する情報を含む、請求項１ないし４のうち何れか１項に記載の装置。
【請求項６】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するためのプログラムであって、
前記受信されたデータを、所定のパターンと比較した結果を出力し、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンであり、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する、
処理をコンピュータに実行させるプログラム。
【請求項７】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するための方法であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する工程であって、前記所定のパターンは、前記保護対象機器の挙動を推定するためのテスト機器に与えた複数のパターンのデータのうちで、前記テスト機器が所定の挙動を示したパターンである、工程と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する工程と、
を有する方法。
【請求項８】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するシステムであって、
複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を、保護対象機器の挙動を推定するためのテスト機器に与えるパターンデータ送信部と、
前記テスト機器の挙動を検知する異常検知部と、
前記テスト機器の所定の挙動が検知された場合、前記所定の挙動の原因となった所定のパターンを特定する特定部と、
前記受信されたデータを、前記所定のパターンと比較した結果を出力する比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有するシステム。
【手続補正書】
【提出日】平成28年5月23日(2016.5.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力する装置であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する比較部であって、前記所定のパターンは、前記保護対象機器の挙動を推定するための、前記保護対象機器とは異なる、テスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンである、比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有する装置。
【請求項２】
前記比較部は、前記受信されたデータと、前記所定のパターンが類似する場合に、肯定的な結果を出力する、
請求項１記載の装置。
【請求項３】
前記所定のパターンは、脆弱性検出部により提供され、
前記脆弱性検出部は、
前記複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を前記テスト機器に与える送信部と、
前記テスト機器の挙動の異常を検知する異常検知部と、
前記挙動の異常が検知された場合、前記挙動の異常の原因となった前記所定のパターンを特定するパターン特定部と、
を更に有する、
請求項１又は２記載の装置。
【請求項４】
前記所定のパターンは、ポート番号、及び又は、前記受信されたデータを利用するアプリケーションを特定する情報を含む、請求項１ないし３のうち何れか１項に記載の装置。
【請求項５】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するためのプログラムであって、
前記受信されたデータを、所定のパターンと比較した結果を出力し、前記所定のパターンは、前記保護対象機器の挙動を推定するための、前記保護対象機器とは異なる、テスト機器に与えた複数のパターンのデータのうち、前記テスト機器が所定の挙動を示したパターンであり、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する、
処理をコンピュータに実行させるプログラム。
【請求項６】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するための方法であって、
前記受信されたデータを、所定のパターンと比較した結果を出力する工程であって、前記所定のパターンは、前記保護対象機器の挙動を推定するための、前記保護対象機器とは異なる、テスト機器に与えた複数のパターンのデータのうちで、前記テスト機器が所定の挙動を示したパターンである、工程と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する工程と、
を有する方法。
【請求項７】
ネットワークを介して受信されたデータをフィルタリングして保護対象機器に出力するシステムであって、
複数のパターンのデータを生成する生成部と、
生成された前記複数のパターンのデータの各々を、保護対象機器の挙動を推定するためのテスト機器に与えるパターンデータ送信部と、
前記テスト機器の挙動を検知する異常検知部と、
前記テスト機器の所定の挙動が検知された場合、前記所定の挙動の原因となった所定のパターンを特定する特定部と、
前記受信されたデータを、前記所定のパターンと比較した結果を出力する比較部と、
前記比較した結果が、データを遮断すべきことを意味する肯定的な結果である場合、前記受信されたデータを遮断する遮断部と、
を有するシステム。
【国際調査報告】
2014076773.tif 000014
2014076773.tif 000015
2014076773.tif 000016
2014076773.tif 000017