JP4739962B2 - 攻撃検知装置、攻撃検知方法および攻撃検知プログラム - Google Patents

攻撃検知装置、攻撃検知方法および攻撃検知プログラム Download PDF

Info

Publication number
JP4739962B2
JP4739962B2 JP2006007851A JP2006007851A JP4739962B2 JP 4739962 B2 JP4739962 B2 JP 4739962B2 JP 2006007851 A JP2006007851 A JP 2006007851A JP 2006007851 A JP2006007851 A JP 2006007851A JP 4739962 B2 JP4739962 B2 JP 4739962B2
Authority
JP
Japan
Prior art keywords
attack
vulnerability
processing
attack detection
data
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
JP2006007851A
Other languages
English (en)
Other versions
JP2007188437A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006007851A priority Critical patent/JP4739962B2/ja
Publication of JP2007188437A publication Critical patent/JP2007188437A/ja
Application granted granted Critical
Publication of JP4739962B2 publication Critical patent/JP4739962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、所定の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知装置、攻撃検知方法および攻撃検知プログラムに関する。
従来より、ホスト上でサービスを提供するプログラム(アプリケーション)が有する既知の脆弱性(セキュリティホール)を狙った攻撃が問題になっている。例えば、そのようなプログラムが想定していないデータを入力することでプログラムを異常動作させ、ホストによるサービスの提供を妨害したり、ホストから制御を奪う攻撃などである。そして、このような脆弱性を有するプログラムに対して入力されるデータが攻撃であるかを検知して、システムの管理者やユーザに警告を行うという攻撃検知システムの技術も従来から知られている。
このような攻撃検知システムとしては、例えば、パターンマッチング型の攻撃検知システムがある。具体的には、想定される攻撃パターンを予め記憶しておき、脆弱性を有するプログラムに入力される入力データと攻撃パターンとを比較し、両者が一致する場合に、攻撃であると検知するものである(例えば、下記の非特許文献1参照)。
また、他の例を挙げれば、異常検知型の攻撃検知システムがある。具体的には、攻撃検知対象とするホスト上の正常状態におけるCPU負荷率、ディスク使用率、メモリ利用率などの値を予め記憶しておき、脆弱性を有するプログラムに入力データが入力された後の現在状態と正常状態とを比較し、現在状態が正常状態から乖離した場合に、攻撃であると検知するものである(例えば、下記の非特許文献2参照)。
さらに、他の例を挙げれば、未知なる攻撃を検知するエミュレートによる攻撃検知システムがある。具体的には、脆弱性を有するプログラムに入力される入力データ(パケット内のデータ)をエミュレータ上で模擬的に実行し、攻撃を成功させるために必要な命令がエミュレータによって発行された場合に、攻撃であると検知するものである(例えば、下記の特許文献1参照)。
"Snort Lightweight Intrusion Detection for Network" Martin Roesch,Stanford Telecommunications,Inc USENIX13th Systems Administration Conference LISA'99 [online]、[平成17年12月31日検索]、インターネット<http://www.usenix.org/publications/library/proceedings/lisa99/roesch.html> "ホストベースのIDSの概要と適用について"JNSA2001年度WG活動成果物 [online]、[平成17年12月31日検索]、インターネット<http://www.jnsa.org/active/houkoku/IDSBasic.pdf> 特開2005−182187号公報
ところで、上記した従来の技術は、以下に説明するように、既知の脆弱性を狙って行われる攻撃を検知できずに漏らしてしまう攻撃の検知漏れ(False Negative)や、攻撃でないものを誤って攻撃であると検知してしまう攻撃の誤検知(False Positive)という課題がある。
すなわち、上記したパターンマッチング型の攻撃検知システムでは、プログラムに入力される入力データとパターンマッチングするので、入力データに暗号化や難読化の処理が施されているような場合には、攻撃を検知することができないという課題がある。また、脆弱性がある処理部分に入力されるデータとは無関係に、入力データそのものとパターンマッチングするので、攻撃でない入力データ(攻撃パターンに似ているが、実際には脆弱性を狙ったものではない入力データ)を誤って攻撃であると検知してしまうという課題がある。
同様に、上記した異常検知型の攻撃検知システムでは、OS等の持つ資源の使用量を監視することで異常を検知するので、資源の使用量が上昇して異常が検知された場合でも、脆弱性を有するプログラムが攻撃を受けたことによる異常であるのか、他のプログラムが暴走したり高負荷になったことによる異常であるのかを判別することが困難であり、結果的に、誤って攻撃であると検知してしまうという課題がある。また、脆弱性を有するプログラム固有の資源としては枯渇しているにもかかわらず、OSの持つ使用量としては十分に余裕があるような場合には、プログラム自体は異常状態であるが、OS自体は正常状態と大差が無く、このような異常状態を正確に判別することが困難であり、結果的に、攻撃を検知することができないという課題がある。
さらに、上記したエミュレートによる攻撃検知システムでは、パケット内のデータ(脆弱性を有するプログラムに入力される入力データ)が暗号化や難読化の処理が施されているような場合には、攻撃を検知することができないという課題がある。また、攻撃に必要な命令に相当するようなデータ(実際には脆弱性を狙ったものではない入力データ)がパケット内に含まれているような場合には、そのデータが攻撃とは無関係であるにもかかわらず、誤って攻撃であると検知してしまうという課題がある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能な攻撃検知装置、攻撃検知方法および攻撃検知プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知方法をコンピュータに実行させる攻撃検知プログラムであって、前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分において前記攻撃であるかを検知する攻撃検知手順をコンピュータに実行させることを特徴とする。
また、発明は、上記の発明において、前記攻撃検知手順は、前記脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータに基づいて、前記攻撃であるかを検知することを特徴とする。
また、発明は、上記の発明において、前記攻撃検知手順は、前記脆弱性を有する処理部分による処理が開始された後に、当該脆弱性を有する処理部分によって使用される資源の状況に基づいて、前記攻撃であるかを検知することを特徴とする。
また、発明は、上記の発明において、前記入力データに係るログ情報を当該入力データの処理前から所定のログ情報記憶手段に格納するログ情報格納手順と、前記攻撃検知手順によって攻撃が検知された場合に、前記ログ情報記憶手段に記憶された前記ログ情報を読み出して出力するログ情報出力手順と、をさらにコンピュータに実行させることを特徴とする。
また、発明は、既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知装置であって、前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分において前記攻撃であるかを検知する攻撃検知手段を備えたことを特徴とする。
また、発明は、既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知方法であって、前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分において前記攻撃であるかを検知する攻撃検知工程を含んだことを特徴とする。
発明によれば、入力データを所定プログラムと同様に処理し、脆弱性を有する処理部分において攻撃であるかを検知するので、暗号化や難読化の処理が施されている入力データであっても復号処理を行って同様に処理し、かつ、脆弱性を有する処理部分に着目して攻撃を検知することができ、これによって、他の攻撃検知手法(例えば、パターンマッチング型の攻撃検知システム、異常検知型の攻撃検知システム、エミュレートによる攻撃検知システム)に比較して、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
また、発明によれば、脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータに基づいて、攻撃であるかを検知するので、例えば、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理し、脆弱性を有する処理の直前で、脆弱性を有する処理部分に受け入れられるデータと予め脆弱性ごとに用意しておいた攻撃基準(例えば、データのサイズ、データに含まれる特定コード)とを比較し、データが攻撃基準を満たす場合に、攻撃であると検知するなどでき、これによって、暗号化や難読化の処理が施されている入力データからも漏れなく攻撃を検知する一方で、攻撃でない入力データ(実際には脆弱性を狙ったものではない入力データ)を誤って攻撃であると検知することもなくなる結果、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
また、発明によれば、脆弱性を有する処理部分による処理が開始された後に、当該脆弱性を有する処理部分によって使用される資源の状況に基づいて、攻撃であるかを検知するので、例えば、脆弱性を有するプログラムと同じように入力データを処理していき、脆弱性を有する処理部分による処理が開始されると、プログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を監視し、予め脆弱性ごとに用意しておいた閾値を超えた場合に、攻撃であると検知するなどでき、これによって、脆弱性を有するプログラム固有の資源として枯渇していれば、OSの持つ使用量としては十分に余裕があるような場合でも漏れなく攻撃を検知する一方で、他のプログラムが暴走したり高負荷になったことによる異常を誤って攻撃であると検知することもなくなる結果、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
また、発明によれば、入力データに係るログ情報を当該入力データの処理前から所定のログ情報記憶手段に格納しておき、攻撃が検知された場合に、記憶されたログ情報を読み出して出力するので、例えば、入力データの送信元情報(例えば、送信元の端末を一意に識別するIPアドレス、送信時刻など)や、脆弱性を有する処理部分に至るまでの処理状況(例えば、加工される前の暗号化された状態のデータなど)、脆弱性を有する処理部分における処理状況をログ情報として格納しておき、これらのログ情報を攻撃の検知に応じて出力することなどができ、これによって、攻撃が検知された瞬間の情報のみならず、攻撃に関する情報を広く詳細に取得することが可能である。
以下に添付図面を参照して、この発明に係る攻撃検知装置、攻撃検知方法および攻撃検知プログラムの実施例を詳細に説明する。
以下では、実施例1に係る攻撃検知装置の概要および特徴を説明した後に、実施例1に係る攻撃検知装置の構成、攻撃検知処理の流れを説明し、最後に、実施例1による効果を説明する。
[攻撃検知装置の概要および特徴]
最初に、実施例1に係る攻撃検知装置の概要および主たる特徴を説明する。図1は、実施例1に係る攻撃検知装置を含むシステムの全体構成を示すシステム構成図である。
図1に示すように、実施例1に係る攻撃検知装置10は、一般ユーザ端末20にサービスを提供する実ホスト30と同様、インターネット1に接続され、いわば実ホスト30のおとりサーバとして、一般ユーザ端末20からの攻撃対象となり得るものである。つまり、実ホスト30上でサービスを提供するプログラム(アプリケーション)は、既知の脆弱性(セキュリティホール)を有するものであるが、一般ユーザ端末20は、かかる脆弱性を狙って、実ホスト30や攻撃検知装置10に対してプログラムが想定していないデータを送信することで攻撃を行う。
そして、実施例1に係る攻撃検知装置10は、自己(既知の脆弱性を有する所定プログラム)に対して入力される入力データが攻撃であるかを検知することを概要とするものであり、以下に、簡単に説明するように、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することができるようにしている点に主たる特徴がある。
この主たる特徴を簡単に説明すると、実施例1に係る攻撃検知装置10は、一般ユーザ端末20から送信されて自己に入力される入力データを、例えば、暗号化や難読化の処理が施されていれば復号処理を行って処理するなど、実ホスト30のプログラム(既知の脆弱性を有する所定プログラム)と同様に処理し、脆弱性を有する処理部分において攻撃であるかを検知する。具体的には、図1に示すように、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理し(図1の(1)参照)、脆弱性を有する処理の直前で、脆弱性を有する処理部分に受け入れられるデータと予め脆弱性ごとに用意しておいた攻撃基準(例えば、データのサイズ、データに含まれる特定コード)とを比較し、データが攻撃基準を満たす場合に、攻撃であると検知する(図1の(2)参照)。
このように、実施例1に係る攻撃検知装置10によれば、暗号化や難読化の処理が施されている入力データであっても復号処理を行って同様に処理し、かつ、脆弱性を有する処理部分に着目して攻撃を検知することができ、これによって、他の攻撃検知手法(例えば、パターンマッチング型の攻撃検知システム、異常検知型の攻撃検知システム、エミュレートによる攻撃検知システム)に比較して、上記した主たる特徴のごとく、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
[攻撃検知装置の構成]
続いて、図2を用いて、実施例1に係る攻撃検知装置10の構成を説明する。図2は、実施例1に係る攻撃検知装置の構成を示すブロック図である。同図に示すように、実施例1に係る攻撃検知装置10は、通信制御IF部11と、出力部12と、記憶部13と、攻撃検知制御部14とを備えて構成される。
このうち、通信制御IF部11は、一般ユーザ端末20から攻撃検知装置10に対して送信されたデータを受け入れて攻撃検知装置10内に入力する処理部である。また、出力部12は、後述するレポート部14dによって作成されたレポート(攻撃詳細ログ)を攻撃検知装置10の外部(例えば、攻撃検知装置10を管理する管理者の端末など)に出力する処理部である。
記憶部13は、攻撃検知制御部14による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、ログ情報DB13aと、攻撃基準DB13bとを備える。なお、ログ情報DB13aは、特許請求の範囲に記載の「ログ情報記憶手段」に対応する。
かかる記憶部13のうち、ログ情報DB13aは、後述するロギング部14aにより取得されたログ情報(入力データに係るログ情報)を記憶する手段であり、具体的には、入力データの送信元情報(例えば、送信元の端末を一意に識別するIPアドレス、送信時刻など)や、脆弱性を有する処理部分に至るまでの処理状況(例えば、加工される前の暗号化された状態のデータなど)、脆弱性を有する処理部分における処理状況などをログ情報として記憶する。
攻撃基準13bは、後述する攻撃検知部14bによる攻撃検知に用いられる攻撃基準を記憶する手段であり、具体的には、脆弱性ごとに攻撃として想定されるデータの基準(例えば、このサイズを超えていれば攻撃であるとみなされるデータサイズ、このコードが含まれていれば攻撃であるとみなされる特定コードなど)を攻撃基準として記憶する。なお、ここでいう攻撃基準は、攻撃検知装置10に対して攻撃として入力されるデータそのものを基準化したものではなく、脆弱性を有する処理部分に対して攻撃として入力されるデータ(攻撃検知装置10に入力され、脆弱性を有する処理部分に至るまで処理されることで得られるデータ)を基準化したものである。
攻撃検知制御部14は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、ロギング部14aと、攻撃検知部14bと、レポート部14cとを備える。なお、ロギング部14aは、特許請求の範囲に記載の「ログ情報格納手順」に対応し、攻撃検知部14bは、同じく「攻撃検知手順」に対応し、レポート部14cは、同じく「ログ情報出力手順」に対応する。
かかる攻撃検知制御部14のうち、ロギング部14aは、入力データに係るログ情報を取得してログ情報DB13aに格納する処理部である。具体的には、脆弱性に対する攻撃の詳細な情報を取得するために必要な箇所に仕掛けられ、例えば、入力データの送信元情報(例えば、送信元の端末を一意に識別するIPアドレス、送信時刻など)や、脆弱性を有する処理部分に至るまでの処理状況(例えば、加工される前の暗号化された状態のデータなど)、脆弱性を有する処理部分における処理状況などを取得する。
攻撃検知部14bは、入力データを既知の脆弱性を有する所定プログラム(実ホスト30上のプログラム)と同様に処理し、脆弱性を有する処理部分において攻撃であるかを検知する処理部である。具体的には、暗号化や難読化の処理が施されている入力データであれば復号処理を行って処理するなど、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理し、脆弱性を有する処理の直前で、脆弱性を有する処理部分に受け入れられるデータと攻撃基準DB13bに記憶された攻撃基準(例えば、データのサイズ、データに含まれる特定コード)とを比較し、データが攻撃基準を満たす場合に、攻撃であると検知する。
また、攻撃を検知した場合には、攻撃検知部14bは、その旨を後述するレポート部14cに出力するとともに、脆弱性を有する処理部分に受け入れられるデータを無害化し、脆弱性を有する処理部分に無害化したデータを入力して、脆弱性を有するプログラムと同じように処理を継続する。なお、ここでは、攻撃を検知すると、データを無害化する場合を説明したが、必ずしもこれに限定されるものではなく、攻撃者の挙動把握を目的にして、データを無害化することなく脆弱性を有する処理部分に入力し、故意に攻撃を成功させるようにしてもよく、または、攻撃を検知すると、脆弱性を有する処理部分による処理をスキップして、当該処理部分に続く処理部分から処理を継続するようにしてもよい。
レポート部14cは、攻撃検知部14bによって攻撃が検知された場合には、レポート(攻撃詳細ログ)を作成し、出力部12を介してレポートを外部(例えば、攻撃検知装置10を管理する管理者の端末など)に出力する処理部である。具体的には、攻撃が検知されると、当該攻撃に関連するログ情報がログ情報DB13aに記憶されているかを検索し、該当するログ情報が記憶されている場合には、ログ情報を取得し、攻撃を検知したことを示す攻撃検知情報およびログ情報DB13aから取得したログ情報からなるレポートを作成して出力する。なお、攻撃に関連するログ情報がログ情報DB13aに記憶されていない場合には、攻撃を検知したことを示す攻撃検知情報のみからなるレポートを作成して出力する。
ところで、上記した攻撃検知装置10は、既知のパーソナルコンピュータやワークステーションなどの情報処理装置に、上記した攻撃検知制御部14の各部の各機能を搭載することによって実現することもできる。また、上記した攻撃検知制御部14は、脆弱性を有するプログラムに各部の機能(モジュール)を組み込むことによって実現することもでき、このようにすることによって、入力データの処理やプログラム固有の資源を忠実に再現することができ、既知の脆弱性に対して行われる攻撃をより一層誤りなくかつ漏れなく検知することが可能になる。
[攻撃検知処理の流れ]
次に、図3を用いて、実施例1に係る攻撃検知装置10による攻撃検知処理の流れを説明する。図3は、実施例1に係る攻撃検知装置による攻撃検知処理の流れを示すフローチャートである。
同図に示すように、実施例1に係る攻撃検知装置10の攻撃検知部14bは、攻撃検知制御部14にデータが入力されると(ステップS301肯定)、暗号化や難読化の処理が施されている入力データであれば復号処理を行って処理するなど、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理する(ステップS302)。
そして、攻撃検知部14bは、脆弱性を有する処理部分の手前まで処理が進行すると(ステップS303肯定)、攻撃であるかを検知する(ステップS304)。具体的には、脆弱性を有する処理部分に受け入れられるデータと攻撃基準DB13bに記憶された攻撃基準(例えば、データのサイズ、データに含まれる特定コード)とを比較し、データが攻撃基準を満たす場合に、攻撃であると検知する。
ここで、攻撃でないとされた場合には(ステップS304否定)、攻撃検知部14bは、脆弱性を有する処理部分にデータを入力し、脆弱性を有するプログラムと同じように処理を継続する(ステップS307)。なお、脆弱性を有する処理部分が他にもある場合には、攻撃検知部14bは、上記したステップS303に処理を戻し、脆弱性を有する処理部分の手前まで処理が進行する度に、攻撃であるかを検知する(ステップS304)。
一方、上記したステップS304において攻撃であると検知された場合には(ステップS304肯定)、攻撃検知部14bは、その旨をレポート部14cに出力し、これを受けたレポート部14cは、レポート(攻撃詳細ログ)を作成し、出力部12を介してレポートを外部(例えば、攻撃検知装置10を管理する管理者の端末など)に出力する(ステップS305)。なお、レポート部14cによるレポート処理については、後に詳述する。
さらに、上記したステップS305の処理に続いて、攻撃検知部14bは、脆弱性を有する処理部分に受け入れられるデータを無害化し(ステップS306)、脆弱性を有する処理部分に無害化したデータを入力して、脆弱性を有するプログラムと同じように処理を継続する(ステップS307)。なお、脆弱性を有する処理部分が他にもある場合には、攻撃検知部14bは、上記したステップS303に処理を戻し、脆弱性を有する処理部分の手前まで処理が進行する度に、攻撃であるかを検知する(ステップS304)。
[レポート処理の流れ]
続いて、図4を用いて、実施例1に係る攻撃検知装置10によるレポート処理の流れを説明する。図4は、実施例1に係る攻撃検知装置によるレポート処理の流れを示すフローチャートである。
同図に示すように、実施例1に係る攻撃検知装置10のレポート部14cは、攻撃検知部14bによって攻撃が検知されると(ステップS401肯定)、当該攻撃に関連するログ情報がログ情報DB13aに記憶されているかを検索する(ステップS402)。
そして、該当するログ情報がログ情報DB13aに記憶されている場合には(ステップS402肯定)、レポート部14cは、ログ情報DB13aからログ情報を取得し、攻撃を検知したことを示す攻撃検知情報およびログ情報DB13aから取得したログ情報からなるレポートを作成して出力する(ステップS403およびS404)。一方、攻撃に関連するログ情報がログ情報DB13aに記憶されていない場合には(ステップS402否定)、レポート部14cは、攻撃を検知したことを示す攻撃検知情報のみからなるレポートを作成して出力する(ステップS404)。
[実施例1による効果]
上述してきたように、実施例1によれば、脆弱性を有する所定プログラムと同様に入力データを処理し、脆弱性を有する処理部分において攻撃であるかを検知するので、暗号化や難読化の処理が施されている入力データであっても復号処理を行って同様に処理し、かつ、脆弱性を有する処理部分に着目して攻撃を検知することができ、これによって、他の攻撃検知手法(例えば、パターンマッチング型の攻撃検知システム、異常検知型の攻撃検知システム、エミュレートによる攻撃検知システム)に比較して、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
また、実施例1によれば、脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータに基づいて、攻撃であるかを検知するので、例えば、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理し、脆弱性を有する処理の直前で、脆弱性を有する処理部分に受け入れられるデータと予め脆弱性ごとに用意しておいた攻撃基準(例えば、データのサイズ、データに含まれる特定コード)とを比較し、データが攻撃基準を満たす場合に、攻撃であると検知するなどでき、これによって、暗号化や難読化の処理が施されている入力データからも漏れなく攻撃を検知する一方で、攻撃でない入力データ(実際には脆弱性を狙ったものではない入力データ)を誤って攻撃であると検知することもなくなる結果、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
また、実施例1によれば、入力データに係るログ情報を当該入力データの処理前から所定のログ情報記憶手段に格納しておき、攻撃が検知された場合に、記憶されたログ情報を読み出して出力するので、例えば、入力データの送信元情報(例えば、送信元の端末を一意に識別するIPアドレス、送信時刻など)や、脆弱性を有する処理部分に至るまでの処理状況(例えば、加工される前の暗号化された状態のデータなど)、脆弱性を有する処理部分における処理状況をログ情報として格納しておき、これらのログ情報を攻撃の検知に応じて出力することなどができ、これによって、攻撃が検知された瞬間の情報のみならず、攻撃に関する情報を広く詳細に取得することが可能である。
ところで、上記した実施例1では、脆弱性を有する処理部分に受け入れられるデータに基づいて攻撃であるかを検知する場合を説明したが、本発明はこれに限定されるものではなく、脆弱性を有する処理部分によって使用される資源の状況に基づいて攻撃であるかを検知するようにしてもよい。
そこで、以下では、脆弱性を有する処理部分によって使用される資源の状況に基づいて攻撃であるかを検知する場合を実施例2として説明する。なお、実施例2に係る攻撃検知装置10は、基本的には、図2に示した実施例1に係る攻撃検知装置10と同様の構成であり、攻撃基準DB13bおよび攻撃検知部14bの機能が僅かに異なるのみであるので、以下では、これらの攻撃基準DB13bおよび攻撃検知部14bを説明する。
実施例2における攻撃基準DB13bは、後述する攻撃検知部14bによる攻撃検知に用いられる攻撃基準を記憶する手段であり、具体的には、脆弱性ごとに攻撃として想定されるプログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を閾値として記憶する。なお、ここでいう閾値は、他のプログラムを含む全体の資源使用状況を想定して定められるものではなく、脆弱性を有するプログラム固有の資源使用状況を想定して定められるものである。
また、実施例2における攻撃検知部14bは、脆弱性を有する処理部分による処理が開始された後に、当該脆弱性を有する処理部分によって使用される資源の状況に基づいて、攻撃であるかを検知する処理部である。具体的には、暗号化や難読化の処理が施されている入力データであれば復号処理を行って処理するなど、脆弱性を有するプログラムと同じように入力データを処理していき、脆弱性を有する処理部分による処理が開始されると、プログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を監視し、予め脆弱性ごとに用意しておいた閾値を超えた場合に、攻撃であると検知する。なお、攻撃を検知した後の処理は、上記した実施例1と同様である。
続いて、図5を用いて、実施例2に係る攻撃検知装置10による攻撃検知処理の流れを説明する。図5は、実施例2に係る攻撃検知装置による攻撃検知処理の流れを示すフローチャートである。
同図に示すように、実施例2に係る攻撃検知装置10の攻撃検知部14bは、攻撃検知制御部14にデータが入力されると(ステップS501肯定)、暗号化や難読化の処理が施されている入力データであれば復号処理を行って処理するなど、脆弱性を有するプログラムと同じように入力データを処理する(ステップS502)。
そして、攻撃検知部14bは、脆弱性を有する処理部分による処理が開始されると(ステップS503肯定)、攻撃であるかを検知する(ステップS504)。具体的には、プログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を監視し、予め脆弱性ごとに用意しておいた閾値を超えた場合に、攻撃であると検知する。
ここで、攻撃でないとされた場合には(ステップS504否定)、攻撃検知部14bは、脆弱性を有するプログラムと同じように処理を継続する(ステップS507)。なお、脆弱性を有する処理部分が他にもある場合には、攻撃検知部14bは、上記したステップS503に処理を戻し、脆弱性を有する処理部分の処理が開始される度に、攻撃であるかを検知する(ステップS504)。
一方、上記したステップS504において攻撃であると検知された場合には(ステップS504肯定)、攻撃検知部14bは、その旨をレポート部14cに出力し、これを受けたレポート部14cは、レポート(攻撃詳細ログ)を作成し、出力部12を介してレポートを外部(例えば、攻撃検知装置10を管理する管理者の端末など)に出力する(ステップS505)。なお、レポート部14cによるレポート処理については、図4を用いて説明した通りである。
さらに、上記したステップS505の処理に続いて、攻撃検知部14bは、脆弱性を有する処理部分に受け入れられたデータを無害化し(ステップS506)、脆弱性を有する処理部分に無害化したデータを改めて入力して、脆弱性を有するプログラムと同じように処理を継続する(ステップS507)。なお、脆弱性を有する処理部分が他にもある場合には、攻撃検知部14bは、上記したステップS503に処理を戻し、脆弱性を有する処理部分の処理が開始される度に、攻撃であるかを検知する(ステップS504)。
上述してきたように、実施例2によれば、脆弱性を有する処理部分による処理が開始された後に、当該脆弱性を有する処理部分によって使用される資源の状況に基づいて、攻撃であるかを検知するので、例えば、脆弱性を有するプログラムと同じように入力データを処理していき、脆弱性を有する処理部分による処理が開始されると、プログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を監視し、予め脆弱性ごとに用意しておいた閾値を超えた場合に、攻撃であると検知するなどでき、これによって、脆弱性を有するプログラム固有の資源として枯渇していれば、OSの持つ使用量としては十分に余裕があるような場合でも漏れなく攻撃を検知する一方で、他のプログラムが暴走したり高負荷になったことによる異常を誤って攻撃であると検知することもなくなる結果、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例1および2以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。
例えば、上記した実施例1および2では、脆弱性を有する処理部分に受け入れられるデータに基づいて攻撃であるかを検知する場合と、脆弱性を有する処理部分によって使用される資源の状況に基づいて攻撃であるかを検知する場合とをそれぞれ説明したが、本発明はこれに限定されるものではなく、両者の攻撃検知手法を攻撃検知装置10内で実現するようにしてもよい。
すなわち、この場合には、脆弱性を有するプログラムと同じように入力データを途中まで(脆弱性を有する処理部分に至るまで)処理し、脆弱性を有する処理部分の手前まで処理が進行すると、脆弱性を有する処理部分に受け入れられるデータと攻撃基準DB13bに記憶された攻撃基準とを比較して、攻撃であるかを検知する。さらに、その後、脆弱性を有する処理部分による処理が開始されると、プログラム固有の資源使用状況(例えば、許容される通信セッション数、開くことができるファイル数など)を監視して、攻撃であるかを検知する。このように、両者の攻撃検知手法を攻撃検知装置10内で実現するようにすれば、既知の脆弱性に対して行われる攻撃をより一層誤りなくかつ漏れなく検知することが可能になる。
また、上記した実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図2に示した攻撃検知装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、攻撃検知装置10の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、攻撃検知装置10にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記した実施例で説明した攻撃検知方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明に係る攻撃検知装置、攻撃検知方法および攻撃検知プログラムは、既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する場合に有用であり、特に、既知の脆弱性に対して行われる攻撃を誤りなくかつ漏れなく検知することに適する。
実施例1に係る攻撃検知装置を含むシステムの全体構成を示すシステム構成図である。 実施例1に係る攻撃検知装置の構成を示すブロック図である。 実施例1に係る攻撃検知装置による攻撃検知処理の流れを示すフローチャートである。 実施例1に係る攻撃検知装置によるレポート処理の流れを示すフローチャートである。 実施例2に係る攻撃検知装置による攻撃検知処理の流れを示すフローチャートである。
符号の説明
1 インターネット
10 攻撃検知装置
11 通信制御IF部
12 出力部
13 記憶部
13a ログ情報DB(データベース)
13b 攻撃基準DB(データベース)
14 攻撃検知制御部
14a ロギング部
14b 攻撃検知部
14c レポート部
20 一般ユーザ端末
30 実ホスト

Claims (5)

  1. 既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知方法をコンピュータに実行させる攻撃検知プログラムであって、
    前記既知の脆弱性を有する所定プログラムのうち脆弱性を有する処理部分に至るまで前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータと、前記脆弱性を有する処理部分に対して攻撃として入力されるデータが予め基準化された攻撃基準とを比較することにより、前記攻撃であるかを検知する攻撃検知手順をコンピュータに実行させることを特徴とする攻撃検知プログラム。
  2. 既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知方法をコンピュータに実行させる攻撃検知プログラムであって、
    前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分による処理が開始された後に、当該脆弱性を有する処理部分によって使用される資源の状況に基づいて、前記攻撃であるかを検知する攻撃検知手順をコンピュータに実行させることを特徴とする攻撃検知プログラム。
  3. 前記入力データに係るログ情報を当該入力データの処理前から所定のログ情報記憶手段に格納するログ情報格納手順と、
    前記攻撃検知手順によって攻撃が検知された場合に、前記ログ情報記憶手段に記憶された前記ログ情報を読み出して出力するログ情報出力手順と、
    をさらにコンピュータに実行させることを特徴とする請求項1または2に記載の攻撃検知プログラム。
  4. 既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知装置であって、
    前記既知の脆弱性を有する所定プログラムのうち脆弱性を有する処理部分に至るまで前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータと、前記脆弱性を有する処理部分に対して攻撃として入力されるデータが予め基準化された攻撃基準とを比較することにより、前記攻撃であるかを検知する攻撃検知手段を備えたことを特徴とする攻撃検知装置。
  5. 既知の脆弱性を有する所定プログラムに対して入力される入力データが攻撃であるかを検知する攻撃検知方法であって、
    前記既知の脆弱性を有する所定プログラムのうち脆弱性を有する処理部分に至るまで前記入力データを前記所定プログラムと同様に処理し、前記脆弱性を有する処理部分による処理が開始される前に、当該脆弱性を有する処理部分に受け入れられるデータと、前記脆弱性を有する処理部分に対して攻撃として入力されるデータが予め基準化された攻撃基準とを比較することにより、前記攻撃であるかを検知する攻撃検知工程を含んだことを特徴とする攻撃検知方法。
JP2006007851A 2006-01-16 2006-01-16 攻撃検知装置、攻撃検知方法および攻撃検知プログラム Active JP4739962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006007851A JP4739962B2 (ja) 2006-01-16 2006-01-16 攻撃検知装置、攻撃検知方法および攻撃検知プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006007851A JP4739962B2 (ja) 2006-01-16 2006-01-16 攻撃検知装置、攻撃検知方法および攻撃検知プログラム

Publications (2)

Publication Number Publication Date
JP2007188437A JP2007188437A (ja) 2007-07-26
JP4739962B2 true JP4739962B2 (ja) 2011-08-03

Family

ID=38343546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006007851A Active JP4739962B2 (ja) 2006-01-16 2006-01-16 攻撃検知装置、攻撃検知方法および攻撃検知プログラム

Country Status (1)

Country Link
JP (1) JP4739962B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850568B2 (en) * 2008-03-07 2014-09-30 Qualcomm Incorporated Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access
US8839460B2 (en) 2008-03-07 2014-09-16 Qualcomm Incorporated Method for securely communicating information about the location of a compromised computing device
JP6233414B2 (ja) 2013-07-26 2017-11-22 富士通株式会社 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム
CN104809391B (zh) * 2014-01-26 2018-08-14 华为技术有限公司 缓冲区溢出攻击检测装置、方法和安全防护系统
JP2016158157A (ja) 2015-02-25 2016-09-01 富士通株式会社 呼制御装置、呼制御方法、及び、呼制御システム
KR101710928B1 (ko) * 2015-09-04 2017-03-13 숭실대학교산학협력단 모바일 단말기의 os 플랫폼에서의 악성 코드 방지 방법, 이를 수행하기 위한 기록 매체 및 시스템
CN116962049B (zh) * 2023-07-25 2024-03-12 三峡高科信息技术有限责任公司 一种综合监测和主动防御的零日漏洞攻击防控方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077295A1 (ja) * 2003-02-26 2004-09-10 Secure Ware Inc. 不正処理判定方法、データ処理装置、コンピュータプログラム、及び記録媒体
JP2004334607A (ja) * 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス対処ルール生成方法及びその装置と、不正アクセス対処方法及びその装置と、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体と、不正アクセス対処プログラム及びそのプログラムを記録した記録媒体
JP2005025679A (ja) * 2003-07-03 2005-01-27 Fujitsu Ltd ウィルス隔離システム
JP2005092564A (ja) * 2003-09-18 2005-04-07 Hitachi Software Eng Co Ltd フィルタリング装置
JP2005182187A (ja) * 2003-12-16 2005-07-07 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス検知方法、不正アクセス検知システム及び不正アクセス検知プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077295A1 (ja) * 2003-02-26 2004-09-10 Secure Ware Inc. 不正処理判定方法、データ処理装置、コンピュータプログラム、及び記録媒体
JP2004334607A (ja) * 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス対処ルール生成方法及びその装置と、不正アクセス対処方法及びその装置と、不正アクセス対処ルール生成プログラム及びそのプログラムを記録した記録媒体と、不正アクセス対処プログラム及びそのプログラムを記録した記録媒体
JP2005025679A (ja) * 2003-07-03 2005-01-27 Fujitsu Ltd ウィルス隔離システム
JP2005092564A (ja) * 2003-09-18 2005-04-07 Hitachi Software Eng Co Ltd フィルタリング装置
JP2005182187A (ja) * 2003-12-16 2005-07-07 Nippon Telegr & Teleph Corp <Ntt> 不正アクセス検知方法、不正アクセス検知システム及び不正アクセス検知プログラム

Also Published As

Publication number Publication date
JP2007188437A (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
US10447730B2 (en) Detection of SQL injection attacks
US9443075B2 (en) Interception and policy application for malicious communications
JP4405248B2 (ja) 通信中継装置、通信中継方法及びプログラム
US20160241574A1 (en) Systems and methods for determining trustworthiness of the signaling and data exchange between network systems
US20110219035A1 (en) Database security via data flow processing
US20110214157A1 (en) Securing a network with data flow processing
JP4739962B2 (ja) 攻撃検知装置、攻撃検知方法および攻撃検知プログラム
US20110213869A1 (en) Processing data flows with a data flow processor
US20110231510A1 (en) Processing data flows with a data flow processor
Lee et al. A comprehensive security assessment framework for software-defined networks
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
JP4995170B2 (ja) 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム
JP2019021294A (ja) DDoS攻撃判定システムおよび方法
EP3270317B1 (en) Dynamic security module server device and operating method thereof
EP1960867A2 (en) Systems and methods for processing data flows
CN111800405A (zh) 检测方法及检测设备、存储介质
CN112532631A (zh) 一种设备安全风险评估方法、装置、设备及介质
Yamada et al. RAT-based malicious activities detection on enterprise internal networks
JP2011154727A (ja) 解析システム、解析方法および解析プログラム
CN113411295A (zh) 基于角色的访问控制态势感知防御方法及系统
CN113411297A (zh) 基于属性访问控制的态势感知防御方法及系统
Bhuiyan et al. API vulnerabilities: Current status and dependencies
JP2018121218A (ja) 攻撃検知システム、攻撃検知方法および攻撃検知プログラム
US20060107055A1 (en) Method and system to detect a data pattern of a packet in a communications network
Sharif Web attacks analysis and mitigation techniques

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110406

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: 20110426

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: 20110428

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4739962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

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