JP2008271347A - 不正アクセス防止装置および判定結果送信方法 - Google Patents
不正アクセス防止装置および判定結果送信方法 Download PDFInfo
- Publication number
- JP2008271347A JP2008271347A JP2007113647A JP2007113647A JP2008271347A JP 2008271347 A JP2008271347 A JP 2008271347A JP 2007113647 A JP2007113647 A JP 2007113647A JP 2007113647 A JP2007113647 A JP 2007113647A JP 2008271347 A JP2008271347 A JP 2008271347A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- session
- determination result
- control unit
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】フロー単位のパケットの順序保証をしつつ不正アクセス防止処理速度を向上させる。
【解決手段】バッファ部2は、受信Port1からのパケットを内蔵メモリに格納して、そのコピーにパケットIDとセションIDを付加して受信の順序で転送する。侵入検出部3は、バッファ部からのパケットについて不正アクセスがあるか否かを判定し、判定の終わったパケットから、侵入判定結果にパケットIDとセションIDを付加して通知する。フロー制御部5は、パケットバッファ部からの転送の順序と侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を受信するまではパケットIDとセションIDを送信しない。
【選択図】図1
【解決手段】バッファ部2は、受信Port1からのパケットを内蔵メモリに格納して、そのコピーにパケットIDとセションIDを付加して受信の順序で転送する。侵入検出部3は、バッファ部からのパケットについて不正アクセスがあるか否かを判定し、判定の終わったパケットから、侵入判定結果にパケットIDとセションIDを付加して通知する。フロー制御部5は、パケットバッファ部からの転送の順序と侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を受信するまではパケットIDとセションIDを送信しない。
【選択図】図1
Description
本発明は、不正アクセス防止、特にネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置および判定結果送信方法に関する。
近年、ネットワーク技術の発展により、企業や一般家庭にインターネットやイントラネットが広く普及する一方で、これらに関連するネットワーク機器は、ネットワークを通じてのコンピュータウィルスのばら撒きや、サーバへの不正アクセスといった、セキュリティ上の脅威に晒されている。
このようなネットワークへの不正接続を防止するため、従来は、入力パケットから不正侵入を検出し、通信の遮断等の対策をとるとともに、不正侵入が行われていない場合は、遮断されていた通信を自動的に復旧させるようにしている(例えば、特許文献1参照)。これにより、不正侵入の検知をパケットの要求元で判断することがないので、侵入者の成り済ましを阻止することができ、また遮断されていた通信を管理者の手を煩わすことなく再開することができる。
また、フィルタ型のIDS(Intrusion Detection System)機能を用いて、IP(Internet Protocol)パケットで攻撃パタンとなるものは即座に遮断するとともに、大量のIPパケットが検出された場合にも、そのIPパケットを遮断することの可能な技術も提案されている(例えば、特許文献2参照)。これにより、内部ネットワーク上の機器が攻撃パケットの攻撃を受けることを阻止し、サービス不能攻撃を防御することができる。
また、受信したパケットを一旦バッファに留めおき、正常性が確認されたもののみを送信するようにした技術が知られている(文献公知発明に係るものではない)。図13は、この種の不正アクセス防止装置の例を示す。パケット受信Port1で受信したパケットは、パケットバッファ部2に格納される。パケットバッファ部2ではパケットをメモリに格納すると同時に、装置内部で使用するパケットの固有値であるパケットIDと、Flowの識別値であるセションIDを設定する。セションIDは、IPアドレスとレイヤ4のPort番号から任意の値が設定され、IPアドレスとPort番号が同じパケットは、同一セションと看做され、セションIDは同値となる。
これらのIDとともに、メモリに格納されたパケットのコピーを侵入検出部3に転送する。侵入検出部3では、パケットの正常性の判定を行い、判定結果をパケットIDとセションIDとともにパケットバッファ部2に通知する。侵入検出部3から指示を受けたパケットバッファ部2では、指定されたパケットIDをメモリからリードし、送信指示であれば、パケット送信Port4にパケットを送信し、廃棄指示であれば、パケットを廃棄し、該当パケットが格納されていたバッファ領域を開放する。
以上の全ての技術は、特定のアプリケーション下においての不正アクセス検出処理についてのものであって、パケットの処理もシーケンシャルに行わせることを前提としている。したがって、不正アクセスの検出を単一のH/Wもしくはプログラムでシーケンシャルな処理を実現している。
しかし、現在のネットワークの通信速度は最大で10Gbpsに達しており、このような技術では、ネットワークの運用形態によっては、装置の処理能力不足に陥る可能性が高い。また、不正アクセスの処理検出もアプリケーションが多岐に亘ることにより、その検出回路または検出プログラムも多様化する傾向にあるため、回路やプログラムの追加実装を予定する必要がある。
そこで、IPS装置の処理速度を向上させる方法として、図14に示すように、侵入検出処理を機能別に異なるH/Wで実現したり、H/Wを複数化して負荷分散する方式が考えられる。しかし、このように並列処理を行った場合、各H/Wは独立に動作しているため、結果判定から送信までの時間がパケットごとに異なってくる。
その結果、装置内でパケットの追い越しが発生してしまい、ネットワーク上に悪影響を与えることになる。図15は、P1,P2,P3という送信順序で侵入検出部3へ送信されたパケットが、侵入検出部3からはP1,P3,P2という結果通知順序になっていることを示している。
そこで、本発明の目的は、フロー毎のパケットの追い越しを監視しながら、複数のH/Wにて並列して侵入検出処理を行うことによって、フロー単位のパケットの順序保証をしつつ、装置の処理速度の向上を実現した不正アクセス防止装置および判定結果送信方法を提供することにある。
本発明の不正アクセス防止装置は、ネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置において、複数の手段にてフロー毎のパケットにつき並列して侵入検出処理を行い、複数の手段における不正アクセス判定の遅速によるパケットの追い越しを監視しながら、フロー単位のパケットの順序を保証することを特徴とする。
本発明の不正アクセス防止装置は、より詳しくは、ネットワーク機器への侵入検出処理を複数の手段にて並行して実現する不正アクセス防止装置において、パケット受信Port(図1の1)からのパケットを内蔵メモリに格納して、格納されたパケットのコピーにパケットIDとセションIDを付加して受信の順序で転送するパケットバッファ部(図1の2)と、パケットバッファ部からのパケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果にパケットバッファ部からのパケットIDとセションIDを付加して通知する複数の手段としての侵入検出部(図1の3)と、パケットバッファ部からのパケットIDとセションIDの順序と、侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、追い越しが発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を侵入検出部から受信するまでは、パケットバッファ部にはパケットIDとセションIDを送信しないフロー制御部(図1の5)を備え、侵入判定済みのパケットを受信の順序で送信することを特徴とする。
更に、フロー制御部(図1の5)は、パケットバッファ部が付与するセションIDを元にフロー単位の管理を行うためセションIDにHeadポインタ(PHP)とTailポインタ(PTP)とテーブル有効フラグとを保存するセションID制御テーブル(図2の6)と、パケットバッファ部が付与するパケットIDを元にパケット単位の管理を行うためパケットID毎にNextポインタ(PNP)と判定結果受信フラグと判定内容を保存するパケットID制御テーブル(図2の7)と、パケットバッファ部から入力するデータをFIFOメモリに保存してアクセス権の調停を依頼し、アクセス権を得るとセションIDとパケットIDを通知してパケット登録処理を依頼するパケットバッファ受信制御部(図2の8)と、侵入検出部からの判定結果をFIFOメモリ保存してアクセス権の調停を依頼し、アクセス権を取得するとセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する判定結果受信制御部(図2の9)と、パケットバッファ受信制御部と判定結果受信制御部からの調停の依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにアクセス権を付与する調停制御部(図2の10)と、調停により判定結果処理を依頼されると連鎖する次のパケットについて判定結果到着済みか否かを調べるためにセションID制御テーブルのPHPにPNPを設定して更新するセションID制御部(図2の11)と、調停により判定結果処理を依頼されるとパケットID制御テーブルに判定結果を登録して、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのときは、当該パケットのセションIDとパケットIDと登録されている判定結果を通知して判定結果送信を要求するパケットID制御部(図2の12)と、パケットID制御部からの要求をFIFOメモリに格納し順次にパケットバッファ部宛に送信するパケットバッファ送信制御部(図2の13)とで構成されることを特徴とする。
また、本発明の判定結果送信方法は、上記不正アクセス防止装置(図2)における判定結果送信方法であって、パケットID制御部がパケットID制御テーブルに判定結果を登録した後、PHPが指すパケットID制御テーブルのアドレスをリードしてカレントテーブルとする第1段階(図11の処理1)と、リードしたパケットIDについて判定結果が到着済みかを判断し、未着なら処理を終える第2段階と、到着済みならパケットバッファに当該セションIDとパケットIDと判定結果を送信する第3段階(図11の処理2)と、カレントテーブルのPNPをPHPに設定する第4段階(図11の処理3)と、カレントテーブルのPNPがPTPなら処理を終了する第5段階と、第5段階においてカレントテーブルのPNPがPTPでないなら、該PNPが指すパケットID制御テーブルのアドレスをリードしカレントテーブルとして、第2段階へ帰還する第6段階(図11の処理5)を有することを特徴とする。
本発明によれば、侵入検出部における不正アクセス判定の遅速によるパケットの追い越しをフロー制御部で吸収する構成としたので、侵入検出部は、パケットバッファ部から入力されるパケットの順序に関係なく、侵入検出回路にて入力パケットに対する判定結果を出力できる。このため、装置の処理速度が向上すると共に、侵入検出回路の追加や拡張を容易に行うことができる。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
本発明の不正アクセス防止装置の概略図を図1に示す。この不正アクセス防止装置は、侵入検出部3からパケットバッファ部2へのルートにフロー制御部5を挿入している。パケットバッファ部2は、パケット受信Port1からのパケットを内蔵メモリに格納する。そして、格納されたパケットのコピーにパケットIDとセションIDを付加してP1,P2,P3の順序で侵入検出部3に転送する(b)。パケットIDは装置内部で使用するパケットの固有値であり、セションIDはFlowの識別値である。また、パケットバッファ部2はフロー制御部5にパケットIDとセションIDを通知する(a)。
本発明の不正アクセス防止装置の概略図を図1に示す。この不正アクセス防止装置は、侵入検出部3からパケットバッファ部2へのルートにフロー制御部5を挿入している。パケットバッファ部2は、パケット受信Port1からのパケットを内蔵メモリに格納する。そして、格納されたパケットのコピーにパケットIDとセションIDを付加してP1,P2,P3の順序で侵入検出部3に転送する(b)。パケットIDは装置内部で使用するパケットの固有値であり、セションIDはFlowの識別値である。また、パケットバッファ部2はフロー制御部5にパケットIDとセションIDを通知する(a)。
侵入検出部3は、パケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果にパケットIDとセションIDを付加してフロー制御部5に通知する(c)。図1の例では、P1,P3,P2の順序になっているが、これはパケットP3がパケットP2より早く判定されたからである。
フロー制御部5は、パケットバッファ部2からの順序P1,P2,P3と、侵入検出部3からの順序P1,P3,P2とから、追い越しの発生を監視し、追い越しの発生していないパケットP1については、パケットIDをパケットバッファ部2に通知することで、送信指示を行う(d)。追い越しが発生している場合は、該当パケットP3より前に受信した全パケットP2の判定結果を侵入検出部3から受信するまでは、パケットバッファ部2には送信しない。この結果、フロー制御部5は、当初の順序であるP1,P2,P3の順序でパケットをパケットバッファ部2へ送信し、パケットバッファ部2はこの順序でパケット送信Port4に引き渡す。
フロー制御部5の回路構成を図2に示す。図2を参照すると、フロー制御部5は、パケットバッファ受信制御部8と、判定結果受信制御部9と、調停制御部10と、セションID制御部11と、セションID制御テーブル6と、パケットID制御部12と、パケットID制御テーブル7とパケットバッファ送信制御部13から構成されている。
セションID制御テーブル6は、パケットバッファ部2が付与するセションIDを元に、フロー単位の管理を行うことを目的とする。受信したセションIDを元にテーブルのメモリアドレスが確定され、例えば、セションIDが0の場合は、テーブルのメモリアドレスは0番地とする。
図3にセションID制御テーブル6の構成を示す。セションID制御テーブル6にて保存され管理される要素は、パケット制御テーブルHeadポインタ(以下、PHP)、パケット制御テーブルTailポインタ(以下、PTP)、テーブル有効フラグである。PHPは受信パケットの先頭を示す情報が格納されているパケットID制御テーブル7のメモリアドレスを保存し、PTPは受信パケットの末尾を示す情報が格納されているパケットID制御テーブル7のメモリアドレスを保存する。テーブル有効フラグは、セションID内にて管理されているパケットIDが存在する場合はONに、存在しない場合はOFFに設定される。
パケットID制御テーブル7は、パケットバッファ部2が付与するパケットIDを元に、パケット単位の管理を行うことを目的とする。受信したパケットIDを元にテーブルのメモリアドレスが確定され、例えば、パケットIDが5の場合は、テーブルのメモリアドレスは5番地とする。
図4にパケットID制御テーブル7の構成を示す。パケットID制御テーブル7にて保存され管理される要素は、パケット制御テーブルNextポインタ(以下、PNP)、判定結果受信フラグ、判定内容である。PNPには、順序管理のため、次のパケットの情報を格納したパケットID制御テーブル7のメモリアドレスを保存する。判定結果受信フラグは、初期値はOFFであり、侵入検出部3から判定結果を受信した際にONされ、この情報を元にパケットを送信して良いか否かの判定を行う。判定内容は、侵入検出部3からの判定結果である。
図5は、パケット受信後におけるセションID制御テーブル6とパケットID制御テーブル7のイメージを具体例で示す。図5において、セションID制御テーブル6のメモリアドレス0に保存されたPHP:0、PTP:5のセションID:0のフローは、パケットID制御テーブル7のメモリアドレス0に保存されたパケットID:0のパケットと、メモリアドレス2に保存されたパケットID:2のパケットと、メモリアドレス5に保存されたパケットID:5のパケットとで構築されている。なお、いずれのパケットも判定結果は未受信である。
再び図2を参照すると、パケットバッファ受信制御部8は、FIFO(First in First out)メモリを実装し、パケットバッファ部2からの複数個のデータ入力に対応させている。パケットバッファ受信制御部8は、調停制御部10に対しセションID制御部11に対するアクセス権の調停を依頼し、アクセス権を得ると、セションID制御部11にセションIDとパケットIDを通知してパケット登録処理を依頼する。
判定結果受信制御部9は、FIFOメモリを実装し、侵入検出部3からの複数個の判定結果の入力に対応させている。判定結果受信制御部9は、調停制御部10に対しセションID制御部11に対するアクセス権の調停を依頼し、アクセス権を取得すると、セションID制御部11にセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する。
調停制御部10は、パケットバッファ受信制御部8と判定結果受信制御部9からの上記依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにセションID制御部11へのアクセス権を付与する。
セションID制御部11とパケットID制御部12は、パケット登録処理を依頼されると、セションID制御テーブル6とパケットID制御テーブル7を更新し、パケットの追加処理を行う。また、判定結果処理を依頼されると、セションID制御テーブル6とパケットID制御テーブル7を更新し、判定結果を登録する。その結果、送信可能なパケットが存在する場合は、パケットID制御テーブル7がパケットバッファ送信制御部13に対し、セションIDとパケットIDと登録されている判定結果を通知し、パケットバッファ部2に対して判定結果送信処理を要求する。
分説すれば、セションID制御部11は、パケット登録処理を依頼されると、調停制御部10からのセションIDを元にセションID制御テーブル6をリードしPTPを得て、パケットID制御部12に通知した後、調停制御部10からのパケットIDをPTPに設定し、最終パケットへのポインタとして値を更新する。なお、パケットが1つも登録されていないセションについては、無効になっているセションID制御テーブル6を有効とし、PHPに受信したパケットID値を設定する。
セションID制御部11は、判定結果処理を依頼されると、調停制御部10からのセションIDを元にセションID制御テーブル6をリードしPHPを得て、パケットID制御部12に通知する。後述のようにして、パケットID制御部12においてパケットバッファ部2へ送信可能なパケットの存在が認められると、セションID制御部11は、連鎖する次のパケットについてパケットID制御部12が判定結果到着済みか否かを調べるためにPHPを更新する(図11処理3参照)。更に、全パケットの送信が終了すると、テーブル有効フラグをOFFにする(図9処理5参照)。
パケットID制御部12は、パケット登録処理を依頼されると、セションID制御部11から通知されたPTPが指すパケットID制御テーブル7のPNPに、受信したパケットIDを設定し、受信順序を構成するリンクリストを構築する。
パケットID制御部12は、判定結果処理を依頼されると、パケットID制御テーブル7に判定結果を登録する(判定結果登録処理、図9参照)。そして、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのため当該パケットが送信可能な場合は、パケットバッファ送信制御部13に対し、当該パケットのセションIDとパケットIDと登録されている判定結果を通知し、パケットID制御部12はパケットバッファ部2に向けた判定結果送信をパケットバッファ送信制御部13に対して要求する(判定結果送信処理、図11参照)。また、送信できたパケットに対応するアドレスのパケットID制御テーブル7はクリアする。
パケットバッファ送信制御部13は、パケットID制御部12からの要求をFIFOメモリに格納し、順次にパケットバッファ部2宛に送信する。この送信順序は、上記判定結果送信処理により、判定結果の出た順序とは無関係に、パケットバッファ部2がパケット受信Port1から受信した順序となっている。
[動作の説明]
以上のように構成された本不正アクセス防止装置の動作につき、パケット登録処理と判定結果処理の2つに大別して、フロー制御部5を中心に説明する。
以上のように構成された本不正アクセス防止装置の動作につき、パケット登録処理と判定結果処理の2つに大別して、フロー制御部5を中心に説明する。
(1)パケット登録処理
パケットバッファ部2は、パケットを受信すると、フローを識別し、セションIDとパケットIDを付与して、パケットバッファ受信制御部8に入力する。パケットバッファ受信制御部8では、入力したデータをFIFOメモリにバッファリングし、調停制御部10に対し、セションID制御部11へのアクセス権の調停を依頼する。調停回路部10での調停制御により、アクセス権を得たパケットバッファ受信制御部8は、セションID制御部11にセションIDとパケットIDを通知し、パケット登録処理を依頼する。
パケットバッファ部2は、パケットを受信すると、フローを識別し、セションIDとパケットIDを付与して、パケットバッファ受信制御部8に入力する。パケットバッファ受信制御部8では、入力したデータをFIFOメモリにバッファリングし、調停制御部10に対し、セションID制御部11へのアクセス権の調停を依頼する。調停回路部10での調停制御により、アクセス権を得たパケットバッファ受信制御部8は、セションID制御部11にセションIDとパケットIDを通知し、パケット登録処理を依頼する。
セションID制御部11とパケットID制御部12は、図6に示すフローチャートに従って、セションID制御テーブル6とパケットID制御テーブル7を更新し、パケットの追加処理を行う。図6において、セションID制御部11は、調停制御部10から受信したセションIDを元にセションID制御テーブル6をリードしPTPを得て、パケットID制御部12に通知する(図6の処理1)。パケットID制御部12は、セションID制御部11から通知されたPTPが指すパケットID制御テーブル7のメモリアドレスをリードし(図6の処理2)、そのPNPに、受信したパケットID(メモリアドレス)を設定する(図6の処理3)。次いで、セションID制御部11は、調停制御部10から受信した受信したパケットIDをPTPに設定し、最終パケットへのポインタとして値を更新する(図6の処理4)。そして、テーブル有効フラグがOFFであるときはONとし、PHPに受信したパケットIDの値を設定する(図6の処理5)。
図7は、図6に示した処理によるセションID制御テーブル6とパケットID制御テーブル7の遷移イメージを具体例で示す。当初、PHP:0、PTP:5を内容とするセションID:0がセションID制御テーブル6のメモリアドレス0に保存され、パケットID制御テーブル7のメモリアドレス0にPNP:2のパケットID:0、メモリアドレス2にPNP:5のパケットID:2、メモリアドレス5にPNP:2のパケットID:NULLが保存されている。この状態で、パケットバッファ部2からセションID:0、パケットID:7のパケットを受信した場合を例にとっている。
受信したセションID:0を元にセションID制御部11が、セションID制御テーブル6をリードしPTP:5を得て、パケットID制御部12に通知する。パケットID制御部12は、通知されたPTP:5が指す パケットID制御テーブル7のPNPに受信したパケットID:7を設定し、受信順序を構成するリンクリストを構築する。その後、セションID制御部11にて、PTPにも受信した パケットID:7を設定し、最終パケットへのポインタとして値を更新する。
また、パケットが1つも登録されていないセション、例えば、セションID:1にパケットバッファ部2からセションID:1、パケットID:8のパケットを受信した場合には、セションID制御テーブル6のセションID:1のPHPとPTPにパケットIDである8を設定し、テーブル有効フラグをONに設定する。
(2)判定結果処理
上述のようなパケット登録処理の一方で、判定結果処理として、判定結果受信制御部9にて、侵入検出部3からの判定結果を受信すると、調停制御部10にアクセス権の調停を依頼する。調停回路部10での調停制御により、アクセス権を得た判定結果受信制御部9は、セションID制御部11に対して、セションIDとパケットIDと判定結果を通知し、判定結果処理を依頼する。判定結果処理は、判定結果登録処理と判定結果送信処理に分かたれる。
上述のようなパケット登録処理の一方で、判定結果処理として、判定結果受信制御部9にて、侵入検出部3からの判定結果を受信すると、調停制御部10にアクセス権の調停を依頼する。調停回路部10での調停制御により、アクセス権を得た判定結果受信制御部9は、セションID制御部11に対して、セションIDとパケットIDと判定結果を通知し、判定結果処理を依頼する。判定結果処理は、判定結果登録処理と判定結果送信処理に分かたれる。
(2.1)判定結果登録処理
図8は、判定結果登録処理の考え方を説明するためのパケットID制御テーブル7の状態遷移イメージ図である。この例は、図7に示した状態を引き継いでおり、セションID:0にて、パケットID:0→パケットID:2→パケットID:5→パケットID:7の順でパケットの順序管理を行っている。
図8は、判定結果登録処理の考え方を説明するためのパケットID制御テーブル7の状態遷移イメージ図である。この例は、図7に示した状態を引き継いでおり、セションID:0にて、パケットID:0→パケットID:2→パケットID:5→パケットID:7の順でパケットの順序管理を行っている。
図8(1)は、侵入検出部3から、セションID:0、パケットID:2の判定結果を受信した場合を示している。しかし、この段階では、最初に受信したパケットID:0の判定結果を受信していないため、パケットID:2についてパケットバッファ部2に送信することはできない。そこで、実処理としては、パケットID制御部12にて、パケットID:2の判定結果のみを登録して処理は完了する。
図9は判定結果登録処理のフローチャートである。図8(1)による上記説明を想起すれば容易に理解できよう。判定結果受信制御部9から判定結果処理を依頼されると、セッションID制御部11は、セションID制御テーブル6から指定1セッションIDのアドレスをリードし(図9の処理1)、パケットID制御部12は、パケットID制御テーブル7から、PHPが指定するパケットIDのアドレスをリードする(図9の処理2)。
リードされたパケットIDと、判定結果処理依頼の契機となったパケットのパケットIDとを比較して、一致しないときは、パケットID制御テーブル7から、処理2でリードされたパケットIDのPNPが指定するアドレスをリードする(図9の処理3)。これを一致するまで繰り返す。図8の例では、最初は、PHP:0のパケットIDと、判定結果処理依頼の契機となったパケットのパケットID(=2)は一致しないが、処理3を一度経ることにより一致することになる。
パケットIDが一致すれば、そのパケットIDの判定結果受信フラグをONにし、判定結果を登録することにより、パケットID制御テーブル7を更新する(図9の処理4)。そして、判定結果送信処理(図11)へ移行する。その結果、全パケットの送信が終了すれば、セションID制御テーブル6の当該テーブル有効フラグがOFFにされる(図9の処理5)。
(2.2)判定結果送信処理
再び図8を参照されたい。図8(2)は、セションID:0、パケットID:0に対する判定結果を受信した場合を示している。この時点で、パケットID:0、パケットID:2、パケットID:5までの判定結果が揃ったため、パケットID制御部12にて、この3つのパケットについて順次にパケットバッファ部2に向け、判定結果をパケットバッファ送信制御部13宛に送信する。
再び図8を参照されたい。図8(2)は、セションID:0、パケットID:0に対する判定結果を受信した場合を示している。この時点で、パケットID:0、パケットID:2、パケットID:5までの判定結果が揃ったため、パケットID制御部12にて、この3つのパケットについて順次にパケットバッファ部2に向け、判定結果をパケットバッファ送信制御部13宛に送信する。
送信後のパケットIDはクリアされ、パケットID:7が該当セションに対する先頭パケットとして管理されることになる。図10は判定結果送信処理によるテーブル処理イメージを示す。図10では、図8の動作連動させた形でテーブルの遷移を示している。上述のように、図8(2)の状態で残っているパケットはパケットID:7のみとなっているため、セションID制御部11にて、PHPとPTPを共にパケットID:7に更新している。
ここで、セションID:0、パケットID:7として侵入検出部3からの判定結果が到着した場合、パケットID:7は先頭パケットであるため、直ちにパケットID:7はパケットバッファ部2宛に送信される。この時、セションID:0で管理されているパケットIDは存在しなくなるので、セションID制御部11にてテーブル有効フラグをOFFにする。
図11は判定結果送信処理のフローチャートである。図8(2)による説明を想起すれば容易に理解できよう。先ず、図9の処理2と同様に、パケットID制御部12は、パケットID制御テーブル7から、PHPが指定するパケットIDのアドレスをリードする。そして、その内容をカレントテーブルとする(図11の処理1)。そのパケットID(図8(2)の例ではパケットID:0)の判定結果が到着済みでなければ処理は完了する。
一方、判定結果が到着済みであれば、パケットバッファ部2へセッションIDとパケットIDと判定結果が送信される(図11の処理2)。そして、カレントテーブルのPNPをPHPとすることにより当該セッションID制御テーブル6を更新する(図11の処理3)。図8(2)の例では、新しいPNPは2である。送信の済んだパケットIDのメモリアドレスはクリアされる(図11の処理4、図10の塗り潰し箇所参照)。
次いで、カレントテーブルのPNPが指すパケットID制御テーブル7をリードし、その内容をカレントテーブルとし(図11の処理5)、再び判定結果到着済みか否かが問われる。これによって、パケットID制御テーブル7の連鎖しているアドレスが繰り上がり、次々に判定結果到着済みか否かが調べられることになる。以上の処理をカレントテーブルのPNPがPTPとなるまで繰り返す。
[他の実施例]
[他の実施例]
図12は本発明の不正アクセス防止装置の他の実施例を示す。図1の例では、パケット受信Port1,パケットバッファ部2,侵入検出部3,パケット送信Port4およびフロー制御部5の全てを1装置内に実装したイメージを示したが、図12では、侵入検出部3を侵入検出サーバ14として、外部のサーバに実装させている。
図1のように侵入検出部3で実現するのに比べ、処理速度は劣るものの、サーバ14として別装置化することで、追加や交換が容易に行えるようになる。サーバ14と本装置間は、様々な接続形態が考えられるが、図12では、例としてEtherNet(登録商標)で接続しており、L2SW(Layer 2 SWITCH)などを経由することができる。
1 パケット受信Port
2 パケットバッファ部
3 侵入検出部
4 パケット送信Port
5 フロー制御部
6 セションID制御テーブル
7 パケットID制御テーブル
8 パケットバッファ受信制御部
9 判定結果受信制御部
10 調停制御部
11 セションID制御部
12 パケットID制御部
13 パケットバッファ送信制御部
14 侵入検出サーバ
15 L2SW
2 パケットバッファ部
3 侵入検出部
4 パケット送信Port
5 フロー制御部
6 セションID制御テーブル
7 パケットID制御テーブル
8 パケットバッファ受信制御部
9 判定結果受信制御部
10 調停制御部
11 セションID制御部
12 パケットID制御部
13 パケットバッファ送信制御部
14 侵入検出サーバ
15 L2SW
Claims (4)
- ネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置において、
前記複数の手段にてフロー毎のパケットにつき並列して侵入検出処理を行い、前記複数の手段における不正アクセス判定の遅速によるパケットの追い越しを監視しながら、フロー単位のパケットの順序を保証することを特徴とする不正アクセス防止装置。 - ネットワーク機器への侵入検出処理を複数の手段にて並行して実現する不正アクセス防止装置において、
パケット受信Portからのパケットを内蔵メモリに格納して、格納されたパケットのコピーにパケットIDとセションIDを付加して受信の順序で転送するパケットバッファ部と、
前記パケットバッファ部からのパケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果に前記パケットバッファ部からのパケットIDとセションIDを付加して通知する前記複数の手段としての侵入検出部と、
前記パケットバッファ部からのパケットIDとセションIDの順序と、前記侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、追い越しが発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を前記侵入検出部から受信するまでは、前記パケットバッファ部にはパケットIDとセションIDを送信しないフロー制御部を備え、
侵入判定済みのパケットを受信の順序で送信することを特徴とする不正アクセス防止装置。 - 前記フロー制御部は、
前記パケットバッファ部が付与するセションIDを元にフロー単位の管理を行うためセションIDにHeadポインタ(PHP)とTailポインタ(PTP)とテーブル有効フラグとを保存するセションID制御テーブルと、
前記パケットバッファ部が付与するパケットIDを元にパケット単位の管理を行うためパケットID毎にNextポインタ(PNP)と判定結果受信フラグと判定内容を保存するパケットID制御テーブルと、
前記パケットバッファ部から入力するデータをFIFOメモリに保存してアクセス権の調停を依頼し、アクセス権を得るとセションIDとパケットIDを通知してパケット登録処理を依頼するパケットバッファ受信制御部と、
前記侵入検出部からの判定結果をFIFOメモリ保存してアクセス権の調停を依頼し、アクセス権を取得するとセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する判定結果受信制御部と、
前記パケットバッファ受信制御部と前記判定結果受信制御部からの前記調停の依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにアクセス権を付与する調停制御部と、
前記調停により前記判定結果処理を依頼されると連鎖する次のパケットについて判定結果到着済みか否かを調べるために前記セションID制御テーブルのPHPにPNPを設定して更新するセションID制御部と、
前記調停により前記判定結果処理を依頼されるとパケットID制御テーブルに判定結果を登録して、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのときは、当該パケットのセションIDとパケットIDと登録されている判定結果を通知して判定結果送信を要求するパケットID制御部と、
前記パケットID制御部からの要求をFIFOメモリに格納し順次に前記パケットバッファ部宛に送信するパケットバッファ送信制御部とで構成されることを特徴とする請求項4記載の不正アクセス防止装置。 - 請求項3記載の不正アクセス防止装置における判定結果送信方法であって、
前記パケットID制御部が前記パケットID制御テーブルに判定結果を登録した後、PHPが指すパケットID制御テーブルのアドレスをリードしてカレントテーブルとする第1段階と、
リードしたパケットIDについて判定結果が到着済みかを判断し、未着なら処理を終える第2段階と、
到着済みなら前記パケットバッファに当該セションIDとパケットIDと判定結果を送信する第3段階と、
前記カレントテーブルのPNPをPHPに設定する第4段階と、
前記カレントテーブルのPNPがPTPなら処理を終了する第5段階と、
第5段階において前記カレントテーブルのPNPがPTPでないなら、該PNPが指すパケットID制御テーブルのアドレスをリードしカレントテーブルとして、前記第2段階へ帰還する第6段階を有することを特徴とする判定結果送信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007113647A JP2008271347A (ja) | 2007-04-24 | 2007-04-24 | 不正アクセス防止装置および判定結果送信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007113647A JP2008271347A (ja) | 2007-04-24 | 2007-04-24 | 不正アクセス防止装置および判定結果送信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008271347A true JP2008271347A (ja) | 2008-11-06 |
Family
ID=40050238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007113647A Pending JP2008271347A (ja) | 2007-04-24 | 2007-04-24 | 不正アクセス防止装置および判定結果送信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008271347A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015115842A (ja) * | 2013-12-12 | 2015-06-22 | 富士通株式会社 | パケット保存方法、パケット保存プログラム及びパケット保存装置 |
KR102006475B1 (ko) * | 2019-01-18 | 2019-08-01 | 넷마블 주식회사 | 침입 감지 방법 및 장치 |
CN114978725A (zh) * | 2022-05-25 | 2022-08-30 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、电子设备和介质 |
-
2007
- 2007-04-24 JP JP2007113647A patent/JP2008271347A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015115842A (ja) * | 2013-12-12 | 2015-06-22 | 富士通株式会社 | パケット保存方法、パケット保存プログラム及びパケット保存装置 |
KR102006475B1 (ko) * | 2019-01-18 | 2019-08-01 | 넷마블 주식회사 | 침입 감지 방법 및 장치 |
CN114978725A (zh) * | 2022-05-25 | 2022-08-30 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8005022B2 (en) | Host operating system bypass for packets destined for a virtual machine | |
US20190306109A1 (en) | Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks | |
US9110703B2 (en) | Virtual machine packet processing | |
US7643482B2 (en) | System and method for virtual switching in a host | |
US8036127B2 (en) | Notifying network applications of receive overflow conditions | |
JP5521620B2 (ja) | 中継装置、仮想マシンシステム及び中継方法 | |
JP5111618B2 (ja) | Macテーブルのオーバーフロー攻撃に対する防御を容易にすること | |
US20080005441A1 (en) | Bridging network components | |
JP4743894B2 (ja) | データ・パケットを伝送しながらセキュリティを改良するための方法及び装置 | |
US20080279188A1 (en) | Method And Apparatus For Performing Network Processing Functions | |
WO2012030530A1 (en) | Detecting botnets | |
US20080077724A1 (en) | Interrupt coalescing control scheme | |
JP6793056B2 (ja) | 通信装置及びシステム及び方法 | |
JP2017046149A (ja) | 通信装置 | |
US20230198964A1 (en) | Encrypted data packet forwarding | |
KR101200906B1 (ko) | 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법 | |
CN112866435A (zh) | Mac地址老化处理方法及设备 | |
JP2008271347A (ja) | 不正アクセス防止装置および判定結果送信方法 | |
JP2010239591A (ja) | ネットワークシステム、中継装置、およびネットワーク制御方法 | |
KR102179443B1 (ko) | 이더넷 스위치 연결 제어 장치 및 방법 | |
US20080002586A1 (en) | End-point based tamper resistant congestion management | |
KR101448951B1 (ko) | 패킷 처리 장치 및 방법 | |
US7870285B2 (en) | Mitigating subscriber side attacks in a cable network | |
CN105791458B (zh) | 地址配置方法和装置 | |
JP2006013732A (ja) | ルーティング装置および情報処理装置の認証方法 |