JP2008129714A - 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 - Google Patents
異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 Download PDFInfo
- Publication number
- JP2008129714A JP2008129714A JP2006311871A JP2006311871A JP2008129714A JP 2008129714 A JP2008129714 A JP 2008129714A JP 2006311871 A JP2006311871 A JP 2006311871A JP 2006311871 A JP2006311871 A JP 2006311871A JP 2008129714 A JP2008129714 A JP 2008129714A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- normal operation
- abnormality detection
- operation model
- observation target
- 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
- Debugging And Monitoring (AREA)
Abstract
【課題】 解析に基づく解析正常動作モデルを用いた異常検知の判定結果と、観察(学習)に基づく正常動作モデルを用いた異常検知の判定結果を照合させながら学習を行うことにより、最終的に利用可能な正常動作モデルを構築する異常検知方法を提供する。
【解決手段】 解析に基づく解析正常動作モデルを用いた静的検知と学習に基づく正常動作モデルを用いた動的検知とを併用することで、観察対象ソフトウエア3が攻撃を受けない環境の下でなくとも、学習が行える。また学習終了期間判定手段31が、静的検知の判定結果と、動的検知の判定結果の一致割合が高くなってきたことに基づいて、学習の終了を判定することにより、正常動作モデルを生成する際に、いつまで学習を継続すればよいかについての判定を客観的に行える。
【選択図】 図5
【解決手段】 解析に基づく解析正常動作モデルを用いた静的検知と学習に基づく正常動作モデルを用いた動的検知とを併用することで、観察対象ソフトウエア3が攻撃を受けない環境の下でなくとも、学習が行える。また学習終了期間判定手段31が、静的検知の判定結果と、動的検知の判定結果の一致割合が高くなってきたことに基づいて、学習の終了を判定することにより、正常動作モデルを生成する際に、いつまで学習を継続すればよいかについての判定を客観的に行える。
【選択図】 図5
Description
本発明は、観察対象ソフトウエアへの不正侵入を検知するための異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法に関するものである。
従来からホストコンピュータ上で動作するソフトウエアの脆弱性を突いた攻撃に対する防御策として、異常検知システム(Anomaly Detection System)が提案されている。図1は、観察対象ソフトウエア(アプリケーション、プロセスを含む)への不正侵入(異常の発生)を検知する、異常検知装置101の基本構成の概略を示すブロック図である。この異常検知装置では、システムコール捕捉手段102が観察対象ソフトウエア103が動作して呼び出したシステムコール104を捕捉する。そしてシステムコール捕捉手段102は、システムコール104を捕捉したときのコールスタック情報105を判定手段106へと渡す。観察対象ソフトウエアは、システムコールが発行すると、一時停止された状態にある。そして判定手段106は、そのシステムコールが正常な動作内で呼び出されたものか否かを判定し、正常と判断して許可する場合には、観察対象ソフトウエアの一時停止を解除する。また判定手段106は、異常と判断して許可をしない場合には、観察対象ソフトウエアの動作を停止させる処理を行う。判定手段106は、正常/異常の判断を下すために何らかのルール107を用いる。判定に用いるルール107として、例えばシステムコールの正常時の呼び出し順を記録したデータベースを利用するならば、ルール107に当たるものはシステムコール順となる。この場合、判定手段106は、システムコール順序がルールとして予め記憶しているシステムコール順序と合致していれば、観察対象ソフトウエアの動作は正常とみなす。
このような異常検知装置には、予め定めておくルールとして、従来、観察対象ソフトウエアの静的な解析に基づくモデル(解析正常動作モデル)を用いるものと、観察対象ソフトウエアの観察または学習に基づくモデル(正常動作モード)を用いるものとが存在する。前者では、予め観察対象ソフトウエアを静的に解析して得た解析正常動作モデルと、観察対象ソフトウエアの動作(検出したモード)とが一致するか否かに基づいて、動作の正常/異常を判断する。解析正常動作モデルには、観察対象ソフトウエアが取り得るすべての動作が網羅的に含まれている。具体的な一例では、解析に基づくモデルは、観察対象ソフトウェアのバイナリデータやソースコード等のコードから解析手段が自動的に生成する。この場合、観察対象ソフトウェアを動作させる必要はなく、プログラムが自動的に解析をするため、後述する学習は不要であり、使用するルールを短い時間で得ることができる。これに対して後者、すなわち観察(学習)に基づくモデル(正常動作モデル)をルールとして用いる場合には、観察対象ソフトウエアを実際に正常な状態で動作させ、正常な動作を観察することで正常動作モデルを生成する。したがって学習を行う場合には、攻撃を受ける可能性が無いことが保証されている環境において長い時間をかけて、できるだけ多くの正常動作モデルを得る必要があり、使用するルールを得るために長い時間を要する。
静的な解析に基づくモデル(ルール)を用いた異常検知装置の一例としては、非特許文献1に示されたシステムが挙げられる。この非特許文献1に示された装置では、観察対象ソフトウエアのバイナリコードから抽出した関数と関数呼び出し、ソフトウエア(プログラム)のコントロールフローを変更するような命令(ブランチ命令)を端点として、オートマトンを構築し、これに基づいてモデルを生成する。図2は解析に基づくモデル(解析正常動作モデル)を自動作成するための自動解析モデル生成装置200の構成の一例を示すブロックである。この自動解析モデル生成装置200は、観察対象ソフトウェア203のバイナリコード207を逆アセンブル手段208で逆アセンブルしてアセンブラコード209を生成する。ここで逆アセンブルとは、機械語で記述されているソフトウェアのバイナリコードを人が読める形(この場合はアセンブラ言語)に変換する作業を指す。ブランチ抽出手段210は、アセンブラコード209からブランチ命令を抽出し、ブランチのリスト211をモデル生成手段212に渡す。また関数定義抽出手段213は、バイナリコードから関数定義部分を抽出し、同様に関数定義リスト214をモデル生成手段212に渡す。モデル生成手段212は、これらのリスト211及び214をオートマトンの状態で記録し、ブランチや関数呼び出しを状態遷移として記録する。これにより関数同士がどう呼び出し合っているかという関連を表したモデル215を構築し、解析に基づくモデルデータ216として記憶する。
この解析に基づくモデルデータ(解析正常動作モデル)を図1のルール107として利用して、観察対象ソフトウエアの動作が正常であるか否かの検知を行う。図3は、静的な解析によりルール(モデルデータ)を用いて、異常検知を行う従来の異常検知装置201の構成の一例を示すブロック図である。図3に示した装置では、システムコール捕捉手段202は観察対象ソフトウエア203がシステムコール204を呼び出したときに、観察対象ソフトウエアを停止させてそのときのコールスタックを参照し、コールスタック情報205を取得する。判定手段206の一部を構成するバックトレース生成手段206Aは、コールスタック情報205からシステムコールが出された時点でのコールスタック(コールスタックに積まれたリターンアドレス)を参照し、呼び出されてきた関数のリストを作成する。これをバックトレース情報と呼ぶ。また判定手段206の残部を構成する動作の検査手段206Bでは、以前のバックトレース情報が表す状態から、今回生成されたバックトレース情報が表す状態へと遷移するパスが、図2の自動モデル生成装置で作成したモデルデータ(解析正常動作モデル)216に存在するか否かを調べる。遷移するパスが、モデルデータ(解析正常動作モデル)216に存在していれば正常に遷移したと判断し、システムコールの実行を続け、観察対象ソフトウエアに基づく制御を戻す。遷移するパスが存在しなければ異常と判断し(不正侵入があったと判断し)、実行を停止させる。
特開2006−106939号公報(特許文献1)には、非特許文献1に記載の静的解析により定めたモデルを利用する異常検知装置においては、元のソフトウエアと不正プログラムにより攻撃された後のソフトウエアとが、システムコールの発行シーケンスが同じになる場合に、不正侵入(異常)を検視することができない問題を解消するための発明が開示されている。この発明では、システムコール及びシステムコールまでの経路情報が、予め会計したシステムコール及びこのシステムコールに対応する経路情報に一致するか否かにより、不正侵入があったか否かを判定している。
次に、観察(学習)に基づいてモデル(正常動作モデル)を生成するモデル生成装置の例としては、非特許文献2に示された装置が挙げられる。図4は、非特許文献2に示されたモデル生成装置の主要部の構成を示すブロック図である。この装置では、システムコールの正当性にコールスタック(コールスタックに積まれたリターンアドレス)と、以前のシステムコールから今回のシステムコールへ到るまでのリターンアドレスをリストにしたバーチャルパス(Virtual Path)とを用いてモデルを生成する。ここでシステムコール時のプログラムカウンタと、コールスタックをともに記録したものをバーチャルスタックリスト(Virtual Stack List)と呼ぶ。図4の装置では、観察対象ソフトウェア303を事前にクリーンルームで実行して、正常動作時のモデルを得る学習を行う。学習中において、観察対象ソフトウェア303がシステムコールを行うと、システムコール捕捉手段302がコールスタックを参照し、コールスタック情報305からコールスタックを取得する。次に、バーチャルスタックリスト生成手段321が前回のシステムコール時に生成したバーチャルスタックリストと、今回のシステムコール時に生成したバーチャルスタックリストの情報(バーチャルスタックリスト情報)322を生成する。バーチャルパス生成手段323はバーチャルスタックリスト情報322に含まれるバーチャルスタックリストの差分情報を生成する。具体的には比較対象のバーチャルスタックリストの底部フレームから頂上フレームに向かって順次比較を行い、お互いに異なるリターンアドレスが出現した地点から、頂上フレーム側全てのリターンアドレスのリスト(これをバーチャルパス(Virtual Path)情報324と呼ぶ)を生成する。モデルの記録手段325は、生成されたバーチャルパス情報をハッシュテーブル327に記録する。記録が終わるとシステムコールの処理を続行させ、観察対象ソフトウェアに制御を戻す。異常検知時は、ハッシュ値が記録されたハッシュテーブル327を観察対象ソフトウェアのための正常動作モデルとして利用する。観察対象となるソフトウェアの動作が異常であるか否かを検知するときには、システムコールがなされるたびにバーチャルスタックリスト(Virtual Stack List)とバーチャルパス(Virtual Path)とを生成し、正常動作モデルとして記録されているハッシュテーブル327中にあるバーチャルパス情報とのマッチングを行う。そして、検知動作時のバーチャルパス情報とハッシュテーブル327に記録されているバーチャルパス情報とが合致していれば、そのシステムコールは正常であると判定し、合致しなければそのシステムコールは異常であると判定する。
特開2006−106939号公報
"静的解析に基づく侵入検知システムの最適化",情報処理学会論文誌:コンピューティングシステム,vol.45,No.SIG3 (ACS 5),pp.11-20
H.Feng, et al, "Anomaly Detection Using Call Stack Information", The proc. of IEEE Symposium on Security and Privacy 2003, pp.62.
特許文献1にも示されるように、解析に基づく解析正常動作モデルを用いた異常検知方法には理論上防御できない攻撃が存在する。すなわち解析に基づく解析正常動作モデルを用いた異常検知方法では、理論的には動作可能であるが、実際の条件下では絶対に発生しない動作状態が正常なものとして認識されてしまうことがある。これに対して、観察(学習)に基づくモデル(正常動作モデル)を用いた異常検知方法は、多彩な攻撃に対応可能である。しかしながら観察に基づく正常動作モデルを構築するためには、システムの運用を開始する前に、検知対象となるシステムが攻撃を受けない環境の下(クリーンルーム内)で、十分な量の学習を行わなければならない問題がある。また学習をどの程度まで行うべきか否かが不明なため、必要以上に学習を行っている場合もある。そのため観察に基づく正常動作モデルを構築するためには、ソフトウエアを実際に運用するまでに、かなりの時間がかかる。
本発明の目的は、異常検知を行いながら、解析に基づく解析正常動作モデルを用いた異常検知の判定結果と、観察(学習)に基づく正常動作モデルを用いた異常検知の判定結果を照合させながら学習を行うことにより、最終的に利用可能な正常動作モデルを構築する異常検知装置、異常検知方法及び異常検知用プログラムを提供することにある。
本発明の他の目的は、最終的には観察(学習)に基づく正常動作モデルを利用するが、正常動作モデルが構築されるまでは、解析に基づく解析正常動作モデルを用いて異常検知を行う異常検知装置、異常検知方法及び異常検知用プログラムを提供することにある。
本発明の別の目的は、学習により正常動作モデルを生成する場合に、学習の終了時期を判定することができる学習モデル生成方法を提供することにある。
本発明が改良の対象とする異常検知方法では、学習ステップと異常検知ステップとを実行する。学習ステップでは、観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習し、学習した正常動作モデルを正常動作モデル記憶手段に記憶する。異常検知ステップでは、観察対象ソフトウエアの動作が、正常動作モデル記憶手段に記憶している正常動作モデルと一致するか否かに基づいて観察対象ソフトウエアへの不正侵入による異常の発生を検知する。
本発明の異常検知方法では、異常検知を行いながら、解析に基づく解析正常動作モデルを用いた異常検知の判定結果と、観察(学習)に基づく正常動作モデルを用いた異常検知の判定結果を照合させながら学習を行うことにより、最終的に利用可能な正常動作モデルを構築する。そこで本発明では、正常動作モデル記憶手段とは別の記憶手段に、学習ステップによらずに予め観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に記憶しておく。また本発明では、学習ステップが予め定めた学習レベルに達するまでは、別の記憶手段に記憶した解析正常動作モデルを用いて、観察対象ソフトウエアの動作が、解析正常動作モデルから判断して正常であるか否かを判断し、観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知ステップを更に実行する。そして学習ステップが予め定めた学習レベルに達するまでは、別異常検知ステップの検知結果を利用し、併せて学習ステップ及び異常検知ステップを実行して、別異常検知ステップで動作の正常を検知しているにも拘わらず異常検知ステップで動作の異常を検知しているときには、そのときの動作に基づいて学習した正常動作モデルを正常動作モデル記憶手段に記憶させる。そして学習ステップが予め定めた学習レベルに達した後は、正常動作モデルを利用した異常検知ステップの検知結果を利用する。
本発明によれば、学習ステップが予め定めた学習レベルに達するまでは、解析に基づく解析正常動作モデルを用いた異常検知の判定結果を用いて異常検知を行うので、異常検知動作を早期に開始することができる。また本発明の方法では、解析に基づく解析正常動作モデルを用いた異常検知の判定結果をガイドとして、学習を行っていくため、従来のように、攻撃を受けない環境下で学習を行う必要がない。そして最終的には、学習により構築した正常動作モデルを利用して異常検知を行うため、解析に基づく解析正常動作モデルを用いた異常検知だけでは、どうしても検知できない異常を含めて、より高い精度での異常検知を、早期に開始できる。
観察対象ソフトウエアの静的な解析において、解析正常動作モデルを生成する方法は、任意である。例えば、観察対象ソフトウェアのバイナリコードやソースコード等のコードを元にして解析した関数モデルを解析正常動作モデルとして生成すると、従来の解析技術を利用して簡単に解析正常動作モデルを生成できる。
また静的な解析により構築した解析正常動作モデルを利用して異常検知を行う場合(別異常検知ステップ)の観察対象ソフトウエアの動作の検出は、任意である。例えば、観察対象ソフトウェアのバイナリコードやソースコード等のコードを元にして解析した関数モデルを解析正常動作モデルとして生成する場合であれば、最初に、観察対象ソフトウェアから発行されたシステムコールを捕捉する。そしてシステムコールによる呼び出しが行われた時点でのプロセスのコールスタックに積まれた情報と該情報が積まれた順序をコールスタック情報とし、システムコールが行われた時点におけるコールスタックに積まれた情報及びそれまでに実行されてきた関数の呼び出し元へのコールスタック情報を、観察対象ソフトウエアの動作として取得するようにする。このような方法で、観察対象ソフトウエアの動作を検出すると、解析正常動作モデルとの一致または不一致の判定を簡単に実施することができる。
学習ステップにおいて構築する正常動作モデルの生成方法は、観察対象ソフトウエアの動作の検出方法に対応して、定めるのが好ましい。前述のように、システムコールを基準にして観察対象ソフトウエアの動作を検出する場合には、システムコールがあった時点とその一回前にシステムコールがあった時点との、コールスタック情報の差分を用いて観察対象ソフトウェアの動作をモデル化したものを正常動作モデルとして定めるのが好ましい。このようにすると観察対象ソフトウェアの動作の検出動作の主要部を、異常検知と学習の両方で利用することができる。
なお学習ステップが予め定めた学習レベルに達したか否か(学習が終了したか否か)の判定方法は、任意である。例えば、別異常検知ステップで観察対象ソフトウェアの動作の正常を検知しているにも拘わらず異常検知ステップで動作の異常を検知している割合が、予め定めた割合より少なくなったことにより、学習の終了を判定するようにしてもよい。
すなわち解析に基づく解析正常動作モデルを用いた判定と観察(学習)に基づく正常動作モデルを用いた判定を比較し、観察に基づくモデルの学習進度を表現することで、学習終了時期を判断することが可能になる。なお学習量に基づく、学習の終了の判定方法は、従来通り攻撃を受けない環境下(クリーンルーム)内で行われる学習において、学習の終了を判定する場合にも有効である。
また本発明が改良の対象とする異常検知装置は、学習手段と、正常動作モデル記憶手段と、異常検知手段とを備えている。学習手段は、観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習する。正常動作モデル記憶手段は、学習手段が学習した正常動作モデルを記憶する。異常検知手段は、観察対象ソフトウエアの動作が、正常動作モデル記憶手段に記憶している正常動作モデルと一致するか否かに基づいて、観察対象ソフトウエアへの不正侵入による異常の発生を検知する。本発明の異常検知装置は、更に、正常動作モデル記憶手段とは別に設けられて、予め観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを記憶する別の記憶手段を備えている。また本発明の異常検知装置は、更に、学習手段による学習が予め定めた学習レベルに達するまで、別の記憶手段に記憶した解析正常動作モデルを用いて、観察対象ソフトウエアの動作が、正常であるか否かの判断を行い、観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知手段とを更に備えている。
特に本発明の異常検知装置では、学習が予め定めた学習レベルに達するまでは、別異常検知手段の検知結果を利用し、併せて学習手段及び異常検知手段を動作させて、別異常検知手段で動作の正常を検知しているにも拘わらず異常検知手段で動作の異常を検知しているときには、そのときの動作に基づいて学習した正常動作モデルを正常動作モデル記憶手段に記憶させる。そして学習が予め定めた学習レベルに達した後は、異常検知手段の検知結果を利用する。本発明の異常検知装置を利用しても、前述の異常検知方法と同様の効果を得ることができる。
本発明の異常検知装置をコンピュータを用いて実現する場合に用いるコンピュータ読み取り可能なプログラムは、観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習し、学習した正常動作モデルを正常動作モデル記憶手段に記憶する学習機能と、観察対象ソフトウエアの動作が、正常動作モデル記憶手段に記憶している正常動作モデルと一致するか否かに基づいて観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知機能とをコンピュータを用いて実現するように構成されている。本発明の異常検知用プログラムは、さらに正常動作モデル記憶手段とは別の記憶手段に、学習機能によらずに予め観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に記憶する機能と、学習機能が予め定めた学習レベルに達するまでは、別の記憶手段に記憶した解析正常動作モデルを用いて、観察対象ソフトウエアの動作が、正常であるか否かの判断を行って、観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知機能とをコンピュータ内で実現する。さらに本発明の異常検知用プログラムは、学習機能が予め定めた学習レベルに達するまでは、別異常検知機能の検知結果を利用し、併せて学習機能及び異常検知機能を実現して、別異常検知機能で動作の正常を検知しているにも拘わらず異常検知機能で動作の異常を検知しているときには、そのときの動作に基づいて学習した正常動作モデルを正常動作モデル記憶手段に記憶させる機能とを更にコンピュータを用いて実現す
るように構成されている。また学習機能が予め定めた学習レベルに達した後は、異常検知機能の検知結果を利用するように、本発明のプログラムは構成されている。このプログラムは、コンピュータ読み取り可能な記録媒体に記録される。
るように構成されている。また学習機能が予め定めた学習レベルに達した後は、異常検知機能の検知結果を利用するように、本発明のプログラムは構成されている。このプログラムは、コンピュータ読み取り可能な記録媒体に記録される。
本発明の学習モデル生成方法は、従来のようにクリーンルームで学習を行う場合における学習の終了判定にも当然にして利用できる。この学習モデル生成方法は、観察対象ソフトウエアの動作が正常動作モデルと一致するか否かに基づいて観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知に利用する正常動作モデルを作成するために、観察対象ソフトウエアに正常な動作を行わせることを継続して正常動作モデルを学習により生成する。本発明の方法では、学習によらずに、予め観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に作成する。また予め定めた学習レベルに達するまでは、学習と併用して、解析正常動作モデルを利用した異常検知を実行する。解析正常動作モデルを利用した異常検知が観察対象ソフトウエアの正常を検知しているにも拘わらず、学習による学習結果が異常を判定しているときには、そのときの正常動作モデルは正しいものと学習する。そして解析正常動作モデルを利用した異常検知の結果と学習による学習結果との一致割合に基づいて、学習の進捗状況を判定する。一致割合が、予め定めた割合に達したときに、学習が終了したものと判定する。
このようすると、従来、定め難かった学習の終了判定を、客観的に行うことできるようになる。
本発明によれば、学習ステップが予め定めた学習レベルに達するまでは、解析に基づく解析正常動作モデルを用いた異常検知の判定結果を用いて異常検知を行うので、異常検知動作を早期に開始することができるという利点が得られる。また本発明によれば、解析に基づく解析正常動作モデルを用いた異常検知の判定結果をガイドとして、学習を行っていくため、従来のように、学習のために攻撃を受けない環境を用意する必要がないという利点が得られる。そして最終的には、学習により構築した正常動作モデルを利用して異常検知を行うため、解析に基づく解析正常動作モデルを用いた異常検知だけでは、どうしても検知できない異常を含めて、より高い精度での異常検知を、早期に開始できる効果が得られる。
図5は、本発明の異常検知プログラムをホストコンピュータで実行して、コンピュータ内で本発明の異常検知方法を実施する本発明の異常検知装置の実施の形態の一例の構成を示すブロックである。本発明の実施の形態では、静的な解析に基づく解析正常動作モデルを用いた異常検知(以下静的検知と言う)と、観察(学習)に基づく正常動作モデルを用いた異常検知(以下、動的検知と言う)を並行して行う。もし学習が十分に行われていない状態で、動的検知を行うと、実際には攻撃(侵入)ではないのに攻撃(侵入)されたと判定する誤検知が多数発生することになる。そこで本実施の形態では、静的検知が観察対象ソフトウエアの動作が正常であると判断しているときに、動的検知が異常と判断したときには、学習が不十分なために発生した誤検知であったとみなし、今起きた動作は正常であったということを観察(学習)に基づく正常動作モデルに学習させる。
静的検知と動的検知とを行うために、図5の実施の形態の異常検知装置1は、予め観測対象ソフトウエアについて静的な解析を行って得た解析正常動作モデルを記憶手段7にモデルデータとして記憶している。解析正常動作モデルは、図2を用いて説明した従来公知の方法によって取得する。静的な解析により得たルール(モデルデータ)を用いて、異常検知を行うために、システムコール捕捉手段2は観察対象ソフトウエア3がシステムコール4を呼び出したときに、観察対象ソフトウエア3を停止させて、そのときに実行されているコールスタックを参照して、コールスタック情報5を取得する。判定手段6の一部を構成するバックトレース生成手段6Aは、コールスタック情報5からシステムコールが呼び出された時点でのコールスタック(コールスタックに積まれたリターンアドレス)を参照し、呼び出されてきた関数のリスト(バックトレースリスト)を作成する。また判定手段6の残部を構成する動作の検査手段6Bは、以前のバックトレース情報が表す状態から、今回生成されたバックトレース情報が表す状態へと遷移するパスが、記憶手段7中のモデルデータ(解析正常動作モデル)に存在するか否かを調べる。そして遷移するパスが、モデルデータ(解析正常動作モデル)に存在していれば正常に遷移したと判断し、システムコールの実行を続け、観察対象ソフトウエアに制御を戻す(再開する)。遷移するパスが存在しなければ、攻撃を受けて誤動作した可能性が高いため、異常と判断し(不正侵入があったと判断し)、後述する学習および観察対象プロセスの実行を停止する。動作の検査手段6Bが、動作を正常であると判定した場合は、判定結果を学習終了期間判定手段31に渡す。以上の動作が静的検知における動作である。なお本実施の形態においては、判定手段6が、観察対象ソフトウエアへの不正侵入による異常の発生を検知する静的検知のための別異常検知手段を構成している。
次に動的検知について説明する。動的検知では、観察対象ソフトウェア3がシステムコールを行うと、システムコール捕捉手段2がコールスタックを参照し、コールスタック情報5からコールスタックを取得する。次に、バーチャルスタックリスト生成手段21が前回のシステムコール時に生成したバーチャルスタックリストと、今回のシステムコール時に生成したバーチャルスタックリスト情報22を生成する。バーチャルパス生成手段23は、バーチャルスタックリスト情報22に含まれるバーチャルスタックリストの差分情報を生成する。具体的には比較対象のバーチャルスタックリストの底部フレームから頂上フレームに向かって順次比較を行い、お互いに異なるリターンアドレスが出現した地点から、頂上フレーム側全てのリターンアドレスのリスト(バーチャルパス情報)24を生成する。検査手段25は、バーチャルパス情報24とハッシュテーブル27に記憶されたバーチャルパス情報とが一致するか否かにより正常か否かの判定を行う。ハッシュテーブル27は、正常動作モデル記憶手段を構成している。検査手段25での判定結果は、学習終了期間判定手段31に渡される。学習終了期間判定手段31は、動的検知のための正常動作モデルを構築するための学習が必要十分な期間行われたか否かを判定するとともに、静的検知の結果を使用することから動的検知の結果を使用することの切り替え指令を動作の検査手段33に指令する機能を有している。学習終了期間判定手段31では、学習の終了を判定するまでは、静的検知を行った動作の検査手段6Bの判定結果と、動的検知を行った検査手段25の判定結果の両方を入力とし、動作の検査手段6Bが動作の正常を判定しているにも拘わらず、検査手段25の判定結果が異常を判定しているときには、動作の検査手段33に前述の正常動作モデルを構築するために必要なバーチャルパス情報であることを指令する。動作の検査手段33は、この指令を受けてハッシュテーブル27に、そのバーチャルパス情報を記録する。同時に、静的検知による動作が正常であることの検知に基いて、観察対象ソフトウエア3にはシステムコールの処理を続行させ、観察対象ソフトウェアに制御を戻す。
後述するように学習終了期間判定手段31が学習の終了を判定すると、以後は、静的検知の判定結果によらず、動的検知の判定結果により異常の検知を行う。動的検知のみで、観察対象となるソフトウェアの動作が異常であるか否かを検知するときには、システムコールがなされるたびにバーチャルスタックリスト情報とバーチャルパス情報とを生成し、正常動作モデルとして記録されているハッシュテーブル27中のバーチャルパス情報とのマッチングを行う。そして、検査手段25が入力されたバーチャルパス情報24とハッシュテーブル27に記録されているバーチャルバス情報のいずれか一つとが合致していれば、そのシステムコールは正常であると判定し、合致しなければそのシステムコールは異常であると判定する。なお本実施の形態では、検査手段25、学習終了期間判定手段31及び動作の検査手段33によって、動的検知のための異常検知手段が構成されている。
このようにするとハッシュテーブル27に必要十分な正常動作モデルが構築されるまでは、静的検知の検知結果をガイドとして学習が繰り返されることになる。したがって本実施の形態によれば、観察(学習)により正常動作モデルを構築する場合でも、学習が0の状態から実際に異常の検知を始めることができるので、従来よりも早期に観察ソフトウエアの運用を開始することができる。本発明の実施の形態では、学習を行っている間は、動的検知がどう判断しようとも静的検知の結果が正しいとみなして学習を行うため、静的検知が誤作動するような攻撃を受けると、観察(学習)に基づくモデルに誤った学習がなされてしまう恐れがある。しかし観察に基づくモデルの学習中に静的検知によって防げない攻撃が来なければ、その後の動的検知では静的検知によって防げない攻撃を防げる可能性があるため、十分に実用可能である。
学習終了期間判定手段31では、両動作の検査手段6B及び25の判断が食い違っているうちは、解析に基づく静的正常動作モデルを用いた検査手段6Bの判定結果が正しいものとみなして、観察に基づく正常動作モデルに学習を行わせる。そしてある程度、判定結果が一致するようになったら学習が終了したとみなす。両動作の検査手段6B及び25の判定結果がある程度一致したかどうかを判定する手法にはいくつかの手法がある。この実施例では双方の判定が一致したら、カウンタに1加え、一致しなかった場合はリセットを行うカウンタを用いて、カウント値がある閾値を超えたら学習が終了するという手法を採用している。
図6は、本実施の形態で採用している学習終了期間判定手段31の判定動作の一例を示すフローチャートを示している。このフローチャートでは、カウンタが閾値を超えていない場合は、また学習中であると判断する(ST1)。そして解析に基づく解析正常動作モデルを用いた検知すなわち静的検知の判定結果が異常であると判定した場合は、システムを停止させるようになっているため、この時点では静的検知の結果は常に正常となっているはずである。そのため学習をすべきか否かは、観察に基づくモデルを用いた動的検知の判断結果のみで判定できる。動的検知の判定結果が「正常」であった場合は、双方の判定結果が一致したということであるからカウンタに1を加えるカウントアップ動作を行う(ST2及びST3)。反対に動的検知の判定結果が「異常」であった場合は、このとき学習終了期間判定手段31は正常動作モデルの記録手段であるハッシュテーブル27に今回のバーチャルスタックリストとバーチャルパスに基づいて計算したバーチャルパス情報を渡して観察に基づく正常動作モデルの学習(構築)を行ったのちに、カウンタをリセットする(ST2,ST4,ST5)。カウンタの条件分岐によって、選択手段を持つカウンタがある閾値を超えていれば(ST1)、学習は終了したと判断し、学習を終了する処理を行う(ST6)。
本実施の形態では、一度カウンタが閾値を超えてしまうと、二度と学習中の状態に戻ることはない。しかしながら、必要があれば学習終了後も外部からの要求に基づいて学習中の状態に戻すような手段を加えても良いのは勿論である。
また上記の実施の形態では、学習の進度を見る装置としてカウンタを採用した。しかしながら、ある一定時間、誤検知がなかった場合には学習が終了したと見なして、学習の終了期間を判定するようにしてもよいのは勿論である。学習の進度を判定するその他の手法として、図7に示す使用率カウンタを用いる方法がある。図7(A)及び(B)に示した表は、静的な解析に基づく解析正常動作モデルが持つ関数モデルを表したものである。なお図7の表は、静的な解析に基づくモデルの一表現例であり、この表現例に限定されるものではない。図7(A)の左側の表は、初期値を示している。したがって使用率カウンタの初期値(使用率)は0/9である。ここで例えば観察(学習)に基づく正常動作モデルの学習にC→Bという経路とA→Cという経路703を使ったと仮定する。図7(A)の右側の図に示すように、学習が行われると解析に基づくモデルには、C→Bという経路とA→Cという経路が用いられたという印が付いている。すなわちC→Bに対応する○の下にアンダーバー「_」の印がついており、A→Cに対応する×の下にもアンダーバーの印がついている。このとき使用率は、2/9となって、使用率カウンタの値は増加する。このように経路を使って学習した場合には、観察に基づく正常動作モデルは、次にこの経路と同じ経路を用いることを判定したときに、解析に基づく解析正常動作モデルを用いた静的検知の判断と判定結果が食い違うことはなくなる。このことは、解析に基づく正常動作モデルの知識のうち、この経路を用いる知識を学習できたことを意味する。そして観察に基づく正常動作モデルが解析に基づく解析正常動作モデルの知識をどの程度学習できたかという指標には、解析に基づく解析正常動作モデルの使用率を用いることができる。
また図7(B)に示すように、既にアンダーバーの印がついている経路C→Bが再度用いられた場合は、カウンタの値は増加せず、カウンタは元の数値のまま保たれる。したがって使用率は2/9のまま変わらず、またアンダーバーの印についても、既に印がつけられているため、変化はおこらない。したがってこの手法によれば、同じ経路が再度使用されたとしても、使用率が変わることがないため、同じ経路が多数回繰り返されることにより、あたかも学習進度と誤認することはない。したがって使用回数を計数する単純なカウンタと比べて、使用率を用いる手法には、偏った学習が防げるという特徴がある。偏った学習とは、実際には学習が十分に行われていないにも関わらず学習が終了したと判定してしまうことをいう。この偏った問題は、単純なカウンタを用いた場合に、ソフトウェアのある一部分を反復して実行することで解析に基づく解析正常動作モデルを用いた判断と、観察に基づく正常動作モデルを用いた判断とが一致し続けてしまい、カウンタが閾値を超えてしまうことにより発生する。これに対して使用率を用いる手法では、一部分の経路を繰り返し実行し続けたとしても、単純なカウンタを用いた手法のように、カウンタが際限なく増加し続けることはない。
改めて、本発明の異常検知方法を図5に示した実施の形態を用いて説明すると以下のようになる。本発明では、正常動作モデル記憶手段として用いるハッシュテーブル27とは別の記憶手段7に、前述の手段21〜31を用いて学習をする学習ステップ及び異常検知ステップによらずに、予め観察対象ソフトウエア3の静的な解析に基づいて得た解析正常動作モデル(モデルデータ)を事前に記憶しておく。そして本発明では、学習ステップが予め定めた学習レベルに達するまで(学習終了期間判定手段31が学習の終了を判定するまで)は、この別の記憶手段7に記憶した解析正常動作モデルを用いて、観察対象ソフトウエア3の動作が、解析正常動作モデルから判断して正常であるか否かを判断し、観察対象ソフトウエアへの不正侵入による異常の発生を検知する(静的検知における別異常検知ステップ)。そして学習ステップが、予め定めた学習レベルに達するまでは(学習終了期間判定手段31が学習の終了を判定するまでは)、前述の静的検知における別異常検知ステップの検知結果を利用し、併せて学習ステップ及び異常検知ステップを実行して、別異常検知ステップで動作の正常を検知しているにも拘わらず異常検知ステップで動作の異常を検知しているときには、そのときの動作に基づいて学習した正常動作モデル(新たなハッシュ値を含むデータ)を正常動作モデル記憶手段として用いられるハッシュテーブル27に記憶させる。そして学習終了期間判定手段31が、学習ステップが予め定めた学習レベルに達したことを判定すると、動的検知による判定結果が利用されるようになる。すなわち以後は、ハッシュテーブル27に記憶された正常動作モデルを利用した異常検知ステップの検知結果を利用する。
図5に示す構成は、コンピュータ内においてプログラムを実行して実現される。本実施の形態で使用可能なプログラムは、観察対象ソフトウエア3が正常な動作をしているときの正常動作モデルを学習し、学習した正常動作モデルを正常動作モデル記憶手段(ハッシュテーブル27)に記憶する学習機能と、観察対象ソフトウエア3の動作が、正常動作モデル記憶手段(27)に記憶している正常動作モデルと一致するか否かに基づいて観察対象ソフトウエア3への不正侵入による異常の発生を検知する異常検知機能(手段25〜手段33を実現する機能)によってコンピュータを用いて実現するように構成されている。本発明で使用する異常検知用プログラムは、さらに正常動作モデル記憶手段(27)とは別の記憶手段7に、学習機能によらずに予め観察対象ソフトウエア3の静的な解析に基づいて得た解析正常動作モデルを事前に記憶する機能をコンピュータ内に実現する。またプログラムは、学習機能が予め定めた学習レベルに達するまでは、別の記憶手段7に記憶した解析正常動作モデルを用いて、観察対象ソフトウエア3の動作が、正常であるか否かの判断を行って、観察対象ソフトウエア3への不正侵入による異常の発生を検知する別異常検知機能とをコンピュータ内に実現する。さらに本発明で使用する異常検知用プログラムは、学習機能が予め定めた学習レベルに達するまでは、静的検知のための別異常検知機能の検知結果を利用し、併せて動的検知のための学習機能及び異常検知機能を実現して、別異常検知機能で動作の正常を検知しているにも拘わらず異常検知機能で動作の異常を検知しているときには、そのときの動作に基づいて学習した正常動作モデルを正常動作モデル記憶手段に記憶させる機能とを更にコンピュータを用いて実現するように構成されている。そして学習機能が予め定めた学習レベルに達した後は、動的検知による異常検知機能の検知結果を利用するように、本発明で使用するプログラムは構成されている。
また上記実施の形態において使用されている学習モデル生成方法は、従来のように攻撃を受けない環境下(クリーンルーム)で学習を行う場合における学習の終了判定にも当然にして利用できる。この学習モデル生成方法では、観察対象ソフトウエア3の動作が正常動作モデルと一致するか否かに基づいて観察対象ソフトウエア3への不正侵入による異常の発生を検知する異常検知に利用する正常動作モデルを作成するために、観察対象ソフトウエア3に正常な動作を行わせることを継続して正常動作モデルを学習により生成する。この方法では、学習によらずに、予め観察対象ソフトウエア3の静的な解析に基づいて得た解析正常動作モデルを事前に作成する。また予め定めた学習レベルに達するまでは、学習と併用して、解析正常動作モデルを利用した異常検知を実行する(すなわち静的検知を実行する)。解析正常動作モデルを利用した異常検知(静的検知の判定結果)が観察対象ソフトウエア3の正常を検知しているにも拘わらず、学習による学習結果(動的検知の判定結果)が異常を判定しているときには、そのときの正常動作モデルは正しいものと学習する。そして解析正常動作モデルを利用した異常検知の結果(静的検知の判定結果)と学習による学習結果(動的検知の判定結果)との一致割合に基づいて、学習の進捗状況を判定する。一致割合が、予め定めた割合に達したときに、学習が終了したものと判定する。
以上のように本発明の実施の形態によれば、解析に基づく解析正常動作モデルで防御を行いながら観察に基づく正常動作モデルの学習を行うため、攻撃を受けない環境下でなくても学習が可能となる。そのため学習対象となる観察対象ソフトウエアが攻撃を受けない環境下を用意してから、学習を行うという手順は不要となり、実際にソフトウェアを使用しながら安全に学習することが可能である。
また、本発明の実施の形態によれば、攻撃のない環境下で正常動作モデルを生成する従来の手法を用いるか、または攻撃があるかもしれない環境下でモデルを生成するかに拘わらず、解析に基づく解析正常動作モデルの判定結果と比較して、正常動作モデルの学習の程度を測ることにより学習を終了する時期を知ることが可能となり、正常動作モデル生成を行う際の手助けとなる。
1 異常検知装置
2 システムコール捕捉手段
3 観察対象ソフトウエア
6 判定手段(別異常検知手段)
6A バックトレース生成手段
6B 動作の検査手段
7 記憶手段
21 バーチャルスタックリスト生成手段
23 バーチャルパス生成手段
25 検査手段
27 ハッシュテーブル(正常動作モデル記憶手段)
31 学習終了期間判定手段
33 動作の検査手段
2 システムコール捕捉手段
3 観察対象ソフトウエア
6 判定手段(別異常検知手段)
6A バックトレース生成手段
6B 動作の検査手段
7 記憶手段
21 バーチャルスタックリスト生成手段
23 バーチャルパス生成手段
25 検査手段
27 ハッシュテーブル(正常動作モデル記憶手段)
31 学習終了期間判定手段
33 動作の検査手段
Claims (10)
- 観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習し、学習した前記正常動作モデルを正常動作モデル記憶手段に記憶する学習ステップと、
前記観察対象ソフトウエアの動作が、前記正常動作モデル記憶手段に記憶している前記正常動作モデルと一致するか否かに基づいて前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知ステップとを備えてなる異常検知方法であって、
前記正常動作モデル記憶手段とは別の記憶手段に、前記学習ステップによらずに予め前記観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に記憶しておき、
前記学習ステップが予め定めた学習レベルに達するまでは、前記別の記憶手段に記憶した前記解析正常動作モデルを用いて、前記観察対象ソフトウエアの動作が、前記解析正常動作モデルから判断して正常であるか否かを判断し、前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知ステップを更に備え、
前記学習ステップが予め定めた学習レベルに達するまでは、前記別異常検知ステップの検知結果を利用し、併せて前記学習ステップ及び前記異常検知ステップを実行して、前記別異常検知ステップで前記動作の正常を検知しているにも拘わらず前記異常検知ステップで前記動作の異常を検知しているときには、そのときの前記動作に基づいて学習した前記正常動作モデルを前記正常動作モデル記憶手段に記憶させ、
前記学習ステップが予め定めた学習レベルに達した後は、前記異常検知ステップの検知結果を利用することを特徴とする異常検知方法。 - 前記観察対象ソフトウエアの前記静的な解析においては、前記観察対象ソフトウェアのコードを元にして解析した関数モデルを前記解析正常動作モデルとして生成することを特徴とする請求項1に記載の異常検知方法。
- 前記別異常検知ステップでは、前記観察対象ソフトウェアから発行されたシステムコールを捕捉し、前記システムコールが行われた時点でのプロセスのコールスタックに積まれた情報と該情報が積まれた順序をコールスタック情報とし、システムコールが行われた時点におけるコールスタックに積まれた情報及びそれまでに実行されてきた関数の呼び出し元へのコールスタック情報を、前記観察対象ソフトウエアの前記動作として取得する請求項2に記載の異常検知方法。
- 前記システムコールがあった時点とその一回前に前記システムコールがあった時点との、前記コールスタック情報の差分を用いて前記観察対象ソフトウェアの動作をモデル化したものを前記正常動作モデルとする請求項3に記載の異常検知方法。
- 前記学習ステップが前記予め定めた学習レベルに達したか否かを、前記別異常検知ステップで前記動作の正常を検知しているにも拘わらず前記異常検知ステップで前記動作の異常を検知している割合が少なくなったことに基づいて判定する請求項1に記載の異常検知方法。
- 観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習する学習手段と、
学習した前記正常動作モデルを記憶する正常動作モデル記憶手段と、
前記観察対象ソフトウエアの動作が、前記正常動作モデル記憶手段に記憶している前記正常動作モデルと一致するか否かに基づいて前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知手段とを備えてなる異常検知装置であって、
前記正常動作モデル記憶手段とは別に設けられて、予め前記観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを記憶する別の記憶手段と、
前記学習が予め定めた学習レベルに達するまで、前記別の記憶手段に記憶した前記解析正常動作モデルを用いて、前記観察対象ソフトウエアの動作が、正常であるか否かの判断を行い、前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知手段とを更に備え、
前記学習が予め定めた学習レベルに達するまでは、前記別異常検知手段の検知結果を利用し、併せて前記学習手段及び前記異常検知手段を動作させて、前記別異常検知手段で前記動作の正常を検知しているにも拘わらず前記異常検知手段で前記動作の異常を検知しているときには、そのときの前記動作に基づいて学習した前記正常動作モデルを前記正常動作モデル記憶手段に記憶し、
前記学習が予め定めた学習レベルに達した後は、前記異常検知手段の検知結果を利用することを特徴とする異常検知装置。 - 観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習し、学習した前記正常動作モデルを正常動作モデル記憶手段に記憶する学習機能と、
前記観察対象ソフトウエアの動作が、前記正常動作モデル記憶手段に記憶している前記正常動作モデルと一致するか否かに基づいて前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知機能とをコンピュータを用いて実現するために、コンピュータにおいて読み取り可能な異常検知用プログラムであって、
前記正常動作モデル記憶手段とは別の記憶手段に、前記学習ステップによらずに予め前記観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に記憶する機能と、
前記学習機能が予め定めた学習レベルに達するまでは、前記別の記憶手段に記憶した前記解析正常動作モデルを用いて、前記観察対象ソフトウエアの動作が、正常であるか否かの判断を行って、前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する別異常検知機能と、
前記学習機能が予め定めた学習レベルに達するまでは、前記別異常検知機能の検知結果を利用し、併せて前記学習機能及び前記異常検知機能を実現して、前記別異常検知機能で前記動作の正常を検知しているにも拘わらず前記異常検知機能で前記動作の異常を検知しているときには、そのときの前記動作に基づいて学習した前記正常動作モデルを前記正常動作モデル記憶手段に記憶させる機能とを更に前記コンピュータを用いて実現し、
前記学習機能が予め定めた学習レベルに達した後は、前記異常検知機能の検知結果を利用するように構成されていることを特徴とする異常検知用プログラム。 - 請求項7に記載のプログラムが記録された、コンピュータで読み取り可能な記録媒体。
- 観察対象ソフトウエアの動作が正常動作モデルと一致するか否かに基づいて前記観察対象ソフトウエアへの不正侵入による異常の発生を検知する異常検知に利用する正常動作モデルを作成するために、前記観察対象ソフトウエアに正常な動作を行わせることを継続して正常動作モデルを学習により生成する学習モデル生成方法であって、
前記学習によらずに、予め前記観察対象ソフトウエアの静的な解析に基づいて得た解析正常動作モデルを事前に作成し、
前記学習が予め定めた学習レベルに達するまでは、前記学習と併用して、前記解析正常動作モデルを利用した異常検知を実行し、
前記解析正常動作モデルを利用した異常検知が前記観察対象ソフトウエアの正常を検知しているにも拘わらず、前記学習による学習結果が異常を判定しているときには、そのときの前記正常動作モデルは正しいものと学習し、
前記解析正常動作モデルを利用した異常検知の結果と前記学習による学習結果との一致割合に基づいて、学習の進捗状況を判定することを特徴とする学習モデル生成方法。 - 前記一致割合が、予め定めた割合に達したときに、学習が終了したものと判定することを特徴とする請求項9に記載の学習モデル生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006311871A JP2008129714A (ja) | 2006-11-17 | 2006-11-17 | 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006311871A JP2008129714A (ja) | 2006-11-17 | 2006-11-17 | 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008129714A true JP2008129714A (ja) | 2008-06-05 |
Family
ID=39555483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006311871A Pending JP2008129714A (ja) | 2006-11-17 | 2006-11-17 | 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008129714A (ja) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011107883A (ja) * | 2009-11-16 | 2011-06-02 | Renesas Electronics Corp | デバッグ装置 |
JP2012501504A (ja) * | 2008-08-29 | 2012-01-19 | エーブイジー テクノロジーズ シーゼット、エス.アール.オー. | マルウェア検知のシステムおよび方法 |
RU2530222C1 (ru) * | 2013-02-12 | 2014-10-10 | Российская Федерация, от имени которой выступает Министерство обороны РФ | Устройство для моделирования двухканальных преобразователей |
JP2016106298A (ja) * | 2016-01-06 | 2016-06-16 | 横河電機株式会社 | プロセス制御装置及びシステム並びにその健全性判定方法 |
KR20160114037A (ko) * | 2013-09-12 | 2016-10-04 | 버섹 시스템즈, 인코포레이션 | 멀웨어의 자동화된 런타임 검출 |
US9507933B2 (en) | 2012-08-01 | 2016-11-29 | Mitsubishi Electric Corporation | Program execution apparatus and program analysis apparatus |
CN106384046A (zh) * | 2016-08-08 | 2017-02-08 | 青岛天龙安全科技有限公司 | 兼具动静态检测行动应用程序的方法 |
JP2017508210A (ja) * | 2014-02-07 | 2017-03-23 | サイランス・インコーポレイテッドCylance Inc. | 識別のためのアンサンブル機械学習を利用するアプリケーション実行コントロール |
WO2017221373A1 (ja) * | 2016-06-23 | 2017-12-28 | 三菱電機株式会社 | 侵入検知装置および侵入検知プログラム |
US9891603B2 (en) | 2013-07-24 | 2018-02-13 | Yokogawa Electric Corporation | Process control apparatus and system, and method for determining normality thereof |
JP2018513457A (ja) * | 2015-03-04 | 2018-05-24 | クアルコム,インコーポレイテッド | モノのインターネットデバイスの健全性の直接的および間接的ローカル監視を自動化するための挙動分析 |
WO2019188975A1 (ja) * | 2018-03-27 | 2019-10-03 | 日本電信電話株式会社 | 脅威情報評価装置、脅威情報評価方法およびプログラム |
US10846705B2 (en) | 2015-02-20 | 2020-11-24 | Qualcomm Incorporated | Automating customer service an internet of everything environment |
US11113407B2 (en) | 2014-06-24 | 2021-09-07 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
CN114625088A (zh) * | 2022-03-15 | 2022-06-14 | 广州明珞装备股份有限公司 | 自动化生产线的效能优化方法、系统、设备及存储介质 |
US11409870B2 (en) | 2016-06-16 | 2022-08-09 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
US11599634B1 (en) | 2006-02-09 | 2023-03-07 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
WO2023182795A1 (ko) * | 2022-03-23 | 2023-09-28 | 주식회사 엘지경영개발원 | 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법 |
US11882133B2 (en) | 2019-07-18 | 2024-01-23 | Mitsubishi Electric Corporation | Network security apparatus, network security system, and network security method |
US11899793B2 (en) | 2018-03-01 | 2024-02-13 | Nec Corporation | Information processing apparatus, control method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141315A (ja) * | 1993-11-16 | 1995-06-02 | Hitachi Ltd | ニューラルネット学習方法および装置 |
JP2006133992A (ja) * | 2004-11-04 | 2006-05-25 | Toshiba Corp | 異常データ検出装置、異常データ検出方法及び異常データ検出プログラム |
JP2006268775A (ja) * | 2005-03-25 | 2006-10-05 | Ntt Docomo Inc | ソフトウェア動作モデル化装置及びソフトウェア動作監視装置 |
-
2006
- 2006-11-17 JP JP2006311871A patent/JP2008129714A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141315A (ja) * | 1993-11-16 | 1995-06-02 | Hitachi Ltd | ニューラルネット学習方法および装置 |
JP2006133992A (ja) * | 2004-11-04 | 2006-05-25 | Toshiba Corp | 異常データ検出装置、異常データ検出方法及び異常データ検出プログラム |
JP2006268775A (ja) * | 2005-03-25 | 2006-10-05 | Ntt Docomo Inc | ソフトウェア動作モデル化装置及びソフトウェア動作監視装置 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599634B1 (en) | 2006-02-09 | 2023-03-07 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
JP2012501504A (ja) * | 2008-08-29 | 2012-01-19 | エーブイジー テクノロジーズ シーゼット、エス.アール.オー. | マルウェア検知のシステムおよび方法 |
JP2011107883A (ja) * | 2009-11-16 | 2011-06-02 | Renesas Electronics Corp | デバッグ装置 |
US9507933B2 (en) | 2012-08-01 | 2016-11-29 | Mitsubishi Electric Corporation | Program execution apparatus and program analysis apparatus |
RU2530222C1 (ru) * | 2013-02-12 | 2014-10-10 | Российская Федерация, от имени которой выступает Министерство обороны РФ | Устройство для моделирования двухканальных преобразователей |
US9891603B2 (en) | 2013-07-24 | 2018-02-13 | Yokogawa Electric Corporation | Process control apparatus and system, and method for determining normality thereof |
JP7046111B2 (ja) | 2013-09-12 | 2022-04-01 | ヴァーセック・システムズ・インコーポレーテッド | マルウェアのランタイム中の自動検出 |
JP2016534479A (ja) * | 2013-09-12 | 2016-11-04 | ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. | マルウェアのランタイム中の自動検出 |
KR20160114037A (ko) * | 2013-09-12 | 2016-10-04 | 버섹 시스템즈, 인코포레이션 | 멀웨어의 자동화된 런타임 검출 |
JP2020095753A (ja) * | 2013-09-12 | 2020-06-18 | ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. | マルウェアのランタイム中の自動検出 |
KR102368170B1 (ko) * | 2013-09-12 | 2022-02-25 | 버섹 시스템즈, 인코포레이션 | 멀웨어의 자동화된 런타임 검출 |
US11146572B2 (en) | 2013-09-12 | 2021-10-12 | Virsec Systems, Inc. | Automated runtime detection of malware |
JP2017508210A (ja) * | 2014-02-07 | 2017-03-23 | サイランス・インコーポレイテッドCylance Inc. | 識別のためのアンサンブル機械学習を利用するアプリケーション実行コントロール |
US11113407B2 (en) | 2014-06-24 | 2021-09-07 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
US10846705B2 (en) | 2015-02-20 | 2020-11-24 | Qualcomm Incorporated | Automating customer service an internet of everything environment |
JP2018513457A (ja) * | 2015-03-04 | 2018-05-24 | クアルコム,インコーポレイテッド | モノのインターネットデバイスの健全性の直接的および間接的ローカル監視を自動化するための挙動分析 |
JP2016106298A (ja) * | 2016-01-06 | 2016-06-16 | 横河電機株式会社 | プロセス制御装置及びシステム並びにその健全性判定方法 |
US11409870B2 (en) | 2016-06-16 | 2022-08-09 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
CN109313686A (zh) * | 2016-06-23 | 2019-02-05 | 三菱电机株式会社 | 入侵检测装置和入侵检测程序 |
KR101972295B1 (ko) | 2016-06-23 | 2019-04-24 | 미쓰비시덴키 가부시키가이샤 | 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램 |
KR20190002712A (ko) * | 2016-06-23 | 2019-01-08 | 미쓰비시덴키 가부시키가이샤 | 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램 |
JP6400255B2 (ja) * | 2016-06-23 | 2018-10-03 | 三菱電機株式会社 | 侵入検知装置および侵入検知プログラム |
WO2017221373A1 (ja) * | 2016-06-23 | 2017-12-28 | 三菱電機株式会社 | 侵入検知装置および侵入検知プログラム |
CN106384046A (zh) * | 2016-08-08 | 2017-02-08 | 青岛天龙安全科技有限公司 | 兼具动静态检测行动应用程序的方法 |
US11899793B2 (en) | 2018-03-01 | 2024-02-13 | Nec Corporation | Information processing apparatus, control method, and program |
JP2019174988A (ja) * | 2018-03-27 | 2019-10-10 | 日本電信電話株式会社 | 脅威情報評価装置、脅威情報評価方法およびプログラム |
WO2019188975A1 (ja) * | 2018-03-27 | 2019-10-03 | 日本電信電話株式会社 | 脅威情報評価装置、脅威情報評価方法およびプログラム |
US11882133B2 (en) | 2019-07-18 | 2024-01-23 | Mitsubishi Electric Corporation | Network security apparatus, network security system, and network security method |
CN114625088A (zh) * | 2022-03-15 | 2022-06-14 | 广州明珞装备股份有限公司 | 自动化生产线的效能优化方法、系统、设备及存储介质 |
CN114625088B (zh) * | 2022-03-15 | 2024-02-02 | 广州明珞装备股份有限公司 | 自动化生产线的效能优化方法、系统、设备及存储介质 |
WO2023182795A1 (ko) * | 2022-03-23 | 2023-09-28 | 주식회사 엘지경영개발원 | 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008129714A (ja) | 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 | |
JP4732874B2 (ja) | ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法 | |
KR102025556B1 (ko) | 처리 장치, 추적 유닛 및 진단 장치 | |
JP5090661B2 (ja) | ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法 | |
CN111291384B (zh) | 漏洞扫描方法、装置及电子设备 | |
US10585668B2 (en) | Processor testing using randomly generated branch instructions | |
US20150006961A1 (en) | Capturing trace information using annotated trace output | |
CN109635568B (zh) | 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 | |
JP4913353B2 (ja) | ソフトウェア動作モデル化装置及びソフトウェア動作監視装置 | |
CN106709335B (zh) | 漏洞检测方法和装置 | |
KR102075345B1 (ko) | 퍼징 수행 시스템, 퍼징용 실행 흐름 정보 추출 장치 및 방법 | |
CN107291617B (zh) | 一种基于隐式污点传播的漏洞分析方法 | |
CN109445877B (zh) | 一种检测游戏服务器多线程使用同一虚拟机的方法 | |
KR101217668B1 (ko) | 악성 프로그램 후킹 방지 장치 및 방법 | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
JP2016167180A (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
Dhatchayani et al. | Test Case Generation and Reusing Test Cases for GUI Designed with HTML. | |
KR101961379B1 (ko) | 자가 적응형 로봇 시스템 및 그의 오류 검출 방법 | |
CN102799517B (zh) | 一种快速的循环扩展检测方法 | |
CN111796911A (zh) | 一种面向云平台虚拟设备的攻击检测方法及电子装置 | |
JP2008090699A (ja) | トレースロギング方法、装置及びプログラム | |
JP2008262473A (ja) | 設備保全管理システム | |
CN114640507B (zh) | 一种WebShell的检测方法、装置及存储介质 | |
CN106791823B (zh) | 一种设备零码流故障处理方法、装置及电子设备 | |
CN116415255A (zh) | 一种系统漏洞检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120410 |