(57)【要約】  様々な実施形態では、デジタルデバイス上のエージェントは、モニタモジュール、アプリケーション識別モジュール、脆弱性モジュール、規則データベース、及び規則モジュールを含むことができる。モニタモジュールは、正規のアプリケーションを実行する命令に関してデバイスをモニタするように構成することができる。アプリケーション識別モジュールは、正規のアプリケーションの１つ又はそれよりも多くの属性を識別するように構成することができる。脆弱性モジュールは、正規のアプリケーションの１つ又はそれよりも多くの属性に基づいてリスク情報を取り出すように構成することができる。リスク情報は、正規のアプリケーションの公知の脆弱性から決定することができる。規則データベースは、リスク情報に関連付けられた規則を格納するためのものである場合がある。規則モジュールは、リスク情報に基づいて規則データベースから規則を取り出し、かつ規則に基づいて正規のアプリケーションを制御するように構成することができる。【選択図】      図２
2016513324.tif 000002
【特許請求の範囲】
【請求項１】
正規のアプリケーションを実行する命令に関してデバイスをモニタするように構成されたモニタモジュールと、
前記正規のアプリケーションの１つ又はそれよりも多くの属性を識別するように構成されたアプリケーション識別モジュールと、
前記正規のアプリケーションの公知の脆弱性から決定されるリスク情報を該正規のアプリケーションの前記１つ又はそれよりも多くの属性に基づいて取り出すように構成された脆弱性モジュールと、
前記リスク情報に関連付けられた規則を格納するための規則データベースと、
前記リスク情報に基づいて前記規則データベースから前記規則を取り出し、かつ該規則に基づいて前記正規のアプリケーションを制御するように構成された規則モジュールと、
を含むことを特徴とするエージェント。
【請求項２】
前記規則に基づいて前記正規のアプリケーションを制御するように構成された前記規則モジュールは、該規則に基づいて該正規のアプリケーションが実行されることを阻止する段階を含むことを特徴とする請求項１に記載のエージェント。
【請求項３】
前記規則に基づいて前記正規のアプリケーションを制御するように構成された前記規則モジュールは、該規則に基づいて該正規のアプリケーションが実行されることを許す段階を含むことを特徴とする請求項１に記載のエージェント。
【請求項４】
前記規則に基づいて前記正規のアプリケーションを制御するように構成された前記規則モジュールは、該規則に基づいて該正規のアプリケーションが実行されることを許すが、該規則に基づいて該正規のアプリケーションの一部の機能が実行されることを阻止する段階を含むことを特徴とする請求項１に記載のエージェント。
【請求項５】
前記正規のアプリケーションを実行する命令に関して前記デバイスをモニタするように構成された前記モニタモジュールは、該モニタモジュールが該デバイスのオペレーティングシステムに又はそこから提供されている命令を傍受する段階を含むことを特徴とする請求項１に記載のエージェント。
【請求項６】
前記属性は、アプリケーション識別子であることを特徴とする請求項１に記載のエージェント。
【請求項７】
前記属性は、アプリケーションバージョン識別子であることを特徴とする請求項１に記載のエージェント。
【請求項８】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性が予め決められた日付の前に公に開示されたことを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１に記載のエージェント。
【請求項９】
前記予め決められた日付は、現在の日付の前の期間に発生するものとして計算されることを特徴とする請求項８に記載のエージェント。
【請求項１０】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性の公開突破口が存在することを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１に記載のエージェント。
【請求項１１】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性が予め決められた期間の前に識別されたことを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１に記載のエージェント。
【請求項１２】
前記規則は、前記デバイス上の複数の異なる正規のアプリケーションに適用可能であることを特徴とする請求項１に記載のエージェント。
【請求項１３】
前記規則モジュールは、前記リスク情報に各々が関連付けられた複数の規則を前記規則データベースから取り出すように構成されることを特徴とする請求項１に記載のエージェント。
【請求項１４】
前記規則に基づいて前記正規のアプリケーションを制御するように構成された前記規則モジュールは、前記複数の規則のうちの最も厳しい規則に基づいて該正規のアプリケーションを制御する段階を含むことを特徴とする請求項１３に記載のエージェント。
【請求項１５】
前記リスク情報は、リスク値を含み、前記規則は、該リスク値に基づく前記アプリケーションの制御に関する命令を含むことを特徴とする請求項１に記載のエージェント。
【請求項１６】
正規のアプリケーションを実行する命令に関してデバイスをモニタする段階と、
前記正規のアプリケーションの１つ又はそれよりも多くの属性を識別する段階と、
前記正規のアプリケーションの公知の脆弱性から決定されるリスク情報を該正規のアプリケーションの前記１つ又はそれよりも多くの属性に基づいて取り出す段階と、
前記リスク情報に関連付けられた規則を格納する段階と、
前記リスク情報に基づいて規則データベースから前記規則を取り出す段階と、
前記規則に基づいて前記正規のアプリケーションを制御する段階と、
を含むことを特徴とする方法。
【請求項１７】
前記規則に基づいて前記正規のアプリケーションを制御する段階は、該規則に基づいて該正規のアプリケーションが実行されることを阻止する段階を含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記規則に基づいて前記正規のアプリケーションを制御する段階は、該規則に基づいて該正規のアプリケーションが実行されることを許す段階を含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記規則に基づいて前記正規のアプリケーションを制御する段階は、該規則に基づいて該正規のアプリケーションが実行されることを許すが、該規則に基づいて該正規のアプリケーションの一部の機能が実行されることを阻止する段階を含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
前記正規のアプリケーションを実行する命令に関して前記デバイスをモニタする段階は、該デバイスのオペレーティングシステムに又はそこから提供されている命令を傍受する段階を含むことを特徴とする請求項１６に記載の方法。
【請求項２１】
前記属性は、アプリケーション識別子であることを特徴とする請求項１６に記載の方法。
【請求項２２】
前記属性は、アプリケーションバージョン識別子であることを特徴とする請求項１６に記載の方法。
【請求項２３】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性が予め決められた日付の前に公に開示されたことを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１６に記載の方法。
【請求項２４】
前記予め決められた日付は、現在の日付の前の期間に発生するものとして計算されることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性の公開突破口が存在することを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１６に記載の方法。
【請求項２６】
前記規則は、リスク情報が、前記正規のアプリケーションに関連付けられた脆弱性が予め決められた期間の前に識別されたことを少なくとも部分的に示す場合に、該正規のアプリケーションの前記実行の全部又は一部を阻止する命令を含むことを特徴とする請求項１６に記載の方法。
【請求項２７】
前記規則は、前記デバイス上の複数の異なる正規のアプリケーションに適用可能であることを特徴とする請求項１６に記載の方法。
【請求項２８】
前記規則を取り出す段階は、前記リスク情報に各々が関連付けられた複数の規則を前記規則データベースから取り出す段階を含むことを特徴とする請求項１６に記載の方法。
【請求項２９】
前記規則に基づいて前記正規のアプリケーションを制御する段階は、前記複数の規則のうちの最も厳しい規則に基づいて該正規のアプリケーションを制御する段階を含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記リスク情報は、リスク値を含み、前記規則は、該リスク値に基づく前記アプリケーションの制御に関する命令を含むことを特徴とする請求項１６に記載の方法。
【請求項３１】
持続性コンピュータ可読媒体であって、
方法を実行するためにプロセッサによって実行可能な命令、
を含み、
前記方法は、
正規のアプリケーションを実行する命令に関してデバイスをモニタする段階、
前記正規のアプリケーションの１つ又はそれよりも多くの属性を識別する段階、
前記正規のアプリケーションの公知の脆弱性から決定されるリスク情報を該正規のアプリケーションの前記１つ又はそれよりも多くの属性に基づいて取り出す段階、
前記リスク情報に関連付けられた規則を格納する段階、
前記リスク情報に基づいて規則データベースから前記規則を取り出す段階、及び
前記規則に基づいて前記正規のアプリケーションを制御する段階、
を含む、
ことを特徴とする媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
〔権利表示〕
本特許文書の開示の一部分は、権利保護の対象である内容を含む。権利所有者は、米国特許庁の特許ファイル又は記録に表される通りに第三者が特許文書又は特許開示を複製することに異議を唱えないが、それ以外は全ての権利を留保する。
【０００２】
本発明は、一般的にアプリケーション制御に関する。より具体的には、本発明は、リスクベースの規則を利用してアプリケーションを制御するためのシステム及び方法に関する。
【背景技術】
【０００３】
最新のコンピュータ攻撃の傾向は、家庭及び企業ネットワークのソフトウエア脆弱性をターゲットにするものである。これらのクライアント側攻撃は、サイバー犯罪者にとって有益であることが証明されている。サーバは、エンドユーザ対話が少なく、ワークステーションよりも高度に守られる傾向があるので、クライアントは、サーバよりも容易なターゲットである。従って、これらのクライアント側攻撃は、ハッカーが求めている手の届く高さにある果物を提供している。エンドユーザをターゲットにすることにより、ハッカーは、多数のコンピュータへのより容易なアクセスを獲得し、それによって最少量の努力で大きい成果を生んでいる。ワークステーションのクライアントアプリケーションにおける単一の脆弱性は、同じネットワーク上のより重要な情報資産へのアクセスを提供する場合がある。クライアント側の突破口は、従って、そうでなければ周辺防御によって保護されて内部ネットワークを通じてのみアクセス可能である他のワークステーション又はサーバに対する攻撃の拠点として欠陥のあるワークステーションを利用する可能性がある。
【０００４】
クライアント側突破口は、ウェブブラウザ、電子メールアプリケーション、及びメディアプレーヤ（例えば、インターネットエクスプローラ、Ｆｉｒｅｆｏｘ、マイクロソフトアウトルック、マイクロソフトメディアプレーヤ、及びＲｅａｌＮｅｔｗｏｒｋｓのＲｅａｌＰｌａｙｅｒ）のようなクライアントソフトウエアにおける脆弱性を利用するものである。クライアント側突破口は、クライアントアプリケーションによって使用されるシステムワイドライブラリにおける脆弱性も悪用する可能性がある。例えば、ＪＰＥＧ画像を表示する画像ライブラリにおける脆弱性は、ウェブブラウザ又は電子メールアプリケーションを通じて悪用可能である場合がある。クライアント側突破口は、ファイヤウォール及びウェブプロキシのような従来の周辺防御によっては阻止されない。ＳＡＮＳ研究所（ｈｔｔｐ：／／ｗｗｗ．ｓａｎｓ．ｏｒｇ）及び他の業界団体によってモニタされている傾向は、クライアント側脆弱性が２００５年にサーバ側脆弱性を相殺し始めたことを示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許非仮出願出願番号第１２／５７１，２３１号明細書
【非特許文献】
【０００６】
【非特許文献１】ＳＡＮＳ研究所（ｈｔｔｐ：／／ｗｗｗ．ｓａｎｓ．ｏｒｇ）
【発明の概要】
【課題を解決するための手段】
【０００７】
様々な実施形態において、方法は、複数の記録の各々が、異なる実行ファイルの実行又は終了中に行われ、かつ異なる実行ファイルの実行又は終了に関連する情報を含む複数の記録を第１デジタルデバイスから受信する段階と、少なくとも１つのセグメントが、複数の記録のうちの少なくとも１つの全てよりも少なく、セグメントが、異なる実行ファイルに関連するアプリケーション又はファイル属性を含む少なくとも１つのセグメントを複数の記録のうちの少なくとも１つから取り出す段階と、アプリケーション又はファイル属性と脆弱性データベースを比較する段階と、比較に基づいてリスクを識別する段階と、リスクを識別する報告を発生する段階とを含む。
【０００８】
様々な実施形態において、複数の記録は、異なる実行ファイルに関連付けられたログファイルを含む。アプリケーション又はファイル属性は、例えば、アプリケーション又はファイルバージョン、実行時間、又は呼出し処理を含むことができる。
【０００９】
本方法は、複数の記録のうちの少なくとも１つのタイプを識別する段階と、複数の記録のうちの少なくとも１つの識別されたタイプに基づいて記録情報データベースから記録情報を取り出す段階と、複数の記録のうちの少なくとも１つ内の少なくとも１つのセグメントの位置を識別する段階とを更に含むことができ、少なくとも１つのセグメントを取り出す段階は、識別された位置から少なくとも１つのセグメントを取り出す段階を含む。
【００１０】
一部の実施形態において、本方法は、脆弱性データベースとのアプリケーション又はファイル属性の比較が発生することになる時をスケジュールする段階と、スケジュールに基づいて脆弱性データベースに対してアプリケーション又はファイル属性を比較することを待つ段階とを更に含む。様々な実施形態において、本方法は、複数の記録を認証する段階を更に含み、アプリケーション又はファイル属性は、認証が成功した後にのみ脆弱性データベースと比較される。
【００１１】
脆弱性データベースに対してアプリケーション又はファイル属性を比較する段階は、ホワイトリストに対してアプリケーション又はファイル属性を比較する段階を含むことができる。一部の実施形態において、脆弱性データベースに対してアプリケーション又はファイル属性を比較する段階は、ブラックリストに対してアプリケーション又はファイル属性を比較する段階を含むことができる。様々な実施形態において、脆弱性データベースに対してアプリケーション又はファイル属性を比較する段階は、疑わしいアプリケーション又はファイルに関連付けられたアプリケーション又はファイル属性を含むグレイリストに対してアプリケーション又はファイル属性を比較する段階を含むことができる。
【００１２】
本方法は、グレイリストに対するアプリケーション又はファイル属性の比較に基づいてリスク値を決定する段階と、リスク値に基づいて警報を提供する段階とを更に含むことができる。更に、本方法はまた、ユーザ閾値に対してリスク値を比較する段階を含むことができ、リスク値に基づいて警報を提供する段階は、この比較に基づいて警報を提供する段階を含む。
【００１３】
例示的なシステムは、通信モジュールと、情報取り出しモジュールと、評価モジュールと、報告モジュールとを含む。通信モジュールは、第１デジタルデバイスから複数の記録を受信するように構成することができ、複数の記録の各々は、異なる実行ファイルの実行又は終了中に行われ、異なる実行ファイルの実行又は終了に関連する情報を含む。情報取り出しモジュールは、複数の記録のうちの少なくとも１つから少なくとも１つのセグメントを取り出すように構成することができ、少なくとも１つのセグメントは、複数の記録のうちの少なくとも１つの全てよりも少なく、セグメントは、異なる実行ファイルに関連するアプリケーション又はファイル属性を含む。評価モジュールは、脆弱性データベースに対してアプリケーション又はファイル属性を比較し、かつ比較に基づいてリスクを識別するように構成することができる。報告モジュールは、リスクを識別する報告を発生するように構成することができる。
【００１４】
コンピュータ可読媒体は、実行可能命令を含むことができる。コンピュータ可読媒体は、持続性とすることができる。命令は、方法を実行するためにプロセッサによって実行可能である。本方法は、異なる実行ファイルの実行又は終了中に行われ、かつ異なる実行ファイルの実行又は終了に関連する情報を各々が含む複数の記録を第１デジタルデバイスから受信する段階と、複数の記録のうちの少なくとも１つの全てよりも少なく、異なる実行ファイルに関連するアプリケーション又はファイル属性を含む少なくとも１つのセグメントを複数の記録のうちの少なくとも１つから取り出す段階と、脆弱性データベースに対してアプリケーション又はファイル属性を比較する段階と、比較に基づいてリスクを識別する段階と、リスクを識別する報告を発生する段階とを含むことができる。
【００１５】
様々な実施形態では、デジタルデバイス上のエージェントは、モニタモジュール、アプリケーション識別モジュール、脆弱性モジュール、規則データベース、及び規則モジュールを含むことができる。モニタモジュールは、正規のアプリケーションを実行する命令に関してデバイスをモニタするように構成することができる。アプリケーション識別モジュールは、正規のアプリケーションの１つ又はそれよりも多くの属性を識別するように構成することができる。脆弱性モジュールは、正規のアプリケーションの１つ又はそれよりも多くの属性に基づいてリスク情報を取り出すように構成することができる。リスク情報は、正規のアプリケーションの公知の脆弱性から決定することができる。規則データベースは、リスク情報に関連付けられた規則を格納するためのものである場合がある。規則モジュールは、リスク情報に基づいて規則データベースから規則を取り出し、かつ規則に基づいて正規のアプリケーションを制御するように構成することができる。
【００１６】
一部の実施形態では、規則に基づいて正規のアプリケーションを制御するように構成された規則モジュールは、規則に基づいて正規のアプリケーションが実行されることを阻止する段階、規則に基づいて正規のアプリケーションが実行されることを可能にする段階、又は規則に基づいて正規のアプリケーションが実行されることを可能にするが、規則に基づいて正規のアプリケーションの一部の機能が実行されないように阻止する段階を含むことができる。
【００１７】
正規のアプリケーションを実行する命令に関してデバイスをモニタするように構成されたモニタモジュールは、モニタモジュールがデバイスのオペレーティングシステムに又はそこから提供されている命令を傍受する段階を含むことができる。属性は、アプリケーション識別子とすることができる。属性は、アプリケーションバージョン識別子とすることができる。
【００１８】
様々な実施形態では、規則は、正規のアプリケーションに関連付けられた脆弱性が予め決められた日付前に公に開示されたことをリスク情報が少なくとも部分的に示す場合に、正規のアプリケーションの実行の全て又は一部を阻止する命令を含む。予め決められた日付は、現在の日付の前の期間に又はいずれかの与えられた日付の前に発生するものとして計算することができる。
【００１９】
一部の実施形態では、規則は、正規のアプリケーションに関連付けられた脆弱性の公開突破口が存在することをリスク情報が少なくとも部分的に示す場合に、正規のアプリケーションの実行の全て又は一部を阻止する命令を含む。
【００２０】
様々な実施形態では、規則は、正規のアプリケーションに関連付けられた脆弱性が予め決められた期間の前に識別されたことをリスク情報が少なくとも部分的に示す場合に、正規のアプリケーションの実行の全部または一部を阻止する命令を含む。規則は、デバイス上の複数の異なる正規のアプリケーションに適用可能である場合がある。規則モジュールは、リスク情報に各々が関連付けられた複数の規則を規則データベースから取り出すように構成することができる。規則に基づいて正規のアプリケーションを制御するように構成された規則モジュールは、複数の規則のうちの最も厳しい規則に基づいて正規のアプリケーションを制御する段階を含むことができる。
【００２１】
リスク情報は、リスク値を含むことができ、規則は、リスク値に基づくアプリケーションの制御に関する命令を含む。
【００２２】
例示的な方法は、正規のアプリケーションを実行する命令に関してデバイスをモニタする段階、正規のアプリケーションの１つ又はそれよりも多くの属性を識別する段階、正規のアプリケーションの１つ又はそれよりも多くの属性に基づいて、正規のアプリケーションの公知の脆弱性から決定されるリスク情報を取り出す段階、リスク情報に関連付けられた規則を格納する段階、リスク情報に基づいて規則データベースから規則を取り出す段階、及び規則に基づいて正規のアプリケーションを制御する段階を含むことができる。
【００２３】
例示的な持続性コンピュータ可読媒体は、方法を実行するためにプロセッサによって実行可能な命令を含むことができる。例示的な方法は、正規のアプリケーションを実行する命令に関してデバイスをモニタする段階、正規のアプリケーションの１つ又はそれよりも多くの属性を識別する段階、正規のアプリケーションの１つ又はそれよりも多くの属性に基づいて、正規のアプリケーションの公知の脆弱性から決定されるリスク情報を取り出す段階、リスク情報に関連付けられた規則を格納する段階、リスク情報に基づいて規則データベースから規則を取り出す段階、及び規則に基づいて正規のアプリケーションを制御する段階を含むことができる。
【図面の簡単な説明】
【００２４】
【図１】従来技術における脆弱性状態に符合するターゲットの能動ネットワーク走査のための流れ図である。
【図２】一部の実施形態における例示的環境を示すブロック図である。
【図３】一部の実施形態においてユーザデバイス上のアプリケーション事象を説明し、かつ脆弱性データベースに対して収集の異なる部分を比較する情報の収集のための流れ図である。
【図４】一部の実施形態におけるユーザデバイスエージェントのブロック図である。
【図５】一部の実施形態におけるセキュリティ評価サーバのブロック図である。
【図６】一部の実施形態におけるユーザデバイスによる記録の収集及び準備のための流れ図である。
【図７】一部の実施形態においてホワイトリスト、ブラックリスト、及び／又はグレイリストに対して収集内に含まれるセグメントを比較して脆弱性を報告するための流れ図である。
【図８】一部の実施形態においてセキュリティ評価サーバによって発生される例示的な報告を示す図である。
【図９】例示的なデジタルデバイスのブロック図である。
【図１０】一部の実施形態におけるユーザデバイスのブロック図である。
【図１１】一部の実施形態においてユーザデバイス上とすることができるエージェントのブロック図である。
【図１２】一部の実施形態においてユーザデバイスのエージェントと通信することができるセキュリティサーバのブロック図である。
【図１３】一部の実施形態においてリスク情報及び規則に基づいてアプリケーションの実行を制御するための流れ図である。
【図１４】一部の実施形態においてリスク情報及び規則を更新するための流れ図である。
【図１５】一部の実施形態において正規のアプリケーションの脆弱性を識別する例示的な脆弱性インタフェースを示す図である。
【図１６】一部の実施形態においてセキュリティサーバによって発生させた例示的な報告を示す図である。
【発明を実施するための形態】
【００２５】
図１は、従来技術における脆弱性状態に符合するターゲットの能動ネットワーク走査のための流れ図１００である。走査ターゲットの従来の脆弱性評価は、ターゲットハードウエア及びソフトウエアの構成又は状態を監査する一連の試験を開始することになる。これらの検査は、紛失パッチ又は安全でない構成のような脆弱性を試験することになる。これらの試験の部分集合は、典型的には、ターゲット機械上にインストールされたソフトウエア及びクライアントアプリケーションを調べる。ファイルシステム、レジストリ、及び構成ファイルを調べることにより、スキャナは、アプリケーション（例えば、インターネットエクスプローラ、Ｆｉｒｅｆｏｘ、マイクロソフトアウトフック、マイクロソフトメディアプレーヤ、及びＲｅａｌＮｅｔｗｏｒｋｓのＲｅａｌＰｌａｙｅｒ）の旧式バージョンを検出することができる。典型的には、これらの能動試験は、インストールされたアプリケーションを調べて以下を識別することになる。
・アプリケーション名
・アプリケーションの発行者
・ファイル名
・ファイル位置／経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム（ＭＤ５、ＳＨＡ−１、その他）
・デジタル署名
【００２６】
この情報から、脆弱性スキャナは、公知の脆弱性のデータベースを検索し、インストールされたアプリケーションが公知の脆弱性に関連付けられるかを調べる。次に、脆弱性スキャナのユーザに規範的ガイダンスが提供される。
【００２７】
流れ図１００は、従来技術におけるターゲットのネットワーク走査の例示的な処理である。段階１０２では、走査サーバが、走査ターゲットを選択する。走査ターゲットは、走査をサポートするように構成されたあらゆるデジタルデバイスとすることができる。一例では、デジタルデバイスは、走査ソフトウエアと、走査を指令することができるセントラルサーバに応答する少なくとも１つのエージェントとをインストールしておくべきである。デジタルデバイスは、プロセッサ及びメモリを備えたあらゆるデバイスである。
【００２８】
段階１０４では、走査サーバは、利用可能な走査ターゲットを決定することができる。走査サーバは、典型的には、ネットワーク走査のスケジューリングを必要とする。走査は、一般的に、走査がデジタルデバイスの性能を低下させるのでターゲットデジタルデバイスが使用されない時に行われる。残念ながら、多くのデジタルデバイスが使用されない時に、それらは、停止される場合があり（すなわち、ネットワークに利用できない）、この結果、接続されていない及び／又は給電されていないデジタルデバイスは走査できない。
【００２９】
段階１０６では、走査サーバは、ターゲットデジタルデバイスの利用可能度を決定する。ターゲットデジタルデバイスがネットワークにあり、かつ走査のためのリソースを有する場合に（例えば、ターゲットデジタルデバイスが、朝の午前３時に利用可能であり、及び／又は予め決められた期間にわたってユーザによって使用されていない）、走査サーバは、段階１０８でネットワークを通じて走査ターゲット（ターゲットデジタルデバイスなど）に接続することができる。ターゲットデジタルデバイスが利用できない場合に、処理は、段階１１８で終了するか又は別の時間に再スケジュールすることができ、それによって走査サーバは、ここでもまた、ターゲットデジタルデバイスが利用可能であるかを決定しなければならない（段階１０６を参照されたい）。
【００３０】
走査サーバが段階１１０でターゲットデジタルデバイスへの接続に成功した場合に、走査サーバは、ターゲットデジタルデバイスを直接に走査することができ、又は段階１１２でターゲットデジタルデバイスのセルフスキャンをトリガすることができる（すなわち、ターゲットに問い合わせる）。接続が成功しなかった場合に、処理は、段階１１８で終了し、走査が再スケジュールされる。
【００３１】
走査中に、アプリケーション、ファイル、及びレジストリは、直接に調べられてアプリケーション及びファイルを識別することができる。情報は、取り出されて公知の脆弱性のデータベースに対して比較される。脆弱性状態の符合が段階１１４で決定された場合に、走査サーバ又はターゲットデジタルデバイスは、段階１１６で発見を報告することができる。符合が見出されなかったか又は報告が発生された場合に、走査サーバは、追加の検査が必要であるか否かを段階１２０で決定することができる。追加の検査が必要である場合に、処理は、再走査するか又は追加の走査（ターゲットデジタルデバイスが利用可能である場合）を段階１１２で実行する。追加の検査が必要ない場合に、処理は、段階１１８で終了する。
【００３２】
図２は、一部の実施形態おける例示的環境２００のブロック図である。様々な実施形態において、異なるデジタルデバイスは、通信ネットワーク２０４上でセキュリティ評価システム２０２と通信する。本明細書で説明するように、デジタルデバイスは、プロセッサ及びメモリを備えたあらゆるデバイスである。デジタルデバイスを本明細書では図９に関して更に説明する。様々な実施形態において、異なるデジタルデバイス（例えば、スマートフォン２０５、タブレットデバイス２０８、ラップトップ２１０、ネットワークデバイス２１２、ＰＣ２１４、Ｕｎｉｘ（登録商標）サーバ２１６、及びＷｉｎｄｏｗｓ（登録商標）サーバ２１８）は、１つ又はそれよりも多くのアプリケーション又はファイルの１つ又はそれよりも多くのインスタンスの実行又は終了に関する記録（ログ又は他の情報など）を発生させることができる。多くの第三者アプリケーションは、様々な目的のために記録（例えば、ログ）を発生させることができる。記録は、１つ又はそれよりも多くの実行ファイルの１つ又はそれよりも多くのインスタンスの実行又は終了中に発生させることができる。一例では、記録は、実行可能インスタンスの実行又は終了中に発生させることができる。実行ファイルは、走査及び／又はセキュリティに関連しない場合がある。記録は、実行ファイル、システム呼出し、又は実行ファイルのバージョンなどの性能を追跡するために作成することができる。実行ファイルのインスタンスは、記録の作成を開始しなくてもよく、記録の開始及び作成は、実行可能インスタンスの機能に関連しない場合がある。
【００３３】
セキュリティ評価システム２０２は、記録（１つ又はそれよりも多くの第三者アプリケーションの記録を含む）を受信し、記録の中から関連情報を取り出し、かつ各デバイスを能動的に走査する必要なく潜在的な脆弱性を識別するように構成することができる。様々な実施形態において、異なるデジタルデバイスの脆弱性は、走査されるデジタルデバイスの性能を低下させ、エンドユーザの協働を要求することがある（例えば、デジタルデバイスを走査のためにネットワークに接続する及び／又は走査を中断せずに走査中にデジタルデバイスに給電し続けるために）従来技術に説明した能動的脆弱性走査をスケジュールすることなく検出することができる。
【００３４】
様々な実施形態において、記録は、あらゆる時間にデジタルデバイス上のあらゆる数のアプリケーションによって発生させることができる。同様に、記録は、あらゆる時間にセキュリティ評価システム２０２に提供することができる。セキュリティ評価システム２０２は、記録から関連情報を取り出し、取り出した情報をホワイトリスト、ブラックリスト、グレイリスト、及び／又は他の情報のような脆弱性データ構造と比較して脆弱性を検出することができる。一部の実施形態において、ホワイトリストは、公知の優良なアプリケーション及びファイルの識別子のデータ構造であり、ブラックリストは、公知の脆弱なアプリケーション及びファイルの識別子のデータ構造であり、グレイリストは、疑わしいアプリケーション及びファイルの識別子のデータ構造である。様々な実施形態において、セキュリティ評価システム２０２は、デジタルデバイスをスケジュールされたシステム全体の走査に利用することができる日付及び時間のみとは対照的に、あらゆる時間に脆弱性を検出することができる。更に、セキュリティ評価システム２０２は、スケジュールされた時間にデジタルデバイスの利用可能度を必要とすることなく脆弱性を検出することができ、かつデジタルデバイスが従来技術に説明するようにアプリケーション及びファイルに関して走査されないと考えられるので、デジタルデバイスの性能作動を乱すことは少ないと考えられる。
【００３５】
一部の実施形態において、セキュリティ評価システム２０２にデジタルデバイスの１つ又はそれよりも多くの記録を定期的に提供することは、ネットワークターゲットの従来の走査がスケジュールかつ実施される前に脆弱性の検出及び識別をもたらすことができる。例えば、セキュリティ評価システム２０２の限界は、脆弱性の記録を調べるためのリソースの利用可能度である場合がある。しかし、セキュリティ評価システム２０２は、場合によってはあらゆる時間に脆弱性を検出及び／又は識別することができるクラウドコンピュータ及び／又はあらゆる数のデジタルデバイスを含むことができる。しかし、従来の走査システムは、走査がスケジュールされた時間に走査されるデジタルデバイスの利用可能度、走査中のデジタルデバイス上のリソース利用、走査の持続時間に対するネットワーク接続性、ネットワーク輻輳、及びサーバリソースに基づいて制限される場合がある。これら及び他の制限、並びにデジタルデバイスのネットワーク走査の実用性のために、従来技術で説明したネットワーク走査は定期的にスケジュールされる（例えば、１週間に一度）。その結果、従来技術では、脆弱性は、その時間フレームでしか検出できない。当業者は、多くの脆弱性が悪用され、ネットワークがネットワーク走査中に障害を受けるが、セキュリティ評価システム２０２による記録のセキュリティ評価は、比較的迅速に脆弱性を検出及び／又は識別することができることを認めるであろう。
【００３６】
図２００の環境は、通信ネットワーク２０４上で通信するセキュリティ評価システム２０２、スマートフォン２０６、タブレットデバイス２０８、ネットワークデバイス２１２、ラップトップ２１０、ＰＣ２１４、ＵＮＩＸサーバ２１６、Ｗｉｎｄｏｗｓサーバ２１８、及びセキュリティ管理システム２２０を含む。ログのような記録は、スマートフォン２０６、タブレットデバイス２０８、ネットワークデバイス２１２、ラップトップ２１０、ＰＣ２１４、ＵＮＩＸサーバ２１６、Ｗｉｎｄｏｗｓサーバ２１８、セキュリティ評価システム２０２のうちの１つ又はそれよりも多くによって発生させることができる。一例では、記録又はログは、リソース利用、処理呼出し、及びアプリケーションインスタンスの作動のレビューを可能にするために発生させることができる。記録又はログは、デジタルデバイスのあらゆるアプリケーション又はエージェントによって発生させることができる。
【００３７】
セキュリティ評価システム２０２は、記録から関連情報を取り出し、関連情報を利用して脆弱性を検出及び／又は識別することができる。セキュリティ評価システム２０２は、様々な実施形態において、検出及び／又は識別された脆弱性に基づいて報告及び／又は警報を発生させることができる。
【００３８】
記録は、構成、処理呼出し、例外処理、実行時間、呼出し処理、実行に必要なファイルの名前、ファイルタイプ、ファイルバージョン、アプリケーションタイプ、及び／又はアプリケーションバージョンなどを含むアプリケーションのインスタンスに関連する情報を含むことができる。記録は、アプリケーション又は実行ファイルのインスタンスに関連付けられた１つ又はそれよりも多くの処理のような情報を要約又は追跡するために発生させることができる。
【００３９】
一例では、デジタルデバイスは、デジタルデバイスによって実行される１つ又はそれよりも多くのアプリケーションのインスタンスに各々が関連付けられた異なるログを発生させることができる。当業者は、ログのような記録は、セキュリティに関連付けられない（例えば、脆弱性の検出及び識別に関連付けられない）目的のために多くのアプリケーションインスタンスに対して多くの異なるデバイスで発生されることが多いことを認めるであろう。例えば、ログの１つ又はそれよりも多くの主な目的は、構成、処理効率、性能、バックアップ、及び／又はアプリケーションインスタンスのエラー処理のレビューを可能にすることである。一部の記録又はログは、必要でない限りデジタルデバイスに留まることができる（例えば、永久に又は一時的に格納することができる）。デジタルデバイスの１つ又はそれよりも多くの他のアプリケーションは、アプリケーションインスタンス（例えば、ソフトウエア発行者）又はネットワーク管理者に関連付けられた１つ又はそれよりも多くの異なる第三者にログを提供するように構成することができる。
【００４０】
様々な実施形態において、１つ又はそれよりも多くの記録の複製は、評価のためにセキュリティ評価システム２０２に提供することができる。１つ又はそれよりも多くの記録は、セキュリティ関連ではないアプリケーションによってあらゆる時間に発生させることができ、記録は、セキュリティ関連の目的で発生させなくてもよい。一部の実施形態において、セキュリティ評価システム２０２に提供される複数の記録のうちの１つ又はそれよりも多くの記録は、セキュリティアプリケーションによって及び／又はセキュリティ関連のために発生させることができる。一部の実施形態において、セキュリティ情報及び事象管理システム（ＳＩＥＭ）は、ログを収集して一本化し、サーバに提供することができる。
【００４１】
セキュリティ評価システム２０２は、あらゆる時間に通信ネットワーク２０４に結合されたあらゆる数のデジタルデバイスからも１つ又はそれよりも多くの記録を受信することができる。同様に、セキュリティ評価システム２０２は、受信した時間に又はセキュリティ評価システム２０２のリソースの利用可能度に基づいて記録を評価し、１つ又はそれよりも多くの記録の全部又は一部の評価を実行することができる。セキュリティ評価システム２０２は、必要な時に報告及び／又は警報を発生させることができる。
【００４２】
一例では、ラップトップ２１０が最初に脆弱プログラム（例えば、ブラウザ）をインストールした時に、インストール処理の記録を発生させることができる（例えば、インストールアプリケーションのインスタンス中のインストール処理をログするために記録が発生される）。記録は、セキュリティ評価システム２０２に提供することができ、セキュリティ評価システム２０２は、記録からインストールされたプログラムのバージョン情報（すなわち、関連情報）を取り出してインストールされたプログラムのバージョン情報をブラックリスト（すなわち、公知の脆弱性のリスト）と比較することができる。セキュリティ評価システム２０２は、脆弱性を識別する警報又は報告を発生し、この警報及び／又は報告をラップトップ２１０及び／又はセキュリティ管理システム２２０のユーザに提供することができる。この例では、脆弱なブラウザは、脆弱性を決定するために実行する必要はない。システム管理者又はラップトップ２１０のユーザは、脆弱プログラムが識別される前に（従来技術に説明するように）スケジュールされたネットワーク走査まで待つ必要はない。
【００４３】
当業者は、ユーザデバイス、サーバ、ネットワークデバイス、又はあらゆるデバイスが、セキュリティ評価システム２０２によって評価される記録を提供することができることを認めるであろう。ユーザデジタルデバイスは、例えば、スマートフォン２０６、タブレットデバイス２０８、ラップトップ２１０、及びＰＣ２１４を含む。スマートフォン２０６は、ネットワーク通信ができるあらゆる電話（例えば、デジタル電話又は携帯電話）とすることができる。タブレットデバイス２０８は、ネットワーク通信ができる電子読取器、タブレット、又はメディアプレーヤなどのようなあらゆる媒体デバイスを含むことができる。ラップトップ２１０は、ネットワーク通信ができるあらゆるコンピュータ又は移動デバイスである（例えば、ウルトラブック、ネットブック、ノートブック、又はラップトップなど）。様々な実施形態は、ネットワーク上で通信して記録を提供することができるあらゆる消費者電子デバイス（ビジネスユーザ又は家庭ユーザのいずれかのための）を含むことができる。
【００４４】
ネットワークデバイス２１２は、ネットワーク管理又は制御のために構成されたあらゆるデバイスとすることができる。ネットワークデバイスの例は、以下に限定されるものではないが、ルータ、ブリッジ、ネットワーク機器、ホットスポット、アクセスポイント、又はファイヤウォールなどを含む。当業者は、ネットワークデバイス２１２が、ネットワークデバイス２１２の脆弱性の評価又はネットワークデバイス２１２を利用するデバイス（例えば、ラップトップ２１０）による脆弱性の評価のためにセキュリティ評価システム２０２に提供することができる記録又は他の情報を発生させることができることを認めるであろう。
【００４５】
Ｕｎｉｘサーバ２１６及びＷｉｎｄｏｗｓサーバ２１８は例示的なものである。オペレーティング又はファイルシステムにかかわらず、通信ネットワーク２０４のような１つ又はそれよりも多くのネットワークをサポートするように構成されたあらゆる数のサーバを存在させることができる。
【００４６】
セキュリティ評価システム２０２は、通信ネットワーク２０４上で１つ又はそれよりも多くの他のデジタルデバイスから記録を受信し、受信した記録の少なくとも一部から関連情報を取り出し、取り出した情報を評価し、評価に基づいて１つ又はそれよりも多くの脆弱性を識別するように構成されたあらゆる数のデジタルデバイスを含むことができる。セキュリティ評価システム２０２は、クラウドベースとすることができる。一部の実施形態において、セキュリティ評価システム２０２は、１つ又はそれよりも多くのネットワーク及び／又はセキュリティ家電を含む。セキュリティ家電の一例は、ＰｏｗｅｒＫｅｅｐｅｒである。セキュリティ家電は、引用によって本明細書に組み込まれる「システム及びアカウントの自動発見のためのシステム及び方法」という名称の２００９年９月３０日出願の米国特許非仮出願出願番号第１２／５７１，２３１号明細書に説明されている。
【００４７】
セキュリティ管理システム２２０は、通信ネットワーク２０４の管理のために構成されるあらゆる数のデジタルデバイスを含むことができる。一部の実施形態において、セキュリティ評価システム２０２は、安全、リスク、識別された脆弱性、及び／又は疑われる脆弱性に関する警報及び／又は報告をセキュリティ管理システム２２０に提供する。セキュリティ管理システム２２０は、一部の非制限的実施例において、脆弱であると見なされるアプリケーション又はファイルを使用不可にするためにネットワーク又はシステムの権利を制御し、ユーザの権利を変更し、ネットワーク権利を異なるデジタルデバイスに修正し、１つ又はそれよりも多くのアプリケーションのネットワーク権利を修正し、デジタルデバイスのネットワーク走査を開始し、脆弱であると見なされるアプリケーション又はファイルの除去を指令し、脆弱であると見なされるアプリケーション又はファイルのアップデートを指令し、ネットワーク上でパッチをインストールし、ネットワーク上でソフトウエアをアップロードし、及び／又はセキュリティ評価システム２０２からの情報に基づいてセキュリティ警報を提供することができる。様々な実施形態において、セキュリティ管理システム２２０は、セキュリティ家電を含む。セキュリティ評価システム２０２及びセキュリティ管理システム２２０は、同じシステム又は同じデジタルデバイスである場合がある。
【００４８】
通信ネットワーク２０４は、デジタルデバイスが通信することを可能にするあらゆるネットワーク又はネットワークの組合せとすることができる。通信ネットワーク２０４は、インターネット、１つ又はそれよりも多くのＬＡＮ、及び／又は１つ又はそれよりも多くのＷＡＮを含むことができる。通信ネットワーク２０４は、無線及び／又は有線通信をサポートすることができる。
【００４９】
異なるデジタルデバイスが図２に示されているが、図は網羅的なものではない。あらゆるタイプのあらゆる数のデジタルデバイスが存在することができる。例えば、一部の実施形態は、スマートフォン２０６又はタブレットデバイス２０８を含まない全てのＰＣ又はデバイスを含むネットワーク上に実施することができる。
【００５０】
様々な実施形態は、脆弱性及びアイデンティティ管理（ＶＩＭ）を融合させる。従来技術において業界は、１０年間にわたってＯＶＡＬ及びＣＶＥのような規格を使用して脆弱性識別の処理を改良してきたが、本明細書の一部の実施形態は、潜在的に脆弱なアプリケーションを使って作業する時にユーザが直面するリスクに対処する。
【００５１】
最新のゼロデイ脆弱性の例である２０１３年の新年直前に公開された「インターネットエクスプローラＣボタンユーズ−アフター−フリー脆弱性」を考えられたい。脆弱性の説明は以下の通りである。
ユーズ−アフター−フリー脆弱性は、インターネットエクスプローラ６、７、及び８に存在する。これは、ターゲットにされた攻撃で２０１２年１２月に野性的に悪用されているのが見られた。成功した突破口は、攻撃者が現在のユーザの関連で任意のリモートコードを実行することを可能にするものである。
この脆弱性は、ユーザがログインした時に用いた許可（すなわち、ユーザの現在のネットワーク権利）又はインターネットエクスプローラを実行するのに使用される信用証明に基づいて単に現在のユーザに対するリスクである。
【００５２】
このような脅威は、従来の脆弱性管理によって容易に識別可能である。しかし、従来の脆弱性管理は、この脆弱性が悪用された場合にユーザの許可を考慮に入れ損なう。例示的に、この攻撃に脆弱であるシステムを考えられたい。「標準的なユーザ」許可によってシステムにログインするユーザは、突破口が現在のユーザの関連で実行されるので、「管理者」特権によってログインするユーザよりもリスクが少ない。これは、悪意のあることを実行するためのシステム全体の制御と、現在のユーザのログインの範囲でのみ一般的に作動させることができる標準的なユーザ権利に基づく制限された許可との差である。
【００５３】
次の論理的質問は、誰かが標準的なユーザとしてそのシステムにログインする場合に、ゼロデイリスク性は管理者としてログインするユーザに比べて大きい脅威であるか？を有する。答えはノーである。標準的なユーザはリスクが少ない。従って、脆弱性報告のための潜在的な排除又は軽減は、あなたの環境内でインターネットエクスプローラを実行するユーザの関連に基づいている。しかし、誰もインターネットエクスプローラを使用しない場合に、あなたは、Ｆｉｒｅｆｏｘ又はＣｈｒｏｍｅのような別のブラウザで標準化されているか？イエス、システムは、技術的に脆弱であるが、違反したアプリケーションは使用されず、従って、ユーザが管理者としてログインした場合でもリスク度が低い。最後にこのリスクの真の意味を理解するために、この脆弱性は野性的な突破口ターゲットで観察されている。管理者として実行するユーザは、標準的なユーザに対して攻撃によって動かされやすい。従来の脆弱性報告は、その違いを知らない。
【００５４】
一部の実施形態において、セキュリティ評価システム２０２は、脆弱性が識別された及び／又は脆弱なアプリケーション又はファイルがアクセスされた時間にデジタルデバイスから記録を受信し、デジタルデバイスに関連付けられた脆弱性を識別し、かつデジタルデバイスのユーザのネットワーク権利を決定することができる。セキュリティ評価システム２０２は、管理者又は他の改善したネットワーク権利を有するユーザが公知の脆弱なアプリケーション及び／又はファイルを利用した場合に警報又は他の指示を発生させることができる。本明細書で説明するように、アプリケーション突破口は、突破時に個々のユーザのネットワーク権利によって制限される場合がある。ユーザが制限された権利（例えば、「ゲスト」権利）を有する場合に、脆弱性の突破口は、単一デジタルデバイス及び／又はデジタルデバイス上の特定のソフトウエアだけに制限される場合がある。しかし、ユーザが大きいネットワーク権利を有する場合に、ネットワーク上の他のデジタルデバイスは、ユーザのネットワーク権利に基づいてユーザのデバイスを信頼するように構成することができる。この結果、アプリケーション突破口は、マルウェアが、同じネットワーク上の他のデジタルデバイス又は同じネットワーク上の別のデジタルデバイス（例えば、サーバ）のソフトウエアに影響を与えるか又は制御することを可能にする。
【００５５】
従来のネットワーク走査は、ユーザの権利を考慮に入れないことを理解しなければならない。例えば、従来技術では、デジタルデバイスのネットワーク走査は、各走査されたアプリケーション又はファイル脆弱性を検出及び識別することができるが、従来のネットワーク走査は、アプリケーション又はファイルが利用された時はユーザの権利を検出しない。実際には、従来のネットワーク走査は、公知の脆弱性を有するアプリケーションが利用されていたかを決定せず、更に、脆弱なアプリケーションが利用された時にユーザの権利を決定することもない。ユーザが一部の異なるアカウント及び／又は異なるネットワーク権利を有することができることは当業者によって理解される。この結果、全てのユーザがアプリケーション又はファイルがアクセスされた時に必ず同じ権利を有することは仮定されない。
【００５６】
セキュリティ評価システム２０２及び／又はセキュリティ管理システム２２０は、時間と共にユーザの権利を追跡することができ、それによって脆弱プログラムがインストール、アクセス、呼出し、又は利用されたことを記録が示す時間のユーザ及びユーザ権利の決定を可能にする。
【００５７】
図３は、デジタルデバイス上の事象（例えば、システム、アプリケーション、及びファイル呼出し）を説明する情報の収集及び収集の異なる部分を一部の実施形態において脆弱性データベースに対して比較するための流れ図３００である。
【００５８】
本明細書で説明する一部の実施形態は、走査ターゲット（例えば、アプリケーション及び／又はファイル）上にインストールされた第三者送信者によって提供された記録（例えば、事象ストリーム）を調べることにより、インストールされたアプリケーションの脆弱性評価に対処する。この方式により、走査サーバは、走査ターゲットと直接に通信する必要はない。この結果、従来技術に説明されているような公知の脆弱性データベースに対するインストールされたアプリケーションのネットワークベースの調査の必要性はない。
【００５９】
本明細書で説明する様々な実施形態は、デジタルデバイスにインストールされた既存のエージェントによって提供されるデータを利用することができる。これらのエージェントの例は、以下に限定されるものではないが、以下を含む。
・ファイルモニタリング
・アプリケーションホワイトリスト
・一般システムモニタリング
・ソフトウエアインベントリ
・資産管理
・アプリケーションレベル情報を捕捉するあらゆるソフトウエア
【００６０】
これらのエージェントの各々は、１つ又はそれよりも多くの記録を発生させることができる。捕捉された状態で、この情報は、事象ストリーム又は一連の記録としてセントラルサーバ（すなわち、セキュリティ評価システム２０２、図２を参照されたい）に渡すことができる。送信の方法は、以下に限定されるものではないが、以下を含む。
・Ｓｙｓｌｏｇ
・ＳＮＭＰ
・ウェブサービス
・ＨＴＴＰ／Ｓ
・ＳＳＬ
・ウィンドウズ事象ログ
【００６１】
セキュリティ評価システム２０２は、以下を含むことができる関連アプリケーション及びファイル属性に対する事象ストリーム又は記録を構文解析することができる。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置／経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム（ＭＤ５、ＳＨＡ−１、その他）
・デジタル署名
・実行時間
・呼出し処理
【００６２】
受信した状態で、セキュリティ評価システム２０２は、リアルタイム（データが到着した時）又は事後処理（既存のデータを調べる）のいずれかでアプリケーション及びファイル属性を調べることができる。受信したデータは、既存の脆弱性のリストと比較することができ、見出したものを利用可能にして報告することができる。
【００６３】
様々な実施形態は、現在、処理、アプリケーション、及びトランザクションモニタリングを実行している組織が、仮想脆弱性走査システムと集中的に統合することを可能にし（すなわち、従来技術で上述のようにネットワーク走査なしの脆弱性走査）、有用な情報を提供することができる。情報のタイプは、以下に限定されるものではないが、以下を含む。
組織をリスクに露出する場合がある公知の脆弱性を有する環境内で実行されるアプリケーションの指示、
経路配備又は他の手段を通じてこれらのアプリケーションの改善の優先順位付けを助けるために頻繁に実行される脆弱なアプリケーションの識別、及び
経路配備又は他の手段を通じてこれらのアプリケーションの改善の優先順位付けを助けるために重要サーバ又は敏感アカウントが脆弱なアプリケーションを利用している時間の識別。
【００６４】
一部の実施形態は、ネットワークデバイスの脆弱性を調べる全く新しい方法を提示し、すなわち、従来技術で上述のような能動的な脆弱性走査の必要性を排除するために既存のエージェントからのデータを利用することができるものである。本方法は、組織が効率的にリスク及び露出を決定することを可能にする。
【００６５】
流れ図３００は、一部の実施形態における例示的な処理を詳しく説明している。段階３０２では、デジタルデバイス上のエージェントがアプリケーション事象を収集する。一例では、エージェントは、アプリケーションのインスタンスの実行又は終了中に行われた記録（ログなど）又は他の情報を収集する。
【００６６】
段階３０４では、エージェントがセントラルサーバ（セキュリティ評価システム２０２など）に記録を提供することができる。一部の実施形態において、エージェントは、記録を説明するための記録情報（例えば、記録のタイプ、記録を発生したアプリケーション、又は記録フォーマットなど）を提供することができる。あらゆる数の記録が存在することができる。様々な実施形態において、記録が一本化され、記録情報は、一本化された記録、並びにあらゆる他の情報内の各記録の位置を識別するために送信され、記録の脆弱性を評価するために使用することができる関連情報の取り出しを補助する。
【００６７】
段階３０６では、セントラルサーバ（セキュリティ評価システム２０２など）は、エージェントから受信した記録を処理することができる（例えば、評価することができる）か否かを決定する。様々な実施形態において、セキュリティ評価システム２０２は、時間に基づく記録、記録を提供したデジタルデバイスのアイデンティティ、リソースの利用可能度、パイプライン化、又はあらゆる他の理由を評価するための時間をスケジュールすることができる。セキュリティ評価システム２０２が、評価を即座に実行することができないと決定した場合に、セキュリティ評価システム２０２は、段階３０８でデータベース内に記録及び／又は記録情報を格納することができる。セキュリティ評価システム２０２は、記録が段階３１０で評価することができるかを決定するためにリソース又はあらゆる他の制限を検査することができる。スケジュールされた時間に達しないか又はリソースが利用できない場合に、処理は、段階３１２で待機することができる。
【００６８】
評価を即座に行える場合又はリソースが利用可能である場合に、セキュリティ評価システム２０２は、段階３１４で脆弱性データベースに対して記録のセグメント又は一部分（例えば、記録の関連する情報）を比較することができる。脆弱性データベースは、例えば、本明細書で更に説明するホワイトリスト及びブラックリストを含むことができる。
【００６９】
当業者は、エージェントが異なる位置の異なる情報を含む記録又はログの様々なタイプを送信することができることを認めるであろう。記録又はログの多くは、異なる目的のために発生させることができ、全ての情報がセキュリティ評価に関連するものではない。エージェントから提供された記録の１つ又はそれよりも多くを識別することができるタイプ、名前、又はあらゆる他の情報を識別する記録情報をエージェントから受信することができる。一部の実施形態において、セキュリティ評価システム２０２は、１つ又はそれよりも多くの記録を走査し、１つ又はそれよりも多くの記録を識別することができるタイプ、名前、又は他の情報を識別する。
【００７０】
記録が識別された状態で、関連情報又は関連情報を含む記録のセグメントの位置を識別することができる。様々な実施形態において、セキュリティ評価システム２０２は、エージェントによって提供される記録情報、及び／又は１つ又はそれよりも多くの記録を識別することができるタイプ、名前、又は他の情報に基づいて、記録の位置又はセグメントを識別する規則又はフィルタを取り出す。一部の実施形態において、セキュリティ評価システム２０２は、１つ又はそれよりも多くの記録を走査し、規則又はフィルタを利用することなく関連情報を識別する。
【００７１】
様々な実施形態において、セキュリティ評価システム２０２は、記録のセグメントを脆弱性データベース３１４の全部又は一部と比較して脆弱性を評価することができる。
【００７２】
段階３１６では、記録の１つ又はそれよりも多くのセグメントと脆弱性を示す脆弱性データベースの間に符合がある場合に、セキュリティ評価システム２０２は、段階３１８で発見を報告することができる。
【００７３】
図４は、一部の実施形態におけるユーザデバイスエージェント４００のブロック図である。エージェントは任意的である。一部の実施形態において、デジタルデバイスは、ログのような異なる記録を発生する異なるアプリケーション及び実行ファイルを含む。記録は、構成、処理呼出し、例外処理、実行時間、呼出し処理、実行に必要なファイルの名前、ファイルタイプ、ファイルバージョン、アプリケーションタイプ、及び／又はアプリケーションのバージョンなどを含むアプリケーションのインスタンスに関連する情報を含むことができる。アプリケーション又は実行ファイルのインスタンスに関連付けられた１つ又はそれよりも多くの処理のような情報を要約又は追跡するための記録を発生させることができる。記録は、本明細書で更に説明する。
【００７４】
様々な実施形態において、１つ又はそれよりも多くの異なるアプリケーション及び／又は実行ファイル（例えば、セキュリティ情報及び事象管理（ＳＩＥＭ））は、１つ又はそれよりも多くの記録の複製をセキュリティ評価システム２０２（図２を参照されたい）に提供するように指示することができる。一例では、デジタルデバイスは、異なるログを発生させることができ、ログの各々は、デジタルデバイスによって実行される異なるアプリケーションのインスタンスに関連付けられる。ログの１つ又はそれよりも多くの目的は、レビュー構成、処理効率、性能、バックアップ、及び／又はアプリケーションインスタンスのエラー処理を可能にすることである。デジタルデバイスにおける１つ又はそれよりも多くの他のアプリケーションは、アプリケーションインスタンス（例えば、ソフトウエア発行者）又はネットワーク管理者に関連付けられた１つ又はそれよりも多くの異なる第三者にログを提供するように構成することができる。異なるネットワーク宛先に定期的ログを送信するように構成されたアプリケーションは、追加の複製をセキュリティ評価システム２０２に提供するように更に構成することができる。この例では、デジタルデバイスにエージェントがないことがあり、又はエージェントは、追加の複製をセキュリティ評価システム２０２に送信するようにアプリケーションを再構成する（例えば、セキュリティ情報及び事象管理（ＳＩＥＭ）プログラム）を再構成するためだけに使用される。
【００７５】
一部の実施形態において、ユーザデジタルデバイスにインストールされたエージェント４００は、他のアプリケーションによって発生されたログ又は他の記録の複製をセキュリティ評価システム２０２に提供する及び／又はアプリケーションインスタンスの記録を発生するように構成することができる。様々な実施形態において、エージェント４００は、他のアプリケーションによって発生された記録又は他のログを収集し（又はその位置を識別し）、記録又は他のログの複製をセキュリティ評価システム２０２に提供する。エージェント４００は、一部の実施形態において、アプリケーションインスタンスに関連付けられた１つ又はそれよりも多くの事象を検出及び記録し、セキュリティ評価システム２０２のための情報を収集することができる。当業者は、エージェント４００が、その固有の記録を発生し、他のアプリケーションによって発生された記録を収集し、この記録をセキュリティ評価サーバに提供することができることを認めるであろう。他の実施形態において、エージェント４００は、他のアプリケーションによって発生された記録又は他のログの複製をセキュリティ評価システム２０２に提供するか又はエージェント４００によって発生された記録の複製をセキュリティ評価システム２０２に提供することができる。
【００７６】
エージェント４００は、アプリケーションインスタンスに関連付けられた事象を記録し、他のアプリケーションによって発生された記録を識別し、記録（例えば、エージェント発生の記録、並びに他のアプリケーションによって発生された記録の両方）の複製をセキュリティ評価システム２０２に提供するように構成された例示的なエージェントである。
【００７７】
エージェント４００は、事象検出モジュール４０２、事象記録モジュール４０４、走査モジュール４０６、記録収集モジュール４０８、通信モジュール４１０、通信認証モジュール４１２、及びアプリケーションデータベース４１４を含む。本明細書で説明するように、事象検出モジュール４０２及び事象記録モジュール４０４は、任意的とすることができる。様々な実施形態において、事象検出モジュール４０２は、ホストデジタルデバイスにおける事象を検出することができる。事象又は記録は、実行ファイルの実行及び／又は実行可能インスタンスの１つ又はそれよりも多くの作動を含むことができる。記録は、本明細書で更に説明する。一例では、事象検出モジュール４０２は、オペレーティングシステムの一部であり、及び／又はデジタルデバイスのメモリ（例えば、ｒａｍ）にある。事象検出モジュール４０２は、事象中の当該の態様を検出することができる（例えば、実行ファイルのインスタンスが別のアプリケーション又はファイルを呼び出す）。事象検出モジュール４０２は、ユーザ、オペレーティングシステム、又は実行ファイルによって引き起こされるデジタルデバイスの全部又は一部のアクションを検出することができる。
【００７８】
事象記録モジュール４０４は、事象の記録を発生するか又は事象検出モジュール４０２によって検出される事象の態様（例えば、アプリケーション又はファイル属性）を選択することができる。様々な実施形態において、事象検出モジュール４０２は、実行可能インスタンスを開始するアプリケーション、呼出し処理、アクセス要求、ファイルアクセス、及び／又はアプリケーション実行などに関連する情報を含む実行ファイルのインスタンスの処理及び／又は作動を検出する。一部の実施形態において、事象記録モジュール４０４は、以下のアプリケーション又はファイル属性の全部、一部、又は１つを含む事象ストリームを発生する。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置／経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム（ＭＤ５、ＳＨＡ−１、その他）
・デジタル署名
・実行時間
・呼出し処理
【００７９】
事象記録モジュール４０４は、あらゆる数の実行可能インスタンスに関するあらゆる数の事象ストリームを発生させることができる。一例では、事象記録モジュール４０４は、１つ又はそれよりも多くの異なるインスタンスの異なる記録（例えば、事象ストリームの全部又は一部）を記録する。別の例では、１つ又はそれよりも多くの事象ストリームは、あらゆる数の実行インスタンスに対して記録することができる。
【００８０】
走査モジュール４０６は、デジタルデバイスでの記録及び／又は記録を発生するアプリケーションを走査することができる。例えば、走査モジュール４０６は、一般的にはログファイルを発生するアプリケーションを走査することができる。一部の実施形態において、走査モジュール４０６は、アプリケーションのためのデジタルデバイスのストレージ（例えば、ハードディスク、ＳＳＤ、及び／又はフラッシュ）の全部又は一部を走査する。走査モジュール４０６は、アプリケーションデータベース４１４から記録データ構造を取り出し、走査結果と記録データ構造を比較し、ログ並びにログの位置を発生するアプリケーションを識別することができる。走査モジュール４０６は、デジタルデバイスの記録の位置及びタイプを含むテーブル又は他のデータ構造を維持することができる。走査モジュール４０６は、記録（例えば、ログ）を直接に走査することができる。
【００８１】
当業者は、走査モジュール４０６が、デジタルデバイスの記録の位置及び／又はタイプを含むテーブル又は他のデータ構造を定期的に更新又は他に維持することができることを認めるであろう。一例では、走査モジュール４０６は、新しいソフトウエアのインストール又はソフトウエアの削除を走査し、予想される記録の位置を追加又は取り除くことができる。
【００８２】
記録収集モジュール４０８は、事象記録モジュール４０４からの記録及び／又はデジタルデバイスの他の記録の位置及びタイプを含むデータ構造によって識別される記録を収集するように構成することができ、複製をセキュリティ評価システム２０２に提供することができる（図２を参照されたい）。様々な実施形態において、記録収集モジュール４０８は、記録を移動、削除、又は変更するのではなく、記録を複製する。一部の実施形態において、記録収集モジュール４０８は、事象記録モジュール４０４によって発生された記録を収集する。他の実施形態において、記録収集モジュール４０８は、デジタルデバイスの記録の位置及びタイプを含むデータ構造によって識別される記録の少なくとも一部を収集する。様々な実施形態において、記録収集モジュール４０８は、事象記録モジュール４０４によって発生された記録、並びにデジタルデバイスの記録の位置及びタイプを含むデータ構造によって識別された記録の少なくともいくつかを収集する。
【００８３】
様々な実施形態において、記録収集モジュール４０８は、収集された記録に関する記録情報を発生する。記録情報は、収集された記録のタイプを説明することができる。一例では、記録情報は、事象記録モジュール４０４によって発生された記録を識別することができる。記録情報は、記録の数、記録のタイプ、記録を発生したアプリケーション、又は記録に関連付けられたアプリケーションインスタンスなどを含む他のアプリケーションによって発生された記録を識別することができる。
【００８４】
一部の実施形態において、収集した記録は、一本化及び／又は符号化することができる。記録情報は、記録が一本化されているか否か、記録の全部、一部、又は１つの符号化方法、又は記録位置（例えば、テキストフィールドの記録の開始及び終了ポイント）などを示すことができる。
【００８５】
様々な実施形態において、記録収集モジュール４０８は、スケジュールに基づいて又は１つ又はそれよりも多くの記録の存在に基づいて記録を収集し、セキュリティ評価システム２０２に提供する。一例では、記録収集モジュール４０８は、予め決められた日付及び／又は時間に記録を収集する。別の例では、記録収集モジュール４０８は、事象記録モジュール４０４及び／又は他のアプリケーションによって発生された記録の数を追跡することができる。この例では、発生された記録の数が予め決められた閾値よりも大きい場合に（例えば、１よりも大きいか又は３よりも大きい）、記録収集モジュール４０８は、記録を収集してセキュリティ評価システム２０２に提供することができる。閾値は、ユーザ、システム管理者、エージェント４００、セキュリティ評価システム２０２、セキュリティ管理システム２２０、又は十分な権利を有するあらゆる他のユーザ又はデバイスによって確立することができる。
【００８６】
通信モジュール４１０は、収集した記録及び記録情報をセキュリティ評価システム２０２０に提供する。様々な実施形態において、通信モジュール４１０は、デジタルデバイスを識別し、記録収集モジュール４０８から収集した記録を含む評価要求を発生する。評価要求は、これに加えて、記録収集モジュール４０８からの記録情報を含むことができる。通信モジュール４１０は、評価要求及び／又は記録情報をあらゆる時間に（スケジュールされた時間に、ユーザによる指令に応答して、セキュリティ評価システム２０２による指令に応答して、セキュリティ管理システム２２０による指令に応答して、ネットワーク管理者による指令に応答して、又は記録が記録収集モジュール４０８から受信されてセキュリティ評価システム２０２に提供される時に）セキュリティ評価システム２０２に提供することができる。
【００８７】
通信モジュール４１０は、記録を事象のストリーム又は離散的メッセージとしてあらゆる方法でセキュリティ評価システム２０２（図２を参照されたい）に提供することができる。一部の非制限的実施例では、通信モジュール４１０は、以下の方法で情報をセキュリティ評価システム２０２に提供することができる。
・Ｓｙｓｌｏｇ
・ＳＮＭＰ
・ウェブサービス
・ＨＴＴＰ／Ｓ
・ＳＳＬ
・Ｗｉｎｄｏｗｓ事象ログ
【００８８】
任意的な通信認証モジュール４１２は、評価要求及び／又は記録情報に対する認証情報をデジタルで署名又は提供することができる。様々な実施形態において、セキュリティ評価システム２０２及び／又はセキュリティ管理システム２０４は、デジタル署名又は他の認証情報に基づいてデジタルデバイスによって提供される記録の評価を認証、検証、及び／又は承認することができる。例えば、各エージェント４００又はデジタルデバイスは、１つ又はそれよりも多くの暗号化キーによって評価要求及び／又は記録情報にデジタルで署名することができる。セキュリティ評価システム２０２又は他のデバイスは、セキュリティのために署名を解読する（例えば、評価要求及び／又は記録情報の認証及び／又は精度を確認する）ことができる。一部の実施形態において、１つ又はそれよりも多くの暗号化キーが提供され、エージェント４００のインストール又はレジストレーションに応答してデジタルデバイスに割り当てられる。１つ又はそれよりも多くの暗号化キーは、あらゆる時間にあらゆる方法で提供、割り当て、及び／又は更新することができる。
【００８９】
モジュールは、ハードウエア、ソフトウエア、又はハードウエアとソフトウエア両方の組合せのいずれかである。当業者は、図４で識別されるモジュールが本明細書で説明するよりも多くの又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。更に、図４に関して示す機能は、単一デジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態において、複数のデジタルデバイスは、同時に機能を実行する。
【００９０】
図５は、一部の実施形態におけるセキュリティ評価システム２０２のブロック図である。例示的なセキュリティ評価システム２０２は、エージェント通信モジュール５０２、エージェント認証モジュール５０４、評価スケジューラー５０６、記録管理モジュール５０８、情報取り出しモジュール５１０、評価モジュール５１２、報告モジュール５１４、警報モジュール５１６、記録管理データベース５１８、リスク許容構成データベース５２０、及び脆弱性データベース５２２を含む。
【００９１】
通信モジュール５０２は、評価要求を受信し、通信ネットワーク２０４上で１つ又はそれよりも多くのデジタルデバイスからの評価要求に関連する情報を任意的に記録するように構成される（図２を参照されたい）。本明細書で説明するように、評価要求は、デジタルデバイスからの１つ又はそれよりも多くの記録を含むことができる。記録情報は、評価要求の記録（例えば、記録のタイプ及び各記録の位置）を説明することができる。一部の実施形態において、通信モジュール５０２は、提供側デジタルデバイス、送信の時間、及び（エージェントがデジタルデバイスにインストールされる場合に）潜在的にはエージェントバージョンを識別することができる。記録情報は、任意的とすることができる。一部の実施形態において、通信モジュール５０２又は記録管理モジュール５０８（本明細書で更に説明する）は、評価要求の１つ又はそれよりも多くの記録を走査し、記録のタイプ、各記録の位置に関連する情報を取り出し、及び／又は関連情報を識別することができる。
【００９２】
任意的な要求認証モジュール５０４は、評価要求及び／又は記録情報を認証するように構成される。本明細書で説明するように、評価要求及び／又は記録情報は、デジタルで署名又は暗号化することができる。要求認証モジュール５０４は、評価要求及び／又は記録情報を認証、検証、及び／又は承認するように構成することができる。一例では、要求認証モジュール５０４は、デジタルデバイス、評価要求を提供したエージェント、又はあらゆる他の情報を識別し、評価要求及び／又は記録情報を解読するための１つ又はそれよりも多くの適切な暗号化キー（例えば、私的又は公的暗号化キー）を取り出すことができる。一部の実施形態において、要求認証モジュール５０４は、デジタル署名に基づいて評価要求を認証する。当業者は、評価要求は、あらゆる数の方法で認証することができることを認めるであろう。
【００９３】
任意的な評価スケジューラー５０６は、一部の実施形態においてセキュリティ評価をスケジュールするように構成される。様々な実施形態において、評価スケジューラー５０６は、セキュリティ評価システム２０２の一部である１つ又はそれよりも多くのデジタルデバイスのリソースの利用可能度（例えば、プロセッサ利用可能度）に基づいてセキュリティ評価をスケジュールする。一部の実施形態において、評価スケジューラー５０６は、スケジュールされるまでの評価要求及び／又は記録情報をバッファに入れるか又は格納することができる。評価スケジューラー５０６は、一部の実施形態において、セキュリティ評価システム２０２がタスクを実行するための利用可能なリソースを有すると評価スケジューラー５０６が決定した場合に、評価要求を受信した時に評価を行うことを可能にする。
【００９４】
評価スケジューラー５０６は、デバイスの重要度（例えば、デバイスが重大な機能を実行する）、緊急性、又はネットワーク上の他者によるデバイスの信頼に基づいて、異なるデジタルデバイスに優先順位を与えることができる。例えば、他者又はセキュリティ評価システム２０２が他のデジタルデバイスの評価を中断することができる前にセントラルサーバ又はネットワーク管理者を評価することができる。一例では、重要なデジタルデバイスの記録の評価は、信頼される重要な機械の突破口が、重大なタスクを中断し、潜在的にネットワークセキュリティを脅かし、及び／又はネットワーク上の他のデバイスのセキュリティを潜在的に脅かすリスクのために、他のデジタルデバイスに属する他の記録の評価を中断する場合がある。
【００９５】
記録管理モジュール５０８は、評価要求の記録を識別するように構成される。様々な実施形態において、評価要求は、他の評価要求からの異なる数の記録、並びに異なるタイプの記録を含むことができる。一例では、同じデジタルデバイスは、複数の評価要求を提供することができ、各々は、異なる数の記録、並びに異なるタイプの記録を含む（例えば、デジタルデバイスは、定期的に又はある一定の数の記録を提供することができる時に評価要求を提供することができる）。
【００９６】
記録管理モジュール５０８は、送信側デジタルデバイスによって提供された記録情報を利用することによって記録の数及びタイプを識別することができる。本明細書で説明するように、記録情報は、記録の名前、記録のタイプ、送信側デジタルデバイス、及び他の情報を識別することができる。記録が一本化される場合に（例えば、１つのストリーム又はファイルに結合される）、記録情報は、各異なる記録の開始及び終了ポイントを示すことができる。これに代えて又はこれに加えて、記録管理モジュール５０８は、記録の１つ又はそれよりも多くを走査することによって類似の情報を識別することができる。一部の実施形態において、記録管理モジュール５０８は、記録を走査し、記録情報を識別することなく評価に関連するアプリケーション又はファイル属性を識別する。
【００９７】
評価要求の記録が識別された状態で、情報取り出しモジュール５１０は、セキュリティ評価システム２０２が評価要求のあらゆる数の記録から関連情報を取り出すことを可能にする規則又はフィルタを任意的に取り出すことができる。一例では、情報取り出しモジュールは、記録管理データベース５１８から規則又はフィルタを取り出すことができる。情報取り出しモジュール５１０は、記録管理モジュール５０８によって提供される情報に基づいて（例えば、評価要求の記録の記録情報及び／又は走査に基づいて）規則又はフィルタを取り出すことができる。一例では、情報取り出しモジュール５１０は、記録管理モジュール５０８からの評価要求に含まれる記録のタイプ及び／又は名前を受信することができる。記録のタイプ及び／又は名前に基づいて、情報取り出しモジュール５１０は、記録の各タイプ及び／又は名前のための規則及び／又はフィルタを取り出すことができる。
【００９８】
規則及び／又はフィルタは、情報取り出しモジュール５１０が、関連情報を含む各記録内の１つ又はそれよりも多くのセグメント（例えば、位置）を識別することを可能にする。一部の実施形態において、規則及び／又はフィルタは、情報取り出しモジュール５１０が、識別されたセグメントの１つ又はそれよりも多くの情報のタイプ、名前、及び／又は性質を識別することを可能にする。例えば、特定の記録のタイプにおける位置は、アプリケーションバージョン番号を含むことができる。同じ特定の記録タイプの別の位置は、特定の処理の識別子を含むことができる。一部の実施形態において、１つ又はそれよりも多くの記録は、符号化することができる。情報取り出しモジュール５１０は、取り出された規則及び／又はフィルタに基づいて１つ又はそれよりも多くの記録を復号することができる。一例では、情報取り出しモジュール５１０は、情報の以下の非制限的例示的タイプ（例えば、アプリケーション又はファイル属性）を識別することができる。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置／経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム（ＭＤ５、ＳＨＡ−１、その他）
・デジタル署名
・実行時間
・呼出し処理
当業者は、情報のあらゆる他の種類、タイプ、又は名前を評価モジュール５１３によってセキュリティを評価するために利用することができることを認めるであろう。
【００９９】
評価モジュール５１２は、情報取り出しモジュール５１０によって位置付けられた記録内の情報を評価することができる。一部の実施形態において、評価モジュール５１２は、評価要求の１つ又はそれよりも多くの記録の１つ又はそれよりも多くのセグメントを脆弱性データベース５２２の全部又は一部と比較して脆弱性を決定及び／又は識別することができる。一部の実施形態において、評価モジュール５１２は、記録のタイプ、記録のセグメント内に含まれる情報のタイプ、記録のセグメント内に含まれる情報の名前、又はあらゆる他の情報に基づいて、記録のセグメント（すなわち、少なくとも１つの記録内に含まれる関連情報の少なくとも一部分）を脆弱性データベース５２２の一部分と比較する。例えば、情報取り出しモジュール５１０が、セグメントを識別し、セグメントがファイルチェックサムを含むことを示した場合に、評価モジュール５１２は、セグメントをファイルチェックサムを含む脆弱性データベース５２２の一部分と比較することができる。
【０１００】
評価モジュール５１２は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を脆弱性データベース５２２の全部又は一部と比較することができる。一部の実施形態において、脆弱性データベース５２２は、公知の優良なアプリケーション及びファイル（例えば、ホワイトリスト）、公知の脆弱なアプリケーション及びファイル（例えば、ブラックリスト）、及び／又は疑わしいアプリケーション及びファイル（例えば、グレイリスト）を含む。ホワイトリストの一例では、評価モジュール５１２は、あらゆる数の評価要求のあらゆる数の記録からのあらゆる数のセグメントを比較し、デジタルデバイスが１つ又はそれよりも多くの信頼される（例えば、脆弱でない）アプリケーション又はファイルを有することを確認及び／又は検証することができる。一部の実施形態において、ネットワーク管理者又は他のセキュリティ専門家は、全てのアプリケーション及びファイルのホワイトリストによる識別及び／又は確認を要求することができる。
【０１０１】
別の例では、評価モジュール５１２は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を公知の脆弱なアプリケーション及びファイルのブラックリストと比較することができる。更に別の例では、評価モジュール５１２は、記録のいずれかの中に含まれたセグメント又はあらゆる情報をグレイリストと比較することができる。グレイリストは、知られていない全てのアプリケーション及びファイル、又は代わりに疑わしいアプリケーション又はファイルだけを含むことができる。一部の実施形態において、グレイリストは、評価することができる疑わしさの程度を示してリスク値（例えば、リスクの程度又は指標）を決定することができる。
【０１０２】
一部の実施形態において、評価モジュール５１２は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を脆弱性データベース５２２内に含まれるがリスクに関して決定的でない情報と比較することができる。例えば、セキュリティ評価システム２０２は、ファイルタイムスタンプ、ファイル記述、実行時間、及びアプリケーションのインスタンスの呼出し処理に基づいて、アプリケーション（又はインスタンスによって呼び出されたファイル）が疑わしいか又は脆弱である場合があるが決定的ではないと決定することができる（例えば、脆弱性データベース５２２は、アプリケーション又はファイルに関して沈黙する場合があり、又はある一定のインジケータは、アプリケーション又はファイルが脆弱であることを提示しているように見え、他のインジケータは、疑わしいか又は信頼されるアプリケーション又はファイルをサポートしている）。報告モジュール５１４は、決定的でないアプリケーション又はファイルを報告することができる。一部の実施形態において、セキュリティ評価システム２０２は、結論に達しようとして将来の評価で疑わしいアプリケーション又はファイルを綿密に追跡することができ、セキュリティ評価システム２０２は、デジタルデバイス上のエージェント４００にコンタクトし、より多くの情報を要求することができ、又はセキュリティ評価システム２０２は、限定されたネットワーク走査が疑わしいアプリケーション及び／又はファイルだけをターゲットにするように行われることを推奨又は指令することができる。
【０１０３】
当業者は、脆弱性データベース５２２が安全な又は脆弱な挙動を示すことができる挙動規則を含むこともできることを認めるであろう。例えば、記録内に含まれる情報（例えば、ファイルタイムスタンプ、実行時間、及び／又は呼出し処理を示すセグメント）は、脆弱性データベース５２２の挙動規則に基づいて疑わしい挙動として識別することができる。規則は、ネットワーク管理者又は他のセキュリティ専門家によって確立することができ、一般的に記録に現れる場合がある安全でない挙動にフラグを立てる。一部の実施形態において、挙動規則は、異なるデジタルデバイス、アプリケーション、及び／又はファイルに対して異なるものにすることができる。例えば、ある一定のデジタルデバイス（例えば、「ミッションクリティカル」デジタルデバイス）は、予想かつ確立された挙動を有する場合がある。特定のデジタルデバイスが通常とは異なる方式で挙動していることを示す記録には、挙動規則によってフラグを立てることができる。
【０１０４】
報告モジュール５１４は、１つ又はそれよりも多くの評価の結果を示すあらゆる種類の報告を発生させることができる。報告内に含まれる情報は、安全、脆弱、疑わしい、又は未知であるか、又はあらゆる他の種類の情報とすることができる記録によって識別されたデジタルデバイス、デジタルデバイスの１つ又はそれよりも多くのユーザ、アプリケーション、及びファイルを含むことができる。報告モジュール５１４は、評価に関連する報告をデジタルデバイス、セキュリティ管理システム２２０、ネットワーク管理者、又はあらゆるデジタルデバイス又は個人に提供することができる。
【０１０５】
一部の実施形態において、セキュリティ評価システム２０２は、評価要求の１つ又はそれよりも多くの記録が発生された時にログインしたユーザ、並びに記録が発生された時のユーザのネットワーク権利を評価モジュール５１２が決定することを可能にするユーザログイン情報へのアクセスを有し、又はユーザログイン情報へのアクセスを有する他のデバイスと通信する。報告は、制限された権利を有するユーザが潜在的に疑わしいアプリケーション又はファイルを利用したことを示すことができる。報告は、管理者権利又はルートアクセスを有するユーザが、危険な突破口又は非常に疑わしいファイルを用いて脆弱プログラムを利用した場合に、警報を指示又は他に提供することができる。
【０１０６】
警報モジュール５１６は、評価に基づいて警報を発生させることができる。評価要求の記録内で識別された１つ又はそれよりも多くのアプリケーション又はファイルが脆弱であるか又は非常に疑わしいとして分類された場合に、警報モジュール５１６は、警報を発生させることができる。この警報は、脆弱性にフラグを立て、突破口を潜在的に識別し、リスクの程度を示し、又はあらゆる他の情報を提供することができる。警報は、あらゆる方法で提供することができる。例えば、警報モジュール５１６は、電子メール、ＳＭＳテキストメッセージ、ＭＭＳ、ウェブページ、イントラネット警報、エクストラネット警報、又はあらゆる他の方式を通じて１つ又はそれよりも多くの警報を提供することができる。
【０１０７】
ネットワーク管理者又はセキュリティ専門家は、あらゆる程度のリスクを許すことができる。一部の実施形態において、ネットワーク管理者は、ブラックリスト又はグレイリストにあるファイル又はアプリケーションが識別（疑わしいか又は非常に疑わしいとして１つ又はそれよりも多くのアプリケーションが識別）されない限り、警報又は報告を要求しなくてもよい。リスクの程度は、脆弱性、突破口の危険性、又は評価モジュール５１２によって識別されたアプリケーション又はファイルの疑わしさに基づくことができる。リスクの程度は、アプリケーション又はファイルがアクセス又は実行された時の（例えば、ユーザが「スーパーユーザ」権利を有した場合）ユーザの権利に基づくことができる。
【０１０８】
様々な実施形態において、ネットワーク管理者又はセキュリティ専門家は、１つ又はそれよりも多くのデジタルデバイス、１つ又はそれよりも多くのユーザ、及び／又は１つ又はそれよりも多くのアプリケーション及び／又はファイルに対するリスク閾値を確立することができる。一例では、報告モジュール５１４又は警報モジュール５１６は、評価モジュール５１２が関連のリスク閾値に基づく（例えば、リスク値が関連のリスク閾値を超えたと決定された）場合に、報告を発生又は警報を発生させることができる。
【０１０９】
一部の実施形態において、全ての記録が有用な情報を含むわけではない。エージェント４００（図４を参照されたい）は、セキュリティ評価システム２０２に対して有用又は関連する情報を含まない可能性がある記録を無視するように構成することができ、情報取り出しモジュール５１０は、受信した一部の記録が関連情報でない場合があるか又は関連情報を持たないと決定することができる。
【０１１０】
データベースとして図５に識別されているが、記録管理データベース５１８、リスク許容構成データベース５２０、及び脆弱性データベース５２２の各々は、あらゆるタイプのあらゆる数のデータ構造を含むことができる。また、記録管理データベース５１８、リスク許容構成データベース５２０、及び脆弱性データベース５２２の各々は、あらゆる数のデジタルデバイスとすることができる（例えば、データベースの１つ又はそれよりも多くは、あらゆる数のデジタルデバイスに分散させることができる）。
【０１１１】
当業者は、図５で識別されるモジュールが本明細書で説明するよりも多くの又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。また、図５に関して示された機能は、単一デジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態において、複数のデジタルデバイスは、同時に機能を実行する。
【０１１２】
図６は、一部の実施形態におけるユーザデバイスによる記録の収集及び準備の流れ図である。段階６０２では、エージェント４００の走査モジュール４０６は、第三者事象記録をデジタルデバイスで走査する。一部の実施形態において、走査モジュール４０６は、記録を直接に走査する。様々な実施形態において、走査モジュール４０６は、記録を発生するアプリケーション及び／又は記録自体を走査する。段階６０４では、走査に基づいて、走査モジュール４０６は第三者事象記録を識別することができる。
【０１１３】
様々な実施形態において、記録は、アプリケーションのインスタンスの実行又は終了中に行われる。例えば、第三者アプリケーションは、関連の処理の発生、アプリケーションインスタンスの作動、処理呼出し、アプリケーション呼出し、ファイル呼出し、エラー、システムリソースの利用、又はあらゆる他の情報を記録するための記録を発生させることができる。記録を発生するアプリケーションの目的、並びに記録の目的は、セキュリティに関連するものでなくてもよい（例えば、バックアップ、エラー処理、性能、作動の記録、バグ修正、及び／又はメモリ管理など）。記録及び記録発生の例示的な処理は、本明細書で更に説明する。
【０１１４】
段階６０６では、事象検出モジュール４０２は、デジタルデバイスにおける事象を検出することができる。事象は、実行ファイル（例えば、アプリケーション）の実行を含むことができる。例えば、一部の実施形態において、エージェント４００は、処理をモニタし、１つ又はそれよりも多くの実行ファイルの実行を検出することができる。段階６０８では、事象記録モジュール４０４は、情報を記録して記録を発生させることができる。事象記録モジュール４０４は、例えば、アドレス指定されたアプリケーション及びファイルの名前、アプリケーション及びファイルのバージョン、アプリケーション及びファイルの制作者、アプリケーション及びファイルのサイズ、アプリケーション及びファイルのチェックサム、アプリケーション及びファイルの位置／経路、アプリケーション及びファイルの説明（例えば、収集アプリケーション及びファイル属性）、又はあらゆる他の情報を記録することができる。一部の実施形態において、事象記録モジュール４０４は、アプリケーションのインスタンスの実行又は終了中に情報を記録することができ、評価で利用される情報を記録することができる。一例では、第三者アプリケーションによって発生された記録は、セキュリティ評価に関連のない情報を含む場合があり、事象検出モジュール４０２及び／又は事象記録モジュール４０４は、関連情報、又は情報が評価中に最終的に使用されない場合でも評価処理をサポートすることができる情報を含む記録を発生させることができる。
【０１１５】
段階６１０では、定期的な時間に又は１つ又はそれよりも多くの記録が利用可能である場合に、記録収集モジュール４０８は、１つ又はそれよりも多くの記録が第三者アプリケーション及び／又は事象記録モジュール４０４によって発生された時間を検出することができる。記録収集モジュール４０８は、記録を収集（例えば、記録を複製）し、評価要求としてセキュリティ評価システム２０２に提供することができる。１つよりも多い記録がある場合に、記録収集モジュール４０８は、記録を一本化することができる（例えば、記録を１つ又はそれよりも多くのファイルに結合することができる）。一部の実施形態において、記録収集モジュール４０８は、一本化された記録及び／又は一本化されてない記録を含むことができる。
【０１１６】
段階６１２では、記録収集モジュール４０８は、収集記録のために記録情報を準備することができる。記録情報は、記録、記録のタイプ、又は１つ又はそれよりも多くの一本化されたファイルにおける記録情報の位置などを識別することができる。記録情報は、記録の１つ又はそれよりも多くを説明することができる。記録情報は、セキュリティ評価システム２０２によって利用することができ、記録を識別してツール（例えば、利用可能な規則及び／又はフィルタ）を取り出し、記録から関連情報を位置付けることができる。
【０１１７】
段階６１４では、任意的な通信認証モジュール４１２は、評価要求及び／又は記録情報にデジタルで署名することができる。段階６１６では、通信モジュール４１０は、評価要求及び記録情報をセキュリティ評価システム２０２に提供することができる。
【０１１８】
図７は、一部の実施形態において、収集したものに含まれるセグメントをホワイトリスト、ブラックリスト、及び／又はグレイリストと比較して脆弱性を報告するための流れ図である。段階７０２では、セキュリティ評価システム２０２の通信モジュール５０２は、デジタルデバイスから評価要求及び記録情報を受信する。通信モジュール５０２は、デジタルデバイスによって提供された評価要求、記録情報、又は他のデータに基づいて、デジタルデバイス及び／又はデジタルデバイス上のエージェント４００を識別することができる。
【０１１９】
段階７０４では、任意的な要求認証モジュール５０４は、デジタルデバイスからの評価要求及び／又は記録情報を認証することができる。一部の実施形態において、セキュリティ評価システム２０２は、暗号化キーをエージェント及び／又はデジタルデバイスに割り当て、評価要求及び／又は記録情報の全部又は一部をデジタルで署名及び／又は暗号化することができる。一部の実施例では、任意的な要求認証モジュール５０４は、評価要求の精度、記録情報の精度、送信側デジタルデバイスのアイデンティティ、又はエージェントのアイデンティティなどを認証又は検証することができる。
【０１２０】
一部の実施形態において、評価スケジューラー５０６は、評価が行われる前に満足されるべき時間又は条件をスケジュールすることができる。一例では、評価スケジューラー５０６は、前に受信した評価及び／又は予想されるリソースの利用可能度に基づいて、評価要求に含まれる情報の評価のための日付及び／又は時間をスケジュールすることができる。別の例では、評価スケジューラー５０６は、リソースの利用可能度を決定し、決定に基づいて評価の開始を制御することができる。一部の実施形態において、評価スケジューラー５０６は、全ての評価要求を順番に待ち行列に入れ、リソースを利用することができる時に待ち行列の各評価要求が順番に評価されるように命令することができる。当業者は、評価をスケジュールするための多くの方法が存在することができることを認めるであろう。
【０１２１】
段階７０６では、記録管理モジュール５０８は、記録情報を利用して評価要求の記録を識別する。一部の実施形態において、評価要求がエージェントによって発生された単一記録を含む場合に、記録情報は提供されず、段階は任意的である。評価要求が、エージェント４００ではない他のアプリケーションによって発生された記録を含む場合に、記録情報は、デジタルデバイスによって提供され、評価要求に含まれる記録のタイプを識別することができる。
【０１２２】
一部の実施形態において、記録管理モジュール５０８は、記録情報を受信しない。記録管理モジュール５０８は、１つ又はそれよりも多くの記録を走査して記録名又はタイプを決定することができ、又は一部の実施形態において、記録管理モジュール５０８は、記録から関連情報（例えば、アプリケーション及びファイル属性）を走査する。例えば、記録管理モジュール５０８は、訓練し（例えば、記録からの情報は、データ構造に含まれた以前に決定された記録情報と比較することができる）、記録の走査に基づいて記録を識別することができる。
【０１２３】
一部の実施形態において、記録管理モジュール５０８は、一本化された記録を受信する。記録管理モジュール５０８は、デジタルデバイスから受信した記録情報を利用する及び／又は一本化されたファイルを走査して記録のタイプ、並びに記録の位置を決定することができる。
【０１２４】
段階７０８では、情報取り出しモジュール５１０は、識別された記録に基づいて記録管理情報を取り出すことができる。例えば、第三者によって発生された記録は、評価に関連する特定のセグメントを有する場合がある。記録のタイプ又はアイデンティティに基づいて、情報取り出しモジュール５１０は、評価に関連する記録のセグメント及び／又は一部を識別することができる記録管理情報を取り出すことができる。情報取り出しモジュール５１０は、記録管理データベース５１８から記録管理情報を取り出すことができる。
【０１２５】
段階７１０では、評価モジュール５１２は、記録管理情報を使用して評価要求から記録のセグメント及び／又は一部を利用するアプリケーション及びファイル属性（例えば、関連情報）を識別する。段階７１２では、評価モジュール５１２は、識別したアプリケーション及びファイル属性を脆弱性データベース５２２の全部又は一部と比較することができる。一部の実施形態において、記録管理情報及び／又は記録情報は、記録のセグメント又は一部の内容を識別することができる。記録のセグメント又は一部の識別された内容は、脆弱性データベース５２２の関連情報だけと比較される（例えば、アプリケーションチェックサムは、脆弱性データベース５２２内の格納されたアプリケーションチェックサムとだけ比較され、例えば、アプリケーション名とは比較されない）。一部の実施形態において、記録管理モジュール５０８、情報取り出しモジュール５１０、及び／又は評価モジュール５１２は、記録を走査し、比較するための脆弱性データベース５２２の関連する部分を決定する。
【０１２６】
段階７１４では、評価モジュール５１２、報告モジュール５１４、及び／又は警報モジュール５１６は、比較に基づいて任意的にリスク値を決定することができる。一部の実施形態において、脆弱性データベース５２２は、ある一定のアプリケーション又はファイルが疑わしいか、信頼することができるか、又は脆弱である可能性を示す得点又は他の値を含むことができる。評価モジュール５１２は、例えば、アプリケーション及びファイル属性に関連付けられた全ての得点又は他の値を追跡し、１つ又はそれよりも多くの評価要求及び／又は評価要求を提供したデジタルデバイスに関連する他の情報に基づいて全体的なリスク値を決定することができる。
【０１２７】
段階７１６では、警報モジュール５１６は、評価に関連付けられた１つ又はそれよりも多くのリスク値（例えば、全体的なリスク値）をリスク許容閾値と比較することができる。リスク許容閾値は、デフォルト値とすることができ、又はネットワーク管理者又は他の許可された人又はデバイスによって確立することができる。リスク許容閾値は、異なるアプリケーション、ファイル、ユーザ、ネットワーク、及び／又はデジタルデバイスに対して異なるものにすることができる。
【０１２８】
段階７１８では、警報モジュール５１６は、比較に基づいて警報を送信する。警報は、あらゆるデバイス及び／又は個人に送信することができる。
【０１２９】
段階７２０では、報告モジュール５１４は、評価に基づいて報告を発生する。一例では、この報告は、評価されたアプリケーション及びファイル属性、並びに評価の結果を識別する。この報告は、記録（例えば、過去の評価の結果）を提供したユーザ及び／又はデジタルデバイスの履歴を含むことができる。この報告は、ホワイトリストのアプリケーション及びファイル、及び／又はブラックリストのアプリケーション及びファイルを識別することができる。この報告は、グレイリストに関連付けられたあらゆるアプリケーション又はファイルを含むことができる。
【０１３０】
様々な実施形態において、この報告は、提案、訂正の経路、又は警告などを含むことができる。この報告は、更新されたプログラム及び／又はパッチへのリンクを含むことができる。
【０１３１】
様々な実施形態において、評価モジュール５１２は、１つ又はそれよりも多くのファイル又はアプリケーションがアクセスされた時にユーザ及びユーザのネットワーク権利を追跡することができる。この結果、評価モジュール５１２は、スーパーユーザ又は「高い」権利を有するユーザが脆弱なアプリケーション及びファイルを利用することによって招く場合がある潜在的なリスク及び潜在的な損害を識別することができる。一例では、評価モジュール５１２は、１つ又はそれよりも多くの記録が発生された時にユーザのアイデンティティ、並びにユーザのネットワーク権利を取得することができる。
【０１３２】
報告モジュール５１４は、１つ又はそれよりも多くのアプリケーション及び／又はファイルにアクセスしたユーザ、並びにユーザに関するネットワーク権利を識別することができる。
【０１３３】
図８は、一部の実施形態におけるセキュリティ評価サーバによって発生された例示的な報告８００である。アイデンティティ管理及び脆弱性の統合は、全体像を生成することができる。Ｗｉｎｄｏｗｓ及びＲｅｔｉｎａにＰｏｗｅｒＢｒｏｋｅｒのようなツールを使用することは、ホストで実行されているアプリケーション、アプリケーションを実行しているユーザの特権、及びＣＶＳＳのような規格を使用して表わされるリスク、及び脆弱性が突破口ツールキットにおいて利用可能であるかを示すことができる。図８に示すダッシュボードを考えられたい。
【０１３４】
この例では、ランタイム中に識別された脆弱性との関係における高い共通脆弱性得点システム（ＣＶＳＳ）得点を有する８つのアプリケーションが実行されている。３３．３３％が突破可能であり、購入又はダウンロードのために容易にアクセス可能なツールキットによって危うくなる場合がある。本明細書で説明する一部の実施形態は、アプリケーションが実行された時間、アプリケーションを実行した人、及びアプリケーションが実行された時間に使用された特権を検出及び報告する。様々な実施形態は、この情報を脆弱性及び他の尺度に相関付けることができる。この情報の全ては、ダッシュボード及び網羅的な報告として利用することができる。
【０１３５】
当業者は、一部の実施形態において、報告によって提供される全体像は、見出された脆弱性の従来の電話帳よりも大きいことを認めるであろう。更に、一部の実施形態は、特権的なアイデンティティ管理のためにシステム及びユーザによるアプリケーション使用を単純に制御及び測定すること以上のものを提供する。本明細書で説明する一部の実施形態は、現実世界のユーザ作動をユーザが日常的に作動させるアプリケーションのリスクにリンクさせる脆弱性とアイデンティティ管理との新しいタイプの融合である。脆弱性がゼロデイ又はパッチを当てていないレガシー脆弱性であるかに関わらず、ユーザ、許可、システム、及びアプリケーションによるリスクの理解は、従来技術のネットワーク走査で識別される見出された脆弱性の単なる大量の報告リストよりも修正、軽減、及び除外のための優れたガイダンスを提供することができる。
【０１３６】
当業者は、報告が評価に関するあらゆる情報も含むことができることを認めるであろう。
【０１３７】
図９は、例示的なデジタルデバイスのブロック図である。デジタルデバイス９０２は、通信チャネル９１６に通信することができるように結合されたプロセッサ９０４、メモリシステム９０６、格納システム９０８、入力デバイス９１０、通信ネットワークインタフェース９１２、及び出力デバイス９１４を含む。プロセッサ９０４は、実行可能命令（例えば、プログラム）を実行するように構成される。一部の実施形態において、プロセッサ９０４は、実行可能命令を処理することができる回路又はあらゆるプロセッサを含む。
【０１３８】
メモリシステム９０６は、データを格納する。メモリシステム９０６の一部の実施例には、ＲＡＭ、ＲＯＭ、ＲＡＭキャッシュ、仮想メモリなどのようなストレージデバイスが含まれる。様々な実施形態において、作業データは、メモリシステム９０６に格納される。メモリシステム９０６内のデータは、消去することができ、又は最終的に格納システム９０８に転送することができる。
【０１３９】
格納システム９０８は、データを取り出して格納するように構成されたあらゆるストレージを含む。格納システム９０８の一部の実施例には、フラッシュドライブ、ハードドライブ、光学ドライブ、及び／又は磁気テープが含まれる。メモリシステム９０６及び格納システム９０８の各々は、プロセッサ９０４によって実行可能な命令又はプログラムを格納するコンピュータ可読媒体を含む。
【０１４０】
入力デバイス９１０は、入力データを（例えば、マウス及びキーボード上で）受信するインタフェースのようなあらゆるデバイスである。出力デバイス９１４は、データを（例えば、スピーカ又はディスプレイに）出力するインタフェースである。当業者は、格納システム９０８、入力デバイス９１０、及び出力デバイス９１４を任意的とすることができることを認めるであろう。例えば、ルータ／スイッチ１１０は、プロセッサ９０４及びメモリシステム９０６、並びにデータを受信及び出力するためのデバイス（例えば、通信ネットワークインタフェース９１２及び／又は出力デバイス９１４）を含むことができる。
【０１４１】
通信ネットワークインタフェース（ｃｏｍ．ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ）９１２は、リンク９１８を通じてネットワーク（例えば、コンピュータネットワーク１２６）に結合することができる。通信ネットワークインタフェース９１２は、イーサネット（登録商標）接続、シリアル接続、パラレル接続、及び／又はＡＴＡ接続を通じた通信をサポートすることができる。通信ネットワークインタフェース９１２はまた、無線通信（例えば、８０２．１１ａ／ｂ／ｇ／ｎ、ＷｉＭａｘ、ＬＴＥ、ＷｉＦｉ）をサポートすることができる。通信ネットワークインタフェース９１２が多くの有線及び無線規格をサポートすることができることは当業者には明らかであろう。
【０１４２】
デジタルデバイス９０２のハードウエア要素が図９に示すものに制限されないことは当業者によって認められるであろう。デジタルデバイス９０２は、図示のものよりも多いか又は少ないハードウエア、ソフトウエア、及び／又はファームウエア構成要素を含むことができる（例えば、ドライバ、オペレーティングシステム、タッチスクリーン、生体測定分析器、その他）。更に、ハードウエア要素は、機能を共有することができ、かつ依然として本明細書で説明する様々な実施形態の範囲内である。一例では、符号化及び／又は復号は、ＧＰＵ（すなわち、Ｎｖｉｄｉａ）上に位置付けられたプロセッサ９０４及び／又はコプロセッサによって実行することができる。
【０１４３】
現在のセキュリティソリューションは、例えば、ウイルス対策署名、ヒューリスティックアルゴリズム、及びサンドボックス分析を含む多様な技術を使用して悪意のあるアプリケーションを阻止する。これらの手法は、試験条件下（例えば、サンドボックス内）で、ホスト上に悪意のある挙動を引き起こす可能性があると考えられる悪意のあるものとして又はそういった特徴を含むとしてアプリケーションが識別されたか否かに焦点を当てる。例えば、このようなソリューションは、正規のアプリケーションからマルウェアを識別する。
【０１４４】
マルウェアを識別するソリューションとは対照的に、本明細書における一部の実施形態は、脆弱性からのアプリケーション保護を可能にする。例えば、本明細書の実施形態は、アプリケーションの起動を検出し、かつアプリケーションの潜在的リスクに基づいてアプリケーションが起動を許されるか否か及び／又はアプリケーションが修正された許可を用いて起動を許されるかを決定することができる。潜在的リスクは、例えば、起動アプリケーションに関連付けられた脆弱性が存在するか否かを含むことができる。一例では、デジタルデバイス上のエージェントは、アプリケーションの起動を検出し、アプリケーションを識別し、かつアプリケーションに関連付けられた公知の脆弱性が存在するか否かを識別することができる。アプリケーションは、マルウェアではないが、むしろ公知の脆弱性を有する正規のアプリケーションである場合がある（例えば、ブラウザ上でフラッシュを再生するための公知のアプリケーション；フラッシュプレーヤは、突破できる脆弱性を有する場合がある）。脆弱性が識別された場合に（例えば、リスク情報から）、エージェントは、許可及び識別された脆弱性に基づいてアプリケーションが起動することを許し、アプリケーションが起動することを禁止し、又はアプリケーションの機能を修正することができる。
【０１４５】
いずれかのアプリケーションを起動させる決定は、従来、悪意のある意図に基づいてウイルス対策プログラム、ホストベースの侵入防止ソリューション、及びブラックリストアプリケーションに結び付けられてきた。本明細書に説明する様々な実施形態は、脆弱性又は他のリスク判断基準に基づく潜在的リスクに基づいて、アプリケーションが起動することができるか又は起動アプリケーションの許可を修正させることができるか否かを決定することができる。
【０１４６】
一例では、従来の抗マルウェアスキャナは、ＰＤＦ読取器（例えば、Ａｄｏｂｅ  Ａｃｒｏｂａｔ  Ｒｅａｄｅｒ）の古い及び欠陥バージョンにフラグを立てないか又は他に制限しない場合があり、その理由は、ＰＤＦ読取器が正規のアプリケーションであるからである（すなわち、ウイルス又はトロイの木馬のようなマルウェアではない）。しかし、ＰＤＦ読取器は、脆弱性を含む場合がある。仮に突破口又はマルウェアが存在して利用されない限り、脆弱性だけではリスクにならない場合がある。しかし、本明細書に説明する一部の実施形態は、いつＰＤＦ読取器が起動することになるかを検出し、一部の実施形態ではアプリケーションのバージョンを含むアプリケーションを識別し、ＰＤＦ読取器に関連付けられたリスク情報から公知のリスク（例えば、脆弱性）を識別し、かつアクションを取る（例えば、ＰＤＦ読取器の起動を中止する）ことができる。
【０１４７】
図１０は、一部の実施形態におけるユーザデバイス１０００のブロック図である。ユーザデバイス１０００は、あらゆるデジタルデバイスとすることができる。ユーザデバイス１０００の一部の例は、以下に限定されるものではないが、スマートフォン２０６、タブレットデバイス２０８、ラップトップ２１０、又は図２に関して説明したＰＣ２１４を含む。ユーザデバイス１０００は、アプリケーション１００２、エージェント１００４、マルウェア１００６、抗マルウェア１００８、及びオペレーティングシステム１０１０を含む。
【０１４８】
アプリケーション１００２は、あらゆる正規のアプリケーションを含むことができる。アプリケーションは、エンドユーザがワードプロセッシング又は通信のような特定のタスクを実行することを可能にするように設計されたあらゆるプログラムである。正規のアプリケーションは、マルウェア（例えば、トロイの木馬、ワーム、ウイルス、又はコンピュータ又はコンピュータシステムに損害を与えるか又は不能にするように意図されたソフトウェア）ではないあらゆるアプリケーションとすることができる。正規のアプリケーションは、例えば、ワードプロセッシングプログラム、オペレーティングシステム、ブラウザ、スプレッドシート、リーダー、プレーヤ、データベースアプリケーション、電子メールアプリケーション、又はデザインアプリケーションなどを含むことができる。当業者は、あらゆる数のアプリケーション１００２が存在する場合があることを認めるであろう。様々な実施形態において、アプリケーション１００２は、ユーザデバイス１０００のユーザ、管理者、及び／又は他の信頼される個人によってインストール及び／又は構成されたアプリケーションを含む。
【０１４９】
エージェント１００４は、ユーザデバイス１０００に存在し、リスク情報及び規則に基づいて１つ又はそれよりも多くのアプリケーション１００２の実行を制御するように構成することができる。リスク情報は、例えば、アプリケーションに関連付けられた１つ又はそれよりも多くの公知の脆弱性があるか否か又は１つ又はそれよりも多くの脆弱性に関連付けられた潜在的リスクがあるか否かを含む潜在的な脆弱性に関する情報を含むことができる。この代わりに又はこれに加えて、リスク情報は、アプリケーションの１つ又はそれよりも多くの脆弱性が突破される可能性のリスク値及び／又は指標を含むことができる。リスク情報は、１つ又はそれよりも多くの脆弱性が最初に識別された日付、「共通脆弱性採点システム」得点（すなわち、ＣＶＳＳ得点）、脆弱性が公に知られた日数、アプリケーションがパッチを当てていなかった日数、アプリケーションが規制基準に準拠していないか否か、アプリケーションを標準的なユーザとしてのみ実行することができるか否か、又は公開突破口が存在するか否かなどを含むことができる。
【０１５０】
リスク値は、アプリケーションに関連付けられたリスクの程度を示す少なくとも１つの値である。リスク値は、アプリケーションに関連付けられた少なくとも１つの脆弱性が検出されたか否か、検出されたアプリケーションに関連付けられた脆弱性の数、突破の可能性、突破された場合のユーザデバイス１０００への潜在的な損害、又は突破された場合のユーザデバイス１０００と通信するシステムへの潜在的な損害などに少なくとも一部基づくことができる。当業者は、ＣＶＳＳ得点の生成が標準的な方法に従うこと及びリスク値が１つ又はそれよりも多くのシステムの必要性に基づいて管理者などによってカスタムに生成されることを認めるであろう。
【０１５１】
エージェント１００４は、規則に基づいて１つ又はそれよりも多くのアプリケーションの実行を制御することができる。規則は、リスク情報に基づいて識別することができる。例えば、規則は、アプリケーションに関連付けられた少なくとも１つの脆弱性が検出されたか否か、検出されたアプリケーションに関連付けられた脆弱性の数、突破の可能性、突破された場合のユーザデバイス１０００への潜在的な損害、及び／又は突破された場合のユーザデバイス１０００と通信するシステムへの潜在的な損害などに基づいてアプリケーションを起動又は停止することができる。
【０１５２】
規則は、アプリケーション１００２の全てのアプリケーション又はアプリケーションの部分集合に適用することができる。一例では、規則は、予め決められた期間を超えて知られている又は疑わしい１つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス１０００に命令することができる。規則は、予め決められた期間を超えてパッチを当てていない場合に１つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス１０００に命令することができる。別の例では、規則は、１つ又はそれよりも多くの公知の又は疑わしい脆弱性に対する公開突破口が存在する場合、及び／又はアプリケーションの起動を試みるために使用されるユーザアカウントに特権が与えられている場合に（例えば、ルートアクセス）、１つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス１０００に命令することができる。
【０１５３】
エージェント１００４を図１１に関して更に説明する。
【０１５４】
マルウェア１００６は、その機能がネットワーク上のユーザデバイス１０００及び／又は別のデジタルデバイスからの情報に損害を与える及び／又は情報を盗むことであるあらゆるマルウェアである。ユーザデバイス１０００は、常にマルウェア１００６を含むとは限らない。マルウェア１００６は、抗マルウェア１００８によって検出及び／又は隔離することができる。マルウェア１００６は、本明細書に説明するように正規のアプリケーションを含まない。
【０１５５】
抗マルウェア１００８は、マルウェア１００６を検出するように構成されたあらゆるセキュリティアプリケーションである。抗マルウェア１００８は、例えば、ウイルス対策アプリケーション、ファイアウォールアプリケーション、又はマルウェアスキャナなどを含むことができる。当業者は、抗マルウェア１００８が本明細書に説明するようにマルウェア１００６を識別することができるが、マルチウェア対策１００８は、アプリケーション１００２及び規則に関連付けられたリスク情報に基づいて正規アプリケーション（すなわち、アプリケーション１００２）の脆弱性を識別することができず、１つ又はそれよりも多くのアプリケーション１００２が起動される時間を検出できず、及び／又はアプリケーション１００２の実行を制御できないことを認めるであろう。
【０１５６】
オペレーティングシステム１０１０は、あらゆるオペレーティングシステムとすることができる。例えば、オペレーティングシステム１０１０は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、ＯＳＸ、Ｕｎｉｘ、ＢＳＤ、又はあらゆる他のオペレーティングシステムとすることができる。一部の実施形態では、エージェント１００４は、オペレーティングシステム１０１０と通信するＡＰＩ及び／又はモジュールを含み、アプリケーションが起動される時間を検出することができる。
【０１５７】
図１１は、一部の実施形態においてユーザデバイス１０００上とすることができるエージェント１００４のブロック図である。エージェント１００４は、モニタモジュール１１０２、識別子モジュール１１０４、脆弱性検査器モジュール１１０６、規則モジュール１１０８、制御モジュール１１１０、更新モジュール１１１２、脆弱性データベース１１１４、及び規則データベース１１１６を含む。
【０１５８】
モニタモジュール１１０２は、ユーザデバイス１０００のアプリケーション（例えば、アプリケーション１００２の少なくとも１つのアプリケーション）の起動をモニタするように構成される。様々な実施形態では、モニタモジュール１１０２の全部又は一部は、アプリケーションを起動するためのオペレーティングシステム１０１０への呼出しを傍受する及び／又は他に受信する。起動アプリケーションは正規のアプリケーションとすることができる。本明細書に説明するように、アプリケーションは、あらゆる実行ファイルとすることができる。
【０１５９】
様々な実施形態では、モニタモジュール１１０２の全部又は一部は、オペレーティングシステム１０１０内にフックを有することができる（例えば、モニタモジュールは、カーネルにフックを有することができる）。モニタモジュール１１０２は、指令又は呼出しを検出してアプリケーションを起動することができ、又はこのような指令又は呼出しを傍受することができる。
【０１６０】
識別子モジュール１１０４は、起動アプリケーション及び／又は起動アプリケーションの１つ又はそれよりも多くの属性を識別するように構成される。例えば、識別子モジュール１１０４は、起動アプリケーション、並びに起動アプリケーションのバージョンを識別することができる。識別子モジュール１１０４の全部又は一部は、オペレーティングシステム１０１０内にあるか又はオペレーティングシステム１０１０と通信し、ユーザデバイス１０００のメモリ（例えばＲＡＭ）に存在し、又はユーザデバイス１０００のあらゆる構成要素と通信することができる。
【０１６１】
様々な実施形態では、アプリケーションの起動を命令する前に、識別子モジュール１１０４は、ユーザデバイス１０００の全部又は一部を走査してアプリケーション及び／又はアプリケーションの属性（例えば、バージョン）を識別することができる。アプリケーション識別子及び／又は属性は、格納するか又はキャッシュに入れることができる。モニタモジュール１１０２がアプリケーションを起動するための指令又は呼出しを検出した時に、識別子モジュール１１０４は、前に格納された又はキャッシュに入れられた情報に基づいて起動アプリケーションを識別することができる。
【０１６２】
一部の実施形態では、情報を前もって利用できない場合に、識別子モジュール１１０４は、アプリケーション又はアプリケーションに関連付けられたファイルを走査してアプリケーション及び／又はアプリケーションの属性を識別することができる。様々な実施形態では、識別子モジュール１１０４は、アプリケーションの起動に関連付けられた指令を傍受する。識別子モジュール１１０４は、起動アプリケーションに関連付けられたファイル及び実行ファイルを走査してアプリケーション及び／又は起動アプリケーションに関連付けられた属性を識別することができる。一例では、識別子モジュール１１０４は、起動アプリケーションに関連付けられたディレクトリからファイルを取り出して走査する。識別子モジュール１１０４は、アプリケーション識別子を生成するか又は走査したディレクトリからアプリケーション識別子を取り出すことができる。様々な実施形態では、識別子モジュール１１０４及び／又はセキュリティサーバ１２００（図１２を参照されたい）は、本明細書に説明するようにユーザデバイス１０００を走査するか又は記録を受信して記録からファイル識別子及び／又は属性を構文解析し、１つ又はそれよりも多くのアプリケーション及び／又は属性を識別することができる。セキュリティサーバ１２００がアプリケーション識別子及び／又は属性を識別した場合に、この情報は、エージェント１００４に提供することができる。
【０１６３】
一部の実施形態では、識別子モジュール１１０４は、格納された複数のアプリケーション識別子からアプリケーション識別子を取り出す。アプリケーション識別子の取り出しは、起動アプリケーションのディレクトリの走査からの情報に基づくことができる。アプリケーション識別子は、起動アプリケーションを識別することができるアプリケーションの名前、値（例えばコード）、ハッシュ、又はあらゆる他の情報とすることができる。
【０１６４】
属性は、起動アプリケーションのバージョン又は起動アプリケーションを識別するのに使用することができるあらゆる他の情報を識別することができる。属性は、例えばファイル属性を含むあらゆる情報を含むことができる（図２に関する説明を参照されたい）。
【０１６５】
当業者は、一部の実施形態において、リスク情報を取り出すためにアプリケーション識別子（いずれの他の属性のバージョン番号もない）を利用することができることを認めるであろう。例えば、アプリケーションのハッシュ、ディレクトリの位置、又は他の情報は、リスク情報及び／又は規則を取り出すのに十分である場合がある。
【０１６６】
様々な実施形態において、識別子モジュール１１０４はまた、アプリケーションの起動を求めるユーザのユーザログインステータスを識別することができる。例えば、識別子モジュール１１０４は、アプリケーションの起動を呼び出すユーザが、信頼される又は高められたアカウントとして署名されているか否か（例えば、ユーザが能動的な監督又はスーパーユーザの権利を有するか否か）を検出することができる。当業者は、他の正規のアプリケーションの突破された脆弱性が、管理者権利を利用してユーザデバイス１０００又はユーザデバイス１０００と通信するネットワーク上の信頼されるシステムに更に損害を与える可能性があることを認めるであろう。
【０１６７】
脆弱性検査器モジュール１１０６は、識別したアプリケーション及び／又は属性を利用してリスク情報を取り出すように構成される。リスク情報は、起動アプリケーションのリスクに関連付けられたあらゆる情報である。リスク情報は、起動アプリケーションに関連付けられた公知の脆弱性の数、起動アプリケーションに関連付けられた１つ又はそれよりも多くの特定の脆弱性に関する情報、起動アプリケーションがパッチを当てていなかった日数（又は経過したいずれかの時間）、アプリケーションに関連付けられた１つ又はそれよりも多くの脆弱性が検出されてからの日数（又は経過したいずれかの時間）、１つ又はそれよりも多くの脆弱性の１つ又はそれよりも多くの公開突破口が存在するか否か、ユーザデバイス１０００への１つ又はそれよりも多くの脆弱性に関連付けられた潜在的な損害、ユーザデバイス１０００と通信するネットワークの信頼されるデバイスへの１つ又はそれよりも多くの脆弱性に関連付けられた潜在的な損害、１つ又はそれよりも多くの脆弱性のＣＶＳＳ得点、リスク値、利用されなかった利用することができるパッチ、及び／又は利用されていないパッチが利用することができるようになってからの日数などを含むことができる。
【０１６８】
リスク情報は、脆弱性データベース１１１４に格納することができる。例えば、脆弱性検査器モジュール１１０６は、アプリケーション識別子（例えば、Ａｄｏｂｅ  Ａｃｒｏｂａｔ  Ｒｅａｄｅｒ）、バージョン番号（例えば、バージョン１１．０．０１）、及び／又は識別子モジュール１１０４から受信したあらゆる他の属性に基づいてリスク情報を取り出すことができる。この例では、リスク情報は、公に利用可能な突破口を有する３つの公知の脆弱性が存在することを示すことができる。リスク情報は、６０日よりも長い期間に公知の脆弱性の２つが知られていたことを示すことができる。別の例では、リスク情報は、１つ又はそれよりも多くのＣＶＳＳ得点を含むことができる。
【０１６９】
規則モジュール１１０８は、リスク情報に基づいて規則データベース１１１６から１つ又はそれよりも多くの規則を取り出すように構成することができる。規則は、リスク情報に基づいて取られる１つ又はそれよりも多くのアクションを示す規定及び／又は規則を含むことができる。規則は、特定のアプリケーション、アプリケーションバージョン、及び／又はアプリケーションの他の属性に固有のものとすることができる。規則は、全てのアプリケーション又はアプリケーションの群に適用することができる（例えば、重大なアプリケーションは、１つ又はそれよりも多くの許可毎に一緒に分類することができ、重要なアプリケーションは、１つ又はそれよりも多くの他の許可毎に一緒に分類することができ、重要でないアプリケーションは、他の許可毎に一緒に分類することができる）。
【０１７０】
様々な実施形態において、規則モジュール１１０８は、リスク情報に基づいて異なる規則を取り出さない。一部の実施形態では、規則モジュール１１０８は、リスク情報に関連付けられた規則の１つ又はそれよりも多くのデータ構造を含む。制御モジュール１１１０は、最も厳しい適用可能な規則に基づいてタスクを実行するように構成することができる。適用可能な規則は、脆弱性検査器モジュール１１０６から取り出したリスク情報に基づいて起動アプリケーションに適用される規則である。最も厳しい適用可能な規則は、他の適用可能な規則に関連付けられた活動と比較した時に最も厳しく起動アプリケーションを規制する適用可能な規則である。
【０１７１】
例えば、規則は、起動アプリケーションの阻止を結果として生じるリスク情報に関連付けられた規則が最初に列挙され、修正なしの起動アプリケーションの起動を結果として生じるリスク情報に関連付けられた規則を最後に列挙することができるテーブルに並べ替えることができる。制御モジュール１１１０が、起動アプリケーションの起動を可能にするが、機能を不能にするか（例えば許可を修正する）又は更なる機能を要求することをもたらすリスク情報に関連付けられた規則は、最も制限される要件に基づいてリストで並べ替えることができる。規則モジュール１１０８が、最も厳しいカテゴリ（例えば起動アプリケーションの起動を阻止する）から適用可能な規則を識別した状態で、規則モジュール１１０８は、あらゆる他の適用可能な規則を取り出さず又は識別しない場合があり、制御モジュール１１１０は、起動アプリケーションが起動しないように阻止することができる。
【０１７２】
規則モジュール１１０８は、起動アプリケーションのリスク情報に関連付けられたあらゆる数の規則も識別することができ、制御モジュール１１１０は、１つ又はそれよりも多くの規則に基づいて起動アプリケーションを制御することができる。例えば、規則は、予め決められた閾値よりも大きいＣＶＳＳ得点を有するあらゆるアプリケーションの起動を阻止するように制御モジュール１１１０に指示することができる。
【０１７３】
規則は、起動アプリケーションが起動することを中止するか、又は修正された許可によって又は修正された許可なしに起動アプリケーションの起動を可能にすることができる。起動アプリケーションを中止するか又は修正された許可によってアプリケーションの起動を可能にするように制御モジュール１１１０に命令することができる例示的な規則は、制限されないが以下を含む。
脆弱性が、「ｎ」日前に公に開示された。
脆弱性が、「ｎ」日前にユーザデバイス１０００上で検出された。
起動アプリケーションが、ＨＩＰＡＡのようないずれかの規制基準を侵害する。
起動アプリケーションが、標準的なユーザとしてのみ実行することができる。
公開突破口が存在する場合に許可／拒否する。
ＣＶＳＳ得点が予め決められたパラメータ内である場合に起動アプリケーションが通常モードで起動することを許可／拒否する。
【０１７４】
当業者は、規則モジュール１１０８が任意的である場合があることを認めるであろう。例えば、制御モジュール１１１０は、リスク情報を受信し、かつリスク情報に基づいて適用可能な規則に対して作用することができる。
【０１７５】
制御モジュール１１１０は、１つ又はそれよりも多くの適用可能な規則に基づいて起動アプリケーションを制御するように構成される。一例では、適用可能な規則がない場合に、制御モジュール１１１０は、アクションをとらず、これによって起動アプリケーションを修正なしで起動することができるようにする。当業者は、１つ又はそれよりも多くの適用可能な規則が、修正なしに起動アプリケーションの起動を可能にするように制御モジュール１１１０に命令することができることを認めるであろう。起動アプリケーションの起動を可能にする一つの例では、制御モジュール１１１０は、任意的に１つ又はそれよりも多くの適用可能な規則に基づいて、アプリケーションを起動するための１つ又はそれよりも多くの指令を提供するように構成することができる。一部の実施形態では、制御モジュール１１１０は、１つ又はそれよりも多くの規則に基づいて、ユーザが管理者としてログインしていないか又はスーパーユーザの権利を有する場合に起動アプリケーションの起動を可能にすることができる。別の例では、制御モジュール１１１０は、１つ又はそれよりも多くの規則に基づいて、ユーザが、標準的なユーザ、特定の権利を有するユーザ、特定の権利を持たないユーザ、又は制限された権利を有するユーザとしてログインされている場合に起動アプリケーションの起動を可能にすることができる。
【０１７６】
一部の実施形態では、制御モジュール１１１０は、１つ又はそれよりも多くの適用可能な規則に基づいて起動アプリケーションの起動を禁じることができる。例えば、１つ又はそれよりも多くの適用可能な規則に基づいて、制御モジュール１１１０は、規則に基づいてアプリケーションを起動するための１つ又はそれよりも多くの指令を傍受することができる。一部の実施形態では、制御モジュール１１１０は、アプリケーション又はアプリケーションに関連付けられた処理を終わらせるための１つ又はそれよりも多くの指令を提供することができる。
【０１７７】
様々な実施形態では、制御モジュール１１１０は、規則に基づいて正規のアプリケーションに関連付けられた許可を修正することができる。一例では、起動アプリケーションがブラウザである場合に、制御モジュール１１１０は、機能を制限して（例えば、フラッシュ、ジャバスクリプト、又はクッキーなどを不能にすること）ブラウザに起動を許可することができる。別の例では、制御モジュール１１１０は、ブラウザが異なる設定（例えば、プライバシー設定を高にセットする、ポップアップブロッカーを起動する、ゾーンのセキュリティを上げる、信頼されるサイトへのブラウザアクセスを制限する、及び／又はアプリケーション活動のロギングを作動するなど）を起動することを可能にすることができる。
【０１７８】
脆弱性データベース１１１４は、アプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含むあらゆるデータ構造を含む。一例では、脆弱性データベース１１１４は、正規のアプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含む。別の例では、脆弱性データベース１１１４は、いずれかのアプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含む。当業者は、脆弱性データベース１１１４があらゆるデータ構造を含むことができ、必ずしもデータベースを含まなくてもよいことを認めるであろう。
【０１７９】
規則データベース１１１６は、リスク情報、アプリケーション識別子、及び／又は属性に基づくアクションに関連付けられた規定及び／又は命令を含むあらゆるデータ構造である。
【０１８０】
様々な実施形態では、エージェント１００４は、制御モジュール１１１０によって取られるアクションに関するメッセージ及び／又は警報を提供するように構成された通信モジュールを含む。例えば、制御モジュール１１１０がアプリケーションの起動を阻止する又は他にアプリケーションを終了する場合に、通信モジュールは、アプリケーションが阻止又は終了されたことをユーザデバイス１０００のユーザに通知することができる。通信モジュールは、取られるアクションを示すメッセージ又は警報を管理者に（例えば電子メール又はＳＭＳテキストを介して）又はデジタルデバイスに提供することができる。様々な実施形態では、通信モジュールは、アプリケーションの起動を可能にするパッチ又は他の選択肢を利用することができるか否かをユーザに通知することができる。
【０１８１】
当業者は、図１１に識別されたモジュールが本明細書に説明するものよりも多いか又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。図１１に関して示した機能は、単一のデジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態では、複数のデジタルデバイスは、同時に機能を実行する。
【０１８２】
図１２は、一部の実施形態においてユーザデバイス１０００のエージェント１００４と通信することができるセキュリティサーバ１２００のブロック図である。セキュリティサーバ１２００は、リスク評価モジュール１２０２、リスクＡＰＩモジュール１２０４、規則生成モジュール１２０６、記録収集モジュール１２０８、脆弱性更新モジュール１２０８、及び規則更新モジュール１２１０を含む。セキュリティサーバ１２００は、アプリケーションにおける脆弱性を識別し、リスク情報を準備して他のデジタルデバイスに配信し、同時に規則を生成して他のデジタルデバイスに配信するように構成することができる。
【０１８３】
リスク評価モジュール１２０２は、アプリケーションに関連付けられた脆弱性及び他のリスクを識別するように構成される。一部の実施形態では、リスク評価モジュール１２０２は、正規のアプリケーションに関連付けられた脆弱性及び他のリスクを識別するように構成される。
【０１８４】
様々な実施形態では、リスク評価モジュール１２０２は、脆弱性、パッチ、更新、及び／又は他のリスク情報に関連付けられた情報を取り出す。一例では、リスク評価モジュール１２０２は、ソフトウェア制作者、ソフトウェア配信者、セキュリティソフトウェア制作者又はベンダー、セキュリティ指向ウェブサイト、ブログ、マルウェア警報システム、又は公知の脆弱性、突破口、パッチ、更新、又は他の情報に関する情報を含むことができるあらゆる他のソースから情報を取り出す。一部の実施形態では、管理者又は他のユーザは、リスク評価モジュール１２０２に提供するための脆弱性及びリスク情報を捜し出す。
【０１８５】
リスク評価モジュール１２０２は、取り出した情報をリスク情報として格納することができる。リスク情報は、あらゆる数のアプリケーションに関連付けられた１つ又はそれよりも多くの脆弱性、ＣＶＳＳ得点、及び／又はリスクを識別することができる。取り出した情報は、アプリケーションに（例えば、アプリケーション識別子により）及び／又はアプリケーション属性（例えばバージョン）に関連付けることができる。様々な実施形態では、リスク評価モジュール１２０２は、情報を格納、フォーマット化、及び修正し、他のデジタルデバイスに提供するためのリスク情報を生成する。
【０１８６】
リスクＡＰＩモジュール１２０４は、脆弱性、ＣＶＳＳ得点、セキュリティ、パッチ、突破口、新バージョンに関連付けられた情報、及び／又はあらゆる他の種類の情報を取り出すためにアプリケーション及び／又はウェブサイトの利用可能なＡＰＩにアクセスするように構成され、他のデジタルデバイスに提供されるリスク情報を生成する。例えば、リスクＡＰＩモジュール１２０４は、Ｓｙｍａｎｔｅｃ、ＭｃＡｆｅｅ、Ｓｏｐｈｏｓ、ブログ、Ｍｉｃｒｏｓｏｆｔ、Ａｄｏｂｅ、アプリケーションダウンロード／更新サイト、又はセキュリティウェブサイトからの情報にアクセスするように構成することができる。
【０１８７】
規則生成モジュール１２０６は、他のデジタルデバイスに提供することができる規則を生成するように構成される。本明細書に説明するように、一部の実施形態では、１つ又はそれよりも多くの特定のアプリケーション、アプリケーションの群、又は全部のアプリケーションのための規則を生成することができる。一例では、管理者は、２つよりも多い脆弱性及び公知の公開突破口を有するあらゆる起動アプリケーションが阻止される規則及び／又は規定を生成することができる。規則は、他のデジタルデバイスに提供することができ、これは、次に、規則条件が満足されたことをリスク情報が示した時に規則を適用することができる。
【０１８８】
規則は、ネットワーク又は組織の必要性に基づいて生成することができる。従って、規則は、組織の許容可能なリスクに基づくことができる。例えば、センシティブなシステムは、あらゆるユーザに対して３０日よりも古い重大な脆弱性を有するアプリケーションを実行することを許さない場合がある。しかし、ワークステーション上では、このアプリケーションは、標準的なユーザとしてのみ実行することができ、管理者としては決してできず（他の規則又はログオン許可にかかわらず）、従って、規則は、一部の状況ではアプリケーションの実行を可能にするために修正することができる。
【０１８９】
更に、規則は、コンプライアンスに対処するために生成することができる。例えば、ＰＣＩのような多くの規制イニシアチブは、重大性がＣＶＳＳ得点に基づいて重要なステータスにマップされた場合に３０日で脆弱性にパッチを当てることを強制している。監査が非コンプライアンスを証明した場合に戒めの罰則がある。これに加えて、これらの脆弱なアプリケーションが実行を許可された場合にあらゆる組織へのリスクが高まる。これらを管理者として実行することができる場合にこれは特に真である。この判断基準を満足するアプリケーションの起動を自動的に阻止する規則を生成することができる。
【０１９０】
記録モジュール１２０８は、他のデジタルデバイスに配信するためのリスク情報を準備するように構成される。記録モジュール１２０８は、リスク評価モジュール１２０２及び／又はリスクＡＰＩモジュール１２０４から情報を受信して配信するリスク情報を生成及び準備するように構成することができる。例えば、リスク情報は、脆弱性、リスク、及び突破口に関する情報をアプリケーション識別子及び／又は属性（例えば、バージョン番号）に基づいて取り出すことができるように準備することができる。一例では、記録モジュール１２０８は、情報を標準化してリスク情報を生成する。
【０１９１】
様々な実施形態では、記録モジュール１２０８は、規則生成モジュール１２０６からの規則を他のデジタルデバイスに配信するよう準備することができる。一例では、記録モジュール１２０８は、規則をフォーマット化又は他に組織化することができ、これによって、リスク情報又はあらゆる他の必要な情報に基づいて規則を識別及び／又は取り出すことができる。一部の実施形態では、記録モジュール１２０８は、規則を組織化し、複製を識別し、及び／又は重なり合う規則を識別することができ、これによって管理者のようなユーザが訂正を行うことを可能にする。
【０１９２】
脆弱性更新モジュール１２０８は、リスク情報を例えばユーザデバイス１０００のような他のデジタルデバイスに提供するように構成される。脆弱性更新モジュール１２０８は、全てのリスク情報、新しいリスク情報のみ、及び／又は１つ又はそれよりも多くのデジタルデバイスに前もって提供されていないリスク情報を提供することができる。
【０１９３】
規則更新モジュール１２１０は、１つ又はそれよりも多くの規則を例えばユーザデバイス１０００のような他のデジタルデバイスに提供するように構成される。規則更新モジュール１２１０は、全ての規則、新しい規則のみ、及び／又は前もって１つ又はそれよりも多くのデジタルデバイスに提供されなかった規則を提供することができる。一部の実施形態では、規則更新モジュール１２１０は、１つ又はそれよりも多くの規則を１つ又はそれよりも多くのデジタルデバイスに及び１つ又はそれよりも多くの他の規則を１つ又はそれよりも多くの他のデジタルデバイスに提供することができる。例えば、重要なデジタルデバイスは、重要な情報又は機能への制限されたアクセスを有するユーザデバイスに提供される規則とは異なる（例えば厳しい）規則を要求することができる。
【０１９４】
当業者は、図１２に識別されたモジュールが、本明細書に説明する機能よりも多いか又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。図１２に関して示した機能は、単一のデジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態では、複数のデジタルデバイスは同時に機能を実行する。
【０１９５】
図１３は、一部の実施形態におけるリスク情報及び規則に基づいてアプリケーションの実行を制御するための流れ図である。段階１３０２で、モニタモジュール１１０２は、アプリケーション１００２の正規アプリケーションを実行又は起動する命令をユーザデバイス１０００でモニタする。モニタモジュール１１０２は、アプリケーション１００２のあらゆる数のアプリケーションを起動又は他に実行するための指令又は呼出しをモニタ及び／又は傍受するオペレーティングシステム１０１０内の構成要素を含むことができる。
【０１９６】
段階１３０４で、識別子モジュール１１０４は、起動する正規アプリケーションの１つ又はそれよりも多くの属性を識別する。一部の実施形態では、識別子モジュール１１０４は、起動されることになるアプリケーション及び／又は起動されることになるアプリケーションに関連付けられたファイルを前もって走査している。識別子モジュール１１０４が前もってアプリケーションを識別していない場合に、識別子モジュール１１０４は、アプリケーションから又はアプリケーションに関係のある情報からアプリケーション識別子、バージョン番号、及び／又は他の属性を取り出すか又は生成することができる。
【０１９７】
識別子モジュール１１０４は、起動されることになるアプリケーション及び／又はアプリケーションに関連付けられたあらゆる数の属性を識別することができる。一例では、識別子モジュール１１０４は、アプリケーション識別子及び／又は属性識別子（例えば、アプリケーション名及びバージョン）を生成又は取り出す。一部の実施形態では、識別子モジュール１１０４は、モニタされた及び／又は傍受された指令又は呼出しから情報（例えば、アプリケーション識別子及び／又は属性）を取り出す。
【０１９８】
段階１３０６で、脆弱性検査器モジュール１１０６は、識別子モジュール１１０４から属性に関連付けられたリスク情報を取り出す。一部の実施形態では、脆弱性検査器モジュール１１０６は、アプリケーション識別子及び／又は少なくとも１つの属性（例えば、バージョン番号）に基づいてリスク情報を取り出す。脆弱性検査器モジュール１１０６は、あらゆる情報に基づいて脆弱性データベース１１１４からリスク情報を取り出すことができる。
【０１９９】
段階１３０８で、脆弱性検査器モジュール１１０６は、リスク情報に基づいて起動されることになるアプリケーションに関連付けられたリスクを識別する。リスク情報は、ＣＶＳＳ得点、起動アプリケーションに関連付けられたいずれかの公知の脆弱性があるか否か、このような脆弱性の数、公知の公開突破口、及び１つ又はそれよりも多くの脆弱性が最初に検出されてからの日数などを含むことができる。
【０２００】
段階１３１０で、規則モジュール１１０８は、リスク情報に関連付けられた１つ又はそれよりも多くの規則を取り出す。規則モジュール１１０８は、規則データベース１１１６から又はあらゆるデータ構造から１つ又はそれよりも多くの規則を取り出すことができる。１つ又はそれよりも多くの規則は、起動されることになるアプリケーションを管理する命令又は規定を含むことができる。例えば、１つの規則は、リスク情報に基づいて（例えば、重大な脆弱性が、起動されることになるアプリケーションのバージョンに関連付けられるか、又はＣＶＳＳ得点が高すぎる）アプリケーションの起動を阻止する命令を含むことができる。
【０２０１】
一部の実施形態では、規則は、規則モジュール１１０８が、アプリケーションを制御するための制御モジュール１１１０への命令を生成することを可能にする。
【０２０２】
段階１３１２で、制御モジュール１１１０は、取り出された規則に基づいて正規アプリケーションの実行又は起動を制御する。様々な実施形態では、制御モジュール１１１０は、アプリケーションを修正なしで起動することができるようにするか又は命令することができる。制御モジュール１１１０は、適用可能な規則に基づいてアプリケーションが起動しないように阻止し、アプリケーションを終了し、又は起動アプリケーションに関連付けられた許可を修正することができる。
【０２０３】
図１４は、一部の実施形態におけるリスク情報及び規則を更新するための流れ図である。段階１４０２で、リスク評価モジュール１２０２は、１つ又はそれよりも多くの正規アプリケーションの脆弱性を識別する。例えば、リスク評価モジュール１２０２は、あらゆる数のソースからセキュリティ、脆弱性、及び他の情報を取り出すことができる。一部の実施形態では、管理者及びセキュリティ専門家は、あらゆる数のソースからセキュリティ情報を取得し、この情報をリスク評価モジュール１２０２に提供する。一部の実施形態では、リスクＡＰＩモジュール１２０４は、１つ又はそれよりも多くのＡＰＩを利用する１つ又はそれよりも多くの異なるサイトから脆弱性及び／又はセキュリティ情報を識別及び取り出す。
【０２０４】
段階１４０４で、リスク評価モジュール１２０２、リスクＡＰＩモジュール１２０４、及び／又は記録モジュール１２０８は、識別された脆弱性に関連付けられたリスク情報を生成する（例えば、フォーマット化及び／又は組織化する）。一例では、記録モジュール１２０８は、取り出した又は受信した情報をフォーマット化し、１つ又はそれよりも多くのデジタルデバイスに配信するリスク情報を生成及び／又は提供する。段階１４０６で、脆弱性更新モジュール１２０８は、リスク情報更新を１つ又はそれよりも多くのデジタルデバイスに提供する。
【０２０５】
段階１４０８で、規則生成モジュール１２０６は、リスク情報に関連付けられた少なくとも１つの規則を生成又は受信する。規則生成モジュール１２０６は、リスク情報、アプリケーション識別子、及び／又はアプリケーションに関連付けられた属性に基づいて規則を取り出すことができるように少なくとも１つの規則を生成することができる。段階１４１０で、規則更新モジュール１２１０は、規則更新を１つ又はそれよりも多くのデジタルデバイスに提供する。
【０２０６】
段階１４１２で、セキュリティサーバ１２００は、リスク情報、生成された規則、及び／又はデジタルデバイスに関する報告を発生させることができる。一例では、報告は、管理者が、リスク情報の全部又は一部を変更、更新、修正、追加、又は削除することができるように、過去及び現在のリスク情報を詳述する。一部の実施形態では、報告は、過去及び最近決定された規則を詳述することができる。報告は、管理者が、規則の全部または一部を変更、更新、修正、追加、又は削除することができるようにする。報告は、デジタルデバイス識別子、及び／又はデジタルデバイスの部分集合を含むあらゆる数のデジタルデバイスに提供されたリスク情報及び／又は規則を任意的に追跡することができる。報告は、エージェント１００４によって取られるあらゆるアクション及び／又はセキュリティソフトウェアによるアクション（例えば隔離）を含むアプリケーション及び／又はデジタルデバイスに関連付けられた検出された脆弱性を任意的に詳述することができる。
【０２０７】
図１５は、一部の実施形態における正規のアプリケーションの脆弱性を識別する例示的な脆弱性インタフェースである。図１５では、脆弱性インタフェースは、セキュリティサーバ１２０によって生成することができ、かつリスク評価モジュール１２０２及び／又はリスクＡＰＩモジュール１２０４によって識別又は検出された公知の脆弱性を列挙することができる。脆弱性インタフェースは、ユーザ又は管理者が、アプリケーション名、監査ＩＤ、事象ＩＤ、重大性の程度、及び／又はあらゆる他の情報によって整理される識別された及び／又は検出された脆弱性を見られるようにする。管理者は、最後の７日間、最後の３０日間、最後の６０日間、最後の９０日間、又はカスタム定義の日付の範囲にわたってセキュリティサーバ１２００によって識別された脆弱性の閲覧を要求することができる。
【０２０８】
図１６は、一部の実施形態におけるセキュリティサーバによって発生された例示的な報告である。図１６では、例示的な報告は、ユーザが、重大性、アプリケーションバージョンに関連付けられた脆弱性の数、１つ又はそれよりも多くの脆弱性がゼロデイである場合にローカルに突破された公開突破口があったか否か、及び訂正することができるいずれかのアクション（例えば、利用可能なパッチ）のようなリスク情報に基づいて、識別された及び／又は検出された脆弱性を整理することを可能にする。報告は、脆弱性に関連付けられた識別子を含むことができる。この報告は、管理レベルで発生させることができ、かつ実行されたアプリケーション及び起動されたアプリケーション内に存在する脆弱性に関するアクション可能なステータスを提供することができる。
【０２０９】
上述の機能及び構成要素は、コンピュータ可読媒体のようなストレージ媒体上に格納された命令を含むことができる。命令の一部の実施例は、ソフトウエア、プログラムコード、及びファームウエアを含む。命令は、多くの方法でプロセッサによって取り出して実行することができる。
【０２１０】
本発明を例示的な実施形態に関して上記に説明した。様々な変更を実行することができること及び他の実施形態を本発明のより広範な範囲から逸脱することなく使用することができることは当業者には明らかであろう。従って、例示的な実施形態に対するこれら及び他の変形は、本発明によって網羅されるように意図している。
【符号の説明】
【０２１１】
２００  例示的環境
２０２  セキュリティ評価システム
２０４  通信ネットワーク
２１２  ネットワークデバイス
２２０  セキュリティ管理システム
【図１】
2016513324.tif 000003
【図３】
2016513324.tif 000004
【図４】
2016513324.tif 000005
【図５】
2016513324.tif 000006
【図６】
2016513324.tif 000007
【図７】
2016513324.tif 000008
【図９】
2016513324.tif 000009
【図１０】
2016513324.tif 000010
【図１１】
2016513324.tif 000011
【図１２】
2016513324.tif 000012
【図１３】
2016513324.tif 000013
【図１４】
2016513324.tif 000014
【図１５】
2016513324.tif 000015
【図１６】
2016513324.tif 000016
【図２】
2016513324.tif 000017
【図８】
2016513324.tif 000018
【国際調査報告】
2016513324.tif 000019