JP2005354334A - データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム - Google Patents
データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム Download PDFInfo
- Publication number
- JP2005354334A JP2005354334A JP2004172062A JP2004172062A JP2005354334A JP 2005354334 A JP2005354334 A JP 2005354334A JP 2004172062 A JP2004172062 A JP 2004172062A JP 2004172062 A JP2004172062 A JP 2004172062A JP 2005354334 A JP2005354334 A JP 2005354334A
- Authority
- JP
- Japan
- Prior art keywords
- data
- entry
- divided data
- input
- size
- 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.)
- Abandoned
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 本発明は、IDPにおけるIPパケットについての攻撃パターンの検出などで行う、分割されたデータを跨るデータ列の検索処理において、検索を効率良く行うことを目的とする。
【解決手段】 分割データを跨りデータ列検索を行うデータ列検索装置100において、エントリ記憶部120は、連結関係にある分割データを記憶するエントリを有する。構築部110は、分割データを入力し、入力した分割データに対して連結関係にある分割データのサイズと入力した分割データのサイズとの合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとをデータ列検索部130に出力してデータ列の検索を行う。また、構築部110は、入力した分割データをエントリに記憶し、この記憶した分割データに対して連結関係にある分割データを入力し全ての分割データに対してデータ列検索を行う。
【選択図】 図5
【解決手段】 分割データを跨りデータ列検索を行うデータ列検索装置100において、エントリ記憶部120は、連結関係にある分割データを記憶するエントリを有する。構築部110は、分割データを入力し、入力した分割データに対して連結関係にある分割データのサイズと入力した分割データのサイズとの合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとをデータ列検索部130に出力してデータ列の検索を行う。また、構築部110は、入力した分割データをエントリに記憶し、この記憶した分割データに対して連結関係にある分割データを入力し全ての分割データに対してデータ列検索を行う。
【選択図】 図5
Description
本発明は、データ間に跨るデータ列の検索を行うデータ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラムに関するものである。
インターネットをはじめとするネットワークでは、IP(Internet Protocol)パケットによる通信が広く使われ、IPパケットにより、TCPデータやUDPデータが送受信される。
このTCP(Transmission Control Protocol)データは、送信側において、通信する端末間の通信サイズで分割され、複数のIPパケットにより送信される。
複数のIPパケットにより送信された、分割されたTCPデータは、受信側において、元のTCPデータに構築され処理される。
このTCP(Transmission Control Protocol)データは、送信側において、通信する端末間の通信サイズで分割され、複数のIPパケットにより送信される。
複数のIPパケットにより送信された、分割されたTCPデータは、受信側において、元のTCPデータに構築され処理される。
このため、従来技術において、分割されたデータの全てを管理し、元のデータを構築するためのものがある(特許文献1、特許文献2)。
特開2003−242019号公報
特開平8−153038号公報
また、通信上のセキュリティ性を高めるため、異なるネットワーク間に位置し、異なるネットワークの端末間で送信されたIPパケットを受信し、受信したIPパケットのデータを精査し、精査したIPパケットを中継するIDP(Intrusion Detection and Prevention System)という装置がある。
このIDPは、通信されるデータから、既知の攻撃パターンを示す不正なデータ列を検出し、これを廃棄することで、不正侵入を防ぐ。
ここで、不正なIPパケットの侵入を防ぐため、IDPは、分割されたデータを跨る不正なデータ列についても検索を行う。
また、IDPが、分割されたデータを跨るデータ列を検索するためには、データ列の検索を行う一定サイズ分のデータを管理すればよい。
ここで、不正なIPパケットの侵入を防ぐため、IDPは、分割されたデータを跨る不正なデータ列についても検索を行う。
また、IDPが、分割されたデータを跨るデータ列を検索するためには、データ列の検索を行う一定サイズ分のデータを管理すればよい。
しかし、従来技術では、元のデータに対して全ての分割されたデータを管理し構築するため、分割されたデータを記憶するメモリ量の増加や、分割されたデータに対する処理負荷の増加が起こる。
本発明は、上記の課題を解決するためになされたもので、分割されたデータを跨るデータ列の検索において、データ列の検索が可能なサイズ分の分割されたデータを管理し構築することで、検索を効率良く行うことを目的とする。
本発明のデータ列検索装置は、分割された分割データに対して分割データを跨りデータ列検索をするデータ列検索装置において、分割データを記憶するエントリを有するエントリ記憶部と、データ列検索を行うデータ列検索部と、エントリに記憶される分割データに対して連結関係にある分割データを入力し、入力した分割データに対して連結関係にある分割データのサイズと入力した分割データのサイズとの合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとをデータ列検索部に出力し、入力した分割データをエントリに記憶する構築部とを備えたことを特徴とする。
本発明によれば、分割されたデータを跨るデータ列の検索において、データ列の検索を行う一定サイズ分の分割されたデータを管理し構築することができ、分割されたデータを記憶するメモリ量の削減や、分割されたデータに対する処理負荷の軽減を図ることができる。
実施の形態1.
データ列検索装置を備えるものに、ネットワーク中のIPパケットを精査して不正侵入の検知及び遮断をするIDP(不正侵入検知遮断装置)200がある。
そこで、IDP200について以下に説明する。
データ列検索装置を備えるものに、ネットワーク中のIPパケットを精査して不正侵入の検知及び遮断をするIDP(不正侵入検知遮断装置)200がある。
そこで、IDP200について以下に説明する。
IDP200は、異なるネットワーク間に位置し、ネットワークを跨って送信されたIPパケットを受信し、受信したIPパケットを精査して、精査したIPパケットをネットワーク間で中継することで、不正侵入の検知及び遮断をする。
IDP200は、ネットワーク中のIPパケットを精査するため、IPパケットに含まれるデータに不正データ列(不正文字列)が存在しないかデータ列検索を行う。
IDP200は、データ列検索をして、不正データ列を含むパケットを廃棄することでネットワークへの不正侵入の検知及び遮断を行う。
また、IPパケットにより送受信されるTCPデータは、サイズが大きい場合、分割され、複数のIPパケットにより送受信される。分割されたTCPデータをTCPセグメントとする。
そこで、IDP200は、TCPセグメントに対して、セグメントを跨り不正データ列の検索をする。
検索に際して、TCPセグメントの場合、TCPヘッダのシーケンス番号に基づいて各セグメントを整列する順序を判定する。また、本発明は、TCPだけではなく、TCPのシーケンス番号のような順序を制御するプロトコルにおいても有効である。
IDP200は、ネットワーク中のIPパケットを精査するため、IPパケットに含まれるデータに不正データ列(不正文字列)が存在しないかデータ列検索を行う。
IDP200は、データ列検索をして、不正データ列を含むパケットを廃棄することでネットワークへの不正侵入の検知及び遮断を行う。
また、IPパケットにより送受信されるTCPデータは、サイズが大きい場合、分割され、複数のIPパケットにより送受信される。分割されたTCPデータをTCPセグメントとする。
そこで、IDP200は、TCPセグメントに対して、セグメントを跨り不正データ列の検索をする。
検索に際して、TCPセグメントの場合、TCPヘッダのシーケンス番号に基づいて各セグメントを整列する順序を判定する。また、本発明は、TCPだけではなく、TCPのシーケンス番号のような順序を制御するプロトコルにおいても有効である。
IDP200は、セグメントに対して不正データ列を検索する際、互いに連続する各セグメントの合計サイズ(構築セグメントサイズ)が一定サイズ(ペイロードサイズ)以上になったとき、各セグメントを構築して、構築した構築データ(構築セグメント)に対して不正データ列を検索する。
この検索方法をペイロード方式(ペイロード精査)とする。
この検索方法をペイロード方式(ペイロード精査)とする。
ここで、IDP200は、ペイロード精査する構築セグメントの前後に連結するセグメントとの間に跨る不正データ列についてもペイロード精査を行うため、ペイロード精査実施時に、構築セグメントの先頭と最終の一部(境界データ)をコピーして保持する。
この境界データは、IDP200が境界データの前後に接続するセグメントを受信して、構築セグメントサイズが再度、ペイロードサイズ以上になった際に、受信したセグメントと一緒にペイロード精査を行われる。
この境界データは、IDP200が境界データの前後に接続するセグメントを受信して、構築セグメントサイズが再度、ペイロードサイズ以上になった際に、受信したセグメントと一緒にペイロード精査を行われる。
図1は、実施の形態1におけるIDP200の構成図1である。
送信元と送信先の組合せ(セッション)単位で各セグメントを管理し、ペイロード精査を行うIDP200の構成について、図1に基づいて説明する。
送信元と送信先の組合せ(セッション)単位で各セグメントを管理し、ペイロード精査を行うIDP200の構成について、図1に基づいて説明する。
IDP200が備える各構成について以下に説明する。
送受信部210は、接続されたネットワークに対してIPパケットの送受信を行う。
セッション管理部220は、セッション単位で各セグメントを管理する。
セッション検索部230は、受信したIPパケットのセグメントに対するセッションが既に管理されているかを検索する。
構築部110は、各セグメントをデータの順番で連結して構築セグメントを構築する。
エントリ記憶部120は、セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶する。
データ列検索部130は、構築セグメントに対して不正データ列を検索する。
送受信部210は、接続されたネットワークに対してIPパケットの送受信を行う。
セッション管理部220は、セッション単位で各セグメントを管理する。
セッション検索部230は、受信したIPパケットのセグメントに対するセッションが既に管理されているかを検索する。
構築部110は、各セグメントをデータの順番で連結して構築セグメントを構築する。
エントリ記憶部120は、セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶する。
データ列検索部130は、構築セグメントに対して不正データ列を検索する。
送受信部210は、IPパケットを受信し、受信したIPパケットを出力する。
セッション管理部220は、送受信部210が出力したIPパケットを入力し、入力したIPパケットに含まれるセグメントを取得し、取得したセグメントのセッションに対するセッション情報を出力する。
セッション検索部230は、セッション管理部220が出力したセッション情報を入力し、入力したセッション情報に基づいてエントリを検索してセッション検索結果を出力する。
セッション管理部220は、セッション検索部230が出力したセッション検索結果を入力し、入力したセッション検索結果と、取得したセグメントとを出力する。
構築部110は、セッション管理部220が出力したセッション検索結果とセグメントとを入力し、入力したセッション検索結果と入力したセグメントとに基づいて、入力したセグメントをエントリに記憶する。
構築部110は、エントリに記憶された先頭セグメントから連続するデータの合計サイズを算出し、算出した結果、合計サイズがペイロードサイズに達する場合、エントリに記憶された先頭セグメントから連続するデータを構築セグメントとして出力する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対して不正データ列を検索し、データ列検索結果を出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果に基づいて構築結果を生成し、生成した構築結果を出力する。
セッション管理部220は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいてIPパケットの送信命令を出力する。
送受信部210は、セッション管理部220が出力した送信命令を入力し、入力した送信命令に基づいてIPパケットを送信する。
セッション管理部220は、送受信部210が出力したIPパケットを入力し、入力したIPパケットに含まれるセグメントを取得し、取得したセグメントのセッションに対するセッション情報を出力する。
セッション検索部230は、セッション管理部220が出力したセッション情報を入力し、入力したセッション情報に基づいてエントリを検索してセッション検索結果を出力する。
セッション管理部220は、セッション検索部230が出力したセッション検索結果を入力し、入力したセッション検索結果と、取得したセグメントとを出力する。
構築部110は、セッション管理部220が出力したセッション検索結果とセグメントとを入力し、入力したセッション検索結果と入力したセグメントとに基づいて、入力したセグメントをエントリに記憶する。
構築部110は、エントリに記憶された先頭セグメントから連続するデータの合計サイズを算出し、算出した結果、合計サイズがペイロードサイズに達する場合、エントリに記憶された先頭セグメントから連続するデータを構築セグメントとして出力する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対して不正データ列を検索し、データ列検索結果を出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果に基づいて構築結果を生成し、生成した構築結果を出力する。
セッション管理部220は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいてIPパケットの送信命令を出力する。
送受信部210は、セッション管理部220が出力した送信命令を入力し、入力した送信命令に基づいてIPパケットを送信する。
ここで、構築部110とエントリ記憶部120とデータ列検索部130とをデータ列検索装置100とする。
データ列検索装置100は、セグメントに限らず、分割データを入力し、入力した分割データに対して、分割データを跨ってデータ列を検索する。
データ列検索装置100は、セグメントに限らず、分割データを入力し、入力した分割データに対して、分割データを跨ってデータ列を検索する。
図2は、実施の形態1におけるエントリ記憶部120の構成図1である。
セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶するエントリ記憶部120の構成について、図2に基づいて説明する。
セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶するエントリ記憶部120の構成について、図2に基づいて説明する。
エントリ記憶部120は複数のエントリを備える。
エントリ記憶部120の備える各エントリは、セグメントを記憶するセグメント領域と、セグメントのサイズを示すセグメント長領域と、セグメントの順序を示す次ポインタ領域とを備える。
ここで、セグメント領域とセグメント長領域と次ポインタ領域との組み合わせをセグメントエントリとする。
各エントリは複数のセグメントエントリを備える。
また、各エントリは、順序が先頭であるセグメントの記憶されるセグメントエントリを示す先頭ポインタ領域と、セグメントが記憶されていない空きセグメントエントリを示す空きポインタ領域とを備える。
エントリ記憶部120の備える各エントリは、セグメントを記憶するセグメント領域と、セグメントのサイズを示すセグメント長領域と、セグメントの順序を示す次ポインタ領域とを備える。
ここで、セグメント領域とセグメント長領域と次ポインタ領域との組み合わせをセグメントエントリとする。
各エントリは複数のセグメントエントリを備える。
また、各エントリは、順序が先頭であるセグメントの記憶されるセグメントエントリを示す先頭ポインタ領域と、セグメントが記憶されていない空きセグメントエントリを示す空きポインタ領域とを備える。
例えば、S1からS7は同一のセッションで分割されたセグメントで、IDP200の構築部110が、S6、S1、S2、S5、S7の順番で入力する。
また、S1からS7のセッションはエントリ2に対応する。
また、S3、S4の入力はないとする。
また、IDP200のエントリ記憶部120のエントリ2にセグメントが記憶されていないとき、エントリ2の空きポインタ領域は0を示し、エントリ2の先頭ポインタ領域は設定されていないとする。
ここで、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
また、S1からS7のセッションはエントリ2に対応する。
また、S3、S4の入力はないとする。
また、IDP200のエントリ記憶部120のエントリ2にセグメントが記憶されていないとき、エントリ2の空きポインタ領域は0を示し、エントリ2の先頭ポインタ領域は設定されていないとする。
ここで、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
S6を入力したとき、構築部110は、S6のセッションに対応するエントリ2の空きポインタ領域を参照し、参照した空きポインタ領域が示すセグメントエントリ0のセグメント領域にS2を記憶する。
また、セグメントエントリ0のセグメント長領域に、S6のセグメント長を設定する。
また、S6以外のセグメントを入力していないため、セグメントエントリ0の次ポインタ領域にはアドレスを設定しない。
また、エントリ2の先頭ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ1を示す1を設定する。
また、セグメントエントリ0のセグメント長領域に、S6のセグメント長を設定する。
また、S6以外のセグメントを入力していないため、セグメントエントリ0の次ポインタ領域にはアドレスを設定しない。
また、エントリ2の先頭ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ1を示す1を設定する。
S1を入力したとき、構築部110は、S1のセッションに対応するエントリ2の空きポインタ領域を参照し、参照した空きポインタ領域が示すセグメントエントリ1のセグメント領域にS1を記憶する。
また、セグメントエントリ1のセグメント長領域に、S1のセグメント長を設定する。
また、入力したセグメント(S1)は、エントリ2の先頭ポインタ領域が示すセグメントエントリ0に記憶されたセグメント(S6)の前に位置するので、エントリ2の先頭ポインタ領域に、S1が記憶されたセグメントエントリ1を示す1を設定する。
また、S1が記憶されたセグメントエントリ1の次ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ2を示す2を設定する。
ここで、各セグメントの順序は、各TCPセグメントのTCPヘッダのシーケンス番号に基づいて判定する。
また、セグメントエントリ1のセグメント長領域に、S1のセグメント長を設定する。
また、入力したセグメント(S1)は、エントリ2の先頭ポインタ領域が示すセグメントエントリ0に記憶されたセグメント(S6)の前に位置するので、エントリ2の先頭ポインタ領域に、S1が記憶されたセグメントエントリ1を示す1を設定する。
また、S1が記憶されたセグメントエントリ1の次ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ2を示す2を設定する。
ここで、各セグメントの順序は、各TCPセグメントのTCPヘッダのシーケンス番号に基づいて判定する。
S2を入力したとき、構築部110は、S2のセッションに対応するエントリ2の空きポインタ領域を参照し、参照した空きポインタ領域が示すセグメントエントリ2のセグメント領域にS2を記憶する。
また、セグメントエントリ2のセグメント長領域に、S2のセグメント長を設定する。
また、TCPヘッダのシーケンス番号に基づいて判定する入力したセグメント(S2)の順序は、エントリ2の先頭ポインタ領域が示すセグメントエントリ1に記憶されたセグメント(S1)と、S1が記憶されたセグメントエントリ1の次ポインタ領域が示すセグメントエントリ0に記憶されたセグメント(S6)との間である。
そこで、S1が記憶されたセグメントエントリ1の次ポインタ領域に、S2が記憶されたセグメントエントリ2を示す2を設定し、S2が記憶されたセグメントエントリ2の次ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ3を示す3を設定する。
また、セグメントエントリ2のセグメント長領域に、S2のセグメント長を設定する。
また、TCPヘッダのシーケンス番号に基づいて判定する入力したセグメント(S2)の順序は、エントリ2の先頭ポインタ領域が示すセグメントエントリ1に記憶されたセグメント(S1)と、S1が記憶されたセグメントエントリ1の次ポインタ領域が示すセグメントエントリ0に記憶されたセグメント(S6)との間である。
そこで、S1が記憶されたセグメントエントリ1の次ポインタ領域に、S2が記憶されたセグメントエントリ2を示す2を設定し、S2が記憶されたセグメントエントリ2の次ポインタ領域に、S6が記憶されたセグメントエントリ0を示す0を設定する。
また、エントリ2の空きポインタ領域に、空きセグメントエントリであるセグメントエントリ3を示す3を設定する。
構築部110は、同様にして、S5、S7と入力し、入力した各セグメントをエントリ2に記憶する。
ここで、S7を入力してエントリ2に記憶するとき、エントリ2に記憶済みのS6、S1、S2、S5との順序を判定するため、エントリ2の先頭ポインタ領域と、各セグメントエントリの次ポインタ領域との合計5回のポインタ領域とセグメント長領域との参照処理が発生する。
また、S5とS6とS7とから成る構築セグメントの構築セグメントサイズが、ペイロードサイズ以上になっても、S1とS2とから成る、エントリ2に記憶される先頭の構築セグメントの構築セグメントサイズが、ペイロードサイズに満たないため、ペイロード精査を行わない。
このため、本来ならペイロード精査を行い、再利用できるS5とS6とS7とを記憶したメモリ領域を保持しなければならない。
このため、本来ならペイロード精査を行い、再利用できるS5とS6とS7とを記憶したメモリ領域を保持しなければならない。
図3は、実施の形態1におけるペイロード精査処理のフローチャート1である。
IDP200が、セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶し、ペイロード精査をする処理の流れについて、図3に基づいて説明する。
IDP200が、セッション単位でエントリを有し、各エントリで、対応するセッションの各セグメントを記憶し、ペイロード精査をする処理の流れについて、図3に基づいて説明する。
送受信部210は、IPパケットを受信し、受信したIPパケットを出力する(S101)。
セッション管理部220は、送受信部210が出力したIPパケットを入力し、入力したIPパケットのIPヘッダの情報(発信元IPアドレス、宛先IPアドレス)と、入力したIPパケットに含まれるセグメントのヘッダの情報(発信元ポート番号、宛先ポート番号)とを含むセッション情報を出力する。
セッション検索部230は、セッション管理部220が出力したセッション情報を入力し、入力したセッション情報の発信元IPアドレスと宛先IPアドレスと発信元ポート番号と宛先ポート番号とに対応するセッションのエントリを検索する。
セッション検索部230は、対応するセッションのエントリの有無と、検索したエントリを示すエントリ番号とを含むセッション検索結果を出力する(S102)。
セッション検索部230は、セッション管理部220が出力したセッション情報を入力し、入力したセッション情報の発信元IPアドレスと宛先IPアドレスと発信元ポート番号と宛先ポート番号とに対応するセッションのエントリを検索する。
セッション検索部230は、対応するセッションのエントリの有無と、検索したエントリを示すエントリ番号とを含むセッション検索結果を出力する(S102)。
セッション管理部220は、セッション検索部230が出力したセッション検索結果と、入力したIPパケットに含まれるセグメントとを出力する。
構築部110は、セッション管理部220が出力したセッション検索結果とセグメントとを入力し、入力したセッション検索結果に含まれるエントリの有無に基づいて、入力したセグメントと同一セッションのエントリの有無を判定する(S103)。
構築部110は、セッション管理部220が出力したセッション検索結果とセグメントとを入力し、入力したセッション検索結果に含まれるエントリの有無に基づいて、入力したセグメントと同一セッションのエントリの有無を判定する(S103)。
構築部110は、同一セッションのエントリが無いと判定した場合、エントリ記憶部120に、入力したセグメントのセッションに対するエントリを作成する(S104)。
構築部110は、同一セッションのエントリが有ると判定した場合、入力したセグメントを、入力したセッション検索結果に含まれるエントリ番号の示すエントリに記憶してセグメントを構築し、同一セッションのエントリが無いと判定した場合、入力したセグメントを作成したエントリに記憶してセグメントを構築する(S105)。
構築部110は、セグメントを構築した結果の構築セグメントサイズと、ペイロードサイズとのサイズの大小を判定する(S106)。
構築部110は、構築セグメントサイズが、ペイロードサイズ未満と判定した場合、構築セグメントサイズがペイロードサイズ未満であることを構築結果として出力する。
セッション管理部220は、構築部110が出力した構築結果に基づいて、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、セッション管理部220が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信し、IPパケットの受信を待つ(S107)。
セッション管理部220は、構築部110が出力した構築結果に基づいて、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、セッション管理部220が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信し、IPパケットの受信を待つ(S107)。
構築部110は、構築セグメントサイズが、ペイロードサイズ以上と判定した場合、構築セグメントを出力する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対してペイロード精査をする(S108)。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対してペイロード精査をする(S108)。
データ列検索部130は、不正データ列の有無をデータ列検索結果として出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果を構築結果として出力する。
セッション管理部220は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいて、不正侵入の検出を判定する。
このとき、入力した構築結果が不正データ列有りを示していた場合、入力したIPパケットを不正侵入と判定する(S109)。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果を構築結果として出力する。
セッション管理部220は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいて、不正侵入の検出を判定する。
このとき、入力した構築結果が不正データ列有りを示していた場合、入力したIPパケットを不正侵入と判定する(S109)。
セッション管理部220は、不正侵入を検出した場合、入力したIPパケットを廃棄する(S110)。
ここでIDP200は、構築セグメントに不正データ列を検出したときの入力IPパケットを廃棄することで、IPパケットの受信側で、不正侵入であるデータが構築され処理されることを防ぎ、不正侵入を遮断する。
セッション管理部220は、不正侵入を検出しなかった場合、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、セッション管理部220が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信する(S111)。
送受信部210は、セッション管理部220が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信する(S111)。
図4は、実施の形態1におけるセグメントの構築処理のフローチャート1である。
図3のS105で示す構築部110が行うセグメントの構築処理の流れを図4に基づいて説明する。
図3のS105で示す構築部110が行うセグメントの構築処理の流れを図4に基づいて説明する。
入力したエントリ番号の示すエントリの空きポインタを取得する。
空きポインタには、空きセグメントエントリを示すセグメントエントリ番号を設定する(S201)。
空きポインタには、空きセグメントエントリを示すセグメントエントリ番号を設定する(S201)。
取得した空きポインタの示すセグメントエントリのセグメント領域に、入力したセグメントを記憶する(S202)。
入力したエントリ番号の示すエントリの先頭ポインタを取得する(S203)。
取得した先頭ポインタの示すセグメントエントリの次ポインタを取得する(S204)。
取得した先頭ポインタの示すセグメントエントリのセグメントとそのセグメント長と、取得した次ポインタの示すセグメントエントリのセグメントとに基づいて、入力したセグメントの設定可否を判定する。
先頭ポインタの示すセグメントエントリのセグメントの最終位置(セグメントの先頭位置からセグメント長分先の位置)と、次ポインタの示すセグメントエントリのセグメントの先頭位置との間に、入力したセグメントが位置する場合に設定可と判定する(S205)。
先頭ポインタの示すセグメントエントリのセグメントの最終位置(セグメントの先頭位置からセグメント長分先の位置)と、次ポインタの示すセグメントエントリのセグメントの先頭位置との間に、入力したセグメントが位置する場合に設定可と判定する(S205)。
入力したセグメントの設定を可能と判定しなかった場合、次のセグメントとの間に、入力したセグメントが位置するか判定するため、取得した次ポインタの示すセグメントエントリの次ポインタを取得し、判定処理を繰り返す。
入力したセグメントの設定を可能と判定した場合、入力したセグメントの前に位置するセグメントのセグメントエントリの次ポインタを、入力したセグメントを記憶したセグメントエントリを示すセグメントエントリ番号に修正する(S206)。
入力したセグメントを記憶したセグメントエントリのセグメント長と次ポインタを設定する。
次ポインタには、入力したセグメントの後ろに位置するセグメントのセグメントエントリを示すセグメントエントリ番号を設定する(S207)。
次ポインタには、入力したセグメントの後ろに位置するセグメントのセグメントエントリを示すセグメントエントリ番号を設定する(S207)。
ここで、構築処理(S105)は、先頭ポインタで示されるセグメントエントリのセグメントから連続するデータ分のサイズを構築セグメントサイズとして出力する。
上記で説明したデータ列検索装置100は、構築部110が行うセグメントの構築時に先頭からセグメントの連結関係を調べるため、ポインタ領域やセグメント長領域などに対する参照処理回数が多い。
また、同一セッションにおいて先頭の構築セグメントの構築セグメントサイズがペイロードサイズに満たない場合、後方に位置する構築セグメントをペイロード精査しないため、余計に記憶領域を使用する。
また、同一セッションにおいて先頭の構築セグメントの構築セグメントサイズがペイロードサイズに満たない場合、後方に位置する構築セグメントをペイロード精査しないため、余計に記憶領域を使用する。
次に、上記で説明したデータ列検索装置100に対して、構築部110が行うセグメントの構築時の参照処理回数を減らし、加えて、同一セッションにおいて先頭であるかないかに関わらず、ペイロード精査を実行し、記憶領域を再利用するデータ列検索装置100を説明する。
図5は、実施の形態1におけるIDP200の構成図2である。
連結するセグメントを一つの単位として各セグメントを管理し、ペイロード精査を行うIDP200の構成について、図5に基づいて説明する。
連結するセグメントを一つの単位として各セグメントを管理し、ペイロード精査を行うIDP200の構成について、図5に基づいて説明する。
IDP200が備える各構成について以下に説明する。
送受信部210は、接続されたネットワークに対してIPパケットの送受信を行う。
エントリ管理部240は、連結するセグメントを一つの単位として各セグメントを管理する。
エントリ検索部250は、受信したIPパケットのセグメントと連結関係にあるセグメントが既に管理されているかを検索する。
構築部110は、各セグメントをデータの順番で連結して構築セグメントを構築する。
エントリ記憶部120は、連結するセグメントを一つの単位としてエントリを有し、各エントリで、連結関係にある各セグメントを記憶する。
データ列検索部130は、構築セグメントに対して不正データ列を検索する。
送受信部210は、接続されたネットワークに対してIPパケットの送受信を行う。
エントリ管理部240は、連結するセグメントを一つの単位として各セグメントを管理する。
エントリ検索部250は、受信したIPパケットのセグメントと連結関係にあるセグメントが既に管理されているかを検索する。
構築部110は、各セグメントをデータの順番で連結して構築セグメントを構築する。
エントリ記憶部120は、連結するセグメントを一つの単位としてエントリを有し、各エントリで、連結関係にある各セグメントを記憶する。
データ列検索部130は、構築セグメントに対して不正データ列を検索する。
また、エントリ検索部250は、検索機能を持つメモリであるCAM(Content Addressable Memory)にすることで、IDP200の処理能力を向上することができる。
送受信部210は、IPパケットを受信し、受信したIPパケットを出力する。
エントリ管理部240は、送受信部210が出力したIPパケットを入力し、入力したIPパケットに含まれるセグメントを取得し、取得したセグメントに対する検索情報を出力する。
エントリ検索部250は、エントリ管理部240が出力した検索情報を入力し、入力した検索情報に基づいて、エントリに記憶されたセグメントとエントリ管理部240が取得したセグメントとの連結関係を検索してエントリ検索結果を出力する。
エントリ管理部240は、エントリ検索部250が出力したエントリ検索結果を入力し、入力したエントリ検索結果と、取得したセグメントとを出力する。
構築部110は、エントリ管理部240が出力したエントリ検索結果とセグメントとを入力し、入力したエントリ検索結果とセグメントとに基づいて、エントリに記憶されたセグメントのサイズと、入力したセグメントのサイズとの合計サイズ(構築セグメントサイズ)を算出する。
構築部110は、算出した合計サイズがペイロードサイズに達する場合、入力したセグメントに対して連結関係にあるセグメントと入力したセグメントとを構築セグメントとして出力する。
また、構築部110は、入力したエントリ検索結果に基づいて、入力したセグメントをエントリに記憶する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対して不正データ列を検索し、データ列検索結果を出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果に基づいて構築結果を生成し、生成した構築結果を出力する。
エントリ管理部240は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいてIPパケットの送信命令を出力する。
送受信部210は、エントリ管理部240が出力した送信命令を入力し、入力した送信命令に基づいてIPパケットを送信する。
エントリ管理部240は、送受信部210が出力したIPパケットを入力し、入力したIPパケットに含まれるセグメントを取得し、取得したセグメントに対する検索情報を出力する。
エントリ検索部250は、エントリ管理部240が出力した検索情報を入力し、入力した検索情報に基づいて、エントリに記憶されたセグメントとエントリ管理部240が取得したセグメントとの連結関係を検索してエントリ検索結果を出力する。
エントリ管理部240は、エントリ検索部250が出力したエントリ検索結果を入力し、入力したエントリ検索結果と、取得したセグメントとを出力する。
構築部110は、エントリ管理部240が出力したエントリ検索結果とセグメントとを入力し、入力したエントリ検索結果とセグメントとに基づいて、エントリに記憶されたセグメントのサイズと、入力したセグメントのサイズとの合計サイズ(構築セグメントサイズ)を算出する。
構築部110は、算出した合計サイズがペイロードサイズに達する場合、入力したセグメントに対して連結関係にあるセグメントと入力したセグメントとを構築セグメントとして出力する。
また、構築部110は、入力したエントリ検索結果に基づいて、入力したセグメントをエントリに記憶する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対して不正データ列を検索し、データ列検索結果を出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果に基づいて構築結果を生成し、生成した構築結果を出力する。
エントリ管理部240は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいてIPパケットの送信命令を出力する。
送受信部210は、エントリ管理部240が出力した送信命令を入力し、入力した送信命令に基づいてIPパケットを送信する。
ここで、構築部110とエントリ記憶部120とデータ列検索部130とをデータ列検索装置100とする。
データ列検索装置100は、セグメントに限らず、分割データを入力し、入力した分割データに対して、分割データを跨ってデータ列を検索する。
データ列検索装置100は、セグメントに限らず、分割データを入力し、入力した分割データに対して、分割データを跨ってデータ列を検索する。
データ列検索装置100がIPパケットに含まれるセグメントに対して、セグメントを跨って不正データ列を検索することができることにより、IDP200にデータ列検索機能を実現することができる。
IDP200がデータ列検索装置100を備えることにより、セグメントを効率良く管理および構築しながら不正データ列の検索を行え、不正侵入を検知および遮断することができる。
図6は、実施の形態1におけるエントリ記憶部120の構成図2である。
連結するセグメントを一つの単位としてエントリを有し、各エントリで、対応する連結関係にあるセグメントを記憶するエントリ記憶部120の構成について、図6に基づいて説明する。
連結するセグメントを一つの単位としてエントリを有し、各エントリで、対応する連結関係にあるセグメントを記憶するエントリ記憶部120の構成について、図6に基づいて説明する。
エントリ記憶部120は複数のエントリを備える。
エントリ記憶部120の備える各エントリは、連結関係の基準となるセグメントを記憶する共用フラグメント領域(CFF(Common Fragment Field))123を備える。
エントリ記憶部120の備える各エントリは、CFF123に記憶されるセグメントの前に位置するセグメントを記憶する先頭フラグメント領域(HFF(Head Fragment Field))122を備える。
エントリ記憶部120の備える各エントリは、CFF123に記憶されるセグメントの後ろに位置するセグメントを記憶する最終フラグメント領域(FFF(Foot Fragment Field))124を備える。
ここで、CFF123とHFF122とFFF124のサイズは、ペイロードサイズと同じとし、CFF123、HFF122、FFF124のそれぞれで記憶するセグメントのサイズが各領域のサイズ(ペイロードサイズ)を越えた場合に、ペイロード精査を実施する。
エントリ記憶部120の備える各エントリは、各エントリに記憶されるセグメントの接続情報を記憶する接続情報領域(CI(Connect Information))121を備える。
CI121の記憶する接続情報には、CFF123とHFF122とFFF124とのそれぞれに対して、記憶されるセグメントのサイズと、記憶されるセグメントの先頭アドレスと、記憶されるセグメントの最終アドレスとを含む。
エントリ記憶部120の備える各エントリは、連結関係の基準となるセグメントを記憶する共用フラグメント領域(CFF(Common Fragment Field))123を備える。
エントリ記憶部120の備える各エントリは、CFF123に記憶されるセグメントの前に位置するセグメントを記憶する先頭フラグメント領域(HFF(Head Fragment Field))122を備える。
エントリ記憶部120の備える各エントリは、CFF123に記憶されるセグメントの後ろに位置するセグメントを記憶する最終フラグメント領域(FFF(Foot Fragment Field))124を備える。
ここで、CFF123とHFF122とFFF124のサイズは、ペイロードサイズと同じとし、CFF123、HFF122、FFF124のそれぞれで記憶するセグメントのサイズが各領域のサイズ(ペイロードサイズ)を越えた場合に、ペイロード精査を実施する。
エントリ記憶部120の備える各エントリは、各エントリに記憶されるセグメントの接続情報を記憶する接続情報領域(CI(Connect Information))121を備える。
CI121の記憶する接続情報には、CFF123とHFF122とFFF124とのそれぞれに対して、記憶されるセグメントのサイズと、記憶されるセグメントの先頭アドレスと、記憶されるセグメントの最終アドレスとを含む。
図7は、実施の形態1におけるエントリの使用例1を示す図である。
連結関係にあるセグメントを一つの単位として記憶するエントリの使用例を図7に基づいて説明する。
連結関係にあるセグメントを一つの単位として記憶するエントリの使用例を図7に基づいて説明する。
例えば、S1からS7は同一のセッションで分割されたセグメントで、IDP200の構築部110が、S6、S1、S2、S5、S7の順番で入力する。
また、S3、S4の入力はないとする。
ここで、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
また、S3、S4の入力はないとする。
ここで、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
S6を入力したとき、構築部110は、S6と連結関係にあるセグメント(S5またはS7)がエントリに記憶されていないため、何もセグメントが記憶されていないエントリ1のCFF123の先頭からS6を記憶する。
S1を入力したとき、構築部110は、S1と連結関係にあるセグメント(S2)がエントリに記憶されていないため、何もセグメントが記憶されていないエントリ2のCFF123の先頭からS1を記憶する。
S2を入力したとき、構築部110は、S2と連結関係にあるセグメント(S1)がエントリ2に記憶されているため、データが連続するようにS2をエントリ2のS1に連結して記憶する。
S5を入力したとき、構築部110は、S5と連結関係にあるセグメント(S6)がエントリ1に記憶されているため、S5をエントリ1のCFFに記憶する。
ここで、S5はS6の前に位置するため、CFFの最終に位置するようにS5を記憶する。
ここで、S5はS6の前に位置するため、CFFの最終に位置するようにS5を記憶する。
S7を入力したとき、構築部110は、S7と連結関係にあるセグメント(S6)がエントリ1に記憶されているため、データが連続するようにS7をエントリ2のS6に連結して記憶する。
以上のように、同一セッションのセグメントにおいても、連結関係にあるセグメント(S1とS2、またはS5とS6とS7)を一つの単位として別々のエントリに記憶する。
各エントリに記憶されたセグメントと連結する関係にないセグメントの入力に対して、新たなエントリを設定することで、同一セッションの先頭の構築セグメントであるかないかに関わらず、ペイロードサイズに達した構築セグメントに対してペイロード精査を行うことができる。
図8と図9は、実施の形態1におけるエントリの使用例2を示す図である。
CFF123に記憶されたセグメントの後ろに連結するセグメントを入力した場合のエントリの使用例を図8と図9とに基づいて説明する。
CFF123に記憶されたセグメントの後ろに連結するセグメントを入力した場合のエントリの使用例を図8と図9とに基づいて説明する。
S1からS4は同一のセッションで分割されたセグメントで、IDP200の構築部110が、S1、S2、S3、S4の順番で入力した場合、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
図8において、S1を入力したとき、構築部110は、S1をCFF123の先頭からS1を記憶する。
S2を入力したとき、構築部110は、S2をS1に連結して記憶する。
S3を入力したとき、CFF123に記憶されたS1とS2とのサイズと、入力したS3のサイズとの合計サイズが、CFF123のサイズ(ペイロードサイズ)に達するため、構築部110は、S1とS2とS3とを構築セグメントとして出力する。
また、構築部110は、S3をS2に連結して記憶する。
このとき、S1のサイズとS2のサイズとS3のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S3の最終側のデータはFFF124に記憶される。
S2を入力したとき、構築部110は、S2をS1に連結して記憶する。
S3を入力したとき、CFF123に記憶されたS1とS2とのサイズと、入力したS3のサイズとの合計サイズが、CFF123のサイズ(ペイロードサイズ)に達するため、構築部110は、S1とS2とS3とを構築セグメントとして出力する。
また、構築部110は、S3をS2に連結して記憶する。
このとき、S1のサイズとS2のサイズとS3のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S3の最終側のデータはFFF124に記憶される。
図9において、S4を入力したとき、構築部110は、S4をS3に連結して記憶する。
S5を入力したとき、FFF124に記憶されたS3(最終側のデータ)とS4とのサイズと、入力したS5のサイズとの合計サイズが、FFF124のサイズ(ペイロードサイズ)に達するため、構築部110は、S3とS4とS5とを構築セグメントとして出力する。
また、構築部110は、S5をS4に連結して記憶する。
このとき、S3(最終側のデータ)のサイズとS4のサイズとS5のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S5の最終側のデータはFFF124の先頭から記憶される。
S5を入力したとき、FFF124に記憶されたS3(最終側のデータ)とS4とのサイズと、入力したS5のサイズとの合計サイズが、FFF124のサイズ(ペイロードサイズ)に達するため、構築部110は、S3とS4とS5とを構築セグメントとして出力する。
また、構築部110は、S5をS4に連結して記憶する。
このとき、S3(最終側のデータ)のサイズとS4のサイズとS5のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S5の最終側のデータはFFF124の先頭から記憶される。
図10と図11と図12は、実施の形態1におけるエントリの使用例3を示す図である。
CFF123に記憶されたセグメントの前に連結するセグメントを入力した場合のエントリの使用例を図10と図11と図12とに基づいて説明する。
CFF123に記憶されたセグメントの前に連結するセグメントを入力した場合のエントリの使用例を図10と図11と図12とに基づいて説明する。
S1からS6は同一のセッションで分割されたセグメントで、IDP200の構築部110が、S6、S5、S4、S3、S2の順番で入力した場合、構築部110は、以下のようにして、入力した各セグメントをエントリに記憶する。
図10において、S6を入力したとき、構築部110は、S6をCFF123の先頭からS6を記憶する。
S5を入力したとき、S5はS6の前に位置するデータであるため、構築部110は、S5をCFF123の最終に位置するように記憶する。
S5を入力したとき、S5はS6の前に位置するデータであるため、構築部110は、S5をCFF123の最終に位置するように記憶する。
図11において、S4を入力したとき、CFF123に記憶されたS6とS5とのサイズと、入力したS4のサイズとの合計サイズが、CFF123のサイズ(ペイロードサイズ)に達するため、構築部110はS4とS5とS6とを構築セグメントとして出力する。
また、構築部110は、S4をS5に連結して記憶する。
このとき、S4のサイズとS5のサイズとS6のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S4の先頭側のデータはHFF122に記憶される。
S3を入力したとき、構築部110は、S3をS4に連結して記憶する。
また、構築部110は、S4をS5に連結して記憶する。
このとき、S4のサイズとS5のサイズとS6のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S4の先頭側のデータはHFF122に記憶される。
S3を入力したとき、構築部110は、S3をS4に連結して記憶する。
図12において、S2を入力したとき、HFF122に記憶されたS3とS4(先頭側のデータ)とのサイズと、入力したS2のサイズとの合計サイズが、HFF122のサイズ(ペイロードサイズ)に達するため、構築部110は、S2とS3とS4とを構築セグメントとして出力する。
また、構築部110は、S2をS3に連結して記憶する。
このとき、S2のサイズとS3のサイズとS4(先頭側のデータ)のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S2の先頭側のデータはHFF122の最終に位置するように記憶される。
また、構築部110は、S2をS3に連結して記憶する。
このとき、S2のサイズとS3のサイズとS4(先頭側のデータ)のサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分、S2の先頭側のデータはHFF122の最終に位置するように記憶される。
上記のように、構築部110は、連結関係にあるセグメントをCFF123、HFF122、FFF124に記憶し、また、構築セグメントを出力する。
ここで、構築部110は、構築セグメントサイズとペイロードサイズとの差分のサイズ分、入力したセグメントをHFF122またはFFF124に記憶することで、さらに、入力したセグメントとの間に跨る不正データ列を検出することができる。
また、CFF123とHFF122とFFF124との各サイズがペイロードサイズと同じであることで、検索するデータサイズ分のセグメントを管理することができ、使用する領域サイズを減らすことができる。
図13は、実施の形態1におけるペイロード精査処理のフローチャート2である。
IDP200が、連結関係にあるセグメントを一つの単位としてエントリを有し、各エントリで、連結関係にある各セグメントを記憶し、ペイロード精査をする処理の流れについて、図13に基づいて説明する。
IDP200が、連結関係にあるセグメントを一つの単位としてエントリを有し、各エントリで、連結関係にある各セグメントを記憶し、ペイロード精査をする処理の流れについて、図13に基づいて説明する。
送受信部210は、IPパケットを受信し、受信したIPパケットを出力する(S301)。
エントリ管理部240は、送受信部210が出力したIPパケットを入力し、入力したIPパケットのIPヘッダの情報(発信元IPアドレス、宛先IPアドレス)と、入力したIPパケットに含まれるセグメントのヘッダの情報(発信元ポート番号、宛先ポート番号)とを含む検索情報を出力する。
エントリ検索部250は、エントリ管理部240が出力した検索情報を入力し、入力した検索情報の発信元IPアドレスと宛先IPアドレスと発信元ポート番号と宛先ポート番号とに対応し、連結関係にあるセグメントを記憶するエントリを検索する。
エントリ検索部250は、対象となるエントリの有無と、セグメントの連結関係(エントリに記憶されるセグメントの前に連結するか、または、後ろに連結するか)と、検索したエントリを示すエントリ番号とを含むエントリ検索結果を出力する(S302)。
エントリ検索部250は、エントリ管理部240が出力した検索情報を入力し、入力した検索情報の発信元IPアドレスと宛先IPアドレスと発信元ポート番号と宛先ポート番号とに対応し、連結関係にあるセグメントを記憶するエントリを検索する。
エントリ検索部250は、対象となるエントリの有無と、セグメントの連結関係(エントリに記憶されるセグメントの前に連結するか、または、後ろに連結するか)と、検索したエントリを示すエントリ番号とを含むエントリ検索結果を出力する(S302)。
エントリ管理部240は、エントリ検索部250が出力したエントリ検索結果と、入力したIPパケットに含まれるセグメントとを出力する。
構築部110は、エントリ管理部240が出力したエントリ検索結果とセグメントとを入力し、入力したエントリ検索結果に含まれるエントリの有無に基づいて、入力したセグメントと連結関係にあるセグメントを記憶するエントリの有無を判定する(S303)。
構築部110は、エントリ管理部240が出力したエントリ検索結果とセグメントとを入力し、入力したエントリ検索結果に含まれるエントリの有無に基づいて、入力したセグメントと連結関係にあるセグメントを記憶するエントリの有無を判定する(S303)。
構築部110は、入力したセグメントと連結関係にあるセグメントを記憶するエントリが無いと判定した場合、エントリ記憶部120に、入力したセグメントを記憶するエントリを作成する(S304)。
構築部110は、入力したセグメントのサイズと、入力したエントリ検索結果に含まれるエントリ番号の示すエントリに記憶されるセグメントのサイズとの合計サイズ(構築セグメントサイズ)と、ペイロードサイズとのサイズの大小を判定する(S305)。
構築部110は、構築セグメントサイズが、ペイロードサイズ未満と判定した場合、入力したセグメントを、入力したエントリ検索結果に含まれるエントリ番号の示すエントリ、または作成したエントリに記憶してセグメントを構築する(S306)。
さらに、構築部110は、構築セグメントサイズがペイロードサイズ未満であることを構築結果として出力する。
エントリ管理部240は、構築部110が出力した構築結果に基づいて、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、エントリ管理部240が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信し、他のIPパケットの受信を待つ(S307)。
エントリ管理部240は、構築部110が出力した構築結果に基づいて、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、エントリ管理部240が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信し、他のIPパケットの受信を待つ(S307)。
構築部110は、構築セグメントサイズが、ペイロードサイズ以上と判定した場合、構築セグメントを出力する。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対してペイロード精査する(S308)。
データ列検索部130は、構築部110が出力した構築セグメントを入力し、入力した構築セグメントに対してペイロード精査する(S308)。
また、構築部110は、入力したセグメントを、入力したエントリ検索結果に含まれるエントリ番号の示すエントリ、または作成したエントリに記憶してセグメントを構築する(S309)。
データ列検索部130は、不正データ列の有無をデータ列検索結果として出力する。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果を構築結果として出力する。
エントリ管理部240は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいて、不正侵入の検出を判定する。
このとき、入力した構築結果が不正データ列有りを示していた場合、入力したIPパケットを不正侵入と判定する(S310)。
構築部110は、データ列検索部130が出力したデータ列検索結果を入力し、入力したデータ列検索結果を構築結果として出力する。
エントリ管理部240は、構築部110が出力した構築結果を入力し、入力した構築結果に基づいて、不正侵入の検出を判定する。
このとき、入力した構築結果が不正データ列有りを示していた場合、入力したIPパケットを不正侵入と判定する(S310)。
エントリ管理部240は、不正侵入を検出した場合、入力したIPパケットを廃棄する(S311)。
ここでIDP200は、構築セグメントに不正データ列を検出したときの入力IPパケットを廃棄することで、IPパケットの受信側で、不正侵入であるデータが構築され処理されることを防ぎ、不正侵入を遮断する。
エントリ管理部240は、不正侵入を検出しなかった場合、入力したIPパケットを宛先IPアドレスに中継可能と判定し、入力したIPパケットとIPパケットの送信命令とを出力する。
送受信部210は、エントリ管理部240が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信する(S312)。
送受信部210は、エントリ管理部240が出力したIPパケットと送信命令とを入力し、入力した送信命令に基づいて、入力したIPパケットを送信する(S312)。
図14は、実施の形態1におけるセグメントの構築処理のフローチャート2である。
図13のS306とS309で示す構築部110が行うセグメントの構築処理の流れを図14に基づいて説明する。
図13のS306とS309で示す構築部110が行うセグメントの構築処理の流れを図14に基づいて説明する。
入力したエントリ検索結果に基づいて、入力したセグメントを記憶する領域を判定する。
入力したエントリ検索結果に含まれるエントリ番号の示すエントリのCI121に記憶されるCFF123のセグメントのサイズが、CFF123のサイズ(ペイロードサイズ)に達していなければ、CFF123を、入力したセグメントを記憶する領域と判定する。
入力したエントリ検索結果に含まれるエントリ番号の示すエントリのCI121に記憶されるCFF123のセグメントのサイズが、CFF123のサイズ(ペイロードサイズ)に達していれば、入力したエントリ検索結果に含まれるセグメントの連結関係を参照して、入力したセグメントを記憶する領域を判定する。
セグメントの連結関係が、エントリに記憶されるセグメントの前に連結することを示す場合、HFF122を、入力したセグメントを記憶する領域と判定する。
セグメントの連結関係が、エントリに記憶されるセグメントの後ろに連結することを示す場合、FFF124を、入力したセグメントを記憶する領域と判定する(S401)。
入力したエントリ検索結果に含まれるエントリ番号の示すエントリのCI121に記憶されるCFF123のセグメントのサイズが、CFF123のサイズ(ペイロードサイズ)に達していなければ、CFF123を、入力したセグメントを記憶する領域と判定する。
入力したエントリ検索結果に含まれるエントリ番号の示すエントリのCI121に記憶されるCFF123のセグメントのサイズが、CFF123のサイズ(ペイロードサイズ)に達していれば、入力したエントリ検索結果に含まれるセグメントの連結関係を参照して、入力したセグメントを記憶する領域を判定する。
セグメントの連結関係が、エントリに記憶されるセグメントの前に連結することを示す場合、HFF122を、入力したセグメントを記憶する領域と判定する。
セグメントの連結関係が、エントリに記憶されるセグメントの後ろに連結することを示す場合、FFF124を、入力したセグメントを記憶する領域と判定する(S401)。
CFF123を、入力したセグメントを記憶する領域と判定した場合、入力したエントリ検索結果に含まれるセグメントの連結関係に基づいて、入力したセグメントの連結位置を判定する(S402)。
入力したセグメントがCFF123に記憶されるセグメントの前に位置すると判定した場合、ペイロード精査(S308)の実行の有無を判定する(S403)。
ペイロード精査の実行が有ったと判定した場合、ペイロードサイズと、CFF123に記憶されるセグメントのサイズとの差分のサイズ分、入力したセグメントの最終側のデータをCFF123に記憶する。
CFF123に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶されるCFF123の接続情報を更新する(S404)。
CFF123に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶されるCFF123の接続情報を更新する(S404)。
さらに、CFF123に記憶していない入力したセグメントの先頭側のデータ、つまり、CFF123に記憶されるセグメントのサイズと、入力したセグメントのサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分の入力したセグメントの先頭側のデータ、をHFF122の最終に位置するように記憶する。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S405)。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S405)。
ペイロード精査の実行が無かったと判定した場合、入力したセグメントをCFF123に記憶する。
入力したセグメントを記憶する位置は、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶するCFF123の接続情報を更新する(S406)。
入力したセグメントを記憶する位置は、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶するCFF123の接続情報を更新する(S406)。
入力したセグメントがCFF123に記憶されるセグメントの後ろに位置すると判定した場合、ペイロード精査(S308)の実行の有無を判定する(S407)。
ペイロード精査の実行が有ったと判定した場合、ペイロードサイズと、CFF123に記憶されるセグメントのサイズとの差分のサイズ分、入力したセグメントの先頭側のデータを、CFF123に記憶されるセグメントに連結して記憶する。
CFF123に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶されるCFF123の接続情報を更新する(S408)。
CFF123に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶されるCFF123の接続情報を更新する(S408)。
さらに、CFF123に記憶していない入力したセグメントの最終側のデータ、つまり、CFF123に記憶されるセグメントのサイズと、入力したセグメントのサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分の入力したセグメントの最終側のデータ、をFFF124の先頭から記憶する。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S409)。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S409)。
ペイロード精査の実行が無かったと判定した場合、入力したセグメントをCFF123に記憶されるセグメントに連結して記憶する。
入力したセグメントを記憶する位置は、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶するCFF123の接続情報を更新する(S410)。
入力したセグメントを記憶する位置は、CI121に記憶されるCFF123の接続情報を参照する。
また、CFF123に記憶したセグメント分、CI121に記憶するCFF123の接続情報を更新する(S410)。
HFF122を、入力したセグメントを記憶する領域と判定した場合、ペイロード精査(S308)の実行の有無を判定する(S411)。
ペイロード精査の実行が有ったと判定した場合、ペイロードサイズと、HFF122に記憶されるセグメントのサイズとの差分のサイズ分、入力したセグメントの最終側のデータを、HFF122に記憶されるセグメントに連結して記憶する。
HFF122に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるHFF122の接続情報を参照する。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S412)。
HFF122に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるHFF122の接続情報を参照する。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S412)。
さらに、HFF122に記憶していない入力したセグメントの先頭側のデータ、つまり、HFF122に記憶されるセグメントのサイズと、入力したセグメントのサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分の入力したセグメントの先頭側のデータ、をHFF122の最終に位置するように記憶する。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S413)。
また、HFF122に記憶したセグメント分、CI121に記憶されるHFF122の接続情報を更新する(S413)。
ペイロード精査の実行が無かったと判定した場合、入力したセグメントをHFF122に記憶されるセグメントに連結して記憶する。
また、HFF122に記憶したセグメント分、CI121に記憶するHFF122の接続情報を更新する(S414)。
また、HFF122に記憶したセグメント分、CI121に記憶するHFF122の接続情報を更新する(S414)。
FFF124を、入力したセグメントを記憶する領域と判定した場合、ペイロード精査(S308)の実行の有無を判定する(S415)。
ペイロード精査の実行が有ったと判定した場合、ペイロードサイズと、FFF124に記憶されるセグメントのサイズとの差分のサイズ分、入力したセグメントの先頭側のデータを、FFF124に記憶されるセグメントに連結して記憶する。
FFF124に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるFFF124の接続情報を参照する。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S416)。
FFF124に記憶されるセグメントのサイズと、入力したセグメントを記憶する位置とは、CI121に記憶されるFFF124の接続情報を参照する。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S416)。
さらに、FFF124に記憶していない入力したセグメントの最終側のデータ、つまり、FFF124に記憶されるセグメントのサイズと、入力したセグメントのサイズとの合計サイズと、ペイロードサイズとの差分のサイズ分の入力したセグメントの最終側のデータ、をFFF124の先頭から記憶する。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S417)。
また、FFF124に記憶したセグメント分、CI121に記憶されるFFF124の接続情報を更新する(S417)。
ペイロード精査の実行が無かったと判定した場合、入力したセグメントをFFF124に記憶されるセグメントに連結して記憶する。
また、FFF124に記憶したセグメント分、CI121に記憶するFFF124の接続情報を更新する(S418)。
また、FFF124に記憶したセグメント分、CI121に記憶するFFF124の接続情報を更新する(S418)。
ここで、各エントリがCI121を備え、CI121にCFF123とHFF122とFFF124との各接続情報を記憶することにより、構築部110が、入力したセグメントを記憶する領域の接続情報を参照して、入力したセグメントの構築をすることができ、構築時の参照処理回数を減らし、データ列検索装置100の処理負荷を軽減することができる。
図15は、実施の形態1におけるデータ列検索装置100とIDP200とのハードウェア構成図である。
図15において、データ列検索装置100とIDP200とは、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、磁気ディスク装置920と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置、記憶部あるいは領域の一例である。
通信ボード915はネットワークに接続されている。
図15において、データ列検索装置100とIDP200とは、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、磁気ディスク装置920と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置、記憶部あるいは領域の一例である。
通信ボード915はネットワークに接続されている。
磁気ディスク装置920には、オペレーティングシステム(OS)921、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921により実行される。
上記プログラム群923には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、実施の形態の説明において説明するフローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
ファイル群924には、実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、実施の形態の説明において説明するフローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
また、実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
また、実施の形態を実施するプログラムは、磁気ディスク装置920、FD(Flexible Disk cartridge)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶されても構わない。
100 データ列検索装置、110 構築部、120 エントリ記憶部、130 データ列検索部、200 不正侵入検知遮断装置、210 送受信部、220 セッション管理部、230 セッション検索部、240 エントリ管理部、250 エントリ検索部、121 接続情報領域、122 先頭フラグメント領域、123 共用フラグメント領域、124 最終フラグメント領域、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、923 プログラム群、924 ファイル群。
Claims (10)
- 分割された分割データに対して分割データを跨りデータ列検索をするデータ列検索装置において、
分割データを記憶するエントリを有するエントリ記憶部と、
データ列検索を行うデータ列検索部と、
エントリに記憶される分割データに対して連結関係にある分割データを入力し、入力した分割データに対して連結関係にある分割データのサイズと入力した分割データのサイズとの合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとをデータ列検索部に出力し、入力した分割データをエントリに記憶する構築部と
を備えたことを特徴とするデータ列検索装置。 - 上記エントリは、基準となる分割データを記憶する共用フラグメント領域と、共用フラグメント領域に記憶される分割データの前に位置する分割データを記憶する先頭フラグメント領域と、共用フラグメント領域に記憶される分割データの後ろに位置する分割データを記憶する最終フラグメント領域とを備え、
上記構築部は、
入力した分割データが共用フラグメント領域に記憶された分割データの前に連結するデータの場合で且つ入力した分割データのサイズと共用フラグメント領域に記憶された分割データのサイズとの合計サイズが一定サイズに達する場合、合計サイズと一定サイズとの差分のサイズ分、入力した分割データの先頭側のデータを先頭フラグメント領域に記憶し、
入力した分割データが共用フラグメント領域に記憶された分割データの後ろに連結するデータの場合で且つ入力した分割データのサイズと共用フラグメント領域に記憶された分割データのサイズとの合計サイズが一定サイズに達する場合、合計サイズと一定サイズとの差分のサイズ分、入力した分割データの最終側のデータを最終フラグメント領域に記憶し、
入力した分割データが先頭フラグメント領域に記憶された分割データに対して連結関係にある場合で且つ入力した分割データのサイズと先頭フラグメント領域に記憶された分割データのサイズとの合計サイズが一定サイズに達する場合、合計サイズと一定サイズとの差分のサイズ分、入力した分割データの先頭側のデータを先頭フラグメント領域に記憶し、
入力した分割データが最終フラグメント領域に記憶された分割データに対して連結関係にある場合で且つ入力した分割データのサイズと最終フラグメント領域に記憶された分割データのサイズとの合計サイズが一定サイズに達する場合、合計サイズと一定サイズとの差分のサイズ分、入力した分割データの最終側のデータを最終フラグメント領域に記憶する
ことを特徴とする請求項1記載のデータ列検索装置。 - 上記構築部は、
上記エントリに記憶されたいずれの分割データに対しても連結する関係にない分割データを入力し、新たなエントリの共用フラグメント領域に、入力した分割データを記憶することを特徴とする請求項2記載のデータ列検索装置。 - 上記共用フラグメント領域と上記先頭フラグメント領域と上記最終フラグメント領域との各サイズは、上記の一定サイズと同じであることを特徴とする請求項2記載のデータ列検索装置。
- 上記エントリは、
上記共用フラグメント領域に記憶される分割データのサイズと、
上記先頭フラグメント領域に記憶される分割データのサイズと、
上記最終フラグメント領域に記憶される分割データのサイズと、
上記共用フラグメント領域に記憶される分割データの先頭アドレスと、
上記共用フラグメント領域に記憶される分割データの最終アドレスと、
上記先頭フラグメント領域に記憶される分割データの先頭アドレスと、
上記先頭フラグメント領域に記憶される分割データの最終アドレスと、
上記最終フラグメント領域に記憶される分割データの先頭アドレスと、
上記最終フラグメント領域に記憶される分割データの最終アドレスと
を記憶する接続情報領域を備えたことを特徴とする請求項2記載のデータ列検索装置。 - 上記データ列検索装置は、ネットワーク通信において、
分割されたTCP(Transmission Control Protocol)データと分割されたUDP(User Datagram Protocol)データとの少なくともいずれかを分割データとすることを特徴とする請求項1記載のデータ列検索装置。 - IP(Internet Protocol)パケットに含まれて送受信されるTCP(Transmission Control Protocol)データとUDP(User Datagram Protocol)データとの少なくともいずれかに対して不正データ列を検索し、不正侵入のIPパケットを検知および遮断する不正侵入検知遮断装置において、
分割されたTCPデータと分割されたUDPデータとの少なくともいずれかを含むIPパケットを送受信する送受信部と、
送受信部が受信したIPパケットに含まれる分割されたTCPデータと分割されたUDPデータとの少なくともいずれかを分割データとして管理するエントリ管理部と、
分割データを記憶するエントリを検索するエントリ検索部と、
分割データを構築する構築部と、
分割データを記憶するエントリを有するエントリ記憶部と、
データ列検索を行うデータ列検索部とを備え、
送受信部は、IPパケットを受信し、受信したIPパケットを出力し、
エントリ管理部は、送受信部が出力したIPパケットを入力し、入力したIPパケットに含まれる分割データを取得し、取得した分割データに対する検索情報を出力し、
エントリ検索部は、エントリ管理部が出力した検索情報を入力し、入力した検索情報に基づいて、エントリに記憶された分割データとエントリ管理部が取得した分割データとの連結関係を検索してエントリ検索結果を出力し、
エントリ管理部は、エントリ検索部が出力したエントリ検索結果を入力し、入力したエントリ検索結果と、取得した分割データとを出力し、
構築部は、エントリ管理部が出力したエントリ検索結果と分割データとを入力し、入力したエントリ検索結果と分割データとに基づいて、エントリに記憶された分割データのサイズと、入力した分割データとのサイズとの合計サイズを算出し、算出した合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとを構築データとして出力し、入力したエントリ検索結果に基づいて、入力した分割データをエントリに記憶し、
データ列検索部は、構築部が出力した構築データを入力し、入力した構築データに対して不正データ列を検索し、データ列検索結果を出力し、
構築部は、データ列検索部が出力したデータ列検索結果を入力し、入力したデータ列検索結果に基づいて構築結果を生成し、生成した構築結果を出力し、
エントリ管理部は、構築部が出力した構築結果を入力し、入力した構築結果に基づいてIPパケットの送信命令を出力し、
送受信部は、エントリ管理部が出力した送信命令を入力し、入力した送信命令に基づいてIPパケットを送信することを特徴とする不正侵入検知遮断装置。 - 上記エントリ検索部は、
検索機能を持つメモリであるCAM(Content Addressable Memory)であることを特徴とする請求項7記載の不正侵入検知遮断装置。 - 分割された分割データに対して分割データを跨りデータ列検索をするデータ列検索方法において、
分割データをエントリに記憶するエントリ記憶工程と、
エントリに記憶される分割データに対して連結関係にある分割データを入力し、入力した分割データに対して連結関係にある分割データのサイズと入力した分割データのサイズとの合計サイズが一定サイズに達する場合、入力した分割データに対して連結関係にある分割データと入力した分割データとを出力する構築工程と、
構築工程で出力された分割データに対してデータ列検索を行うデータ列検索工程と、
入力した分割データをエントリに記憶する構築工程と
を備えたことを特徴とするデータ列検索方法。 - 請求項9記載のデータ列検索方法をコンピュータに実行させるデータ列検索プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004172062A JP2005354334A (ja) | 2004-06-10 | 2004-06-10 | データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004172062A JP2005354334A (ja) | 2004-06-10 | 2004-06-10 | データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005354334A true JP2005354334A (ja) | 2005-12-22 |
Family
ID=35588418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004172062A Abandoned JP2005354334A (ja) | 2004-06-10 | 2004-06-10 | データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005354334A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010148090A (ja) * | 2008-12-22 | 2010-07-01 | Korea Electronics Telecommun | パケット処理方法及びこれを用いたtoe装置 |
JP2013243694A (ja) * | 2006-06-12 | 2013-12-05 | Mitsubishi Electric R&D Centre Europe B.V. | 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品 |
KR101713911B1 (ko) * | 2015-10-06 | 2017-03-09 | 주식회사 윈스 | 네트워크의 고속 연속적 데이터의 손실 방지 서비스 제공 방법 및 시스템 |
-
2004
- 2004-06-10 JP JP2004172062A patent/JP2005354334A/ja not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013243694A (ja) * | 2006-06-12 | 2013-12-05 | Mitsubishi Electric R&D Centre Europe B.V. | 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品 |
JP2010148090A (ja) * | 2008-12-22 | 2010-07-01 | Korea Electronics Telecommun | パケット処理方法及びこれを用いたtoe装置 |
KR101713911B1 (ko) * | 2015-10-06 | 2017-03-09 | 주식회사 윈스 | 네트워크의 고속 연속적 데이터의 손실 방지 서비스 제공 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9001661B2 (en) | Packet classification in a network security device | |
US7873998B1 (en) | Rapidly propagating threat detection | |
JP5050781B2 (ja) | マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法 | |
US7865955B2 (en) | Apparatus and method for extracting signature candidates of attacking packets | |
JP3627697B2 (ja) | パケットの宛先検索システム | |
JPWO2005036831A1 (ja) | フレーム中継装置 | |
KR20110061784A (ko) | 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법 | |
EP3584990A1 (en) | Data processing method, device, and system | |
KR102585874B1 (ko) | Sdn네트워크에서 라우팅 제어 장치 및 방법 | |
JP2020017809A (ja) | 通信装置及び通信システム | |
US11838318B2 (en) | Data plane with connection validation circuits | |
JP2005168018A (ja) | Ipパケットのエラー処理装置及び方法、そして該方法を実行するプログラムを記録したコンピュータ可読記録媒体 | |
KR100818307B1 (ko) | IPv6 공격 패킷 탐지장치 및 방법 | |
US20030219017A1 (en) | Method and system for converting ranges into overlapping prefixes for a longest prefix match | |
JP4263718B2 (ja) | 通信処理装置及び通信処理方法 | |
JP2005354334A (ja) | データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム | |
CN112351002A (zh) | 一种报文检测方法、装置及设备 | |
CN115190056B (zh) | 一种可编排的流量协议识别与解析方法、装置及设备 | |
JP6877278B2 (ja) | 中継装置 | |
CN110830494B (zh) | 一种iot攻击防御方法、装置及电子设备和存储介质 | |
JP7246586B2 (ja) | 侵入検知装置、侵入検知方法、及び、侵入検知プログラム | |
JP4235907B2 (ja) | ワーム伝播監視システム | |
JP2005223673A (ja) | 受信パケット処理方法および装置 | |
CN113765852B (zh) | 数据包的检测方法、系统、存储介质和计算设备 | |
KR101270928B1 (ko) | 안티-멀웨어 시스템 및 그의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090525 |