JP3079087B2 - マクロ・ウイルスを発生する方法及びシステム - Google Patents

マクロ・ウイルスを発生する方法及びシステム

Info

Publication number
JP3079087B2
JP3079087B2 JP10297935A JP29793598A JP3079087B2 JP 3079087 B2 JP3079087 B2 JP 3079087B2 JP 10297935 A JP10297935 A JP 10297935A JP 29793598 A JP29793598 A JP 29793598A JP 3079087 B2 JP3079087 B2 JP 3079087B2
Authority
JP
Japan
Prior art keywords
file
macro
virus
victim
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10297935A
Other languages
English (en)
Other versions
JPH11249893A (ja
Inventor
ジャン−ミシェル・ヤン・ブレイ
オウガスト・ティー・ペトリロ
モートン・グレゴリィ・スウィマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11249893A publication Critical patent/JPH11249893A/ja
Application granted granted Critical
Publication of JP3079087B2 publication Critical patent/JP3079087B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ・ウイルスの自動分析に関し、さらに具体的には
コンピュータ・ウイルスの複数のサンプルを作成する自
動的方法及び装置に関する。
【0002】
【従来の技術】コンピュータ・ウイルスの複製は、ウイ
ルスの分析を始める前の重要な第1ステップである。複
製が正しく実行されれば、それは(イ)分析者に疑わし
いウイルスが本当にウイルスであることの証明を与え、
(ロ)分析者がその分析の基礎を置くことができるウイ
ルス・サンプルを与える。例えば、ウイルス・サンプル
を使用して、ウイルスのすべてのインスタンスに不変に
残存するウイルスの「証跡」を引き出すことができる。
【0003】過去数年の間に、多数の異なった種類のコ
ンピュータ・ウイルスが発見された。本発明に最も関連
するコンピュータ・ウイルスの種類はマクロ・ウイルス
と呼ばれるものである。その名前は、マクロ・ウイルス
がアプリケーションのマクロ言語の中で実行されるよう
に意図されていることに由来する。これと対照的に、バ
イナリー・ファイル・ウイルス及びブートセクタ・ウイ
ルスはマシンのオペレーティング・システムのもとでマ
シン・コードの中で直接実行される。
【0004】コンピュータ・マクロ・ウイルスは、それ
らの目標アプリケーションがロードされ機能するように
アクティブであることを必要とする。これらのウイルス
は、アプリケーションがマクロの動作を制限する程度ま
で、それらの機能を制限される。実際には、マクロ言語
(マクロ・ウイルスの意図された目標)は、マクロが実
行するように許されるアクションをほとんど制限しな
い。
【0005】コンピュータ・マクロ・ウイルス(今後、
誤解されるおそれがない限り、単に「ウイルス」と呼
ぶ)に感染している疑いがあるドキュメント又は他のデ
ータ・サンプルが分析のためにコンピュータ・ウイルス
検査室で受け取られたとき、受け取られたウイルス容疑
サンプルから、できるだけ多数及び多種のサンプルを発
生することが重要である。従来まで、これは、手作業
で、サンプルをその適当なアプリケーションにロード
し、サンプルが感染ファイル(それ自身の追加のコピ
ー)を発生するまでサンプルを試行することによって行
われた。この試行が失敗すると、疑わしいウイルスは、
ウイルスではないと宣言された。分析に疑いがある場合
には、疑わしいウイルスは、ウイルスの性質を手作業で
決定するために分析者によって切り離すことができた。
【0006】疑わしいウイルスが複製されると、十分の
サンプルを発生し、発生されたサンプルが多様な性質の
ものであることが重要である。これは、各種の労働集約
的プロセスによって達成することができる。多様性を達
成するためには、分析者は、外国語バージョンを含む目
標アプリケーションの各種のバージョン上で複製プロセ
スを反復することができる。これは、同じアプリケーシ
ョン・プログラムの異なったバージョンは、同じウイル
スの異なったバイナリー表現を発生することができるの
で、重要な考慮である。同様に、ウイルスはアプリケー
ションの異なったバージョンでは異なった特性を取るか
も知れないが、依然としてそのウイルス性を維持する。
【0007】典型的には、1つのアプリケーション・バ
ージョンごとに例えば6つを超えるサンプルを発生する
必要はないが、場合によっては、6つより多いサンプル
を発生しなければならない。特に、マクロ・テキストの
相違の程度が大きい場合、分析の後の段階で正しい分析
とテストを保証するため、より多くのサンプルを発生す
る必要がある。
【0008】従来のアプローチに伴う1つの問題は、ウ
イルス分析を正しく行うとすれば、それは長時間の労働
集約的プロセスになることである。もし手を省いて近道
をとると、発生されたサンプル数の多様性は不十分とな
るか、その数があまりにも少なくなり、そのような欠点
は後の分析に悪い影響を及ぼす。
【0009】多形マクロ・ウイルスは「変異」すること
のできるウイルスである。すなわち、それは、ウイルス
の元のバージョンとの比較をより困難にするために、そ
の実行中又は実行の後でウイルス・コードを変更するこ
とができる。
【0010】各種のコンピュータ・ウイルス(必ずしも
マクロ・ウイルスではない)の検出、除去、通知の手法
については、同じように譲渡された次の米国特許を参照
することができる。すなわち、1995年8月8日に発
行されたArnoldその他による「コンピュータ及び
コンピュータ・ネットワークのための自動免疫システ
ム」と題する米国特許第5,440,723号、1995
年9月19日に発行されたKephartによる「コン
ピュータ・ウイルス及び他の望ましくないソフトウェア
・エンティティの証跡を評価・抽出する方法及び装置」
と題する米国特許第5,452,442号、1996年1
月16日に発行されたChessその他による「コンピ
ュータ・ウイルス構造の自動分析及びそのホストへの付
加手段」と題する米国特許第5,485,575号、19
96年11月5日に発行されたChessによる「複数
の証跡を使用するディジタル情報への悪意の変更の弁
別」と題する米国特許第5,572,590号、1997
年3月18日に発行されたKephartその他による
「コンピュータ・ウイルスに感染したプログラムの一般
的消毒」と題する米国特許第5,613,002号。これ
らの同じように譲渡された米国特許の開示は、それが本
発明の教示と抵触しない限りにおいて、ここに参照によ
って組み込まれる。
【0011】
【発明が解決しようとする課題】コンピュータ・ウイル
ス、特にマクロ・ウイルスを自動的に複製する方法及び
システムを提供することが、本発明の第1の目的及び利
点である。
【0012】疑わしいマクロ・ウイルスの分析を容易に
するために感染したファイルの多様な個体群を発生し、
多形マクロ・ウイルスの存在を検出・識別する確率が増
大するように、疑わしいマクロ・ウイルスを自動的に複
製する方法及びシステムを提供することが、本発明の他
の目的及び利点である。
【0013】
【課題を解決するための手段】前記及び他の問題の克
服、及び目的及び利点の実現は、本発明に従う方法及び
装置によって可能となるが、本発明の方法及び装置は、
疑わしいウイルスの多様なサンプルを十分な数だけ発生
してウイルスの十分な分析を可能にする自動的方法を実
現する。
【0014】本発明の方法は、高い成功率を有するサン
プルを発生するような方式でウイルスに固有なアプリケ
ーションを制御する。この方法は、ウイルスの異なった
表現及び/又はウイルスの異なった行動を発生するアプ
リケーションの種々のバージョンのもとでサンプルを発
生し、ウイルスの異なったテキスト表現を生成する。ウ
イルス・テキスト内に意図的な統計変動を発生するウイ
ルスの場合、この方法はそのケースを識別して追加のサ
ンプルを発生する。
【0015】本明細書において、アプリケーションに固
有の又は関連したコンピュータ・マクロ・ウイルスの少
なくとも1つのインスタンスを自動的に発生するシステ
ム及び方法の双方が開示される。この方法は、(イ)疑
わしいウイルス・サンプルを提供するステップ、及び
(ロ)感染した犠牲ファイルを発生するために、アプリ
ケーションを通して犠牲ファイルを試行する模擬ユーザ
入力(キーストローク、マウス・クリック、など)又は
プロセス間通信(IPC)コマンドの少なくとも1つを
含む一連のコマンドを使用して、疑わしいウイルス・サ
ンプルを犠牲ファイルに複製するステップを含む。ここ
で、犠牲ファイルはウイルスへ「犠牲として与えられ
る」ファイルである。さらに、この方法は、(ハ)追加
の感染した犠牲ファイルを発生するために、模擬ユーザ
入力(キーストロークなど)又はプロセス間通信コマン
ドの少なくとも1つを含む一連のコマンドを使用して、
感染した犠牲ファイルを他の犠牲ファイルへ複製するス
テップを含むことができる。提供するステップは、疑わ
しいウイルス・サンプルの属性を決定するステップを含
み、試行するステップは、決定された属性に少なくとも
部分的に基づいて選択される模擬ユーザ入力又はプロセ
ス間通信コマンドを使用する。
【0016】並行プロセスとして、試行するステップは
ウィンドウ(例えば、アプリケーション又はマクロ・ウ
イルスの1つによってオープンされるポップアップ・ウ
ィンドウ)の発生を検出し、例えば、模擬キーストロー
ク又はプロセス間通信コマンドの少なくとも1つを使用
することによって、オープンされたウィンドウをクロー
ズするステップを含む。このようにして、複製プロセス
はユーザからの入力を必要とするウィンドウによって停
止されない。
【0017】複製するステップの各々は、アプリケーシ
ョン・オープン、アプリケーション・クローズ、及びド
キュメント操作コマンドのような一連のアプリケーショ
ン・コマンドを発生するために複数のスクリプトを解釈
するステップを含む。
【0018】複製するステップは、犠牲ファイルの変更
(例えば、犠牲ファイルにおける既存マクロの変更、又
は新しいマクロの発生)を検出するために、試行された
犠牲ファイルを犠牲ファイルの安全コピーと比較し、そ
のような変更された犠牲ファイルが感染した犠牲ファイ
ルであると宣言し、それによって、後続の分析のために
マクロ・ウイルスのインスタンスを発生するステップを
含む。
【0019】
【発明の実施の形態】本発明の実施例では、当面のアプ
リケーション、すなわちウイルスに感染するマクロ言語
をサポートするアプリケーションは、例えばMicro
soft Windows NT(商標)のもとで実行
されているパーソナル・コンピュータにインストールさ
れる。しかし、アプリケーションを実行するために正し
い機能を提供する任意のオペレーティング・システム
が、本発明を実行するために有利に使用できる。動的デ
ータ交換(DDE)及びオブジェクトの連携と埋め込み
(OLE)(これらの2つはプロセス間通信コマンドの
例である)、システム・コマンド、及び模擬ユーザ入力
(キーボード及びマウス事象)を送ることができるスク
リプト言語を使用して、アプリケーションを制御するの
が望ましい。アプリケーションはスクリプトの制御のも
とで実行される。さらに、スクリプトは、ウイルス中の
エラー又は他のエラーによってアプリケーションが異常
終了するか「ハング」したとき、アプリケーションの終
了を確実にする。さらに、スクリプトは、ウイルスから
のポップアップの発生、又は複製エンジン(図1を参
照)が実行を正しく継続するためにアプリケーションを
クローズしなければならない場合を検出する。
【0020】概略的には、ハードウェア環境は、アプリ
ケーション及びアプリケーションが依存するオペレーテ
ィング・システムをホストすることができる環境であ
る。ハードウェアは、例えば、Intel 80386
互換の中央処理ユニット(CPU)を有するインターナ
ショナル・ビジネス・マシーン(IBM)社のパーソナ
ル・コンピュータであるか、Power PC(商標)
CPUを有するApple Macintosh(商
標)コンピュータであってよい。しかし、これらは例に
すぎず、本発明の使用はこれらのハードウェア実施形態
のみに制限されないこと、及び当面のアプリケーション
を実行することのできる任意のハードウェア・プラット
フォームを有利に使用してよいことが理解されるであろ
う。
【0021】本発明の教示はMicrosoft Wo
rd(商標)として知られるアプリケーションとの関連
で説明される。Microsoft Word(商標)
は複製プロセスのための感染の目標として使用される。
再び、このことは制限的に解釈されてはならない。なぜ
なら、本発明の教示は、例えばMicrosoftEx
cel(商標)のような、マクロ言語を使用する他のア
プリケーションに同様に適用できるからである。データ
処理技術に通じる者に容易に理解できるように、これか
ら詳細に説明する方法は、アプリケーションのために書
かれたウイルスを成功裏に複製するために、各種のアプ
リケーションに適用することができる。
【0022】本発明は、少なくとも部分的に、アプリケ
ーションを制御しシステムを監視するために使用される
スクリプトで実現される。適切なスクリプト言語はC、
PERL、及びVisual Basic(商標)であ
る。なぜなら、それらは、模擬キーストローク及びマウ
ス事象をアプリケーションへ送ることを許すMicro
soft Windowsシステム・インタフェースと
同じように、Microsoft Windows(商
標)DDEアプリケーション・プログラミング・インタ
フェース(API)及びMicrosoft Wind
ows OLEAPIへのアクセスを許すからである。
しかし、これらは適切なスクリプト言語の単なる例であ
り、他のスクリプト言語を別個に又は組み合わせて有利
に使用してよいことは、当業者に理解されるところであ
ろう。さらに、スクリプトは、当業者に理解されるよう
に、一組のスクリプトとしても有利に実現することがで
きる。
【0023】以下の説明で、スクリプトは複製エンジン
(RE)の一部を形成している。
【0024】図8に示される概念的ブロック図を簡単に
説明すると、コンピュータ・システム1は次のものを含
む。すなわち、Microsoft Windows
NTのようなオペレーティング・システム(OS)2、
本実施例ではスクリプト言語用のコマンド・ファイル・
インタープリター3A及びスクリプト3Bから構成され
る複製エンジン3、Microsoft Wordのよ
うな当面のアプリケーション4、少なくとも1つのマク
ロ及び典型的には複数のマクロを含むマクロ群5(マク
ロ1、マクロ2、...、マクロn)を有するドキュメ
ントのような、分析されるべきデータ・サンプルであ
る。マクロ群5の1つは関連のウイルスを有するように
示される。感染したマクロ(ここではマクロ2)は、マ
クロ・ウイルス6又は単にウイルスと呼ばれる。
【0025】RE3は、1つの局面では、コマンド・フ
ァイル中のコマンドの個々の1つを表すスクリプトを順
番に解釈し、マクロ・ウイルス6を刺激してウイルス行
動を顕示させることを試みながらアプリケーション4及
びマクロ群5を試行する模擬入力(キーストローク、マ
ウス・アクティビティ、など)を発生することによっ
て、ユーザとアプリケーション4との相互作用を自動的
に模擬するように動作する。
【0026】さらに、RE3は、模擬入力などが所望の
結果を与えることができない場合、又は模擬入力などを
使用しない方が有利である場合、それらの代わりにプロ
セス間通信コマンド(コマンド・ファイルに指定され
る)を使用することができる。さらに、コマンド・ファ
イルのコマンドは、模擬入力及びプロセス間通信コマン
ドの組み合わせを表してもよい。所望の目的は、複数の
感染した犠牲ファイル7として示される、マクロ・ウイ
ルス6の追加の(望ましくは、多様な)サンプルを発生
することである。そうすれば、所望の結果である感染し
た犠牲ファイル7をさらに分析することができる。RE
3は、複製をトリガすることが知られているコマンドを
実行することによって、マクロ・ウイルス6を複製行動
へと駆り立てるように試みる。
【0027】例えば、Microsoft Word
(今後、単に「Word」と呼ぶ)では、マクロ群5は
2種類のマクロ(オートマクロ及び標準マクロ)に分類
することができる。オートマクロは、Wordが開始さ
れるとき(AutoExec)、Wordが遮断される
とき(AutoExit)、Wordがドキュメントを
オープンするとき(AutoOpen)、Wordがド
キュメントをクローズするとき(AutoClos
e)、Wordがテンプレートに基づいてドキュメント
を作成するとき(AutoNew)に、自動的にWor
dによって実行される。
【0028】オートマクロはウイルスの作成者に非常に
魅力的である。というのは、それらは、感染メカニズム
をトリガするのに必要なユーザ・アクションの量及びタ
イプを、ユーザがドキュメントを操作するときに実行し
なければならない動作に制限するからである。
【0029】もし標準マクロが、組み込みWordコマ
ンドの名前を有すると、それは、ユーザがそのコマンド
に関連した項目をメニューでクリックすることによっ
て、又はそのコマンドのキーボード・ショートカットを
キー入力することによって、そのコマンドを開始すると
きに実行される。
【0030】例えば、もしFileSaveマクロを有
するドキュメントがWordの英語版でアクティブであ
れば、このマクロは、ユーザがFileメニュー中のS
aveをクリックするかControlキー及びSキー
を押す度に実行される。さらに、標準マクロは他のマク
ロによって呼び出されることが可能であり、またキーボ
ード・ショートカットを割り当てられることができる。
【0031】本発明の教示に従えば、複製プロセスは、
マクロ・ウイルス6の標準マクロを呼び出し、オートマ
クロをトリガすることを目的として、いくつかのファイ
ルで種々の動作を実行することを含む。これらの動作
は、Wordの開始、Wordの終了、ファイルのオー
プン、ファイルの保管、異なった名前でのファイルの保
管、ファイルのクローズ、新規ファイルの作成、及びテ
キスト・ファイルの作成を含む。
【0032】キーストロークの模擬は2つの方法で使用
される。第1の方法は、マクロ・ウイルス6のマクロを
呼び出すかトリガすることによりそれを複製させるある
種のWordコマンドに関連したショートカット・キー
のキー入力を模擬することである。例えば、Wordの
英語版でControlキー及びOを押すと、マクロ・
ウイルス6がFileOpenマクロを有していれば、
そのマクロが呼び出される。第2の方法は、Wordに
よって表示されるある種のダイアログ・ボックスによっ
て必要とされる情報を送ることである。例えば、Con
trol及びOを押すと、典型的にはダイアログ・ボッ
クスが現れる。ユーザは、その中に、オープンされるフ
ァイルの名前と位置をキー入力することを期待されてい
る。RE3はそのようなウィンドウの表示を待ってお
り、キーストロークを模擬することによって必要な情報
をウィンドウへ送る。
【0033】キーボードのキーは、Win32APIを
介して特別のウィンドウ・メッセージをダイアログ・ボ
ックスへ送るか、ある種のプログラミング言語によって
提供される組み込み機能を使用することによって模擬さ
れる。
【0034】動的データ交換(DDE)は、WordB
asic命令をWordへ送るために使用される。次
に、Wordがそれらの命令を実行する。概略的には、
DDEは、アプリケーション間でデータを交換するため
に共用メモリを使用するプロセス間通信の1つの形式と
して、Microsoft Windowsで使用され
る。アプリケーションは、一時的データ転送、及び継続
的なデータの交換と更新にDDEを使用することができ
る。本発明の教示に従うDDEの使用は、2種のアクシ
ョンを生じる。すなわち、(イ)コマンドがマクロ・ウ
イルス6を介して実行されるときにエラーを発生するコ
マンドを直接実行するようにWordに強制すること、
及び(ロ)ファイルをナビゲートしてその内容を編集す
ることである。
【0035】第一種のアクションに関しては、コマンド
がDDEを介して送られるとき、それらはWordの組
み込みコマンドによって実行され、標準マクロをトリガ
しない。オートマクロは、他のコマンドの実行前にDi
sableAutoMacro DDEコマンドを送る
ことによって、トリガされないようにすることができ
る。次に、DisableAutoMacroを再び実
行することによって、オートマクロが能動化される。
【0036】この種のアクションは、マクロ・ウイルス
のある種の問題を迂回するために有用であって、迂回で
きないと、そのような問題が複製方法を失敗させる。例
えば、Wordの英語版で、所与のマクロ・ウイルス6
は感染マクロを含み、この感染マクロは、ファイル上で
特別のアクション(例えば、オープン、保管、又はクロ
ーズ)の実行が望まれるとき、エラーを発生する。しか
し、DDEを介してオープン、保管、又はクローズのコ
マンドを送ることによって、感染マクロは迂回され、プ
ロセスは継続することができる。
【0037】第二種のアクション、すなわちファイルを
ナビゲートしその内容を編集するアクションに関して
は、ある種のWordBasic命令がカーソルをファ
イルの終わり又は始まりへ移動させる点に注意すべきで
ある。それは、テキストを犠牲ファイルへ付け加えて、
マクロ・ウイルス6が観察することを期待する正常なユ
ーザ行動の範囲をより良好に模擬することが望まれる場
合に有用である。同じ効果はオブジェクトの連携及び埋
め込み(OLE)コマンドを使用して得られるが、Wo
rdはDDEを介して遮断を命令されることができる
が、OLEを介してはできない点が異なる。前に注意し
たように、DDE及びOLEは共に可能なプロセス間通
信コマンドの例である。しかし、本発明のテクニックを
実行するためには、任意適切なプロセス間通信を使用し
てよい。
【0038】前に注意したように、RE3の実施例はス
クリプト言語用のコマンド・ファイル・インタープリタ
ー3A及びスクリプト3Bから構成される。当業者に分
かるように、異なった方式でも同じ効果を達成できる。
例えば、1つの単一プログラムを使用することができ
る。
【0039】さらに、本発明の実施例は多数のデータベ
ース3Cを使用する。図8を参照すると、これらのデー
タベースは次のものを含む。すなわち、(イ)複製プロ
セスで使用される犠牲ファイル8A(例えば、ドキュメ
ント)の別名、アクティブ、及びバックアップのコピー
のクロス・リファレンスを記憶する犠牲データベース
8、(ロ)コマンドを、キーストロークの各国言語版と
DDEコマンドに相互参照するコマンド・クロス・リフ
ァレンス・データベース9、及び(ハ)種々の正規のダ
イアログ・ボックス及びウィンドウ、及びウィンドウと
交信するのに必要な適切なキーストロークに関する識別
情報を含む標準ウィンドウ・データベース10である。
さらに、メモリ・ブロック11で示されるように、アプ
リケーションのプロセスID及びウィンドウ・ハンド
ル、及びワード・アクティビティ(WA)変数12を記
憶するために、メモリ位置が使用される。この記憶され
るデータの使用については、後で説明する。
【0040】犠牲ファイル8Aは、サンプル作成の結果
を多様化し感染のチャンスを最大にするために、相互に
非常に異なっているWordファイルから構成されてよ
い。それらは異なったタイプ(ドキュメント、テンプレ
ート、及びグローバル・テンプレート)であってよく、
1つまたは複数のマクロを含むか、又はマクロを含まな
くてもよい。ドキュメントは異なったサイズであってよ
く、異なったテキストを含んでもよい。
【0041】RE3は「クリーン」のコンピュータ・シ
ステム1及び感染疑わしいマクロ・ウイルス6のサンプ
ルから開始する。図1を参照すると、1.1でサンプル
の属性が決定される。例えば、ドキュメントの言語及び
タイプ(例えば、テンプレートかプレーンのドキュメン
トか)が決定される。この情報は、複製プロセスを最適
化し、Wordの正しい各国言語版、キーストローク、
及びDDEコマンドを選択するのに有用である。ある場
合には、この情報はサンプルから提供されてもよく、そ
うでなければ情報は1.1でサンプルを分析することに
よって引き出される。
【0042】ウイルス・サンプルは、異なったタイプの
ファイルの1つとして提供されてもよい。ウイルス・サ
ンプルがアプリケーション、又はそれを複製させるのに
必要な一組のコマンドにロードされる方法は、そのタイ
プによって異なる。その場合、各タイプはそれに関連し
た複製コマンドの特別の集合を有する。
【0043】Wordウイルスの場合、ウイルス・サン
プルはドキュメント・テンプレート、グローバル・テン
プレート、又は(Wordのあるバージョンでは)ドキ
ュメントであってよい。ドキュメントとは、ユーザがア
プリケーションの中でオープンし、その中にユーザがテ
キストを書き込むファイルである。それらは、Word
の最新バージョンのためのカスタマイゼーション(例え
ば、マクロ)を含んでもよい。ドキュメント・テンプレ
ートとは、ユーザによって作成されたファイルであっ
て、ユーザはその中にカスタマイゼーション(例えば、
マクロ)を記憶することができる。これらのカスタマイ
ゼーションは、テンプレートがアクティブのときアクテ
ィブである。さらに、ユーザはテキストをテンプレート
へ書き込むことができる。グローバル・テンプレートは
特別のテンプレートであって、Wordは、その中に、
それが実行されるとき常にアクティブであることを要求
されるカスタマイゼーション(例えば、マクロ)を記憶
する。それは、ユーザの介入を全然必要としないで、開
始時にWordによって自動的にロードされる。もしサ
ンプルがドキュメント・テンプレート又はドキュメント
であれば、それは、一度Wordが実行されるとオープ
ンされる。もしサンプルがグローバル・テンプレートで
あれば、Wordのグローバル・テンプレートはWor
dの実行前にそれと置換される。
【0044】処理は、プレーンのドキュメントとドキュ
メント・テンプレートでは少し異なる。ステップ1.2
では、この方法はサンプル・タイプが既知であるかどう
かを決定する。もしイエスであれば、複製はステップ
1.3に進む(図7を参照)。もしサンプル・タイプが
既知でなければ、ステップ1.4でサンプルをドキュメ
ントへ複製する試みがなされる。その試みによって、感
染した犠牲ファイルを作成することができないと(ステ
ップ1.5)、ステップ1.6でサンプルをグローバル
・テンプレートとして複製する試みがなされる。これが
失敗すると(ステップ1.7)、サンプルはマクロ・ウ
イルス6ではない確率が高く、ステップ1.8で手作業
分析のためにマークされる。
【0045】犠牲ファイルは、既存マクロの変更又は新
しいマクロの発生を検出することによって感染を識別さ
れる。例えば、あるウイルスは、ファイルに感染するこ
となく単にそれらのテキストを変更することによってフ
ァイルを変更する。1つのそのようなウイルスはWaz
zu Wordウイルスとして知られ、そのウイルスは
ドキュメントのテキスト中にランダムに「wazzu」
の語を付け加える。しかし、このウイルスは、さらに'
autoclose'「オートクローズ」として知られ
るマクロをドキュメントにコピーすることによってドキ
ュメントに感染する。この例を続けて説明すると、オー
トクローズ・マクロが前に存在しなかったところで、そ
れが発見されるか、すでに存在したオートクローズ・マ
クロがWazzu Wordウイルスのオートクローズ
・マクロで上書きされていれば、その犠牲ファイルは感
染しているものとして識別される。
【0046】感染した犠牲ファイル7がステップ1.
9、1.5、又は1.7で発生されたことが発見される
と、ステップ1.10で、十分の数の感染犠牲ファイル
7が分析のために発生されたかどうかが決定される。感
染犠牲ファイル7の実際の分析は本発明の一部を構成せ
ず、これ以上詳細に説明しない。感染犠牲ファイル7の
正確な数は、マクロ・ウイルス6の性質及びマクロ・ウ
イルス6を分析するのに使用される方法に依存する。概
略的には、5又は6の感染犠牲ファイルが分析目的には
十分であるが、この数字よりも多い又は少ない感染犠牲
ファイルが使用されてよい。
【0047】さらに他のサンプル(そして、サンプルの
他の世代)を発生するために、元のサンプルそれ自体で
はなく、感染した犠牲ファイル7を使用して、複製プロ
セスを反復することが望ましい。この場合、ステップ
1.12で感染犠牲ファイルの1つが選択され、制御は
ステップ1.3に戻る。次に、この方法はステップ1.
1又はステップ1.4及び1.6でなされた分析を介し
て引き出された属性を使用して感染犠牲ファイル・サン
プルの現在のプールを通して反復される(ステップ1.
3、1.10、1.11、1.12)。
【0048】十分に複製するためのサンプルの不足は、
ステップ1.11で十分なサンプルの欠乏として決定さ
れる。その1つの可能な原因は、損傷したマクロ・ウイ
ルス6である。しかし、この条件はステップ1.8で手
作業で判断するのが望ましい。同様に、ステップ1.4
及び1.6で感染犠牲ファイルが発生されなかったこと
が発見されると、手作業の分析が必要であることが示さ
れる。
【0049】所与のサンプルがマクロ・ウイルス6であ
るかどうかを決定することは、基本的に不可能であるか
ら、これらの実施例で説明されたプロセスが失敗すれ
ば、どのように可能性が低くても、サンプルがウイルス
ではないと単純に想定することはできない。そのような
ものとして、手作業による分析が必要である。
【0050】ここで、図1のステップ1.3、1.4、
及び1.6で言及された複製プロセスを説明するために
図7を参照する。複製は、ステップ7.1で、マクロ・
ウイルス6の属性と一致したコマンド・ファイルをロー
ドすること、及びそれをインタープリターで実行するこ
とから構成される(図2を参照)。次に、コマンド・フ
ァイルの個々のコマンドは、マクロ・ウイルス6を複製
することを試みながら順番に解釈される。それが実行さ
れた後、この方法は、犠牲データベース8を使用して犠
牲ファイル8Aのバックアップ・コピーとアクティブの
犠牲ファイルとを比較する(ステップ7.2)。犠牲デ
ータベース8は、複製プロセスで使用される(アクティ
ブの)犠牲ファイル8Aを、Wordからアクセスされ
ないで記憶された同じファイルの保護されたコピーに相
関づける。
【0051】犠牲ファイルのマクロ領域を比較するため
にいくつかのツールが使用され、それによって犠牲ファ
イルが感染したかどうかが示される。ステップ7.3
で、犠牲ファイルのいくつかが感染していることを発見
されると、システムはステップ7.4で復元され(図6
を参照)、戻りが実行される。ステップ7.3で、感染
した犠牲ファイルが発見されないと、この方法は、ステ
ップ7.5でマクロ・ウイルス6の属性と一致する異な
ったコマンド・ファイルが存在するかどうかを決定す
る。もしイエスであれば、制御はステップ7.1へ戻
り、そうでなければ、システムはステップ7.6で復元
され、「感染した犠牲ファイル無し」の表示が発生され
て戻りが実行される。
【0052】ここで図2を参照すると、ステップ2.1
で、コマンド・ファイル・インタープリター3Aは、犠
牲データベース8をロードすることから開始する。犠牲
データベース8は、犠牲ファイル8Aを索引するために
コマンド・ファイル中で使用される別名を含む。次に、
それはステップ2.2で最初のコマンドを読み取り、コ
マンドの性質をステップ2.3で決定する。コマンドは
ドキュメントを操作する通常のコマンド、スタートWo
rdコマンド、又はクローズWordコマンドであって
よい。
【0053】もしコマンドがスタートWordであれ
ば、Wordの現在実行されているインスタンスを「ハ
ード」クローズするために、制御はステップ2.4へ渡
される。「ハード」クローズとは、コマンド・ファイル
・インタープリター3Aがプロセスを殺すためにWin
dows API呼び出しを使用することを意味する。
これはプロセスをクローズするのに最も安全な方法であ
る。次に、Wordがステップ2.5で開始され、その
プロセスID及びウィンドウ・ハンドルがステップ2.
6で記録され、ステップ2.7でメモリ・ブロック11
に記憶される。次に、ポップアップ・キラー(図5を参
照)がステップ2.8で開始される。ポップアップ・キ
ラーは、Wordの元のコピーを位置づけるために、W
ordのウィンドウ・ハンドルを使用する。このプロセ
スは、メインの複製プロセスと並行して実行され、典型
的にはマクロ・ウイルス6の活動の結果として現れコマ
ンド・ファイル・インタープリター3Aそれ自体によっ
ては処理されない迷走ポップアップ・ウィンドウを除去
する責任をもつ。
【0054】もしコマンドがステップ2.3でクローズ
Wordコマンドであると決定されると、「ソフト」ク
ローズ方法が最初に試みられる。ステップ2.9で、前
にメモリ・ブロック11に記憶されたプロセスID及び
ウィンドウ・ハンドルに基づいて、キーボード・フォー
カスが元のWordインスタンスに設定され、ステップ
2.10で、Wordのインスタンスをクローズするた
めに適切なキーストロークがそのインスタンスに送られ
る。この方法は、正常なユーザ行動をより良好に模擬す
ることを試みながら最初に使用され、これらキーストロ
ークの受け取りを期待しているマクロ・ウイルス6が感
染するか、又は感染を完了することを許す。
【0055】ステップ2.11で、もしWordがこの
方法によってクローズされたことを決定されると、プロ
セスは終了し、制御はステップ2.18へ渡される。も
しWordがクローズされなかったならば、ステップ
2.12で、オートマクロを無能化し次にWordをク
ローズするためにDDEを使用してWordをクローズ
する試みがなされる。ある種のウイルス・マクロはWo
rdの正しい終了に干渉するので、このアプローチが推
奨される。DDEはWordが自然に終了することを許
すがマクロ・ウイルスからの干渉を回避する。ステップ
2.13で、Wordがクローズされていると決定され
ると、制御はステップ2.18に渡される。もしWor
dが依然としてクローズされていなければ、ステップ
2.14で「ハード」クローズが実行される(ステップ
2.4を参照)。
【0056】ステップ2.3で、もしコマンドが通常の
Wordコマンドであると決定されると、制御はコマン
ドを実行するためにステップ2.15へ渡され(図3を
参照)、次にステップ2.16に渡されて、操作された
犠牲ファイルの名前(コマンドの引数から決定される)
が変更されたかどうかが決定される。もし変更されてい
れば、ステップ2.17で犠牲データベース8が更新さ
れ、制御はステップ2.18へ渡される。
【0057】ウイルスによる犠牲ドキュメントの感染は
時には犠牲ファイルの名前のサフィックスを変更する場
合があり、「doc」ではなく「dot」になっているかも知
れない。そのような変更が生じていれば、犠牲データベ
ース8はステップ2.17で更新され、制御はステップ
2.18へ渡される。他の変更が生じていれば(例え
ば、「anydoc.doc」から「document.doc」への変更)、
RE3はある種の障害が生じたものと想定し、その変更
を無視する。
【0058】ステップ2.18で、コマンド・ファイル
・インタープリター3Aは、他のコマンドが存在するか
どうかを決定する。もしイエスであれば、制御はステッ
プ2.2へ戻り、次のコマンドを実行する。そうでなけ
れば、制御は呼び出しルーチンへ戻る。
【0059】ここで図3を参照して、図2のステップ
2.15のファイル操作コマンドを実行する方法を説明
する。コマンドを解釈するとき、ステップ3.1で使用
される方法は、コマンド・クロス・リファレンス・デー
タベース9からの適切なキーストローク及びサンプルの
属性を検索する。コマンド・クロス・リファレンス・デ
ータベース9はキーストローク及びDDEコマンドのテ
ーブル(行及び列の形式で表される)から構成され、各
列はWordのバージョンを表し、各行はコマンドを表
す。コマンド・クロス・リファレンス・データベース9
が使用されるのは、本発明が使用される多くのプログラ
ムの場合と同じく、異なった各国言語及びWordの他
のバージョンには、異なったキーストロークが必要にな
るからである。DDEコマンドも、後の使用のために相
互参照される。
【0060】ステップ3.2で、コマンドの妥当性(健
全性)チェックがなされる。すなわち、コマンドが依然
として正しく実行されるかどうかのチェックがなされる
(図4を参照)。もしチェックが失敗すると、この方法
は次のコマンドへ進む。そうでなければ、ステップ3.
3でキーストローク・フォーカスがWordのインスタ
ンスに設定され、キーストロークが送られる。
【0061】ステップ3.4では、現在処理されている
コマンドがウィンドウを予想するかどうかが決定され
る。もしイエスであれば、ステップ3.5で、予想され
たウィンドウが実際に現れたかどうかが決定される。も
しイエスであれば、制御はステップ3.6へ渡され、表
示されたウィンドウを終了するために、必要なキースト
ロークが送られる。この時点で、ウィンドウは除去され
ているべきであり、ステップ3.7でウィンドウが依然
として存在するかどうかが決定される。もしノーであれ
ば、制御はステップ3.8へ渡され、大部分のコマンド
に伴う強制を使用して(空の強制はデフォルトによって
常に真である)コマンドが成功したかどうかが決定され
る。ステップ3.7で、ウィンドウが依然として存在す
ることが決定されると、制御はステップ3.9へ渡さ
れ、そこでウィンドウのハード・クローズが実行され
る。他方、予想されたウィンドウがステップ3.5で現
れなかったか、ウィンドウは現れたがステップ3.9で
ハード・クローズされなければならなかった場合、又は
ステップ3.8で強制が失敗したことが決定されると、
制御はステップ3.10へ渡され、コマンドに等しいD
DEが検索され、オートマクロが無能化され、コマンド
が送られ、オートマクロが能動化される。次に、次のコ
マンドを処理するために戻りが実行される。
【0062】ウィンドウの存在及び状態を決定するため
に、多様なテクニックを使用してよい。例えば、Win
32 APIはウィンドウを操作する多くの機能を提供
する。これら機能のいくつか(例えば、FindWin
dows及びFindWindowsEx)は、特別の
特性(タイトル、タイプ、プロセス、など)を有するウ
ィンドウが存在すれば、そのウィンドウのためにハンド
ル(識別番号)を戻す。他の機能GetLastAct
ivePopupは、所与のプロセスによって作成され
た最後のポップアップ・ウィンドウのハンドルを検索す
る。他の機能は、ウィンドウのハンドルが与えられれ
ば、そのウィンドウの特性を戻す。
【0063】本発明の局面に従って、ポップアップ・キ
ラーは、そのような機能を使用して、Wordがポップ
アップ・ウィンドウを作成したかどうかを決定し、その
ウィンドウが正規のウィンドウであるかどうかを決定す
るのに必要なウィンドウ特性(タイトル及びクラスな
ど)を取得する。
【0064】RE3は同じ機能を使用することができる
が、ウィンドウが正規のウィンドウであるかどうかを決
定するのではなく、ウィンドウが予想されたウィンドウ
であるかどうかを決定する。
【0065】図4を参照すると、健全性チェック(図3
のステップ3.2)それ自体は、犠牲データベース8を
使用してハンドルから犠牲ファイル名を検索する最初の
ステップ4.1、及びメモリ・ブロック11に前もって
記憶されたプロセスID及びウィンドウ・ハンドルを使
用してWordの元のインスタンスが依然として実行さ
れているかどうかをチェックするステップ4.2を含
む。インスタンスが実行されていなければ、エラー表示
と共に戻りが実行される。Wordの元のインスタンス
が依然として実行されていれば、この方法はステップ
4.3へ進み、コマンドの性質を決定する。コマンドが
ファイルのオープンを含むならば、ステップ4.4が実
行され、目標ファイルが読み書きアクセスのためにオー
プンできるかどうかが決定される。もしイエスであれ
ば、成功表示と共に戻りが実行され、そうでなければ、
エラー表示と共に戻りが実行される。他方、コマンドが
ファイルの操作を含むならば、制御はステップ4.5へ
渡され、操作されるべきドキュメントは現在Wordに
ロードされているドキュメントと同じかどうかが決定さ
れる。現在のドキュメントはシステム呼び出し又はプロ
セス間通信コマンドを使用して照会することができる。
もしイエスであれば、成功表示と共に戻りが実行され、
そうでなければ、エラー表示と共に戻りが実行される。
他方、コマンドがファイルの作成を含むならば、この方
法は成功表示と共に直ちに終了する。
【0066】これまでの説明で、システムの復元につい
て触れた(例えば、図7のステップ7.4及び7.
6)。システムを復元する目的は、RE3からマクロ・
ウイルス6の痕跡を除去することである。ここで図6を
参照すると、ステップ6.1でWordのすべてのイン
スタンスが「ハード」クローズされる。ステップ6.2
で、Wordがアクセスしたファイル・システム部分
が、すべての余分のファイルを除去し変更されたファイ
ルをバックアップ・コピーで置換することによって「洗
浄」される。最後に、ステップ6.3で、システム・ユ
ーザ・プロファイルがその元の状態へ復元される。
【0067】ここで、ポップアップ・ウィンドウを処理
する実施例のテクニックを説明する。ウイルスのホスト
・アプリケーションがメインの複製プロセスによって実
行されるとき、いくつかのダイアログ・ボックス及びポ
ップアップ・ウィンドウが現れる。これらのウィンドウ
はいろいろの種類がある。例えば、コマンドに応答して
何らかの情報を要求する「標準」ウィンドウがアプリケ
ーションによって作成される(例えば、Wordの米国
英語版では、ユーザがファイル・メニューからファイル
のオープンを選択したとき、又はユーザがContro
lキー及びOキーを押したとき、オープン・ダイアログ
・ボックスが現れる)。他の例では、マクロ・ウイルス
6によってウィンドウを作成できる。これらのウィンド
ウはユーザからの介入を必要とし(ボタンをクリックす
るか、どれかのキーを押す)、そうしないと、RE3の
自動的実行を停止する。
【0068】もしウィンドウが標準ウィンドウであれ
ば、RE3のメインの複製プロセスは、ウィンドウをク
ローズするために標準ウィンドウ・データベース10の
中でウィンドウによって要求された情報にアクセスし、
その情報を、例えば前述したような模擬キーストローク
を使用してウィンドウへ送ることができる。しかし、ウ
ィンドウがウイルスによって生じたものであるか、クロ
ーズできなかった標準ウィンドウであれば、ウィンドウ
をクローズして自動的複製プロセスを進行させる必要が
ある。そのようなウィンドウをクローズするためには、
RE3の他の動作と共に並行して実行されるポップアッ
プ・キラー・ルーチン(図2のステップ2.8で始ま
る)がその責任をもつ。
【0069】さらに、ポップアップ・キラーは、RE3
がハングしないようにする2つの他のタスクに責任をも
つ。これらの他のタスクは、Wordの未知のインスタ
ンスが実行されていることが分かった場合にそれを殺す
(終了する)こと、及びWordがハングしていること
が分かった場合にそれを殺すことである。本発明との関
連では、Wordがドキュメントをオープンすること、
又は現在のドキュメントをクローズすることに常に失敗
するならば、Wordは非アクティブであると考えられ
る。RE3は、現在のドキュメントがどれくらい長くオ
ープンされているか、ドキュメントがどれくらい長くオ
ープンされていないかを測定することによって、そのよ
うな状態を知ることができる。
【0070】さらに、この点に関して、もしWordが
ハングしていれば、それはもはやRE3から送られたコ
マンドに正しく反応しない。例えば、RE3がDDEコ
マンドをWordへ送ったとき、それは、アプリケーシ
ョンがそのコマンドを受け取ったことを示すOS2から
の信号を待つ。もしWordがハングしていれば、その
信号は送られず、RE3はタイマ又は何らかの他の機構
によって中断されない限り、無限に待つことになる。し
かし、もしWordが実行されていなければ、エラー・
コードが直ちにOS2からRE3へ戻され、RE3はそ
の動作を再開することができる。前述したように、これ
らの各種のケースは、RE3によって実行されるコマン
ド・ファイルを形成するスクリプトによって処理され
る。
【0071】ポップアップ・キラー・ルーチンは、Wo
rdが図2のステップ2.8で最初にスタートしたとき
開始される。図5を参照すると、それはステップ5.1
でスタートするループから構成され、Wordのすべて
の未知のインスタンス(すなわち、メモリ・ブロック1
1で対応するプロセスID及びウィンドウ・ハンドルを
有しないWordのインスタンス)をクローズする。ス
テップ5.2では、Wordの所望のインスタンスが依
然として実行されているかどうかが決定される。もし実
行されていなければ、ルーチンは終了する。Wordの
所望のインスタンスが依然として実行されていれば、ス
テップ5.3で、ワード・アクティビティ変数12を使
用して、Wordが実行されていたか、又は所定の時間
間隔よりも長く非アクティブであったかが決定される。
このステップは、Wordの活動及び全実行時間につい
てハードウェア・タイマ及びソフトウェア・タイマを検
査・更新することを含む。もしWordがあまりに長く
実行されているか、あまりに長く非アクティブであれ
ば、ステップ5.4でハード・クローズがなされ、ルー
チンは終了する。そうでなければ、ステップ5.5で、
ポップアップ・ウィンドウの存在が検査される。ポップ
アップ・ウィンドウが存在しなければ、ステップ5.6
で、アクティブのドキュメントが変更されたかどうかが
検査される。変更されていれば、Wordがアクティブ
であることを示すために、ステップ5.7でワード・ア
クティビティ変数12が設定される。そうでなければ、
ワード・アクティビティ変数12は、Wordが非アク
ティブであることを示すためにステップ5.8で設定さ
れる。どちらの場合でも、制御はステップ5.1のルー
プの最初に戻る。前述したように、ワード・アクティビ
ティ変数12はステップ5.3で使用される。
【0072】ステップ5.5で、ポップアップ・ウィン
ドウが現れたことを決定された場合、制御はステップ
5.9へ渡され、そこで前述したウィンドウ関連機能の
1つ又は複数を使用して、ポップアップ・ウィンドウが
標準ウィンドウ・データベース10にリストされている
標準ウィンドウであるかどうかの決定がなされる。もし
ポップアップ・ウィンドウがリストされていれば、ポッ
プアップ・ウィンドウの存在はメインの実行プロセスの
結果であると想定される。この場合、ステップ5.10
でウィンドウをクローズする遅延が生じる。ステップ
5.11で、ポップアップ・ウィンドウが依然として存
在するかどうかの決定がなされる。もし存在していれ
ば、ウィンドウはハード・クローズされる。同様に、ス
テップ5.9で、ポップアップ・ウィンドウが標準ウィ
ンドウ・データベース10で発見されないとき、ウィン
ドウはクローズされる。次に制御はステップ5.7へ渡
される。ポップアップ・ウィンドウのハード・クローズ
は、ポップアップ・ウィンドウが、それが現れたときに
予想されなかったものであるか、ポップアップ・ウィン
ドウが正常な方式でクローズできなかったことを示す。
ステップ5.11で、ウィンドウがステップ5.10の
時間遅延の後に「正常に」クローズしたことを発見され
ると、制御はステップ5.7へ渡され、Wordの活動
を示すためにワード・アクティビティ変数12が設定さ
れる。
【0073】本発明の教示は、模擬ユーザ入力(キース
トローク、マウス・クリック、など)を使用することに
よって、またプロセス間通信コマンド及び典型的なユー
ザにとって利用可能でないシステム・レベル・コマンド
を使用することによって、マクロ・ウイルスを複製する
新規で有用なテクニック及びシステムを提供することが
明らかである。
【0074】本発明は実施例に関して詳細に説明された
が、本発明の範囲及び趣旨から逸脱することなく形式及
び詳細部に変更を加えてよいことは、当業者に理解され
るであろう。
【0075】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)アプリケーションに関連したコンピュータ・マク
ロ・ウイルスの少なくとも1つのインスタンスを自動的
に発生する方法であって、疑わしいウイルス・サンプル
を提供するステップと、感染した犠牲ファイルを発生す
るために、アプリケーションを通して前記犠牲ファイル
を試行する模擬ユーザ入力又はプロセス間通信コマンド
の少なくとも1つを使用して疑しいウイルス・サンプル
を最少の1つの前記犠牲ファイルに複製するステップと
を含む、マクロ・ウイルス発生方法。 (2)追加の感染した前記犠牲ファイルを発生するため
に、模擬ユーザ入力又はプロセス間通信コマンドの少な
くとも1つを使用して、感染した前記犠牲ファイルを他
の最少の1つの前記犠牲ファイルへ複製するステップを
含む、上記(1)に記載のマクロ・ウイルス発生方法。 (3)前記提供するステップが、疑しいウイルス・サン
プルの属性を決定するステップを含み、試行するステッ
プが、決定された属性に少なくとも部分的に基づいて選
択された模擬ユーザ入力又はプロセス間通信コマンドを
使用する、上記(2)に記載のマクロ・ウイルス発生方
法。 (4)前記試行するステップが、アプリケーション又は
マクロ・ウイルスの1つによってオープンされたウィン
ドウの発生を検出するステップと、オープンされたウィ
ンドウをクローズするために、模擬ユーザ入力又はプロ
セス間通信コマンドの少なくとも1つを使用するステッ
プとを含む、上記(2)に記載のマクロ・ウイルス発生
方法。 (5)前記複製するステップの各々が、複数のアプリケ
ーション・コマンドを発生するために複数のスクリプト
を解釈するステップを含む、上記(2)に記載のマクロ
・ウイルス発生方法。 (6)前記アプリケーション・コマンドがアプリケーシ
ョン・オープン、アプリケーション・クローズ、及びド
キュメント操作コマンドを含む、上記(5)に記載のマ
クロ・ウイルス発生方法。 (7)前記複製するステップが、試行された前記犠牲フ
ァイルの中で新しいマクロの発生又は既存マクロの変更
を検出するために、試行された前記犠牲ファイルを犠牲
ファイルの安全コピーと比較し、変更された前記犠牲フ
ァイルが感染した犠牲ファイルであると宣言するステッ
プを含む、上記(2)に記載のマクロ・ウイルス発生方
法。 (8)アプリケーションに関連したコンピュータ・マク
ロ・ウイルスの少なくとも1つのインスタンスを自動的
に発生するシステムであって、アプリケーションを記憶
するメモリ、少なくとも1つのマクロを含む疑しいウイ
ルス・サンプル、アプリケーション・コマンド・ファイ
ル及びコマンド・インタープリターを表す複数のスクリ
プトを含む複製エンジン、複数の犠牲ファイル、前記コ
マンドのあるものを実行するのに必要な所定のユーザ入
力を表す情報を少なくとも記憶するデータベースを備
え、前記複製エンジンは前記コマンド・ファイルを解釈
するように動作して、複数のアプリケーション・コマン
ドを発生すると共にアプリケーションを通して前記犠牲
ファイルを試行するために対応する所定の模擬ユーザ入
力又はプロセス間通信コマンドの少なくとも1つを送
り、前記システムは、試行された前記犠牲ファイルの中
で新しいマクロの発生又は既存マクロの変更を検出する
ために、試行された前記犠牲ファイルをその安全コピー
と比較し、変更された前記犠牲ファイルが複製されたマ
クロ・ウイルスを含む感染犠牲ファイルであると宣言す
る、マクロ・ウイルス発生システム。 (9)前記複製エンジンが、マクロ・ウイルスをさらに
発生するために、対応する所定の模擬ユーザ入力又はプ
ロセス間通信コマンドの少なくとも1つを使用して、感
染した前記犠牲ファイルを他の最少の1つの前記犠牲フ
ァイルへ複製するように動作する、上記(8)に記載の
マクロ・ウイルス発生システム。 (10)疑しいウイルス・サンプルの属性を決定する手
段を備え、前記インタープリターが、決定された属性に
少なくとも部分的に基づいてユーザ入力又はプロセス間
通信コマンドを選択する、上記(8)に記載のマクロ・
ウイルス発生システム。 (11)前記インタープリターと並行して動作し、アプ
リケーション又はマクロ・ウイルスの1つによってオー
プンされたウィンドウの発生を検出し、ウィンドウ・デ
ータベースに従って、オープンされたウィンドウが標準
ウィンドウであるかどうかを決定し、オープンされたウ
ィンドウをクローズするために模擬ユーザ入力又はプロ
セス間通信コマンドの少なくとも1つを使用する手段を
備えた、上記(8)に記載のマクロ・ウイルス発生シス
テム。 (12)アプリケーション・コマンドがアプリケーショ
ン・オープン、アプリケーション・クローズ、及びドキ
ュメント操作コマンドを含む、上記(8)に記載のマク
ロ・ウイルス発生システム。 (13)マクロ・ウイルスが多形マクロ・ウイルスであ
り、さらに発生されたマクロ・ウイルスが複製されたマ
クロ・ウイルスとは異なる、上記(9)に記載のマクロ
・ウイルス発生システム。
【図面の簡単な説明】
【図1】本発明に従う総体的マクロ・ウイルス複製プロ
セスの論理流れ図である。
【図2】コマンド・ファイルを処理する方法の論理流れ
図である。
【図3】図2の方法の一部を形成する、ファイル操作コ
マンドを実行する方法の論理流れ図である。
【図4】図3の方法の一部を形成する、コマンドの健全
性チェックを実行する方法の論理流れ図である。
【図5】図2の方法によって開始され、その方法と並行
して実行されるポップアップ・ウィンドウ・キラー・ル
ーチンの論理流れ図である。
【図6】システムを復元する方法の論理流れ図である。
【図7】図1に示される方法の一部を形成する、サンプ
ルを複製する方法の論理流れ図である。
【図8】本発明の教示に従ったサンプル複製システムの
高レベルのブロック図である。
【符号の説明】 1 コンピュータ・システム 2 オペレーティング・システム 3 複製エンジン 3A コマンド・ファイル・インタープリター 3B スクリプト 3C データベース 4 アプリケーション 5 マクロ群 6 マクロ・ウイルス 7 感染した犠牲ファイル 8 犠牲データベース 8A 犠牲ファイル 9 コマンド・クロス・リファレンス・データベー
ス 10 標準ウィンドウ・データベース 11 メモリ・ブロック 12 Wordアクティビティ変数
───────────────────────────────────────────────────── フロントページの続き (72)発明者 オウガスト・ティー・ペトリロ アメリカ合衆国10506 ニューヨーク州、 ベッドフォード、 ベレット・レーン 32 (72)発明者 モートン・グレゴリィ・スウィマー アメリカ合衆国10514 ニューヨーク州、 チャパッカ ノース・グリーレイ・ア ヴェニュー 350 (56)参考文献 米国特許5440723(US,A) 米国特許5452442(US,A) 米国特許5485575(US,A) 米国特許5572590(US,A) 米国特許5613002(US,A) 唐 政 外4名,”生体の免疫応答ネ ットワークに基づく免疫的なネットワー クとその免疫特性”,電子情報通信学会 論文誌A,(1997/11/25),Vol. J80−A,No.11,pp.1940−1950 Garber L.,”Antivi rus Technology Off ers New Cures”,Com puter,(1998),Vol.31,N o.2,pp. Kephart J.O.,”A b iologically inspir ed immune system f or computers”,in A rtificial Life,Add ison−Wesley,Redwoo d City,CA,1994 Nanchenberg C.,”C omputer Virus−Anti virus Coevolutio n”,Communications of ACM(Association for Computing Mac hinery),(1997/1),Vo l.40,No.1,pp.46−51 Kephart J.O.,”Bio logically Inspired Defenses Against Computer Viruse s.”,Proceedings of the International Joint Conference on Artificial Inte lligence,(1995),14th, Vol.1,pp.985−996 Kephart J.O.,”An Immune System for Cyberspace”,1997 IEE E International Co nference on System s,Man and Cybernet ics.,(1997/10/12),Vol. 1997,No.1,pp.879−884 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 11/00

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】アプリケーションに関連したコンピュータ
    ・マクロ・ウイルスの少なくとも1つのインスタンスを
    自動的に発生する方法であって、 疑わしいマクロ・ウイルス・サンプルを提供するステッ
    プと、 感染した犠牲ファイルを発生するために、アプリケーシ
    ョンを通して前記犠牲ファイルを試行する模擬ユーザ入
    力又はプロセス間通信コマンドの少なくとも1つを使用
    して疑しい前記マクロ・ウイルス・サンプルを前記犠牲
    ファイルに複製するステップと、 追加の感染した前記犠牲ファイルを発生するために、模
    擬ユーザ入力又はプロセス間通信コマンドの少なくとも
    1つを使用して、感染した前記犠牲ファイルを他の前記
    犠牲ファイルへ複製するステップと、 を含むマクロ・ウイルス発生方法。
  2. 【請求項2】前記提供するステップが、疑しい前記マク
    ロ・ウイルス・サンプルの属性を決定するステップを含
    み、試行するステップが、決定された属性に少なくとも
    部分的に基づいて選択された模擬ユーザ入力又はプロセ
    ス間通信コマンドを使用する、請求項1に記載のマクロ
    ・ウイルス発生方法。
  3. 【請求項3】前記試行するステップが、 アプリケーション又はマクロ・ウイルスの1つによって
    オープンされたウィンドウの発生を検出するステップ
    と、 オープンされたウィンドウをクローズするために、模擬
    ユーザ入力又はプロセス間通信コマンドの少なくとも1
    つを使用するステップとを含む、 請求項1に記載のマクロ・ウイルス発生方法。
  4. 【請求項4】前記複製するステップの各々が、複数のア
    プリケーション・コマンドを発生するために複数のスク
    リプトを解釈するステップを含む、請求項1に記載のマ
    クロ・ウイルス発生方法。
  5. 【請求項5】前記アプリケーション・コマンドがアプリ
    ケーション・オープン、アプリケーション・クローズ、
    及びドキュメント操作コマンドを含む、請求項4に記載
    のマクロ・ウイルス発生方法。
  6. 【請求項6】前記複製するステップが、試行された前記
    犠牲ファイルの中で新しいマクロの発生又は既存マクロ
    の変更を検出するために、試行された前記犠牲ファイル
    を犠牲ファイルの安全コピーと比較し、変更された前記
    犠牲ファイルが感染した犠牲ファイルであると宣言する
    ステップを含む、請求項1に記載のマクロ・ウイルス発
    生方法。
  7. 【請求項7】アプリケーションに関連したコンピュータ
    ・マクロ・ウイルスの少なくとも1つのインスタンスを
    自動的に発生するシステムであって、アプリケーション
    を記憶するメモリ、少なくとも1つのマクロを含む疑し
    いマクロ・ウイルス・サンプル、アプリケーション・コ
    マンド・ファイル及びコマンド・インタープリターを表
    す複数のスクリプトを含む複製エンジン、複数の犠牲フ
    ァイル、前記コマンドのあるものを実行するのに必要な
    所定のユーザ入力を表す情報を少なくとも記憶するデー
    タベースを備え、前記複製エンジンは前記コマンド・フ
    ァイルを解釈するように動作して、複数のアプリケーシ
    ョン・コマンドを発生すると共にアプリケーションを通
    して前記犠牲ファイルを試行するために対応する所定の
    模擬ユーザ入力又はプロセス間通信コマンドの少なくと
    も1つを送り、前記システムは、試行された前記犠牲フ
    ァイルの中で新しいマクロの発生又は既存マクロの変更
    を検出するために、試行された前記犠牲ファイルをその
    安全コピーと比較し、変更された前記犠牲ファイルが複
    製されたマクロ・ウイルスを含む感染犠牲ファイルであ
    ると宣言し、前記複製エンジンが、マクロ・ウイルスを
    さらに発生するために、対応する所定の模擬ユーザ入力
    又はプロセス間通信コマンドの少なくとも1つを使用し
    て、感染した前記犠牲ファイルを他の前記犠牲ファイル
    へ複製するように動作する、マクロ・ウイルス発生シス
    テム。
  8. 【請求項8】疑しい前記マクロ・ウイルス・サンプルの
    属性を決定する手段を備え、前記インタープリターが、
    決定された属性に少なくとも部分的に基づいてユーザ入
    力又はプロセス間通信コマンドを選択する、請求項7に
    記載のマクロ・ウイルス発生システム。
  9. 【請求項9】前記インタープリターと並行して動作し、
    アプリケーション又はマクロ・ウイルスの1つによって
    オープンされたウィンドウの発生を検出し、ウィンドウ
    ・データベースに従って、オープンされたウィンドウが
    標準ウィンドウであるかどうかを決定し、オープンされ
    たウィンドウをクローズするために模擬ユーザ入力又は
    プロセス間通信コマンドの少なくとも1つを使用する手
    段を備えた、請求項7に記載のマクロ・ウイルス発生シ
    ステム。
  10. 【請求項10】アプリケーション・コマンドがアプリケ
    ーション・オープン、アプリケーション・クローズ、及
    びドキュメント操作コマンドを含む、請求項7に記載の
    マクロ・ウイルス発生システム。
  11. 【請求項11】マクロ・ウイルスが多形マクロ・ウイル
    スであり、さらに発生されたマクロ・ウイルスが複製さ
    れたマクロ・ウイルスとは異なる、請求項7に記載のマ
    クロ・ウイルス発生システム。
JP10297935A 1997-11-21 1998-10-20 マクロ・ウイルスを発生する方法及びシステム Expired - Fee Related JP3079087B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US6638297P 1997-11-21 1997-11-21
US09/041493 1998-03-12
US09/041,493 US6108799A (en) 1997-11-21 1998-03-12 Automated sample creation of polymorphic and non-polymorphic marcro viruses
US60/066382 1998-03-12

Publications (2)

Publication Number Publication Date
JPH11249893A JPH11249893A (ja) 1999-09-17
JP3079087B2 true JP3079087B2 (ja) 2000-08-21

Family

ID=26718198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10297935A Expired - Fee Related JP3079087B2 (ja) 1997-11-21 1998-10-20 マクロ・ウイルスを発生する方法及びシステム

Country Status (6)

Country Link
US (1) US6108799A (ja)
EP (1) EP0918285B1 (ja)
JP (1) JP3079087B2 (ja)
KR (1) KR19990044887A (ja)
DE (1) DE69812545T2 (ja)
TW (1) TW445407B (ja)

Families Citing this family (238)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401210B1 (en) * 1998-09-23 2002-06-04 Intel Corporation Method of managing computer virus infected files
US6192512B1 (en) * 1998-09-24 2001-02-20 International Business Machines Corporation Interpreter with virtualized interface
US6577920B1 (en) * 1998-10-02 2003-06-10 Data Fellows Oyj Computer virus screening
EP1149339A1 (en) 1998-12-09 2001-10-31 Network Ice Corporation A method and apparatus for providing network and computer system security
US6922781B1 (en) 1999-04-30 2005-07-26 Ideaflood, Inc. Method and apparatus for identifying and characterizing errant electronic files
GB2350449A (en) * 1999-05-27 2000-11-29 Ibm Detecting replication of a computer virus using a counter virus
US7346929B1 (en) 1999-07-29 2008-03-18 International Business Machines Corporation Method and apparatus for auditing network security
US7089591B1 (en) * 1999-07-30 2006-08-08 Symantec Corporation Generic detection and elimination of marco viruses
US8006243B2 (en) 1999-12-07 2011-08-23 International Business Machines Corporation Method and apparatus for remote installation of network drivers and software
AU2001257400A1 (en) 2000-04-28 2001-11-12 Internet Security Systems, Inc. System and method for managing security events on a network
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
EP1305688A2 (en) * 2000-05-28 2003-05-02 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US9213836B2 (en) 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US6901519B1 (en) * 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
GB2357939B (en) * 2000-07-05 2002-05-15 Gfi Fax & Voice Ltd Electronic mail message anti-virus system and method
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US9027121B2 (en) 2000-10-10 2015-05-05 International Business Machines Corporation Method and system for creating a record for one or more computer security incidents
US20020178248A1 (en) * 2000-10-26 2002-11-28 Metilinx Application program interface for optimization integration model
AU2002243763A1 (en) 2001-01-31 2002-08-12 Internet Security Systems, Inc. Method and system for configuring and scheduling security audits of a computer network
US7114184B2 (en) * 2001-03-30 2006-09-26 Computer Associates Think, Inc. System and method for restoring computer systems damaged by a malicious computer program
WO2002093334A2 (en) * 2001-04-06 2002-11-21 Symantec Corporation Temporal access control for computer virus outbreaks
KR20010070729A (ko) * 2001-06-02 2001-07-27 유진영 시큐어 캅
US7657419B2 (en) 2001-06-19 2010-02-02 International Business Machines Corporation Analytical virtual machine
US7640361B1 (en) 2001-08-24 2009-12-29 Mcafee, Inc. Systems and methods for converting infected electronic files to a safe format
US7263561B1 (en) * 2001-08-24 2007-08-28 Mcafee, Inc. Systems and methods for making electronic files that have been converted to a safe format available for viewing by an intended recipient
US7162739B2 (en) * 2001-11-27 2007-01-09 Claria Corporation Method and apparatus for blocking unwanted windows
US20030105973A1 (en) * 2001-12-04 2003-06-05 Trend Micro Incorporated Virus epidemic outbreak command system and method using early warning monitors in a network environment
US7062553B2 (en) * 2001-12-04 2006-06-13 Trend Micro, Inc. Virus epidemic damage control system and method for network environment
AU2003202876A1 (en) 2002-01-04 2003-07-24 Internet Security Systems, Inc. System and method for the managed security control of processes on a computer system
US9652613B1 (en) 2002-01-17 2017-05-16 Trustwave Holdings, Inc. Virus detection by executing electronic message code in a virtual machine
US7607171B1 (en) 2002-01-17 2009-10-20 Avinti, Inc. Virus detection by executing e-mail code in a virtual machine
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
US7155742B1 (en) 2002-05-16 2006-12-26 Symantec Corporation Countering infections to communications modules
US7367056B1 (en) 2002-06-04 2008-04-29 Symantec Corporation Countering malicious code infections to computer files that have been infected more than once
US7013423B2 (en) * 2002-06-27 2006-03-14 International Business Machines Corporation Omitting forwarder pages in a history list in a browser
US7100122B2 (en) * 2002-06-27 2006-08-29 International Business Machines Corporation Limiting unsolicited browser windows
US7418729B2 (en) * 2002-07-19 2008-08-26 Symantec Corporation Heuristic detection of malicious computer code by page tracking
US7380277B2 (en) * 2002-07-22 2008-05-27 Symantec Corporation Preventing e-mail propagation of malicious computer code
US7478431B1 (en) 2002-08-02 2009-01-13 Symantec Corporation Heuristic detection of computer viruses
US7469419B2 (en) * 2002-10-07 2008-12-23 Symantec Corporation Detection of malicious computer code
US7159149B2 (en) * 2002-10-24 2007-01-02 Symantec Corporation Heuristic detection and termination of fast spreading network worm attacks
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US7249187B2 (en) 2002-11-27 2007-07-24 Symantec Corporation Enforcement of compliance with network security policies
US7631353B2 (en) 2002-12-17 2009-12-08 Symantec Corporation Blocking replication of e-mail worms
US20040128379A1 (en) * 2002-12-30 2004-07-01 Jerry Mizell Collecting standard interval metrics using a randomized collection period
US7296293B2 (en) 2002-12-31 2007-11-13 Symantec Corporation Using a benevolent worm to assess and correct computer security vulnerabilities
US7913303B1 (en) 2003-01-21 2011-03-22 International Business Machines Corporation Method and system for dynamically protecting a computer system from attack
US20040158730A1 (en) * 2003-02-11 2004-08-12 International Business Machines Corporation Running anti-virus software on a network attached storage device
US7203959B2 (en) 2003-03-14 2007-04-10 Symantec Corporation Stream scanning through network proxy servers
US8271774B1 (en) 2003-08-11 2012-09-18 Symantec Corporation Circumstantial blocking of incoming network traffic containing code
US7657938B2 (en) 2003-10-28 2010-02-02 International Business Machines Corporation Method and system for protecting computer networks by altering unwanted network data traffic
US7434297B1 (en) 2003-11-17 2008-10-14 Symantec Corporation Tracking computer infections
US8170912B2 (en) 2003-11-25 2012-05-01 Carhamm Ltd., Llc Database structure and front end
US7337327B1 (en) 2004-03-30 2008-02-26 Symantec Corporation Using mobility tokens to observe malicious mobile code
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US7373667B1 (en) 2004-05-14 2008-05-13 Symantec Corporation Protecting a computer coupled to a network from malicious code infections
US7484094B1 (en) 2004-05-14 2009-01-27 Symantec Corporation Opening computer files quickly and safely over a network
US20050262567A1 (en) * 2004-05-19 2005-11-24 Itshak Carmona Systems and methods for computer security
US7370233B1 (en) 2004-05-21 2008-05-06 Symantec Corporation Verification of desired end-state using a virtual machine environment
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US7441042B1 (en) 2004-08-25 2008-10-21 Symanetc Corporation System and method for correlating network traffic and corresponding file input/output traffic
US7690034B1 (en) 2004-09-10 2010-03-30 Symantec Corporation Using behavior blocking mobility tokens to facilitate distributed worm detection
US7565686B1 (en) 2004-11-08 2009-07-21 Symantec Corporation Preventing unauthorized loading of late binding code into a process
WO2006101549A2 (en) * 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
US7810158B2 (en) * 2004-12-16 2010-10-05 At&T Intellectual Property I, L.P. Methods and systems for deceptively trapping electronic worms
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
TWI252976B (en) * 2004-12-27 2006-04-11 Ind Tech Res Inst Detecting method and architecture thereof for malicious codes
US8104086B1 (en) 2005-03-03 2012-01-24 Symantec Corporation Heuristically detecting spyware/adware registry activity
US8645941B2 (en) 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
WO2007143011A2 (en) 2006-05-31 2007-12-13 The Trustees Of Columbia University In The City Ofnew York Systems, methods, and media for generating bait information for trap-based defenses
US8239915B1 (en) 2006-06-30 2012-08-07 Symantec Corporation Endpoint management using trust rating data
US8020206B2 (en) * 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US8117162B2 (en) * 2007-03-21 2012-02-14 International Business Machines Corporation Determining which user files to backup in a backup system
US8402529B1 (en) 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
US9009829B2 (en) * 2007-06-12 2015-04-14 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for baiting inside attackers
US8312539B1 (en) * 2008-07-11 2012-11-13 Symantec Corporation User-assisted security system
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8769684B2 (en) 2008-12-02 2014-07-01 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8528091B2 (en) * 2009-12-31 2013-09-03 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for detecting covert malware
US8752047B2 (en) 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US10095530B1 (en) 2010-05-28 2018-10-09 Bromium, Inc. Transferring control of potentially malicious bit sets to secure micro-virtual machine
US9148428B1 (en) * 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US8352522B1 (en) 2010-09-01 2013-01-08 Trend Micro Incorporated Detection of file modifications performed by malicious codes
US8806647B1 (en) * 2011-04-25 2014-08-12 Twitter, Inc. Behavioral scanning of mobile applications
US8667594B1 (en) 2012-03-13 2014-03-04 Bromium, Inc. Securing file trust with file format conversions
JP5912074B2 (ja) * 2012-10-30 2016-04-27 株式会社日立製作所 プログラム解析システム及び方法
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9104867B1 (en) * 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
RU2527738C1 (ru) 2013-04-24 2014-09-10 Общество с ограниченной ответственностью "НАНО Секьюрити" Способ обезвреживания вредоносных программ, блокирующих работу пк, с использованием отдельного устройства для активации пользователем процедуры противодействия вредоносному программному обеспечению
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9323925B2 (en) * 2013-05-30 2016-04-26 Trusteer, Ltd. Method and system for prevention of windowless screen capture
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9740857B2 (en) 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US11194915B2 (en) 2017-04-14 2021-12-07 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for testing insider threat detection systems
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10944768B2 (en) * 2017-09-15 2021-03-09 Petabi, Inc. System for automated signature generation and refinement
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
TWI765706B (zh) * 2021-05-11 2022-05-21 凌華科技股份有限公司 彈出視窗的非侵入式共享處理方法及系統

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440723A (en) * 1993-01-19 1995-08-08 International Business Machines Corporation Automatic immune system for computers and computer networks
JP2501771B2 (ja) * 1993-01-19 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 不所望のソフトウェア・エンティティの複数の有効なシグネチャを得る方法及び装置
US5398196A (en) * 1993-07-29 1995-03-14 Chambers; David A. Method and apparatus for detection of computer viruses
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
WO1995033237A1 (en) * 1994-06-01 1995-12-07 Quantum Leap Innovations Inc. Computer virus trap
US5485575A (en) * 1994-11-21 1996-01-16 International Business Machines Corporation Automatic analysis of a computer virus structure and means of attachment to its hosts
US5613002A (en) * 1994-11-21 1997-03-18 International Business Machines Corporation Generic disinfection of programs infected with a computer virus
US5826013A (en) * 1995-09-28 1998-10-20 Symantec Corporation Polymorphic virus detection module
US5951698A (en) * 1996-10-02 1999-09-14 Trend Micro, Incorporated System, apparatus and method for the detection and removal of viruses in macros
JP3381055B2 (ja) * 1997-01-27 2003-02-24 裕典 若山 ウィルスの侵入防止方法、及びウィルスの侵入防止機構
US6016546A (en) * 1997-07-10 2000-01-18 International Business Machines Corporation Efficient detection of computer viruses and other data traits
US5978917A (en) * 1997-08-14 1999-11-02 Symantec Corporation Detection and elimination of macro viruses
US6021510A (en) * 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Garber L.,"Antivirus Technology Offers New Cures",Computer,(1998),Vol.31,No.2,pp.
Kephart J.O.,"A biologically inspired immune system for computers",in Artificial Life,Addison−Wesley,Redwood City,CA,1994
Kephart J.O.,"An Immune System for Cyberspace",1997 IEEE International Conference on Systems,Man and Cybernetics.,(1997/10/12),Vol.1997,No.1,pp.879−884
Kephart J.O.,"Biologically Inspired Defenses Against Computer Viruses.",Proceedings of the International Joint Conference on Artificial Intelligence,(1995),14th,Vol.1,pp.985−996
Nanchenberg C.,"Computer Virus−Antivirus Coevolution",Communications of ACM(Association for Computing Machinery),(1997/1),Vol.40,No.1,pp.46−51
唐 政 外4名,"生体の免疫応答ネットワークに基づく免疫的なネットワークとその免疫特性",電子情報通信学会論文誌A,(1997/11/25),Vol.J80−A,No.11,pp.1940−1950

Also Published As

Publication number Publication date
EP0918285A2 (en) 1999-05-26
EP0918285B1 (en) 2003-03-26
TW445407B (en) 2001-07-11
DE69812545T2 (de) 2004-04-08
US6108799A (en) 2000-08-22
JPH11249893A (ja) 1999-09-17
DE69812545D1 (de) 2003-04-30
EP0918285A3 (en) 1999-09-22
KR19990044887A (ko) 1999-06-25

Similar Documents

Publication Publication Date Title
JP3079087B2 (ja) マクロ・ウイルスを発生する方法及びシステム
CA2299310C (en) Detection and elimination of macro viruses
US7861300B2 (en) Method and apparatus for determination of the non-replicative behavior of a malicious program
Kolbitsch et al. The power of procrastination: detection and mitigation of execution-stalling malicious code
US8069372B2 (en) Simulated computer system for monitoring of software performance
KR100623245B1 (ko) 자동 컨피규레이션 생성
US7487543B2 (en) Method and apparatus for the automatic determination of potentially worm-like behavior of a program
US7725735B2 (en) Source code management method for malicious code detection
EP2199939B1 (en) Context-aware real-time computer-protection systems and methods
US20040181677A1 (en) Method for detecting malicious scripts using static analysis
US7451455B1 (en) Apparatus and method for automatically manipulating software products
JP2003196112A (ja) ウィルスチェックソフトウェアのウィルスチェック方法
MXPA06001211A (es) Activacion de datos del usuario final.
Le Charlier et al. Dynamic detection and classification of computer viruses using general behaviour patterns
Morales et al. Identification of file infecting viruses through detection of self-reference replication
EP2168045A1 (en) Exception-based error handling in an array-based language
Natvig Sandbox technology inside AV scanners
JP2017134574A (ja) プログラム、情報処理装置、及び情報処理方法
US7036113B1 (en) Detection of resource exceptions
Strogov et al. Machine learning or behaviour heuristics? The synergy of approaches to defeat advanced ransomware threats
US20240202338A1 (en) Method and a system for detecting malware activity in a .net platform
Sachkov et al. METHOD AND A SYSTEM FOR DETECTING MALWARE ACTIVITY IN A .NET PLATFORM
TW542999B (en) A method and system for filtering computer virus using virus codewords
Dai Detecting malicious software by dynamic execution
Aboughadareh et al. Dynamic analysis of evasive modular malware

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080616

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080616

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090616

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees