(57)【要約】      （修正有）【課題】セキュリティのレベルを大きく下げることなく、リアルタイムスキャンシステムの性能に対する影響を最小限に抑える。【解決手段】関心イベントを検出するステップ２０２、関心イベントと関連する少なくとも一つのファイルを識別するステップ２０４、関心イベントと関連するコンテキストメタデータにアクセスするステップ２０６、関心イベントとコンテキストメタデータに基づいて、ファイルに対してセキュリティスキャンを実行するか否かを決定するための基準を含む少なくとも一つのルールにアクセスするステップ２０８と、ルールを適用することにより、ファイルに対してセキュリティスキャンを実行するか否かを決定するステップ２１０と、を有する。【選択図】図２
2010160791.tif 000002
【特許請求の範囲】
【請求項１】
関心イベントに応答して、前記関心イベントのフルコンテキストを調べることによってリアルタイムファイルスキャンを実行するか否かを決定する、コンピュータ実行方法において、
関心イベントを検出するステップと、
前記関心イベントと関連する少なくとも一つのファイルを識別するステップと、
前記関心イベントと関連するコンテキストメタデータにアクセスするステップと、
前記関心イベントおよび前記コンテキストメタデータに基づいて、前記ファイルのセキュリティスキャンを実行するか否かを決定するための基準を含む少なくとも一つのルールにアクセスするステップと、
前記ルールを適用することによって、前記ファイルのセキュリティスキャンを実行するか否かを決定するステップと
を有する、方法。
【請求項２】
請求項１に記載の方法において、前記コンテキストメタデータは、
前記ファイルに関する情報と、
前記ファイルに関連する少なくとも一つのアプリケーションに関する情報と
を有する、方法。
【請求項３】
請求項２に記載の方法において、前記ファイルに関する情報は、
前記ファイルの名前、
前記ファイルのパス名、
前記ファイルのタイプ、
前記ファイルの作成日、
前記ファイルの最終更新日、
前記ファイルのハッシュ、
前記ファイルが読み出された回数、
前記ファイルが修正された回数、
前記ファイルを読み出したアプリケーション、
前記ファイルを修正したアプリケーション、
前記ファイルの使用傾向、
前記ファイルに対して実行した以前のセキュリティスキャンの結果
のうち、少なくとも一つを識別する情報を有する、
方法。
【請求項４】
請求項２に記載の方法において、前記ファイルに関連する前記アプリケーションに関する前記情報は、
前記アプリケーションの名前、
前記アプリケーションに関連するプロセス、
前記アプリケーションの使用傾向、
前記アプリケーションがポータルか否か、
前記アプリケーションがネットワークアクティビティを生成するか否か、
前記アプリケーションが既知の脆弱性を含んでいるか否か、
を識別する情報を含むものとした、方法。
【請求項５】
請求項１に記載の方法において、前記ルールは、
包括的なファイルルール、
包括的なアプリケーションルール、
前記ファイルの容認可能な使用傾向を識別するファイルタイプ固有のルール、
前記ファイルと関連するアプリケーションの容認可能な使用傾向を識別する特定アプリケーション固有ルール
を有する、方法。
【請求項６】
請求項１に記載の方法において、前記ルールは、さらに、前記コンテキストメタデータに基づいて、前記セキュリティスキャンを行う際に前記ファイルに適用するセキュリティのレベルを判定するための基準を有する、方法。
【請求項７】
請求項１に記載の方法において、前記関心イベントは、
前記ファイルを開けようとする試み、
前記ファイルを閉じようとする試み、
セキュリティベンダー供給によるウィルス定義セットの更新
のうち少なくとも一つを有する、方法。
【請求項８】
請求項１に記載の方法において、
前記コンテキストメタデータへのアクセスは、前記コンテキストメタデータをコンテキストメタデータ・データベースから検索するステップを有し、前記ルールへのアクセスは、前記ルールをルール・データベースから検索するステップを有するものとした、方法。
【請求項９】
請求項１に記載の方法において、さらに、
前記ファイルに対して前記セキュリティスキャンを実行するステップと、
前記セキュリティスキャンの結果に基づいて、前記ファイルに対してセキュリティスキャンを行うか否かを決定するステップと
有する、方法。
【請求項１０】
請求項９に記載の方法において、セキュリティ操作は、
前記ファイルをブロックするステップ、
前記ファイルを隔離するステップ、
前記ファイルをセキュリティリスクとして識別する通知を送信するステップ
のうち少なくとも一つを含むものとした、方法。
【請求項１１】
請求項９に記載の方法において、さらに、前記セキュリティスキャンの結果に基づいて、前記コンテキストメタデータを更新するステップを有する、の方法。
【請求項１２】
請求項９に記載の方法において、前記ファイルに対する前記セキュリティスキャンの実行は、
前記ファイルの一部がセキュリティベンダー供給によるウィルス定義セット内の少なくとも一つの署名と一致するか否かを決定するステップ、
前記ファイルがセキュリティベンダー供給によるマルウェア検出ヒューリスティックをトリガするか否かを決定するステップ、
バーチャル環境内で前記ファイルを実行するステップ
のうち少なくとも一つを有する、方法。
【請求項１３】
関心イベントに応答して、前記関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実行するか否かを決定するシステムにおいて、
イベント検出モジュールであって、以下のことを行う、すなわち、
関心イベントを検出し、
前記関心イベントと関連する少なくとも一つのファイルを識別する
ようプログラムした、該イベント検出モジュールと、
前記関心イベントに関連するコンテキストメタデータを含むコンテキストメタデータ・データベースと、
ルール適用モジュールであって、以下のことを行う、すなわち、
前記関心イベントおよび前記コンテキストメタデータに基づいて、前記ファイルに対してセキュリティスキャンを実行するか否かを決定するための基準を含む少なくとも一つのルールにアクセスし、
前記ルールを適用することによって、前記ファイルに対して前記セキュリティスキャンを実行するか否かを決定する
ようにプログラムした、該ルール適用モジュールと
を備えた、システム。
【請求項１４】
請求項１３に記載のシステムにおいて、前記コンテキストメタデータは、
前記ファイルに関する情報と、
前記ファイルに関連する少なくとも一つのアプリケーションに関する情報と
を有するものとした、システム。
【請求項１５】
請求項１３に記載のシステムにおいて、前記ルールは、さらに、前記コンテキストメタデータに基づいて、前記セキュリティスキャンを行う際に、前記ファイルに適用するセキュリティのレベルを決定するための基準を含むものとした、システム。
【請求項１６】
請求項１３に記載のシステムにおいて、さらに、安全モジュールであって、以下のことを行う、すなわち、
前記セキュリティスキャンを実行し、
前記セキュリティスキャンの結果に基づいて、前記ファイルに対するセキュリティ操作を実行するか否かを決定する
ようにプログラムした、該安全モジュールを備えたシステム。
【請求項１７】
請求項１６に記載のシステムにおいて、さらに、メタデータ更新モジュールであって、前記セキュリティスキャンの結果に基づいて、前記コンテキストメタデータの更新を行うようプログラムした、該メタデータ更新モジュールを備えた、システム。
【請求項１８】
コンピュータ実行可能命令を含むコンピュータ読み取り可能な媒体において、コンピューティング装置によって実行されるとき、前記コンピューティング装置に対して、以下のことを行わせる、すなわち、
関心イベントを検出する、
前記関心イベントに関連する少なくとも一つのファイルの識別する、
前記関心イベントに関連するコンテキストメタデータにアクセスする、
前記関心イベントおよび前記コンテキストメタデータに基づいて、前記ファイルに対してセキュリティスキャンを行うか否かを決定するための基準を含む少なくとも一つのルールにアクセスする、
前記ルールを適用することによって、前記ファイルに対してセキュリティスキャンを行うか否かを決定する
ことを行わせる、コンピュータ読み取り可能な媒体。
【請求項１９】
請求項１８に記載のコンピュータ読み取り可能な媒体において、前記コンピュータ実行可能命令は、前記コンピューティング装置が実行するとき、さらに、前記コンピューティング装置に対して以下のことを行わせる、すなわち、
前記ファイルに対してセキュリティスキャンを実行する、
前記セキュリティスキャンの結果に基づいて、前記ファイルに対してセキュリティ操作を行うか否かの決定する
ことを行わせる、コンピュータ読み取り可能な媒体。
【請求項２０】
請求項１８に記載のコンピュータ読み取り可能な媒体において、前記コンピュータ実行可能命令は、前記コンピューティング装置が実行するとき、さらに、前記コンピューティング装置に対して、前記セキュリティスキャンの結果に基づいて、前記コンテキストメタデータの更新を行わせる、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
リアルタイムセキュリティ製品、例えばリアルタイムファイルスキャンソリューション製品のベンダーにとって、性能（パフォーマンス）は永続的な関心事である。伝統的なリアルタイムセキュリティ製品は一般的に、１）ファイルが開かれた、または修正されたときを検出し、そして２）当該ファイルをスキャンすることにより、ファイルが危害に曝されたものであるかどうかを決定する。一つのファイルスキャンによって、コンピューティングシステムのリソースに重い負担のかかることはないが、今日のオペレーションシステムによって実行されるたくさんのファイル操作では膨大な数のファイルスキャンが必要となり、それによってコンピューティングシステムの性能が目に見えて遅くなり、ユーザーにフラストレーションがたまってしまうことがある。
【背景技術】
【０００２】
セキュリティベンダーの中には、ファイルの拡張子、またはファイルが開いているかもしくは閉じているかに基づいてスキャンをスキップすることによって、リアルタイムファイルスキャンソリューションの性能に対する影響を抑えるようにしてきたが、このような従来の方法では、有効性と信頼性が限られる。例えば、そのような手法では、合法に見せかける拡張子を持つ悪質なファイルを識別できないことがある。同様に、そのようなアプローチでは、修正されたファイルが危害を加えられていない可能性が高い場合であっても、コンピューティングリソースを修正ファイルのスキャンのために使ってしまう可能性がある。このように、本発明は、伝統的なリアルタイムファイルスキャンセキュリティソリューションの性能および信頼性の双方を改善する必要性を認識するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
以下に、より詳細に説明するように、本発明は一般に、関心イベント(例えば、ファイルが開いたもしくは閉じたとき、またはベンダー供給によるウィルス定義のセットが更新された等)に応じて関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを行うか否かを決定するシステムおよび方法に関するものである。関心事イベントのフルコンテキストには、当該ファイルの履歴、当該ファイルにアクセスするアプリケーションの履歴、および当該ファイルの既知の容認可能な使用パターンなどがある。常にスキャンを行うよりも、このような情報を評価することによって、本明細書に開示するシステムおよび方法は、伝統的なリアルタイムスキャンソリューションによって得られるセキュリティのレベルを大きく下げることなく、リアルタイムスキャンシステムの性能に対する影響を最小限に抑えることができる。
【課題を解決するための手段】
【０００４】
例えば、システムは、１）関心イベント(例えば、ファイルが開いたもしくは閉じたとき、またはベンダー供給によるウィルス定義セットが更新されたとき等)を検出するステップと、２）関心イベント(例えば、ファイルが開いたもしくは閉じたとき等)に関連する少なくとも一つのファイルを識別するステップと、３）関心イベントが生ずるより大きなコンテキスト（本明細書では、「コンテキストメタデータ」とも称する）を記述または識別する情報にアクセスするステップと、４）関心イベントおよびコンテキストメタデータに基づいて、そのファイルに対してスキャンを実行するか否かを決定する基準を含む、少なくとも一つのルールにアクセスするステップと、その後５）そのルールを適用して、そのファイルに対してスキャンを実行するか否かを決定するステップと、によって、リアルタイムファイルスキャンを実行するか否かを決定することができる。
【０００５】
システムがファイルをスキャンすると決定する場合、システムはコンテキストメタデータに基づき、スキャンを行う際にファイルに適用すべきセキュリティレベルを上げるか下げるかも決定する。システムは、さらに、スキャンの結果に基づき、ファイルをブロックするか否か、ファイルを隔離するか否か、ファイルを削除するか否か、ユーザーまたはセキュリティベンダーに通知するか否か等を決定することができる。システムは、その後、セキュリティスキャンの結果に基づいて、コンテキストメタデータの更新を行うことができる。
【０００６】
上述の実施形態における特徴は、本明細書に記載の上位概念的原理に基づいて、別の実施形態と互いに組み合わせて使用することができる。これらおよび他の実施形態、特徴、利点は、添付図面および特許請求の範囲に関連する以下の詳細な説明を読むことにより、より完全に理解することができるであろう。
【０００７】
添付図面は多数の実施例を示し、また本明細書の一部である。以下の記載と共に、これら図面は本発明の様々な原理を提示および説明するものである。
【図面の簡単な説明】
【０００８】
【図１】関心イベントに応答して関心イベントのフルコンテキストを調べることにより、リアルタイムファイルスキャンを実行するか否かを決定する、例示的なシステムのブロック図である。
【図２】関心イベントに応答して関心イベントのフルコンテキストを調べることにより、リアルタイムファイルスキャンを実行するか否かを決定する、例示的な方法のフローチャートである。
【図３】本明細書に記載および／または説明する一つ以上の実施例を実行できる、例示的なコンピューティングシステムのブロック図である。
【図４】本明細書に記載および／または説明する一つ以上の実施例を実行できる、例示的なコンピューティングネットワークのブロック図である。
【０００９】
図面にわたり、同一の参照符号および説明は、類似するが、必ずしも同じとは限らない要素を示している。本明細書に記載の実施例は、様々な変更形態または代替形態とすることができるが、特別な実施例を例示的に図面で示し、本明細書において詳細に説明する。しかし、本明細書に記載の実施例は、開示する特定の形態に限定することを意図するものではない。むしろ本発明は、添付する特許請求の範囲内に該当するあらゆる変更形態、等価形態、代替形態をカバーするものである。
【発明を実施するための形態】
【００１０】
以下により詳しく説明するように、本発明は、一般に、関心イベントに応答して、関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実行するか否かを決定するシステムおよび方法に関する。関心イベントが生ずるより大きなコンテキストを記載または識別する情報(以後、「コンテキストメタデータ」と称する)としては、当該ファイルに関する情報（ファイル名、ファイル作成日、ファイルの読み出しまたは修正回数、ファイルの読み出しまたは修正を行ったアプリケーション、ファイルに対する典型的な使用パターン、ファイルに実行された以前のセキュリティスキャンの結果など）、または当該ファイルに接触または関連するアプリケーションに関する情報（例えば、アプリケーションがポータルか否か、アプリケーションがネットワークアクティビティを生成するか否か、アプリケーションが既知の脆弱性を含んでいるか否か等）があるが、それらに限定するものではない。
【００１１】
以下に図１につき、関心イベントに応答して、関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実行するか否かを決定する例示的なシステムを詳細に説明する。これに対応する例示的なコンピュータ実施方法の詳細も、図２につき説明する。さらに、本明細書に記載および／または説明する一つ以上の実施形態を実行できるコンピューティングシステムおよびネットワークアーキテクチャも、図３および図４につき説明する。
【００１２】
図１は、関心イベントに応答して、関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実施するか否かを決定する、例示的なシステム１００のブロック図である。この図で示すように、例示的なシステム１００は、一つ以上のタスクを実施する一つ以上のモジュール１０２を有することができる。例えば、例示的なシステム１００は、ファイルスキャンをトリガする関心イベント（例えば、ファイルが開かれるもしくは閉じられるとき、または、ベンダー供給によるウィルス定義セットが更新されるとき）を検出するイベント検出モジュール１０４を備えることができる。例示的なシステム１００は、さらに、検出された関心イベントおよびその関心イベントに関連するコンテキストメタデータに基づいて、ファイルスキャンを行うか否かを決定するための基準を含むルールにアクセスし、そして適用する、ルール適用モジュール１０６を備える。
【００１３】
さらに例示的なシステム１００は、ファイルのセキュリティスキャンを実施して、ファイルが悪意のある、またはセキュリティリスクをもたらすものか否かを決定するセキュリティモジュール１０８を備えることができる。例示的なシステム１００は、さらに、ファイル、コンテキストメタデータのセキュリティスキャンの結果に基づいて更新を行う、メタデータ更新モジュール１１０を備えることもできる。図１には示さないが、例示的なシステム１００は、さらに、一つ以上の追加モジュールも備えることができる。
【００１４】
ある実施形態では、図１の一つ以上のモジュール１０２は、コンピューティング装置によって実施されるとき、関心イベントに応答して、関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実施するか否かをそのコンピューティング装置に決定させるようにする、一つ以上のソフトウェアアプリケーションまたはプログラムを表すものとすることもできる。例えば、以下に詳細を示すように、一つ以上のモジュール１０２は、図３のコンピューティングシステム３１０および／または図４の例示的なネットワークアーキテクチャ４００の一部のような、一つ以上のコンピューティング装置上で動作するよう構成したソフトウェアモジュールを表すものとすることもできる。図１の一つ以上のモジュール１０２は、さらに、一つ以上のタスクを実施するよう構成した一つ以上の特別用途コンピュータの全体または一部を表すものとすることができる。
【００１５】
図１に示すように、例示的なシステム１００は、さらに、一つ以上のデータベース１２０を備えることができる。データベース１２０は、一つのデータベースまたはコンピューティング装置の一部、または複数のデータベースもしくはコンピューティング装置を表すものとすることができる。一実施形態では、例示的なシステム１００は、コンテキストメタデータ、例えばスキャンする候補ファイルに関する情報、およびその候補ファイルに接触または関連するアプリケーションに関する情報を記憶する、コンテキストメタデータ・データベース１２２を備えることができる。例示的なシステム１００は、さらに、プログラムの特性に基づき、プログラムがスパムプログラムを含んでいるか否かを決定する基準を含むルールまたはルールセットを記憶する、ルール・データベース１２４を備えることができる。
【００１６】
図１の一つ以上のデータベース１２０は、一つ以上のコンピューティング装置の一部を表すものとすることができる。例えば、一つ以上のデータベース１２０は、図３のコンピューティングシステム３１０の一部および／または図４の例示的なネットワークアーキテクチャ４００の部分を表すものとすることができる。
【００１７】
図２は、関心イベントに応答して、関心イベントのフルコンテキストを調べることによって、リアルタイムファイルスキャンを実行するか否かを決定する、コンピュータで実行する例示的な方法２００のフローチャートである。この図に示すように、ステップ２０２において、システムは関心イベントを検出することができる。例えば、図１のイベント検出モジュール１０４は、図３のコンピューティングシステムにおける関心イベントを検出することができる。
【００１８】
本明細書で使用する用語「関心イベント」は、全般的に、ファイルスキャンをトリガすることのできるコンピューティングシステムにおけるあらゆるイベント（事象）に言及する。関心イベントの例としては、以下のものに限定しないが、プロセスまたはアプリケーションによりファイルを開こうとして失敗または成功する試み、プロセスまたはアプリケーションによりファイルを閉じようとして失敗または成功する試み、セキュリティベンダーが供給するウィルス定義セットに対する更新、またはコンピューティングシステムにおけるファイルの信頼性に関する疑問を提起する他のイベントがある。
【００１９】
システムは、ステップ２０２を様々な方法で行うことができる。一例として、図１のイベント検出モジュール１０４は、コンピューティングシステム（例えば、図３のコンピューティングシステム３１０）のオペレーティングシステムにフックし、そして特定イベントに応答することによって、関心イベントを検出することができる。
【００２０】
ステップ２０４において、システムはステップ２０２で検出した関心イベントに関連する少なくとも一つのファイルを識別することができる。システムは、関心イベントと関連するファイルを様々な方法で識別することができる。例えば、ステップ２０２において、イベント検出モジュール１０４がプロセスによるファイルを開く試みの成功を識別する場合、ステップ２０４において、イベント検出モジュール１０４は開かれたファイルを識別することができる。あるいは、ステップ２０２でイベント検出モジュール１０４がベンダー供給によるウィルス定義セットの更新を検出する場合、ステップ２０４において、イベント検出モジュール１０４はこの更新によって作用または影響を受ける一つ以上のファイルを識別することができる。
【００２１】
ステップ２０６において、システムは関心イベントに関連するコンテキストメタデータにアクセスすることができる。例えば、図１のルール適用モジュール１０６は、ステップ２０４で識別されたファイルに関する情報を、図１のコンテキストメタデータ・データベース１２２から検索することができる。
【００２２】
上述のように、「コンテキストメタデータ」は、関心イベントが生ずるより大きなコンテキストに関する情報に言及するものである。コンテキストメタデータの例としては、以下のものに限定しないが、当該ファイルに関する情報、および当該ファイルに作用または関連する一つ以上のアプリケーションに関する情報がある。コンテキストメタデータに含まれるファイルに関する情報のタイプの例としては、以下のものに限定しないが、ファイル名、ファイルのパス名、ファイルのタイプ（例えば、ファイルがプリフェッチファイルか否か、ファイルがログファイルか否か、等）、ファイル作成日、ファイルの最終更新日、ファイルのハッシュもしくはデジタル署名、ファイルの読み出しもしくは修正回数、ファイルを読み出しもしくは修正したアプリケーション、ファイルの使用傾向（例えば、ファイルがブートシーケンス中によく開かれるか否か）、ファイルに対して実行された以前のセキュリティスキャンの結果、またはファイルに対してスキャンを行うか否かの決定に有用な他の情報がある。
【００２３】
同様に、候補ファイルに接触または関連するアプリケーションに関する例示的な情報としては、以下のものに限定しないが、アプリケーション名、アプリケーションと関連するプロセス、アプリケーションの使用傾向、アプリケーションがポータルか否か、アプリケーションがネットワークアクティビティを生成するか否か、アプリケーションが既知の脆弱性を含んでいるか否か、または当該ファイルに対してセキュリティスキャンを行うか否かを決定するのに有用な他の情報がある。
【００２４】
ステップ２０８において、システムは、関心イベントとコンテキストメタデータに基づいて、ファイルに対してセキュリティスキャンを行うか否かを決定するための基準を含む、少なくとも一つのルールにアクセスすることができる。例えば、図１のルール適用モジュール１０６は、ステップ２０４で識別されたファイルのセキュリティスキャンを行うか否かを判定する基準を含むルール・データベース１２４から、少なくとも一つのルールを検索することができる。
【００２５】
より詳しくは、ステップ２０８でアクセスしたルールは、関心イベント（例えば、アプリケーションがファイルを開いて修正しようとする試みの成功）がリアルタイムファイルスキャンを必要とするか否かを決定する基準を有することができる。ファイルのリアルタイムスキャンを行うか否かを決定するためのルールに使用される基準例としては、以下のものに限定しないが、当該ファイル名、当該ファイルに対する修正、読み出し、アクセスを行ったプロセスもしくはアプリケーション、当該ファイルのパス名または場所、当該ファイルの種類、当該ファイルの作成日もしくは最終更新日、当該ファイルへのアクセス回数、当該ファイルにアクセスしたアプリケーションまたはプロセス、当該ファイルの容認可能な使用傾向、当該ファイルにアクセスを試みているアプリケーションの容認可能な使用傾向、当該ファイルに対して実行された以前のセキュリティスキャンの結果、当該ファイルにアクセスを試みているアプリケーションはポータルか否か、当該ファイルにアクセスを試みているアプリケーションはネットワークアクティビティを生成するか否か、当該ファイルにアクセスを試みているアプリケーションは既知の脆弱性を含んでいるか否か、または関心イベントがファイルのリアルタイムスキャンを必要とするか否かを決定するために使用できる他の基準がある。
【００２６】
例えば、ルールは、ファイルがある特定のすでに承認された（例えば、プロセス名によって識別された）アプリケーションまたはプロセスによってアクセスされる限り、（例えば、ファイル名またはパス名によって識別された）特定ファイルをスキャンする必要がないということを規定することができる。同様に、ルールは、（例えばファイル種類またはパス名によって識別された）ある特定のセンシティブまたはクリティカルなシステムファイルは、それらが既知の脆弱性を持つアプリケーションによって修正される場合にはスキャンしなければならないということを、規定することができる。
【００２７】
ルールは、包括的または固有なものとすることができる。例えば、包括的なルールは、脅威とはならない使用ケースではスキャンを排除するように書き込むことができる。例えば、ルールは、単に書き込まれたが読み出されはしないファイル(例えば、ログファイル)の場合には、書き込み操作の後にファイルが閉じられた後にスキャンを行う必要はないと、規定することができる。同様に、包括的なルールでは、Ｘ日数にわたって単独アプリケーションによってファイルが書き込まれただけ、または読み出されただけである場合には、そのファイルがその単独アプリケーションによってアクセスされる限り、スキャンする必要はないと規定することができる。
【００２８】
さらに、ルールは、特定ファイルタイプに対して書き込むこともできる。例えば、プロセスまたはアプリケーションがＷＩＮＤＯＷＳ(登録商標）プリフェッチファイルにアクセスする場合、そのプリフェッチファイルをスキャンするのは、そのファイル名がプロセス名と一致しない場合にのみ行うと、規定することができる。この例では、ルールは、１）ファイル名が「ＩＥＸＰＬＯＲＥ．ＥＸＥ−ＸＸＸＸＸＸ．ＰＦ，」、２）ファイルがプロセス「ＩＥＸＰＬＯＲＥ．ＥＸＥ、」によって読み出された、および３)ホストプロセスが開始されたばかりであれば、プリフェッチファイルをスキャンしなくてもよいと、規定することができる。
【００２９】
さらに、ルールは、アプリケーション固有とすることができる。例えば、ルールは、特定アプリケーションに関して、ある既知の場所（ロケーション）でアプリケーションによって作成された一時ファイルは、アプリケーションが終了するとき削除されるので、スキャンする必要はないと、規定することができる。上述した各実施例において、ルールは、そのシナリオにおけるスキャンをスキップまたは減少させることに関連するセキュリティリスクと、実現される性能向上とを比較することによって、発展させることができる。
【００３０】
特定の実施例において、ルールは、さらに、関心イベントに関連するコンテキストメタデータに基づいて、セキュリティスキャンを実行する際にファイルに適用すべきセキュリティのレベルを決定する基準を有することができる。例えば、ルールは、ファイルが予め承認されたアプリケーションによって開かれた場合、システムは限定的セキュリティスキャン（例えば、そのファイルの一部が、セキュリティベンダーによって供給されたウィルス定義セット内の少なくとも一つの署名に一致するか否かを決定することによって）をファイルに対して行うだけでよいと、規定することができる。または、ファイルが新しいまたは未承認のアプリケーションによってアクセスされているとシステムが決定した場合には、システムはファイルのフルスキャン（例えば、バーチャルまたはエミュレートされたコンピューティング環境内でファイルを実行することによって、そのファイルが悪意のあるペイロードを含んでいるか否かを決定することによって）を実行することができる。
【００３１】
ステップ２１０において、システムは、ステップ２０８からのルールを適用することによって、ファイルに対してセキュリティスキャンを行うか否かを決定することができる。例えば、図１のルール適用モジュール１０６は、ステップ２０８のルール・データベース１２４から検索したルールを、ステップ２０４で識別されたファイルに適用することができる。図２のステップ２１０が完了する際に、図２の例示的な方法２００を終了することができる。
【００３２】
図１のルール適用モジュール１０６が、ステップ２１０において、システムはファイルに対してセキュリティスキャンを行うべきと決定した場合、セキュリティモジュール１０８はファイルに対してセキュリティスキャンを行うことができる。本明細書において、用語「セキュリティスキャン」は全般的に、ファイルが悪意のあるものである、またはセキュリティリスクをもたらすものであるか否かを決定するために、コンピューティングシステムがファイルに対して行うあらゆる分析に言及するものである。
【００３３】
図１のセキュリティモジュール１０８は、ファイルが悪意のあるものか否かを様々な方法で決定することができる。例えば、セキュリティモジュール１０８は、１）そのファイルの一部が、セキュリティベンダー供給によるウィルス定義セット内の少なくとも一つの署名に一致するか否かの決定（例えば、ファイルのハッシュを既知の悪意があるファイルのハッシュと比較することによる）、２）ファイルがセキュリティベンダーによって供給されたマルウェア検出ヒューリスティック（発見的解析）をトリガするか否かの決定（例えば、パターンマッチングによる）、３）バーチャルまたはエミュレートされたコンピューティング環境の中でファイルを実行することによる、ファイルが悪意のあるペイロードを含んでいるか否かの決定、または４）任意な他の適切な手段によるファイルの正当性の検証、を行う。
【００３４】
セキュリティスキャンの結果に基づいて、セキュリティモジュール１０８はファイルに対するセキュリティ操作も行うことができる。本明細書で使用する用語「セキュリティ操作」は、全般的に、既知の悪意があるファイルに対して実行するセキュリティ操作に言及する。セキュリティ操作の例としては、以下に限定しないが、ファイル削除、ファイルに対するアクセスブロック、ファイル隔離、ファイルをセキュリティリスクとして識別したという通知のユーザーまたはセキュリティベンダーへの送信、または悪意があるファイルまたはセキュリティリスクをもたらすものとして知られるファイルに対して実行する他のセキュリティ操作がある。
【００３５】
ある実施形態では、セキュリティスキャンが完了する際に、スキャンの結果に基づき、システムはステップ２０６でアクセスしたコンテキストメタデータの更新を行うことができる。例えば、図１のメタデータ更新モジュール１１０は、ファイルに対して行ったセキュリティスキャンの結果に基づいて、コンテキストメタデータ・データベース１２２に記憶されたコンテキストメタデータを更新することができる。
【００３６】
上述のように、関心イベントのより大きなコンテキストを考慮したルールを展開して適用することにより、本明細書に記載するシステムおよび方法は、得られるセキュリティのレベルを著しく犠牲にすることなく、リアルタイムスキャンシステムの性能を向上させることができる。このように、本明細書に開示したシステムおよび方法は、リアルタイムコンピュータセキュリティソリューションのユーザーに様々な信頼性および性能の利点を提供することができる。
【００３７】
図３は、本明細書に記載および／または説明する一つ以上の実施形態を実施することのできる例示的なコンピューティングシステム３１０のブロック図である。コンピューティングシステム３１０は、コンピュータ読み取り可能命令を実行することのできる、単体または複数のプロセッサコンピューティング装置またはシステムを広義に表している。コンピューティングシステム３１０の例としては、以下に限定するものではないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散コンピューティングシステム、ハンドヘルドデバイスまたは他のコンピューティングシステムまたは装置がある。その最も基本的な構成において、コンピューティングシステム３１０は、少なくとも１個のプロセッサ３１４およびシステムメモリ３１６を備えることができる。
【００３８】
プロセッサ３１４は、一般に、データ処理または命令の機械言語翻訳および実行を行うことのできる任意のタイプまたは形式の処理ユニットを表す。ある実施形態では、プロセッサ３１４は、ソフトウェアアプリケーションまたはモジュールから命令を受け取ることができる。これら命令によって、プロセッサ３１４は本明細書に記載および／または説明する一つ以上の実施例の機能を実行することができる。例えば、プロセッサ３１４は、単独で、または他の構成要素との組み合わせにより、本明細書に記載する検出ステップ、識別ステップ、アクセスステップ、適用ステップ、ファイル開きステップ、ファイル閉じステップ、検索ステップ、実施ステップ、ブロックステップ、隔離ステップ、送信ステップ、更新ステップおよび実行ステップにおける一つ以上のものを行う、またはそのための手段とすることができる。プロセッサ３１４は、本明細書に記載および／または説明する他のステップ、方法、またはプロセスを実行する、または実行するための手段とすることができる。
【００３９】
システムメモリ３１６は、一般に、データおよび／または他のコンピュータ読み取り可能な命令を記憶することのできる、任意のタイプもしくは形式とした揮発性もしくは不揮発性の記憶装置または媒体を表す。システムメモリ３１６の例としては、以下に限定するものではないが、ランダムアクセスメモリ（ＲＡＭ），リードオンリーメモリ（ＲＯＭ），フラッシュメモリまたは他の任意の適切なメモリ装置がある。必須ではないが、ある実施形態では、コンピューティングシステム３１０は、揮発性メモリユニット（例えばシステムメモリ３１６）および不揮発性記憶装置（例えば以下に詳細を説明する主記憶装置３３２）の双方を有するものとすることができる。
【００４０】
ある実施形態では、例示的なコンピューティングシステム３１０は、さらに、プロセッサ３１４およびシステムメモリ３１６に加えて、一つ以上のコンポーネントまたは素子を備えることができる。例えば、図３に説明するように、コンピューティングシステム３１０は、メモリコントローラ３１８、入力／出力（Ｉ／Ｏ）コントローラ３２０および通信インタフェース３２２を備えることができ、それらはそれぞれ通信インフラ３１２を介して相互に接続する。通信インフラ３１２は、一般に、コンピューティング装置の一つ以上のコンポーネント間における通信を容易化することのできる、あらゆるタイプまたは形式のインフラを表す。通信インフラ３１２の例としては、以下に限定するものではないが、通信バス（ＩＳＡ，ＰＣＩ，ＰＣＩｅまたは同様のバス）およびネットワークがある。
【００４１】
メモリコントローラ３１８は、一般に、メモリもしくはデータの処理、またはコンピューティングシステム３１０の一つ以上のコンポーネント間の通信を制御することのできる、任意のタイプまたは形式のデバイスを表す。例えば、ある実施形態では、メモリコントローラ３１８は、通信インフラ３１２を介して、プロセッサ３１４、システムメモリ３１６およびＩ／Ｏコントローラ３２０間の通信を制御することができる。ある実施形態では、メモリコントローラ３１８は、単独で、または他の素子との組み合わせで、検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新、および実行という、本明細書に記載および／または説明する一つ以上のステップまたは特徴を行う、またはこれらを行う手段とすることができる。
【００４２】
Ｉ／Ｏコントローラ３２０は、一般に、コンピューティング装置の入出力機能の調整および／または制御を行うことのできる任意のタイプまたは形式のモジュールを表す。例えば、ある実施形態では、Ｉ／Ｏコントローラ３２０は、コンピューティングシステム３１０における一つ以上の素子間、例えば、プロセッサ３１４、システムメモリ３１６、通信インタフェース３２２、ディスプレイアダプタ３２６、入力インタフェース３３０および記憶装置間でデータを制御または送信の容易化を行い、本明細書に記載する検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新および実行という一つ以上のステップを実施するまたは、実施する手段とすることができる。Ｉ／Ｏコントローラ３２０を使用して、本明細書に記載する他のステップおよび特徴を実施する、または実施する手段とすることもできる。
【００４３】
通信インタフェース３２２は、例示的なコンピューティングシステム３１０と一つ以上の付加デバイスとの間の通信を容易化することのできる、任意のタイプまたは形式の通信デバイスを広義に表す。例えば、ある実施形態では、通信インタフェース３２２は、コンピューティングシステム３１０と追加コンピューティングシステムを含むプライベートネットワークまたは公衆ネットワークとの間の通信を容易化することができる。通信インタフェース３２２の例としては、以下のものに限定しないが、有線ネットワークインタフェース（例えばネットワークインタフェースカードなど）、無線ネットワークインタフェース（例えば無線ネットワークインタフェースカードなど）、モデムおよび他の適切なインタフェースがある。少なくとも一つの実施形態では、通信インタフェース３２２は、例えばインターネットなどの、ネットワークへの直接リンクを介して、リモートサーバへの直接的な接続を提供することができる。通信インタフェース３２２はまた、例えば、ローカルエリアネットワーク（Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークまたは無線ＩＥＥＥ８０２．１１ネットワークなど）、パーソナルエリアネットワーク（ＢＬＵＥＴＯＯＴＨ（登録商標）ネットワークまたはＩＥＥＥ８０２．１５ネットワークなど）、電話またはケーブルネットワーク、携帯電話接続、衛星データ接続またはその他の適切な接続を通して、このような接続を間接的に提供することもできる。
【００４４】
ある実施形態では、通信インタフェース３２２は、外部バスまたは通信チャネルを介して、コンピューティングシステム３１０と一つ以上の追加ネットワークまたは記憶装置との間で通信を容易化するように設定された、ホストアダプタを表すこともできる。ホストアダプタの例としては、以下のものに限定しないが、ＳＣＳＩホストアダプタ、ＵＳＢホストアダプタ、ＩＥＥＥ１３９４ホストアダプタ、ＳＡＴＡとｅＳＡＴＡホストアダプタ、ＡＴＡとＰＡＴＡホストアダプタ、ファイバーチャネルインターフェースアダプタ、Ｅｔｈｅｒｎｅｔ（登録商標）アダプタがある。また通信インタフェース３２２によって、コンピューティングシステム３１０に分散またはリモートコンピューティングを行わせることもできる。例えば、通信インタフェース３２２はリモート装置から命令を受け取る、または実行のためにリモート装置へ命令を送ることができる。ある実施形態では、通信インタフェース３２２は、単独で、または他の素子との組み合わせにより、本明細書に開示する検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新、実行というステップにおける一つ以上のステップを行う、またはこれらを行う手段とすることができる。通信インタフェース３２２を使用して、本明細書に示す他のステップおよび特徴を実現する、またはそれらを実現する手段とすることができる。
【００４５】
図３に示すように、コンピューティングシステム３１０は、さらに、ディスプレイアダプタ３２６を介して通信インフラ３１２に接続する少なくとも一つのディスプレイ装置３２４を備えることができる。ディスプレイ装置３２４は、一般に、ディスプレイアダプタ３２６によって転送される情報を視覚的に表示することのできる任意のタイプまたは形式の装置を表す。同様に、ディスプレイアダプタ３２６は、一般に、ディスプレイ装置３２４で表示するよう、通信インフラ３１２（または本技術分野で既知のフレームバッファ）からのグラフィックス、テキストおよび他のデータを転送するよう構成した、任意のタイプまたは形式のデバイスを表す。
【００４６】
図３に示すように、例示的なコンピューティングシステム３１０は、さらに、入力インタフェース３３０を介して通信インフラ３１２に接続する、少なくとも一つの入力装置３２８を備えることができる。入力装置３２８は、一般に、コンピュータまたは人間が生成した入力をコンピューティングシステム３１０に供給することのできる、任意のタイプまたは形式の入力装置を表す。入力装置３２８の例としては、以下のものに限定しないが、キーボード、ポインティングデバイス、音声認識装置または他の入力装置がある。少なくとも一つの実施形態では、入力装置３２８は、単独、または他の素子との組み合わせにより、本明細書に記載の検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新、および実行というステップのうち一つ以上のステップを行う、またはこれらを行う手段とすることができる。入力装置３２８使用して、本明細書に示す他のステップおよび特徴を行う、またはこれらを行う手段とすることができる。
【００４７】
図３に示すように、例示的なコンピューティングシステム３１０は、さらに、記憶インタフェース３３４を介して通信インフラ３１２に接続する、主記憶装置３３２およびバックアップ記憶装置３３３を備えることができる。記憶装置３３２、３３３は、一般に、データおよび／または他のコンピュータ読み取り可能な命令を記憶することのできる任意のタイプもしくは形式の記憶装置または媒体を表す。例えば、記憶装置３３２，３３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブとすることができる。記憶インタフェース３３４は、一般に、記憶装置３３２，３３３とコンピューティングシステム３１０における他のコンポーネントとの間でデータの送信を行う、任意のタイプまたは形式のインタフェースまたは装置を表す。
【００４８】
ある実施形態では、記憶装置３３２，３３３は、コンピュータソフトウェア、データまたは他のコンピュータ読み取り可能な情報を記憶するよう構成したリムーバブル記憶ユニットに対する読み出しおよび／または書き込みを行うよう構成することができる。適切なリムーバブル記憶ユニットの例としては、以下のものに限定しないが、フロッピー（登録商標）ディスク、磁気テープ、光ディスク、フラッシュメモリ装置がある。記憶装置３３２，３３３はまた、コンピュータソフトウェア、データまたは他のコンピュータ読み取り可能な命令をコンピューティングシステム３１０にロードするための、他の同様な構造またはデバイスを有するものとすることができる。例えば、記憶装置３３２，３３３は、ソフトウェア、データ、または他のコンピュータ読み取り可能な情報を読み、書きできるよう構成する。記憶装置３３２，３３３は、また、コンピューティングシステム３１０の一部とする、または他のインタフェースシステムを介してアクセスする個別の装置とすることもできる。
【００４９】
ある実施形態では、本明細書に開示する例示的なファイルシステムを主記憶装置３３２に記憶するとともに、本明細書に開示する例示的なファイルシステムのバックアップをバックアップ記憶装置３３３に記憶することができる。記憶装置３３２，３３３は、例えば、単独で、または他の素子との組み合わせにより、本明細書に記載する検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新、実行というステップのうち一つ以上のステップを行う、またはこれらを行う手段とすることができる。記憶装置３３２，３３３を使用して、本明細書に示す他のステップおよび特徴を行う、または行う手段とすることができる。
【００５０】
その他多数の装置またはサブシステムをコンピューティングシステム３１０に接続することができる。逆に、本明細書に記載および／または説明する実施形態を実施するために、図４に示すコンポーネントおよびデバイスの全てが存在しなければならないということではない。上述の装置やサブシステムは、図３に示すものとは異なる方法で相互に接続することができる。コンピューティングシステム３１０は、さらに、任意の数のソフトウェア、ファームウェア、および／またはハードウェア構成を使用することができる。例えば、本明細書に開示する一つ以上の実施例は、コンピュータ読み取り可能な媒体にコンピュータプログラム（または、コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータの読み取り可能な命令またはコンピュータ制御ロジックとも称する）として符号化することができる。用語「コンピュータ読み取り可能な媒体」は一般に、コンピュータの読み取り可能な命令を記憶または搬送することのできる任意の形式のデバイス、キャリア、または媒体に言及する。コンピュータ読み取り可能な媒体としては、以下のものに限定しないが、搬送波のような伝送タイプの媒体、および磁気記憶媒体のような物理的媒体（例えば、ハードディスクドライブ、フロッピー（登録商標）ディスク）、光記憶媒体（例えば、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭなど）、電子記憶媒体（例えば、ソリッドステートドライブやフラッシュ媒体）および他の分散システムがある。
【００５１】
コンピュータプログラムを含むコンピュータ読み取り可能な媒体は、コンピューティングシステム３１０にロードすることができる。コンピュータ読み取り可能な媒体に記憶されるコンピュータプログラムの全体または一部は、この後システムメモリ３１６および／または記憶装置３３２，３３３の様々な部分に記憶される。プロセッサ３１４で実行されるとき、コンピューティングシステム３１０にロードされたコンピュータプログラムは、プロセッサ３１４に、本明細書に記載および／または説明する一つ以上の実施例の機能を実行する、または実行する手段とすることができる。付加的に、または代替的に、本明細書に記載および／または説明する一つ以上の実施例は、ファームウェアおよび／またはハードウェアで実行することができる。例えば、コンピューティングシステム３１０は、本明細書に開示する一つ以上の実施例を実現するために適合される特定用途向け集積回路（ＡＳＩＣ）として構成することができる。
【００５２】
図４は、例示的なネットワークアーキテクチャ４００のブロック図であり、この場合、クライアントシステム４１０，４２０，４３０およびサーバ４４０，４４５をネットワーク４５０に接続することができる。クライアントシステム４１０，４２０，４３０は、一般に、例えば図３の例示的なコンピューティングシステム３１０のような、任意のタイプもしくは形式のコンピューティング装置またはシステムを表す。同様に、サーバ４４０，４４５は、一般に、様々なデータベースサービスの提供するおよび／または特定ソフトウェアアプリケーションを実行するよう構成した、アプリケーションサーバやデータベースサーバのような、コンピューティング装置またはシステムを表す。ネットワーク４５０は、一般に、例えばイントラネット、広域ネットワーク（ＷＡＮ），ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）またはインターネットを含む、任意の電気通信ネットワークまたはコンピュータネットワークを表す。
【００５３】
図４に示すように、１個またはそれ以上の記憶装置４６０（１）〜（Ｎ）をサーバ４４０に直接取り付けることができる。同様に、１個またはそれ以上の記憶装置４７０（１）〜（Ｎ）をサーバ４４５に直接取り付けることができる。記憶装置４６０（１）〜（Ｎ）および記憶装置４７０（１）〜（Ｎ）は、一般に、データおよび／または他のコンピュータ読み取り可能な命令を記憶することのできる、任意のタイプもしくは形式の記憶装置または媒体を表す。ある実施形態では、記憶装置４６０（１）〜（Ｎ）および記憶装置４７０（１）〜（Ｎ）は、様々なプロトコル、例えばＮＦＳ、ＳＭＢまたはＣＩＦＳを使って、サーバ４４０および４４５と通信を行うよう構成したネットワーク接続ストレージ（ＮＡＳ）装置を表すことができる。
【００５４】
サーバ４４０，４４５は、また、ストレージエリアネットワーク(ＳＡＮ)ファブリック４８０に接続することができる。ＳＡＮファブリック４８０は、一般に、複数の記憶装置間の通信を容易化できる、任意のタイプもしくは形式のコンピュータネットワークまたはアーキテクチャを表す。ＳＡＮファブリック４８０は、サーバ４４０，４４５、複数の記憶装置４９０（１）〜（Ｎ）、および／またはインテリジェントストレージアレイ４９５間の通信を容易化することができる。ＳＡＮファブリック４８０は、さらに、ネットワーク４５０およびサーバ４４０、４４５を介して、クライアントシステム４１０、４２０，４３０、記憶装置４９０（１）〜（Ｎ）、および／またはインテリジェントストレージアレイ４９５間の通信を、記憶装置４９０（１）〜（Ｎ）とアレイ４９５がクライアントシステム４１０，４２０，４３０に局部的に取り付けられた装置として現れるようにして、容易化する。記憶装置４６０（１）〜（Ｎ）および記憶装置４７０（１）〜（Ｎ）のように、記憶装置４９０（１）〜（Ｎ）およびインテリジェントストレージアレイ４９５は、一般に、データおよび／または他のコンピュータ読み取り可能な命令を記憶することのできる、任意のタイプもしくは形式の記憶装置または媒体を表す。
【００５５】
ある実施形態では、図３の例示的なコンピューティングシステム３１０に関して、通信インタフェース、例えば図３に示す通信インタフェース３２２を使用して、クライアントシステム４１０，４２０，４３０のそれぞれとネットワーク４５０との間に接続能力を付与することができる。クライアントシステム４１０，４２０，４３０は、例えば、ウェブブラウザまたは他のクライアントソフトウェアを使って、サーバ４４０または４４５の情報にアクセスすることができる。このようなソフトウェアによって、クライアントシステム４１０，４２０，４３０は、サーバ４４０、サーバ４４５、記憶装置４６０（１）〜（Ｎ）、記憶装置４７０（１）〜（Ｎ）、記憶装置４９０（１）〜（Ｎ）および／またはインテリジェントストレージアレイ４９５によってホストされるデータにアクセスすることができる。図４はデータ交換のネットワーク(例えばインターネットのような)の使用を説明するものであるが、本明細書に記載および／または説明する実施形態は、インターネットまたは特定のネットワークベース環境に限定されるものではない。
【００５６】
少なくとも一つの実施形態では、本明細書に開示する一つ以上の実施例の全てまたは一部を、コンピュータプログラムとして符号化し、サーバ４４０、サーバ４４５、記憶装置４６０（１）〜（Ｎ）、記憶装置４７０（１）〜（Ｎ）、記憶装置４９０（１）〜（Ｎ）、インテリジェントストレージアレイ４９５またはそれらの任意の組み合わせにロードし、そして実行することができる。本明細書に開示する一つ以上の実施例の全てまたは一部もまた、コンピュータプログラムとして符号化し、サーバ４４０に記憶し、サーバ４４５によって実行し、そしてネットワーク４５０によってクライアントシステム４１０，４２０，４３０に分散することができる。よって、ネットワークアーキテクチャ４００は、単独で、または他の素子との組み合わせによって、本明細書に開示する検出、識別、アクセス、適用、ファイル開き、ファイル閉じ、検索、実施、ブロック、隔離、送信、更新および実行というステップのうち一つ以上のステップを行う、または行う手段とすることができる。ネットワークアーキテクチャ４００を使用して、本開示に示すその他のステップおよび機能の実行に使用する、または実行するための手段とすることができる。
【００５７】
詳細を上述したように、本明細書に記載する一つ以上のシステムは、単独で、または他の素子との組み合わせによって、本明細書に記載または説明する一つ以上の例示的な方法を実行する、または実行するための手段とすることができる。例えば、本明細書に記載するシステムは、関心イベントに関連するコンテキストメタデータに基づいて、１）関心イベントの検出するステップと、２）関心イベントに関連する少なくとも一つのファイルの識別するステップと、３）関心イベントに関連するコンテキストメタデータへのアクセスするステップと、４）関心イベントおよびコンテキストメタデータに基づき、ファイルのセキュリティスキャンを実行するか否かを決定するための基準を含む少なくとも一つのルールへのアクセスするステップと、つぎに５）このルールを適用してファイルに対してセキュリティスキャンを行うか否かを決定するステップと、を有するリアルタイムファイルスキャンを実行するか否かを決定する方法を実行することができる。
【００５８】
関心イベントは、ファイルを開く試み、ファイルを閉じる試み、またはセキュリティベンダー供給によるウィルス定義セットへの更新を表すことができる。さらに、コンテキストメタデータは、ファイルに関する情報および／またはそのファイルに関連する少なくとも一つのアプリケーションに関する情報を含むことができる。
【００５９】
ファイルに関する情報としては、ファイル名、ファイルのパス名、ファイルのタイプ、ファイル作成日、ファイルの最終更新日、ファイルのハッシュ、ファイルを読み出したまたは修正した回数、ファイルを読み出したまたは修正したアプリケーション、ファイルの使用傾向、ファイルに対して行った以前のセキュリティスキャンの結果、または他の潜在的な有用な情報を識別する情報がある。同様に、ファイルに関連するアプリケーションに関する情報としては、アプリケーション名、アプリケーションに関連するプロセス、アプリケーションの使用傾向、アプリケーションがポータルか否か、アプリケーションがネットワークアクティビティを生成するか否か、アプリケーションが既知の脆弱性を含んでいるか否か、または他の潜在的に有用な情報がある。
【００６０】
ルールは、包括的なファイルルール、包括的アプリケーションルール、ファイルの容認可能な使用傾向を識別するファイルタイプ固有ルール、またはそのファイルと関連するアプリケーションの容認可能な使用傾向を識別する特定用途向けルールを表すことができる。ルールは、さらに、コンテキストメタデータに基づいて、セキュリティスキャンを実行する際、ファイルに対して適用すべきセキュリティレベルを決定する基準を有するものとすることもできる。
【００６１】
いくつかの実施形態では、コンテキストメタデータへのアクセスには、コンテキストメタデータ・データベースからのコンテキストメタデータの検索を含めることができる。同様に、ルールへのアクセスには、ルール・データベースからのルールの検索を含めることができる。さらに、本発明方法は、セキュリティスキャンの結果に基づいて、ファイルのセキュリティ操作を行うか否かを決定するファイルのセキュリティスキャンの実行をさらに含んでいる。セキュリティ操作は、ファイルのブロック、ファイルの隔離、ファイルの削除またはそのファイルをセキュリティリスクとして識別したことをユーザーまたはセキュリティベンダーへの通知の送信を表すことができる。
【００６２】
ある実施形態では、本発明方法は、さらに、セキュリティスキャンの結果に基づくコンテキストメタデータの更新を含むことができる。いくつかの実施形態では、ファイルのセキュリティスキャンの実行は、ファイルの一部が、セキュリティベンダー供給によるウィルス定義セット内の少なくとも一つの署名に一致するか否かの決定、ファイルがセキュリティベンダー供給によるマルウェア検出ヒューリスティックをトリガするか否かの決定、および／またはバーチャル環境内におけるそのファイルの実行を含むことができる。
【００６３】
上述の開示は特定のブロック図、フローチャートおよび例を使って様々な実施形態を示したが、各ブロック図のコンポーネント、フローチャートステップ、操作および／または本明細書に記載および／または説明したコンポーネントは、広範囲のハードウェア、ソフトウェアまたはファームウェア（またはそれらの組み合わせ）を使って個別および／または包括的に実現することができる。さらに、他のコンポーネントに含まれるコンポーネントの開示はどのようなものであっても、同じ機能を達成するためにたくさんの他のアーキテクチャを実現することができるので、本来は例示的なものと考えるものとする。
【００６４】
本明細書に記載および／または説明するステップのプロセスパラメータおよびシーケンスは、ほんの一例として与えられたものであり、所望通りに変更が可能である。例えば、本明細書に記載および／または説明するステップは特定の順番に示され、論じられているが、これらのステップは、必ずしも説明または論じられている順番で実行する必要はない。本明細書に記載および／または説明する様々な例示的な方法では、本明細書に記載および／または説明する一つ以上のステップを除外してもよいし、またはこれらの開示されたものにステップを追加してもよい。
【００６５】
さらに、様々な実施形態を完全に機能的なコンピューティングシステムとして本明細書に記載および／または説明してきたが、分散を行うために実際に使用される特定の種類のコンピュータ読み取り可能な媒体に関わらず、一つ以上のこれらの実施例は、様々な形態のプログラム製品として流通させることもできる。本明細書に開示する実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使って実現することもできる。これらのソフトウェアモジュールは、コンピュータ読み取り可能な記憶媒体またはコンピューティングシステムに記憶することのできるスクリプト、バッチまたはその他の実行可能ファイルを含むことができる。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示する一つ以上の実施例を実行するコンピューティングシステムとして構成することができる。
【００６６】
上述の説明は、当業者が本明細書に記載する実施例の様々な態様を最大限に利用できるように行った。この例示的説明は網羅的、または開示した正確な形態に限定することを意図したものではない。本発明の要旨または範囲から逸脱することなく、多くの変更および改変が可能である。本明細書に記載する実施形態は、あらゆる面において例示的であり、限定するものではないと考えるべきである。添付の特許請求の範囲およびそれの等価物を参照して、本発明の範囲を決定すべきである。
【００６７】
別段に記載のない限り、明細書または請求項において、各要素は複数存在し得る。さらに、簡単のために、明細書および請求項で使用される「〜を含む」および「〜を有する」という言葉は、同じ意味を持つ言葉である「〜を備える」と置き替えることができる。
【符号の説明】
【００６８】
１００    システム
１０２    モジュール
１０４    イベント検出モジュール
１０６    ルール適用モジュール
１０８    セキュリティモジュール
１１０    メタデータ更新モジュール
１２０    データベース
１２２    コンテキストメタデータ
３１０    コンピューティングシステム
３１２    通信インフラ
３１４    プロセッサ
３１６    システムメモリ
３１８    メモリコントローラ
３２０    Ｉ／Ｏコントローラ
３２２    通信インタフェース
３２４    ディスプレイ装置
３２６    ディスプレイアダプタ
３２８    入力装置
３３０    入力インタフェース
３３２    主記憶装置
３３３    バックアップ記憶装置
３３４    記憶インタフェース
４００    ネットワークアーキテクチャ
４１０、４２０、４３０    クライアント
４４０、４４５  サーバ
４５０    ネットワーク
４６０（１）〜４６０（Ｎ）、４７０（１）〜４７０（Ｎ）、  ４９０（１）〜４９０（Ｎ）  装置
４８０    ＳＡＮファブリック
４９５    インテリジェント記憶アレイ
【図１】
2010160791.tif 000003
【図２】
2010160791.tif 000004
【図３】
2010160791.tif 000005
【図４】
2010160791.tif 000006
【外国語明細書】
2010160791000001.pdf