JP2011501279A - コンピュータプログラムの悪意ある行為を見つける方法及び装置 - Google Patents

コンピュータプログラムの悪意ある行為を見つける方法及び装置 Download PDF

Info

Publication number
JP2011501279A
JP2011501279A JP2010529219A JP2010529219A JP2011501279A JP 2011501279 A JP2011501279 A JP 2011501279A JP 2010529219 A JP2010529219 A JP 2010529219A JP 2010529219 A JP2010529219 A JP 2010529219A JP 2011501279 A JP2011501279 A JP 2011501279A
Authority
JP
Japan
Prior art keywords
monitored
file
action
program
virus
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.)
Granted
Application number
JP2010529219A
Other languages
English (en)
Other versions
JP5011436B2 (ja
Inventor
超 叶
Original Assignee
ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド
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 ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド filed Critical ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド
Publication of JP2011501279A publication Critical patent/JP2011501279A/ja
Application granted granted Critical
Publication of JP5011436B2 publication Critical patent/JP5011436B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】本発明は、コンピュータプログラムの悪意ある行為を見つける方法及び装置を提出する。
【解決手段】本発明に係る方法及び装置によれば、監視されるプロセス集合の概念により悪意あるプログラムの行為特徴を分析する。本発明に係るコンピュータプログラムの悪意ある行為を見つける方法は、コンピュータプログラムが実行する動作を監視するステップと、監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索するステップと、監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定するステップとを含む。
【選択図】図1

Description

本発明は、コンピュータ保護方法及び装置に関し、特にコンピュータプログラムの行為の特徴に基づきコンピュータプログラムの悪意ある行為をリアルタイムで正確に見つける方法及び装置に関する。
1983年に世界で1番目のコンピュータウイルスが出現してから、二十数年間で、コンピュータウイルスは、コンピュータ及びネットワーク技術の発展につれて絶えず進化し更新されつつある。現在、トロイの木馬、ウオーム、及びバックドアプログラムのようなコンピュータウイルスは、コンピュータシステムを破壊できるだけでなく、ユーザの口座、パスワードなどの重要な情報も盗むこともできるので、人々がコンピュータを正常に使用することを酷く脅かし、ひいては莫大な経済損失になる可能性もある。よって、ウイルスの攻撃をどのように防止するかは、人々が最も注目するポイントになってくる。
ウイルスの攻撃を防止するために、重要なステップとして、ウイルスが侵害を実施する前にウイルスを識別し、即ちウイルススキャンすることにより、適時に相応の措置を採取して更なるコンピュータシステムへの侵害を阻止する。従来のアンチウイルスソフトウェアに一般的に使用されているウイルススキャン方法は、シグニチャースキャン(signature scanning)である。即ち、ウイルスサンプルから抽出されたシグニチャーを用いて、チェックされるファイルをスキャンすることにより、ウイルス感染されたファイルを見つけて消去する。
しかし、このような従来のウイルススキャン方法は、ウイルスサンプルを捕獲した場合にのみ、ウイルスのシグニチャーを抽出することができるので、ウイルススキャンとアンチウイルスは、永遠にウイルスの発生に後れを取るものである。例えば、新しいウイルスが現れた時に、ユーザが従来のアンチウイルスソフトウェアをインストールしたとしても、被害を受けることになり、アンチウイルスソフトウェアをアップグレードし、ウイルスデータベースを更新した場合にのみ、その新しいウイルスを対応できるが、ウイルスの発生に酷く後れを取っている。
現在、新しい未知のウイルスと既存のウイルスの新しい変異は、次々と現れると共に、このような従来の方法に対応する幾つかのアンチアンチウイルス(anti-anti-virus)技術が現れてくる。よって、このような従来のウイルススキャン方法の遅れという欠点はますます顕著になり、また、この従来の方法に依存するリアルタイム監視プログラムは効果が効いていない。
近来、従来のシグニチャースキャンの欠点に対して、アンチウイルス分野では、ウイルスプログラムの行為の特徴に基づくコンピュータ保護方法が提案されてくる。このような方法では、あるコンピュータプログラムの動作を傍受することにより、当該動作がウイルスプログラムにより発生させられるか否かを分析する。このようなコンピュータ保護方法は、ある程度に既知のウイルスの新しい変異と一部の相対的に簡単な新しいウイルスを識別することができる。しかし、システムプログラム又は安全プログラムを呼び出すことにより攻撃行為を実現する隠蔽性のよいウイルスに対しては、このような保護方法の成功率は比較的に低い。
例えば、近来比較的に流行しているバックドアプログラムである「灰鳩子(Backdoor.Gpigeon)」は、隠蔽性のよいウイルスである。灰鳩子のメインプログラムc:\A.exeが実行した後、まず、それ自身をシステムディレクトリc:\windows(登録商標)\の下に複製し、そのレプリカ(replica)をwservices.exeに改名し、かつ、当該レプリカwservices.exeが起動した後、A.exeが終了する。wservices.exeが起動した後、システムに付いたiexplore.exe(システムファイル)を直接に起動させ、次に、wservices.exeのプロセスイメージをiexplore.exeのプロセススペースに書き込むことで実行権限が得られるため、iexplore.exeを用いて被害を加える。
灰鳩子プログラムでは、ウイルスプログラムは正常なシステムプログラムiexplore.exeに隠蔽して実行し、ウイルスは、被害を加える過程において、相次いでA.exeとwservices.exeとiexplore.exeとの三つのプロセスに及ぼし、真実の被害を加える行為を実行する前に、ウイルスのメインプログラムA.exeが終了する。よって、灰鳩子プログラムは、ウイルススキャンによる動作の監視をよくだますので、ウイルスコードをiexplore.exeのプロセススペースにうまく隠蔽する。このような隠蔽性のよいウイルスプログラムは、上記した従来の簡単な行為動作の分析方法を用いても識別することが難しい。
現在、コンピュータ技術の発展につれて、灰鳩子のような隠蔽性のよいウイルスプログラムはますます多くなってくるので、このような複数のプロセスを発生させることにより被害を加えることを実現する悪意あるプログラムを識別する新しいコンピュータ保護方法は必要である。
CN1845120A US2006136720A1
本発明は、コンピュータプログラムの悪意ある行為を見つける方法及び装置を提出することを目的とする。本発明に係る方法及び装置によれば、複数のプロセスに及ぼす悪意プログラムの行為を識別することにより、どのプログラムがウイルスプログラムに属するかを、根源から見つけることができる。
また、本発明は、ウイルスをリリースするプロセスを効率的に捜索することができる、コンピュータプログラムの悪意ある行為を見つける方法及び装置を提出することを他の目的とする。
上記課題を解決するため、本発明は、コンピュータプログラムの悪意ある行為を見つける方法であって、コンピュータプログラムが実行する動作を監視するステップと、監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索するステップと、監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定するステップと、を含むものとした。
ここで、前記監視されるプロセス集合は、前記少なくとも一つの不審なプロセスのプロセス識別子と、前記少なくとも一つの不審なプロセスに対応するプログラムファイルと、前記少なくとも一つの不審なプロセスが実行する動作及び当該動作により発生するデータの履歴記録とを含むものとすることもできる。
また、プロセスを作成する際に、新たに作成されたプロセスの親プロセスが、監視されるプロセス集合における不審なプロセスである場合は、前記新たに作成されたプロセスが不審なプロセスとして確定されて、前記新たに作成されたプロセスを、前記親プロセスが所在の監視されるプロセス集合に追加することもできる。
また、プロセスを作成する際に、新たに作成されたプロセスの親プロセスが不審なプロセスではない場合は、前記新たに作成されたプロセスがプロセスフィルタリングにより不審なプロセスとして確定される場合にのみ、前記新たに作成されたプロセスのために対応の監視されるプロセス集合を作成することもできる。
さらに、前記プロセスフィルタリングは、前記新たに作成されたプロセスに対応するプログラムファイルが既知の安全プロセスファイル、システムファイル、又はデフォルトの安全プログラムファイルであるか否かを判定するステップを含み、否定であれば、不審なプロセスとして確定されることもできる。
また、前記捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作を発生させるプロセスの情報を含むこともできる。
また、前記判定ステップは、監視される動作の対象の情報と捜索された前記監視されるプロセス集合における前記履歴記録とを照合するステップと、照合の結果に応じて、監視される動作が悪意ある行為に属するか否かを判定するステップと、を含むこともできる。
また、監視される動作の対象は、監視される動作で操作するファイルであり、かつ、前記照合ステップは、監視される動作で操作するファイルと前記履歴記録における履歴ファイルのフルパス情報を照合するステップを含むこともできる。
また、監視される動作の対象は、監視される動作で操作するファイルであり、かつ、前記照合ステップは、監視される動作で操作するファイルと前記履歴記録における履歴ファイルのファイルコンテンツを照合するステップを含むこともできる。
さらに、前記照合されるファイルは、全て実行可能ファイルであり、かつ、前記ファイルコンテンツの照合ステップは、さらに、監視される動作で操作するファイルと前記履歴記録における履歴ファイルのコードエリアのコンテンツを照合するステップを含むこともできる。
また、前記コードエリアのコンテンツを照合するステップは、照合される2つの前記実行可能ファイルの構造を分析して、前記実行可能ファイルのプログラムエントリーポイントを取得するステップと、実行可能ファイルのセクションテーブルを分析して、前記実行可能ファイルのプログラムエントリーポイントが所在のセクションをそれぞれ見つけるステップと、見つけた2つの実行可能ファイルのセクションの大きさを照合するステップと、2つの実行可能ファイルのプログラムエントリーポイントが所在のセクションのコンテンツを取得して、二進法照合を行うステップと、を含み、前記セクションのコンテンツが同一である場合は、2つの実行可能ファイルが同一のコードエリアを有すると認めることもできる。
また、前記判定ステップは、さらに、監視される動作が、悪意ある行為を発生させる可能性があるシステムコールに属するか否かを判定するステップを含むこともできる。
また、前記捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作の対象の情報を含むこともできる。
また、監視される動作の対象は、監視される動作で操作するファイルであり、かつ、前記捜索ステップは、全ての監視されるプロセス集合の履歴記録中に、監視される動作で操作するファイルの情報を捜索するステップを含むこともできる。
また、前記コンピュータプログラムの動作を監視するステップは、さらに、アンチウイルスエンジンがウイルスを見つけた動作を含み、前記捜索ステップは、前記見つけたウイルスのウイルスファイルの情報に基づき、履歴記録中に前記見つけたウイルスファイルの情報を含む、監視されるプロセス集合を捜索するステップを含むこともできる。
また、本発明は、コンピュータプログラムの悪意ある行為を見つける装置であって、コンピュータプログラムが実行する動作を監視する監視モジュールと、監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索する捜索モジュールと、監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定する判定モジュールと、を含むものとした。
ここで、前記監視されるプロセス集合は、前記少なくとも一つの不審なプロセスのプロセス識別子と、前記少なくとも一つの不審なプロセスに対応するプログラムファイルと、前記少なくとも一つの不審なプロセスが実行する動作及び当該動作により発生するデータの履歴記録とを含む構成とすることもできる。
また、新たに作成されたプロセスの親プロセスが、監視されるプロセス集合における不審なプロセスである場合には、前記新たに作成されたプロセスが不審なプロセスとして確定されて、その監視されるプロセス集合を作成することを許可し、新たに作成されたプロセスの親プロセスが不審なプロセスではなく、かつそれに対応するプログラムファイルが安全ファイルである場合は、前記新たに作成されたプロセスをフィルタリングして排除し、その監視されるプロセス集合を作成することを許可しないプロセスフィルタリングモジュールをさらに含むようにすることもできる。
また、前記監視モジュールで監視される動作は、さらに、アンチウイルスエンジンがウイルスを見つけた動作を含み、前記捜索モジュールは、前記見つけたウイルスのウイルスファイルの情報に基づき、履歴記録中に前記見つけたウイルスファイルの情報を含む、監視されるプロセス集合を捜索するようにすることもできる。
また、前記捜索モジュールで捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作を発生させるプロセスの情報を含むようにすることもできる。
また、前記捜索モジュールで捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作の対象の情報を含むようにすることもできる。
上記目的を実現するために、本発明に係る、コンピュータプログラムの悪意ある行為を見つける方法は、コンピュータプログラムが実行する動作を監視するステップと、監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索するステップと、監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定するステップと、を含む。
本発明に係る方法によれば、プロセス集合という概念を用いているので、複数のプロセスを作成し又は呼び出すことによりウイルス攻撃を行う悪意プログラムは、適時で正確に識別できる。このため、隠蔽性の強い悪意プログラム、例えば灰鳩子などのバックドアプログラムを適時に見付けることができる。
また、上記目的を実現するために、本発明に係る上記方法は、さらに、アンチウイルスエンジンがウイルスを見つけた旨の通知を受信し、見つけられたウイルスファイルの情報を取得するステップを含み、上記捜索ステップは、プロセス集合の履歴記録中に前記見つけられたウイルスファイルの情報のプロセス集合を含むか否かを捜索するステップを含み、捜索した場合は、ウイルスをリリースするプロセスを見つけることができる。
本発明に係る上記方法は、アンチウイルスエンジンのアンチウイルスの結果とプロセスの行為監視とを組み合わせることにより、悪意ある行為をより正確で高効率に見つけることができる。
また、本発明は、上記方法に対応するコンピュータ保護装置を提供する。
本発明の一つの実施例に係るプログラムの悪意ある行為を見つける装置の全体の構造図である。 本発明の一つの実施例に係るプロセス集合の作成とメンテナンスの過程を示す図である。 本発明の一つの実施例に係るプロセスのフィルタリング過程を示す図である。 本発明の一つの実施例に係る、プロセス集合でウイルスファイルをリリースするプロセスを確定する過程を示す図である。 本発明の一つの実施例に係る、プロセス集合でファイル操作における悪意ある行為を確定する過程を示す図である。 本発明の一つの実施例に係る、プロセス集合でレジストリ操作における悪意ある行為を確定する過程を示す図である。 本発明の一つの実施例に係る、プロセス集合でシステムコールにおける悪意ある行為を確定する過程を示す図である。 本発明の一つの実施例に係る、プロセス集合でプログラムの悪意ある行為を確定する他の例示的な過程を示す図である。
以下、具体的な実施例に基づき本発明に係る、コンピュータプログラムの悪意ある行為を見つける方法及び装置について詳しく説明する。
理解のために、以下の実施例では、Windows(登録商標)オペレーションシステムだけを例として記述する。しかし、当業者にとって、本発明の構想と要旨は、Windows(登録商標)オペレーティングシステムに限らず、他のコンピュータオペレーティングシステムにおいても応用できると理解できる。
上述の「灰鳩子」プログラムのように、現在のウイルス又はスパイウェアは、もはや単一プロセスにおいてコンピュータに被害を加えるものではなく、複数のプロセスを作成及び/又は終了する過程において悪意ある行為を実施するので、アンチウイルスソフトウェアの監視をより騙し易い。
また、現在の数多くのコンピュータウイルスプログラム、スパイウェアを分析すると、悪意プログラムは基本的な悪意ある行為の要素からなる可能性がある。このため現在、一つの完全な悪意プログラムが複数のプロセスに及ぼす可能性があるだけでなく、これらの悪意ある行為の要素自身の実現も一つ以上のプロセスに及ぼす可能性があると考えられる。以下、分析により抽象化された幾つかの悪意ある行為の要素を例示的に挙げるが、本発明はこれに限られない。
ウイルスファイルのリリース:プロセスが、アンチウイルスエンジンにより識別できるコンピュータウイルスを直接に作成する(正常ファイルをそのコンピュータウイルスに変更する)ことをいう。ウイルスファイルは、ローカルコンピュータで生成される場合は、その直接的な作成者は、ウイルスリリーザ又はダウンローダである確率が高い。
自己複製:プロセスがレプリカを直接又は間接に作成することをいう。このレプリカは、悪意プログラムAが直接に作成するものであっても、悪意プログラムAが他の安全プログラム例えばSHELLプログラムを呼び出すことにより複製するものであってもよい。
自己変更の自己複製:プロセスがアプリケーションプログラムを作成し又は変更することをいう。変更されたアプリケーションプログラムのエントリーポイントが所在のコードエリアと当該プロセスに対応するプログラムファイルのエントリーポイントが所在のコードエリアとが同一であり、例えば、熊猫焼香(Worm.WhBoy)ウイルスである。
プログラムファイルのリリース:プロセスが現在のプロセスのレプリカでないプログラムファイルを直接にリリースすることをいう。プログラムファイルは、実行可能ファイル(EXE)であっても、ダイナミックリンクライブラリ(DLL)であってもよい。
自己リリースプログラムの起動:プロセスがプログラムファイルを直接又は間接に実行することをいう。当該プログラムファイルは、当該プロセス又は当該プロセスに関するプロセスで作成されるものであってもよい。例えば、悪意プログラムAはプログラムBをリリースし、SHELLを呼び出してプログラムBを起動させる。
自己起動の関連の作成:プロセスが、自己起動項目(例えばレジストリにおける起動項目)を直接又は間接に作成し又は変更することにより、当該プロセスのプログラムファイル又は関連のプログラムファイルはシステムに自動的に起動されることをいう。ここで、自己起動項目を作成するプロセスプログラムは、悪意プログラムAであっても、システムに存在しているservices.exeであってもよい。
自己リリースサービスのインストール:プロセスがシステムサービスを直接又は間接にインストールすることをいう。例えば、悪意あるプログラムAは複数の実行可能ファイルをリリースして、これらの実行可能ファイルをサービスとして登録する。
自己リリースドライバのロード:プロセスがドライバプログラムを直接又は間接にロードすることをいう。当該ドライバプログラムは、ロードプロセスで直接又は間接に作成するものである。例えば、悪意あるプログラムAはドライバプログラムBをリリースして、当該ドライバプログラムBをサービス起動方式として登録し、かつシステムに存在しているプロセスservices.exeで当該ドライバプログラムBをロードする。
プロセスの終了:プロセスが他の一般プロセスを直接又は間接に終了することをいう。同様に、プロセス終了を発生させるのは、悪意あるプログラムAであっても、悪意あるプログラムAが呼び出すオペレーションシステムで提供されるプロセス終了ツール(例えば、Windows(登録商標)システムにおけるTaskkill.exe)であってもよい。
リモートスレッドの作成:プロセスが他のプロセススペース内にリモートスレッドを直接又は間接に作成し、この方法で他のプロセスに侵入することをいう。
シミュレート入力(キーボード、マウスなど):プロセスが他のプロセスのウインドウに対してシミュレート入力を直接又は間接に行うことをいう。例えば、絶えずQQメッセージを送信する。
WINDOWS(登録商標)メッセージの送信:プロセスが、ウインドウのコンテンツを得るために他のプロセスのウインドウに対してWINDOWS(登録商標)メッセージWM_GETTEXTを直接又は間接に送信することをいう。
自己リリースプログラムのフック(hook)の設定:プロセスがグローバル(global)のメッセージフックを設定することをいう。当該メッセージフックに対応するダイナミックリンクライブラリは、当該プロセスで直接又は間接に作成されるものである。例えば、悪意あるプログラムAは、フック処理関数を有するダイナミックリンクライブラリBとグローバルフックを設定するプログラムCをリリースしてプログラムCを実行する。プログラムCは、ダイナミックリンクライブラリBにおけるフック処理関数をパラメータとしてグローバルフックを設定する。
以上のようにまとめた複数種の悪意ある行為の要素から見ると、これらの行為の要素の各々は、相次いで作成された複数の関連プロセスに及ぼす可能性がある。この場合に、単一のプロセスにおける動作を傍受することにより、これらの悪意ある行為を正確に識別し難い。
そのために、本発明は、監視されるプロセス集合という概念を用いている。簡単のため、以下、「監視されるプロセス集合」を「プロセス集合」と略称するが、本願に言及するプロセス集合は、何れも保護ソフトウェアで監視されるプロセス集合を指す。
本発明の実施例では、各プロセス集合毎に、作成関係上に互いに関連する一つ又は複数の不審なプロセスの情報を含んでいる。上述の「プロセスの終了」という悪意ある行為を例として、悪意あるプロセスA.exeがプロセス集合αにあると仮定すれば、プロセスA.exeがオペレーションシステムにより提供されるツールTaskkill.exeを呼び出して他の一般プロセスを終了し、即ち、子プロセスTaskkill.exeを作成する。この時に、親プロセスA.exeと子プロセスTaskkill.exeは直接の関係を有し、両者は共同で「他のプロセスをわざと終了する」という行為を実行する。従って、本発明の原理に基づくと、子プロセスTaskkill.exeもプロセス集合αに含まれる。よって、プロセス集合αは、それに含まれる一つ又は複数の関連する不審なプロセスの共同の行為を論理的に表現している。プロセス集合により提供されるこのような論理的な関連性は、悪意ある行為の識別に非常に有利になる。
本発明の実施例によれば、本発明に提出されるプロセス集合は、論理的にシステムにおける各関連プロセスを区分する。各プロセス集合毎に、それに格納される不審なプロセスの識別子(プロセスID)と、当該プロセスに対応するプログラムファイルの情報、例えばプログラムファイル(PEファイル)フルパス情報とを含む。また、ある悪意ある行為は、歴史データ、例えば親プロセスがリリースしたファイルの情報を遡って調べないと、発見することできないので、本発明に係るプロセス集合には、集合中の各プロセス動作の履歴記録を格納することもできる。例えば、履歴記録は、作成された子プロセスID、作成されたファイル、変更されたファイルなどを含んでもよい。しかし、本発明はこれに限られず、必要に応じて、履歴記録は、他の各種の情報、例えばネットワークアクセス動作などを含んでもよい。
よって、本発明に係るプロセス集合には、プロセス間の関連関係を表現するだけでなく、関連プロセスの履歴動作での内在関係も含めることができる。これらの情報は、監視される動作について関連性分析を行うことにより悪意ある行為を適時で正確に見つけることに役立つ。
以下、上述のように挙げた複数種の悪意ある行為を例として、具体的な悪意あるプログラムの実例に基づき、本発明に係るプロセス集合という概念の、監視される動作に対する関連性分析での応用を詳しく記述する。
図1は、本発明の実施例に係る、コンピュータプログラムの悪意ある行為を見つける装置の全体の構造図である。
図1に示すように、まず、コンピュータ保護ソフトウェアの監視モジュール100は、各プログラムの動作を監視して、監視される動作に対して相応動作の通知、例えばプロセス作成/終了の通知、アンチウイルスエンジンのウイルススキャンの通知、ファイル操作の通知、レジストリ操作の通知、システムAPI呼び出しの通知などを送信する。次に、監視される動作に関する通知に基づき、各処理用サブモジュールは、それぞれ各通知に応答して相応のサブ流れを実行する。これらの処理用サブモジュールは、プロセス集合保守サブモジュール200、アンチウイルスエンジンの通知処理サブモジュール400、ファイル操作の通知処理サブモジュール500、レジストリ操作の通知処理サブモジュール600、システムコール動作の通知処理サブモジュール700、及びプロセス作成の通知処理サブモジュール800を含む。
本発明の実施例によれば、各プロセス作成/終了の時に、本発明に係るプロセス集合を保守する。例えば、プロセス集合を作成し又は取消すこと、既存の集合におけるプロセス情報を追加又は削除することなどである。プロセス集合保守サブモジュール200が実行する具体的な過程について、下記のように図2、3を参照しながら詳しく説明する。
プロセス各々の実行過程において発生する動作の通知について(例えば、ファイル操作、システムコールの通知)、各相応するサブモジュール(400〜800)は、まず、プロセス集合ライブラリーに当該通知される動作に関するプロセス集合、例えば動作開始プログラムを含む集合又は履歴記録に動作対象の情報(例えば操作されるファイル)が含まれる集合、があるか否かを捜索する。集合ライブラリーから相応のプロセス集合を見つけた場合は、プロセス集合に提供される関係情報に基づき、上記抽象化された悪意ある行為の特徴と併せて、各動作毎に関連性分析を行うことにより、各悪意ある行為を識別する。これらのサブモジュールが実行する具体的な過程について、下記のように図4〜8を参照しながら詳しく説明する。
図2は、プロセス作成/終了の時に、本発明に係るプロセス集合を作成/保守する過程を示す図である。ここでは上述の「灰鳩子」プログラムを例として記述する。
図2に示すように、サブモジュール200は、プロセス作成/終了の通知を受信した(ステップS201)後、まず、新たに作成した又は終了したプロセスのプロセスIDとその親プロセスIDを取得する。次に、受信した通知がプロセスの作成を示すか否かを判定する(ステップS203)。判定が肯定であれば、ステップS211に移行して、プロセス集合の作成及び/又は新しいプロセスの追加を行い、判定が否定であれば、ステップS222に移行して、終了したプロセス又は取消されたプロセス集合を削除する。
ここで、「灰鳩子」プロセスA.exeを作成する時に、監視モジュールがプロセス作成動作の通知を送信したと仮定する。この時に、ステップS221で、得られた親プロセスIDによって即有のプロセス集合ライブラリーを捜索することにより、親プロセスに対応するプロセス集合があるか否かを確定する。「灰鳩子」プロセスA.exeは最初に作成されたものであり、その親プロセスは安全プロセスとして、監視されていないものであるので、ステップS221の判定結果は否定であり、フィルタリングステップS213に移行する。
ステップS213は、選択項としてのステップであり、フィルタリングにより当該新たに作成したプログラムが不審なものであるか否か、即ち、そのためにプロセス集合を作成する必要があるか否かを確定することを目的とする。その具体的なフィルタリングの過程は、図3に示される。図3に示すように、まず、サブモジュール200は、新たに作成したプロセスに対応する実行可能ファイルのフルパス情報を取得する(ステップS2131)。次に、当該実行可能ファイルのフルパスが外部安全プログラムリストに存在しているか否かを判定する(ステップS2133)。この安全プログラムリストは、システム又はユーザにより認証される安全プログラムのファイル情報を含んでおり、この安全プログラムリストに対して実際の状況に応じて編集、例えば拡張、削除などを行うことができる。ステップS2133の判定結果が肯定であれば、現在に新たに作成したプロセスが安全であり、監視する必要がないことを示すので、それをフィルタリングして除外する(ステップS2138)。判定が否定であれば、続いて当該実行可能ファイルがシステムファイルであるか否かを判定し(ステップS2135)、判定が肯定であれば、ステップS2138に移行する。前記実行可能ファイルがシステムファイルではない場合は、続いて当該実行可能ファイルがデフォルトに除外すべきと見なされる安全プログラムリストにあるか否かを判定し(ステップS2137)、判定が肯定であれば、ステップS2138に移行し、判定が否定であれば、ステップS2139に移行して、当該プロセスが不審なものであると確定し、そのためにプロセス集合を作成する必要を生じる。上述のように、フィルタリングステップS213では、一部の安全プログラムをフィルタリングして除外し、必要でないプロセス集合の作成を避けることにより、保護ソフトウェアの行為分析速度を速める。プロセスのフィルタリングステップは、他の方式、例えば、安全プログラムを確定する幾つかの規則を用いるなどの方式を用いてもいい。ある特殊な場合に、当該フィルタリングステップは省略してもよい。
ここで、フィルタリングにより、「灰鳩子」プロセスA.exeは、安全リストにもないし、システムファイル又はデフォルトな安全プログラムでないと判定される場合には、フィルタリングステップでは当該プロセスA.exeが不審なプロセスであると確定し、相応のプロセス集合を作成する必要がある。よって、ステップS215に移行して、新しいプロセス集合αを作成して、集合αにおける第1目の関連プロセスをA.exeのプロセスIDに設定し、関連ファイルをA.exeのPEファイルのフルパス情報c:\A.exeに設置する。その後、この集合保守は終了する。
ステップS211で親プロセスが所在のプロセス集合を見つけた場合には、ステップS217に移行する。例えば、監視モジュール100は、「灰鳩子」プロセスA.exeがシステムディレクトリの下に複製されたそれ自身のレプリカwservices.exeファイルを起動すること、即ち、一つのプロセス作成動作を監視した。この時に、wservices.exeの親プロセスA.exeが既にプロセス集合αに存在しており、ステップS217に移行する。ステップS217では、wservices.exeのプロセスIDを集合αの履歴プロセスリストに書き込んで、当該集合の第2目の関連プロセスとすると共に、履歴プロセスリストに当該第2目の関連プロセスのファイル情報c:\windows(登録商標)\wservices.exeを格納し、次に、この集合保守は終了する。
ステップS203でプロセス終了の通知と判定され、例えば、「灰鳩子」プロセスA.exeがwservices.exeを起動した後に終了する動作を監視した場合には、ステップS222に移行する。ステップS222では、依然として、まず、当該終了したプロセスの親プロセスに対応するプロセス集合があるか否かを判定する。「灰鳩子」プロセスA.exeについては、親プロセスは所在するプロセス集合がない。よって、ステップS224に移行して、さらに終了したプロセスに対応する所在のプロセス集合を判定し、判定結果が否定であれば、処理が終了する。ここでは判定により、A.exeが所在のプロセス集合αが見つかる。従って次に、集合αから現在に終了したプロセスA.exeを削除する(ステップS226)。プロセスを削除した後、当該集合αにまだ不審なプロセスがあるか否かを再判定し(ステップS228)、不審なプロセスがなければ、当該集合αを取消し又は破棄する(ステップS229)。「灰鳩子」の例では、A.exeが終了する時に、wservices.exeがまだ実行しているので、ステップS228の判定結果が肯定である。従って、処理は終了する。
上述の図2、3に基づいた記述を参照すると、プロセス集合は、不審なプロセスを作成する初期に作成され、関連プロセスの作成と終了につれて集合内の関連情報を絶えず更新する。してみると、プロセス集合は、他の動作通知の処理サブモジュールに価値あるプロセス間の関連情報を提供することができる。同時に、他の動作通知の処理流れも、各々の処理中に発生する動作又はデータをプロセス集合における履歴記録に書き込んで、関連情報の量を増加することができる。
以下、図4〜8を参照しながら本発明に係るプロセス集合の各動作通知サブモジュールでの具体的な応用をそれぞれ説明する。
図4はアンチウイルスエンジンの通知処理サブモジュールの処理過程を示す図である。以下、トロイの木馬プログラムに基づいて図4に示す過程を述べる。
既知のトロイの木馬Aが実行中に、既知のウイルスのダイナミックリンクライブラリBをリリースする。トロイの木馬プログラムAとダイナミックリンクライブラリBは何れも既知のウイルスファイルであるので、従来のシグニチャースキャンによりそれらを正確に識別することができる。しかし、トロイの木馬プログラムAは、変異と偽装し易く(例えばパッキング、暗号化、PEPatch、シグニチャー変更などの手段による)、従来のシグニチャースキャンは、偽装したトロイの木馬プログラムA’を見つけることができない。一方で、ダイナミックリンクライブラリBは、一般的に偽装せず、アンチウイルスエンジンにより見つけられる。
以上のトロイの木馬の例では、偽装したトロイの木馬プログラムA’が実行しダイナミックリンクライブラリBをリリースした後、アンチウイルスエンジンがウイルスシグニチャースキャンでダイナミックリンクライブラリBを見つけて、ウイルスを見つけた旨の通知を送信すると仮定する。この時、サブモジュール400は、ウイルスの通知を受信し、先ず、見つけたウイルスファイル、即ちダイナミックリンクライブラリBのスルパスを取得し(ステップS420)、次に、サブモジュール200で保守される全てのプロセス集合に捜索を行って、当該ウイルスファイルを含むプロセス集合を見つける(ステップS430)。この時、トロイの木馬プログラムA’が実行しているので、サブモジュール200は、A’が作成された時にプロセス集合Sを作成する。このため既に集合Sの履歴記録にはA’が作成したファイルであるダイナミックリンクライブラリBが含まれている。よって、ステップS430では、当該ウイルスファイルであるダイナミックリンクライブラリBのプロセス集合Sを見つけることができる。この判定に基づき、当該ウイルスファイルがプロセス集合SにおけるプロセスA’でリリースされるものであると確定し、即ち、ウイルスファイルをリリースする行為と確定できる(ステップS440)。これにより、偽装したトロイの木馬プログラムA’を見つけることができる。
図4に示すアンチウイルスエンジンの通知処理用子プロセスは、従来のシグニチャースキャンに基づくファイルのリアルタイム監視に対し、本発明に係るプロセス集合に基づく悪意ある行為の特徴分析とを組合わせている。このような処理は、従来の精確なウイルス走査技術を非常に有効に利用できるだけでなく、プロセス集合に提供されるプロセスとファイルとの間の関連関係を十分に利用できる。よって、このような処理は、悪意ある行為をより高速度で正確に見つけると共に、コンピュータウイルスの派生物(derivatives)をより多く見つけることに役立つ。
図5は、ファイル操作の通知処理サブモジュール500の処理過程を示す図である。以下、「熊猫焼香」を例として、ファイル操作の通知処理の全過程を記述する。「熊猫焼香」ウイルスは、ウォームウイルスであり、正常な実行可能ファイルに感染する。具体的に言えば、「熊猫焼香」ウイルスは、それ自身のコードでオリジナル実行可能プログラムに代わった後、オリジナルプログラムをそれ自身のコードの後に添付し、オリジナルプログラムのプログラムアイコンをそれ自身のプログラムアイコンとすることにより、ユーザに混乱させ、それ自身を隠蔽する。このような行為は、上述の「自己変更の自己複製」と抽象化することができる。
実際の実行では、「熊猫焼香」ウイルスはメインプログラムPanda.exeが起動した後、実行可能ファイルE.exeに対して上述のような変更を行う。即ち、ファイル変更の動作を行うので、監視モジュール100により監視される。図5に示すように、サブモジュール500は、ファイルを作成又は変更するファイル操作の通知を受信した後、まず、現在のファイル操作という動作の開始プログラムのプロセスID、即ちPanda.exeのプロセスIDを取得する(ステップS510)。次に、取得されたプロセスIDに基づき、全てのプロセス集合中に現在のプロセスPanda.exeが所在する集合を捜索する(ステップS520)。この集合が見つからない場合には、現在のプロセスが安全であり、行われるファイル操作も信頼できるものであることを示すので、現在の処理を終了する。この例では、サブモジュール200がPanda.exeを作成する初期において、プロセス集合βを作成したと仮定すれば、ステップS530に移行する。ステップS530では、作成/変更されたファイルE.exeの情報を、捜索したプロセス集合βの履歴記録に書き込むことにより、当該監視されるプロセスの履歴動作を記述する。ここで、集合の履歴ファイルの格納スペースがいっぱいとなって又は書き込みが失敗した(図示せず)場合には、処理を直接的に終了する(ステップS580)。
次に、サブモジュール500は、当該作成/変更されたファイルが実行可能ファイル(ステップS541)又は自動実行ファイル(ステップS543)であるか否かを判定する。自動実行ファイルAutorun.infであれば、捜索したプロセス集合βの履歴記録中に、Autorun.infに記述されるファイルが含まれるか否かを判定し(ステップS545)、即ち、履歴ファイルが自動実行プログラムに関連付けられたか否かを判定する。判定が肯定であれば、当該プロセス集合が「自己起動の関連」という行為を実現したことを示し(ステップS570)、判定が否定であれば、ファイル操作が安全であることを示し、処理を終了する(ステップS580)。
「熊猫焼香」の例では、変更されたファイルE.exeが実行可能ファイルであるため、ステップS551に移行する。ステップS551では、続いて現在のプロセスのプログラムファイルが作成されたものであるか否かを判定する。否定であれば、現在のプロセスはウイルスにより呼び出されたシステムファイルである可能性があることを示す。この時に、作成/変更されたファイルを、現在のプロセスが所在のプロセス集合における同類型のファイルの各々のコンテンツと照合して、マッチング結果を取得する(ステップS552)。「熊猫焼香」の例では、ステップS551の判定により、現在のプロセスPanda.exeも作成されたプログラムファイルであるので、ステップS553に移行して、作成/変更されたファイルを、現在のプロセスに対応するプログラムファイルのコンテンツと照合して、マッチング結果を取得する。
ステップS552とS553で行われるマッチングは、ファイルの全てのコンテンツをマッチングするだけでなく、コードエリアを単独にマッチングする。このようにして初めて、「熊猫焼香」というウイルスを検出することができる。Windows(登録商標)システムでのPEファイルフォーマットを例として、2つのプログラムファイルの間にコードエリアマッチングを行う具体的なステップは以下の通りである。即ち、
PEファイルの構造を分析して、2つのプログラムファイルのプログラムのエントリーポイントを取得する。
PEファイルのセクションテーブル(Section Table)を分析して、2つのプログラムのエントリーポイントが所在のセクションをそれぞれ見つける。
セクション内のセクション情報(セクション大きさ)を照合する。
2つのプログラムのエントリーポイントが所在のセクションのコンテンツを取得して、二進法照合を行い、同一であれば、2つのプログラムが同一のコードエリアを有すると認める。
ステップS552とS553でのマッチングにより、三種のマッチング結果を取得することができる。即ち、ファイルのコンテンツが全く同一である結果、コードエリアだけが同一である結果、及びファイルが異なる結果である。次に、サブモジュール500は、ステップS552とS553でのマッチング結果に基づき識別を行う。マッチングの結果、異なる場合は、自己リリースファイルの行為と確定する(ステップS558)。マッチング結果、全く同一である場合は(ステップS554)、自己複製の行為と確定する(ステップS556)。「熊猫焼香」の例では、マッチング結果、コードだけが全く同一である場合は(ステップS555)、自己変更の自己複製の行為と確定する(ステップS557)。次に、ステップS556〜S558で確定した結果を基に、作成/変更されたファイルが「起動」のディレクトリにあるか否かをさらに判定することもでき(ステップS560)、起動のディレクトリにある場合は、自己起動の関連行為と確定することができる(ステップS570)。
図5に示すサブフローでは、プロセスが実行するファイル操作を相応のプロセス集合の履歴記録に記述して、次の関連性分析の使用に供する。同時に、現在のプロセスで操作するファイルを、プロセス集合に記述した同類型の履歴ファイルと照合することにより、現在のプロセスの行為が悪意ある行為であるか否かを見つけることができる。ここで、プロセス集合は、監視されるプロセス間のファイルの相互の関連性を提供しているので、図5に示す方法を用いて、悪意ある行為を識別する正確性と識別速度を向上することができる。
図6はレジストリ操作処理サブモジュールの処理フローを示す図である。ここで、ウイルスAを例として、サブモジュール600の所定過程を説明する。ウイルスAが起動した後、悪意あるプログラムファイルB.exeをリリースし、次に、レジストリを変更することにより、自己起動項目にプログラムBを追加して、プログラムBが自動に起動する。上述のプロセス集合保守サブモジュールの処理に従って、ウイルスAのプロセス作成時に、サブモジュール200は、ウイルスAのためにプロセス集合γを作成する。かつ、ファイル操作の通知サブモジュールの処理に従って、ウイルスAがリリースしたプログラムBも、履歴ファイルとして集合γに記録する。次に、ウイルスAがレジストリを変更する場合に、監視モジュールは、この動作を監視してレジストリ操作の通知を送信する。
図6に示すように、サブモジュール600は、レジストリ操作の通知を受信した後、まず、操作されるレジストリのパスを取得する(ステップS610)。次に、当該レジストリのパスに基づきシステムサービスキーであるか否かを判定する(ステップS620)。判定が否定であれば、ウイルスプログラム自身により発生させられるレジストリ変更動作である可能性があり、ステップS632に移行する。判定が肯定であれば、システムサービスを起動する可能性があるが、この時に、起動されるサービスが安全であるか否かをさらに識別する必要があり、ステップS631に移行する。
ステップS631では、更新しようとするレジストリの値から一つ又は複数のファイルのフルパスを解析し、即ち、起動しようとするファイルを取得する。次に、全てのプロセス集合の履歴記録中に捜索を行うことにより、直前のステップで取得されたファイルがプロセス集合に含まれているか否かを判定する(ステップS633)。判定が否定であれば、ファイルを起動することは安全であることを示し、処理を終了する(ステップS650)。判定結果が肯定であれば、起動しようとするファイルは、プロセス集合における不審なプロセスによりリリースされたものであることを示し、ステップS641に移行する。ステップS641では、当該ファイルが直前のステップで取得されたプロセス集合の第1目のファイルであるか否かをさらに判定する。判定結果が肯定であれば、自己リリースサービスをインストールする行為であると確定することができる(ステップS643)。
ウイルスAの例では、レジストリのパスがシステムサービスキーではないため、ステップS632に移行する。ステップS632では、サブモジュール600は現在のレジストリの変更動作の開始プログラムのプロセスID、即ちウイルスAのプロセスIDを取得する。次に、取得されたプロセスIDに基づき、全てのプロセス集合中に現在のプロセスが所在する集合を捜索することにより(ステップS634)、ウイルスAを含んでいるプロセス集合γが見つかる。よって、ステップS636に移行して、起動しようとする一つ又は複数のファイルのフルパスを取得する。次に、ステップS642での判定により、取得された起動しようとするファイルB.exeが集合γに含まれていることが見つかる。よって、現在のレジストリ操作が、ウイルスAにより発生する、自己起動の関連を作成する行為であると確認することができる(ステップS644)。
図6に示す処理過程において、一部の操作の開始プログラムが、システムが自動に実行するプログラムである場合に、現在のプロセスIDに基づきそれに関するプロセス集合を取得できない可能性がある。しかし、本発明に係るプロセス集合にそのプロセス動作の履歴記録が含まれるので、全てのプロセス集合の履歴ファイル中にこれらの操作の対象ファイルを捜索することにより、関連するプロセス集合を取得することができる。その後、取得されたプロセス集合に基づき更なる分析を行う。
図7はシステムコールの通知処理サブモジュール700を示す図である。以下、トロイの木馬プログラムAを例として、システムコールの通知処理の過程を記述する。トロイの木馬A.exeは、「自己リリースドライバのロード」によりコンピュータに被害を加える悪意あるプログラムであると仮定する。トロイの木馬A.exeが起動した後、サブモジュール200は、そのためにプロセス集合Sを作成する。A.exeが実行した後、ドライバプログラムCをリリースし、ドライバプログラムCのフルパスの情報は、サブモジュール500により監視プロセス集合Sに記述する。次に、A.exeは、サービスに関するAPIを呼び出して、プログラムCのためにサービスレジストリ項目を作成してこのサービスを起動する。このレジストリの作成、起動サービスの操作は、システムに既に存在するシステムプロセスservices.exeにより発生する。この時に、監視モジュールは、このドライバロード動作を監視して、相応の通知を送信することができる。
システムコールの通知を受信した後、サブモジュール700は、まず、ドライバロードの通知であるか否かを判定する(ステップS710)。この判定により、ドライバプログラムCをロードする通知であることが確定する。よって、通知からドライバプログラムCのフルパスを取得し(ステップS712)、ドライバプログラムCのフルパスに基づき、全てのプロセス集合の履歴記録中に同一のファイルを捜索する。これにより(ステップS714)、ドライバプログラムCが相応のプロセス集合Sに含まれていることが見つかる(ステップS716)。よって、集合SにおけるA.exeが実行する時に「自己リリースドライバのロード」という行為を実行したと判定される(ステップS718)。
このトロイの木馬の例では、ドライバロードの動作の開始プログラムが既に実行しているシステムプロセスであるので、開始プログラムのプロセスIDにより相応の監視プロセス集合が既に存在しているか否かを判定することができない。そのために、本発明は、監視プロセス集合の履歴記録中にロード動作の対象情報、即ちドライバプログラムCの情報を捜索することにより、関連するプロセス集合を見つけることを提案する。
上述のドライバロードのシステムコールのほか、図6に示すシステムコール処理サブモジュールは、その他の悪意ある行為である可能性があるシステムコールの通知を処理することもできる。例えば、図6に示すように、受信したシステムコール通知がドライバロード動作ではない場合に、現在の動作の開始プログラムのプロセスIDを取得し(ステップS720)、次に、取得されたプロセスIDに基づき相応のプロセス集合を見つける(ステップS730)。相応のプロセス集合を見つけた場合は、これらのシステムコールは、当該プロセス集合における不審なプロセスにより発生させられるものであることを示す。次に、システムコールの具体的な動作(ステップS741〜745)に基づき、相応の悪意ある行為を確定する(ステップS751〜755)。例えば、システムコールは、グローバルのメッセージフックを設定する操作である場合に(ステップS745)、さらに、フック処理関数に対応するダイナミックリンクライブラリが現在のプロセスが所在の監視プロセス集合にあるか否かを判定する(ステップS746)。判定が肯定であれば、肯定的に自己リリースフックを設定する行為であると判定する(ステップS755)。
以上、図面を参照しながら、サブモジュール400〜700が、プロセス集合に提供されるプロセスの間、及びプロセスとファイルとの間の相関関係に基づき、悪意ある行為を見つける過程を説明した。以上のように示したこれらのサブモジュールの操作は、孤立したものではなく、それらは互いに重なる可能性もある。言い換えれば、同一の悪意ある行為は、上述の複数のモジュールにおいて見つける可能性がある。例えば、図5には、「自己リリース起動」という行為の判別方法が示されているが、この行為を、プロセス作成の通知に基づき識別することもできる。例えば、保護ソフトウェアがプロセス作成の通知を送信する場合に、図2に示すようにプロセス集合の保守を完成した後、作成されたプロセスに対応するプログラムファイルが、作成されたプロセスの親プロセスが所在のプロセス集合にあるか否かをさらに判定することができる。判定が肯定であれば、「自己リリース起動」という行為であると確定することができる(具体的な過程は、図8を参照する)。
(有益な効果)
以上、具体的な実施例に基づき、本発明に係るプロセス集合の作成、保守及び利用を詳しく述べた。本発明に係るプロセス集合は、作成関係に互いに関連する複数のプロセスをまとめ、集合中の各プロセスの履歴データを記録する。よって、本発明に係るプロセス集合の概念は、プロセス間の互いの関連性を表現するだけでなく、プロセスとファイル操作などの動作との間の互いの関連性を表現している。これらの関連の情報は、例えばプロセス作成、システムコード及びファイル操作などの複数の分散的な動作を関連付けることにより、その中の悪意ある行為を識別することができる。よって、プロセス集合は、実際的に、論理的に一つの悪意ある行為を表現する個体である。よって、プロセス集合を用いて悪意ある行為を見つけることは、より正確になる。
また、本発明に係るプロセス集合は、フィルタリングされた後に作成されたものである。このように、フィルタリング処理を行った後、システムにより提供されるオリジナルな親プロセス―子プロセスの関係は無視され、直接に不審な子プロセスに対して相応のプロセス集合を作成することが可能になる。
例えば、ユーザインタフェースプログラムexplorer.exeは、a.exeとb.exeを作成する。システムにより提供されるプロセスの世代関係から見ると、a.exeとb.exeは兄弟関係である。しかし、本発明に係るプロセス集合の作成原則に応じて、親プロセスexplorer.exeは安全なプロセスであり、監視されていないものであり、それにより作成されたa.exeとb.exeは、それぞれ異なる悪意ある行為に及ぼす可能性があるので、それぞれ2つの互いに独立したプロセス集合に属する。よって、a.exeとb.exeとの間は、何の関係もない。このように、プロセスのフィルタリングにより、オリジナルなプロセス間の世代関係は、論理機能上の関連関係に転化される。
また、プロセス集合中の複数の関連プロセスの地位は互いに平等である。このような簡単な構造により、プロセス集合の保守が簡単になっており、捜索が高速度になっている。これらの利点は、特に、リアルタイム監視システムの要求に適合し、行為分析が複雑すぎるのでコンピュータの性能に悪影響を及ぼしてユーザの正常な利用を妨害することがない。
好ましい実施例に基づき本発明を例示したが、当業者であれば、添付される特許請求の範囲に規定される発明の主旨と範囲から離脱しない限り、様々な変更をすることができる。

Claims (21)

  1. コンピュータプログラムの悪意ある行為を見つける方法であって、
    コンピュータプログラムが実行する動作を監視するステップと、
    監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索するステップと、
    監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定するステップと、
    を含むことを特徴とする方法。
  2. 前記監視されるプロセス集合は、前記少なくとも一つの不審なプロセスのプロセス識別子と、前記少なくとも一つの不審なプロセスに対応するプログラムファイルと、前記少なくとも一つの不審なプロセスが実行する動作及び当該動作により発生するデータの履歴記録とを含むことを特徴とする請求項1記載の方法。
  3. プロセスを作成する際に、新たに作成されたプロセスの親プロセスが、監視されるプロセス集合における不審なプロセスである場合は、前記新たに作成されたプロセスが不審なプロセスとして確定されて、前記新たに作成されたプロセスを、前記親プロセスが所在の監視されるプロセス集合に追加することを特徴とする請求項1記載の方法。
  4. プロセスを作成する際に、新たに作成されたプロセスの親プロセスが不審なプロセスではない場合は、前記新たに作成されたプロセスがプロセスフィルタリングにより不審なプロセスとして確定される場合にのみ、前記新たに作成されたプロセスのために対応の監視されるプロセス集合を作成することを特徴とする請求項1記載の方法。
  5. 前記プロセスフィルタリングは、
    前記新たに作成されたプロセスに対応するプログラムファイルが既知の安全プロセスファイル、システムファイル、又はデフォルトの安全プログラムファイルであるか否かを判定するステップを含み、
    否定であれば、不審なプロセスとして確定されることを特徴とする請求項4記載の方法。
  6. 前記捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作を発生させるプロセスの情報を含むことを特徴とする請求項2記載の方法。
  7. 前記判定ステップは、
    監視される動作の対象の情報と捜索された前記監視されるプロセス集合における前記履歴記録とを照合するステップと、
    照合の結果に応じて、監視される動作が悪意ある行為に属するか否かを判定するステップと、
    を含むことを特徴とする請求項6記載の方法。
  8. 監視される動作の対象は、監視される動作で操作するファイルであり、
    かつ、前記照合ステップは、監視される動作で操作するファイルと前記履歴記録における履歴ファイルのフルパス情報を照合するステップを含む、ことを特徴とする請求項7記載の方法。
  9. 監視される動作の対象は、監視される動作で操作するファイルであり、
    かつ、前記照合ステップは、監視される動作で操作するファイルと前記履歴記録における履歴ファイルのファイルコンテンツを照合するステップを含む、ことを特徴とする請求項7記載の方法。
  10. 前記照合されるファイルは、全て実行可能ファイルであり、かつ、前記ファイルコンテンツの照合ステップは、さらに、
    監視される動作で操作するファイルと前記履歴記録における履歴ファイルのコードエリアのコンテンツを照合するステップを含むことを特徴とする請求項9記載の方法。
  11. 前記コードエリアのコンテンツを照合するステップは、
    照合される2つの前記実行可能ファイルの構造を分析して、前記実行可能ファイルのプログラムエントリーポイントを取得するステップと、
    実行可能ファイルのセクションテーブルを分析して、前記実行可能ファイルのプログラムエントリーポイントが所在のセクションをそれぞれ見つけるステップと、
    見つけた2つの実行可能ファイルのセクションの大きさを照合するステップと、
    2つの実行可能ファイルのプログラムエントリーポイントが所在のセクションのコンテンツを取得して、二進法照合を行うステップと、
    を含み、
    前記セクションのコンテンツが同一である場合は、2つの実行可能ファイルが同一のコードエリアを有すると認められることを特徴とする請求項10記載の方法。
  12. 前記判定ステップは、さらに、
    監視される動作が、悪意ある行為を発生させる可能性があるシステムコールに属するか否かを判定するステップを含むことを特徴とする請求項6記載の方法。
  13. 前記捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作の対象の情報を含むことを特徴とする請求項2記載の方法。
  14. 監視される動作の対象は、監視される動作で操作するファイルであり、
    かつ、前記捜索ステップは、
    全ての監視されるプロセス集合の履歴記録中に、監視される動作で操作するファイルの情報を捜索するステップを含む、ことを特徴とする請求項7記載の方法。
  15. 前記コンピュータプログラムの動作を監視するステップは、さらに、アンチウイルスエンジンがウイルスを見つけた動作を含み、
    前記捜索ステップは、前記見つけたウイルスのウイルスファイルの情報に基づき、履歴記録中に前記見つけたウイルスファイルの情報を含む、監視されるプロセス集合を捜索するステップを含む、ことを特徴とする請求項2記載の方法。
  16. コンピュータプログラムの悪意ある行為を見つける装置であって、
    コンピュータプログラムが実行する動作を監視する監視モジュールと、
    監視されるプロセス集合のライブラリーに、監視される動作に関する、作成関係に互いに関連する少なくとも一つの不審なプロセスの情報を含む監視されるプロセス集合を捜索する捜索モジュールと、
    監視される動作に関する前記監視されるプロセス集合を捜索した場合には、捜索された前記監視されるプロセス集合に記載の情報に基づき、関連性分析により監視される動作が悪意ある行為に属するか否かを判定する判定モジュールと、
    を含むことを特徴とする装置。
  17. 前記監視されるプロセス集合は、前記少なくとも一つの不審なプロセスのプロセス識別子と、前記少なくとも一つの不審なプロセスに対応するプログラムファイルと、前記少なくとも一つの不審なプロセスが実行する動作及び当該動作により発生するデータの履歴記録とを含むことを特徴とする請求項16記載の装置。
  18. 新たに作成されたプロセスの親プロセスが、監視されるプロセス集合における不審なプロセスである場合には、前記新たに作成されたプロセスが不審なプロセスとして確定されて、その監視されるプロセス集合を作成することを許可し、新たに作成されたプロセスの親プロセスが不審なプロセスではなく、かつそれに対応するプログラムファイルが安全ファイルである場合は、前記新たに作成されたプロセスをフィルタリングして排除し、その監視されるプロセス集合を作成することを許可しないプロセスフィルタリングモジュールをさらに含むことを特徴とする請求項16記載の装置。
  19. 前記監視モジュールで監視される動作は、さらに、アンチウイルスエンジンがウイルスを見つけた動作を含み、
    前記捜索モジュールは、前記見つけたウイルスのウイルスファイルの情報に基づき、履歴記録中に前記見つけたウイルスファイルの情報を含む、監視されるプロセス集合を捜索することを特徴とする請求項17記載の装置。
  20. 前記捜索モジュールで捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作を発生させるプロセスの情報を含むことを特徴とする請求項16記載の装置。
  21. 前記捜索モジュールで捜索された、監視される動作に関する前記監視されるプロセス集合は、監視される動作の対象の情報を含むことを特徴とする請求項16記載の装置。
JP2010529219A 2007-10-15 2008-10-15 コンピュータプログラムの悪意ある行為を見つける方法及び装置 Expired - Fee Related JP5011436B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710162442.6 2007-10-15
CN2007101624426A CN101350052B (zh) 2007-10-15 2007-10-15 发现计算机程序的恶意行为的方法和装置
PCT/CN2008/072698 WO2009049555A1 (fr) 2007-10-15 2008-10-15 Procédé et appareil pour détecter le comportement malveillant d'un programme informatique

Publications (2)

Publication Number Publication Date
JP2011501279A true JP2011501279A (ja) 2011-01-06
JP5011436B2 JP5011436B2 (ja) 2012-08-29

Family

ID=40268839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529219A Expired - Fee Related JP5011436B2 (ja) 2007-10-15 2008-10-15 コンピュータプログラムの悪意ある行為を見つける方法及び装置

Country Status (6)

Country Link
US (1) US8898775B2 (ja)
EP (1) EP2219130A4 (ja)
JP (1) JP5011436B2 (ja)
CN (1) CN101350052B (ja)
HK (1) HK1124414A1 (ja)
WO (1) WO2009049555A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013508823A (ja) * 2009-10-15 2013-03-07 マカフィー・インコーポレーテッド リンクファイルを使用したマルウェアの検出およびマルウェアへの対応
JP2013168141A (ja) * 2012-01-31 2013-08-29 Trusteer Ltd マルウェアの検出方法
JP2014520338A (ja) * 2011-06-23 2014-08-21 インカ インターネット カンパニー リミテッド ネットワークアクセス制御システムおよび方法
JP2018524756A (ja) * 2015-07-24 2018-08-30 ビットディフェンダー アイピーアール マネジメント リミテッド 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法
CN110826067A (zh) * 2019-10-31 2020-02-21 深信服科技股份有限公司 一种病毒检测方法、装置、电子设备及存储介质

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499350B1 (en) * 2009-07-29 2013-07-30 Symantec Corporation Detecting malware through package behavior
FI20060665A0 (fi) * 2006-07-07 2006-07-07 Nokia Corp Poikkeavuuden havaitseminen
CN101350052B (zh) 2007-10-15 2010-11-03 北京瑞星信息技术有限公司 发现计算机程序的恶意行为的方法和装置
CN101350054B (zh) * 2007-10-15 2011-05-25 北京瑞星信息技术有限公司 计算机有害程序自动防护方法及装置
US8935789B2 (en) * 2008-07-21 2015-01-13 Jayant Shukla Fixing computer files infected by virus and other malware
KR101671795B1 (ko) * 2010-01-18 2016-11-03 삼성전자주식회사 동적 링크 라이브러리 삽입 공격을 방지하는 컴퓨터 시스템 및 방법
CN103106366B (zh) * 2010-08-18 2016-05-04 北京奇虎科技有限公司 一种基于云的样本数据库动态维护方法
WO2012046406A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 情報処理装置およびアプリケーション不正連携防止方法
CN102163161B (zh) * 2011-04-01 2018-09-25 奇智软件(北京)有限公司 一种进程管理方法及装置
RU2454705C1 (ru) * 2011-04-19 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
CN102194072B (zh) * 2011-06-03 2012-11-14 奇智软件(北京)有限公司 一种处理计算机病毒的方法、装置及系统
CN102253863B (zh) * 2011-06-15 2017-05-03 奇智软件(北京)有限公司 一种进程关闭方法
CN102855129B (zh) * 2011-06-29 2015-08-19 奇智软件(北京)有限公司 自动创建独立进程的方法及其系统
CN102289616A (zh) * 2011-06-30 2011-12-21 北京邮电大学 移动智能终端中系统资源恶意侵占的防范方法和系统
US8732831B2 (en) * 2011-07-14 2014-05-20 AVG Netherlands B.V. Detection of rogue software applications
CN102222194A (zh) * 2011-07-14 2011-10-19 哈尔滨工业大学 Linux主机计算环境安全保护的模块及方法
US9288226B2 (en) * 2011-07-14 2016-03-15 AVG Netherlands B.V. Detection of rogue software applications
CN102331965A (zh) * 2011-09-15 2012-01-25 深圳桑菲消费通信有限公司 终端资源管理的方法
CN102761458B (zh) * 2011-12-20 2014-11-05 北京安天电子设备有限公司 一种反弹式木马的检测方法和系统
US20130239214A1 (en) * 2012-03-06 2013-09-12 Trusteer Ltd. Method for detecting and removing malware
KR101212497B1 (ko) * 2012-05-02 2012-12-14 주식회사 팀스톤 컴퓨팅 장치에서 수행되는 자원 모니터링 방법 및 컴퓨팅 장치
CN102819713B (zh) * 2012-06-29 2015-09-16 北京奇虎科技有限公司 一种检测弹窗安全性的方法和系统
US9245120B2 (en) 2012-07-13 2016-01-26 Cisco Technologies, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning
CN103049695B (zh) * 2012-12-11 2015-12-09 北京奇虎科技有限公司 一种计算机病毒的监控方法和装置
CN103020524B (zh) * 2012-12-11 2015-08-05 北京奇虎科技有限公司 计算机病毒监控系统
CN103902892B (zh) * 2012-12-24 2017-08-04 珠海市君天电子科技有限公司 基于行为的病毒防御方法及系统
CN104050413A (zh) * 2013-03-13 2014-09-17 腾讯科技(深圳)有限公司 一种数据处理的方法及终端
CN103413091B (zh) * 2013-07-18 2016-01-20 腾讯科技(深圳)有限公司 恶意行为的监控方法及装置
US9323931B2 (en) 2013-10-04 2016-04-26 Bitdefender IPR Management Ltd. Complex scoring for malware detection
US20150113644A1 (en) * 2013-10-21 2015-04-23 Trusteer, Ltd. Exploit Detection/Prevention
CN103679024B (zh) * 2013-11-19 2015-03-25 百度在线网络技术(北京)有限公司 病毒的处理方法及设备
US9710648B2 (en) * 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US10102374B1 (en) 2014-08-11 2018-10-16 Sentinel Labs Israel Ltd. Method of remediating a program and system thereof by undoing operations
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
CN105809033A (zh) * 2014-12-30 2016-07-27 北京奇虎科技有限公司 恶意进程处理方法及装置
CN106033513A (zh) * 2015-03-13 2016-10-19 阿里巴巴集团控股有限公司 软件检测方法及设备
GB201504612D0 (en) * 2015-03-18 2015-05-06 Inquisitive Systems Ltd Forensic analysis
US9798878B1 (en) * 2015-03-31 2017-10-24 Symantec Corporation Systems and methods for detecting text display manipulation attacks
CN104850793B (zh) * 2015-05-28 2017-09-29 成都中科创达软件有限公司 一种安卓系统智能控制管理方法
CN104866760B (zh) * 2015-06-01 2017-10-10 成都中科创达软件有限公司 一种智能手机安全防护方法
CN104866761B (zh) * 2015-06-01 2017-10-31 成都中科创达软件有限公司 一种高安全性安卓智能终端
CN104955043B (zh) * 2015-06-01 2018-02-16 成都中科创达软件有限公司 一种智能终端安全防护系统
CN105354487B (zh) * 2015-10-23 2018-10-16 北京金山安全软件有限公司 应用监控处理方法、装置及终端设备
CN106650438A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 一种恶意程序检测的方法及装置
US10440036B2 (en) * 2015-12-09 2019-10-08 Checkpoint Software Technologies Ltd Method and system for modeling all operations and executions of an attack and malicious process entry
US10880316B2 (en) 2015-12-09 2020-12-29 Check Point Software Technologies Ltd. Method and system for determining initial execution of an attack
CN105574410B (zh) * 2015-12-15 2018-07-31 北京金山安全软件有限公司 一种应用程序的安全检测方法及装置
CN105608375A (zh) * 2015-12-17 2016-05-25 北京金山安全软件有限公司 一种进程信息获取方法及装置
CN105608377A (zh) * 2015-12-24 2016-05-25 国家电网公司 一种信息系统进程安全管理系统及管理方法
CN105630636A (zh) * 2016-01-26 2016-06-01 陈谦 一种智能电子设备操作系统的动态恢复方法及其装置
CN107292169B (zh) * 2016-03-31 2021-04-16 阿里巴巴集团控股有限公司 恶意软件的威胁溯源方法及装置
CN106156610B (zh) * 2016-06-29 2019-02-12 珠海豹趣科技有限公司 一种进程路径获取方法、装置和电子设备
CN106156612B (zh) * 2016-07-04 2019-04-26 北京金山安全软件有限公司 防止用户界面特权隔离被攻击的方法、装置及终端设备
CN106169049B (zh) * 2016-07-12 2019-04-09 珠海豹趣科技有限公司 一种处理线程注册的方法、装置及电子设备
CN106228062B (zh) * 2016-07-12 2019-04-26 珠海豹趣科技有限公司 一种处理进程注册的方法、装置及电子设备
CN106560833A (zh) * 2016-07-22 2017-04-12 哈尔滨安天科技股份有限公司 一种基于文件头检测感染式病毒的方法及系统
CN107666464B (zh) * 2016-07-28 2020-11-06 腾讯科技(深圳)有限公司 一种信息处理方法及服务器
CN106709330B (zh) * 2016-07-29 2020-04-21 腾讯科技(深圳)有限公司 记录文件执行行为的方法及装置
US11120106B2 (en) 2016-07-30 2021-09-14 Endgame, Inc. Hardware—assisted system and method for detecting and analyzing system calls made to an operating system kernel
US10534910B1 (en) * 2016-10-04 2020-01-14 Hewlett-Packard Development Company, L.P. Using threat model to monitor host execution
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11151247B2 (en) 2017-07-13 2021-10-19 Endgame, Inc. System and method for detecting malware injected into memory of a computing device
US11151251B2 (en) * 2017-07-13 2021-10-19 Endgame, Inc. System and method for validating in-memory integrity of executable files to identify malicious activity
JP2020530922A (ja) 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス
CN107517226B (zh) * 2017-09-30 2021-03-19 北京奇虎科技有限公司 基于无线网络入侵的报警方法及装置
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
US10671725B2 (en) * 2018-03-20 2020-06-02 Didi Research America, Llc Malicious process tracking
CN109255238B (zh) * 2018-08-24 2022-01-28 成都网思科平科技有限公司 终端威胁检测与响应方法及引擎
CN110866253B (zh) * 2018-12-28 2022-05-27 北京安天网络安全技术有限公司 一种威胁分析方法、装置、电子设备及存储介质
CN109784051B (zh) * 2018-12-29 2021-01-15 360企业安全技术(珠海)有限公司 信息安全防护方法、装置及设备
JP7278423B2 (ja) 2019-05-20 2023-05-19 センチネル ラブス イスラエル リミテッド 実行可能コード検出、自動特徴抽出及び位置独立コード検出のためのシステム及び方法
CN111027071B (zh) * 2019-12-19 2024-05-24 北京安天网络安全技术有限公司 一种威胁程序全行为关联分析方法及装置
CN111177665B (zh) * 2019-12-27 2022-02-11 浙大网新科技股份有限公司 一种新生成可执行文件的安全追溯方法
CN111310179B (zh) * 2020-01-22 2024-07-09 腾讯科技(深圳)有限公司 计算机病毒变种的分析方法、装置和计算机设备
CN115023699A (zh) * 2020-03-24 2022-09-06 深圳市欢太科技有限公司 恶意进程的检测方法、装置、电子设备及存储介质
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
CN113312201A (zh) * 2021-06-23 2021-08-27 深信服科技股份有限公司 一种异常进程的处置方法及相关装置
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
CN114692151B (zh) * 2022-04-08 2023-07-18 成都理工大学 一种u盘病毒的发现方法及其应用工具

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119754A (ja) * 2004-10-19 2006-05-11 Fujitsu Ltd ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
JP2006330864A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd サーバ計算機システムの制御方法
JP2008021274A (ja) * 2006-06-15 2008-01-31 Interlex Inc プロセス監視装置及び方法
JP2009500706A (ja) * 2005-06-30 2009-01-08 プレヴィクス リミテッド マルウェアに対処する方法及び装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2196A (en) * 1841-07-29 Improvement in saw-mill dogs
US6321338B1 (en) * 1998-11-09 2001-11-20 Sri International Network surveillance
US6973578B1 (en) * 2000-05-31 2005-12-06 Networks Associates Technology, Inc. System, method and computer program product for process-based selection of virus detection actions
AU2001294089A1 (en) 2000-08-18 2002-02-25 Camelot Information Technologies Ltd. A system and method for a greedy pairwise clustering
JP3790661B2 (ja) * 2000-09-08 2006-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御システム
CA2436710C (en) 2001-01-31 2011-06-14 Lancope, Inc. Network port profiling
CN1282083C (zh) 2001-09-14 2006-10-25 北京瑞星科技股份有限公司 计算机内存病毒监控和带毒运行方法
US7549164B2 (en) * 2003-06-11 2009-06-16 Symantec Corporation Intrustion protection system utilizing layers and triggers
US7152242B2 (en) * 2002-09-11 2006-12-19 Enterasys Networks, Inc. Modular system for detecting, filtering and providing notice about attack events associated with network security
US20040143749A1 (en) * 2003-01-16 2004-07-22 Platformlogic, Inc. Behavior-based host-based intrusion prevention system
US10110632B2 (en) * 2003-03-31 2018-10-23 Intel Corporation Methods and systems for managing security policies
US20040225877A1 (en) 2003-05-09 2004-11-11 Zezhen Huang Method and system for protecting computer system from malicious software operation
CN1329828C (zh) 2003-08-06 2007-08-01 华为技术有限公司 一种防止计算机病毒的方法及装置
CN1300982C (zh) * 2003-12-05 2007-02-14 中国科学技术大学 一种分层协同的网络病毒和恶意代码识别方法
EP1695167A1 (en) * 2003-12-17 2006-08-30 Telecom Italia S.p.A. Method and apparatus for monitoring operation of processing systems, related network and computer program product therefor
US20060037075A1 (en) * 2004-03-10 2006-02-16 Frattura David E Dynamic network detection system and method
JP4643204B2 (ja) 2004-08-25 2011-03-02 株式会社エヌ・ティ・ティ・ドコモ サーバ装置
USH2196H1 (en) * 2004-09-30 2007-07-03 Symantec Corporation Method for intercepting specific system calls in a specific application from applications space for security
US20060075494A1 (en) * 2004-10-01 2006-04-06 Bertman Justin R Method and system for analyzing data for potential malware
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
CN100557545C (zh) * 2004-12-31 2009-11-04 福建东方微点信息安全有限责任公司 一种区分有害程序行为的方法
CN100547513C (zh) 2005-02-07 2009-10-07 福建东方微点信息安全有限责任公司 基于程序行为分析的计算机防护方法
US8046831B2 (en) * 2005-03-02 2011-10-25 Actiance, Inc. Automating software security restrictions on system resources
US20070067844A1 (en) * 2005-09-16 2007-03-22 Sana Security Method and apparatus for removing harmful software
CN100401224C (zh) 2005-06-23 2008-07-09 福建东方微点信息安全有限责任公司 计算机反病毒防护系统和方法
CN100353277C (zh) * 2005-07-27 2007-12-05 毛德操 一种利用代理技术实现计算机病毒防治的方法
US20080134326A2 (en) * 2005-09-13 2008-06-05 Cloudmark, Inc. Signature for Executable Code
US7694134B2 (en) * 2005-11-11 2010-04-06 Computer Associates Think, Inc. System and method for encrypting data without regard to application
US8453243B2 (en) * 2005-12-28 2013-05-28 Websense, Inc. Real time lockdown
CN100461197C (zh) * 2006-05-16 2009-02-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法
CN101350054B (zh) * 2007-10-15 2011-05-25 北京瑞星信息技术有限公司 计算机有害程序自动防护方法及装置
CN101350052B (zh) 2007-10-15 2010-11-03 北京瑞星信息技术有限公司 发现计算机程序的恶意行为的方法和装置
CN101350053A (zh) * 2007-10-15 2009-01-21 北京瑞星国际软件有限公司 防止网页浏览器被漏洞利用的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119754A (ja) * 2004-10-19 2006-05-11 Fujitsu Ltd ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
JP2006330864A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd サーバ計算機システムの制御方法
JP2009500706A (ja) * 2005-06-30 2009-01-08 プレヴィクス リミテッド マルウェアに対処する方法及び装置
JP2008021274A (ja) * 2006-06-15 2008-01-31 Interlex Inc プロセス監視装置及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013508823A (ja) * 2009-10-15 2013-03-07 マカフィー・インコーポレーテッド リンクファイルを使用したマルウェアの検出およびマルウェアへの対応
US8863282B2 (en) 2009-10-15 2014-10-14 Mcafee Inc. Detecting and responding to malware using link files
JP2014520338A (ja) * 2011-06-23 2014-08-21 インカ インターネット カンパニー リミテッド ネットワークアクセス制御システムおよび方法
JP2013168141A (ja) * 2012-01-31 2013-08-29 Trusteer Ltd マルウェアの検出方法
JP2018524756A (ja) * 2015-07-24 2018-08-30 ビットディフェンダー アイピーアール マネジメント リミテッド 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法
CN110826067A (zh) * 2019-10-31 2020-02-21 深信服科技股份有限公司 一种病毒检测方法、装置、电子设备及存储介质
CN110826067B (zh) * 2019-10-31 2022-08-09 深信服科技股份有限公司 一种病毒检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2009049555A1 (fr) 2009-04-23
US8898775B2 (en) 2014-11-25
EP2219130A1 (en) 2010-08-18
CN101350052A (zh) 2009-01-21
HK1124414A1 (en) 2009-07-10
JP5011436B2 (ja) 2012-08-29
EP2219130A4 (en) 2011-11-02
US20100293615A1 (en) 2010-11-18
CN101350052B (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
JP5011436B2 (ja) コンピュータプログラムの悪意ある行為を見つける方法及び装置
CN109583193B (zh) 目标攻击的云检测、调查以及消除的系统和方法
EP3474176B1 (en) System and method of detecting a malicious file
EP3420489B1 (en) Cybersecurity systems and techniques
US10291634B2 (en) System and method for determining summary events of an attack
JP4807970B2 (ja) 自動開始拡張ポイントを介したスパイウェアおよび不要ソフトウェアの管理
RU2589862C1 (ru) Способ обнаружения вредоносного кода в оперативной памяти
US9516060B2 (en) Malware analysis methods and systems
Bayer et al. A View on Current Malware Behaviors.
Wang et al. Detecting stealth software with strider ghostbuster
US8190868B2 (en) Malware management through kernel detection
US7627898B2 (en) Method and system for detecting infection of an operating system
US7784098B1 (en) Snapshot and restore technique for computer system recovery
US7665123B1 (en) Method and apparatus for detecting hidden rootkits
US7669059B2 (en) Method and apparatus for detection of hostile software
EP2245572B1 (en) Detecting rootkits over a storage area network
JP2014038596A (ja) 悪意ある実行ファイルの識別方法
Shan et al. Safe side effects commitment for OS-level virtualization
WO2015007224A1 (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
WO2014071867A1 (zh) 程序处理方法和系统,用于程序处理的客户端和服务器
EP2306356B1 (en) Asynchronous processing of events for malware detection
US8201253B1 (en) Performing security functions when a process is created
RU2583714C2 (ru) Агент безопасности, функционирующий на уровне встроенного программного обеспечения, с поддержкой безопасности уровня операционной системы
Poeplau et al. A honeypot for arbitrary malware on USB storage devices
Zhang et al. Android malware detection combined with static and dynamic analysis

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

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

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

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees