JP2008021274A - プロセス監視装置及び方法 - Google Patents
プロセス監視装置及び方法 Download PDFInfo
- Publication number
- JP2008021274A JP2008021274A JP2006198574A JP2006198574A JP2008021274A JP 2008021274 A JP2008021274 A JP 2008021274A JP 2006198574 A JP2006198574 A JP 2006198574A JP 2006198574 A JP2006198574 A JP 2006198574A JP 2008021274 A JP2008021274 A JP 2008021274A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- static
- dynamic attribute
- dynamic
- current
- 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
Abstract
【課題】未知の不正なプログラムに基づいて動作する不正なプロセスを検出する。
【解決手段】コンピュータ上で動作しているプロセスの現在の静的属性を取得するプロセス監視部11と、静的属性に基づいて要注意プロセスを抽出する静的属性処理部14と、要注意プロセスの現在の動的属性を取得する動的属性取得部17と、過去の動的属性を記憶する動的属性DB37と、過去の動的属性と現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定する動的属性処理部21と、弁別が可能である場合は、当該要注意プロセスについて警報を発する表示制御部23と、を備える。
【選択図】図1
【解決手段】コンピュータ上で動作しているプロセスの現在の静的属性を取得するプロセス監視部11と、静的属性に基づいて要注意プロセスを抽出する静的属性処理部14と、要注意プロセスの現在の動的属性を取得する動的属性取得部17と、過去の動的属性を記憶する動的属性DB37と、過去の動的属性と現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定する動的属性処理部21と、弁別が可能である場合は、当該要注意プロセスについて警報を発する表示制御部23と、を備える。
【選択図】図1
Description
本発明は、ウィルスソフトなどの不正なプログラムに関連する不正なプロセスを検出する技術に関し、特に未知の不正プログラムによる不正プロセスを検出する技術に関する。
従来、コンピュータウィルスやワームなどの不正なプログラムの検出手法として、定義ファイルを用いるものが広く用いられている。そして定義ファイルを用いた手法では、既に知られているウィルスの検出には一定の効果があるが、未知のウィルスや既知のウィルスをわずかに変えた変種ウィルスの検出が困難であることが知られている。
また、未知のウィルス検出のための手法としては、ヒューリスティック法が知られていて、これを応用したウィルス検出手法が、例えば特許文献1に記載されている。
特開2003−186687号公報
従来の定義ファイルを用いたウィルス検出手法では、まったく未知のウィルスや、定義ファイルの更新を怠った場合などには、ウィルスに感染してしまうという問題がある。この結果、感染したコンピュータ内でのデータ破壊や、そのコンピュータからの情報漏洩などの甚大な被害をもたらすこともある。
また、ヒューリステック法は、何らかの問題が発生したときに、その発生した問題に対して重み付けを行い、それを加算することによって評価を決定する手法である。従って、この手法の場合、問題の発生する頻度によっては、急速に重みが加算されて、その評価が短絡的に決定されてしまうことになり、その結果、ローカルミニマム問題が生じる。
さらに、ヒューリステック法は、保存場所や所定の動作が明確に判明している既知のファイルなどに対して適用することは可能だが、どこで、どのような動作を行うかがまったく予想できない未知の不正プログラムに対しては有効ではない。
そこで、本発明の目的は、未知の不正なプログラムに基づいて動作する不正なプロセスを検出するための技術を提供することである。
本発明の一実施態様に従うプロセス監視装置は、コンピュータ上で動作しているプロセスの現在の静的属性を取得する手段と、前記静的属性取得手段により取得された現在の静的属性に基づいて、不正プロセスの可能性がある要注意プロセスを抽出する静的属性判定手段と、前記静的属性判定手段により抽出された要注意プロセスの現在の動的属性を取得する手段と、予め取得されている、前記要注意プロセスの過去の動的属性を記憶する動的属性記憶手段と、前記要注意プロセスに関する、前記動的属性記憶手段に記憶されている過去の動的属性と、前記動的属性取得手段により取得された現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定する動的属性判定手段と、前記動的属性判定手段が前記過去の動的属性と前記現在の動的属性との弁別が可能である場合は、当該要注意プロセスについて警報を発する警報手段と、を備える。
好適な実施形態では、予め取得されている、前記コンピュータ上で動作しているプロセスの過去の静的属性を記憶する静的属性記憶手段をさらに備え、前記静的属性判定手段は、前記静的属性記憶手段に記憶されている前記過去の静的属性と、前記取得手段により取得された前記現在の静的属性とを比較して、静的属性の変化を検出する変化判定手段を備えてもよい。そして、この場合に、前記変化判定手段は、静的属性の変化が検出された場合に、当該プロセスを要注意プロセスと判定する。
好適な実施形態では、予め定められた、プロセスの静的属性に関する異常性判定条件を記憶した異常判定条件記憶手段をさらに備え、前記静的属性判定手段は、前記変化判定手段で要注意プロセスと判定されたプロセスについて、前記現在の静的属性と、前記異常性判定条件記憶手段に記憶された前記異常性判定条件とを対比して異常性の有無を判定する異常判定手段をさらに備えてもよい。そして、前記異常判定手段は、前記異常性判定により異常性があると判定したプロセスを、不正プロセスとして、前記要注意プロセスから除外し、前記警報手段は、前記異常判定手段で不正プロセスとされたプロセスについて警報を発するようにしてもよい。
好適な実施形態では、前記動的属性取得手段により取得された、前記要注意プロセスの動的属性に基づいて、当該要注意プロセスと所定の関連性がある関連プロセスを抽出する手段をさらに備えてもよい。そして、前記動的属性取得手段は、前記関連プロセスの現在の動的属性を取得し、前記動的属性判定手段は、前記関連プロセスについて判定を行うようにしてもよい。
好適な実施形態では、予め定められた、プロセスの動作を制限するための動作制限条件を記憶した動作制限記憶手段と、前記静的属性判定手段において要注意プロセスとされなかった正常プロセスが、前記動作制限条件を満たすときは、当該正常プロセスの動作を制限する動作制限手段と、さらに備えてもよい。
好適な実施形態では、前記動作制限条件は、前記監視対象のコンピュータ上で動作することが制限されるプロセスの静的属性及び動作制限の内容を含み、前記動作制限手段は、前記正常プロセスの現在の静的属性と前記動作制限条件とが合致する場合に、指定された内容の動作制限を行うようにしてもよい。
好適な実施形態では、前記警報手段が発した警報に対して、当該警報に係る要注意プロセスの動作を停止させるか、または動作の継続を承認するか、の少なくともいずれか一方に関するユーザ入力を受け付ける受付手段をさらに備えていてもよい。
好適な実施形態では、前記プロセスの静的属性は、プロセスに係るプログラムの起動場所、プロセスに係るプログラムの作成時に関する情報、プロセスに係るプログラムのサイズ、プロセスに係るプログラム呼び出しに関する親子リレーション(親プロセス名)、プロセスに係るプログラムのパリティ、及びプロセスに係るプログラムの公開された呼び出し関数のうちの少なくとも一つ以上を含むものでもよい。
好適な実施形態では、前記プロセスの動的属性は、プロセスのスレッド数、プロセスのメモリの使用状態、プロセスのリダイレクタの送受信状態、プロセスのハードディスクのアクセス状態及びプロセスのCPUの使用状態のうちの少なくとも一つ以上を含むものでもよい。
以下、本発明の一実施形態に係る不正プロセスの検出装置について、図面を参照して説明する。
図1は、本発明の一実施形態に係る不正プロセスの検出装置の機能構成を示す図である。
本実施形態に係る不正プロセスの検出装置1は、コンピュータで実行されるプログラム及びプログラムが起動するプロセスの状態を監視して、監視対象のコンピュータで動作している不正なプロセス、あるいは、不正と疑わしいプロセスを検出する。本明細書では、プロセスを、その異常性の程度に応じて以下のように分類する。すなわち、異常性が極めて高く、不正なプログラムによる影響を受けたことが明らかであるプロセスを不正プロセス、異常性がないプロセスを正常プロセス、ある程度異常性があるものの、不正プロセスとは断定できないプロセスを要注意プロセスと呼ぶ。
本実施形態に係る不正プロセスの検出装置1は、例えば汎用的なコンピュータシステムで、所定のコンピュータプログラムを実行することにより実現される。このとき、監視対象となっているコンピュータと同一コンピュータ上に実現してもよい。
本検出装置1は、プロセス監視部11と、プロセス変化判定部13及び異常判定部15を含む静的属性処理部14と、動的属性取得部17と、動的属性処理部21と、表示制御部23と、プロセス起動制御部25と、プロセス分析部27とを備える。さらに本検出装置1は、所定の情報を蓄積する記憶手段として、プロセス履歴データベース31と、プロセスの静的属性データベース33と、異常判定条件データベース35と、プロセスの動的属性データベース37と、プログラムの動作制限条件データベース41と、監視対象プロセス記憶部43と、プロセス特性データベース45とを備える。
プロセス監視部11は、コンピュータ内で動作しているプログラムにより実行される処理(以下、プロセスという)を監視する。例えば、プロセス監視部11は、コンピュータで実行されたプロセスに関する種々の情報を、各プロセスの起動時、あるいは、動作している任意のタイミングで取得する。ここでは、通常のOSの機能では表示されないプロセスも監視対象とすることができる。そして、現在実行中のプロセスについて、プロセス監視部11が取得したプロセスに関する情報を、所定の表示装置やプリンタなどに出力することができる。
ここで、プロセス監視部11が取得するプロセスに関する情報には、例えば、後述するプロセスの静的属性及び動的属性などが含まれる。
また、プロセス監視部11は、特に監視対象プロセス記憶部43に登録されているプロセスを重点監視対象として監視する。つまり、プロセス監視部11は、重点監視対象のプロセスについては、その起動時のみならず、動作中も定期的に情報を収集する。一方、監視対象プロセス記憶部43に登録されていないプロセスについては、プロセス監視部11は、各プロセスの起動時にそのプロセスに関する情報を収集する。
プロセス履歴データベース31には、プロセス監視部11が取得したプロセスに関する情報が蓄積される。プロセス履歴データベース31に格納された履歴情報は、プロセスヒストリーとして所定の表示装置やプリンタなどに出力することができる。
図2は、プロセス履歴データベース31のデータ構造の一例を示す。すなわち、プロセス履歴データベース31は、例えば、データ項目として、プロセス名311、このプロセスに係るプログラムのメーカ名312、プログラム(ソフトウェア)名313、プログラムのバージョン314、このプロセスを起動した親プロセス名315、このプロセスの起動時刻316,終了時刻317,コンピュータ上での起動場所318、及びプロセスサイズ319を含む。
プロセスの静的属性データベース33は、プロセス監視部11が取得したプロセス情報のなかの静的属性を記憶する。ここで、プロセスの静的属性とは、例えば、そのプロセスに係るプログラムに関する起動場所、作成時情報、プログラムサイズ、プログラム呼び出しに関する親子リレーション(親プロセス名)、パリティ、及び公開された呼び出し関数などを含む。
図3は、静的属性データベース33のデータ構造の一例を示す。すなわち、静的属性データベース33は、例えば、データ項目として、プロセス名331、このプロセスに係るプログラムのメーカ名332、プログラム(ソフトウェア)名333、バージョン334、このプロセスを起動した親プロセス名335、及びプロセスサイズ3336を含む。静的属性データベース33の各項目は、後述するプロセス変化判定部12で正常と判定されたプロセスについては、自動的に更新される。
静的属性処理部14は、プロセス変化判定部13及び異常判定部15を含む。静的属性処理部14は、各プロセスの現在の静的属性に基づいて、要注意プロセスを抽出する。プロセス変化判定部13及び異常判定部15の詳細な処理を以下に説明する。
プロセス変化判定部13は、実行中のプロセスの静的属性と、過去において取得した同一プロセスの静的属性とを対比し、現在の静的属性が過去の静的属性から変化しているか否かを判定する。
例えば、監視しているコンピュータでプロセスが起動されると、まず、プロセス監視部11が起動時にそのプロセスの静的属性を取得する。そして、プロセス変化判定部13は、静的属性データベース33に格納されている過去の静的属性と、新たに取得された現在の静的属性とを比較する。
この比較の結果、静的属性が変更されていれば、プロセス変化判定部13は、そのプロセスを要注意プロセスとして、異常判定部15に対して要注意プロセスの現在の静的属性を通知する。これは、ウィルスに感染すると、プロセスの静的属性が変化する場合もあるので、静的属性が変化したプロセスは不正プロセスである可能性が高いからである。
一方、静的属性が変更されていなければ、プロセス変化判定部13は、そのプロセスを正常プロセスと判断し、プロセス監視部11が取得した現在のプロセスの情報に基づいて、プロセス履歴データベース31及び静的属性データベース33を更新する。
ここで、プロセス変化判定部13は、新たにインストールされたプログラムを始めて起動した時に発生したプロセス(以下、新規プロセスという)のように、静的属性データベース33に過去の静的属性が記憶されていないプロセスについては、まず、プロセス監視部11が取得した現在のプロセスの情報を、プロセス履歴データベース31及び静的属性データベース33に格納する。さらに、プロセス変化判定部13は、要注意プロセスの場合と同様に、新規プロセスの現在の静的属性を異常判定部15へ通知する。
さらに、プロセス変化判定部13は、親プロセスが発見できないプロセスや、外部プロセスが親プロセスとなっているプロセスも要注意プロセスとして抽出する。
動作制限条件データベース41には、監視対象のコンピュータでの動作制限に関する条件が記憶されている。動作制限条件データベース41には、監視対象のコンピュータで動作が制限されるプログラム及び制限される動作の内容が予め記憶されている。
例えば、動作制限条件データベース41には、監視対象のコンピュータへのインストール、または実行が完全に禁止されているプログラムの属性など、そのプログラムを特定するための情報が予め登録されている。従って、動作制限条件データベース41には、既知のウィルスなどの不正プログラムや、管理者が許可しないプログラムの属性情報などを予め登録しておくことができる。また、動作制限条件データベース41には、プログラムを特定する情報とともに、動作制限の内容として、動作を許可または禁止する一定の動作条件を記憶してもよい。例えば、プログラムの属性と、そのプログラムの動作条件(例えば、動作が許可または禁止される時間帯、曜日、期間など)を動作制限条件データベース41に登録することもできる。
プロセス起動制御部25は、プロセス変化判定部13で正常プロセスと判定されたプロセスについて、そのプロセスの動作を許可するか否かを判定する。
例えば、プロセス起動制御部25は、正常プロセスが、動作制限条件データベース41に格納されている動作制限の条件を満たすか否かを判定する。そして、その条件を満たすときは、プロセス起動制御部25が、動作制限条件データベース41で指定されている内容の動作制限を行う。例えば、完全に動作が禁止されているプログラムに係るプロセスが起動されたときは、プロセス起動制御部25がその起動を強制的に停止し、所定期間だけ動作が禁止されているプログラムに係るプロセスが起動されたときは、その期間内であればプロセス起動制御部25がその起動を強制的に停止する。
異常判定条件データベース35には、プロセスの静的属性の異常性を判定するための条件が予め記憶されている。この異常性判定条件は、プロセスが明らかに異常であると判定されるような条件である。
例えば、異常判定条件データベース35には、プロセスの起動場所、プロセスの呼出関数、及びプロセスの呼出リレーション(親プロセス)などについて、それぞれ不正プロセスと判定される所定の条件が記憶されている。この所定の条件とは、例えば、プロセスの起動場所として通常ではあり得ない場所、プロセスの呼出関数として通常ではあり得ない関数、プロセスの呼出リレーション(親プロセス)として通常ではあり得ない呼出リレーションなどである。また、異常判定条件データベース35には、プロセスサイズ、パリティ、作成時情報、あるいは親子リレーションなどについて、過去の履歴に基づいて、各プロセス別に不正プロセスとみなせる条件を異常判定条件として記憶しておいてもよい。なお、この不正プロセスとみなせる条件は、所定の範囲を示すもの(例えば、プロセスサイズ○○以上など)であってもよい。
異常判定部15は、プロセス変化判定部13から通知を受けた要注意プロセスの静的属性を異常判定条件データベース35に格納されている異常判定条件と比較して、そのプロセスが不正プロセスであるか否かを判定する。つまり、要注意プロセスの静的属性が異常判定条件に合致する場合は、異常判定部15は、その要注意プロセスを不正プロセスと判定し、表示制御部23へ通知する。
ここで、異常判定条件は、明らかに不正プロセスであると断定できるような条件を設定しているので、これに合致する不正プロセスは要注意プロセスから除外される。従って、明らかな不正プロセスが除外された要注意プロセスが、以下に説明する動的属性を用いた検証の対象となる。
動的属性取得部17及び動的属性処理部21による動的属性を用いた検証は、静的属性を用いた判定により明らかに正常、または明らかに異常と判定されたプロセスを除く要注意プロセスについて行う。動的属性取得部17及び動的属性処理部21の詳細な処理を以下に説明する。ここで、動的属性とは、例えば、プロセスのスレッド数、プロセスによるメモリの使用状態、プロセスによるリダイレクタの送受信状態、プロセスによるハードディスクのアクセス状態及びプロセスによるCPUの使用状態などの各プロセスに関して動的に変化する属性を言う。
動的属性取得部17は、要注意プロセスの動的属性及びシステム全体の動的情報などを取得する。すなわち、動的属性取得部17は、着目している要注意プロセスの起動時、あるいは着目している要注意プロセスが動作している任意のタイミングで、そのプロセスの動的属性および、システム全体の動的情報を取得する。ここで取得した要注意プロセスの動的属性及びシステム全体の動的情報は、動的属性データベース37に格納する。
動的属性データベース37は、動的属性取得部17が取得した動的情報の実データを保存する動的属性テーブル371と、後述する統計処理による解析後の特徴となる相関指数などを保存する解析テーブルとを有する。
図4は、動的属性テーブル371のデータ構造の一例を示す。すなわち、動的属性テーブル371は、例えば、データ項目として、プロセス名3711,プロセスのスレッド数3712、親子リレーション上の起動時間3713、親子リレーション上のプロセスの動的専用メモリの割り当てバイト数3714、親子リレーション上のプロセスの動的共有メモリの割り当てバイト数3715、親子リレーション上のプロセスの仮想アドレスのバイト数3716、リダイレクタの送信トラフィック率(バイト数/秒)3717、リダイレクタの受信トラフィック率(バイト数/秒)3718、ハードディスクのアクセス率3719、CPU負荷率3720及びこれらのデータの取得日時3721を有する。
なお、要注意プロセスが新規プロセスの場合、それ以前には動的属性取得部17にその新規プロセスの動的属性は格納されていない。従って、新規プロセスが起動されたときに、動的属性データベース37に始めて動的属性が格納される。ここで、少なくとも新規プロセスのときは、このプロセスは正常な状態で動作しているものと考えられるので、以下の処理では、新規プロセス起動時に取得した動的属性を正常状態の動的属性として扱う。
動的属性処理部21は、動的属性データベース37に格納されている動的属性に基づいて、要注意プロセスについて解析を行う。例えば、動的属性処理部21は、現在及び過去の動的属性を、回帰分析、相関分析、非線形解析、ホワイトノイズ検定など統計的な手法を用いて、要注意プロセスの異常性について分析する。
ここで、要注意プロセスが新規プロセスの場合、過去の動的属性との対比ができないので、現在の動的属性が、不正プロセスとみなされる所定の判定条件に合致するか否かにより判定する。この判定条件は、例えば、動的属性の各項目の値が通常ではあり得ないような値以上というようなものである。
動的属性処理部21は、要注意プロセスが不正プロセスである可能性が高い、つまり要注意プロセスの異常性が高いと判定したときは、そのプロセスの識別情報を表示制御部23へ通知する。一方、ここで異常性がそれほど高くはないと判定されたときもまた、表示制御部23へ通知し、監視対象とするか否かをユーザに判定させる。
なお、後述するように、ユーザが継続して監視する対象のプロセスとして指定したときは、プロセス名などが監視対象プロセス記憶部43に登録される。
また、動的属性処理部21は、監視対象となるプロセスの範囲を広げるようにしてもよい。つまり、新規プロセスまたは要注意プロセスと所定の関連性を有する関連プロセスを抽出し、これを監視対象プロセスとして監視対象プロセス記憶部43に追加登録してもよい。これは、コードインジェクションタイプのウィルスのように、コードの一部が書き換えられたプロセスの場合、そのプロセスそのものは目立った不正な動きをしないが、そのコードの一部が書き換えられたプロセスから起動される子プロセス(あるいは見かけ上は親子関係がない隠された子プロセス)が不正な動きを行う場合があるので、そのような子プロセス等も監視対象とするためである。
ここで、所定の関連性を持つプロセスとは、例えば、明確な親子リレーションがあるプロセスの他、明確な親子リレーションがない場合であっても、監視対象プロセスが動作するときに常に起動されるものなど、監視対象プロセスと何らかの関連を持って動作するプロセスを言う。
動的属性処理部21は、さらに、新規プロセス以外の要注意プロセスについて、過去の動的属性において、統計上の論理的な相関関係があるか否かを分析したり、ある時期からの明らかな特性変化の有無を判定したりすることにより、要注意プロセスの異常性の高さを判定する。
例えば、動的属性処理部21が動的属性データベース37を参照し、要注意プロセスの動的専用メモリバイト数3714、動的共有メモリバイト数3715、リダイレクタの送信、受信トラフィック率3717,3718、及びハードディスクアクセス率3719などについて、新規プロセスのときに取得したデータから直近までのデータを取得する。そして、動的属性処理部21は、取得した各データを解析し、ある項目のデータがある時点で急激に増加したりするような特性変化があるか否かを判定する。何らかの特性変化があれば、そのプロセスは不正なプロセスである可能性が高い。
例えば、ある時点からリダイレクタの送信トラフィック数3717が著しく増加しているようなときは、そのプロセスはその時点より以前に、何らかの不正なプログラムによる影響を受けたものであり、その異常性は高いと考えられる。
あるいは、要注意プロセスがワープロソフトのプロセスであった場合、通常であれば、ネットワークの送信をあらわすリダイレクタの送信トラフィック率3717と相関関係が生じることはあり得ない。なぜならば、ワープロソフトには通常通信機能がないからである。それにもかかわらず、例えば回帰分析を行うことで、ワープロソフトのプロセスがリダイレクタの送信トラフック率3717と明らかな相関関係あることがわかれば、このワープロソフトのプロセスは不正なプロセスである可能性が高い。
また、動的属性処理部21は、以下のような処理を行うようにしてもよい。すなわち、動的属性データベース37には、要注意プロセスについて、正常時に取得した動的属性と、要注意プロセスとして監視対象となった後に取得された動的属性とが記憶されている。そこで、動的属性処理部21は、正常時動的属性と監視対象となった後の動的属性とを統計的な手法を用いて解析する。そして、動的属性処理部21は、正常時と監視対象となった後の動的属性が所定の有意水準以上の相違を示すなど、両動的属性が弁別可能であるか否かを判定する。
正常時と監視対象となった後の動的属性の弁別が可能であれば、監視対象となった後のプロセスは、正常時とは異なる特徴を有するのであり、異常性が高いと考えることができる。
ここで、正常時の動的属性と監視対象となった後の動的属性とを統計処理する場合の一例を、図5を用いて説明する。
まず、同図に示すように、動的属性データベース37には、正常時の動的属性データとしてデータ群1と、監視対象となった後に取得した動的属性データとしてデータ群2〜nとが記憶されている。各データ群のサンプル数は500とする。ここでは、動的属性のデータ項目は、リダイレクタの送信トラフィック率3717を用いて解析をする。
動的属性処理部21は、これらのデータを用いて回帰分析を行う。その結果が、例えば、同図に示すようになったとする。すなわち、データ群1の個別のデータ(x1n,y1n)をy1n=α1+β1x1n+ε1nで示したときに、誤差1nεが正規分布に従えば、データ群1は回帰直線1(y=α1+β1x)に回帰する。また、データ群2〜nについては、同様にして回帰直線2(y=α2+β2x)に回帰する。ここで、回帰直線1,2の切片α及び傾きβは、それぞれ異なる(α1≠α2,β1≠β2)。
これよりわかることは、まず、データ群2〜nは同じ直線に回帰されるので、同一の傾向を示すものであり、共通のカテゴリに分類されるものである。一方で、データ群1は、データ群2〜nとは異なる直線に回帰するので、データ群2〜nが示す傾向とは異なる傾向を示すものであり、データ群2〜nが分類されるカテゴリには属さないと理解することができる。従って、データ群1とデータ群2〜nとは、弁別可能である。
本実施形態によれば、静的属性などでは正常な状態と明確に弁別できないような異常性を有するプロセスであっても、そのプロセスが動作しているときの状態を示す動的属性を収集し、これを統計的手法を用いて分析することにより、弁別することが可能となる。
表示制御部23は、異常判定部15及び動的属性処理部21などで不正プロセスとみなされたプロセス、あるいは要注意プロセスとして検出されたプロセスについて、警報を出力し、ユーザに報知する。これにより、ユーザは、不正プロセスあるいは不正プロセスとまでは断定できない警戒すべき要注意プロセスを知ることができる。
例えば、表示制御部23は、例えば図6に示すような不正プロセス及び要注意プロセスを含む、異常と思われるプロセスの一覧画面100を表示し、ユーザからの指示を受け付ける。
このプロセス一覧100は、同図に示すように、不正プロセス及び要注意プロセスに関する情報110を表示し、対策の受付領域120で対策の入力を受け付ける。また、この画面を表示するときに、表示制御部23は、ユーザに対して推奨する対策130を併せて提示してもよい。例えば、システム領域のソフトウェアに影響を与えるプロセスについては、そのプロセスの「停止」を推奨し、異なったソフトウェアに変化してしまっているプロセスは、再インストールを推奨するようにしてもよい。
ここで、ユーザによって、対策として「許可」が選択されると、そのプロセスは継続的に動作することが許可される。また、対策として「継続監視」が選択されると、そのプロセスは監視対象プロセス記憶部43に登録され、重点監視対象プロセスとなる。さらに、対策として「停止」が選択されると、そのプロセスは、プロセス起動制御部25により強制的に停止させられる。
なお、プロセス一覧100において、不正プロセス及び要注意プロセスの異常性の度合いに応じて色を変えるなど、異なる表示態様で表示してもよい。
また、表示制御部23は、図7に示すような動作制限の登録を受け付けるための受付画面200を表示させる。受付画面200は、同図に示すように、動作制限に係るプログラムに関する情報の入力領域210と、動作制限の内容の入力領域220とを備える。受付画面200で入力された情報は、動作制限条件データベース41に格納される。
また、表示制御部23は、不正プロセスまたは要注意プロセスについて、プロセス分析部27に分析を依頼してもよい。このとき、表示制御部23は、分析結果に応じてユーザに対する警報の態様を変えてもよい。
プロセス分析部27は、プロセス特性データベース45に予め記憶されている、その依頼を受けたプロセスの特性を取得し、その特性を勘案してそのプロセスの異常性の高さを判定する。例えば、プロセス分析部27は、依頼を受けたプロセスが、本来システム起動時にしか動作しない特性のプロセスであるにもかかわらず、1時間おきに動作しているような場合には、タイマーによって意図的に動かされていると考えられるので、異常性が高いと判定する。
この場合には、表示制御部23は、そのプロセスの異常性が高いことを知らせるために、プロセス一覧100において、他のプロセスとは異なる表示態様で表示するようにしてもよい。
この他、表示制御部23は、プロセス履歴データベース31に格納されている情報に基づいて、プロセスの動作状態(ソナーチャート、プロセスヒストリー)、あるいはプロセスの親子関係(プロセスツリー)を表示させたり、プロセス監視部11が取得した現在のプロセスの状況をリアルタイムで表示させたり(プロセスモニタ)することができる。
例えば、図8は、プロセスの動作状態を時系列に表示したソナーチャート300の一例を示す。
同図に示すソナーチャート300は、円周方向に時間軸、半径方向にプロセスの動作領域を示し、それぞれの点が一つのプロセスの起動を示す。プロセスの動作領域は、中心に近い領域から順に、システムソフトウェア領域310、標準プログラム領域320、その他ハードディスク領域330、及び外部・ネットワーク領域340である。
このソナーチャート300により、プロセスの起動のタイミングが共通化しているプロセスを容易に発見できる。
例えば、図9は、ソナーチャート300で親子関係にあるプロセスを表示したプロセスツリー400の一例を示す。
プロセスツリー400は、選択されたプロセスについて、そのプロセスと親子関係にあるプロセスのみを表示する。これにより、親子関係が隠されているまたは発見できないプロセスは、単独の点として表示される。
以上で説明したような構成を備える不正プロセス監視装置における処理手順の一例を、図10のフローチャートを用いて説明する。
まず、監視対象のコンピュータにおいて、プロセスが新たに起動されたとき、あるいは、監視対象プロセス記憶部43に登録されているプロセスが動作しているときに、プロセス監視部11は、それらのプロセスに関する動的属性及び静的属性などを取得する(S11)。
次に、プロセス変化判定部13が、ここで取得されたプロセスの静的属性と、静的属性データベース33に格納されている静的属性とを比較し、監視しているプロセスの静的属性に変化があったか否かを判定する(S12)。
ここで、静的属性に変化がないときは(S12:変化なし)、プロセス起動制御部25が、そのプロセスについて、現時点で停止させるべき動作制限が設定されているか否かを、動作制限条件データベース41を参照して判定する(S21)。
そして、そのプロセスが、現時点で停止させるべき動作制限が設定されているプロセスであれば(S21:Yes)、プロセス起動制御部25がそのプロセスを強制的に停止させる(S22)。一方、そのプロセスに、現時点での動作制限がなければ(S21:No)、プロセス監視部11が取得した情報に基づいてプロセス履歴データベース31及び静的属性データベース33を更新し、処理を終了する(S23)。
また、ステップS12で静的属性に変化があるとき、または対象のプロセスが新規プロセスであるときは、そのプロセスを要注意プロセスとして以下の処理が行われる。すなわち、異常判定部15が、そのプロセスの静的属性を異常判定条件データベース35と比較して、静的属性を用いた異常性判定を行う(S13)。
ここで、対象のプロセスの静的属性が異常判定条件に合致すれば、表示制御部23がそのプロセスを不正プロセスとして警報を発する(S25)。
一方、対象のプロセスの静的属性が異常判定条件に合致しない場合は、動的属性取得部17が対象プロセスの動的属性を取得し、動的属性データベース37へ格納する(S14)。
そして、動的属性処理部21が、動的属性を用いた異常性の判定を行って、対象プロセスが明らかな不正プロセスであるか否かを判定する(S15)。
ここで、要注意プロセスが明らかな不正プロセスであるときは、表示制御部23がそのプロセスを不正プロセスとして警報を発する(S25)。
一方、要注意プロセスが明らかな不正プロセスとは断定できないときは、動的属性処理部21が、要注意プロセスの関連プロセスを抽出し、監視対象プロセス記憶部43に登録する(S16、S17)。
また、動的属性処理部21は、動的属性データベース37を参照して、要注意プロセスの動的属性について統計処理を行う(S18)。この処理により、要注意プロセスの中で異常性が高いと判定されたプロセスは(S19:Yes)、ユーザに対して報知される(S27)。ここで、異常性が高いとは判定されなかったプロセスについても、要注意プロセスとしてユーザに報知してもよい。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
1 不正プロセス検出装置
11 プロセス監視部
12 プロセス変化判定部
13 プロセス変化判定部
14 静的属性処理部
15 異常判定部
17 動的属性取得部
21 動的属性処理部
23 表示制御部
25 プロセス起動制御部
27 プロセス分析部
31 プロセス履歴データベース
33 静的属性データベース
35 異常判定条件データベース
37 動的属性データベース
41 動作制限条件データベース
43 監視対象プロセス記憶部
45 プロセス特性データベース
11 プロセス監視部
12 プロセス変化判定部
13 プロセス変化判定部
14 静的属性処理部
15 異常判定部
17 動的属性取得部
21 動的属性処理部
23 表示制御部
25 プロセス起動制御部
27 プロセス分析部
31 プロセス履歴データベース
33 静的属性データベース
35 異常判定条件データベース
37 動的属性データベース
41 動作制限条件データベース
43 監視対象プロセス記憶部
45 プロセス特性データベース
Claims (11)
- コンピュータ上で動作しているプロセスの現在の静的属性を取得する手段と、
前記静的属性取得手段により取得された現在の静的属性に基づいて、不正プロセスの可能性がある要注意プロセスを抽出する静的属性判定手段と、
前記静的属性判定手段により抽出された要注意プロセスの現在の動的属性を取得する手段と、
予め取得されている、前記要注意プロセスの過去の動的属性を記憶する動的属性記憶手段と、
前記要注意プロセスに関する、前記動的属性記憶手段に記憶されている過去の動的属性と、前記動的属性取得手段により取得された現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定する動的属性判定手段と、
前記動的属性判定手段が前記過去の動的属性と前記現在の動的属性との弁別が可能である場合は、当該要注意プロセスについて警報を発する警報手段と、を備えるプロセス監視装置。 - 予め取得されている、前記コンピュータ上で動作しているプロセスの過去の静的属性を記憶する静的属性記憶手段をさらに備え、
前記静的属性判定手段は、前記静的属性記憶手段に記憶されている前記過去の静的属性と、前記取得手段により取得された前記現在の静的属性とを比較して、静的属性の変化を検出する変化判定手段を備え、
前記変化判定手段は、静的属性の変化が検出された場合に、当該プロセスを要注意プロセスと判定する、請求項1記載のプロセス監視装置。 - 予め定められた、プロセスの静的属性に関する異常性判定条件を記憶した異常判定条件記憶手段をさらに備え、
前記静的属性判定手段は、前記変化判定手段で要注意プロセスと判定されたプロセスについて、前記現在の静的属性と、前記異常性判定条件記憶手段に記憶された前記異常性判定条件とを対比して異常性の有無を判定する異常判定手段をさらに備え、
前記異常判定手段は、前記異常性判定により異常性があると判定したプロセスを、不正プロセスとして、前記要注意プロセスから除外し、
前記警報手段は、前記異常判定手段で不正プロセスとされたプロセスについて警報を発する、請求項2記載のプロセス監視装置。 - 前記動的属性取得手段により取得された、前記要注意プロセスの動的属性に基づいて、当該要注意プロセスと所定の関連性がある関連プロセスを抽出する手段をさらに備え、
前記動的属性取得手段は、前記関連プロセスの現在の動的属性を取得し、
前記動的属性判定手段は、前記関連プロセスについて判定を行う、請求項1記載のプロセス監視装置。 - 予め定められた、プロセスの動作を制限するための動作制限条件を記憶した動作制限記憶手段と、
前記静的属性判定手段において要注意プロセスとされなかった正常プロセスが、前記動作制限条件を満たすときは、当該正常プロセスの動作を制限する動作制限手段と、さらに備える請求項1記載のプロセス監視装置。 - 前記動作制限条件は、前記監視対象のコンピュータ上で動作することが制限されるプロセスの静的属性及び動作制限の内容を含み、
前記動作制限手段は、前記正常プロセスの現在の静的属性と前記動作制限条件とが合致する場合に、指定された内容の動作制限を行う、請求項5記載のプロセス監視装置。 - 前記警報手段が発した警報に対して、当該警報に係る要注意プロセスの動作を停止させるか、または動作の継続を承認するか、の少なくともいずれか一方に関するユーザ入力を受け付ける受付手段をさらに備える、請求項1記載のプロセス監視装置。
- 前記プロセスの静的属性は、プロセスに係るプログラムの起動場所、プロセスに係るプログラムの作成時に関する情報、プロセスに係るプログラムのサイズ、プロセスに係るプログラム呼び出しに関する親子リレーション(親プロセス名)、プロセスに係るプログラムのパリティ、及びプロセスに係るプログラムの公開された呼び出し関数のうちの少なくとも一つ以上を含む、請求項1記載のプロセス監視装置。
- 前記プロセスの動的属性は、プロセスのスレッド数、プロセスのメモリの使用状態、プロセスのリダイレクタの送受信状態、プロセスのハードディスクのアクセス状態及びプロセスのCPUの使用状態のうちの少なくとも一つ以上を含む、請求項1記載のプロセス監視装置。
- コンピュータ上で動作しているプロセスの現在の静的属性を取得するステップと、
前記取得した現在の静的属性に基づいて、不正プロセスの可能性がある要注意プロセスを抽出するステップと、
前記抽出された要注意プロセスの現在の動的属性を取得するステップと、
前記要注意プロセスに関する過去の動的属性と、前記取得された現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定するステップと、
前記過去の動的属性と前記現在の動的属性との弁別が可能である場合は、当該要注意プロセスについて警報を発するステップと、を備えるプロセス監視方法。 - コンピュータに実行されることにより、
コンピュータ上で動作しているプロセスの現在の静的属性を取得するステップと、
前記取得した現在の静的属性に基づいて、不正プロセスの可能性がある要注意プロセスを抽出するステップと、
前記抽出された要注意プロセスの現在の動的属性を取得するステップと、
前記要注意プロセスに関する過去の動的属性と、前記取得された現在の動的属性とが、統計的手法を用いて弁別可能であるか否かを判定するステップと、
前記過去の動的属性と前記現在の動的属性との弁別が可能である場合は、当該要注意プロセスについて警報を発するステップと、を行うプロセス監視のためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198574A JP2008021274A (ja) | 2006-06-15 | 2006-07-20 | プロセス監視装置及び方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006165493 | 2006-06-15 | ||
JP2006198574A JP2008021274A (ja) | 2006-06-15 | 2006-07-20 | プロセス監視装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008021274A true JP2008021274A (ja) | 2008-01-31 |
Family
ID=39077138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006198574A Pending JP2008021274A (ja) | 2006-06-15 | 2006-07-20 | プロセス監視装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008021274A (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009187A (ja) * | 2008-06-25 | 2010-01-14 | Kddi R & D Laboratories Inc | 情報処理装置、情報処理システム、プログラム、および記録媒体 |
JP2010182020A (ja) * | 2009-02-04 | 2010-08-19 | Kddi Corp | 不正検知装置およびプログラム |
JP2010271775A (ja) * | 2009-05-19 | 2010-12-02 | Kddi Corp | 処理装置およびプログラム |
JP2011501279A (ja) * | 2007-10-15 | 2011-01-06 | ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド | コンピュータプログラムの悪意ある行為を見つける方法及び装置 |
JP2011525662A (ja) * | 2008-06-18 | 2011-09-22 | シマンテック コーポレーション | ソフトウェア評価を確立し監視するシステムおよび方法 |
JP2013542536A (ja) * | 2010-12-21 | 2013-11-21 | 北京中天安泰信息科技有限公司 | コンピュータシステムの実行動作を標準化する方法 |
JP2014086004A (ja) * | 2012-10-26 | 2014-05-12 | Pfu Ltd | 情報処理装置、方法およびプログラム |
JP2014101008A (ja) * | 2012-11-20 | 2014-06-05 | Nissan Motor Co Ltd | 車載機及びセキュリティシステム |
JP2014515538A (ja) * | 2011-06-01 | 2014-06-30 | マカフィー, インコーポレイテッド | 署名を利用せずに悪意プロセスを検出するシステムおよび方法 |
JP2014182837A (ja) * | 2013-03-19 | 2014-09-29 | Trusteer Ltd | マルウェア発見方法及びシステム |
JP2015011549A (ja) * | 2013-06-28 | 2015-01-19 | Kddi株式会社 | ウェブページ監視装置、ウェブページ監視システム、ウェブページ監視方法およびコンピュータプログラム |
JP2015528171A (ja) * | 2012-07-20 | 2015-09-24 | テンセント テクノロジー (シェンジェン) カンパニー リミテッド | プロセス情報を表示する方法及びデバイス |
JP2015531508A (ja) * | 2012-09-06 | 2015-11-02 | トライアムファント, インコーポレイテッド | コンピュータネットワークにおける自動化メモリおよびスレッド実行異常検出のためのシステムおよび方法 |
CN106104497A (zh) * | 2014-03-20 | 2016-11-09 | 日本电气株式会社 | 信息处理装置和异常检测方法 |
US10073973B2 (en) | 2013-09-25 | 2018-09-11 | Mitsubishi Electric Corporation | Process testing apparatus, computer-readable medium, and process testing method |
CN110737891A (zh) * | 2018-07-19 | 2020-01-31 | 北京京东金融科技控股有限公司 | 一种主机入侵检测方法和装置 |
US10860406B2 (en) | 2014-03-20 | 2020-12-08 | Nec Corporation | Information processing device and monitoring method |
-
2006
- 2006-07-20 JP JP2006198574A patent/JP2008021274A/ja active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011501279A (ja) * | 2007-10-15 | 2011-01-06 | ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド | コンピュータプログラムの悪意ある行為を見つける方法及び装置 |
JP2011525662A (ja) * | 2008-06-18 | 2011-09-22 | シマンテック コーポレーション | ソフトウェア評価を確立し監視するシステムおよび方法 |
JP2010009187A (ja) * | 2008-06-25 | 2010-01-14 | Kddi R & D Laboratories Inc | 情報処理装置、情報処理システム、プログラム、および記録媒体 |
JP2010182020A (ja) * | 2009-02-04 | 2010-08-19 | Kddi Corp | 不正検知装置およびプログラム |
JP2010271775A (ja) * | 2009-05-19 | 2010-12-02 | Kddi Corp | 処理装置およびプログラム |
JP2013542536A (ja) * | 2010-12-21 | 2013-11-21 | 北京中天安泰信息科技有限公司 | コンピュータシステムの実行動作を標準化する方法 |
US9230067B2 (en) | 2010-12-21 | 2016-01-05 | Antaios (Beijing) Information Technology Co., Ltd. | Method for normalizing a computer system |
US9323928B2 (en) | 2011-06-01 | 2016-04-26 | Mcafee, Inc. | System and method for non-signature based detection of malicious processes |
JP2014515538A (ja) * | 2011-06-01 | 2014-06-30 | マカフィー, インコーポレイテッド | 署名を利用せずに悪意プロセスを検出するシステムおよび方法 |
JP2015528171A (ja) * | 2012-07-20 | 2015-09-24 | テンセント テクノロジー (シェンジェン) カンパニー リミテッド | プロセス情報を表示する方法及びデバイス |
JP2015531508A (ja) * | 2012-09-06 | 2015-11-02 | トライアムファント, インコーポレイテッド | コンピュータネットワークにおける自動化メモリおよびスレッド実行異常検出のためのシステムおよび方法 |
JP2014086004A (ja) * | 2012-10-26 | 2014-05-12 | Pfu Ltd | 情報処理装置、方法およびプログラム |
US9787708B2 (en) | 2012-10-26 | 2017-10-10 | Pfu Limited | Information processing apparatus, method, and medium |
JP2014101008A (ja) * | 2012-11-20 | 2014-06-05 | Nissan Motor Co Ltd | 車載機及びセキュリティシステム |
JP2014182837A (ja) * | 2013-03-19 | 2014-09-29 | Trusteer Ltd | マルウェア発見方法及びシステム |
JP2015011549A (ja) * | 2013-06-28 | 2015-01-19 | Kddi株式会社 | ウェブページ監視装置、ウェブページ監視システム、ウェブページ監視方法およびコンピュータプログラム |
US10073973B2 (en) | 2013-09-25 | 2018-09-11 | Mitsubishi Electric Corporation | Process testing apparatus, computer-readable medium, and process testing method |
CN106104497A (zh) * | 2014-03-20 | 2016-11-09 | 日本电气株式会社 | 信息处理装置和异常检测方法 |
CN106104497B (zh) * | 2014-03-20 | 2019-07-16 | 日本电气株式会社 | 信息处理装置和异常检测方法 |
US10789118B2 (en) | 2014-03-20 | 2020-09-29 | Nec Corporation | Information processing device and error detection method |
US10860406B2 (en) | 2014-03-20 | 2020-12-08 | Nec Corporation | Information processing device and monitoring method |
CN110737891A (zh) * | 2018-07-19 | 2020-01-31 | 北京京东金融科技控股有限公司 | 一种主机入侵检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008021274A (ja) | プロセス監視装置及び方法 | |
US8621624B2 (en) | Apparatus and method for preventing anomaly of application program | |
US10893068B1 (en) | Ransomware file modification prevention technique | |
US9858416B2 (en) | Malware protection | |
US10944764B2 (en) | Security event detection through virtual machine introspection | |
EP2701092A1 (en) | Method for identifying malicious executables | |
KR100786725B1 (ko) | 악성코드 분석 시스템 및 방법 | |
US8627458B2 (en) | Detecting malicious computer program activity using external program calls with dynamic rule sets | |
US20070204345A1 (en) | Method of detecting computer security threats | |
KR20180032566A (ko) | 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들 | |
US8321935B1 (en) | Identifying originators of malware | |
JP2005190066A (ja) | 情報管理システム、情報管理サーバ、情報管理システムの制御方法、及び、プログラム | |
US8612995B1 (en) | Method and apparatus for monitoring code injection into a process executing on a computer | |
JP2007242002A (ja) | ネットワーク管理装置及びネットワーク管理方法及びプログラム | |
CN105791250B (zh) | 应用程序检测方法及装置 | |
KR20090111416A (ko) | 악성 사이트 검사 방법, 악성 사이트 정보 수집 방법,장치, 시스템 및 컴퓨터 프로그램이 기록된 기록매체 | |
CN111212055A (zh) | 非侵入式网站远程检测系统及检测方法 | |
US8490195B1 (en) | Method and apparatus for behavioral detection of malware in a computer system | |
KR102463814B1 (ko) | 서버 모니터링 방법 및 장치 | |
US7874000B1 (en) | Reducing false positives generated by a database intrusion detection system | |
US11232202B2 (en) | System and method for identifying activity in a computer system | |
JP7023433B2 (ja) | インシデント対応効率化システム、インシデント対応効率化方法およびインシデント対応効率化プログラム | |
KR100746944B1 (ko) | 정보 유출 방지 방법 및 정보 유출 방지를 수행하는프로그램이 저장된 기록 매체 | |
JP2012185547A (ja) | 改ざん検出装置、監視システム、改ざん検出方法、およびプログラム | |
KR20090080469A (ko) | 프로그램의 설치 방지 방법 및 장치 |