JP6233414B2 - 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム - Google Patents

情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム Download PDF

Info

Publication number
JP6233414B2
JP6233414B2 JP2015528081A JP2015528081A JP6233414B2 JP 6233414 B2 JP6233414 B2 JP 6233414B2 JP 2015528081 A JP2015528081 A JP 2015528081A JP 2015528081 A JP2015528081 A JP 2015528081A JP 6233414 B2 JP6233414 B2 JP 6233414B2
Authority
JP
Japan
Prior art keywords
data
unit
test
pattern
abnormality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015528081A
Other languages
English (en)
Other versions
JPWO2015011827A1 (ja
Inventor
尚 兒島
尚 兒島
中田 正弘
正弘 中田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2015011827A1 publication Critical patent/JPWO2015011827A1/ja
Application granted granted Critical
Publication of JP6233414B2 publication Critical patent/JP6233414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワーク上で伝送されるデータに対するフィルタリングの技術に関する。
近年、ファジングとよばれるブラックボックスセキュリティテストの手法が広く利用されつつある。ファジングのためのツールは、脆弱性の検出に有効と考えられるテストデータを何種類も大量にテスト対象製品に試行することにより、脆弱性を検出する。例えば、ファジングツールにより、バッファオーバーフローや整数オーバーフロー等の未知の脆弱性を発見することが行われている。なお、近年では、誰でもがファジングツールを利用できる状況となっており、悪意のある者によって製品の未知の脆弱性を容易に発見されてしまう恐れがある。
ネットワークと接続される製品は、販売時点において、ネットワークからの攻撃に対して強固なセキュリティ対策が施されていることが理想である。しかしながら、この製品が販売され、消費者に渡った後に、この製品の脆弱性が新たに発見されることも多い。また、製品内には、様々な部品が含まれている。これらの部品の中には、内部を調査することが容易でないブラックボックスモジュール(ソースコードの監査等ができないモジュール)も存在する。また、販売された製品が、購入者のシステムに組み込まれて、始めて発見される脆弱性も存在する。また、販売された製品に脆弱性が発見されても、その脆弱性に対応するアップデートソフトウェア等の配布には時間がかかる場合も多い。このため、製品の未知の脆弱性への対策が急務となっている。
例えば、応用プログラムのソースコードを自動的にスキャンし、応用プログラムレベルの脆弱性を検出する手法がある。また、動作中のアプリケーション上で発生した異常終了動作データを逐次蓄積したり、表示したりすることで異常発生原因の分析並びに復旧の対応処理を行う手法がある。また、Post Office Protocol(POP)3サーバからメールメッセージを受信し、エラーが存在すると判定されたメールメッセージのユニークIDを登録することで、同じユニークIDを有するメールメッセージの受信を拒否する手法がある(例えば、特許文献1〜3参照)。
特開2010−507165号公報 特開平6−35857号公報 特開2003−323383号公報
ところで、上述したファジングテストにおいては、例えばある正常データに対して、各ヘッダの値や長さ等を変更した複数のテストデータを生成し、生成された膨大な数のテストデータを用いてテストを行う。したがって、テスト結果として得られる障害を及ぼすデータの数も多くなるため、記憶領域が圧迫されると共に、テスト結果のデータとネットワークから得られた入力データとの比較によるフィルタリング処理にも多くの時間を要してしまう。
1つの側面では、本発明は、ネットワークに接続された機器の脆弱性に対する効果的な保護を行うと共に、フィルタリングに対する所要時間を短縮することを目的とする。
一態様における情報処理装置は、予め設定されたテスト方法に関する情報に対応させた1又は複数のデータを生成する生成部と、前記生成部により生成された前記データをテスト機器に入力し、該テスト機器が所定の挙動を示したデータを特定する特定部と、前記生成部により得られる前記データに予め設定した特定文字を入力した数と、前記テスト機器の異常を検知したデータの数とが同一である場合、前記異常を検知したデータを前記特定文字で集約する集約部とを有する。
フィルタリングに対する所要時間を短縮することができる。
本実施形態におけるフィルタリングシステムのシステム構成例を示す図である。 フィルタリング装置のハードウェア構成例を示す図である。 脆弱性検出部の処理の一例を示すフローチャートである。 フィルタリング部の処理の一例を示すフローチャートである。 本実施形態における正常パターンとテストパターンの一例を示す図である。 異常検知と防止対象リストの具体例を示す図(その1)である。 異常検知と防止対象リストの具体例を示す図(その2)である。 異常検知と防止対象リストの具体例を示す図(その3)である。 異常検知と防止対象リストの具体例を示す図(その4)である。 異常検知と防止対象リストの具体例を示す図(その5)である。 テストパターンの第1の集約例を示すフローチャートである。 テストパターンの第2の集約例を示すフローチャートである。 防止対象リストの具体例を示す図である。 フィルタリングシステムの他の実施形態の一例を示す図である。
以下、図面に基づいて実施形態を説明する。
<フィルタリングシステムのシステム構成例>
図1は、本実施形態におけるフィルタリングシステムのシステム構成例を示す図である。図1に示すフィルタリングシステム10は、情報処理装置の一例としてのフィルタリング装置100と、テスト機器110と、保護対象機器120とを有する。フィルタリング装置100は、脆弱性検出部130と、フィルタリング部140とを有する。
フィルタリング装置100は、保護対象機器120に対応するテスト機器110に対してファジングによるテストを実施し、保護対象機器120の未知の脆弱性を突いて障害を及ぼすような入力データのパターンを検出する。また、フィルタリング装置100は、検出されたパターンを用いて、ネットワーク150等から保護対象機器120への上述した障害を及ぼすような入力データの到達を防止する。フィルタリング装置100としては、例えばルータ等の中継機器、サーバ、Personal Computer(PC)等であるが、これに限定されるものではない。
テスト機器110は、例えば保護対象機器120の挙動をシミュレートする機器であり、例えば保護対象機器120と同じ仕様の製品を用いることができる。例えば、保護対象機器120がサーバであれば、同じ仕様のサーバで同じソフトウェアを搭載したものであることが好ましいが、これに限定されるものではない。なお、本実施形態におけるフィルタリングシステム10では、テスト機器110を設けずに保護対象機器120をそのままテスト機器110として用いてもよい。
保護対象機器120は、フィルタリング部140を介してネットワーク150と接続されている。フィルタリング部140は、ネットワーク150から保護対象機器120へ伝達されるデータをフィルタリングする。このフィルタリングによって、保護対象機器120の脆弱性に対して脅威を及ぼすデータを遮断することができる。
ネットワーク150は、例えば、インターネットやLocal Area Network(LAN)等であり、有線でも無線でもよい。テスト機器110及び保護対象機器120は、フィルタリング装置100を介してネットワーク150に接続された外部装置(例えば、端末等)とデータの送受信を行うことができる。
ここで、テスト機器110及び保護対象機器120は、ネットワーク150に接続可能ないかなる機器であってもよい。テスト機器110及び保護対象機器120としては、例えばサーバ、PC、ゲーム機器、テレビ、家電製品、ナビゲーションシステム、タブレット端末、携帯電話等があるが、これに限定されるものではない。
<脆弱性検出部130の機能構成例>
次に、上述した脆弱性検出部130の機能構成例について説明する。図1の例において、脆弱性検出部130は、パターン生成部(生成部)131と、送信部132と、異常検知部133と、パターン特定部(特定部)134と、パターン集約部(集約部)135とを有する。
パターン生成部131は、テスト機器110を用いて脆弱性を検出するために、1又は複数のテストパターンのデータを生成する。また、パターン生成部131は、テスト機器110に対してデータがパケットの形で送られる場合には、テストパターンをパケットで生成してもよい。また、パターン生成部131は、例えば圧縮されたデータ等のように所定の処理を施したデータを生成してもよい。
また、パターン生成部131は、例えば1つのテストパターンのデータを生成して、送信部132を介してテスト機器110に送信し、テスト機器110からの異常検知の結果を待ってから、次のテストパターンを生成してもよい。
送信部132は、パターン生成部131によって生成されたテストパターンのデータをテスト機器110に送信する。なお、送信部132は、テスト機器110へテストパターンを1つずつ送信するのが好ましいが、これに限定されるものではない。
異常検知部133は、テスト機器110における所定の挙動を監視する。挙動の監視は、例えば1つのパターンのデータがテスト機器110に送られる度に実行されてもよい。異常検知部133は、例えば所定のテストパターンの入力に対して、テスト機器110が正常に動作しているか又は異常終了したかを確認することで、挙動を監視する。
また、挙動の監視例としては、例えばテスト機器110のコンソールポートから出力される文字列情報を監視してもよい。例えば、テスト機器110がサーバの場合には、コンソールポート等を有する場合がある。したがって、伝送路を介して、テスト機器110のコンソールポートを異常検知部133に接続してもよい。異常検知部133は、テスト機器110のコンソールポートの出力を解析することによって、テスト機器110の異常の有無を調べることができる。通常、サーバ等のコンソールポートからの出力には、サーバの異常を知らせる種々の情報が出力されるからである。
また、異常検知部133は、例えば死活確認用のパケット(例えば、Ping等)を、異常検知部133からテスト機器110に送信し、一定時間経過後に返信があるか否かをチェックすることで、異常を検知してもよい。返信が確認できない場合には、テスト機器110がシステムダウンを起こしていたり、ハングアップしていたりする可能性が非常に高いことが分かる。したがって、異常検知部133は、テスト機器110が異常終了した場合やハングアップしている場合には、pingの返信が行われないことがあるため、pingの返信がないことによってテスト機器110の異常の発生を確認することができる。
また、異常検知部133から、ステータス確認用のコマンドをテスト機器110に送信し、テスト機器110側から得られる種々のステータスを確認することで、異常の有無を検知してもよい。
また、本実施形態では、例えばテスト機器110上のソフトウェアの挙動を監視するために、例えばバーチャルマシン上でテスト機器を構築してもよい。そして、テスト機器110上で注目しているソフトウェアを稼働させ、バーチャルマシンのファームウェア等によって、このテスト機器110の挙動を監視し、その監視結果を異常検知部133に送ってもよい。
パターン特定部134は、異常を引き起こしたデータ(パターン)を特定する。パターン特定部134は、異常検知部133で異常を検知した場合に、その異常に関する情報を受け取り、その直前に送信したデータを防止対象データとして保存する。なお、防止対象データは、例えばパターン毎にリスト化された防止対象リストとして保存されるが、これに限定されるものではない。
ここで、パターン特定部134において、障害を及ぼすテストデータ(例えば、リクエスト等)の全てを防止対象リストに記憶しようとすると、記憶すべきテストデータの数が多いため記憶領域が圧迫される。また、データ量が多いため、それらのデータを用いたフィルタリング部140による入力データのフィルタリング処理にも多くの時間を要してしまう。そこで、パターン集約部135は、パターン特定部134で得られた防止対象リストから、異常を引き起こしたデータの集約を行う。
例えば、パターン集約部135は、テストに使用される複数のテストデータの間で共通している情報を特定し、その情報を利用してテスト結果を集約することで、防止対象リストの記憶量を減少させる。また、この集約されたリストは、データ量が少ないため、フィルタリング処理における所要時間を短縮することができる。なお、パターン集約部135は、予め設定された複数のテスト方法(テスト種別)に対応して複数の防止対象リストが存在する場合には、それらのリスト同士を統合したリストを生成してもよい。
パターン集約部135は、集約した防止対象リストをフィルタリング部140のパターン保存部等に出力する。また、パターン集約部135は、パターンのデータそのものではなく、例えばパターンの長さ(ビット長)、数値、特定文字等により集約したものをパターンとしてパターン保存部に出力してもよい。
また、パターン集約部135は、使用したポート番号や対象とするアプリケーションやソフトウェアを特定する情報等を、上述したパターンと関連付けて、パターン保存部141に提供してもよい。
なお、本実施形態では、上述したパターン集約部135における処理を脆弱性検出部130で行っているが、これに限定されるものではなく、例えばフィルタリング部140で行ってもよい。
<フィルタリング部140の具体例>
次に、上述したフィルタリング部140の機能構成例について説明する。図1の例において、フィルタリング部140は、記憶部の一例であるパターン保存部141と、比較部142と、遮断部143とを有する。
パターン保存部141は、上述したようにパターン集約部135から得られる集約された防止対象リスト等を保存する。パターン保存部141は、所定の情報のビット列を格納してもよいが、これに限定されるものではなく、例えば単なるデータ列のパターン以外に値の範囲を設定したパターンが保存されていてもよい。例えば、パラメータ値のビット列の長さ、パラメータ値の範囲等がパターンとしてパターン保存部141に保存されていてもよい。また、パターンには、保護対象機器120へのポート番号、データが利用される保護対象機器120のアプリケーション、ソフトウェア等の情報等が含まれてもよい。
また、脆弱性検出部130においてパターン集約部135における処理を行っていない場合、パターン保存部141は、保存された防止対象リストに対して、上述したパターン集約部135の処理を行ってデータの集約を行ってもよい。
比較部142は、ネットワーク150を介して接続される外部装置等から伝送された入力データの各々とパターン保存部141に保存されている防止対象リストに含まれる1又は複数の異なるパターンのデータとを比較する。なお、比較する単位は、例えばパケット単位であるが、これに限定されるものではない。ネットワーク150からフィルタリング部140の伝送路に流れるデータの形式は、パケット以外のいかなる形式であってもよい。また、比較部142は、伝送路に流れるデータの一部とパターン保存部141に保存されたパターンとを比較してもよい。
また、比較部142は、伝送路に流れるデータが圧縮等で変換されている場合には、逆変換したデータを比較対象としてもよい。比較部142における比較は、例えば完全一致の比較でなくてもよい。
例えば、比較部142は、例えば入力データ(例えば、パケット等)が所定のデータパターンに含まれるか否かで比較し、その比較結果により肯定的な結果又は否定的な結果を判定する。ここで、所定のデータパターンとは、例えば一定の数値範囲に入るか否か、データのビット数の長さが所定の範囲にあるか否か等の1つ以上の閾値である。比較部142は、完全一致以外にも、上述したような比較の幅(閾値)等を持たせることにより、類似の範囲を含んだ比較結果を取得することができる。
比較部142は、比較結果から判定された肯定的な結果又は否定的な結果を遮断部143に出力する。ここで、肯定的な結果とは、入力データが所定のデータパターンに含まれていることを意味し、そのデータは遮断部143において、遮断されるべきことを意味する。また、否定的な結果とは、その逆を意味し、遮断部143においてデータを通過させるべきことを意味する。
遮断部143は、ネットワーク150から保護対象機器120に入力されるデータをフィルタリングする。なお、遮断部143は、保護対象機器120からネットワーク150へ出力されるデータについては、フィルタリングを行わずにそのまま通過させてもよい。
例えば、遮断部143は、ネットワーク150から伝送路を介して入力し、比較部142により得られる判定結果に基づいて、所定のデータを遮断した後のデータを保護対象機器120へ出力する。
また、遮断部143は、例えば比較部142から制御情報等を取得してもよい。例えば、遮断部143は、伝送されるデータがパケットに分離されている場合に、受信したパケットをバッファリングしてもよい。そして、遮断部143は、比較部142から伝送路を介して送られてくる制御信号の到来を待って、バッファリングしたパケットを遮断するか、通過させるかを実行してもよい。
遮断部143は、遮断したパケットを破棄するが、これに限定されるものではない。本実施形態では、フィルタリング部140及び脆弱性検出部130は、上述したように処理の連繋を取りながら動作することができる。
このようにして、保護対象機器120に内在する新たな脆弱性を効率的に発見することができる。そして、その脆弱性をターゲットとしたネットワーク150からのデータの伝送を、効果的に遮断することができる。これにより、保護対象機器120の保護を迅速に行うことができる。
なお、上述した脆弱性検出部130及びフィルタリング部140は、例えば物理的に分離されてもよく、どのような場所に設置されてもよい。なお、図1に示すフィルタリングシステム10において、フィルタリング装置100における各機能は、テスト機器110に含まれていてもよく、また保護対象機器120に含まれていてもよい。
<ハードウェア構成例>
図2は、フィルタリング装置のハードウェア構成例を示す図である。図2の例に示すフィルタリング装置100は、Central Processing Unit(CPU)201と、メモリ202と、入力装置203と、出力装置204と、外部記憶装置205と、可搬記憶媒体駆動装置206と、ネットワーク接続装置207とを有する。そして、それぞれの機器は、システムバスBによって接続されている。なお、本実施形態の全部又は一部はプログラムによってインプリメントされてもよい。
CPU201は、オペレーティングシステム等の制御プログラムやメモリ202に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等のフィルタリング装置100全体の処理を制御する。なお、プログラムの実行中に必要な各種情報等は、外部記憶装置205から取得することができ、また実行結果等を格納することもできる。
例えば、CPU201は、入力装置203から得られるプログラムの実行指示等に基づき、外部記憶装置205にインストールされたプログラムを実行させることにより、メモリ202上でプログラムに対応する処理を行う。CPU201は、例えば、本実施形態におけるフィルタリングプログラムを実行させることで、脆弱性検出部130による脆弱検出や防止対象リストの生成、フィルタリング部140による防止対象リスト等を用いたフィルタリング処理等を行う。なお、CPU201における処理内容は、これに限定されるものではない。CPU201により実行された内容は、必要に応じて外部記憶装置205に記憶させることができる。
メモリ202は、CPU201により外部記憶装置205から読み出された実行プログラム等を格納する。メモリ202は、例えばROM(Read Only Memory)やRAM(Random Access Memory)等である。
入力装置203は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイス等を有する。入力装置203は、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
出力装置204は、フィルタリング装置100を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU201が有する制御プログラムによりプログラムの実行経過や結果等を表示する。ここで、本実施形態においてフィルタリング装置100としてのコンピュータにインストールされる実行プログラムは、可搬記憶媒体208等により提供される。
外部記憶装置205は、例えばハードディスクドライブやSSD(Solid State Drive)等のストレージ手段等である。外部記憶装置205は、CPU201からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行うことができる。外部記憶装置205は、CPU201からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
可搬記憶媒体駆動装置206は、プログラムを記録した可搬記憶媒体208をセットすることができ、CPU201からの制御信号に基づき、可搬記憶媒体208に含まれる実行プログラムを読み取り外部記憶装置205にインストールする。また、可搬記憶媒体駆動装置206は、CPU201からの制御信号により、実行結果や設定情報等の各種データを可搬記憶媒体208に書き込むことができる。
ネットワーク接続装置207は、CPU201からの制御信号に基づき、ネットワーク150等と接続することにより、実行プログラムやソフトウェア、設定情報等を、ネットワーク150に接続されている外部装置等から取得する。また、ネットワーク接続装置207は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
可搬記憶媒体208は、構造を有する1つ以上の非一時的(non−transitory)な記憶媒体である。本実施形態の全部又は一部は、プログラムによってインプリメントされ得る。このプログラムは、可搬記憶媒体208に格納することができる。
可搬記憶媒体208は、例えば磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリ等があるが、これに限定されるものではない。磁気記録媒体には、例えばHard Disk Drive(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)等がある。光ディスクには、例えばDVD(Digital Versatile Disc)、CD−ROM(Compact Disc−Read Only Memory)等がある。また、光磁気記録媒体には、例えばMO(Magneto−Optical disk)等がある。可搬記憶媒体208に格納されたプログラムが読み込まれ、CPU201によって実行されることにより、本実施形態の全部又は一部が実施され得る。
本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム(例えば、フィルタリングプログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における表示処理等を実現することができる。また、上述したフィルタリングプログラムは、例えば装置上で常駐している状態であってもよく、起動指示により起動させてもよい。
<フィルタリング装置100の処理例>
次に、本実施形態におけるフィルタリング装置100の処理の一例について、フローチャートを用いて説明する。なお、以下の説明では、防止対象データのパターンを検出する脆弱性検出処理(ファジングテスト)と、脆弱性検出処理により検出されたデータパターンを用いたフィルタリング処理とに分けて説明する。
<脆弱性検出部130の処理の一例>
図3は、脆弱性検出部の処理の一例を示すフローチャートである。図3の例において、脆弱性検出部130は、予め設定された全てのパターンをテストしたかを判断する(S01)。本実施形態において、脆弱性を検出するためのテストパターンは、1又は複数種類存在する。そのため、脆弱性検出部130は、各種のパターンに対するテスト実行の有無を判断する。
脆弱性検出部130は、全てのパターンをテストしていない場合(S01において、NO)、パターン生成部131により、予め設定されたパターンのうち、まだテストされていない1つのパターンを生成する(S02)。なお、1つのパターンは、例えばパケット単位のパターンでもよいが、これに限定されるものではない。また、テストパターンの例としては、例えばデータ長(レングス)の異なるデータや数値の異なるデータ、特定文字の挿入や置換等、複数種類の方法があるが、これに限定されるものではない。
脆弱性検出部130は、S02により生成されたパターンを送信部132からテスト機器110に出力する(S03)。なお、テスト機器110が保護対象機器120と同じ機器である場合、脆弱性検出部130は、生成されたパターンを保護対象機器120に送信してもよい。後続の説明では、テスト機器110に出力した例について説明する。
脆弱性検出部130は、異常検知部133によって、テスト機器110の挙動を検知する(S04)。挙動検知の方法としては、例えばテスト機器110のコンソール出力の異常表示の有無、Pingによる返信が受信できるか否か等をチェックすることで挙動検知を行うことができるが、これに限定されるものではない。
次に、脆弱性検出部130は、S04の処理によりテスト機器110に異常が検知されたか否かを判断し(S05)、異常が検知された場合(S05において、YES)、異常を引き起こしたテストパターンのデータを防止対象リストに記憶する(S06)。また、脆弱性検出部130は、異常が検知されなかった場合(S05において、NO)、又は、S06の処理後、S01の処理に戻る。
また、脆弱性検出部130は、上述したS01の処理において、全てのパターンをテストした場合(S01において、YES)、パターン集約部135により防止対象リストを集約し(S07)、集約された防止対象リストをフィルタリング部140に出力する(S08)。フィルタリング部140は、集約された防止対象リストによりデータ量を削減することができ、入力データと比較する対象のデータが削減したため、フィルタリング処理における所要時間を短縮することができる。
ここで、上述したS06の処理において、異常が検知されたときのテストパターンのデータを、障害を及ぼすデータパターンとして防止対象リストに記憶したが、これに限定されるものではない。例えば、異常検知部133が異常検知のチェック結果を記憶するようにしてもよい。この記憶されたデータを用いて、脆弱性検出部130は、テスト機器110に対するテストの進捗管理を行ってもよい。
また、この記憶されたデータを用いて、脆弱性検出部130は、例えば保護対象機器120の脆弱性の管理を行ったり、保護対象機器120に内在するアプリケーションプログラムのバージョンアップ等を行ってもよい。脆弱性検出部130は、上述したバージョンアップが行われ、保護対象機器120の脆弱性が改善できた場合に、その情報に基づいて、パターン保存部141に保存されているパターンから脆弱性が改善できたパターンを削除してもよい。
なお、上述した脆弱性検出部130における処理は、以下に示すフィルタリング部140に示す処理の前に行われていればよく、連続して行わなくてもよい。
<フィルタリング部140の処理の一例>
図4は、フィルタリング部の処理の一例を示すフローチャートである。図4の例において、フィルタリング部140は、ネットワーク150を介してデータ(例えば、HyperText Transfer Protocol(HTTP)リクエスト等)を入力する(S11)。このデータは、パケットデータでもよく、その他の形式のデータでもよい。
フィルタリング部140は、脆弱性検出部130により得られた防止対象リストと、入力データとを比較し(S12)、入力データが遮断対象のデータであるか否かを判断する(S13)。ここで、S12の処理では、フィルタリング部140は、例えば集約された防止対象リストに含まれる1又は複数の異なるパターンのデータをリストの上位から順に全て参照する。また、フィルタリング部140は、入力データが少なくとも1つのデータに当てはまる場合(データパターンに含まれる場合)に遮断対象であると判断するが、これに限定されるものではない。
フィルタリング部140は、入力データが遮断対象である場合(S13において、YES)、入力データを遮断する(S14)。遮断された入力データは破棄されるが、これに限定されるものではない。また、フィルタリング部140は、入力データが遮断対象でない場合(S15において、NO)、入力データを通過させて保護対象機器120に出力する(S15)。これにより、フィルタリング部140は、集約されたデータ量の少ない防止対象リストを用いて入力データを遮断させるか否かの判断を行うことができるため、フィルタリングの所要時間を短縮することができる。
<テストパターンの生成例>
次に、本実施形態におけるテストパターンの生成例について説明する。一般に、保護対象機器120は、ポート番号や動作するアプリケーション等によって脆弱性が異なる。したがって、パターン生成部131は、例えば予め設定されているテスト機器110や保護対象機器120のIPアドレス(例えば、192.168.1.10)、ポート番号(例えば、80)、保護対象機器120で動作するテスト対象のアプリケーション(例えば、業務プログラムA)等に対するテストパターンを生成する。なお、これらの各テストパターンは、予め設定されたテスト機器110が正常な動作を行うデータ(正常データ)を元にして生成される。
パターン生成部131において生成されるテストパターンの種類は、例えば以下に示すテスト方法(テストA〜C等)に関する情報に対応するものであるが、テスト方法の種類やデータ内容等については、これに限定されるものではない。例えばテスト方法に関する情報に対応させて、複数のテストパターンを組み合わせてもよい。
<テストA(値の長さ)>
テスト種別:テストA
使用する正常データ:リクエストA
テスト内容:x(0か1のビット)の連続(バッファオーバーフロー)
長さ(バイト長):1、128、256、32768、65536
<テストB(数値の大きさ)>
テスト種別:テストB
使用する正常データ:リクエストA
テスト内容:ある正常リクエストについて、整数である各ヘッダ値を特定の数値に変更する。
数値:1、128、256、32768、65536
<テストC(特定文字の有無)>
テスト種別:テストC
使用する正常データ:リクエストA
テスト内容:ある正常リクエストについて、各ヘッダ値に任意の文字を特定の文字に置換又は各ヘッダ値に特定の文字を挿入する。
特定文字:¥n、¥r、¥0、¥t、¥¥
置換又は挿入場所:ランダムに決定する。
ここで、図5は、本実施形態における正常パターンとテストパターンの一例を示す図である。図5(A)は、テストパターンの元となる正常データ(正常パケット)の一例を示し、図5(B)〜図5(E)は、正常データに基づいて生成されたそれぞれ異なるテストパターン(テストパケット)1〜4を示している。
また、図5のパターン例では、保護対象機器120をWebサーバとして、そのWebサーバに入力されるHTTPリクエストのパケットデータ(テストリクエスト)を示している。
図5(A)〜(E)において、最初の1行(GET/HTTP/1.1)は、リクエスト行を示し、2行目以降は、HTTPプロトコルの各種ヘッダを示している。なお、実際のパケットでは、図5(A)〜(E)に示すヘッダ部以降にメッセージ部が存在するが、ここではヘッダ部に対するテストパターンの生成例を示す。本実施形態では、メッセージ部にテストパターンを生成してもよい。
ヘッダ部の内容としては、例えばサーバ名(Host)、リクエストを送信した端末(ブラウザ)が受信可能なデータ形式(Accept)、リクエストを送信した端末が受信可能な言語(Accept−Languege)等がある。また、ヘッダ部の内容としては、例えばメッセージ部のデータの長さをバイト単位で示したもの(Content−Length)、転送できるプロキシサーバやゲートウェイの最大数(Max−Forwards)等がある。また、ヘッダ部の内容としては、例えばユーザエージェント(ブラウザ)の情報(User−Agent)等があるが、ヘッダ部に含まれる情報としてはこれに限定されるものではない。
図5(B)〜(E)に示すテストパケット1〜4は、パターン生成部131が生成するテストパターンの一例である。各テストパターンは、例えば図5(A)の正常パケットに基づいて、バッファオーバーフローに対する処理内容や、数値入力エリアに文字列を含むデータが入力されたときの処理内容等をチェックするために一部が変更されたデータパターンである。
例えば、図5(B)の例では、Hostヘッダに「x」が256個連続するデータを入力したデータ(テストパケット1)を示す。図5(C)の例では、Acceptヘッダに「x」が256個連続するデータを入力したデータ(テストパケット2)を示す。上述した256個連続するデータは、通常ではあり得ないレングス(ビット長)のパラメータである。なお、上述の図5(B)、(C)の例では、「x」の代わりに、Nullとしてもよく、文字列の長さを256個ではなく、例えば256個よりも長い文字列を用いてもよい。また、図5(D)の例では、Content−Lengthヘッダに256を設定したデータ(テストパケット3)を示す。図5(E)の例では、ホストアドレス(Host)のランダムの位置に特定文字(例えば、¥0)を挿入したデータ(テストパケット4)を示す。
<異常検知と防止対象リストの具体例>
次に、本実施形態における異常検知と防止対象リストの具体例について説明する。図6〜図10は、異常検知と防止対象リストの具体例を示す図(その1〜その5)である。
<具体例(その1)>
図6の例では、上述したテスト種別「テストA」に基づくテスト集約例を示している。図6(A)の例において、パターン生成部131は、予め設定されたヘッダ(例えば、Host、Accept等)に所定の長さ(1、128、256、32768、65536)のビットデータ「x」を入れたデータを生成する。生成したデータは、テストリクエスト番号により管理される。パターン生成部131により生成されたテストパターンは、送信部132によりテスト機器110に送信される。
ここで、異常検知部133は、異常の有無を検知し、例えば図6(A)の枠300で囲まれたテストリクエスト番号に対して異常を検知したとする。パターン特定部134は、異常検知部133の検知結果から、図6(B)に示すように異常を検知したテストパターンの情報を防止対象リストとして保存する。なお、図6(B)の例では、テストリクエスト番号が図6(A)に示すテストパターンと関連付けられている。
次に、パターン集約部135は、図6(B)に示す防止対象リスト内の各テストパターンから、各テストパターンの間で共通している情報を特定し、その情報を利用してテストパターンの集約を行う。例えば、パターン集約部135は、異常が検知されるときの各データパターンの規則性や法則性等を特定し、特定した規則性や法則性を利用してテスト結果を表す情報を集約する。これにより、パターン集約部135は、図6(C)に示す集約された防止対象リストを生成する。
図6(C)の例における防止対象リストの項目は、「リスト通し番号」、「テスト種類」、「正常リクエスト」、「HTTPヘッダ」、集約情報の一例としての「長さ」であるが、これに限定されるものではない。「リスト通し番号」は、集約されたテストパターンを識別するための情報である。「テスト種類」は、テストの内容を識別するための情報である。「正常リクエスト」は、テストパターン(テストリクエスト)を生成する元となるリクエストデータを識別するための情報である。「HTTPヘッダ」は、変更したHTTPヘッダ名の情報である。「長さ」は、集約されたテストパターンの情報である。
例えば、パターン集約部135は、図6(A)、(B)からヘッダ毎に一定の範囲の長さで異常を検知している場合に、対象ヘッダの長さの範囲に応じて防止対象リストを集約する。例えば、図6(C)の例では、Hostヘッダに対してデータの長さ「128以上」、Acceptヘッダに対してデータの長さ「128〜256」として防止対象リスト(防止対象データ)を集約する。
フィルタリング部140は、パターン保存部141に上述した防止対象リストを保存し、比較部142により入力データと防止対象リストとの比較を行い、その比較結果に基づいて、遮断部143により入力データのフィルタリングを行う。
例えば、フィルタリング部140は、対象ヘッダの値の長さが集約された防止対象リストに示される範囲内か否かで判断を行い、その条件に当てはまる場合(範囲内に含まれる場合)に対象の入力データ(パケット)を遮断する。
例えば、フィルタリング部140は、上述した図6(C)の防止対象リストを用いた場合、入力データのHostヘッダのデータの長さが128以上である場合や、Acceptヘッダのデータの長さが128〜256の場合に、その入力データを遮断する。例えば「テストA」は、各ヘッダ値の長さを徐々に伸ばしていくテストであるため、テスト結果として全ヘッダ値において長さ128以上で障害が発生している場合には、ヘッダの長さが128以上であれば遮断するようにリストを集約する。
このように本実施形態では、HTTPヘッダ毎にデータの長さを基準に防止対象リストを集約することができるため、図6(B)の防止対象リストと比較してデータ量を削減することができる。したがって、図6(C)に示す防止対象リストを用いてフィルタリング部140でフィルタリング処理を行う場合に、比較対象データが少なくなるため、処理時間を短縮することができる。
<具体例(その2)>
図7の例では、上述したテスト種別「テストB」に基づくテスト集約例を示している。図7の例において、パターン生成部131は、数値を設定するヘッダ(例えば、Content−Length、Max−Fowards等)に対して、図7(A)に示すように異なる所定の大きさ(1、128、256、32768、65536)のテストパターンを生成する。また、このテストパターンを1つずつテスト機器110に送信し、異常検知を行う。
ここで、異常検知部133は、異常の有無を検知し、例えば図7(A)の枠301で囲まれたテストリクエスト番号に対して異常を検知したとする。パターン特定部134は、異常検知部133の検知結果から、異常を検知したテストパターンの情報を防止対象リストとして保存する。パターン集約部135は、防止対象リスト内の各テストデータの間で共通している情報を特定し、その情報を利用してテスト結果を集約し、図7(B)に示す集約された防止対象リストを生成する。
このように本実施形態では、HTTPヘッダ毎に数値の大きさを基準に防止対象リストを集約することができるため、データ量を削減することができる。したがって、図7(B)に示す防止対象リストを用いてフィルタリング部140でフィルタリング処理を行う場合に、比較対象データが少なくなるため、処理時間を短縮することができる。上述した図7(B)の防止対象リストを用いた場合、フィルタリング部140は、入力データのContent−Lengthヘッダの数値が128以上である場合や、Max−Forwardsヘッダの数値が128〜256の場合に、その入力データを遮断する。
<具体例(その3)>
図8の例では、上述したテスト種別「テストC」に基づくテスト集約例を示している。図8の例において、パターン生成部131は、予め設定されたヘッダ(例えば、Host、Accept等)に対して、図8(A)に示すように異なる文字(例えば、¥n、¥r、¥0、¥t、¥¥)を各ヘッダに1個ずつ挿入又は文字を置換したテストパターンを生成する。なお、特定文字は、少なくとも1文字以上であればよく、種類も上述した例に限定されるものではなく、任意に設定することができる。また、特定文字は、そのヘッダに通常入らない文字を1文字以上有することが好ましいが、これに限定されるものではない。
本実施形態では、1つの特定文字に対してヘッダ数分のテストパターンが生成されるが、これに限定されるものではなく、例えば予め設定されたヘッダに対してのみ文字列を挿入したり、文字を置換してもよい。
図8(A)において、テストリクエスト1〜5は、Hostヘッダに対し、各特定文字¥n、¥r、¥0、¥t、及び¥¥を用いて置換した例を示している。また、テストリクエスト6〜10は、Acceptヘッダに対し、特定文字¥n、¥r、¥0、¥t、及び¥¥を用いて置換した例を示している。なお、図8(A)の例では、上述した各ヘッダのランダムに設定された位置の情報をそれぞれの文字で置換している。また、他のヘッダについても同様に置換されたり、文字の挿入等がなされる。
パターン生成部131は、このテストパターンを1つずつテスト機器110に送信し、異常検知を行う。ここで、図8(A)の枠302に示す部分で異常が検知された場合、パターン特定部134は、そのテストパターンの情報を防止対象リストとして保存する。パターン集約部135は、防止対象リスト内の各テストパターンの間で共通している情報を特定し、その情報を利用してテスト結果を集約し、図8(B)に示す集約された防止対象リストを生成する。
例えば、パターン集約部135は、所定の文字で異常を検知した場合に、その文字に応じて防止対象リストを集約することができるが、これに限定されるものではない。図8(B)の例では、テスト種類「テストC」の正常リクエスト「リクエストA」に対して文字¥r、¥tでリストが集約される。比較部142は、対象ヘッダの値にリストの文字が含まれるか否かで判断を行い、条件に当てはまるパケットを遮断する。
<具体例(その4)>
図9は、複数のテストパターンを組み合わせた例を示す図である。図9の例では、上述したテスト種別「テストA」及び「テストC」を組み合わせた例を示しているが、これに限定されるものではなく、3以上のテストパターンを組み合わせてもよい。
パターン生成部131は、図9(A)に示すように文字及び値の長さを組み合わせたテストパターンを生成する。異常検知部133は、各テストパターンを用いて、上述したようにテスト機器110による対象アプリケーション等の実施により異常の検知等を行う。また、図9(A)の枠303に示す部分で異常が検知された場合、パターン集約部135は、図9(B)に示すように、文字及び値の長さで集約した防止対象リストを生成する。
つまり、パターン特定部134は、ヘッダ毎に特定文字及び一定範囲の長さで異常を検知した場合に、防止対象リストに保存する。次に、パターン集約部135は、パターン特定部134により得られる防止対象リストを集約する。比較部142は、対象ヘッダの値に含まれる文字及び値の長さに基づいて入力データとの比較を行い、条件に当てはまるパケットを遮断する。
<具体例(その5)>
図10は、集約できない場合の例を示している。なお、図10の例では、上述したテストAにおけるテスト結果を示している。上述したように、パターン生成部131が生成したテストパターンを用いてテスト機器110で異常検知のテストを行った結果、図10(A)の枠304に示す部分で異常が検知されたとする。この場合、テストリクエスト2、10で異常を検知したことになり、パターン集約部135はリストを集約することができないため、そのまま図10(B)に示す内容で保存する。
したがって、比較部142における判定基準としては、例えば各テストリクエスト番号に対応するヘッダに対する長さが、入力データの同一ヘッダに対する長さと一致するか否かで判断することができる。したがって、遮断部143は、条件に当てはまるパケットを遮断することができる。
なお、上述した図6〜図10については、正常リクエストとして「リクエストA」を用いたテストパターンを生成したが、本実施形態においては、これに限定されるものではない。例えば、「リクエストB」、「リクエストC」等の異なる複数の正常リクエスト(正常データ)を用いてテストパターンを生成して、上述したテスト結果に基づくデータパターンの集約を行ってもよい。
<テストパターンの集約処理例>
ここで、上述したパターン集約部135におけるテストパターンの集約処理例についてフローチャートを用いて説明する。図11は、テストパターンの第1の集約例を示すフローチャートである。図11の例では、上述したテスト種別「テストA」、「テストB」におけるファジングテスト結果に対する集約例を示している。
図11の例において、パターン集約部135は、パターン特定部134において保存された防止対象リストに対して、ヘッダ毎にリストグループを生成する(S21)。例えば、図6(A)では、Hostヘッダに対して4つのリスト(128、256、32768、65536)がグループ化され、Acceptヘッダに対して2つのリスト(128、256)がグループ化される。
次に、パターン集約部135は、リストグループに対して連続する複数のリストデータがあるか否かを判断する(S22)。ここで、「連続する」とは、例えば予め設定されたパターンの設定値が連続することを示し、例えば上述した「128、256、32768、65536」は連続していると判断し、「128、32768」は連続していないと判断する。
パターン集約部135は、リストグループに対して連続する複数のリストデータがある場合(S22において、YES)、それらの値(テストAでは値の長さ、テストBでは値の大きさ)の最小値と最大値とを取得する(S23)。例えば、図6(A)において、Hostヘッダの場合には「最小値128、最大値65536」となり、Acceptヘッダの場合には「最小値128、最大値256」となる。
次に、パターン集約部135は、取得した最大値がテストパターンで設定した値の最大値と同一か否かを判断し(S24)、最大値である場合(S24において、YES)、「最小値以上」で設定する(S25)。例えば、図6(B)に示すようにHostヘッダの場合には、長さ128以上で集約される。
また、パターン集約部135は、取得した最大値がテストパターンで設定した値の最大値と同一でない場合(S24において、NO)、「最小値〜取得した最大値」で集約する(S26)。例えば、図6(B)に示すようにAcceptヘッダの場合には、長さ128〜256で集約される。
本実施形態では、例えば、連続する2つの設定値128、256で異常を検知した場合には、その2つの設定値の間の値についても異常が検知されると判断して、入力データの遮断を行う。また、本実施形態では、連続する複数の設定値の最大値が、テストパターンで設定した値の最大値と同一である場合には、例えば連続する複数の設定値の最小値以上としてリストを集約し、その条件に当てはまる入力データを遮断する。
また、パターン集約部135は、S22の処理において、リストグループに対して連続する複数のリストデータがない場合(S22において、NO)、集約なしとなる(S27)。
上述したS25、S26、又はS27の処理後、パターン集約部135は、全てのヘッダについて処理をしたか否かを判断(S28)する。パターン集約部135は、全てのヘッダに対して処理をしていない場合(S28において、NO)、S22に戻り、他のヘッダについての処理を行う。また、パターン集約部135は、全てのヘッダについて処理をした場合(S28において、YES)、処理を終了する。なお、テストBの場合については、同様に第1の集約例を用いて、上述した図7(B)に示すように集約することができる。
図12は、テストパターンの第2の集約例を示すフローチャートである。図12の例では、上述したテストCに対するテスト結果に対する集約例を示している。図12の例において、パターン集約部135は、正常リクエストに含まれるヘッダ数を取得し(S31)、パターン特定部134により得られる防止対象リストから、設定した文字を含むリスト数を文字毎に取得する(S32)。例えば、図8(A)の例では、文字¥rと文字¥tに対するリスト数がカウントされる。
次に、パターン集約部135は、ある文字に対してリスト数とヘッダ数とが同一か否かを判断し(S33)、リスト数がヘッダ数と同一である場合(S33において、YES)、その設定した文字で集約する(S34)。また、パターン集約部135は、リスト数がヘッダ数と同一でない場合(S33において、NO)、集約なしとなる(S35)。
上述したS34又はS35の処理後、パターン集約部135は、全ての文字について処理したか否かを判断し(S36)、全ての文字について処理していない場合(S36において、NO)、S33の処理に戻り、他の文字について後続の処理を行う。また、パターン集約部135は、全ての文字について処理した場合(S36において、YES)、処理を終了する。
なお、図12の例では、パターン集約部135は、文字毎のリスト数とヘッダ数とを比較して数が同一である場合にその文字単位での集約を行ったが、これに限定されるものではない。パターン集約部135は、パターン生成部131によりテストパターンに予め設定した特定文字を入力した数と、テスト機器110の異常を検知したデータパターン数とに基づいて、データパターンを特定文字で集約することができる。
パターン集約部135における集約例は、上述した図11、図12に示す例に限定されるものではない。例えば、図10に示すように、複数のテスト内容を組み合わせる場合には、上述した図11、図12における処理の全部又は一部を組み合わせることで、集約処理を行うことができる。
<防止対象リクエストを用いた比較例>
パターン集約部135は、例えば複数のテスト種別(テストA〜テストC)により得られた防止対象リクエストを用いてネットワーク150から送信されたパケットを保護対象機器120に対して送信するか否かのフィルタリング制御を行う。
ここで、図13は、防止対象リストの具体例を示す図である。図13の例に示すように、防止対象リストが、各テスト種別に対応して複数存在する場合には、パターン集約部135は、複数のリストを統合する。
本実施形態では、例えば図13に示すような「リスト種類通し番号」と「リスト種別」とを対応付けた統合防止対象リストを生成する。なお、リスト種別に示される「テストA集約」とは、例えば上述した図6(C)に示す防止対象リストを意味し、「テストA×C集約」とは、例えば上述した図9(B)に示すテストAとテストCとを組み合わせた防止対象リストを意味する。また、リスト種別に示される「未集約」とは、例えば上述した図10(B)に示すような防止対象リストを意味するが、リスト種別の順序や種類については、これに限定されるものではない。
比較部142は、図13に示す統合防止対象リストのリスト種類通し番号から、例えば予め選択されたリスト種別又は全てのリスト種別の防止対象リストを用いて、リスト種類通し番号順に入力データ(パケット)との比較を行う。これにより、遮断部143は、適切なフィルタリングを行うことができ、更にリストを用いることで、対応する処理を削減することができる。
<フィルタリングシステムの他の実施形態>
次に、上述したフィルタリングシステム10の他の実施形態について図を用いて説明する。図14は、フィルタリングシステムの他の実施形態の一例を示す図である。図14(A)に示すフィルタリングシステム11は、上述したフィルタリングシステム10と比較すると、テスト機器110を有しておらず、フィルタリング装置100の脆弱性検出部130が保護対象機器120に接続されている。
つまり、図14(A)に示す実施形態の場合には、保護対象機器120を直接チェックでき、保護対象機器120の挙動を推定するためのテスト機器110が不要となる。また、テスト機器110を使用する場合よりも、より正確な脆弱性のチェックが行える。脆弱性検出部130によって特定された防止対象のパターンは、伝送路を介してフィルタリング部140に出力される。
なお、図14(A)に示すフィルタリングシステム11では、脆弱性検出部130が保護対象機器120に直接テストパターンを出力して異常検知を行うため、保護対象機器120がシステムダウンを起こす可能性がある。したがって、例えば保護対象機器120のシステムメンテナンス時等に脆弱性検出部130を稼働させ、脆弱性のテストを行うことが好ましい。なお、再稼働が迅速に行える保護対象機器120である場合には、保護対象機器120の稼働中に、脆弱性検出部130を動作させてもよい。
図14(B)に示すフィルタリングシステム12では、例えばフィルタリング部140が、保護対象機器120内に組み込まれている。例えば、フィルタリング部140は、保護対象機器120内のフロントエンド部に設けることができる。したがって、保護対象機器120毎にフィルタリング部140におけるフィルタリングの動作をカスタマイズでき、保護対象機器120に対して、より適合した脆弱性の対策を講じることができる。
なお、図14(B)の場合には、脆弱性検出部130が保護対象機器120に伝送路を介して接続されているが、これに限定されるものではなく、別途テスト機器110を設置してもよい。また、図14(B)の例では、脆弱性検出部130によって特定された防止対象のパターンは、伝送路を介してフィルタリング部140に直接出力される。
図14(C)に示すフィルタリングシステム13は、例えば保護対象機器120内に脆弱性検出部130とフィルタリング部140とが設けられている。なお、図14(C)の例では、脆弱性検出部130が、保護対象機器120内に存在するため、保護対象機器120の異常動作が、脆弱性検出部130の動作に影響することが予想される。したがって、図14(C)の例では、保護対象機器120の異常動作が保護対象機器120によるパターンの特定に影響する場合がある。このような事態に対処するためには、例えばサーバ等の保護対象機器120に対して複数のバーチャルマシンを動作させ、脆弱性検出部130と保護対象機器120とを、別のバーチャルマシンで動作させることが好ましい。これにより、保護対象機器120の異常動作が保護対象機器120によるパターンの特定に影響するのを飛躍的に減少させることができる。
上述したように、本実施形態によれば、防止対象リストのデータ量を削減すると共にフィルタリングに対する所要時間を短縮することができる。また、ネットワークに接続された機器の脆弱性に対する効果的な保護を行うことができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
10〜13 フィルタリングシステム
100 フィルタリング装置(情報処理装置)
110 テスト機器
120 保護対象機器
130 脆弱性検出部
131 パターン生成部
132 送信部
133 異常検知部
134 パターン特定部
135 パターン集約部
140 フィルタリング部
141 パターン保存部
142 比較部
143 遮断部
201 CPU
202 メモリ
203 入力装置
204 出力装置
205 外部記憶装置
206 可搬記憶媒体駆動装置
207 ネットワーク接続装置
208 可搬記憶媒体
300〜304 枠

Claims (7)

  1. 予め設定されたテスト方法に関する情報に対応させた1又は複数のデータを生成する生成部と、
    前記生成部により生成された前記データをテスト機器に入力し、該テスト機器が所定の挙動を示したデータを特定する特定部と、
    前記生成部により得られる前記データに予め設定した特定文字を入力した数と、前記テスト機器の異常を検知したデータの数とが同一である場合、前記異常を検知したデータを前記特定文字で集約する集約部とを有することを特徴とする情報処理装置。
  2. ネットワークを介して受信した入力データと、前記集約部により集約されたデータとを比較する比較部と、
    前記比較部による比較結果に基づいて、前記入力データの保護対象機器への出力を遮断する遮断部とを有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記生成部は、
    前記テスト方法に基づいて、前記テスト機器が正常に動作する正常データに対するデータ長、データの大きさ、及び特定文字の有無のうち、少なくとも1つを変更した1又は複数のデータを生成することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記集約部は、
    前記テスト機器の異常を検知したデータの連続性、又は、前記異常を検知したデータの最小値と最大値とを取得し、取得した最大値と、前記生成部により生成されたデータの最大値とを比較した結果に基づいて、前記異常を検知したデータを数値範囲で集約することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. ネットワークを介して受信した入力データをフィルタリングして保護対象機器へ出力する情報処理装置を有するフィルタリングシステムにおいて、
    前記情報処理装置は、
    予め設定されたテスト方法に関する情報に対応させた1又は複数のデータを生成する生成部と、
    前記生成部により生成された前記データをテスト機器に入力し、該テスト機器が所定の挙動を示したデータを特定する特定部と、
    前記生成部により得られる前記データに予め設定した特定文字を入力した数と、前記テスト機器の異常を検知したデータの数とが同一である場合、前記異常を検知したデータを前記特定文字で集約する集約部
    前記入力データと、前記集約部により集約されたデータとを比較する比較部と、
    前記比較部による比較結果に基づいて、前記入力データの保護対象機器への出力を遮断する遮断部とを有することを特徴とするフィルタリングシステム。
  6. 情報処理装置が、
    予め設定されたテスト方法に関する情報に対応させた1又は複数のデータを生成し、
    生成された前記データをテスト機器に入力し、該テスト機器が所定の挙動を示したデータを特定し、
    生成された前記データに予め設定した特定文字を入力した数と、前記テスト機器の異常を検知したデータの数とが同一である場合、前記異常を検知したデータを前記特定文字で集約し、
    集約された前記データを用いて、ネットワークを介して受信した入力データをフィルタリングして保護対象機器へ出力することを特徴とするフィルタリング方法。
  7. 予め設定されたテスト方法に関する情報に対応させた1又は複数のデータを生成し、
    生成された前記データをテスト機器に入力し、該テスト機器が所定の挙動を示したデータを特定し、
    生成された前記データに予め設定した特定文字を入力した数と、前記テスト機器の異常を検知したデータの数とが同一である場合、前記異常を検知したデータを前記特定文字で集約し、
    集約された前記データを用いて、ネットワークを介して受信した入力データをフィルタリングして保護対象機器へ出力する、処理をコンピュータに実行させるためのフィルタリングプログラム。
JP2015528081A 2013-07-26 2013-07-26 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム Active JP6233414B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/070305 WO2015011827A1 (ja) 2013-07-26 2013-07-26 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム

Publications (2)

Publication Number Publication Date
JPWO2015011827A1 JPWO2015011827A1 (ja) 2017-03-02
JP6233414B2 true JP6233414B2 (ja) 2017-11-22

Family

ID=52392906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015528081A Active JP6233414B2 (ja) 2013-07-26 2013-07-26 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム

Country Status (3)

Country Link
US (1) US10296746B2 (ja)
JP (1) JP6233414B2 (ja)
WO (1) WO2015011827A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT3130123T (pt) * 2014-04-11 2021-10-15 Hdiv Security S L Deteção de manipulação de aplicações
DE102015101388A1 (de) * 2015-01-30 2016-08-04 Deutsche Telekom Ag Prüfsystem zur Prüfung eines Computers eines Computersystems in einem Prüfnetzwerk
JP2016148973A (ja) * 2015-02-12 2016-08-18 日本電信電話株式会社 死活監視装置、死活監視システム、死活監視方法、及び死活監視方法プログラム
CN105160260B (zh) * 2015-10-20 2018-10-12 国网江西省电力公司南昌供电分公司 可鉴别是否是已认证移动存储介质的装置
JP7027903B2 (ja) * 2017-05-16 2022-03-02 富士通株式会社 ファジングテスト装置、ファジングテスト方法及びファジングテストプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635857A (ja) 1992-07-20 1994-02-10 Csk Corp 異常終了回復システム
JP2002328896A (ja) * 2001-04-27 2002-11-15 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス対処ルール自動設定装置
JP3862593B2 (ja) 2002-04-26 2006-12-27 キヤノン株式会社 通信装置及び該装置における通信制御方法
JP4739962B2 (ja) 2006-01-16 2011-08-03 日本電信電話株式会社 攻撃検知装置、攻撃検知方法および攻撃検知プログラム
EP2092424B1 (en) 2006-10-19 2015-12-30 Checkmarx Ltd. Locating security vulnerabilities in source code
JP4620070B2 (ja) * 2007-02-28 2011-01-26 日本電信電話株式会社 トラヒック制御システムおよびトラヒック制御方法
US20080243543A1 (en) * 2007-03-30 2008-10-02 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Effective response protocols for health monitoring or the like
US8127358B1 (en) * 2007-05-30 2012-02-28 Trend Micro Incorporated Thin client for computer security applications
US9448820B1 (en) * 2013-01-03 2016-09-20 Amazon Technologies, Inc. Constraint verification for distributed applications

Also Published As

Publication number Publication date
JPWO2015011827A1 (ja) 2017-03-02
WO2015011827A1 (ja) 2015-01-29
US20160140345A1 (en) 2016-05-19
US10296746B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
US11949706B2 (en) System and method for assigning threat valuations to network events and security events
US9853988B2 (en) Method and system for detecting threats using metadata vectors
JP5050781B2 (ja) マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法
JP6233414B2 (ja) 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム
US11283810B2 (en) Communication control method and communication control device for substituting security function of communication device
EP3657371A1 (en) Information processing device, information processing method, and information processing program
JP6523582B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US9654491B2 (en) Network filtering apparatus and filtering method
JP6711452B2 (ja) 抽出装置、抽出方法、及びプログラム
JP4161989B2 (ja) ネットワーク監視システム
JP5531064B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
JP5752020B2 (ja) 攻撃対策装置、攻撃対策方法及び攻撃対策プログラム
JP2017211806A (ja) 通信の監視方法、セキュリティ管理システム及びプログラム
WO2016170664A1 (ja) 異常パケットフィルタリング装置、及び、異常パケットフィルタリング方法
US20150101036A1 (en) Network filtering device, network filtering method and computer-readable recording medium having stored therein a program
JP5879223B2 (ja) ゲートウェイ装置、ゲートウェイシステムおよび計算機システム
EP4307612A1 (en) Detection program, detection apparatus, and detection method
JP7152657B2 (ja) 監視装置、監視方法及び監視プログラム
JP7290168B2 (ja) 管理装置、ネットワーク監視システム、判定方法、通信方法、及びプログラム
JP4190508B2 (ja) ネットワーク制御システムおよびネットワーク制御方法
JP6860161B2 (ja) 不正通信監視装置、不正通信監視方法、不正通信監視プログラム、および不正通信監視システム
JP2015219859A (ja) ネットワーク制御システム及びネットワーク制御方法
JP5190807B2 (ja) パケット経路追跡システム
JP2019004260A (ja) 生成システム、生成方法及び生成プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171009

R150 Certificate of patent or registration of utility model

Ref document number: 6233414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150