JP2014508363A - アンチマルウェアメタデータのルックアップを行うためのシステム及び方法 - Google Patents

アンチマルウェアメタデータのルックアップを行うためのシステム及び方法 Download PDF

Info

Publication number
JP2014508363A
JP2014508363A JP2013558142A JP2013558142A JP2014508363A JP 2014508363 A JP2014508363 A JP 2014508363A JP 2013558142 A JP2013558142 A JP 2013558142A JP 2013558142 A JP2013558142 A JP 2013558142A JP 2014508363 A JP2014508363 A JP 2014508363A
Authority
JP
Japan
Prior art keywords
executable
executable object
identifying
objects
malware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013558142A
Other languages
English (en)
Other versions
JP5976020B2 (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2014508363A publication Critical patent/JP2014508363A/ja
Application granted granted Critical
Publication of JP5976020B2 publication Critical patent/JP5976020B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

アンチマルウェアメタデータのルックアップを行うためのコンピュータ実施方法は、実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別するステップを包含し得る。このコンピュータ実施方法は、複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、実行可能オブジェクトの実行の危急性を評価するステップも包含し得る。このコンピュータ実施方法は、評価に基づいて、複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定するステップをさらに包含し得る。このコンピュータ実施方法は、検索順序に基づいて、複数の実行可能オブジェクト内の実行可能オブジェクトに対応するアンチマルウェアメタデータを検索するステップをさらに包含し得る。様々な他の方法、システム、及びコンピュータ可読媒体も開示される。

Description

本開示は、概して、アンチマルウェアメタデータのルックアップを行うためのシステム及び方法に関する。
アンチウイルス及びアンチスパイウェアソリューションは、一般的に、従来のスキャンに基づく技術を用いて、エンドポイントデバイスに対するウイルス、ワーム、トロイの木馬、スパイウェア、及び他のマルウェアを識別する。一般的なアンチウイルス及びアンチスパイウェアソリューションは、既知の脅威の特徴(例えばアンチマルウェアシグネチャ)に関してファイルをチェックすることにより、これらの脅威を検出することができる。脅威が検出されるとすぐに、一般的にはそれを削除または隔離することによって、ソリューションがそれを修正することができる。
マルウェアの脅威の数が増加するにつれて、これらの脅威を識別するシグネチャデータベースの大きさも増加する。しかしながら、大型のアンチマルウェアシグネチャデータベースは、ディスクフットプリントの増加により、クライアントデバイスにとって望ましくない場合がある。サーバ側のルックアップは、アンチマルウェアシグネチャの保存に関連する問題を軽減し得るが、アプリケーションの起動の許可前にアンチマルウェアシグネチャを待つ間、アプリケーションへのアクセスが遅れる場合がある。従って、本開示は、アンチマルウェアシグネチャのルックアップを行うためのさらなる改良されたシステム及び方法の必要性を見出した。
以下により詳細に説明するように、本開示は、概して、アンチマルウェアメタデータのルックアップを行うためのシステム及び方法に関する。本明細書に記載のシステム及び方法は、アンチマルウェアメタデータがいつ必要とされるかを予測し、この予測に基づいて、アンチマルウェアメタデータのルックアップの優先順位を決定し得る。例えば、ある方法は、実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別するステップを包含し得る。この方法は、複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、実行可能オブジェクトの実行の危急性を評価するステップも包含し得る。この方法は、評価に基づいて、複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定するステップと、検索順序に基づいて、複数の実行可能オブジェクト内の実行可能オブジェクトに対応するアンチマルウェアメタデータを検索するステップとをさらに包含し得る。
本明細書に記載のシステムは、様々なソースの何れからでも複数の実行可能オブジェクトを識別することができる。例えば、これらのシステムは、システム構成情報を用いて、自動起動される実行可能オブジェクトセットを識別することができる。システム構成情報は、自動起動される実行可能オブジェクトセット中の自動起動される実行可能オブジェクトの各々がいつ起動される可能性が高いかを示し得る。この例では、自動起動される実行可能オブジェクトセットを識別するステップは、オペレーティングシステムのブート処理中に起動されるように構成された少なくとも1つの実行可能オブジェクトを識別するステップを包含し得る。追加的または代替的に、自動起動される実行可能オブジェクトセットを識別するステップは、サービス、ドライバ、ログイン時に実行されるように構成された実行可能オブジェクト、及び/またはタスクスケジューラに従って実行されるように構成された実行可能オブジェクトを識別するステップを包含し得る。
一部の実施例では、複数の実行可能オブジェクトを識別するステップは、ユーザによって起動される可能性の高い実行可能オブジェクトセットを識別するステップを包含し得る。例えば、実行可能オブジェクトセットは、ユーザが所有するデスクトップ上の実行可能オブジェクト及び/またはユーザが所有するダウンロードフォルダ内の実行可能オブジェクトを包含し得る。
本明細書に記載のシステムは、複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別するステップと、第1の実行可能オブジェクトが第2の実行可能オブジェクトに依存することを示す依存情報を識別するステップと、複数の実行可能オブジェクト内に第2の実行可能オブジェクトを包含させるステップとによっても、複数の実行可能オブジェクトを識別することができる。追加的または代替的に、複数の実行可能オブジェクトを識別するステップは、複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別するステップと、第1の実行可能オブジェクトに対する拡張として動作する第2の実行可能オブジェクトを識別するステップとを包含し得る。一部の実施例では、複数の実行可能オブジェクトを識別するステップは、実行を目的として起動された実行可能オブジェクト及び/または実行中の実行可能オブジェクトを識別するステップを包含し得る。
実行可能オブジェクトの実行の危急性を評価するステップは、実行可能オブジェクトが識別された状況を調べるステップを包含し得る。一部の実施例では、実行可能オブジェクトの実行の危急性を評価するステップは、実行可能オブジェクトの作成時間を識別するステップ及び作成時間と現在の時間との距離に伴って実行可能オブジェクトの危急の実行の予想を単調に増大させるステップも包含し得る。
検索順序の優先順位を決定するステップは、複数の実行可能オブジェクト内の少なくとも1つの実行可能オブジェクトに関連するアンチマルウェアメタデータを検索するために優先順位決定情報をリモートコンピュータシステムから受信するステップを包含し得る。一部の実施例では、本明細書に記載のシステムは、実行可能オブジェクトの計画された起動前の実行可能オブジェクトのスキャンに間に合うように、アンチマルウェアメタデータを検索することができる。様々な実施例において、本明細書に記載のシステムは、リモートストレージシステムからアンチマルウェアシグネチャを検索することができる。
上記の実施形態の何れかの特徴を、本明細書に記載の一般原理に従って互いに組み合わせて使用することができる。上記及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明を読めば、より完全に理解されるであろう。
添付の図面は、複数の例示的な実施形態を図示し、本明細書の一部である。以下の記載と共に、これらの図面は、本開示の様々な原理を明示及び説明する。
アンチマルウェアメタデータのルックアップを行うためのシステム例のブロック図である。 アンチマルウェアメタデータのルックアップを行うためのシステム例のブロック図である。 アンチマルウェアメタデータのルックアップを行うための方法例のフロー図である。 実行可能ファイルに関する依存性チャート例のブロック図である。 アンチマルウェアメタデータのルックアップを行うためのシステム例のブロック図である。 本明細書に記載及び/または図示される実施形態の内の1つまたは複数の実施が可能なコンピュータシステム例のブロック図である。 本明細書に記載及び/または図示される実施形態の内の1つまたは複数の実施が可能なコンピュータネットワーク例のブロック図である。
図面を通して、同一の参照文字及び記述は、類似するが、必ずしも同一ではない要素を示す。本明細書に記載の例示的な実施形態は、様々な変更形態及び代替形態が可能であるが、具体的な実施形態を図面に例として示しており、本明細書において詳細に説明する。しかしながら、本明細書に記載の例示的な実施形態は、開示される特定の形態に限定されることを意図していない。より正確に言えば、本開示は、添付の請求項の範囲に入る全ての変更形態、均等物、及び代替形態を含める。
以下により詳細に説明するように、本開示は、概して、アンチマルウェアメタデータのルックアップを行うためのシステム及び方法に関する。本明細書に記載のシステム及び方法は、アンチマルウェアメタデータが必要な時を予測し、これらの予測に基づいて、アンチマルウェアメタデータのルックアップの優先順位を決定することができる。アンチマルウェアメタデータのルックアップの優先順位を決定することにより、これらのシステム及び方法は、実行可能ファイルを起動させるユーザによって認識される待ち時間を少なくして、アンチマルウェアシステムが起動前にアンチマルウェアメタデータの検索及び実行可能ファイルのスキャンを行うことを可能にできる。
図1、図2及び図4を参照して、アンチマルウェアメタデータのルックアップを行うためのシステム例の詳細な説明を以下に示す。図3に関連して、対応するコンピュータ実施方法の詳細な説明も示す。実行可能ファイルに関する依存性チャート例の詳細な説明を図4に関連して示す。さらに、図6及び図7にそれぞれ関連して、本明細書に記載の実施形態の内の1つまたは複数の実施が可能なコンピュータシステム及びネットワークアーキテクチャ例の詳細な説明を示す。
図1は、アンチマルウェアメタデータのルックアップを行うためのシステム例100のブロック図である。この図に図示されるように、システム例100は、1つまたは複数のタスクを行うための1つまたは複数のモジュール102を包含し得る。例えば、以下により詳細に説明するように、システム例100は、実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別するようにプログラムされた識別モジュール104を包含し得る。システム例100は、複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、実行可能オブジェクトの実行の危急性を評価するようにプログラムされた予測モジュール106も包含し得る。システム例100は、評価に基づいて、複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定するようにプログラムされた優先順位決定モジュール108をさらに包含し得る。
さらに、以下により詳細に示されるように、システム例100は、検索順序に基づいて、複数の実行可能オブジェクト内の1つの実行可能オブジェクトに対応するアンチマルウェアメタデータを検索するようにプログラムされた検索モジュール110を包含し得る。別個の要素として図示されているが、図1のモジュール102の内の1つまたは複数は、単一のモジュールまたはアプリケーションの一部でもよい。
特定の実施形態では、図1のモジュール102の内の1つまたは複数は、コンピュータデバイスによって実行されると、コンピュータデバイスに1つまたは複数のタスクを行わせることのできる1つまたは複数のソフトウェアアプリケーションまたはプログラムでもよい。例えば、以下により詳しく説明するように、モジュール102の内の1つまたは複数は、図2に図示されるデバイス(例えばコンピュータシステム202及び/またはアンチマルウェアサーバ206)、図6のコンピュータシステム610、及び/または図7のネットワークアーキテクチャ例700の一部等の1つまたは複数のコンピュータデバイス上に保存され、かつ実行されるように構成されたソフトウェアモジュールでもよい。図1のモジュール102の内の1つまたは複数は、1つまたは複数のタスクを行うように構成された1つまたは複数の専用コンピュータの全体または一部でもよい。
図1のシステム例100は、様々な形で配置することができる。例えば、システム例100の全体または一部は、図2に図示されるシステム例200の一部でもよい。図2に示されるように、システム200は、ネットワーク204を介してアンチマルウェアサーバ206と通信するコンピュータシステム202を包含し得る。ある実施形態では、以下により詳細に説明するように、コンピュータシステム202は、識別モジュール104、予測モジュール106、優先順位決定モジュール108、及び検索モジュール110を包含し得る。
識別モジュール104は、実行前にマルウェアのスキャンが行われる実行可能オブジェクト210を識別するようにプログラムされ得る。予測モジュール106は、実行可能オブジェクト210の各々に関して、実行の危急性を評価するようにプログラムされ得る。優先順位決定モジュール108は、評価に基づいて、実行可能オブジェクト210に対応するアンチマルウェアメタデータの検索順序212の優先順位を決定するようにプログラムされ得る。検索モジュール110は、検索順序に基づいて、複数の実行可能オブジェクト内の1つの実行可能オブジェクトに対応するアンチマルウェアメタデータ(例えば、アンチマルウェアサーバ206に保存されたアンチマルウェアシグネチャ214(1〜n)の内の1つまたは複数)を検索するようにプログラムされ得る。
コンピュータシステム202は、一般的に、コンピュータ実行可能命令を読み取り可能ないかなる種類または形態のコンピュータデバイスを意味する。コンピュータシステム202の例には、ラップトップ、デスクトップ、サーバ、携帯電話、パーソナルデジタルアシスタント(PDA)、マルチメディアプレーヤー、埋め込み式システム、これらの内の1つまたは複数の組み合わせ、図6のコンピュータシステム例610、または他の任意の適切なコンピュータデバイスが包含されるが、これらに限定されない。
アンチマルウェアサーバ206は、一般的に、ルックアップの試みに応答してアンチマルウェアメタデータを任意の提供可能な種類または形態のコンピュータデバイスを意味する。アンチマルウェアサーバ206の例には、様々なデータベースサービスの提供及び/または特定のソフトウェアアプリケーションの実行を行うように構成されたアプリケーションサーバ及びデータベースサーバが包含されるが、これらに限定されない。
ネットワーク204は、一般的に、通信またはデータ転送を促進可能な媒体またはアーキテクチャを意味する。ネットワーク204の例には、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えばGSMネットワーク)(「GSM」は登録商標)、または図7のネットワークアーキテクチャ例700等が包含されるが、これらに限定されない。ネットワーク204は、無線または有線接続を用いた通信またはデータ転送を促進することができる。ある実施形態では、ネットワーク204は、コンピュータシステム202とアンチマルウェアサーバ206との通信を促進することができる。
図3は、アンチマルウェアメタデータのルックアップを行うためのコンピュータ実施方法例300のフロー図である。図3に示されるステップは、任意の適切なコンピュータ実行可能コード及び/またはコンピュータシステムによって行うことができる。一部の実施形態では、図3に示されるステップは、図1のシステム100及び/または図2のシステム200のコンポーネントの内の1つまたは複数によって行うことができる。
図3に図示されるように、ステップ302において、本明細書に記載のシステムの内の1つまたは複数は、実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別することができる。例えば、ステップ302において、識別モジュール104は、図2のコンピュータシステム202の一部として、実行可能オブジェクト210を識別することができる。
本明細書においては、「実行可能オブジェクト」という言葉は、実行可能命令の任意の集まりを意味し得る。実行可能ファイルの例には、ポータブル実行可能ファイル、ネイティブ実行可能ファイル、ライブラリファイル(ダイナミックリンクライブラリやダイナミックシェアードオブジェクト等)、インタプリタ内で実行されるバイトコードファイル、及び/またはスクリプトファイルが包含される。
識別モジュール104は、適切な状況における複数の実行可能オブジェクトを識別することができる。例えば、複数の実行可能オブジェクトは、実行可能オブジェクトの実行及び/または実行を目的としたロードが許可される前に、システム上の各実行可能オブジェクトのスキャン及び/または検証を行うように構成されたシステムに存在し得る。一部の実施例では、システムは、マルウェアに関して各実行可能オブジェクトをスキャンするように構成されてもよい。追加的または代替的に、システムは、各実行可能オブジェクトからマルウェアの妥当性及び/またはマルウェアが存在しないことを確認するように構成されてもよい。例えば、システムは、ホワイトリストに照らして、既知のマルウェアの変種に照らして、及び/またはコミュニティ評判スコアに関して各実行可能オブジェクトのチェックを行うように構成されてもよい。
識別モジュール104は、様々なソースの何れからも複数の実行可能ファイルを識別することができる。一部の実施例では、識別モジュール104は、システム構成情報を用いて、自動起動される実行可能オブジェクトセットを識別することができる。システム構成情報は、自動起動される実行可能オブジェクトセットにおける自動起動される各実行可能オブジェクトがいつ起動される可能性が高いかを示すことができる。システム構成情報は、絶対時間、現在の時間と比較した時間、1つまたは複数のイベントと比較した時間の観点から、1つまたは複数のイベントと比較した順序(1つまたは複数の実行可能オブジェクトの実行との比較を包含する)等で、自動起動される各実行可能オブジェクトがいつ起動される可能性が高いかを示すことができる。
一部の実施例では、自動起動される実行可能オブジェクトセットの識別には、オペレーティングシステムのブート処理中に起動されるように構成された少なくとも1つの実行可能オブジェクトの識別が包含され得る。例えば、識別モジュール104は、MICROSOFT WINDOWS PREFETCH(「WINDOWS」は登録商標、以下同じ)及び/またはMICROSOFT WINDOWS SUPERFETCHからデータを得ることにより、ブート処理中に起動するように構成された1つまたは複数の実行可能オブジェクトを識別すること、及び/または他の一般的に使用されるアプリケーションを識別することができる。識別モジュール104は、追加的または代替的に、BootExecuteレジストリ情報からデータを得てもよい。例えば、識別モジュール104は、
・HKEY_LOCAL_MACHINE╲System╲CurrentControlSet╲Control╲Session Manager╲BootExecute
・HKEY_LOCAL_MACHINE╲System╲CurrentControlSet╲Control╲Session Manager╲SetupExecute
・HKEY_LOCAL_MACHINE╲System╲CurrentControlSet╲Control╲Session Manager╲Executeの内の何れかまたは全てからデータを得ることができる。
識別モジュール104は、自動起動される実行可能オブジェクトセットの識別の一部として、サービスを識別することもできる。例えば、識別モジュール104は、自動的に開始するように構成された登録サービスを識別することができる。追加的または代替的に、識別モジュール104は、ドライバを識別することができる。例えば、識別モジュール104は、
・HKEY_LOCAL_MACHINE╲System╲CurrentControlSet╲Servicesからデータを得ることができる。
一部の実施例では、識別モジュール104は、ウィンソックプロバイダ及び/またはレイヤードサービスプロバイダを識別することができる。追加的または代替的に、識別モジュール104は、ログイン時に実行されるように構成された実行可能オブジェクトを識別することができる。例えば、識別モジュール104は、ログイン構成設定からデータを得ることができる。一例として、識別モジュール104は、
・C:╲Users╲[user]╲AppData╲Local╲Microsoft╲Windows Sidebar(「Windows」は登録商標、以下同じ)╲Settings.ini
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows╲CurrentVersion╲Run
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲Userinit
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows╲CurrentVersion╲RunOnceEx
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows╲CurrentVersion╲RunOnce
・C:╲ProgramData╲Microsoft╲Windows╲Start Menu╲Programs╲Startup
・C:╲Users╲[user]╲AppData╲Roaming╲Microsoft╲Windows╲Start Menu╲Programs╲Startup
・HKEY_CURRENT_USER╲Software╲Microsoft╲Windows NT╲CurrentVersion╲Windows╲Load
・HKEY_CURRENT_USER╲Software╲Microsoft╲Windows╲CurrentVersion╲Policies╲Explorer╲Run
・HKEY_CURRENT_USER╲Software╲Microsoft╲Windows╲CurrentVersion╲Run
・HKEY_LOCAL_MACHINE╲System╲CurrentControlSet╲Control╲Terminal Server╲Wds╲rdpwd╲StartupPrograms
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲AppSetup
・HKEY_CURRENT_USER╲Software╲Policies╲Microsoft╲Windows╲System╲Scripts╲Logon
・HKEY_LOCAL_MACHINE╲Software╲Policies╲Microsoft╲Windows╲System╲Scripts╲Logon
・HKEY_CURRENT_USER╲Software╲Microsoft╲Windows╲CurrentVersion╲Policies╲System╲Shell
・HKEY_CURRENT_USER╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲Shell
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲GinaDLL
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲Taskman
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Winlogon╲Notifyの内の何れかまたは全てからデータを得ることができる。
識別モジュール104は、タスクスケジューラに従って実行されるように構成された実行可能オブジェクトを識別することもできる。この例では、識別モジュール104は、タスクスケジューラの構成ファイルからデータを得ることにより、実行可能オブジェクトを識別することができる。
一部の実施例では、識別モジュール104は、別の実行可能オブジェクトの代わりに、及び/または別の実行可能オブジェクトと同時に自動的にロード及び/または実行されるように構成された実行可能オブジェクトを識別することができる。例えば、識別モジュール104は、ある実行可能ファイルを別の実行可能ファイルの代わりに実行させる画像ハイジャック構成を識別することができる(例えば、実行可能ファイルを直接実行する代わりに、実行可能ファイルをロードするように構成されたデバッガ)。追加的または代替的に、識別モジュール104は、1つまたは複数のアプリケーションを用いてライブラリを自動的にロードさせるコンポーネント導入構成を識別することができる。一例として、識別モジュール104は、
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Microsoft╲Windows NT╲CurrentVersion╲Windows╲Appinit_Dlls
・HKEY_LOCAL_MACHINE╲Software╲Microsoft╲Windows NT╲CurrentVersion╲Image File Execution Optionsの一方または両方からデータを得ることができる。
複数の実行可能オブジェクトの識別の一部として、識別モジュール104は、ユーザによって起動される可能性の高い実行可能オブジェクトセットを識別することもできる。例えば、識別モジュール104は、ユーザが所有するデスクトップ上の実行可能オブジェクトを識別することができる。追加的または代替的に、識別モジュール104は、ユーザが所有するダウンロードフォルダ(例えば、リモートソースからダウンロードされたファイルのデフォルトターゲット位置として構成されたフォルダ)内の実行可能オブジェクトを識別することができる。一部の実施例では、識別モジュール104は、アプリケーション起動メニュー内の実行可能オブジェクトのリスト(例えば、最近起動されたアプリケーションのリスト)を識別することができる。追加的または代替的に、識別モジュール104は、1つまたは複数のユーザインタフェース要素の状態を調べることにより、実行可能オブジェクトを識別することができる。例えば、識別モジュール104は、ユーザによって現在反転表示されている、及び/またはマウス及び/またはキーボードフォーカスが置かれた実行可能オブジェクトに対するリンクを識別することができる。追加的または代替的に、識別モジュール104は、実行可能オブジェクトのディレクトリの内容を表示する開かれたウィンドウ内の実行可能オブジェクトを識別することができる。
一部の実施例では、識別モジュール104は、識別された実行可能オブジェクトが実行を目的として依存する1つまたは複数の実行可能オブジェクトを識別することによって、複数の実行可能オブジェクトを拡張することができる。例えば、識別モジュール104は、複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別し、第1の実行可能オブジェクトが第2の実行可能オブジェクトに依存することを示す依存情報を識別し、次に、複数の実行可能オブジェクト内に第2の実行可能オブジェクトを包含させてもよい。例えば、識別モジュール104は、第1の実行可能オブジェクト内のインポートテーブルを調べ、インポートテーブル内で参照される第2の実行可能オブジェクトを識別することができる。図4は、実行可能ファイルに関する依存性チャート例400のブロック図である。図4に図示されるように、実行可能ファイル402は、実行可能ファイル404に先立つ実行を必要とし、実行可能ファイル404は、実行可能ファイル406に先立つ実行を必要とし得る(例えば、ブート処理の一部として)。実行可能ファイル406は、実行可能ファイル408(例えば、実行可能ファイル406のインポートテーブルにおいて参照されるライブラリ)に依存し得る。従って、識別モジュール104は、ブート処理の一部として、実行可能ファイル402、404、及び406を識別し得る。識別モジュール104は、次に、実行可能ファイル406が実行可能ファイル408に依存することから、実行可能ファイル408を識別し得る。一部の実施例では、識別モジュール104は、複数の実行可能オブジェクト間の依存情報を収集及び/またはマッピング(例えば、図4に図示するように)することができる。例えば、識別モジュール104は、予測モジュール106に依存情報を提供することができる。
一部の実施例では、識別モジュール104は、識別された実行可能オブジェクトに対する拡張として動作する1つまたは複数の実行可能オブジェクトを識別することによって、複数の実行可能オブジェクトを拡張することができる。例えば、識別モジュール104は、複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別し、第1の実行可能オブジェクトに対する拡張として動作する第2の実行可能オブジェクトを識別することができる。例えば、第1の実行可能オブジェクトは、ブラウザを包含し、第2の実行可能オブジェクトは、ブラウザに対する拡張を包含し得る。追加的または代替的に、第1の実行可能オブジェクトは、MICROSOFT WINDOWS EXPLORERを包含し、第2の実行可能オブジェクトは、シェル拡張を包含し得る。一例として、識別モジュール104は、
・HKEY_LOCAL_MACHINE╲SOFTWARE╲Classes╲Protocols╲Filter
・HKEY_LOCAL_MACHINE╲Software╲Microsoft╲Windows╲CurrentVersion╲Explorer╲ShellExecuteHooks
・HKEY_CURRENT_USER╲Software╲Classes╲*╲ShellEx╲ContextMenuHandlers
・HKEY_LOCAL_MACHINE╲Software╲Classes╲*╲ShellEx╲PropertySheetHandlers
・HKEY_LOCAL_MACHINE╲Software╲Classes╲Directory╲Shellex╲CopyHookHandlers
・HKEY_CURRENT_USER╲Software╲Classes╲Folder╲ShellEx╲DragDropHandlers
・HKEY_LOCAL_MACHINE╲Software╲Wow6432Node╲Microsoft╲Windows╲CurrentVersion╲Explorer╲ShellIconO
verlayIdentifiersの内の何れかまたは全てからデータを得ることができる。
識別モジュール104は、実行時及び/または実行後に1つまたは複数の実行可能オブジェクトを識別することもできる。例えば、識別モジュール104は、実行を目的として起動された実行可能オブジェクト及び/または実行中の実行可能オブジェクトを識別することができる。一部の実施例では、識別モジュール104は、アプリケーションの実行パターンを監視することによって、頻繁に実行される実行可能オブジェクト及び/または特定の順序及び/または特定のパターンに従って実行される可能性の高い実行可能オブジェクトを識別することができる。
図5は、アンチマルウェアメタデータのルックアップを行うためのシステム例500を図示する。一例として図5を使用して、識別モジュール104は、図4の実行可能ファイルを識別することができる(例えばシステム構成情報510を用いる)。
図3に戻り、ステップ304において、本明細書に記載のシステムの内の1つまたは複数は、複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、実行可能オブジェクトの実行の危急性を評価することができる。例えば、ステップ304において、予測モジュール106は、図2のコンピュータシステム202の一部として、実行可能オブジェクト210の各々の実行の危急性を評価することができる。追加の例として図5を用いて、ステップ304において、予測モジュール106は、複数の実行可能オブジェクト内の各実行可能オブジェクトの実行の危急性を評価することができる。
予測モジュール106は、様々な方法で実行可能オブジェクトの実行の危急性を評価することができる。例えば、予測モジュール106は、実行可能オブジェクトが所定の時間内に実行される可能性を評価することができる。例えば、予測モジュール106は、実行可能オブジェクトに関するアンチマルウェアメタデータの検索及び/またはアンチマルウェアメタデータを有する実行可能オブジェクトのスキャンにかかる時間内に実行可能オブジェクトが実行される可能性を評価することができる。追加的または代替的に、予測モジュール106は、実行可能オブジェクトが次に実行される実行可能オブジェクトである可能性が最も高いか否かを評価することができる。一部の実施例では、予測モジュール106は、実行可能オブジェクトの重要性−例えば、ユーザの経験にとって実行可能オブジェクトのタイムリーな実行がどれ程重要であるか(例えば、核となる機能性及び/または非インタラクティブなバックグラウンドタスクに対してユーザインタフェース要素を提供する実行可能オブジェクトの優先順位を決定する)、何個の実行可能オブジェクトがその実行可能オブジェクトに依存しているか等と共に、実行可能オブジェクトの実行の危急性を評価することができる。
予測モジュール106は、様々な情報を用いて実行可能オブジェクトの実行の危急性を評価することができる。例えば、予測モジュール106は、実行可能オブジェクトが識別された状況を包含する、識別モジュール104によって集められた情報を用いることができる。例えば、予測モジュール106は、ブート処理が進行中である場合及び/または実行可能オブジェクトが間もなく実行されることをブート依存情報が示す場合、この実行可能オブジェクトの実行が危急であると決定し得る。追加的または代替的に、予測モジュール106は、オペレーティングシステムがサービス及び/またはドライバをロードする寸前である場合及び自動的にロードされるように構成された登録サービス及び/またはドライバを実行可能オブジェクトが包含する場合、この実行可能オブジェクトの実行が危急であると決定し得る。一部の実施例では、予測モジュール106は、現在のデスクトップが実行可能オブジェクトへのリンクを表示する場合、この実行可能オブジェクトの実行が危急である可能性が高いと決定し得る。実行可能オブジェクトに依存する別の実行可能オブジェクトの実行が危急であると予測モジュール106が決定した場合にも、予測モジュール106は、この実行可能オブジェクトの実行が危急であると決定し得る。
一部の実施例では、予測モジュール106は、実行可能オブジェクトの作成時間を識別することができる。予測モジュール106は、作成時間と現在の時間との距離に伴って、実行可能オブジェクトの危急の実行の予想を単調に高め得る。例えば、予測モジュール106は、古い実行可能オブジェクトに関する危急性の格付けを下げ得る、及び/または新しい実行可能オブジェクトに関する危急性の格付けを上げ得る。
予測モジュール106は、様々な測定基準、データ構造、及び/またはアルゴリズムを用いて、実行可能オブジェクトの実行の危急性を評価することができる。例えば、予測モジュール106は、実行可能オブジェクトに関する危急性の格付け及び/またはスコアを生成してもよい。追加的または代替的に、予測モジュール106は、実行可能オブジェクトを包含する依存性チャートを生成することができる。一般的に、予測モジュール106は、少なくとも部分的に複数の実行可能オブジェクトを順序付け得るアルゴリズムを用いてもよい。一部の実施例では、予測モジュール106は、危急性の格付けを生成するアルゴリズムに対してハードコードされた、及び/または明確に構成された重み及び/または入力を用いてもよい。例えば、予測モジュール106は、ブート処理中に、ブート処理依存情報に対して大きな重みを与えるように構成されてもよい。別の例として、予測モジュール106は、デスクトップ上の実行可能オブジェクトの存在に対して、この実行可能オブジェクトの予定された実行時間を示すタスクスケジューラの構成に対するよりも小さな重みを与えるように構成されてもよい。追加的または代替的に、予測モジュール106は、過去の経験に基づいて、アルゴリズムに対する重み及び/または入力を自動的に調整するように構成されてもよい。例えば、実行が危急であったことを示したアルゴリズムによって認識された入力にもかかわらず、予測モジュール106が、実行可能オブジェクトの実行を予測し損なう場合、予測モジュール106は、入力の重みを増加させ得る。
一例として図4を用いて、予測モジュール106は、ブート処理中に、実行可能オブジェクトの実行の可能性の高い順序を示す依存性チャート400を生成することができる。例えば、実行可能ファイル410及び412は共に、実行可能ファイル406の後にのみ実行され得る。実行可能ファイル414は、実行可能ファイル410の後にのみ実行され、さらに、実行可能ファイル416及び418に依存し得る。実行可能ファイル420は、実行可能ファイル414及び412の後にのみ実行され得る。同様に、実行可能ファイル422は、実行可能ファイル412の後にのみ実行され得る。実行可能ファイル424、426、及び428は、実行可能ファイル420に対するプラグインを表し得る。
図3に戻り、ステップ306において、本明細書に記載のシステムの内の1つまたは複数は、評価に基づいて、複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定することができる。例えば、ステップ306において、優先順位決定モジュール108は、図2のコンピュータシステム202の一部として、実行可能オブジェクト210に対応するアンチマルウェアシグネチャ214(1)〜(n)の内の1つまたは複数に関する検索順序212を生成することができる。追加例として図5を用い、ステップ306において、優先順位決定モジュール108は、キュー520内で図4の実行可能ファイルに対応するアンチマルウェアサーバ506からのアンチマルウェアメタデータの検索順序の優先順位を決定することができる。
本明細書においては、「アンチマルウェアメタデータ」という言葉は、実行可能オブジェクトがマルウェアの脅威を包含する、及び/またはもたらすか否かを決定するために使用される任意のデータを指し得る。従って、ある実行可能オブジェクトに「対応する」アンチマルウェアメタデータは、その実行可能オブジェクトがマルウェアの脅威を包含する、及び/またはもたらすか否かを決定するために使用されるアンチマルウェアメタデータを指し得る。一般的に、「アンチマルウェアメタデータ」は、ファイルのスキャン、検証、及び/またはチェックを行う過程でアンチマルウェアシステムが使用し得る任意のデータを指し得る。例えば、アンチマルウェアメタデータは、アンチマルウェアシグネチャを包含し得る。本明細書においては、「アンチマルウェアシグネチャ」という言葉は、指紋、ハッシュ、及び/または他の任意の表現、またはマルウェアの変種、ファミリー、及び/または型の特徴の識別を指し得る。アンチマルウェアメタデータの別の例には、ホワイトリストシグネチャが包含され得る。ホワイトリストシグネチャには、指紋、ハッシュ、及び/または他の任意の表現、または既知の正常なファイルの特徴の識別が包含され得る。アンチマルウェアメタデータの追加例には、ファイルの評判情報が包含され得る。
「評判情報」という用語は、本明細書においては、一般的に、実行可能ファイル、ソフトウェア発行者、及び/またはファイルソース(ウェブドメインまたはダウンロードリンク等)の信頼性または正当性に関するある特定のコミュニティ(セキュリティソフトウェア発行者のユーザ基盤等)の意見を伝える情報を指す。評判情報の例には、評判スコア(例えば、高い評判スコアは、ファイル、ソフトウェア発行者、またはファイルソースがコミュニティ内で一般的に信用されており、低い評判スコアは、ファイル、ソフトウェア発行者、またはファイルソースがコミュニティ内で一般的に信用されていないことを示す)、普及率情報(例えば、(1)特定のファイルのインスタンス、(2)特定のソフトウェア発行者によって提供されたファイル、及び/または(3)ウェブドメイン等の特定のファイルソースから得られたファイルを含むコミュニティ内のユーザデバイスのパーセンテージ数を識別する情報)、またはファイル、ソフトウェア発行者、及び/またはファイルソースの信頼性または正当性に関するコミュニティの意見を識別するために使用され得る他の任意の情報が包含されるが、これらに限定されない。
優先順位決定モジュール108は、任意の適切な方法で、検索順序の優先順位を決定することができる。例えば、優先順位決定モジュール108は、予測モジュール106によって生成された任意のスコア、格付け、及び/または依存性チャートを用いて、検索順序の決定を行ってもよい。一部の実施例では、優先順位決定モジュール108は、アンチマルウェアメタデータの検索を行う間に1つまたは複数の実行可能ファイルの実行を遅延させることによって生じる予測される待ち時間を最小限に抑えるように、検索順序の優先順位を決定することができる。
一部の実施例では、優先順位決定モジュール108は、継続的に検索順序を修正することができる。例えば、MICROSOFT WINWORDのアンチマルウェアメタデータのルックアップの期限が切れ、ユーザがより頻繁にMINESWEEPERよりもMICROSOFT WINWORDにアクセスする場合、優先順位決定モジュール108は、MINESWEEPERよりもMICROSOFT WINWORDのルックアップを優先し得る。
一例として図5を用いると、優先順位決定モジュール108は、予測モジュール106によって生成された依存性チャート400に基づいて、キュー520を生成及び/または修正することができる。例えば、実行可能ファイル402が依存性チャート400のルートに存在するので、優先順位決定モジュール108は、実行可能ファイル402をキュー520の先頭に配置し得る。同様に、依存性チャート400において実行可能ファイル404が実行可能ファイル402に続くので、優先順位決定モジュール108は、キュー520内で実行可能ファイル404を次に配置し得る。実行可能ファイル406は、実行可能ファイル404に続くが、実行可能ファイル408に依存するので、優先順位決定モジュール108は、依存性チャート400内で実行可能ファイル408及び406を次に配置し得る。一部の実施例では、実行可能ファイル420及び422は、インタラクティブ実行可能オブジェクト(例えば、ユーザインタフェースを提示する実行可能オブジェクト)を意味し得る。従って、優先順位決定モジュール108は、インタラクティブ実行可能オブジェクトのロードにとって最短経路をたどれる様に、キュー520内で、実行可能ファイル410の前に実行可能ファイル412及び422を配置し得る。優先順位決定モジュール108は、次に、キュー520中に、実行可能ファイル418、416、414、420、424、426、及び428を配置することにより、依存性チャート400における他の経路を完了することができる。
一部の実施例では、優先順位決定モジュール108は、リモートコンピュータシステムから、複数の実行可能オブジェクト内の少なくとも1つの実行可能オブジェクトに関連するアンチマルウェアメタデータを検索するために優先順位決定情報も受信し得る。例えば、モジュール102のインスタンスは、他のクライアントシステム上で実行され、実行可能ファイルの依存性、実行可能ファイルの起動パターン、及びユーザの実行可能ファイルの好みに関するデータを収集し得る。これらの他のクライアントシステムは、収集したデータをセントラルサーバに提供し、今度は、セントラルサーバが、データを集約し、様々なクライアントシステム上で実行中の優先順位決定モジュール108の様々なインスタンスを使用するためにデータを配布し得る。
図3に戻ると、ステップ308において、本明細書に記載のシステムの内の1つまたは複数は、検索順序に基づいて、複数の実行可能オブジェクト内のある実行可能オブジェクトに対応するアンチマルウェアメタデータを検索することができる。例えば、ステップ308において、検索モジュール110は、図2のコンピュータシステム202の一部として、検索順序212に基づいて、実行可能オブジェクト210に対応するアンチマルウェアシグネチャ214(1)〜(n)の少なくとも1つを検索し得る。追加例として図5を用い、ステップ308において、検索モジュール110は、キュー520に基づいて、アンチマルウェアサーバ506からアンチマルウェアメタデータを検索し得る。
一部の実施例では、検索モジュール110は、実行可能オブジェクトの計画された起動前の実行可能オブジェクトのスキャンに間に合うように、アンチマルウェアメタデータを検索することができる。一例として図5を用いると、アンチマルウェアメタデータの検索後に、検索モジュール110は、アンチマルウェアシグネチャキャッシュ530中にアンチマルウェアメタデータを保存してもよい。アンチマルウェアシステム540は、次に、実行可能ファイルの起動の試みを検出し得る。アンチマルウェアシステム540は、アンチマルウェアサーバ506から必要とされるアンチマルウェアメタデータを検索するのではなく、アンチマルウェアシグネチャキャッシュ530からアンチマルウェアメタデータを用いて実行可能ファイルを単純にスキャンしてもよい。一部の実施例では、検索モジュール110は、リモートストレージシステムからアンチマルウェアメタデータ(例えばアンチマルウェアシグネチャ)を検索してもよい。例えば、アンチマルウェアサーバ506は、複数の実行可能オブジェクトに対応するアンチマルウェアメタデータを保存するクラウドストレージサービスを包含し得る。従って、実行可能オブジェクトの実行前に直接アンチマルウェアサーバ506からアンチマルウェアメタデータを検索することにより、アンチマルウェアシグネチャキャッシュ530からアンチマルウェアメタデータを検索することとは対照的に、不要な待ち時間が生じ得る。ステップ308の後に、方法300は終了し得る。
一部の実施例では、本明細書に記載のシステムは、アンチマルウェアメタデータを用いて、実行可能オブジェクトに対してアンチマルウェアスキャンを行うこともできる。本明細書に記載のシステムは、次に、実行可能オブジェクトが安全であることをアンチマルウェアスキャンが示す場合には実行可能オブジェクトを起動させ、あるいは、実行可能オブジェクトが安全でないことをスキャンが示す場合には、実行可能オブジェクトの実行を阻止することができる。
アンチマルウェアメタデータのルックアップの優先順位を決定することによって、本明細書に記載のシステム及び方法は、アンチマルウェアシステムがアンチマルウェアメタデータを検索し、実行可能ファイルを起動させるユーザによって認識される待ち時間を少なくして、起動前に実行可能ファイルをスキャンすることを可能にできる。
図6は、本明細書に記載及び/または図示される実施形態の内の1つまたは複数を実施可能なコンピュータシステム例610のブロック図である。コンピュータシステム610は、コンピュータ可読命令を実行可能な任意のシングルまたはマルチプロセッサコンピュータデバイスまたはシステムを広く意味する。コンピュータシステム610の例には、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散コンピュータシステム、ハンドヘルドデバイス、または他の任意のコンピュータシステムまたはデバイスが包含されるが、これらに限定されない。最も基本的な構成では、コンピュータシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を包含し得る。
プロセッサ614は、一般的に、データの処理または命令の解釈及び実行が可能な任意の種類または形態の処理装置を意味する。特定の実施形態では、プロセッサ614は、ソフトウェアアプリケーションまたはモジュールから命令を受信し得る。これらの命令は、本明細書に記載及び/または図示された実施形態例の内の1つまたは複数の機能をプロセッサ614に行わせることができる。例えば、プロセッサ614は、単体または他の要素と一緒に、本明細書に記載の識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。プロセッサ614は、本明細書に記載及び/または図示された他のステップ、方法、またはプロセスも行い得る、及び/またはそれを行うための手段ともなり得る。
システムメモリ616は、一般的に、データ及び/または他のコンピュータ可読命令を保存可能な任意の種類または形態の揮発性または不揮発性ストレージデバイスまたは媒体を意味する。システムメモリ616の例には、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、または他の任意の適切なメモリデバイスが包含されるが、これらに限定されない。必須ではないが、特定の実施形態では、コンピュータシステム610は、揮発性記憶装置(例えば、システムメモリ616等)及び不揮発性ストレージデバイス(例えば、以下に詳細に説明するようなプライマリストレージデバイス632等)の両方を包含し得る。ある実施例では、図1のモジュール102の内の1つまたは複数が、システムメモリ616にロードされ得る。
特定の実施形態では、コンピュータシステム例610は、プロセッサ614及びシステムメモリ616に加えて、1つまたは複数のコンポーネントまたは要素も包含し得る。例えば、図6に図示されるように、コンピュータシステム610は、メモリコントローラ618、入出力(I/O)コントローラ620、及び通信インタフェース622を包含し、これらの各々は、通信インフラ612を介して相互接続され得る。通信インフラ612は、一般的に、コンピュータデバイスの1つまたは複数のコンポーネント間の通信を促進可能な任意の種類または形態のインフラを意味する。通信インフラ612の例には、通信バス(ISA、PCI、PCIe、または同様のバス等)及びネットワークが包含されるが、これらに限定されない。
メモリコントローラ618は、一般的に、メモリまたはデータの取り扱いが可能な、あるいは、コンピュータシステム610の1つまたは複数のコンポーネント間の通信の制御が可能な任意の種類または形態のデバイスを意味する。例えば、特定の実施形態では、メモリコントローラ618は、通信インフラ612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620間の通信を制御し得る。特定の実施形態では、メモリコントローラ618は、単体または他の要素と一緒に、識別、使用、評価、増大、優先順位の決定、受信、及び/または検索等の本明細書に記載及び/または図示されるステップまたは特徴の内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。
I/Oコントローラ620は、一般的に、コンピュータデバイスの入力及び出力の機能を調整及び/または制御可能な任意の種類または形態のモジュールを意味する。例えば、特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インタフェース622、ディスプレイアダプタ626、入力インタフェース630、及びストレージインタフェース634等のコンピュータシステム610の1つまたは複数の要素間のデータ転送の制御または促進を行い得る。I/Oコントローラ620を用いて、例えば、単体または他の要素と一緒に、本明細書に記載の識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。I/Oコントローラ620を用いることにより、本開示に記載の他のステップ及び特徴も行い得る、及び/またはそれらを行うための手段ともなり得る。
通信インタフェース622は、コンピュータシステム例610と、1つまたは複数の追加のデバイスとの通信の促進が可能な任意の種類または形態の通信デバイスまたはアダプタを広く意味する。例えば、特定の実施形態では、通信インタフェース622は、コンピュータシステム610と、追加のコンピュータシステムを包含するプライベートまたはパブリックネットワークとの通信を促進し得る。通信インタフェース622の例には、有線ネットワークインタフェース(ネットワークインタフェースカード等)、無線ネットワークインタフェース(無線ネットワークインタフェースカード等)、モデム、及び他の任意の適切なインタフェースが包含されるが、これらに限定されることはない。少なくとも1つの実施形態において、通信インタフェース622は、インターネット等のネットワークへの直接リンクを介したリモートサーバへの直接接続を提供し得る。通信インタフェース622は、このような接続を、例えば、ローカルエリアネットワーク(イーサネットネットワーク等)(「イーサーネット」は登録商標、以下同じ)、パーソナルエリアネットワーク、電話またはケーブル網、携帯電話接続、衛星データ接続、または他の任意の適切な接続を用いて間接的に提供することもできる。
特定の実施形態では、通信インタフェース622は、外部バスまたは通信チャネルを介した、コンピュータシステム610と、1つまたは複数の追加のネットワークまたはストレージデバイスとの通信を促進するように構成されたホストアダプタを意味する場合もある。ホストアダプタの例には、SCSIホストアダプタ、USBホストアダプタ、IEEE1394ホストアダプタ、SATA及びeSATAホストアダプタ、ATA及びPATAホストアダプタ、ファイバチャネルインタフェースアダプタ、またはイーサネットアダプタ等が包含されるが、これらに限定されない。通信インタフェース622により、コンピュータシステム610が、分散またはリモートコンピューティングに携わることも可能となり得る。例えば、通信インタフェース622は、リモートデバイスから命令を受信する、あるいは、実行を目的としてリモートデバイスに命令を送信することができる。特定の実施形態では、通信インタフェース622は、単体または他の要素と一緒に、本明細書に開示される識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。通信インタフェース622を用いることにより、本開示に記載の他のステップ及び特徴も行い得る、及び/またはそれらを行うための手段ともなり得る。
図6に図示されるように、コンピュータシステム610は、ディスプレイアダプタ626を介して通信インフラ612に接続される少なくとも1つのディスプレイデバイス624も包含し得る。ディスプレイデバイス624は、一般的に、ディスプレイアダプタ626によって転送された情報を視覚的に表示することが可能な種類または形態のデバイスを意味する。同様に、ディスプレイアダプタ626は、一般的に、ディスプレイデバイス624上での表示を目的に、通信インフラ612から(あるいは、当該分野で公知のようにフレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された任意の種類または形態のデバイスを意味する。
図6に図示されるように、コンピュータシステム例610は、入力インタフェース630を介して通信インフラ612に接続された少なくとも1つの入力デバイス628も包含し得る。入力デバイス628は、一般的に、コンピュータまたは人間によって生成された入力をコンピュータシステム例610に提供することが可能な任意の種類または形態の入力デバイスを意味する。入力デバイス628の例には、キーボード、ポインティングデバイス、音声認識装置、または他の任意の入力デバイスが包含されるが、これらに限定されない。少なくとも1つの実施形態では、入力デバイス628は、単体または他の要素と一緒に、本明細書に開示される識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。入力デバイス628を使用することにより、本開示に記載の他のステップ及び特徴も行い得る、及び/またはそれらを行うための手段ともなり得る。
図6に図示されるように、コンピュータシステム例610は、ストレージインタフェース634を介して通信インフラ612に接続されるプライマリストレージデバイス632及びバックアップストレージデバイス633も包含し得る。ストレージデバイス632及び633は、一般的に、データ及び/または他のコンピュータ可読命令の保存が可能な種類または形態のストレージデバイスまたは媒体を意味する。例えば、ストレージデバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気テープドライブ、光ディスクドライブ、またはフラッシュドライブ等でもよい。ストレージインタフェース634は、一般的に、ストレージデバイス632及び633と、コンピュータシステム610の他のコンポーネントとのデータの転送を行う種類または形態のインタフェースまたはデバイスを意味する。
特定の実施形態では、ストレージデバイス632及び633は、コンピュータソフトウェア、データ、または他のコンピュータ可読情報を保存するように構成されたリムーバブルストレージ装置から読み取る、及び/またはそれに書き込むように構成され得る。適切なリムーバブルストレージ装置の例には、フロッピーディスク、磁気テープ、光ディスク、またはフラッシュメモリデバイス等が包含されるが、これらに限定されない。ストレージデバイス632及び633は、コンピュータソフトウェア、データ、または他のコンピュータ可読命令をコンピュータシステム610にロードすることが可能な他の類似の構造またはデバイスも包含し得る。例えば、ストレージデバイス632及び633は、ソフトウェア、データ、または他のコンピュータ可読情報の読み書きを行うように構成され得る。ストレージデバイス632及び633は、コンピュータシステム610の一部でもよく、あるいは、他のインタフェースシステムを介してアクセスされた別個のデバイスでもよい。
特定の実施形態では、ストレージデバイス632及び633を用いて、例えば、単体または他の要素と一緒に、本明細書に開示される識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。ストレージデバイス632及び633を用いることにより、本開示に記載の他のステップ及び特徴も行い得る、及び/またはそれらを行うための手段ともなり得る。
複数の他のデバイスまたはサブシステムをコンピュータシステム610に接続することができる。逆に、図6に図示される全てのコンポーネント及びデバイスは、本明細書に記載及び/または図示される実施形態を実施するために必ずしも存在する必要はない。上記で言及したデバイス及びサブシステムは、図6に示される形とは異なる形で相互接続されてもよい。コンピュータシステム610は、任意の数のソフトウェア、ファームウェア、及び/またはハードウェア構成を用いてもよい。例えば、本明細書に開示される実施形態例の内の1つまたは複数は、コンピュータ可読媒体のコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、またはコンピュータ制御論理とも呼ばれる)としてコード化され得る。「コンピュータ可読媒体」という言葉は、一般的に、コンピュータ可読命令の保存または搬送が可能な形態のデバイス、キャリア、または媒体を指す。コンピュータ可読媒体の例には、搬送波等の伝送型媒体や、磁気ストレージ媒体(例えば、ハードディスクドライブ及びフロッピーディスク)等の物理的媒体、光ストレージ媒体(例えば、CD−ROMまたはDVD−ROM)、電子ストレージ媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)、及び他の配布システムが包含されるが、これらに限定されない。
コンピュータプログラムを含むコンピュータ可読媒体は、コンピュータシステム610にロードされ得る。コンピュータ可読媒体に保存されたコンピュータプログラムの全てまたは一部は、次に、システムメモリ616及び/またはストレージデバイス632及び633の様々な部分に保存され得る。プロセッサ614によって実行されると、コンピュータシステム610にロードされたコンピュータプログラムにより、プロセッサ614が、本明細書に記載及び/または図示される実施形態例の内の1つまたは複数の機能を行い得る、及び/またはそれらを行うための手段となり得る。追加的または代替的に、本明細書に記載及び/または図示される実施形態例の内の1つまたは複数は、ファームウェア及び/またはハードウェアにおいて実施され得る。例えば、コンピュータシステム610は、本明細書に開示される実施形態例の内の1つまたは複数を実施するように適合させた特定用途向け集積回路(ASIC)として構成されてもよい。
図7は、クライアントシステム710、720、及び730と、サーバ740及び745とが、ネットワーク750に接続され得るネットワークアーキテクチャ例700のブロック図である。クライアントシステム710、720、及び730は、一般的に、図6のコンピュータシステム例610等の、任意の種類または形態のコンピュータデバイスまたはシステムを意味する。一例として、クライアントシステム710は、図1のシステム100を包含し得る。
同様に、サーバ740及び745は、一般的に、様々なデータベースサービスの提供及び/または特定のソフトウェアアプリケーションの実行を行うように構成された、アプリケーションサーバまたはデータベースサーバ等のコンピュータデバイスまたはシステムを意味する。ネットワーク750は、一般的に、例えば、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはインターネットを包含する任意の通信またはコンピュータネットワークを意味する。
図7に図示されるように、1つまたは複数のストレージデバイス760(1)〜(N)は、サーバ740に直接接続され得る。同様に、1つまたは複数のストレージデバイス770(1)〜(N)は、サーバ745に直接接続され得る。ストレージデバイス760(1)〜(N)及びストレージデバイス770(1)〜(N)は、一般的に、データ及び/または他のコンピュータ可読命令の保存が可能な種類または形態のストレージデバイスまたは媒体を意味する。特定の実施形態では、ストレージデバイス760(1)〜(N)及びストレージデバイス770(1)〜(N)は、NFS、SMB、またはCIFS等の様々なプロトコルを用いてサーバ740及び745と通信するように構成されたネットワーク接続ストレージ(NAS)デバイスを意味し得る。
サーバ740及び745は、ストレージエリアネットワーク(SAN)ファブリック780に接続されてもよい。SANファブリック780は、一般的に、複数のストレージデバイス間の通信の促進が可能な種類または形態のコンピュータネットワークまたはアーキテクチャを意味する。SANファブリック780は、サーバ740及び745及び複数のストレージデバイス790(1)〜(N)及び/またはインテリジェントストレージアレイ795間の通信を促進し得る。SANファブリック780は、デバイス790(1)〜(N)及びアレイ795が、クライアントシステム710、720、及び730にとってローカル接続されたデバイスとして見えるように、ネットワーク750及びサーバ740及び745を介して、クライアントシステム710、720、及び730及びストレージデバイス790(1)〜(N)及び/またはインテリジェントストレージアレイ795間の通信も促進し得る。ストレージデバイス760(1)〜(N)及びストレージデバイス770(1)〜(N)と同様に、ストレージデバイス790(1)〜(N)及びインテリジェントストレージアレイ795は、一般的に、データ及び/または他のコンピュータ可読命令の保存が可能な種類または形態のストレージデバイスまたは媒体を意味する。
特定の実施形態において、図6のコンピュータシステム例610を参照すると、図6の通信インタフェース622等の通信インタフェースを用いて、各クライアントシステム710、720、及び730と、ネットワーク750との接続性を提供することができる。クライアントシステム710、720、及び730は、例えばウェブブラウザまたは他のクライアントソフトウェアを用いて、サーバ740または745上の情報にアクセスすることができる。このようなソフトウェアにより、サーバ740、サーバ745、ストレージデバイス760(1)〜(N)、ストレージデバイス770(1)〜(N)、ストレージデバイス790(1)〜(N)、またはインテリジェントストレージアレイ795がホストのデータにクライアントシステム710、720、及び730がアクセスすることが可能となり得る。図7は、データ交換を目的としたネットワーク(インターネット等)の使用を示すが、本明細書に記載及び/または図示される実施形態は、インターネットまたは何れの特定のネットワーク基盤の環境にも限定されない。
少なくとも1つの実施形態において、本明細書に開示される実施形態例の内の1つまたは複数の全てまたは一部は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、ストレージデバイス760(1)〜(N)、ストレージデバイス770(1)〜(N)、ストレージデバイス790(1)〜(N)、インテリジェントストレージアレイ795、またはこれらの任意の組み合わせにロードされ、実行され得る。本明細書に開示される実施形態例の内の1つまたは複数の全てまたは一部は、コンピュータプログラムとしてコード化され、サーバ740に保存され、サーバ745によって実行され、ネットワーク750上でクライアントシステム710、720、及び730に配布されることも可能である。従って、ネットワークアーキテクチャ700は、単体または他の要素と一緒に、本明細書に開示される識別、使用、評価、増大、優先順位の決定、受信、及び/または検索ステップの内の1つまたは複数を行い得る、及び/またはそれらを行うための手段となり得る。ネットワークアーキテクチャ700を用いることにより、本開示に記載の他のステップ及び特徴も行い得る、及び/またはそれらを行うための手段ともなり得る。
上記に詳述したように、コンピュータシステム610及び/またはネットワークアーキテクチャ700の1つまたは複数のコンポーネントは、単体または他の要素と一緒に、アンチマルウェアメタデータのルックアップを行うための方法例の1つまたは複数のステップを行い得る、及び/またはそれらを行うための手段となり得る。
上記の開示は、具体的なブロック図、フローチャート、及び実施例を用いて様々な実施形態を記載しているが、本明細書に記載及び/または図示されるそれぞれのブロック図コンポーネント、フローチャートステップ、動作、及び/またはコンポーネントは、広範囲のハードウェア、ソフトウェア、またはファームウェア(またはそれらの任意の組み合わせ)構成を用いて、個々に、及び/または集合的に実施され得る。さらに、他のコンポーネント内に含まれるコンポーネントのどのような開示も、多くの他のアーキテクチャを具現化することにより同じ機能性を達成することができるので、本質的に例示的であると見なされるべきである。
一部の実施例では、図1のシステム例100の全てまたは一部は、クラウドコンピューティングまたはネットワーク基盤の環境の一部を表し得る。クラウドコンピューティング環境は、インターネットを介して様々なサービス及びアプリケーションを提供することができる。これらのクラウド基盤のサービス(例えば、サース(software as a service)、パース(platform as a service)、イアース(infrastructure as a service)等)は、ウェブブラウザまたは他のリモートインタフェースを介してアクセス可能となり得る。本明細書に記載の様々な機能は、リモートデスクトップ環境または他のクラウド基盤のコンピューティング環境によって提供され得る。
本明細書に記載及び/または図示されるステップの処理パラメータ及びシーケンスは、ほんの一例として提供されたものであり、要望に応じて変更可能である。例えば、本明細書に図示及び/または記載されたステップは、ある特定の順序で示される、あるいは、説明され得るが、これらのステップは、必ずしも図示または説明された順序で行われる必要はない。本明細書に記載及び/または図示された様々な方法例は、本明細書に記載または図示されたステップの内の1つまたは複数を省略する、あるいは、開示されたステップに加えて追加のステップを包含することも可能である。
完全に機能したコンピュータシステムの状況において、様々な実施形態を本明細書に記載及び/または図示したが、これらの実施形態例の内の1つまたは複数は、実際に配布を行うために使用される特定の種類のコンピュータ可読媒体とは無関係に、様々な形態でプログラム製品として配布され得る。本明細書に開示された実施形態は、特定のタスクを行うソフトウェアモジュールを用いて実施されてもよい。これらのソフトウェアモジュールには、コンピュータ可読ストレージ媒体またはコンピュータシステムに保存され得るスクリプト、バッチ、または他の実行可能ファイルが包含され得る。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示された実施形態例の内の1つまたは複数を行うようにコンピュータシステムを構成することができる。
さらに、本明細書に記載のモジュールの内の1つまたは複数は、ある形態から別の形態へと、データ、物理的デバイス、及び/または物理的デバイスの表現を変換することができる。例えば、本明細書に記載のモジュールの内の1つまたは複数は、アンチマルウェアシステムを低遅延のアンチマルウェアシステムへと変換することができる。
上記の記載は、本明細書に開示される実施形態例の様々な態様を当業者が最も活用できるように提供されたものである。この例示的な記載は、網羅的であること、または開示された何れの正確な形態にも限定されることを意図したものではない。本開示の精神及び範囲から逸脱することなく、多くの変更形態及び変形形態が可能である。本明細書に開示された実施形態は、あらゆる面で例示的であるとみなされるものであり、限定的であるとみなされるものではない。本開示の範囲を決定する際には、添付の特許請求の範囲及びそれらの均等物が参照される必要がある。
特に断りのない限り、明細書及び特許請求の範囲に使用される「1つの」(「a」または「an」)という用語は、「少なくとも1つの」という意味であると解釈されるものである。さらに、使用を簡単にするために、明細書及び特許請求の範囲に使用される「包含する」(「including」)及び「有する」(「having」)という語は、「含む」(「comprising」)という語と代替可能に、同じ意味として使用される。

Claims (20)

  1. アンチマルウェアメタデータのルックアップを行うためのコンピュータ実施方法であって、前記方法の少なくとも一部は、少なくとも1つのプロセッサを含むコンピュータデバイスによって行われ、
    実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別するステップと、
    前記複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、前記実行可能オブジェクトの実行の危急性を評価するステップと、
    前記評価に基づいて、前記複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定するステップと、
    前記検索順序に基づいて、前記複数の実行可能オブジェクト内の実行可能オブジェクトに対応するアンチマルウェアメタデータを検索するステップと、
    を含む方法。
  2. 前記複数の実行可能オブジェクトを識別するステップは、システム構成情報を用いて、自動起動される実行可能オブジェクトセットを識別するステップを含み、前記システム構成情報は、前記自動起動される実行可能オブジェクトセット中の自動起動される実行可能オブジェクトの各々がいつ起動される可能性が高いかを示す、請求項1に記載のコンピュータ実施方法。
  3. 前記自動起動される実行可能オブジェクトセットを識別するステップは、オペレーティングシステムのブート処理中に起動されるように構成された少なくとも1つの実行可能オブジェクトを識別するステップを含む、請求項2に記載のコンピュータ実施方法。
  4. 前記自動起動される実行可能オブジェクトセットを識別するステップは、
    サービスと、
    ドライバと、
    ログイン時に実行されるように構成された実行可能オブジェクトと、
    タスクスケジューラに従って実行されるように構成された実行可能オブジェクトと、
    の内の少なくとも1つを識別するステップを含む、請求項2に記載のコンピュータ実施方法。
  5. 前記複数の実行可能オブジェクトを識別するステップは、ユーザによって起動される可能性の高い実行可能オブジェクトセットを識別するステップを含む、請求項1に記載のコンピュータ実施方法。
  6. 前記ユーザによって起動される可能性の高い前記実行可能オブジェクトセットを識別するステップは、
    前記ユーザが所有するデスクトップ上の実行可能オブジェクトと、
    前記ユーザが所有するダウンロードフォルダ内の実行可能オブジェクトと、
    の内の少なくとも1つを識別するステップを含む、請求項5に記載のコンピュータ実施方法。
  7. 前記複数の実行可能オブジェクトを識別するステップは、
    前記複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別するステップと、
    前記第1の実行可能オブジェクトが第2の実行可能オブジェクトに依存することを示す依存情報を識別するステップと、
    前記複数の実行可能オブジェクト内に前記第2の実行可能オブジェクトを包含させるステップと、
    を含む、請求項1に記載のコンピュータ実施方法。
  8. 前記複数の実行可能オブジェクトを識別するステップは、
    前記複数の実行可能オブジェクト内の第1の実行可能オブジェクトを識別するステップと、
    前記第1の実行可能オブジェクトに対する拡張として動作する第2の実行可能オブジェクトを識別するステップと、
    を含む、請求項1に記載のコンピュータ実施方法。
  9. 前記複数の実行可能オブジェクトを識別するステップは、
    実行を目的として起動された実行可能オブジェクトと、
    実行中の実行可能オブジェクトと、
    の内の少なくとも1つを識別するステップを含む、請求項1に記載のコンピュータ実施方法。
  10. 前記検索順序の優先順位を決定するステップは、前記複数の実行可能オブジェクト内の少なくとも1つの実行可能オブジェクトに関連するアンチマルウェアメタデータを検索するために優先順位決定情報をリモートコンピュータシステムから受信するステップを含む、請求項1に記載のコンピュータ実施方法。
  11. 前記実行可能オブジェクトの実行の前記危急性を評価するステップは、
    前記実行可能オブジェクトの作成時間を識別するステップと、
    前記作成時間と現在の時間との距離に伴って、前記実行可能オブジェクトの危急の実行の予想を単調に増大させるステップと、
    を含む、請求項1に記載のコンピュータ実施方法。
  12. 前記実行可能オブジェクトに対応する前記アンチマルウェアメタデータを検索するステップは、前記実行可能オブジェクトの計画された起動前の前記実行可能オブジェクトのスキャンに間に合うように、前記アンチマルウェアメタデータを検索するステップを含む、請求項1に記載のコンピュータ実施方法。
  13. 前記アンチマルウェアメタデータを検索するステップは、リモートストレージシステムからアンチマルウェアシグネチャを検索するステップを含む、請求項1に記載のコンピュータ実施方法。
  14. アンチマルウェアメタデータのルックアップを行うためのシステムであって、
    実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトを識別するようにプログラムされた識別モジュールと、
    前記複数の実行可能オブジェクト内の各実行可能オブジェクトに関して、前記実行可能オブジェクトの実行の危急性を評価するようにプログラムされた予測モジュールと、
    前記評価に基づいて、前記複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位を決定するようにプログラムされた優先順位決定モジュールと、
    前記検索順序に基づいて、前記複数の実行可能オブジェクト内の実行可能オブジェクトに対応する少なくとも1つのアンチマルウェアメタデータを検索するようにプログラムされた検索モジュールと、
    前記識別モジュール、前記予測モジュール、前記優先順位決定モジュール、及び前記検索モジュールを実行するように構成された少なくとも1つのプロセッサと、
    を含むシステム。
  15. 前記識別モジュールは、自動起動される実行可能オブジェクトセットを識別するためのシステム構成情報を用いて、前記複数の実行可能オブジェクトを識別するようにプログラムされ、前記システム構成情報は、前記自動起動される実行可能オブジェクトセット中の自動起動される実行可能オブジェクトの各々がいつ起動される可能性が高いかを示す、請求項14に記載のシステム。
  16. 前記識別モジュールは、オペレーティングシステムのブート処理中に起動されるように構成された少なくとも1つの実行可能オブジェクトを識別することにより、前記自動起動される実行可能オブジェクトセットを識別するようにプログラムされる、請求項15に記載のシステム。
  17. 前記識別モジュールは、
    サービスと、
    ドライバと、
    ログイン時に実行されるように構成された実行可能オブジェクトと、
    タスクスケジューラに従って実行されるように構成された実行可能オブジェクトと、
    の内の少なくとも1つを識別することにより、前記自動起動される実行可能オブジェクトセットを識別するようにプログラムされる、請求項15に記載のシステム。
  18. 前記識別モジュールは、ユーザによって起動される可能性の高い実行可能オブジェクトセットを識別することにより、前記複数の実行可能オブジェクトを識別するようにプログラムされる、請求項14に記載のシステム。
  19. 前記識別モジュールは、
    前記ユーザが所有するデスクトップ上の実行可能オブジェクトと、
    前記ユーザが所有するダウンロードフォルダ内の実行可能オブジェクトと、
    の内の少なくとも1つを識別することにより、前記ユーザによって起動される可能性の高い前記実行可能オブジェクトセットを識別するようにプログラムされる、請求項18に記載のシステム。
  20. コンピュータデバイスの少なくとも1つのプロセッサによって実行されると、前記コンピュータデバイスに、
    実行前にマルウェアのスキャンが行われる複数の実行可能オブジェクトの識別と、
    前記複数の実行可能オブジェクト内の各実行可能オブジェクトに関する、前記実行可能オブジェクトの実行の危急性の評価と、
    前記評価に基づく、前記複数の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索順序の優先順位の決定と、
    前記検索順序に基づく、前記複数の実行可能オブジェクト内の実行可能オブジェクトに対応するアンチマルウェアメタデータの検索と、
    を行わせる1つまたは複数のコンピュータ実行可能命令を含む、コンピュータ可読ストレージ媒体。
JP2013558142A 2011-03-15 2012-03-14 アンチマルウェアメタデータのルックアップを行うためのシステム及び方法 Active JP5976020B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/048,380 US8667592B2 (en) 2011-03-15 2011-03-15 Systems and methods for looking up anti-malware metadata
US13/048,380 2011-03-15
PCT/US2012/029101 WO2012125744A1 (en) 2011-03-15 2012-03-14 Systems and methods for looking up anti-malware metadata

Publications (2)

Publication Number Publication Date
JP2014508363A true JP2014508363A (ja) 2014-04-03
JP5976020B2 JP5976020B2 (ja) 2016-08-23

Family

ID=45922818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013558142A Active JP5976020B2 (ja) 2011-03-15 2012-03-14 アンチマルウェアメタデータのルックアップを行うためのシステム及び方法

Country Status (5)

Country Link
US (1) US8667592B2 (ja)
EP (1) EP2686803B1 (ja)
JP (1) JP5976020B2 (ja)
CN (1) CN103354931B (ja)
WO (1) WO2012125744A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013063474A1 (en) 2011-10-28 2013-05-02 Scargo, Inc. Security policy deployment and enforcement system for the detection and control of polymorphic and targeted malware
US10162693B1 (en) 2012-10-18 2018-12-25 Sprint Communications Company L.P. Evaluation of mobile device state and performance metrics for diagnosis and troubleshooting of performance issues
CN102982278B (zh) * 2012-10-31 2015-09-16 北京奇虎科技有限公司 一种扫描文件的方法、装置和系统
CN102970283B (zh) * 2012-10-31 2015-08-12 北京奇虎科技有限公司 文件扫描系统
US9386463B1 (en) * 2012-11-19 2016-07-05 Sprint Communications Company L.P. Application risk analysis
US9614865B2 (en) 2013-03-15 2017-04-04 Mcafee, Inc. Server-assisted anti-malware client
WO2014143012A1 (en) 2013-03-15 2014-09-18 Mcafee, Inc. Remote malware remediation
US9311480B2 (en) 2013-03-15 2016-04-12 Mcafee, Inc. Server-assisted anti-malware client
US9405904B1 (en) * 2013-12-23 2016-08-02 Symantec Corporation Systems and methods for providing security for synchronized files
US9154466B2 (en) * 2013-12-23 2015-10-06 Symantec Corporation Systems and methods for introducing variation in sub-system output signals to prevent device fingerprinting
US9141431B1 (en) * 2014-10-07 2015-09-22 AO Kaspersky Lab System and method for prioritizing on access scan and on demand scan tasks
US10404697B1 (en) 2015-12-28 2019-09-03 Symantec Corporation Systems and methods for using vehicles as information sources for knowledge-based authentication
US10326733B2 (en) 2015-12-30 2019-06-18 Symantec Corporation Systems and methods for facilitating single sign-on for multiple devices
CN106934283A (zh) * 2015-12-31 2017-07-07 中兴通讯股份有限公司 一种实现文件送检的方法和装置
WO2017147236A1 (en) 2016-02-23 2017-08-31 Carbon Black, Inc. Cybersecurity systems and techniques
US10375114B1 (en) 2016-06-27 2019-08-06 Symantec Corporation Systems and methods for enforcing access-control policies
US10462184B1 (en) 2016-06-28 2019-10-29 Symantec Corporation Systems and methods for enforcing access-control policies in an arbitrary physical space
US10469457B1 (en) 2016-09-26 2019-11-05 Symantec Corporation Systems and methods for securely sharing cloud-service credentials within a network of computing devices
US10812981B1 (en) 2017-03-22 2020-10-20 NortonLifeLock, Inc. Systems and methods for certifying geolocation coordinates of computing devices
US11347865B2 (en) * 2019-03-29 2022-05-31 Blackberry Limited Determining security risks in binary software code
US11093612B2 (en) * 2019-10-17 2021-08-17 International Business Machines Corporation Maintaining system security

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079377A1 (en) * 2005-09-30 2007-04-05 International Business Machines Corporation Virus scanning in a computer system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1071991A4 (en) * 1997-12-11 2002-03-13 Digits Corp OBJECT CODE ANALYSIS AND IMPROVEMENT SYSTEM AND METHOD
US6230288B1 (en) 1998-10-29 2001-05-08 Network Associates, Inc. Method of treating whitespace during virus detection
US8789051B2 (en) * 2004-11-18 2014-07-22 Hamilton Sundstrand Corporation Operating system and architecture for embedded system
US7673341B2 (en) * 2004-12-15 2010-03-02 Microsoft Corporation System and method of efficiently identifying and removing active malware from a computer
US7752667B2 (en) 2004-12-28 2010-07-06 Lenovo (Singapore) Pte Ltd. Rapid virus scan using file signature created during file write
CN100580644C (zh) * 2005-03-28 2010-01-13 Duaxes株式会社 通信控制装置及通信控制系统
US7844700B2 (en) * 2005-03-31 2010-11-30 Microsoft Corporation Latency free scanning of malware at a network transit point
CA2606998C (en) * 2005-05-05 2014-09-09 Ironport Systems, Inc. Detecting unwanted electronic mail messages based on probabilistic analysis of referenced resources
US20070118906A1 (en) * 2005-11-04 2007-05-24 Tarique Mustafa System and method for deprioritizing and presenting data
US7620633B1 (en) * 2005-11-14 2009-11-17 Adobe Systems Incorporated Methods and apparatus for prioritizing and sorting metadata to be displayed
US8510827B1 (en) * 2006-05-18 2013-08-13 Vmware, Inc. Taint tracking mechanism for computer security
US8561189B2 (en) * 2006-06-23 2013-10-15 Battelle Memorial Institute Method and apparatus for distributed intrusion protection system for ultra high bandwidth networks
US8141153B1 (en) * 2008-03-25 2012-03-20 Symantec Corporation Method and apparatus for detecting executable software in an alternate data stream
CN101316273B (zh) * 2008-05-12 2012-08-22 华中科技大学 一种分布式安全存储系统
US9237166B2 (en) * 2008-05-13 2016-01-12 Rpx Corporation Internet search engine preventing virus exchange
US8312467B2 (en) * 2008-05-13 2012-11-13 Oracle America, Inc. Method and system for concurrently executing an application
US8245296B2 (en) * 2008-05-23 2012-08-14 Verizon Patent And Licensing Inc. Malware detection device
US8959108B2 (en) * 2008-06-18 2015-02-17 Zeitera, Llc Distributed and tiered architecture for content search and content monitoring
US20100199350A1 (en) * 2009-02-04 2010-08-05 Mark David Lilibridge Federated Scanning of Multiple Computers
US8468345B2 (en) * 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US8510728B2 (en) * 2010-06-30 2013-08-13 International Business Machines Corporation Dynamic determination of application server runtime classloading
EP2609537A1 (en) * 2010-08-26 2013-07-03 Verisign, Inc. Method and system for automatic detection and analysis of malware
US9413721B2 (en) * 2011-02-15 2016-08-09 Webroot Inc. Methods and apparatus for dealing with malware

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079377A1 (en) * 2005-09-30 2007-04-05 International Business Machines Corporation Virus scanning in a computer system

Also Published As

Publication number Publication date
US20120240229A1 (en) 2012-09-20
WO2012125744A1 (en) 2012-09-20
EP2686803B1 (en) 2018-12-05
EP2686803A1 (en) 2014-01-22
CN103354931B (zh) 2016-06-08
JP5976020B2 (ja) 2016-08-23
CN103354931A (zh) 2013-10-16
US8667592B2 (en) 2014-03-04

Similar Documents

Publication Publication Date Title
JP5976020B2 (ja) アンチマルウェアメタデータのルックアップを行うためのシステム及び方法
US10474817B2 (en) Dynamically optimizing performance of a security appliance
JP5978383B2 (ja) 非反復的マルウェアスキャンを実施するためにプロパティテーブルを使用するためのシステム及び方法
RU2589862C1 (ru) Способ обнаружения вредоносного кода в оперативной памяти
US8225406B1 (en) Systems and methods for using reputation data to detect shared-object-based security threats
US9111094B2 (en) Malware detection
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
KR101880375B1 (ko) 네트워크 활동을 보이는 실행파일들의 분리
US8782792B1 (en) Systems and methods for detecting malware on mobile platforms
JP5816198B2 (ja) 関連コンピューティングシステム間でコンピューティングオペレーションの結果を共有するためのシステムおよび方法
US9135443B2 (en) Identifying malicious threads
JP5586216B2 (ja) コンテキストアウェアによるリアルタイムコンピュータ保護システムおよび方法
US8627469B1 (en) Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
JP5963008B2 (ja) コンピュータシステムの分析方法および装置
US20160070911A1 (en) Rapid malware inspection of mobile applications
EP2663944B1 (en) Malware detection
JP5916956B2 (ja) 不正アプリケーションを検出するシステム及び方法
US8800040B1 (en) Methods and systems for prioritizing the monitoring of malicious uniform resource locators for new malware variants
WO2014071867A1 (zh) 程序处理方法和系统,用于程序处理的客户端和服务器
US8869284B1 (en) Systems and methods for evaluating application trustworthiness
US8448243B1 (en) Systems and methods for detecting unknown malware in an executable file
US8171256B1 (en) Systems and methods for preventing subversion of address space layout randomization (ASLR)
US10089469B1 (en) Systems and methods for whitelisting file clusters in connection with trusted software packages
US8918873B1 (en) Systems and methods for exonerating untrusted software components
US10776490B1 (en) Verifying an operating system during a boot process using a loader

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130918

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R150 Certificate of patent or registration of utility model

Ref document number: 5976020

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250