JP4253215B2 - 不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 - Google Patents
不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP4253215B2 JP4253215B2 JP2003130950A JP2003130950A JP4253215B2 JP 4253215 B2 JP4253215 B2 JP 4253215B2 JP 2003130950 A JP2003130950 A JP 2003130950A JP 2003130950 A JP2003130950 A JP 2003130950A JP 4253215 B2 JP4253215 B2 JP 4253215B2
- Authority
- JP
- Japan
- Prior art keywords
- unauthorized access
- rule generation
- attack
- rule
- trace
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、バッファオーバーフローの脆弱性を悪用したスタックスマッシング攻撃に対する防御を実現するシステムの構築に用いられる不正アクセス対処ルール生成方法及びその装置と、その不正アクセス対処ルール生成方法の実現に用いられる不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体とに関する。
【0002】
【従来の技術】
スタックメモリ上には、サブルーチン呼び出しの際に呼び出し元へ戻るためのリターンアドレスや、サブルーチン内でのみ利用される局所変数が格納される。これから、サブルーチン内でのみ利用される局所変数として宣言されたバッファに対して、バッファの境界を越えて書き込みが発生すると、リターンアドレスが書き換わることになる。
【0003】
スタックスマッシング攻撃は、この性質を利用してプログラムの処理フローを変更して、任意のプログラムを実行させるという攻撃である。
【0004】
このスタックスマッシング攻撃に対する防御を実現する従来技術として、保護対象プログラムに対して、コンパイル時にリターンアドレスの保護のための特別の値であるガード変数を挿入して、関数のリターン処理の直前に、ガード変数の有効性を確認し、ガード変数が破壊されているときはプロセスを異常終了する、という処理を挿入するものがある(例えば、特許文献1参照)。
【0005】
これにより、スタックスマッシング攻撃によるサーバの乗っ取りやデータの改竄といった不正侵入からホストを防御できるようになる。
【0006】
また、上記の従来技術の他にも、スタック上のリターンアドレス格納箇所を書き込み禁止にすることでリターンアドレスの書き換えを防止する手法や、リターンアドレス専用のスタックを作成し、関数の入口でリターンアドレスをリターンアドレス専用スタックにコピーし、関数リターン処理で専用スタックに格納されている値とリターンアドレスとを比較することにより、リターンアドレスを保護する手法などが提案されている。
【0007】
また、バッファオーバーフローを原因とするあらゆる攻撃を防止するために、全ての配列へのアクセスに対して、配列の境界を越えるアクセスがないかをチェックする、という手法も考えられる。
【0008】
【特許文献1】
特開2001−216161
【0009】
【発明が解決しようとする課題】
しかしながら、上述したスタックスマッシング攻撃を防止するための従来技術は、次のような欠点を有している。
【0010】
すなわち、従来のホストでのスタックスマッシング攻撃対策では、検出契機がスタックスマッシング攻撃によるパケットがホスト内に侵入した後であったため、そのパケットを処理するプログラムを異常終了させるしかない。
【0011】
これから、攻撃を受けたプログラムがメモリ常駐型のサーバプログラムであった場合は、たとえ攻撃検出機能と連動してサーバプログラムを再実行したとしても、継続的な攻撃によりサービスを停止されていた。
【0012】
つまり、従来技術に従っていると、スタックスマッシング攻撃によるサーバの乗っ取りやデータの改竄といった不正侵入を防ぐことは出来ても、スタックスマッシングによるDoS攻撃(Denial Of Service:あるサービスを利用不能な状態に陥れる攻撃)に対する脆弱性は残ったままとなっていた。
【0013】
また、どの従来技術もホストでの攻撃を行うものであるため、サイト全体に対策を行おうとすると手間がかかっていた。
【0014】
本発明はかかる事情に鑑みてなされたものであって、その目的は、スタックスマッシングによるDoS攻撃に対する脆弱性を排除することができるようにする新たなスタックスマッシング攻撃対策システムを提供することにある。
【0015】
そして、本発明の他の目的は、ホストに存在するバッファオーバーフローの脆弱性に関する対策をネットワークで一元的に行うことで、手間をかけずにサイト全体に対策を施すことができるようにする新たなスタックスマッシング攻撃対策システムを提供することにある。
【0016】
【課題を解決するための手段】
この目的を達成するために本発明によるスタックスマッシング攻撃対策システムは、外部から送信されてくる不正なパケットをフィルタリングするために用いられる不正アクセス対処ルールを生成する本発明により構成される不正アクセス対処ルール生成装置と、その生成された不正アクセス対処ルールを使って、外部から送信されてくる不正なパケットをフィルタリングする本発明に関連する発明により構成される不正アクセス対処装置とから構成される。
【0017】
(1)不正アクセス対処ルール生成装置の構成
本発明の不正アクセス対処ルール生成装置は、外部から送信されてくる不正なパケットをフィルタリングするために用いられる不正アクセス対処ルールを生成する処理を行うために、(イ)スタックメモリに挿入したガード変数が書き換えられたのか否かを判断することで、関数のリターンアドレスに対して攻撃が行われたのかを検出する検出手段と、(ロ)その攻撃により書き込まれた不正なリターンアドレスの書き込み位置を、本来のリターンアドレスの格納位置とガード変数の挿入とに基づいて割り出す割出手段と、(ハ)その不正なリターンアドレスの指す位置を攻撃の痕跡の開始位置として、その痕跡のバイト列を特定する特定手段と、(ニ)特定手段の特定したバイト列をルール要素とする不正アクセス対処ルールを生成する生成手段と、(ホ)入力パケットを保存する保存手段と、(ヘ)保存手段に保存される攻撃の痕跡のバイト列の持つヘッダ情報を取得する取得手段とを備えるように構成する。
【0018】
以上の各処理手段が動作することで実現される本発明の不正アクセス対処ルール生成方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【0019】
このように構成される本発明の不正アクセス対処ルール生成装置では、関数のリターンアドレスに対して攻撃が行われたことを検出すると、その攻撃により書き込まれた不正なリターンアドレスの書き込み位置を、本来のリターンアドレスの格納位置とガード変数の挿入とに基づいて割り出す。
【0020】
そして、その不正なリターンアドレスの指す位置を攻撃の痕跡の開始位置として、例えば、入力パケットログのバイト列の中から、その痕跡の開始位置から最長に一致するバイト列を検索することで攻撃の痕跡のバイト列を特定することにより、その痕跡のバイト列を特定する。
【0021】
そして、その特定したバイト列と、入力パケットログから取得されるその特定したバイト列の持つヘッダ情報とをルール要素とする不正アクセス対処ルールを生成する。
【0022】
(2)本発明に関連する不正アクセス対処装置の構成
本発明に関連する不正アクセス対処装置は、外部から送信されてくる不正なパケットをフィルタリングする処理を行うために、(イ)本発明の不正アクセス対処ルール生成装置が生成した不正アクセス対処ルールを保存する保存手段と、(ロ)本発明の不正アクセス対処ルール生成装置から、不正アクセス対処ルールを入手して保存手段に登録する登録手段と、(ハ)保存手段に保存される不正アクセス対処ルールに従って、外部から送信されてきたパケットが攻撃用のパケットであるのか否かを判断する判断手段と、(ニ)判断手段により外部から送信されてきたパケットが攻撃用のパケットであると判断される場合に、そのパケットを遮断する遮断手段とを備えるように構成する。
【0024】
以上の各処理手段が動作することで実現される本発明に関連する不正アクセス対処方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【0025】
このように構成される本発明に関連する不正アクセス対処装置では、本発明の不正アクセス対処ルール生成装置の生成した不正アクセス対処ルールを使って、外部から送信されてきたパケットが攻撃用のパケットであるのか否かを判断して、その判断により、外部から送信されてきたパケットが攻撃用のパケットであると判断する場合には、そのパケットを遮断する。
【0026】
(3)本発明により実現されるスタックスマッシング攻撃対策システム
次に、このように構成される本発明の不正アクセス対処ルール生成装置と本発明に関連する不正アクセス対処装置とにより実現されるスタックスマッシング攻撃対策システムについて説明する。
【0027】
本発明の不正アクセス対処ルール生成装置では、あらかじめネットワーク経由でのプログラムに対する入力パケットをログとして保存しておくとともに、例えば、従来技術であるガード変数を用いた手法によりスタックスマッシング攻撃を検出する。
【0028】
スタックスマッシング攻撃を検出すると、スタックスマッシング攻撃により狙われたリターンアドレスの書き込み位置を割り出して、その割り出したリターンアドレスが指している位置をスタックスマッシング攻撃の痕跡の開始位置(攻撃対象のプログラムに書き込まれた攻撃用シェルコードの先頭位置)とする。
【0029】
続いて、スタックスマッシング攻撃の痕跡の長さを確定するために、攻撃対象のプログラムに送信されてきた入力パケットログ内から、スタックスマッシング攻撃の痕跡と最も長く一致するバイト列を見つけ、その最も長く一致したバイト列をスタックスマッシング攻撃の痕跡とする。
【0030】
続いて、攻撃対象のプログラムに送信されてきた入力パケットログから、その最長に一致したバイト列の指すパケットの持つヘッダ情報(IPヘッダ・TCPヘッダ・UDPヘッダなどの情報)を得る。
【0031】
そして、そのようにして得たスタックスマッシング攻撃の痕跡のバイト列と、そのバイト列の持つヘッダ情報とをルール要素とする不正アクセス対処ルールを生成して、それを本発明に関連する不正アクセス対処装置に通知する。
【0032】
これを受けて、本発明に関連する不正アクセス対処装置は、本発明の不正アクセス対処装置から送信されてくる不正アクセス対処ルールを受信して、以後、その不正アクセス対処ルールに含まれるスタックスマッシング攻撃と一致するパケットが外部から送られてくる場合に、それを遮断する。
【0033】
このようにして、本発明によれば、スタックスマッシング攻撃を1度受けると、2度目以降のスタックスマッシング攻撃がホストに到達することを防ぐことができるようになることで、スタックスマッシングによるDoS攻撃に対する脆弱性を排除することができるようになる。
【0034】
そして、本発明によれば、同一ネットワーク上のスタックスマッシング攻撃対策が施されていないホストに対するスタックスマッシング攻撃についても、ネットワークで防ぐことができるようになる。つまり、手間をかけずにサイト全体に、スタックスマッシング攻撃に対する対策を施すことができるようになる。
【0035】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0036】
図1に、本発明により実現されるスタックスマッシング攻撃対策システムのシステム構成例を図示する。
【0037】
この図に示すように、本発明により実現されるスタックスマッシング攻撃対策システムは、上述した本発明の不正アクセス対処ルール生成装置の一実施形態例であるパケットフィルタリングルール生成装置1と、上述した本発明に関連する不正アクセス対処装置の一例であるパケットフィルタリング装置2とから構成される。
【0038】
ここで、パケットフィルタリングルール生成装置1は、例えば特定のホスト上に構築され、一方、パケットフィルタリング装置2は、ネットワークに存在する全てのホスト上に構築されることになる。
【0039】
図1を用いて、本発明によるスタックスマッシング攻撃対策についての大まかな処理の流れについて説明する。
【0040】
先ず最初に、外部ネットワークからスタックスマッシング攻撃によるパケットが、パケットフィルタリングルール生成装置1に送信されてくる。
【0041】
これを受けて、パケットフィルタリングルール生成装置1は、そのスタックスマッシング攻撃に対処するためのパケットフィルタリングルールを自動生成し、パケットフィルタリング装置2に対して、その自動生成したパケットフィルタリングルールを通知する。
【0042】
これを受けて、パケットフィルタリング装置2は、パケットフィルタリングルール生成装置1から通知されたパケットフィルタリングルールを受信し、以後、外部ネットワークから入ってくる、そのパケットフィルタリングルールに含まれるスタックスマッシング攻撃と一致するパケットを遮断することにより、スタックスマッシング攻撃を遮断する。
【0043】
図2に、この本発明によるスタックスマッシング攻撃対策についての処理を実現すべく用意されるパケットフィルタリングルール生成装置1の装置構成の一実施形態例を図示し、図3に、この本発明によるスタックスマッシング攻撃対策についての処理を実現すべく用意されるパケットフィルタリング装置2の装置構成の一例を図示する。
【0044】
パケットフィルタリングルール生成装置1は、図2に示すように、プログラム毎の入力パケットを保存する入力パケット保存部10と、外部ネットワークから送信されてくる入力パケットをログとして入力パケット保存部10にロギングする入力パケットロギング部11と、所定のサーバ処理を実行するサーバプログラム12と、あらかじめサーバプログラム12などに組み込まれて、バッファのオーバーフロー(すなわち、スタックスマッシング攻撃の有無)を検出するバッファオーバーフロー検出部13と、スタックスマッシング攻撃の痕跡を抽出するスタックスマッシング攻撃痕跡抽出部14と、スタックスマッシング攻撃を遮断するためのパケットフィルタリングルールを生成するパケットフィルタリングルール生成部15と、パケットフィルタリング装置2に対して、生成されたパケットフィルタリングルールを通知するパケットフィルタリングルール通知部16とを備える。
【0045】
ここで、入力パケット保存部10は、スタックスマッシング攻撃の痕跡を特定するために用意されるものであって、図4に示すように、プログラム毎に、そのプログラムに送信されてきたパケットのヘッダ情報(プロトコル種別、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号など)と、そのパケットのペイロード(バイト列)などを保存することになる。
【0046】
一方、パケットフィルタリング装置2は、図3に示すように、スタックスマッシング攻撃を遮断するためのパケットフィルタリングルールを保存するパケットフィルタリングルールテーブル部20と、パケットフィルタリングルール生成装置1から送信されてくるパケットフィルタリングルールを受信するパケットフィルタリングルール受信部21と、受信されたパケットフィルタリングルールをパケットフィルタリングルールテーブル部20に登録するパケットフィルタリングルール登録部22と、パケットフィルタリングルールテーブル部20に保存されるパケットフィルタリングルールを元に、外部から送信されてるスタックスマッシング攻撃のパケットを遮断するパケットフィルタリング部23とを備える。
【0047】
次に、図5に従って、パケットフィルタリングルール生成装置1の実行するスタックスマッシング攻撃の痕跡の検出処理について説明する。
【0048】
ここで、図5中に示す100はスタックメモリ、200はスタックスマッシング攻撃の対象となる攻撃対象プログラムである。
【0049】
スタックスマッシング攻撃の攻撃者は、攻撃対象プログラム200を攻撃する場合、攻撃対象プログラム200に対して攻撃用シェルコードを書き込むとともに、関数リターンのときにその攻撃用シェルコードが呼び出されることになるようにと、バッファオーバーフローを使ってスタックメモリ100に格納されるリターンアドレスを書き換えることで、スタックスマッシング攻撃を実行する。
【0050】
このスタックスマッシング攻撃の有無を検出するために、パケットフィルタリングルール生成装置1は、バッファとリターンアドレス格納位置との間に、特別の値であるガード変数を挿入して、関数のリターン処理の直前に、このガード変数の有効性を確認するようにしている。すなわち、ガード変数が破壊されている場合には、スタックスマッシング攻撃が行われたと判断するようにしているのである。
【0051】
そして、パケットフィルタリングルール生成装置1は、スタックスマッシング攻撃が行われたことを検出した場合には、攻撃用シェルコードを指すリターンアドレスの書込位置を割り出すことで、スタックスマッシング攻撃の痕跡の開始位置を求めて、その開始位置を用いて、入力パケット保存部10に格納される攻撃対象プログラム200についての入力パケットログの中から最も長く一致するバイト列を探し出し、そのバイト列をスタックスマッシング攻撃の痕跡とするようにしている。
【0052】
ここで、スタックスマッシング攻撃の攻撃者は、ガード変数が挿入されていることを知らないので、本来のリターンアドレスの格納位置よりも1つ下の格納位置である図中の▲1▼に示す格納位置にリターンアドレスが格納されていると思って、リターンアドレスの書き換えを行うので、この▲1▼の格納位置に格納されるリターンアドレスを特定することにより、攻撃用シェルコードを指すリターンアドレスを特定することになる。
【0053】
次に、図6の処理フローに従って、パケットフィルタリングルール生成装置1の実行するパケットフィルタリングルールの生成処理について説明する。
【0054】
パケットフィルタリングルール生成装置1は、関数リターンの要求が発行されると、図6の処理フローに示すように、先ず最初に、ステップ10で、ガード変数の値を読み取り、続くステップ11で、その読み取ったガード変数が書き換えられているのか否かを判断して、ガード変数が書き換えられていないことを判断するときには、スタックスマッシング攻撃が行われなかったことを判断して、そのまま処理を終了する。
【0055】
一方、ステップ11で、ガード変数が書き換えられていることでスタックスマッシング攻撃が行われたことを判断するときには、ステップ12に進んで、スタックスマッシング攻撃が設定したリターンアドレスの指す攻撃対象プログラム200の位置を、スタックスマッシング攻撃の痕跡開始位置とする。
【0056】
すなわち、図5で説明したように、図中の▲1▼の格納位置に格納されるリターンアドレスの指す攻撃対象プログラム200の位置を、スタックスマッシング攻撃の痕跡開始位置とするのである。
【0057】
続いて、ステップ13で、入力パケット保存部10に保存される攻撃対象プログラム200に送られてきたパケットを検索対象として、攻撃開始位置を起点とするバイト列に最も長く一致するバイト列を検索して、それを攻撃用シェルコードとする。
【0058】
すなわち、図5で説明したように、スタックスマッシング攻撃の痕跡の開始位置を用いて、攻撃対象プログラム200についての入力パケットログの中から最も長く一致するバイト列を探し出し、そのバイト列をスタックスマッシング攻撃の痕跡とするのである。
【0059】
続いて、ステップ14で、入力パケット保存部10を参照することで、その検索したバイト列の指すパケットの持つヘッダ情報を取得する。すなわち、プロトコル種別や送信先ポート番号などを取得するのである。
【0060】
続いて、ステップ15で、ステップ13で検索したバイト列とステップ14で取得したヘッダ情報とから、遮断するパケットについて記述するパケットフィルタリングルールを生成する。
【0061】
例えば、図7に示すように、こういうプロトコル種別で、こういう送信先ポート番号で、こういうペイロード(バイト列)のパケットについては、スタックスマッシング攻撃のパケットであるので、それについては遮断する必要があるということについて記述するパケットフィルタリングルールを生成するのである。
【0062】
続いて、ステップ16で、パケットフィルタリング装置2に対して、生成したパケットフィルタリングルールを通知して、処理を終了する。
【0063】
この通知を受けて、パケットフィルタリング装置2は、図3に示した構成に従って、パケットフィルタリングルール生成装置1から通知されたパケットフィルタリングルールを受信して、パケットフィルタリングルールテーブル部20に保存するように処理する。
【0064】
これから、パケットフィルタリング装置2のパケットフィルタリングルールテーブル部20には、図8に示すようなルール構造を持つパケットフィルタリングルール(複数のこともある)が格納されることになる。
【0065】
次に、図9の処理フローに従って、パケットフィルタリング装置2の実行するパケットフィルタリング処理について説明する。
【0066】
パケットフィルタリング装置2は、外部ネットワークから送信されてくるパケットを受信すると、図9の処理フローに示すように、先ず最初に、ステップ20で、受信したパケットのペイロードを抽出する。
【0067】
続いて、ステップ21で、受信したパケットのヘッダ情報から、プロトコル種別と送信先ポート番号とを取得する。
【0068】
続いて、ステップ22で、取得したプロトコル種別と一致するプロトコル種別をルール要素とするパケットフィルタリングルールがパケットフィルタリングルールテーブル部20に登録されているのか否かを判断して、登録されていないことを判断するときには、受信したパケットがスタックスマッシング攻撃のパケットではないので、ステップ23に進んで、受信したパケットをプログラムに渡して、処理を終了する。
【0069】
一方、ステップ22で、プロトコル種別が一致するパケットフィルタリングルールがパケットフィルタリングルールテーブル部20に登録されていることを判断するときには、ステップ24に進んで、そのパケットフィルタリングルールの持つ送信先ポート番号が取得した送信先ポート番号と一致するのか否かを判断して、一致しないことを判断するときには、受信したパケットがスタックスマッシング攻撃のパケットではないので、ステップ25に進んで、受信したパケットをプログラムに渡して、処理を終了する。
【0070】
一方、ステップ24で、プロトコル種別が一致するパケットフィルタリングルールが送信先ポート番号についても一致することを判断するときには、ステップ26に進んで、そのパケットフィルタリングルールの持つペイロードが抽出したペイロードと一致するのか否かを判断して、一致しないことを判断するときには、スタックスマッシング攻撃のパケットではないので、ステップ27に進んで、受信したパケットをプログラムに渡して、処理を終了する。
【0071】
一方、ステップ26で、ペイロードについても一致することを判断するときには、受信したパケットがスタックスマッシング攻撃のパケットであるので、ステップ28に進んで、受信したパケットを遮断して、処理を終了する。
【0072】
このようにして、パケットフィルタリング装置2は、プロトコルと送信先ポート番号とペイロードとがパケットフィルタリングルールと一致するパケットを受信する場合に、その受信したパケットを遮断するように処理するのである。
【0073】
ここで、バッファオーバーフローの脆弱性が存在するサービスを外部ネットワークに提供したくない場合は、運用によってパケットフィルタリングルールとして用いるルール要素を減らすこともできる。
【0074】
例えば、プロトコルとポート番号とだけをパケットフィルタリングルールのルール要素として利用することで、バッファオーバーフローの脆弱性が存在するサービスの提供を停止するようにしてもよい。
【0075】
【発明の効果】
本発明によって得られる効果は下記のとおりである。
【0076】
まず1つ目は、スタックスマッシング攻撃を1度受けると、2度目以降の同様のスタックスマッシング攻撃をネットワークで遮断することができ、これにより、スタックスマッシングによるDoS攻撃に対する脆弱性を排除することができるようになることである。
【0077】
従来のホストでのスタックスマッシング攻撃対策では、検出契機がスタックスマッシング攻撃によるパケットがホスト内に侵入した後であったため、そのパケットを処理するプログラムを異常終了させる他なく、攻撃を受けたプログラムがメモリ常駐型のサーバプログラムであった場合は、たとえ攻撃検出機能と連動してサーバプログラムを再実行したとしても、継続的な攻撃によりサービスを停止されていた。
【0078】
これに対して、本発明では、1度目の攻撃でパケットフィルタリングルールを自動生成し、ネットワークで2度目以降の攻撃を遮断することで、サービスを継続することを可能にした。
【0079】
2つ目は、ホストに存在するバッファオーバーフローの脆弱性に関する対策をネットワークで一元的に行うことで、手間をかけずにサイト全体に対策を施すことができるようになることである。
【0080】
従来の未知のバッファオーバーフローの脆弱性を突いたスタックスマッシング攻撃に対する対策は、ホスト単位で行われていたため、サイト全体に対策を施すには手間がかかった。
【0081】
これに対して、本発明では、ネットワークでスタックスマッシング攻撃を防ぐことで、手間をかけずにサイト全体に対策を施すことを可能にした。
【図面の簡単な説明】
【図1】 本発明により実現されるスタックスマッシング攻撃対策システムのシステム構成例である。
【図2】 パケットフィルタリングルール生成装置の装置構成の一実施形態例である。
【図3】 パケットフィルタリング装置の装置構成の一例である。
【図4】 入力パケット保存部に格納される入力パケットの説明図である。
【図5】 パケットフィルタリングルール生成装置の実行するスタックスマッシング攻撃の痕跡の検出処理の説明図である。
【図6】 パケットフィルタリングルール生成装置の実行する処理フローである。
【図7】 パケットフィルタリングルールの一例を示す図である。
【図8】 パケットフィルタリングルールテーブル部に格納されるパケットフィルタリングルールの説明図である。
【図9】 パケットフィルタリング装置の実行する処理フローである。
【符号の説明】
1 パケットフィルタリングルール生成装置
2 パケットフィルタリング装置
10 入力パケット保存部
11 入力パケットロギング部
12 サーバプログラム
13 バッファオーバーフロー検出部
14 スタックスマッシング攻撃痕跡抽出部
15 パケットフィルタリングルール生成部
16 パケットフィルタリングルール通知部
20 パケットフィルタリングルールテーブル部
21 パケットフィルタリングルール受信部
22 パケットフィルタリングルール登録部
23 パケットフィルタリング部
Claims (8)
- 外部から送信されてくる不正なパケットをフィルタリングするために用いられる不正アクセス対処ルールを生成する処理を行う、検出手段と割出手段と特定手段と生成手段とを備える不正アクセス対処ルール生成装置が実行する不正アクセス対処ルール生成方法であって、
上記検出手段が、スタックメモリに挿入したガード変数が書き換えられたのか否かを判断することで、関数のリターンアドレスに対して攻撃が行われたのかを検出し、
上記割出手段が、上記攻撃により書き込まれた不正なリターンアドレスの書き込み位置を、本来のリターンアドレスの格納位置とガード変数の挿入とに基づいて割り出し、
上記特定手段が、上記不正なリターンアドレスの指す位置を上記攻撃の痕跡の開始位置として、その痕跡のバイト列を特定し、
上記生成手段が、上記特定したバイト列をルール要素とする不正アクセス対処ルールを生成することを、
特徴とする不正アクセス対処ルール生成方法。 - 請求項1に記載の不正アクセス対処ルール生成方法において、
上記不正アクセス対処ルール生成装置がさらに記録手段を備えて、この記録手段が、入力パケットを保存する保存手段に対して、入力パケットを記録し、
上記特定手段が、上記保存手段に保存されるバイト列を検索対象として、上記痕跡の開始位置から最長に一致するバイト列を検索することで上記痕跡のバイト列を特定することを、
特徴とする不正アクセス対処ルール生成方法。 - 請求項2に記載の不正アクセス対処ルール生成方法において、
上記不正アクセス対処ルール生成装置がさらに取得手段を備えて、この取得手段が、上記保存手段に保存される上記痕跡のバイト列の持つヘッダ情報を取得し、
上記生成手段は、上記ヘッダ情報をルール要素とする不正アクセス対処ルールを生成することを、
特徴とする不正アクセス対処ルール生成方法。 - 外部から送信されてくる不正なパケットをフィルタリングするために用いられる不正アクセス対処ルールを生成する不正アクセス対処ルール生成装置であって、
スタックメモリに挿入したガード変数が書き換えられたのか否かを判断することで、関数のリターンアドレスに対して攻撃が行われたのかを検出する手段と、
上記攻撃により書き込まれた不正なリターンアドレスの書き込み位置を、本来のリターンアドレスの格納位置とガード変数の挿入とに基づいて割り出す手段と、
上記不正なリターンアドレスの指す位置を上記攻撃の痕跡の開始位置として、その痕跡のバイト列を特定する手段と、
上記特定したバイト列をルール要素とする不正アクセス対処ルールを生成する手段とを備えることを、
特徴とする不正アクセス対処ルール生成装置。 - 請求項4に記載の不正アクセス対処ルール生成装置において、
入力パケットを保存する保存手段を備え、
上記特定する手段は、上記保存手段に保存されるバイト列を検索対象として、上記痕跡の開始位置から最長に一致するバイト列を検索することで上記痕跡のバイト列を特定することを、
特徴とする不正アクセス対処ルール生成装置。 - 請求項5に記載の不正アクセス対処ルール生成装置において、
上記保存手段に保存される上記痕跡のバイト列の持つヘッダ情報を取得する手段を備え、
上記生成する手段は、上記ヘッダ情報をルール要素とする不正アクセス対処ルールを生成することを、
特徴とする不正アクセス対処ルール生成装置。 - 請求項1ないし3のいずれか1項に記載の不正アクセス対処ルール生成方法をコンピュータに実行させるための不正アクセス対処ルール生成プログラム。
- 請求項1ないし3のいずれか1項に記載の不正アクセス対処ルール生成方法をコンピュータに実行させるための不正アクセス対処ルール生成プログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130950A JP4253215B2 (ja) | 2003-05-09 | 2003-05-09 | 不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130950A JP4253215B2 (ja) | 2003-05-09 | 2003-05-09 | 不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004334607A JP2004334607A (ja) | 2004-11-25 |
JP4253215B2 true JP4253215B2 (ja) | 2009-04-08 |
Family
ID=33506251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003130950A Expired - Fee Related JP4253215B2 (ja) | 2003-05-09 | 2003-05-09 | 不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4253215B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4739962B2 (ja) * | 2006-01-16 | 2011-08-03 | 日本電信電話株式会社 | 攻撃検知装置、攻撃検知方法および攻撃検知プログラム |
KR20210060194A (ko) * | 2019-11-18 | 2021-05-26 | 삼성전자주식회사 | 패킷 전달을 제어하는 전자 장치 및 그의 동작 방법 |
-
2003
- 2003-05-09 JP JP2003130950A patent/JP4253215B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004334607A (ja) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107659583B (zh) | 一种检测事中攻击的方法及系统 | |
CN107426242B (zh) | 网络安全防护方法、装置及存储介质 | |
Crandall et al. | On deriving unknown vulnerabilities from zero-day polymorphic and metamorphic worm exploits | |
US7334264B2 (en) | Computer virus generation detection apparatus and method | |
EP2095604B1 (en) | Methods and apparatus for detecting unwanted traffic in one or more packet networks utilizing string analysis | |
US6880087B1 (en) | Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system | |
CA2533853C (en) | Method and system for detecting unauthorised use of a communication network | |
US7904942B2 (en) | Method of updating intrusion detection rules through link data packet | |
US7873998B1 (en) | Rapidly propagating threat detection | |
US20150229657A1 (en) | Method and system for dynamic protocol decoding and analysis | |
US20030196123A1 (en) | Method and system for analyzing and addressing alarms from network intrusion detection systems | |
US20050138402A1 (en) | Methods and apparatus for hierarchical system validation | |
JP2004304752A (ja) | 攻撃防御システムおよび攻撃防御方法 | |
US20040049695A1 (en) | System for providing a real-time attacking connection traceback using a packet watermark insertion technique and method therefor | |
EP3509001B1 (en) | Method and apparatus for detecting zombie feature | |
JP2008507222A5 (ja) | ||
JP4253215B2 (ja) | 不正アクセス対処ルール生成方法、不正アクセス対処ルール生成装置、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体 | |
US20050033984A1 (en) | Intrusion Detection | |
KR100554172B1 (ko) | 네트워크 보안성을 강화한 무결성 관리 시스템, 이를구비한 무결성 네트워크 시스템 및 그 방법 | |
KR101047382B1 (ko) | 악성코드를 역이용한 파일 탈취 방지 방법 및 시스템, 및 기록 매체 | |
JP2004054330A (ja) | 不正コマンド・データ検知方式、不正コマンド・データ検知方法および不正コマンド・データ検知プログラム | |
JP4091528B2 (ja) | 不正アクセス対処ルール生成方法,不正アクセス対処方法,不正アクセス対処ルール生成装置,不正アクセス対処装置およびスタックスマッシング攻撃対策システム | |
CN115603985A (zh) | 入侵检测方法及电子设备、存储介质 | |
EP1504323B1 (en) | Method and system for analyzing and addressing alarms from network intrustion detection systems | |
CN106936805A (zh) | 一种网络攻击的防御方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081216 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081216 |
|
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: 20090120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090123 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |