説明

コンピュータ・システム上で稼動している、悪意あるソフトウェアの存在を検知するシステム、方法、およびプログラム

【課題】コンピュータシステム上で稼動している、悪意あるソフトウェアの存在を検知するためのシステム、方法、およびプログラムを提供する。
【解決手段】コンピュータシステム上で稼動している、悪意あるソフトウェアの存在を検知するためのシステム、方法、およびプログラムを提供する。前記方法は、前記コンピュータシステム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記システム上で稼動しているタスクおよびネットワークサービスのローカルの一覧表を生成するため、ローカルで前記システムに問い合わせることと、、前記システム上で稼動しているタスクおよびネットワークサービスのリモートの一覧表を生成するため、ネットワークを通じリモートシステムからリモートで前記システムに問い合わせることを含み、そのローカルの一覧表には前記システム上の使用されているポートを列挙し、そのリモート一覧表には前記システム上の使用されているポートを列挙している、を含む。さらに、前記方法は、前記システム上で稼動している悪意あるソフトウェアの存在を検知するため、前記ローカルの一覧表ならびに前記リモートの一覧表を収集することと、前記ローカルの一覧表とタスクおよび前記リモートの一覧表の間に相違があれば特定する目的で、前記ローカルの一覧表および前記リモートの一覧表を比較すること、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・システムおよびソフトウェアの分野に関し、特にコンピュータ・システム上で稼動している悪意あるサービスエージェント(Service Agent)のような、悪意あるソフトウェアの存在を検知する技術に関する。
【背景技術】
【0002】
好ましからざるソフトウェアおよびマルウェア(malware)は、ホストのユーザーからこれらの導入を隠すために、複雑な技術をたびたび用いる。ルートキット(rootkits)および他の隠密の導入技術を検知するため、さまざまな技術が提案されてきた。これら既存の技術は、電源が入った状態および入っていない状態それぞれで、ローカルでホストへ問い合わせをすることを要する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これら既存の技術、特に電源の入っていない状態でホストを評価するプロセスは、かなり混乱を起こさせるものであると同時に時間がかかる。そのため、管理者がホストの電源を切ることなく、効率的にそのような導入の存在を特定する必要がある。
【課題を解決するための手段】
【0004】
本発明は、実施例に従えば、プログラムやツールを使用し、悪意あるソフトウェアおよびマルウェアの存在を検知するためのシステム、方法およびプログラムにおけるものである。当該方法は、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表を列挙するように、コンピュータ・システムにローカルで問い合わせることであって、列挙されたタスクやネットワークサービスのローカル一覧表はコンピュータ・システム上で使用されているそれぞれのポートも含むことと、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表を列挙するように、ネットワークを通じリモートコンピュータ・システムから当該コンピュータ・システムにリモートで問い合わせることであって、列挙されたタスクとネットワークサービスのリモート一覧表は前記コンピュータ・システム上で使用されているそれぞれのポートも含むことを有する。更に、その方法は、列挙されたそれぞれタスクおよびネットワークサービスのローカルの一覧表を収集することおよび列挙されたそれぞれタスクおよびネットワークサービスのリモートの一覧表を収集すること、当該コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、列挙されたタスクおよびネットワークサービスのローカルの一覧表と列挙されたタスクおよびネットワークサービスのリモートの一覧表の間に相違があれば特定するよう、列挙されたタスクおよびネットワークサービスのローカルの一覧表および列挙されたタスクおよびネットワークサービスのリモートの一覧表を比較すること、を含む。
【0005】
一実施例において、そのローカルで問い合わせは、当該コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をローカルで検知するため第1のツールを提供すること、前記コンピュータ・システムにローカルで問い合わせするため、当該コンピュータ・システムにローカルのスキャンを行うのにその第1のツールを使用すること、をさらに含む。一実施例において、そのリモートで問い合わせは、当該コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をリモートで検知するため第2のツールを提供すること、当該コンピュータ・システムにリモートで問い合わせするため、当該コンピュータ・システムにリモートのスキャンを行うのにその第2のツールを使用すること、をさらに含む。一実施例では、それぞれのポートの一つは開放ポート(open port)、クローズド・ポート(closed port)、およびフィルタリングされたポート(filtered port)のうちの少なくとも1つを含む。一実施例において、その方法はさらに、当該コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を見つけ出すため、特定されたあらゆる相違を評価する更なるテストを実施する目的で、特定されたあらゆる相違がある当該コンピュータ・システムに警告(flagging)すること、を含む。
【0006】
第1の側面からみると、本発明はコンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するための方法を提供し、この方法は、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表を含むリストを生成するようにコンピュータ・システムにローカルで問い合わせするステップであって、その一覧表にはコンピュータ・システム上の使用されているそれぞれのポートを列挙したリストもさらに含むステップと、コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、当該コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表のリストを生成するようにネットワークを通じリモートコンピュータ・システムから当該コンピュータ・システムにリモートで問い合わせするステップであって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストもさらに含むステップと、前記タスクおよびネットワークサービスのローカルの一覧表および前記タスクおよびネットワークサービスのリモートの一覧表を収集するステップと、前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するように、前記タスクおよびネットワークサービスのローカルの一覧表と前記タスクおよびネットワークサービスのリモートの一覧表との間の相違点があれば特定するために、前記タスクおよびネットワークサービスのローカルの一覧表と前記タスクおよびネットワークサービスのリモートの一覧表を比較するステップとを含む。
【0007】
好ましくは、本発明は、前記ローカルで問い合わせは、当該コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するステップ、および検知するステップに応答して、前記コンピュータ・システムにローカルで問い合わせするため当該コンピュータ・システムのローカルのスキャンを行うステップ、をさらに含む方法を提供する。
【0008】
好ましくは、本発明は、前記リモートで問い合わせは、当該コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在をリモートで検知するステップ、および検知するステップに応答して、当該コンピュータ・システムにリモートで問い合わせするため当該コンピュータ・システムのリモートのスキャンを行うステップ、をさらに含む方法を提供する。
【0009】
好ましくは、本発明は、前記それぞれのポートの一つのポートは、開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、方法を提供する。
【0010】
好ましくは、本発明は、前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を判定するため、前記特定された相違を評価する更なるテストを実施するよう、前記特定された相違がある前記コンピュータ・システムに警告するステップ、をさらに含む方法を提供する。
【0011】
好ましくは、本発明は、前記ローカルおよび/またはリモートのスキャンを行うステップはさらに、前記コンピュータ・システム上で開放されていると特定された前記またはそれぞれのポートと通信を開始し、それぞれの特定された開放ポートについて、前記開放ポートと共に動くサービスが既知のサービスか判定すること、を含む方法を提供する。
【0012】
第2の側面からみると、本発明はコンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するシステムを提供し、前記システムは、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表を含むリストを生成するようにコンピュータ・システムにローカルで問い合わせする手段であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストもさらに含む手段と、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表を含むリストを生成するようにネットワークを通じリモートコンピュータ・システムから当該コンピュータ・システムにリモートで問い合わせする手段であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートのリストを列挙したリストもさらに含む手段と、前記タスクおよびネットワークサービスのローカルの一覧表および前記タスクおよびネットワークサービスのリモートの一覧表を収集する手段と、前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、前記タスクおよびネットワークサービスのローカルの一覧表と前記タスクおよびネットワークサービスのリモートの一覧表との間の相違点があれば特定するように、前記タスクおよびネットワークサービスのローカルの一覧表と前記タスクおよびネットワークサービスのリモートの一覧表を比較する手段とを含む。
【0013】
好ましくは、本発明は、前記ローカルで問い合わせは、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知する手段、および検知する手段に応答して、コンピュータ・システムにローカルで問い合わせするためコンピュータ・システムのローカルのスキャンを行う手段、をさらに含むシステムを提供する。
【0014】
好ましくは、本発明は、前記リモートで問い合わせは、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をリモートで検知する手段、およびリモートで検知する手段に応答して、当該コンピュータ・システムにリモートで問い合わせするため当該コンピュータ・システムのリモートのスキャンを行う手段、をさらに含むシステムを提供する。
【0015】
好ましくは、本発明は、前記それぞれのポートの一つのポートは、開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、システムを提供する。
【0016】
好ましくは、本発明は、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を判定するため、特定された相違を評価する更なるテストを実施するよう、特定された相違がある当該コンピュータ・システムに警告する手段、をさらに含むシステムを提供する。
【0017】
好ましくは、本発明は、前記ローカルおよび/またはリモートのスキャンを行う手段はさらに、コンピュータ・システム上で開放されていると特定された前記またはそれぞれのポートと通信を開始する手段、およびそれぞれの特定された開放ポートについて、前記開放ポートと共に動くサービスが既知のサービスか判定する手段、を含むシステムを提供する。
【0018】
本発明の別の態様では、本発明は、コンピュータ上で稼動したとき、上述した前記発明を実行するよう機能するソフトウェアのコード部分を含む、デジタルコンピュータの内部メモリーにロードされうるコンピュータプログラム、を提供する。
【0019】
別の側面からみると、本発明は、ホストコンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するシステムで、ネットワーク通信チャネル、前記ネットワーク通信チャネルに接続されたホストコンピュータ・システム、前記ホストコンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をローカルで検知するため、前記ホストコンピュータ・システムのローカルで導入され前記ホストコンピュータ・システムのローカルのスキャンを実施する、第1のツール、前記ネットワーク通信チャネルに接続されたリモートコンピュータ・システム、前記ホストコンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在をリモートで検知するため、前記リモートコンピュータ・システムに導入され前記ホストコンピュータ・システムのリモートのスキャンを実施する第2のツール、前記ホストコンピュータ・システムのローカルスキャンと前記ホストコンピュータ・システムのリモートスキャンから収集した結果の相互の関係を比較するための結果相関エンジンであって、前記ホストコンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、前記ホストコンピュータ・システムの前記ローカルスキャンと前記リモートスキャンとの間の相違点があれば特定するものである前記結果相関エンジン、を含むシステムを提供する。
【0020】
好ましくは、本発明は、さらに相違レポートであって、前記ホストコンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、前記ホストコンピュータ・システムの前記ローカルスキャンと前記リモートスキャンとの間の特定された相違点があれば報告する前記相違レポート、を提供するための第3のツールを含むシステムを提供する。
【0021】
好ましくは、本発明は、第1のツールが前記ホストコンピュータ・システムで現在稼動しているタスクおよびネットワークサービスのローカルの一覧表を列挙するためローカルで前記ホストコンピュータ・システムに問い合わせをするシステムであって、そのタスクおよびネットワークサービスのローカルの一覧表には前記ホストコンピュータ・システム上で使用されているそれぞれのポートを含み、前記ホストコンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスの一覧表の中の前記それぞれのポートの一つのポートは、開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、システムを提供する。
【0022】
好ましくは、本発明は、前記第2のツールが前記ホストコンピュータ・システムで現在稼動しているタスクおよびネットワークサービスのリモートの一覧表を列挙するためリモートで前記ホストコンピュータ・システムに問い合わせをするシステムであって、前記タスクおよびネットワークサービスのリモートの一覧表には前記ホストコンピュータ・システム上で使用されているそれぞれのポートを含み、前記ホストコンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表の中の前記それぞれのポートの一つのポートは、開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、システムを提供する。
【0023】
好ましくは、本発明は、コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検証するため、相違点があれば評価する更なるテストを実施するよう、特定された相違点がある前記ホストコンピュータ・システムに警告(flagging)するための、第4のツールをさらに含むシステムを提供する。
【0024】
さらに別の側面からみると、本発明は、ホストコンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するコンピュータプログラムで、コンピュータ読み取り可能記憶媒体、前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表の列挙のためコンピュータ・システムにローカルで問い合わせする第1のプログラム命令であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートも含む命令と、前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するため、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表の列挙のためコンピュータ・システムにネットワークを通じリモートコンピュータ・システムからリモートで問い合わせする第2のプログラム命令であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートも含む命令と、それぞれ列挙されたタスクおよびネットワークサービスの前記ローカルの一覧表を収集しおよびそれぞれ列挙されたタスクおよびネットワークサービスの前記リモートの一覧表を収集する第3のプログラム命令と、前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、列挙されたタスクおよびネットワークサービスの前記ローカルの一覧表と列挙されたタスクおよびネットワークサービスの前記リモートの一覧表との間の相違点があれば特定する目的で、列挙されたタスクおよびネットワークサービスの前記ローカルの一覧表と列挙されたタスクおよびネットワークサービスの前記リモートの一覧表を比較する、第4のプログラム命令と、そして前記第1、2、3、4のプログラム命令は前記コンピュータ読み取り可能記憶媒体に記録されている、を含むコンピュータプログラムを提供する。
【0025】
好ましくは、本発明は、前記いかなる相違も評価する更なるテストを実施する目的で、特定されたいかなる相違も有する前記コンピュータ・システムに警告(flagging)する5番目のプログラム命令であって、その5番目のプログラム命令は前記コンピュータ読み取り可能記憶媒体に記録されている、をさらに含む、コンピュータプログラムを提供する。
【0026】
好ましくは、本発明は、前記第1のプログラム命令が、前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をローカルで検知するための第1のツールを提供し、コンピュータ・システムのローカルのスキャンを実行するため前記第1のツールを使用してローカルで前記コンピュータ・システムに問い合わせる命令をさらに含む、コンピュータプログラムを提供する。
【0027】
好ましくは、本発明は、前記第2のプログラム命令が、前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在をリモートで検知するための第2のツールを提供し、前記コンピュータ・システムのリモートのスキャンを実行するため前記第2のツールを使用してリモートで前記コンピュータ・システムに問い合わせる命令をさらに含む、コンピュータプログラムを提供する。
【0028】
好ましくは、本発明は、前記それぞれのポートの一つのポートは、開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、コンピュータプログラムを提供する。
【0029】
添付の図面は、本明細書の一部をなすものであるが、本発明の本質を説明するため、説明と共に、本発明の態様を図示する。
【図面の簡単な説明】
【0030】
【図1】図1は、本発明の好適な実施例に従い、コンピュータ・システム上で稼動している悪意あるサービスエージェントおよびマルウェアの存在を検知するための、システムの態様を図示した略ブロック図である。
【図2】図2は、本発明の好適な実施例に従い、前記コンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するため、前記コンピュータ・システムのローカルスキャンを行うローカルスキャンツールを配置した、コンピュータ・システムの態様を図解している。
【図3】図3は、本発明の好適な実施例に従い、リモートコンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するため、前記リモートコンピュータ・システムのリモートスキャンを行うリモートスキャンツールを配置した、コンピュータ・システムの態様を図解している。
【図4】図4は、本発明の好適な実施例に従い、コンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するため、受領した前記ローカルスキャンの結果および受領した前記リモートスキャンの結果を分析または評価するための結果相関エンジンを配置した、コンピュータ・システムの態様を図解している。
【図5】図5は、本発明の好適な実施例に従い、コンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するためのコンピュータのインフラストラクチャーを図解している。
【図6】図6は、本発明の好適な実施例に従い、ホストコンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在をローカルで検知するための前記ホストコンピュータ・システムで行うステップを説明するフローチャートを図解している。
【図7】図7は、本発明の好適な実施例に従い、ホストコンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在をリモートで検知するためのリモートコンピュータ・システムで行うステップを説明するフローチャートを図解している。
【図8】図8は、本発明の好適な実施例に従い、前記ホストコンピュータ・システム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するための、結果相関コンピュータ・システムによって行う全体のステップを説明するフローチャートを図解している。
【発明を実施するための形態】
【0031】
本明細書で説明されている機能ユニット(functional unit)の多くは、実装の独立性をより強調したいがために、モジュールと呼ばれている。たとえば、モジュールは、カスタム超大規模集積回路(VLSI)やゲートアレイ、論理チップ、トランジスタまたは他の個別部品などの市販の半導体、からなるハードウェア回路で実装されうる。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレー・ロジック(programmablearray logic)、プログラム可能論理回路などの、プログラマブル・ハードウェア・デバイスの形で実装することもできる。
【0032】
モジュールは、様々なタイプのプロセッサーによって処理されるソフトウェアで実装することも可能である。特定されたモジュールまたは実行可能コードのコンポーネントは、例えばオブジェクト、プロシージャまたはファンクションとして構成されうる、例えばコンピュータ命令の1つ以上の物理的または論理的ブロックからなることも可能である。それにもかかわらず、特定されたモジュールの実行ファイルは、物理的に一緒に置かれている必要はなく、別々の場所に保存され、論理的に結合したときに、モジュールを構成しモジュールについての上述の目的を達成する、種々の異なる命令から構成されてもよい。
【0033】
さらに、実行可能コードのモジュールは、単一の命令、または多数の命令でよく、またいくつかの別々のコード部分、別々のプログラムの中、またはいくつかのメモリーデバイスにわたって分散していてもよい。同様に、運用データはここでモジュールの中で特定され説明されうるが、いかなる形態もとりえデータ構造のいかなる適切なタイプにも構成されうる。前記運用データは、単一のデータセットとして収集されうる、または別々のストレージデバイスや種々の異なるメモリーデバイスを含む、別々の場所にわたって分散するか、少なくとも部分的に、単にシステムまたはネットワーク上の電子信号として、存在し得る。
【0034】
また、モジュールは、ソフトウェアおよび一つ以上のハードウェアデバイスの組み合わせとして実装することも可能である。例えば、モジュールはメモリーデバイスに保存されたソフトウェア実行可能コードの組み合わせで具現化することができる。他の例として、モジュールは、運用データのセットを遂行するプロセッサーの組み合わせでありえる。さらに、モジュールは伝送回路を通じて通信する電子信号の組み合わせで実装され得る。
【0035】
本明細書中、「一つの実施例」、「ある実施例」、または類似の言葉は、前記実施例に関連して説明される特定の特徴、構造、または特質が、本発明の少なくとも一つの実施例に含まれることを意味する。それゆえ、「一つの実施例に」、「ある実施例に」、または類似の言葉のフレーズが本明細書中に記載されていても、それらはすべて同じ実施例を参照していることもあるし、必ずしもそうでないこともある。
【0036】
さらに、本発明の前記説明された特徴、構造、または特質が一つ以上の実施例と、いかなる適切な方法でも組み合わせることが可能である。当業者には、本発明の技術的範囲および主旨から逸脱することなく、本発明に種々の修正および変更が可能であることは明らかであろう。それゆえ、これらの修正および変更は、添付の特許請求の範囲およびそれらの均等物の範囲内に収まる限り、本発明によってカバーされるものとする。以降は本発明の好適な実施例について詳細を述べる。
【0037】
一つの実施例では、本発明は、本発明のある実施例により、コンピュータ・システムまたはホストシステム上で稼動している悪意あるソフトウェアおよびマルウェアの存在を検知するためのシステムを提供する。図1を参照すると、参照番号100は、本発明のある実施例により、コンピュータ・システム上で稼動している悪意あるサービスエージェントのような、悪意あるソフトウェアおよびマルウェアの存在を検知するためのシステムの実施例を概略的に図示している。図1で示されているように、前記システムインフラストラクチャー100は、ネットワーク120にリモートで接続されている第1のホストコンピュータ・システム102を含む。一実施例において、第1のホストコンピュータ・システム102上には、第1のホストコンピュータ・システム102のローカルの問い合わせまたは取調べを遂行するための、ローカル取調べエージェントプログラム、ローカルスキャニングエージェントまたはツールが導入されている。前記ローカル取調べエージェントまたはソフトウェアは、第1のホストコンピュータ・システム102上で現在稼動しているローカルタスクおよびネットワークサービスを見つけ出すため、第1のコンピュータ・システム102上で稼動されている。さらに、システムインフラストラクチャー100は、ネットワーク120に接続されており、第1のホストコンピュータ・システム102とはリモートである、第2のホストコンピュータ104を含む。一実施例において、第2のホストコンピュータ104は、第1のホストコンピュータ・システム102上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表を列挙するため、第1のホストコンピュータ・システム102のリモートの問い合わせまたは取調べを遂行するネットワーク取調べツールを含む。また、システムインフラストラクチャー100は、前記ネットワーク120に接続されており、第1のコンピュータ・システム102および第2のコンピュータ・システム104から受領した結果を相互に比較する結果相関エンジンを導入した、第3のコンピュータ・システム106を含む。一実施例において、第3のコンピュータ・システム106は、第1のホストコンピュータ・システム102によって遂行されたローカルの問い合わせまたは取調べの結果を収集する。そして、第3のコンピュータ・システム106は、第2のホストコンピュータ・システム104によって遂行された、第1のホストコンピュータ・システム102についての、リモートの問い合わせまたは取調べの結果も収集する。さらに、第3のコンピュータ・システム106上に配置された前記結果相関エンジンは、第1のホストコンピュータ・システム102上で稼動している悪意あるサービスエージェントのような、悪意あるソフトウェアの存在を検知するため、第1のホストコンピュータ・システム102から取得した前記ローカルの一覧表の結果と第2のホストコンピュータ・システム104から取得した前記リモートの一覧表の結果の間の相違点があれば特定する目的で、第1のホストコンピュータ・システム102によって列挙されたタスクおよびネットワークサービスの前記ローカルの一覧表と第2のホストコンピュータ・システム104によって列挙されたタスクおよびネットワークサービスの前記リモートの一覧表を比較する。また、一実施例において、第3のコンピュータ・システム106は、第1のホストコンピュータ・システム102上で稼動しているいかなる悪意あるソフトウェアの存在をも検知するため、第1のホストコンピュータ・システム102によって遂行された前記ローカルスキャンと第2のホストコンピュータ・システム104によって遂行された第1のホストコンピュータ・システム102についての前記リモートスキャンとの間の相違点があれば特定する相違レポート108を生成するレポートツールを含む。
【0038】
図2を参照すると、参照番号200は、本発明のある実施例により、コンピュータプログラム、すなわち、悪意あるソフトウェアが稼動している疑いのあるホストコンピュータ・システムのローカルのスキャンまたは取調べを遂行するための、ローカルスキャニングエージェントプログラムまたはツール、が配置されたホストコンピュータ・システムまたはサーバー(例えば、図1に示されたホストコンピュータ・システム102)、の実施例を示している。一実施例において、ローカルスキャニングツールまたはプログラム220がホストコンピュータ・システムまたはサーバー200の中で稼動している。好ましくは、前記コンピュータ・システム200は、中央処理装置(CPU)204、ローカルストレージデバイス202、ユーザーインタフェース206、ネットワークインターフェース208、およびメモリー210を含むコンピュータ・システムまたはサーバーである。CPU204は一般的に、前記ホストコンピュータ・システム/サーバー200の中の操作を実行するよう構成されている。ユーザーインタフェース206は、一つの実施例では、コンピュータ・システム200のローカルスキャンを遂行するためのコマンドおよび/またはデータの入力を可能にすることを含む、ユーザーまたはオペレータがコンピュータ・システムまたはサーバー200とやりとりすることを可能にするよう構成されている。ネットワークインターフェース208は、一つの実施例では、図1で示されたネットワーク120のような、ネットワークの通信チャネル上でホストシステムまたはサーバー200のネットワーク通信を促進するよう構成される。一実施例において、メモリー210はワープロアプリケーションや表計算アプリケーションなどの一つ以上のアプリケーションまたはプログラム212を保存するよう構成されている。一つの実施例では、図2に示すように、ホストサーバーまたはシステム200上で稼動しているローカルスキャニングエージェントプログラムまたはツール220は、ホストコンピュータ・システム上で稼動しているタスクおよびネットワークサービスのローカルの一覧表を列挙するため、ホストコンピュータ・システム200のローカルスキャンを遂行する必要なステップを機能的に実行するよう構成された複数のモジュールを含む論理ユニットからなる。一実施例において、図2で示すように、ホストコンピュータ・システム200上で稼動しているローカルスキャニングツールまたはエージェントプログラム220は、起動モジュール222、タスクモジュール224、ネットワークサービスモジュール226、リスト生成モジュール228、結果ログモジュール230、転送モジュール232および通信モジュール234を含む。一実施例において、起動モジュール222は、ホストコンピュータ・システム200のローカルスキャンを起動するよう構成されている。タスクモジュール224は、ホストコンピュータ・システム200上で稼動しているすべてのタスクを列挙しまたはリストするよう構成されている。さらに、ネットワークサービスモジュール226は、ホストコンピュータ・システム200上で稼動しているすべてのネットワークサービスを列挙しまたはリストするよう構成されている。一実施例において、リスト生成モジュール228は、ホストコンピュータ・システム上で稼動しているすべてのタスクとネットワークサービスを列挙しリストを生成するよう構成されている。結果ログモジュール230は、前記ホストコンピュータ・システム上で実行された前記ローカルスキャンの結果ログを生成するよう構成されている。一実施例において、結果ログモジュール230によって生成されたローカルスキャン結果ログ214は、ホストコンピュータ・システム200中のローカルストレージ202の中に保存される。転送モジュール232は、ホストコンピュータ・システム200から受領した前記ローカルスキャン結果を評価するために、ホストコンピュータ・システム200上で実行された前記ローカルスキャンの結果を、結果相関エンジン(例えば、図4に示したコンピュータ・システム400)を含む他のコンピュータ・システムに転送するように構成される。通信モジュール234は、ローカルスキャニングツール220の種々のモジュール、メモリー210、ローカルストレージ202と、ネットワーク上で前記ホストコンピュータ・システムと接続されている、前記結果相関エンジンを含む前記コンピュータ・システムのような、外部のコンピュータ・システムとの間での通信を可能にするように構成されている。
【0039】
図3を参照すると、参照番号300は、本発明のある実施例により、コンピュータプログラム、すなわち、前記第1のホストコンピュータ・システムとの接続を開くため、または、悪意あるソフトウェアが稼動している疑いのある前記第1のホストコンピュータ・システムのリモートのスキャンや取調べを遂行するための、リモートスキャニングエージェントプログラムまたはツール、が配置されたリモートホストコンピュータ・システムまたはサーバー(例えば、図1に示されたリモートホストコンピュータ・システム104)、のある実施例を示している。一実施例において、リモートスキャニングツールまたはプログラム320が第2のホストコンピュータ・システムまたはサーバー300の中で稼動している。好ましくは、コンピュータ・システム300は、中央処理装置(CPU)304、ストレージデバイス302、ユーザーインタフェース306、ネットワークインターフェース308、およびメモリー310を含むコンピュータ・システムまたはサーバーである。CPU304は一般的に、ホストコンピュータ・システム/サーバー300の中の操作を実行するよう構成されている。ユーザーインタフェース306は、一つの実施例では、図2に示されたコンピュータ・システム200のような、コンピュータ・システム300からリモートにあるホストコンピュータ・システムのリモートスキャンを遂行するためのコマンドおよび/またはデータの入力を可能にすることを含む、ユーザーまたはオペレータがコンピュータ・システムまたはサーバー300とやりとりすることを可能にするよう構成されている。ネットワークインターフェース308は、一つの実施例では、図1で示されたネットワーク120のようなネットワークの通信チャネル上でホストシステムまたはサーバー300のネットワーク通信を促進するよう構成される。一実施例において、メモリー310はワープロアプリケーションや表計算アプリケーションなどの一つ以上のアプリケーションまたはプログラム312を保存するよう構成されている。一つの実施例では、図3に示すように、ホストサーバーまたはシステム300上で稼動しているリモートスキャニングエージェントプログラムまたはツール320は、リモートホストコンピュータ・システム200上で稼動しているタスクおよびネットワークサービスのリモートの一覧表を列挙するため、リモートホストコンピュータ・システム200(図2)のリモートスキャンを遂行する必要なステップを機能的に実行するよう構成された複数のモジュールを含む論理ユニットからなる。一実施例において、図3で示すように、ホストコンピュータ・システム300上で稼動しているリモートスキャニングツールまたはエージェントプログラム320は、起動モジュール322、タスクモジュール324、ネットワークサービスモジュール326、リスト生成モジュール328、結果ログモジュール330、転送モジュール332および通信モジュール334を含む。一実施例において、起動モジュール322は、ネットワーク上で前記リモートホストコンピュータ・システム200のすべてのポートのリモートスキャンを起動するよう構成されている。タスクモジュール324は、リモートホストコンピュータ・システム200上で稼動しているすべてのタスクを列挙しまたはリストするよう構成されている。さらに、前記ネットワークサービスモジュール326は、リモートホストコンピュータ・システム200上で稼動しているすべてのネットワークサービスを列挙しまたはリストするよう構成されている。一実施例において、リスト生成モジュール328は、リモートホストコンピュータ・システム200上で稼動しているすべてのタスクとネットワークサービスを列挙しリストを生成するよう構成されている。結果ログモジュール330は、リモートホストコンピュータ・システム200上で実行された前記リモートスキャンの結果ログを生成するよう構成されている。一実施例において、結果ログモジュール330によって生成されたリモートスキャン結果ログ314は、ホストコンピュータ・システム300中のローカルストレージ302の中に保存される。転送モジュール332は、リモートホストコンピュータ・システム200について実行された前記リモートスキャンの結果を、ホストコンピュータ・システム300から受領した前記リモートスキャン結果を評価するために、結果相関エンジンを含む他のコンピュータ・システム(例えば、図4に示したコンピュータ・システム400)に転送するように構成される。通信モジュール334は、リモートスキャニングツール320の種々のモジュール、メモリー310、ローカルストレージ302と、ネットワーク上でホストコンピュータ・システム300と接続されている、前記結果相関エンジンを含むコンピュータ・システム400(図4に示される)のような、外部のコンピュータ・システムとの間での通信を可能にするように構成されている。
【0040】
図4を参照すると、参照番号400は、本発明の実施例により、コンピュータプログラム、すなわち、第1のコンピュータ・システム上で稼動しているいかなる悪意あるソフトウェアの存在をも検知するため、第1のホストコンピュータ・システムまたはサーバーから受領したローカルスキャン結果と第2のホストコンピュータ・システムまたはサーバーから受領した前記第1のホストコンピュータ・システムについてのリモートスキャン結果を相互に比較する結果相関プログラムまたはツールまたはエンジン420、が配置された、コンピュータ・システムまたはサーバー(例えば、図1に示されたコンピュータ・システム106)のある実施例を示している。好ましくは、コンピュータ・システム400は、中央処理装置(CPU)404、ストレージデバイス402、ユーザーインタフェース406、ネットワークインターフェース408、およびメモリー410を含むコンピュータ・システムまたはサーバーである。CPU404は一般的に、ホストコンピュータ・システム/サーバー400の中の操作を実行するよう構成されている。ユーザーインタフェース406は、一つの実施例では、コンピュータ・システム200(図2)および/またはコンピュータ・システム300(図3)のような、一つ以上のコンピュータ・システムまたはサーバーからのスキャン結果を収集するためのコマンドおよび/またはデータの入力を可能にすることを含む、ユーザーまたはオペレータがコンピュータ・システムまたはサーバー400とやりとりすることを可能にするよう構成されている。ネットワークインターフェース408は、一つの実施例では、図1で示されたネットワーク120のようなネットワークの通信チャネル上でコンピュータ・システムまたはサーバー400のネットワーク通信を促進するよう構成される。一実施例において、メモリー410はワープロアプリケーションや表計算アプリケーションなどの一つ以上のアプリケーションまたはプログラム412を保存するよう構成されている。一つの実施例では、図4に示すように、コンピュータサーバーまたはシステム400上で稼動している結果相関プログラムまたはツール420は、ホストコンピュータ・システム200上で稼動しているいかなる悪意あるソフトウェアまたはマルウェアの存在をも検知するため、ローカルホストコンピュータ・システム200(図2)およびリモートホストコンピュータ・システム300(図3)から受領した前記スキャニング結果の評価を遂行する必要なステップを機能的に実行するよう構成された複数のモジュールを含む論理ユニットからなる。一実施例において、図4に示すように、コンピュータ・システムまたはサーバー400上で稼動している前記結果相関プログラムまたはツール420は、受領モジュール422、比較モジュール424、評価モジュール426、警告モジュール428、レポート生成ツール430、および通信モジュール432を含む。一実施例において、受領モジュール422は、悪意あるソフトウェアまたはマルウェアが稼動している疑いのあるホストコンピュータサーバーまたはシステムのローカルのスキャン結果、およびネットワークを通じ前記ホストコンピュータ・システムまたはサーバーのリモートのスキャンを実行したリモートコンピュータ・システムまたはサーバーからのリモートスキャン結果、を受領するよう構成されている。比較モジュール424は、前記ローカルスキャンが遂行された結果としてのホストコンピュータ・システム200で稼動しているすべての列挙されたタスクのリストと、ホストコンピュータ・システム200について遂行されたリモートスキャンの結果としての前記ホストコンピュータ・システム200で稼動しているすべてのリモートの列挙されたタスクのリストを比較するよう構成されている。一実施例において、比較モジュール424は、前記ローカルコンピュータ・システムによって前記ローカルポートから取得されたサービスのリストと、前記リモートコンピュータ・システムによって前記同じポートからリモートに取得されたサービスのリストを比較する。さらに、評価モジュール426は、前記ローカルスキャニング結果と前記リモートスキャニング結果との間に何か相違が見つかったかについて、ローカルストレージ402内の相関結果ログ414に保存する相関結果を生成するため、比較モジュール424によって行われた前記比較を評価するよう構成されている。警告モジュール428は、評価モジュール426によって行われた評価の結果として、悪意あるソフトウェアまたはマルウェアが稼動している疑いのあるコンピュータ・システムに警告するよう構成されている。レポート生成ツール430は、コンピュータ・システム400によって評価された前記ローカルスキャンと前記リモートスキャンとの間で見つかった前記相違点を列挙する相違レポートを生成するよう構成されている。通信モジュール432は、一実施例において、結果相関ツール420の種々のモジュール、メモリー410、ローカルストレージ402と、ネットワーク上でコンピュータ・システム400と接続されている、コンピュータ・システム200(図2に示される)およびコンピュータ・システム300(図3に示される)のような、外部のコンピュータ・システムとの間での通信を可能にするように構成されている。
【0041】
図5を参照すると、本発明の実施例に従い、コンピュータプログラム、すなわち、ホストコンピュータ・システム504のローカルスキャンを動的に実行する本発明を実装するローカルスキャニングエージェントプログラムまたはツール514を配置した、サーバーまたはコンピュータ・システム504を含むインフラストラクチャー502が中にある、システム500を図解している。前記コンピュータプログラムは、プログラムコード、すなわち、コンピュータサーバー、コンピュータ・システムまたはあらゆる命令実行システムによって使用するためのまたは関連した、ローカルスキャニングエージェントプログラムまたはツール514、を提供するコンピュータ読み取り可能またはコンピュータ使用可能記憶媒体からなる。ローカルスキャニングエージェントプログラムまたはツール514は、磁気テープまたはディスク、光メディア、DVD、メモリースティック、半導体メモリなどのような、コンピュータ読み取り可能記憶媒体参考番号516から、または前記それぞれのシステムまたはサーバー上に導入されたネットワークアダプターカード(参照番号518)を通じサーバーからダウンロードされ、ホストコンピュータ・システム504のメモリー512にロードされうる。図5で表現されているように、システム500は、コンピュータインフラストラクチャー502を含み、それは、セキュアな環境(アクセスコントロールが実行されている)が維持されるすべてのタイプのコンピュータアーキテクチャーを示すことを意図している。さらに示されているように、インフラストラクチャー502は、ローカルスキャニングエージェントプログラムまたはツール514を含むアプリケーションサーバーまたはシステム504などを一般的に示す、コンピュータサーバーまたはシステム504を含む。示されていないが、インフラストラクチャー502に、他のハードウェアおよびソフトウェアコンポーネント(さらなるコンピュータ・システム、ルーター、ファイアウォール等)が含まれ得る。
【0042】
一般的にホストシステム504はネットワークを通じインフラストラクチャー502に接続されている。ホストシステム504は、ホストシステム504上で現在稼動している前記タスクおよびネットワークサービスのローカルのスキャンを遂行するための、ホストシステム504で稼動しているローカルスキャニングエージェントプログラムまたはツール514を含む。さらに、図5で示すように、図1に関して上述したように、ホストシステム504(図1のコンピュータ・システム102)は、ネットワーク(図1の参照番号120)を通じ、コンピュータ・システムサーバーまたはシステム530(図1のコンピュータ・システム104)および/またはコンピュータサーバーまたはシステム540(図1のコンピュータ・システム106)と通信できる。例えば、コンピュータ・システムまたはサーバー530は、磁気テープまたはディスク、光メディア、DVD、メモリースティック、半導体メモリなどのような、コンピュータ読み取り可能記憶媒体参照番号532から、または前記それぞれのシステムまたはサーバー530上に導入されたネットワークアダプターカード(参照番号554)を通じサーバーからダウンロードされ、ホストコンピュータ・システム530のローカルメモリー533にロードされる、リモートスキャニングプログラムまたはツール534を使用し、コンピュータ・システムまたはサーバー504のリモートスキャンを行うため、インフラストラクチャー502とインターフェースをとりうる。同様に、コンピュータ・システムまたはサーバー540は、システムまたはサーバー504によって遂行されたローカルスキャンの結果を受領するため、インフラストラクチャー502とインターフェースをとることができ、サーバー530によって遂行された、コンピュータ・システムまたはサーバー504の前記リモートスキャンの結果を受領することができる。一実施例において、結果相関ツールまたはプログラムは、磁気テープまたはディスク、光メディア、DVD、メモリースティック、半導体メモリなどのような、コンピュータ読み取り可能記憶媒体参照番号542から、またはそれぞれのシステムまたはサーバー540上に導入されたネットワークアダプターカード(参照番号556)を通じサーバーからダウンロードされ、ホストコンピュータ・システム540のローカルメモリー543にロードされる。そのようなものとして、コンピュータ・システムまたはサーバー540は、コンピュータ・システム504によって実行された前記ローカルスキャンの結果および、コンピュータ・システム504についてコンピュータ・システム530が実行した前記リモートスキャンの結果を受領し、ホストシステム504で悪意あるソフトウェアまたはマルウェアが稼動しているか判定するため、前記ローカルスキャンの結果と前記リモートスキャンの結果を比較することができる。本発明では、インフラストラクチャー502が、プロバイダー526のような団体、または、独立した組織によって、所有されたりおよび/または運用されたりし得ることは当然である。それにもかかわらず、インフラストラクチャー502の使用と本明細書で説明された教示内容は、登録によるまたは手数料方式で提供可能である。
【0043】
前記ホストコンピュータ・システムまたはサーバー504は、CPU(以下処理装置506)、メモリー512、バス510、および入出力(I/O)インターフェース508を含むように示されている。さらに、サーバー504は、外部I/Oデバイス/リソース520およびストレージシステム522と通信するよう示されている。一般的には、処理装置506は、コンピュータ・システム504上で現在稼動している前記タスクおよびサービスを判定するためのローカルスキャニングエージェントプログラムまたはツール514のような、メモリー512に保存されたコンピュータプログラムコードを実行する。一実施例において、ローカルスキャニングエージェントプログラムまたはツール514の実行によって作成されたローカルスキャニング結果524は、ストレージ522に保存される。図5には示されていないが、コンピュータ・システムまたはサーバー530および540は、コンピュータ・システム504と同じように、それぞれCPU、メモリー、バス、および入出力(I/O)インターフェースを含む。さらに、サーバー530は、外部I/Oデバイス/リソース(図示されていない)およびストレージシステム536と通信するし、コンピュータ・システムまたはサーバー540は、I/Oデバイス/リソース(図示されていない)およびストレージシステム546と通信する。
【0044】
一般的に、処理装置506は、コンピュータ・システム504上で現在稼動している前記タスクおよびサービスを判定するための前記ローカルスキャニングエージェントプログラムまたはツール514のような、メモリー512に保存されたコンピュータプログラムコードを実行し、コンピュータ・システム530の処理装置は、コンピュータ・システム504上で稼動しているタスクおよびサービスを判定するための前記リモートスキャニングエージェントプログラムまたはツール534のような、メモリー533に保存されたコンピュータプログラムコードを実行する。同じように、コンピュータ・システム540の処理装置は、コンピュータ・システム504の前記ローカルスキャンと前記リモートスキャンの間にいかなる相違もあるか判定するための結果相関ツールまたはプログラム544のような、メモリー543に保存されたコンピュータプログラムコードを実行する。
【0045】
また、一実施例において、コンピュータ・システム504で稼動するローカルスキャニングエージェントプログラムまたはツール514の実行によって作成されるローカルスキャニング結果524はストレージ522に保存され、一方、リモートスキャニングエージェント534の実行によって作成された前記リモートスキャニング結果538はコンピュータ・システム530のストレージ536に保存され、また他方で、コンピュータ・システム540上の結果相関ツール544の実行によって遂行される前記相関結果548はコンピュータ・システム540のストレージ546に保存される。コンピュータ・システム504上の前記ローカルスキャニングエージェントツールまたはプログラム514を実行している間に、処理装置506は、ストレージ522に保存されたローカルスキャニング結果524のようなデータを、メモリー512、ストレージシステム522、および/またはI/Oインターフェース508へ/から、読み込むおよび/または書き出すことができる。あるいは、ローカルスキャニングツール514は、メモリー512にローカルスキャニング結果524を保存することができる。バス510は、インフラストラクチャー502の中で情報を通信させることができるよう、コンピュータ・システム500のそれぞれの構成コンポーネントの間で通信リンクを提供する。外部デバイス520は、ユーザーがコンピュータ・システム500とやりとりすることを可能にするいかなるデバイス(例えば、キーボード、ポインティングデバイス、ディスプレイなど)、および/またはホストシステム504がサーバー530および/または540のような一つ以上のコンピューティングデバイスと通信することを可能にするいかなるデバイス(例えばネットワークカード、モデムなど)を含み得る。同じように、コンピュータ・システム530上のリモートスキャニングエージェントツールまたはプログラム534を実行している間に、前記処理装置は、ストレージ536に保存されたリモートスキャニング結果538のようなデータを、メモリー533、ストレージシステム536、へ/から、読み込むおよび/または書き出すことができる。あるいは、前記リモートスキャニングツール534は、メモリー533に前記リモートスキャニング結果538を保存することができる。また、コンピュータ・システム540上の結果相関ツールまたはプログラム544を実行している間に、前記処理装置は、ストレージ546に保存された相関結果548のようなデータを、メモリー543、ストレージシステム546、へ/から、読み込むおよび/または書き出すことができる。あるいは、前記結果相関ツール544は、メモリー543に前記相関結果548を保存することができる。
【0046】
コンピュータインフラストラクチャー502は、本発明を実施するための種々のタイプのコンピュータインフラストラクチャーの例示にすぎない。例えば、一つの実施例では、コンピュータインフラストラクチャー502は、本発明の様々なプロセスステップを実行するためネットワーク上で通信する2つ以上のサーバーグループまたはクラスター(Cluster)から構成し得る。さらに、コンピュータ・システム500は、多くのハードウェアの組み合わせを含み得る、種々のあり得るコンピュータ・システムの典型例にすぎない。この点で、他の実施例では、コンピュータ・システム500は、特定の機能を実行するハードウェアおよび/またはコンピュータプログラムコードからなるあらゆる特定目的のコンピュータ製品、または特定目的および一般用のハードウェア/ソフトウェアの組み合わせからなるあらゆるコンピュータ製品、などから構成され得る。それぞれのケースで、前記プログラムコードおよびハードウェアは、それぞれ標準のプログラムおよびエンジニアリング技術を用いて作成され得る。また、処理装置506は、一つの処理装置、または一つ以上のロケーションで、例えばクライアントおよびサーバー上で、一つ以上の処理装置が分散している、から構成することもできる。同じように、メモリー512および/またはストレージシステム522は、1つ以上の物理的ロケーションに存在する、種々のタイプのデータストレージおよび/または伝送媒体のあらゆる組み合わせから構成し得る。さらに、I/Oインターフェース508は、1つ以上の外部デバイス520と情報をやりとりするためのあらゆるシステムから構成し得る。さらにまた、図5には示されていない、一つ以上の追加の構成コンポーネント(例えば、システムソフトウェア、数値計算コプロセッサ・ユニット(mathco-processing unit)など)がコンピュータ・システム500に含まれてもよい。
【0047】
ストレージシステム522、536、および546は本発明の下で情報の保存する場所を提供し得るあらゆるタイプのシステム(例えばデータベース)であり得る。この点で、ストレージシステム522、536、および546は、磁気ディスクドライブ、または光学ディスクドライブのような、一つ以上のストレージデバイスを含み得る。他の実施例では、ストレージシステム522、536、および546は、データが、例えば、ローカルエリアネットワーク(LAN),ワイドエリアネットワーク(WAN)またはストレージエリアネットワーク(SAN)(示されていない)にわたって分散して存在しているのも含む。図示されていないけれども、追加のコンポーネント、キャッシュメモリー、通信システム、システムソフトウェア、などがコンピュータ・システム500に組み込まれ得る。
【0048】
他の実施例では、本発明は、コンピュータ・システムまたはホストコンピュータ・システム上で稼動する悪意あるソフトウェアおよびマルウェアの存在を検知するための、方法またはプロセスを提供する。図6の参照番号600を今度は参照すると、本発明の実施例に従い、望まないマルウェアまたは悪意あるソフトウェアが稼動している疑いがあるホストコンピュータ・システムによって実行されるステップの概要を説明している。図6で示されるように、ステップ602において、現在稼動しているまたはアクティブなネットワークサービスのリストを取得するため、悪意あるソフトウェアまたはマルウェアが存在する疑いのある「疑わしい」ホストコンピュータ・システム上で、ローカルスキャニングソフトウェアツールまたはエージェントプログラムをローカルで稼動させられる。ステップ604において、前記ホストコンピュータ・システム上でローカルで稼動している、前記ローカルスキャニングツールまたはエージェントプログラムは、前記ホストコンピュータ・システム内で、現在稼動しているもしくはアクティブなサービス、およびそれらの使用されているそれぞれのポートを列挙し、リスト化する。前記ホストコンピュータ・システムの中でアクティブなサービスおよびそれらの使用されているそれぞれのポートのリスト化または列挙された前記ローカルのスキャン結果は、図8について後述されるように、ネットワーク上の他のコンピュータ・システム、すなわち、前記スキャニング結果の比較および評価のための結果相関エンジンを稼動している結果相関コンピュータ・システム、に送られる(ステップ606)。
【0049】
次に、図7の参照番号700を参照すると、本発明の実施例に従い、前記ホストコンピュータ・システム上で稼働している望まないマルウェアまたは悪意あるソフトウェアの存在を検知するための、前記ホストコンピュータ・システムとはリモートの位置にあるコンピュータ・システムであるリモートコンピュータ・システムによって実行されるステップの概要を説明している。リモートスキャニングツールまたはエージェントプログラムが、ネットワーク上で前記ホストコンピュータ・システムとリモートに接続するためおよび、前記ホストコンピュータ・システム上の開放ネットワークポートのリストを取得するため、ステップ702において、前記リモートコンピュータ・システム上で稼動させられる。ステップ704において、前記リモートスキャニングツールまたはエージェントプログラムは、前記ホストコンピュータ・システム内で、現在稼動しているもしくはアクティブなネットワークサービス、およびそれらの使用されているそれぞれのポートを列挙し、リスト化するため、前記ホストコンピュータ・システムにリモートで接続する。一実施例において、前記リモートスキャニングコンピュータ・システムは前記ホストコンピュータ・システム上のそれぞれの開放ポートに接続を試み、サービスが既知のまたは一般的なサービスかどうか判定するために稼動しているサービスに取り調べを実行する。そのようなものとして、前記リモートコンピュータ・システムによって、開放ポート、クローズド・ポート、およびフィルタリングされたポートのリストが取得される。さらに、前記ネットワーク上から可視の前記ネットワークポートおよびサービスのリストしたまたは列挙した前記リモートスキャン結果は、図8について後述されるように、ステップ706において、前記スキャニング結果の比較および評価のための結果相関エンジンを稼動している前記結果相関コンピュータ・システムに送られる。
【0050】
次に、図8の参照番号800を参照すると、本発明の実施例に従い、前記ホストコンピュータ・システム上の望まないマルウェアまたは悪意あるソフトウェアの存在を検知するための、前記結果相関コンピュータ・システムによって実行されるステップの概要を説明している。ステップ802において、前記結果相関コンピュータ・システムは、前記ホストコンピュータ・システムから前記ローカルスキャニング結果を受領し、ステップ804において、前記結果相関コンピュータ・システムは、前記リモートコンピュータ・システムから前記リモートスキャニング結果を受領する。結果相関エンジンを稼動している前記結果相関コンピュータ・システムは、ステップ806において、いかなる相違もあるか、前記ホストコンピュータ・システム上で稼動しているネットワークサービスの前記ローカルリスト(前記ローカルスキャンに対応する)および前記リモートリスト(前記リモートスキャンに対応する)を比較する。見つかったどんな相違も、隠れたサービスを示し、望まないソフトウェアまたはマルウェアを示す。ステップ810において、前記結果相関エンジンは、前記ローカルリストと前記リモートリストとの間で相違があるかどうか判定する。もし前記結果相関エンジンが、ステップ810において、前記ホストコンピュータ・システム上で稼動しているネットワークサービスの前記ローカルリストおよび前記リモートリスト間で相違がないと判定した場合は、疑わしいネットワークの相違は見つからなかったということで、プロセスはステップ812で終了する。しかし、もし前記結果相関エンジンが、ステップ810において、前記ホストコンピュータ・システム上で稼動しているネットワークサービスの前記ローカルリストおよび前記リモートリスト間で一つ以上の相違があると判定した場合は、前記ホストコンピュータ・システム上で稼動する望まないまたは悪意あるソフトウェアに関連付けられそうな、見つけられた疑わしいネットワークの相違があるということで、前記結果相関エンジンは、ステップ814において、前記相違を記録しログをとる。さらに、ステップ816において、前記結果相関エンジンは、感染の可能性があるとして、前記「疑わしい」ホストコンピュータ・システムを警告し特定する。加えて、ステップ818において、前記警告を受けたホストコンピュータ・システム上でさらなるテストが行われ、前記見つけられた相違の特質および前記ホストコンピュータ・システム上に現在導入されている悪意あるまたは望まないソフトウェアを評価するため、警告を受けたホストコンピュータ・システムは監視され、プロセスが終了する。一実施例において、前記結果相関エンジンによって見つけられたあらゆる相違をテストしおよび/または評価するため、一つ以上のテストプログラムを、前記ホストコンピュータ・システム上に配置する。当業者には、前記ホストコンピュータ・システムの前記テストおよび評価は、必要に応じ、管理者によって、手動で行われ得ることは当然であろう。
【0051】
したがって、本発明は、コンピュータ・システムまたはホストコンピュータ・システム上で稼動する悪意あるソフトウェアおよびマルウェアの存在を検知するための、システム、方法およびプログラムを提供する。本発明は、前記ホストコンピュータ・システムにローカルおよびリモート両方で取り調べが可能であることが必要である。ローカルでの取り調べは、ローカルで導入されたエージェント(ユーザーまたは管理者レベルアクセス)を通じて、または一般的に管理者レベルアクセスが必要な標準ネットワークサービス取り調べ技術を通じて、行うことができる。前記ホストコンピュータ・システムのリモートのサービス取り調べは、標準ポートスキャニングおよび脆弱性スキャニング技術をもって行うことができる。「疑わしいホスト」と分類されたデバイスは元々「疑わしい」場合もあればそうでない場合もあり、前記ホストの問い合わせは、悪意ある活動および望まないサービスの導入を先手を打って検知するための定期的な/予定されたイベントでもあり得る。ローカルホストのネットワークサービスを列挙することは、デフォルトのオペレーティングシステムの問い合わせツールまたはカスタムツールを使用することで行うことができる。前記ネットワーク取調べは、開放ポートを特定するため標準リモートポートスキャニング技術を使うこと、およびそれらの背後にあるサービスを列挙することができる。前記結果相関エンジンは、前記「ローカルスキャニング結果」および前記「リモートスキャニング結果」との間のあらゆる相違について行動する、スタンドアロンのデバイス、ネットワーク取調べツールセットの一部、または追加のソフトウェアスイート(software suite)の一部であり得る。
【0052】
本発明の特定の実施例の前述の説明は例示および説明を目的として示された。網羅的であることまたは開示された形態の発明に限定されることを意図するものではなく、上述のガイドを踏まえ、明らかに多くの修正および変更が可能であろう。実施例は、本発明の原理および実用的な応用例を最もよく説明するために、および、当業者が、意図する特定の用途に適するような種々の修正を伴う種々の実施例に関して本発明を利用することを可能にするために、選ばれ且つ記述された。本発明の範囲は添付する請求の範囲およびその均等物によって定義されるよう意図されている。

【特許請求の範囲】
【請求項1】
コンピュータ・システム上で稼動する悪意あるサービスエージェントの存在を検知する方法であって、
前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知する目的で、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表からなるリストを生成するため、ローカルで前記コンピュータ・システムに問い合わせるステップであって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストをさらに含むステップと、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知する目的で、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表のリストを生成するため、ネットワークを通じリモートコンピュータ・システムからリモートで前記コンピュータ・システムに問い合わせるステップであって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストをさらに含むステップと、
タスクおよびネットワークサービスの前記ローカルの一覧表ならびにタスクおよびネットワークサービスの前記リモートの一覧表を収集するステップと、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、タスクおよびネットワークサービスの前記ローカルの一覧表とタスクおよびネットワークサービスの前記リモートの一覧表の間に相違があれば特定する目的で、タスクおよびネットワークサービスの前記ローカルの一覧表およびタスクおよびネットワークサービスの前記リモートの一覧表を比較するステップと、
を含む、方法。
【請求項2】
前記ローカルで前記コンピュータ・システムに問い合わせるステップは、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するステップと、
検知するステップに応答して、前記コンピュータ・システムにローカルで問い合わせるために前記コンピュータ・システムのローカルスキャンを実行するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記リモートで前記コンピュータ・システムに問い合わせるステップは、
前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をリモートで検知するステップと、
リモートで検知するステップに応答して、前記コンピュータ・システムにリモートで問い合わせるために前記コンピュータ・システムのリモートスキャンを実行するステップと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記それぞれのポートのうちの一つは、
開放ポート、クローズド・ポート、およびフィルタリングされたポートのうち少なくとも一つを含む、請求項1に記載の方法。
【請求項5】
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を判定するため、前記特定された相違を評価する更なるテストを実施するよう、前記特定された相違がある前記コンピュータ・システムに警告するステップ、をさらに含む、請求項1に記載の方法。
【請求項6】
前記ローカルおよび/またはリモートのスキャンを行うステップはさらに、前記コンピュータ・システム上で開放されていると特定された前記またはそれぞれのポートと通信を開始し、それぞれの特定された開放ポートについて、前記開放ポートと共に動くサービスが既知のサービスか判定するステップ、をさらに含む、請求項2または3に記載の方法。
【請求項7】
コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知するシステムであって、
前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在を検知する目的で、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのローカルの一覧表からなるリストを生成するため、ローカルでコンピュータ・システムに問い合わせる手段であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストをさらに含む手段と、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知する目的で、前記コンピュータ・システム上で現在稼動しているタスクおよびネットワークサービスのリモートの一覧表のリストを生成するため、ネットワークを通じリモートコンピュータ・システムからリモートで前記コンピュータ・システムに問い合わせる手段であって、その一覧表には前記コンピュータ・システム上の使用されているそれぞれのポートを列挙したリストをさらに含む手段と、
タスクおよびネットワークサービスの前記ローカルの一覧表ならびにタスクおよびネットワークサービスの前記リモートの一覧表を収集する手段と、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知するため、タスクおよびネットワークサービスの前記ローカルの一覧表とタスクおよびネットワークサービスの前記リモートの一覧表の間に相違があれば特定する目的で、タスクおよびネットワークサービスの前記ローカルの一覧表およびタスクおよびネットワークサービスの前記リモートの一覧表を比較する手段と、
を含む、システム。
【請求項8】
前記ローカルで前記コンピュータ・システムに問い合わせる手段は、
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を検知する手段と、
検知する手段に応答して、前記コンピュータ・システムにローカルで問い合わせるために前記コンピュータ・システムのローカルスキャンを実行する手段と、
をさらに含む、請求項7に記載のシステム。
【請求項9】
前記リモートで前記コンピュータ・システムに問い合わせる手段は、
前記コンピュータ・システム上で稼動している悪意あるサービスエージェントの存在をリモートで検知する手段と、
リモートで検知する手段に応答して、前記コンピュータ・システムにリモートで問い合わせるために前記コンピュータ・システムのリモートスキャンを実行する手段と、
をさらに含む、請求項7に記載のシステム。
【請求項10】
前記それぞれのポートのうちの一つは、
開放ポート、クローズド・ポート、およびフィルタリングされたポートのうちの少なくとも一つを含む、請求項7に記載のシステム。
【請求項11】
前記コンピュータ・システム上で稼動している前記悪意あるサービスエージェントの存在を判定するため、前記特定された相違を評価する更なるテストを実施するよう、前記特定された相違がある前記コンピュータ・システムに警告する手段、をさらに含む、請求項7に記載のシステム。
【請求項12】
前記ローカルおよび/またはリモートのスキャンを行う手段はさらに、前記コンピュータ・システム上で開放されていると特定された前記またはそれぞれのポートと通信を開始する手段、およびそれぞれの特定された開放ポートについて、前記開放ポートと共に動くサービスが既知のサービスか判定する手段、をさらに含む、請求項8または9に記載のシステム。
【請求項13】
コンピュータ上で稼動したとき、請求項1ないし請求項6に記載された発明を実行するよう機能するためのソフトウェアのコード部分を含む、デジタルコンピュータの内部メモリーにロードされうるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2012−507094(P2012−507094A)
【公表日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2011−533666(P2011−533666)
【出願日】平成21年10月14日(2009.10.14)
【国際出願番号】PCT/EP2009/063396
【国際公開番号】WO2010/049273
【国際公開日】平成22年5月6日(2010.5.6)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】