図1は、従来技術における脆弱性状態に符合するターゲットの能動ネットワーク走査のための流れ図100である。走査ターゲットの従来の脆弱性評価は、ターゲットハードウエア及びソフトウエアの構成又は状態を監査する一連の試験を開始することになる。これらの検査は、紛失パッチ又は安全でない構成のような脆弱性を試験することになる。これらの試験の部分集合は、典型的には、ターゲット機械上にインストールされたソフトウエア及びクライアントアプリケーションを調べる。ファイルシステム、レジストリ、及び構成ファイルを調べることにより、スキャナは、アプリケーション(例えば、インターネットエクスプローラ、Firefox、マイクロソフトアウトフック、マイクロソフトメディアプレーヤ、及びRealNetworksのRealPlayer)の旧式バージョンを検出することができる。典型的には、これらの能動試験は、インストールされたアプリケーションを調べて以下を識別することになる。
・アプリケーション名
・アプリケーションの発行者
・ファイル名
・ファイル位置/経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム(MD5、SHA−1、その他)
・デジタル署名
この情報から、脆弱性スキャナは、公知の脆弱性のデータベースを検索し、インストールされたアプリケーションが公知の脆弱性に関連付けられるかを調べる。次に、脆弱性スキャナのユーザに規範的ガイダンスが提供される。
流れ図100は、従来技術におけるターゲットのネットワーク走査の例示的な処理である。段階102では、走査サーバが、走査ターゲットを選択する。走査ターゲットは、走査をサポートするように構成されたあらゆるデジタルデバイスとすることができる。一例では、デジタルデバイスは、走査ソフトウエアと、走査を指令することができるセントラルサーバに応答する少なくとも1つのエージェントとをインストールしておくべきである。デジタルデバイスは、プロセッサ及びメモリを備えたあらゆるデバイスである。
段階104では、走査サーバは、利用可能な走査ターゲットを決定することができる。走査サーバは、典型的には、ネットワーク走査のスケジューリングを必要とする。走査は、一般的に、走査がデジタルデバイスの性能を低下させるのでターゲットデジタルデバイスが使用されない時に行われる。残念ながら、多くのデジタルデバイスが使用されない時に、それらは、停止される場合があり(すなわち、ネットワークに利用できない)、この結果、接続されていない及び/又は給電されていないデジタルデバイスは走査できない。
段階106では、走査サーバは、ターゲットデジタルデバイスの利用可能度を決定する。ターゲットデジタルデバイスがネットワークにあり、かつ走査のためのリソースを有する場合に(例えば、ターゲットデジタルデバイスが、朝の午前3時に利用可能であり、及び/又は予め決められた期間にわたってユーザによって使用されていない)、走査サーバは、段階108でネットワークを通じて走査ターゲット(ターゲットデジタルデバイスなど)に接続することができる。ターゲットデジタルデバイスが利用できない場合に、処理は、段階118で終了するか又は別の時間に再スケジュールすることができ、それによって走査サーバは、ここでもまた、ターゲットデジタルデバイスが利用可能であるかを決定しなければならない(段階106を参照されたい)。
走査サーバが段階110でターゲットデジタルデバイスへの接続に成功した場合に、走査サーバは、ターゲットデジタルデバイスを直接に走査することができ、又は段階112でターゲットデジタルデバイスのセルフスキャンをトリガすることができる(すなわち、ターゲットに問い合わせる)。接続が成功しなかった場合に、処理は、段階118で終了し、走査が再スケジュールされる。
走査中に、アプリケーション、ファイル、及びレジストリは、直接に調べられてアプリケーション及びファイルを識別することができる。情報は、取り出されて公知の脆弱性のデータベースに対して比較される。脆弱性状態の符合が段階114で決定された場合に、走査サーバ又はターゲットデジタルデバイスは、段階116で発見を報告することができる。符合が見出されなかったか又は報告が発生された場合に、走査サーバは、追加の検査が必要であるか否かを段階120で決定することができる。追加の検査が必要である場合に、処理は、再走査するか又は追加の走査(ターゲットデジタルデバイスが利用可能である場合)を段階112で実行する。追加の検査が必要ない場合に、処理は、段階118で終了する。
図2は、一部の実施形態おける例示的環境200のブロック図である。様々な実施形態において、異なるデジタルデバイスは、通信ネットワーク204上でセキュリティ評価システム202と通信する。本明細書で説明するように、デジタルデバイスは、プロセッサ及びメモリを備えたあらゆるデバイスである。デジタルデバイスを本明細書では図9に関して更に説明する。様々な実施形態において、異なるデジタルデバイス(例えば、スマートフォン205、タブレットデバイス208、ラップトップ210、ネットワークデバイス212、PC214、Unix(登録商標)サーバ216、及びWindows(登録商標)サーバ218)は、1つ又はそれよりも多くのアプリケーション又はファイルの1つ又はそれよりも多くのインスタンスの実行又は終了に関する記録(ログ又は他の情報など)を発生させることができる。多くの第三者アプリケーションは、様々な目的のために記録(例えば、ログ)を発生させることができる。記録は、1つ又はそれよりも多くの実行ファイルの1つ又はそれよりも多くのインスタンスの実行又は終了中に発生させることができる。一例では、記録は、実行可能インスタンスの実行又は終了中に発生させることができる。実行ファイルは、走査及び/又はセキュリティに関連しない場合がある。記録は、実行ファイル、システム呼出し、又は実行ファイルのバージョンなどの性能を追跡するために作成することができる。実行ファイルのインスタンスは、記録の作成を開始しなくてもよく、記録の開始及び作成は、実行可能インスタンスの機能に関連しない場合がある。
セキュリティ評価システム202は、記録(1つ又はそれよりも多くの第三者アプリケーションの記録を含む)を受信し、記録の中から関連情報を取り出し、かつ各デバイスを能動的に走査する必要なく潜在的な脆弱性を識別するように構成することができる。様々な実施形態において、異なるデジタルデバイスの脆弱性は、走査されるデジタルデバイスの性能を低下させ、エンドユーザの協働を要求することがある(例えば、デジタルデバイスを走査のためにネットワークに接続する及び/又は走査を中断せずに走査中にデジタルデバイスに給電し続けるために)従来技術に説明した能動的脆弱性走査をスケジュールすることなく検出することができる。
様々な実施形態において、記録は、あらゆる時間にデジタルデバイス上のあらゆる数のアプリケーションによって発生させることができる。同様に、記録は、あらゆる時間にセキュリティ評価システム202に提供することができる。セキュリティ評価システム202は、記録から関連情報を取り出し、取り出した情報をホワイトリスト、ブラックリスト、グレイリスト、及び/又は他の情報のような脆弱性データ構造と比較して脆弱性を検出することができる。一部の実施形態において、ホワイトリストは、公知の優良なアプリケーション及びファイルの識別子のデータ構造であり、ブラックリストは、公知の脆弱なアプリケーション及びファイルの識別子のデータ構造であり、グレイリストは、疑わしいアプリケーション及びファイルの識別子のデータ構造である。様々な実施形態において、セキュリティ評価システム202は、デジタルデバイスをスケジュールされたシステム全体の走査に利用することができる日付及び時間のみとは対照的に、あらゆる時間に脆弱性を検出することができる。更に、セキュリティ評価システム202は、スケジュールされた時間にデジタルデバイスの利用可能度を必要とすることなく脆弱性を検出することができ、かつデジタルデバイスが従来技術に説明するようにアプリケーション及びファイルに関して走査されないと考えられるので、デジタルデバイスの性能作動を乱すことは少ないと考えられる。
一部の実施形態において、セキュリティ評価システム202にデジタルデバイスの1つ又はそれよりも多くの記録を定期的に提供することは、ネットワークターゲットの従来の走査がスケジュールかつ実施される前に脆弱性の検出及び識別をもたらすことができる。例えば、セキュリティ評価システム202の限界は、脆弱性の記録を調べるためのリソースの利用可能度である場合がある。しかし、セキュリティ評価システム202は、場合によってはあらゆる時間に脆弱性を検出及び/又は識別することができるクラウドコンピュータ及び/又はあらゆる数のデジタルデバイスを含むことができる。しかし、従来の走査システムは、走査がスケジュールされた時間に走査されるデジタルデバイスの利用可能度、走査中のデジタルデバイス上のリソース利用、走査の持続時間に対するネットワーク接続性、ネットワーク輻輳、及びサーバリソースに基づいて制限される場合がある。これら及び他の制限、並びにデジタルデバイスのネットワーク走査の実用性のために、従来技術で説明したネットワーク走査は定期的にスケジュールされる(例えば、1週間に一度)。その結果、従来技術では、脆弱性は、その時間フレームでしか検出できない。当業者は、多くの脆弱性が悪用され、ネットワークがネットワーク走査中に障害を受けるが、セキュリティ評価システム202による記録のセキュリティ評価は、比較的迅速に脆弱性を検出及び/又は識別することができることを認めるであろう。
図200の環境は、通信ネットワーク204上で通信するセキュリティ評価システム202、スマートフォン206、タブレットデバイス208、ネットワークデバイス212、ラップトップ210、PC214、UNIXサーバ216、Windowsサーバ218、及びセキュリティ管理システム220を含む。ログのような記録は、スマートフォン206、タブレットデバイス208、ネットワークデバイス212、ラップトップ210、PC214、UNIXサーバ216、Windowsサーバ218、セキュリティ評価システム202のうちの1つ又はそれよりも多くによって発生させることができる。一例では、記録又はログは、リソース利用、処理呼出し、及びアプリケーションインスタンスの作動のレビューを可能にするために発生させることができる。記録又はログは、デジタルデバイスのあらゆるアプリケーション又はエージェントによって発生させることができる。
セキュリティ評価システム202は、記録から関連情報を取り出し、関連情報を利用して脆弱性を検出及び/又は識別することができる。セキュリティ評価システム202は、様々な実施形態において、検出及び/又は識別された脆弱性に基づいて報告及び/又は警報を発生させることができる。
記録は、構成、処理呼出し、例外処理、実行時間、呼出し処理、実行に必要なファイルの名前、ファイルタイプ、ファイルバージョン、アプリケーションタイプ、及び/又はアプリケーションバージョンなどを含むアプリケーションのインスタンスに関連する情報を含むことができる。記録は、アプリケーション又は実行ファイルのインスタンスに関連付けられた1つ又はそれよりも多くの処理のような情報を要約又は追跡するために発生させることができる。
一例では、デジタルデバイスは、デジタルデバイスによって実行される1つ又はそれよりも多くのアプリケーションのインスタンスに各々が関連付けられた異なるログを発生させることができる。当業者は、ログのような記録は、セキュリティに関連付けられない(例えば、脆弱性の検出及び識別に関連付けられない)目的のために多くのアプリケーションインスタンスに対して多くの異なるデバイスで発生されることが多いことを認めるであろう。例えば、ログの1つ又はそれよりも多くの主な目的は、構成、処理効率、性能、バックアップ、及び/又はアプリケーションインスタンスのエラー処理のレビューを可能にすることである。一部の記録又はログは、必要でない限りデジタルデバイスに留まることができる(例えば、永久に又は一時的に格納することができる)。デジタルデバイスの1つ又はそれよりも多くの他のアプリケーションは、アプリケーションインスタンス(例えば、ソフトウエア発行者)又はネットワーク管理者に関連付けられた1つ又はそれよりも多くの異なる第三者にログを提供するように構成することができる。
様々な実施形態において、1つ又はそれよりも多くの記録の複製は、評価のためにセキュリティ評価システム202に提供することができる。1つ又はそれよりも多くの記録は、セキュリティ関連ではないアプリケーションによってあらゆる時間に発生させることができ、記録は、セキュリティ関連の目的で発生させなくてもよい。一部の実施形態において、セキュリティ評価システム202に提供される複数の記録のうちの1つ又はそれよりも多くの記録は、セキュリティアプリケーションによって及び/又はセキュリティ関連のために発生させることができる。一部の実施形態において、セキュリティ情報及び事象管理システム(SIEM)は、ログを収集して一本化し、サーバに提供することができる。
セキュリティ評価システム202は、あらゆる時間に通信ネットワーク204に結合されたあらゆる数のデジタルデバイスからも1つ又はそれよりも多くの記録を受信することができる。同様に、セキュリティ評価システム202は、受信した時間に又はセキュリティ評価システム202のリソースの利用可能度に基づいて記録を評価し、1つ又はそれよりも多くの記録の全部又は一部の評価を実行することができる。セキュリティ評価システム202は、必要な時に報告及び/又は警報を発生させることができる。
一例では、ラップトップ210が最初に脆弱プログラム(例えば、ブラウザ)をインストールした時に、インストール処理の記録を発生させることができる(例えば、インストールアプリケーションのインスタンス中のインストール処理をログするために記録が発生される)。記録は、セキュリティ評価システム202に提供することができ、セキュリティ評価システム202は、記録からインストールされたプログラムのバージョン情報(すなわち、関連情報)を取り出してインストールされたプログラムのバージョン情報をブラックリスト(すなわち、公知の脆弱性のリスト)と比較することができる。セキュリティ評価システム202は、脆弱性を識別する警報又は報告を発生し、この警報及び/又は報告をラップトップ210及び/又はセキュリティ管理システム220のユーザに提供することができる。この例では、脆弱なブラウザは、脆弱性を決定するために実行する必要はない。システム管理者又はラップトップ210のユーザは、脆弱プログラムが識別される前に(従来技術に説明するように)スケジュールされたネットワーク走査まで待つ必要はない。
当業者は、ユーザデバイス、サーバ、ネットワークデバイス、又はあらゆるデバイスが、セキュリティ評価システム202によって評価される記録を提供することができることを認めるであろう。ユーザデジタルデバイスは、例えば、スマートフォン206、タブレットデバイス208、ラップトップ210、及びPC214を含む。スマートフォン206は、ネットワーク通信ができるあらゆる電話(例えば、デジタル電話又は携帯電話)とすることができる。タブレットデバイス208は、ネットワーク通信ができる電子読取器、タブレット、又はメディアプレーヤなどのようなあらゆる媒体デバイスを含むことができる。ラップトップ210は、ネットワーク通信ができるあらゆるコンピュータ又は移動デバイスである(例えば、ウルトラブック、ネットブック、ノートブック、又はラップトップなど)。様々な実施形態は、ネットワーク上で通信して記録を提供することができるあらゆる消費者電子デバイス(ビジネスユーザ又は家庭ユーザのいずれかのための)を含むことができる。
ネットワークデバイス212は、ネットワーク管理又は制御のために構成されたあらゆるデバイスとすることができる。ネットワークデバイスの例は、以下に限定されるものではないが、ルータ、ブリッジ、ネットワーク機器、ホットスポット、アクセスポイント、又はファイヤウォールなどを含む。当業者は、ネットワークデバイス212が、ネットワークデバイス212の脆弱性の評価又はネットワークデバイス212を利用するデバイス(例えば、ラップトップ210)による脆弱性の評価のためにセキュリティ評価システム202に提供することができる記録又は他の情報を発生させることができることを認めるであろう。
Unixサーバ216及びWindowsサーバ218は例示的なものである。オペレーティング又はファイルシステムにかかわらず、通信ネットワーク204のような1つ又はそれよりも多くのネットワークをサポートするように構成されたあらゆる数のサーバを存在させることができる。
セキュリティ評価システム202は、通信ネットワーク204上で1つ又はそれよりも多くの他のデジタルデバイスから記録を受信し、受信した記録の少なくとも一部から関連情報を取り出し、取り出した情報を評価し、評価に基づいて1つ又はそれよりも多くの脆弱性を識別するように構成されたあらゆる数のデジタルデバイスを含むことができる。セキュリティ評価システム202は、クラウドベースとすることができる。一部の実施形態において、セキュリティ評価システム202は、1つ又はそれよりも多くのネットワーク及び/又はセキュリティ家電を含む。セキュリティ家電の一例は、PowerKeeperである。セキュリティ家電は、引用によって本明細書に組み込まれる「システム及びアカウントの自動発見のためのシステム及び方法」という名称の2009年9月30日出願の米国特許非仮出願出願番号第12/571,231号明細書に説明されている。
セキュリティ管理システム220は、通信ネットワーク204の管理のために構成されるあらゆる数のデジタルデバイスを含むことができる。一部の実施形態において、セキュリティ評価システム202は、安全、リスク、識別された脆弱性、及び/又は疑われる脆弱性に関する警報及び/又は報告をセキュリティ管理システム220に提供する。セキュリティ管理システム220は、一部の非制限的実施例において、脆弱であると見なされるアプリケーション又はファイルを使用不可にするためにネットワーク又はシステムの権利を制御し、ユーザの権利を変更し、ネットワーク権利を異なるデジタルデバイスに修正し、1つ又はそれよりも多くのアプリケーションのネットワーク権利を修正し、デジタルデバイスのネットワーク走査を開始し、脆弱であると見なされるアプリケーション又はファイルの除去を指令し、脆弱であると見なされるアプリケーション又はファイルのアップデートを指令し、ネットワーク上でパッチをインストールし、ネットワーク上でソフトウエアをアップロードし、及び/又はセキュリティ評価システム202からの情報に基づいてセキュリティ警報を提供することができる。様々な実施形態において、セキュリティ管理システム220は、セキュリティ家電を含む。セキュリティ評価システム202及びセキュリティ管理システム220は、同じシステム又は同じデジタルデバイスである場合がある。
通信ネットワーク204は、デジタルデバイスが通信することを可能にするあらゆるネットワーク又はネットワークの組合せとすることができる。通信ネットワーク204は、インターネット、1つ又はそれよりも多くのLAN、及び/又は1つ又はそれよりも多くのWANを含むことができる。通信ネットワーク204は、無線及び/又は有線通信をサポートすることができる。
異なるデジタルデバイスが図2に示されているが、図は網羅的なものではない。あらゆるタイプのあらゆる数のデジタルデバイスが存在することができる。例えば、一部の実施形態は、スマートフォン206又はタブレットデバイス208を含まない全てのPC又はデバイスを含むネットワーク上に実施することができる。
様々な実施形態は、脆弱性及びアイデンティティ管理(VIM)を融合させる。従来技術において業界は、10年間にわたってOVAL及びCVEのような規格を使用して脆弱性識別の処理を改良してきたが、本明細書の一部の実施形態は、潜在的に脆弱なアプリケーションを使って作業する時にユーザが直面するリスクに対処する。
最新のゼロデイ脆弱性の例である2013年の新年直前に公開された「インターネットエクスプローラCボタンユーズ−アフター−フリー脆弱性」を考えられたい。脆弱性の説明は以下の通りである。
ユーズ−アフター−フリー脆弱性は、インターネットエクスプローラ6、7、及び8に存在する。これは、ターゲットにされた攻撃で2012年12月に野性的に悪用されているのが見られた。成功した突破口は、攻撃者が現在のユーザの関連で任意のリモートコードを実行することを可能にするものである。
この脆弱性は、ユーザがログインした時に用いた許可(すなわち、ユーザの現在のネットワーク権利)又はインターネットエクスプローラを実行するのに使用される信用証明に基づいて単に現在のユーザに対するリスクである。
このような脅威は、従来の脆弱性管理によって容易に識別可能である。しかし、従来の脆弱性管理は、この脆弱性が悪用された場合にユーザの許可を考慮に入れ損なう。例示的に、この攻撃に脆弱であるシステムを考えられたい。「標準的なユーザ」許可によってシステムにログインするユーザは、突破口が現在のユーザの関連で実行されるので、「管理者」特権によってログインするユーザよりもリスクが少ない。これは、悪意のあることを実行するためのシステム全体の制御と、現在のユーザのログインの範囲でのみ一般的に作動させることができる標準的なユーザ権利に基づく制限された許可との差である。
次の論理的質問は、誰かが標準的なユーザとしてそのシステムにログインする場合に、ゼロデイリスク性は管理者としてログインするユーザに比べて大きい脅威であるか?を有する。答えはノーである。標準的なユーザはリスクが少ない。従って、脆弱性報告のための潜在的な排除又は軽減は、あなたの環境内でインターネットエクスプローラを実行するユーザの関連に基づいている。しかし、誰もインターネットエクスプローラを使用しない場合に、あなたは、Firefox又はChromeのような別のブラウザで標準化されているか?イエス、システムは、技術的に脆弱であるが、違反したアプリケーションは使用されず、従って、ユーザが管理者としてログインした場合でもリスク度が低い。最後にこのリスクの真の意味を理解するために、この脆弱性は野性的な突破口ターゲットで観察されている。管理者として実行するユーザは、標準的なユーザに対して攻撃によって動かされやすい。従来の脆弱性報告は、その違いを知らない。
一部の実施形態において、セキュリティ評価システム202は、脆弱性が識別された及び/又は脆弱なアプリケーション又はファイルがアクセスされた時間にデジタルデバイスから記録を受信し、デジタルデバイスに関連付けられた脆弱性を識別し、かつデジタルデバイスのユーザのネットワーク権利を決定することができる。セキュリティ評価システム202は、管理者又は他の改善したネットワーク権利を有するユーザが公知の脆弱なアプリケーション及び/又はファイルを利用した場合に警報又は他の指示を発生させることができる。本明細書で説明するように、アプリケーション突破口は、突破時に個々のユーザのネットワーク権利によって制限される場合がある。ユーザが制限された権利(例えば、「ゲスト」権利)を有する場合に、脆弱性の突破口は、単一デジタルデバイス及び/又はデジタルデバイス上の特定のソフトウエアだけに制限される場合がある。しかし、ユーザが大きいネットワーク権利を有する場合に、ネットワーク上の他のデジタルデバイスは、ユーザのネットワーク権利に基づいてユーザのデバイスを信頼するように構成することができる。この結果、アプリケーション突破口は、マルウェアが、同じネットワーク上の他のデジタルデバイス又は同じネットワーク上の別のデジタルデバイス(例えば、サーバ)のソフトウエアに影響を与えるか又は制御することを可能にする。
従来のネットワーク走査は、ユーザの権利を考慮に入れないことを理解しなければならない。例えば、従来技術では、デジタルデバイスのネットワーク走査は、各走査されたアプリケーション又はファイル脆弱性を検出及び識別することができるが、従来のネットワーク走査は、アプリケーション又はファイルが利用された時はユーザの権利を検出しない。実際には、従来のネットワーク走査は、公知の脆弱性を有するアプリケーションが利用されていたかを決定せず、更に、脆弱なアプリケーションが利用された時にユーザの権利を決定することもない。ユーザが一部の異なるアカウント及び/又は異なるネットワーク権利を有することができることは当業者によって理解される。この結果、全てのユーザがアプリケーション又はファイルがアクセスされた時に必ず同じ権利を有することは仮定されない。
セキュリティ評価システム202及び/又はセキュリティ管理システム220は、時間と共にユーザの権利を追跡することができ、それによって脆弱プログラムがインストール、アクセス、呼出し、又は利用されたことを記録が示す時間のユーザ及びユーザ権利の決定を可能にする。
図3は、デジタルデバイス上の事象(例えば、システム、アプリケーション、及びファイル呼出し)を説明する情報の収集及び収集の異なる部分を一部の実施形態において脆弱性データベースに対して比較するための流れ図300である。
本明細書で説明する一部の実施形態は、走査ターゲット(例えば、アプリケーション及び/又はファイル)上にインストールされた第三者送信者によって提供された記録(例えば、事象ストリーム)を調べることにより、インストールされたアプリケーションの脆弱性評価に対処する。この方式により、走査サーバは、走査ターゲットと直接に通信する必要はない。この結果、従来技術に説明されているような公知の脆弱性データベースに対するインストールされたアプリケーションのネットワークベースの調査の必要性はない。
本明細書で説明する様々な実施形態は、デジタルデバイスにインストールされた既存のエージェントによって提供されるデータを利用することができる。これらのエージェントの例は、以下に限定されるものではないが、以下を含む。
・ファイルモニタリング
・アプリケーションホワイトリスト
・一般システムモニタリング
・ソフトウエアインベントリ
・資産管理
・アプリケーションレベル情報を捕捉するあらゆるソフトウエア
これらのエージェントの各々は、1つ又はそれよりも多くの記録を発生させることができる。捕捉された状態で、この情報は、事象ストリーム又は一連の記録としてセントラルサーバ(すなわち、セキュリティ評価システム202、図2を参照されたい)に渡すことができる。送信の方法は、以下に限定されるものではないが、以下を含む。
・Syslog
・SNMP
・ウェブサービス
・HTTP/S
・SSL
・ウィンドウズ事象ログ
セキュリティ評価システム202は、以下を含むことができる関連アプリケーション及びファイル属性に対する事象ストリーム又は記録を構文解析することができる。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置/経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム(MD5、SHA−1、その他)
・デジタル署名
・実行時間
・呼出し処理
受信した状態で、セキュリティ評価システム202は、リアルタイム(データが到着した時)又は事後処理(既存のデータを調べる)のいずれかでアプリケーション及びファイル属性を調べることができる。受信したデータは、既存の脆弱性のリストと比較することができ、見出したものを利用可能にして報告することができる。
様々な実施形態は、現在、処理、アプリケーション、及びトランザクションモニタリングを実行している組織が、仮想脆弱性走査システムと集中的に統合することを可能にし(すなわち、従来技術で上述のようにネットワーク走査なしの脆弱性走査)、有用な情報を提供することができる。情報のタイプは、以下に限定されるものではないが、以下を含む。
組織をリスクに露出する場合がある公知の脆弱性を有する環境内で実行されるアプリケーションの指示、
経路配備又は他の手段を通じてこれらのアプリケーションの改善の優先順位付けを助けるために頻繁に実行される脆弱なアプリケーションの識別、及び
経路配備又は他の手段を通じてこれらのアプリケーションの改善の優先順位付けを助けるために重要サーバ又は敏感アカウントが脆弱なアプリケーションを利用している時間の識別。
一部の実施形態は、ネットワークデバイスの脆弱性を調べる全く新しい方法を提示し、すなわち、従来技術で上述のような能動的な脆弱性走査の必要性を排除するために既存のエージェントからのデータを利用することができるものである。本方法は、組織が効率的にリスク及び露出を決定することを可能にする。
流れ図300は、一部の実施形態における例示的な処理を詳しく説明している。段階302では、デジタルデバイス上のエージェントがアプリケーション事象を収集する。一例では、エージェントは、アプリケーションのインスタンスの実行又は終了中に行われた記録(ログなど)又は他の情報を収集する。
段階304では、エージェントがセントラルサーバ(セキュリティ評価システム202など)に記録を提供することができる。一部の実施形態において、エージェントは、記録を説明するための記録情報(例えば、記録のタイプ、記録を発生したアプリケーション、又は記録フォーマットなど)を提供することができる。あらゆる数の記録が存在することができる。様々な実施形態において、記録が一本化され、記録情報は、一本化された記録、並びにあらゆる他の情報内の各記録の位置を識別するために送信され、記録の脆弱性を評価するために使用することができる関連情報の取り出しを補助する。
段階306では、セントラルサーバ(セキュリティ評価システム202など)は、エージェントから受信した記録を処理することができる(例えば、評価することができる)か否かを決定する。様々な実施形態において、セキュリティ評価システム202は、時間に基づく記録、記録を提供したデジタルデバイスのアイデンティティ、リソースの利用可能度、パイプライン化、又はあらゆる他の理由を評価するための時間をスケジュールすることができる。セキュリティ評価システム202が、評価を即座に実行することができないと決定した場合に、セキュリティ評価システム202は、段階308でデータベース内に記録及び/又は記録情報を格納することができる。セキュリティ評価システム202は、記録が段階310で評価することができるかを決定するためにリソース又はあらゆる他の制限を検査することができる。スケジュールされた時間に達しないか又はリソースが利用できない場合に、処理は、段階312で待機することができる。
評価を即座に行える場合又はリソースが利用可能である場合に、セキュリティ評価システム202は、段階314で脆弱性データベースに対して記録のセグメント又は一部分(例えば、記録の関連する情報)を比較することができる。脆弱性データベースは、例えば、本明細書で更に説明するホワイトリスト及びブラックリストを含むことができる。
当業者は、エージェントが異なる位置の異なる情報を含む記録又はログの様々なタイプを送信することができることを認めるであろう。記録又はログの多くは、異なる目的のために発生させることができ、全ての情報がセキュリティ評価に関連するものではない。エージェントから提供された記録の1つ又はそれよりも多くを識別することができるタイプ、名前、又はあらゆる他の情報を識別する記録情報をエージェントから受信することができる。一部の実施形態において、セキュリティ評価システム202は、1つ又はそれよりも多くの記録を走査し、1つ又はそれよりも多くの記録を識別することができるタイプ、名前、又は他の情報を識別する。
記録が識別された状態で、関連情報又は関連情報を含む記録のセグメントの位置を識別することができる。様々な実施形態において、セキュリティ評価システム202は、エージェントによって提供される記録情報、及び/又は1つ又はそれよりも多くの記録を識別することができるタイプ、名前、又は他の情報に基づいて、記録の位置又はセグメントを識別する規則又はフィルタを取り出す。一部の実施形態において、セキュリティ評価システム202は、1つ又はそれよりも多くの記録を走査し、規則又はフィルタを利用することなく関連情報を識別する。
様々な実施形態において、セキュリティ評価システム202は、記録のセグメントを脆弱性データベース314の全部又は一部と比較して脆弱性を評価することができる。
段階316では、記録の1つ又はそれよりも多くのセグメントと脆弱性を示す脆弱性データベースの間に符合がある場合に、セキュリティ評価システム202は、段階318で発見を報告することができる。
図4は、一部の実施形態におけるユーザデバイスエージェント400のブロック図である。エージェントは任意的である。一部の実施形態において、デジタルデバイスは、ログのような異なる記録を発生する異なるアプリケーション及び実行ファイルを含む。記録は、構成、処理呼出し、例外処理、実行時間、呼出し処理、実行に必要なファイルの名前、ファイルタイプ、ファイルバージョン、アプリケーションタイプ、及び/又はアプリケーションのバージョンなどを含むアプリケーションのインスタンスに関連する情報を含むことができる。アプリケーション又は実行ファイルのインスタンスに関連付けられた1つ又はそれよりも多くの処理のような情報を要約又は追跡するための記録を発生させることができる。記録は、本明細書で更に説明する。
様々な実施形態において、1つ又はそれよりも多くの異なるアプリケーション及び/又は実行ファイル(例えば、セキュリティ情報及び事象管理(SIEM))は、1つ又はそれよりも多くの記録の複製をセキュリティ評価システム202(図2を参照されたい)に提供するように指示することができる。一例では、デジタルデバイスは、異なるログを発生させることができ、ログの各々は、デジタルデバイスによって実行される異なるアプリケーションのインスタンスに関連付けられる。ログの1つ又はそれよりも多くの目的は、レビュー構成、処理効率、性能、バックアップ、及び/又はアプリケーションインスタンスのエラー処理を可能にすることである。デジタルデバイスにおける1つ又はそれよりも多くの他のアプリケーションは、アプリケーションインスタンス(例えば、ソフトウエア発行者)又はネットワーク管理者に関連付けられた1つ又はそれよりも多くの異なる第三者にログを提供するように構成することができる。異なるネットワーク宛先に定期的ログを送信するように構成されたアプリケーションは、追加の複製をセキュリティ評価システム202に提供するように更に構成することができる。この例では、デジタルデバイスにエージェントがないことがあり、又はエージェントは、追加の複製をセキュリティ評価システム202に送信するようにアプリケーションを再構成する(例えば、セキュリティ情報及び事象管理(SIEM)プログラム)を再構成するためだけに使用される。
一部の実施形態において、ユーザデジタルデバイスにインストールされたエージェント400は、他のアプリケーションによって発生されたログ又は他の記録の複製をセキュリティ評価システム202に提供する及び/又はアプリケーションインスタンスの記録を発生するように構成することができる。様々な実施形態において、エージェント400は、他のアプリケーションによって発生された記録又は他のログを収集し(又はその位置を識別し)、記録又は他のログの複製をセキュリティ評価システム202に提供する。エージェント400は、一部の実施形態において、アプリケーションインスタンスに関連付けられた1つ又はそれよりも多くの事象を検出及び記録し、セキュリティ評価システム202のための情報を収集することができる。当業者は、エージェント400が、その固有の記録を発生し、他のアプリケーションによって発生された記録を収集し、この記録をセキュリティ評価サーバに提供することができることを認めるであろう。他の実施形態において、エージェント400は、他のアプリケーションによって発生された記録又は他のログの複製をセキュリティ評価システム202に提供するか又はエージェント400によって発生された記録の複製をセキュリティ評価システム202に提供することができる。
エージェント400は、アプリケーションインスタンスに関連付けられた事象を記録し、他のアプリケーションによって発生された記録を識別し、記録(例えば、エージェント発生の記録、並びに他のアプリケーションによって発生された記録の両方)の複製をセキュリティ評価システム202に提供するように構成された例示的なエージェントである。
エージェント400は、事象検出モジュール402、事象記録モジュール404、走査モジュール406、記録収集モジュール408、通信モジュール410、通信認証モジュール412、及びアプリケーションデータベース414を含む。本明細書で説明するように、事象検出モジュール402及び事象記録モジュール404は、任意的とすることができる。様々な実施形態において、事象検出モジュール402は、ホストデジタルデバイスにおける事象を検出することができる。事象又は記録は、実行ファイルの実行及び/又は実行可能インスタンスの1つ又はそれよりも多くの作動を含むことができる。記録は、本明細書で更に説明する。一例では、事象検出モジュール402は、オペレーティングシステムの一部であり、及び/又はデジタルデバイスのメモリ(例えば、ram)にある。事象検出モジュール402は、事象中の当該の態様を検出することができる(例えば、実行ファイルのインスタンスが別のアプリケーション又はファイルを呼び出す)。事象検出モジュール402は、ユーザ、オペレーティングシステム、又は実行ファイルによって引き起こされるデジタルデバイスの全部又は一部のアクションを検出することができる。
事象記録モジュール404は、事象の記録を発生するか又は事象検出モジュール402によって検出される事象の態様(例えば、アプリケーション又はファイル属性)を選択することができる。様々な実施形態において、事象検出モジュール402は、実行可能インスタンスを開始するアプリケーション、呼出し処理、アクセス要求、ファイルアクセス、及び/又はアプリケーション実行などに関連する情報を含む実行ファイルのインスタンスの処理及び/又は作動を検出する。一部の実施形態において、事象記録モジュール404は、以下のアプリケーション又はファイル属性の全部、一部、又は1つを含む事象ストリームを発生する。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置/経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム(MD5、SHA−1、その他)
・デジタル署名
・実行時間
・呼出し処理
事象記録モジュール404は、あらゆる数の実行可能インスタンスに関するあらゆる数の事象ストリームを発生させることができる。一例では、事象記録モジュール404は、1つ又はそれよりも多くの異なるインスタンスの異なる記録(例えば、事象ストリームの全部又は一部)を記録する。別の例では、1つ又はそれよりも多くの事象ストリームは、あらゆる数の実行インスタンスに対して記録することができる。
走査モジュール406は、デジタルデバイスでの記録及び/又は記録を発生するアプリケーションを走査することができる。例えば、走査モジュール406は、一般的にはログファイルを発生するアプリケーションを走査することができる。一部の実施形態において、走査モジュール406は、アプリケーションのためのデジタルデバイスのストレージ(例えば、ハードディスク、SSD、及び/又はフラッシュ)の全部又は一部を走査する。走査モジュール406は、アプリケーションデータベース414から記録データ構造を取り出し、走査結果と記録データ構造を比較し、ログ並びにログの位置を発生するアプリケーションを識別することができる。走査モジュール406は、デジタルデバイスの記録の位置及びタイプを含むテーブル又は他のデータ構造を維持することができる。走査モジュール406は、記録(例えば、ログ)を直接に走査することができる。
当業者は、走査モジュール406が、デジタルデバイスの記録の位置及び/又はタイプを含むテーブル又は他のデータ構造を定期的に更新又は他に維持することができることを認めるであろう。一例では、走査モジュール406は、新しいソフトウエアのインストール又はソフトウエアの削除を走査し、予想される記録の位置を追加又は取り除くことができる。
記録収集モジュール408は、事象記録モジュール404からの記録及び/又はデジタルデバイスの他の記録の位置及びタイプを含むデータ構造によって識別される記録を収集するように構成することができ、複製をセキュリティ評価システム202に提供することができる(図2を参照されたい)。様々な実施形態において、記録収集モジュール408は、記録を移動、削除、又は変更するのではなく、記録を複製する。一部の実施形態において、記録収集モジュール408は、事象記録モジュール404によって発生された記録を収集する。他の実施形態において、記録収集モジュール408は、デジタルデバイスの記録の位置及びタイプを含むデータ構造によって識別される記録の少なくとも一部を収集する。様々な実施形態において、記録収集モジュール408は、事象記録モジュール404によって発生された記録、並びにデジタルデバイスの記録の位置及びタイプを含むデータ構造によって識別された記録の少なくともいくつかを収集する。
様々な実施形態において、記録収集モジュール408は、収集された記録に関する記録情報を発生する。記録情報は、収集された記録のタイプを説明することができる。一例では、記録情報は、事象記録モジュール404によって発生された記録を識別することができる。記録情報は、記録の数、記録のタイプ、記録を発生したアプリケーション、又は記録に関連付けられたアプリケーションインスタンスなどを含む他のアプリケーションによって発生された記録を識別することができる。
一部の実施形態において、収集した記録は、一本化及び/又は符号化することができる。記録情報は、記録が一本化されているか否か、記録の全部、一部、又は1つの符号化方法、又は記録位置(例えば、テキストフィールドの記録の開始及び終了ポイント)などを示すことができる。
様々な実施形態において、記録収集モジュール408は、スケジュールに基づいて又は1つ又はそれよりも多くの記録の存在に基づいて記録を収集し、セキュリティ評価システム202に提供する。一例では、記録収集モジュール408は、予め決められた日付及び/又は時間に記録を収集する。別の例では、記録収集モジュール408は、事象記録モジュール404及び/又は他のアプリケーションによって発生された記録の数を追跡することができる。この例では、発生された記録の数が予め決められた閾値よりも大きい場合に(例えば、1よりも大きいか又は3よりも大きい)、記録収集モジュール408は、記録を収集してセキュリティ評価システム202に提供することができる。閾値は、ユーザ、システム管理者、エージェント400、セキュリティ評価システム202、セキュリティ管理システム220、又は十分な権利を有するあらゆる他のユーザ又はデバイスによって確立することができる。
通信モジュール410は、収集した記録及び記録情報をセキュリティ評価システム2020に提供する。様々な実施形態において、通信モジュール410は、デジタルデバイスを識別し、記録収集モジュール408から収集した記録を含む評価要求を発生する。評価要求は、これに加えて、記録収集モジュール408からの記録情報を含むことができる。通信モジュール410は、評価要求及び/又は記録情報をあらゆる時間に(スケジュールされた時間に、ユーザによる指令に応答して、セキュリティ評価システム202による指令に応答して、セキュリティ管理システム220による指令に応答して、ネットワーク管理者による指令に応答して、又は記録が記録収集モジュール408から受信されてセキュリティ評価システム202に提供される時に)セキュリティ評価システム202に提供することができる。
通信モジュール410は、記録を事象のストリーム又は離散的メッセージとしてあらゆる方法でセキュリティ評価システム202(図2を参照されたい)に提供することができる。一部の非制限的実施例では、通信モジュール410は、以下の方法で情報をセキュリティ評価システム202に提供することができる。
・Syslog
・SNMP
・ウェブサービス
・HTTP/S
・SSL
・Windows事象ログ
任意的な通信認証モジュール412は、評価要求及び/又は記録情報に対する認証情報をデジタルで署名又は提供することができる。様々な実施形態において、セキュリティ評価システム202及び/又はセキュリティ管理システム204は、デジタル署名又は他の認証情報に基づいてデジタルデバイスによって提供される記録の評価を認証、検証、及び/又は承認することができる。例えば、各エージェント400又はデジタルデバイスは、1つ又はそれよりも多くの暗号化キーによって評価要求及び/又は記録情報にデジタルで署名することができる。セキュリティ評価システム202又は他のデバイスは、セキュリティのために署名を解読する(例えば、評価要求及び/又は記録情報の認証及び/又は精度を確認する)ことができる。一部の実施形態において、1つ又はそれよりも多くの暗号化キーが提供され、エージェント400のインストール又はレジストレーションに応答してデジタルデバイスに割り当てられる。1つ又はそれよりも多くの暗号化キーは、あらゆる時間にあらゆる方法で提供、割り当て、及び/又は更新することができる。
モジュールは、ハードウエア、ソフトウエア、又はハードウエアとソフトウエア両方の組合せのいずれかである。当業者は、図4で識別されるモジュールが本明細書で説明するよりも多くの又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。更に、図4に関して示す機能は、単一デジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態において、複数のデジタルデバイスは、同時に機能を実行する。
図5は、一部の実施形態におけるセキュリティ評価システム202のブロック図である。例示的なセキュリティ評価システム202は、エージェント通信モジュール502、エージェント認証モジュール504、評価スケジューラー506、記録管理モジュール508、情報取り出しモジュール510、評価モジュール512、報告モジュール514、警報モジュール516、記録管理データベース518、リスク許容構成データベース520、及び脆弱性データベース522を含む。
通信モジュール502は、評価要求を受信し、通信ネットワーク204上で1つ又はそれよりも多くのデジタルデバイスからの評価要求に関連する情報を任意的に記録するように構成される(図2を参照されたい)。本明細書で説明するように、評価要求は、デジタルデバイスからの1つ又はそれよりも多くの記録を含むことができる。記録情報は、評価要求の記録(例えば、記録のタイプ及び各記録の位置)を説明することができる。一部の実施形態において、通信モジュール502は、提供側デジタルデバイス、送信の時間、及び(エージェントがデジタルデバイスにインストールされる場合に)潜在的にはエージェントバージョンを識別することができる。記録情報は、任意的とすることができる。一部の実施形態において、通信モジュール502又は記録管理モジュール508(本明細書で更に説明する)は、評価要求の1つ又はそれよりも多くの記録を走査し、記録のタイプ、各記録の位置に関連する情報を取り出し、及び/又は関連情報を識別することができる。
任意的な要求認証モジュール504は、評価要求及び/又は記録情報を認証するように構成される。本明細書で説明するように、評価要求及び/又は記録情報は、デジタルで署名又は暗号化することができる。要求認証モジュール504は、評価要求及び/又は記録情報を認証、検証、及び/又は承認するように構成することができる。一例では、要求認証モジュール504は、デジタルデバイス、評価要求を提供したエージェント、又はあらゆる他の情報を識別し、評価要求及び/又は記録情報を解読するための1つ又はそれよりも多くの適切な暗号化キー(例えば、私的又は公的暗号化キー)を取り出すことができる。一部の実施形態において、要求認証モジュール504は、デジタル署名に基づいて評価要求を認証する。当業者は、評価要求は、あらゆる数の方法で認証することができることを認めるであろう。
任意的な評価スケジューラー506は、一部の実施形態においてセキュリティ評価をスケジュールするように構成される。様々な実施形態において、評価スケジューラー506は、セキュリティ評価システム202の一部である1つ又はそれよりも多くのデジタルデバイスのリソースの利用可能度(例えば、プロセッサ利用可能度)に基づいてセキュリティ評価をスケジュールする。一部の実施形態において、評価スケジューラー506は、スケジュールされるまでの評価要求及び/又は記録情報をバッファに入れるか又は格納することができる。評価スケジューラー506は、一部の実施形態において、セキュリティ評価システム202がタスクを実行するための利用可能なリソースを有すると評価スケジューラー506が決定した場合に、評価要求を受信した時に評価を行うことを可能にする。
評価スケジューラー506は、デバイスの重要度(例えば、デバイスが重大な機能を実行する)、緊急性、又はネットワーク上の他者によるデバイスの信頼に基づいて、異なるデジタルデバイスに優先順位を与えることができる。例えば、他者又はセキュリティ評価システム202が他のデジタルデバイスの評価を中断することができる前にセントラルサーバ又はネットワーク管理者を評価することができる。一例では、重要なデジタルデバイスの記録の評価は、信頼される重要な機械の突破口が、重大なタスクを中断し、潜在的にネットワークセキュリティを脅かし、及び/又はネットワーク上の他のデバイスのセキュリティを潜在的に脅かすリスクのために、他のデジタルデバイスに属する他の記録の評価を中断する場合がある。
記録管理モジュール508は、評価要求の記録を識別するように構成される。様々な実施形態において、評価要求は、他の評価要求からの異なる数の記録、並びに異なるタイプの記録を含むことができる。一例では、同じデジタルデバイスは、複数の評価要求を提供することができ、各々は、異なる数の記録、並びに異なるタイプの記録を含む(例えば、デジタルデバイスは、定期的に又はある一定の数の記録を提供することができる時に評価要求を提供することができる)。
記録管理モジュール508は、送信側デジタルデバイスによって提供された記録情報を利用することによって記録の数及びタイプを識別することができる。本明細書で説明するように、記録情報は、記録の名前、記録のタイプ、送信側デジタルデバイス、及び他の情報を識別することができる。記録が一本化される場合に(例えば、1つのストリーム又はファイルに結合される)、記録情報は、各異なる記録の開始及び終了ポイントを示すことができる。これに代えて又はこれに加えて、記録管理モジュール508は、記録の1つ又はそれよりも多くを走査することによって類似の情報を識別することができる。一部の実施形態において、記録管理モジュール508は、記録を走査し、記録情報を識別することなく評価に関連するアプリケーション又はファイル属性を識別する。
評価要求の記録が識別された状態で、情報取り出しモジュール510は、セキュリティ評価システム202が評価要求のあらゆる数の記録から関連情報を取り出すことを可能にする規則又はフィルタを任意的に取り出すことができる。一例では、情報取り出しモジュールは、記録管理データベース518から規則又はフィルタを取り出すことができる。情報取り出しモジュール510は、記録管理モジュール508によって提供される情報に基づいて(例えば、評価要求の記録の記録情報及び/又は走査に基づいて)規則又はフィルタを取り出すことができる。一例では、情報取り出しモジュール510は、記録管理モジュール508からの評価要求に含まれる記録のタイプ及び/又は名前を受信することができる。記録のタイプ及び/又は名前に基づいて、情報取り出しモジュール510は、記録の各タイプ及び/又は名前のための規則及び/又はフィルタを取り出すことができる。
規則及び/又はフィルタは、情報取り出しモジュール510が、関連情報を含む各記録内の1つ又はそれよりも多くのセグメント(例えば、位置)を識別することを可能にする。一部の実施形態において、規則及び/又はフィルタは、情報取り出しモジュール510が、識別されたセグメントの1つ又はそれよりも多くの情報のタイプ、名前、及び/又は性質を識別することを可能にする。例えば、特定の記録のタイプにおける位置は、アプリケーションバージョン番号を含むことができる。同じ特定の記録タイプの別の位置は、特定の処理の識別子を含むことができる。一部の実施形態において、1つ又はそれよりも多くの記録は、符号化することができる。情報取り出しモジュール510は、取り出された規則及び/又はフィルタに基づいて1つ又はそれよりも多くの記録を復号することができる。一例では、情報取り出しモジュール510は、情報の以下の非制限的例示的タイプ(例えば、アプリケーション又はファイル属性)を識別することができる。
・アプリケーション名
・アプリケーション発行者
・ファイル名
・ファイル位置/経路
・ファイルバージョン
・ファイルタイムスタンプ
・ファイル記述
・ファイルチェックサム(MD5、SHA−1、その他)
・デジタル署名
・実行時間
・呼出し処理
当業者は、情報のあらゆる他の種類、タイプ、又は名前を評価モジュール513によってセキュリティを評価するために利用することができることを認めるであろう。
評価モジュール512は、情報取り出しモジュール510によって位置付けられた記録内の情報を評価することができる。一部の実施形態において、評価モジュール512は、評価要求の1つ又はそれよりも多くの記録の1つ又はそれよりも多くのセグメントを脆弱性データベース522の全部又は一部と比較して脆弱性を決定及び/又は識別することができる。一部の実施形態において、評価モジュール512は、記録のタイプ、記録のセグメント内に含まれる情報のタイプ、記録のセグメント内に含まれる情報の名前、又はあらゆる他の情報に基づいて、記録のセグメント(すなわち、少なくとも1つの記録内に含まれる関連情報の少なくとも一部分)を脆弱性データベース522の一部分と比較する。例えば、情報取り出しモジュール510が、セグメントを識別し、セグメントがファイルチェックサムを含むことを示した場合に、評価モジュール512は、セグメントをファイルチェックサムを含む脆弱性データベース522の一部分と比較することができる。
評価モジュール512は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を脆弱性データベース522の全部又は一部と比較することができる。一部の実施形態において、脆弱性データベース522は、公知の優良なアプリケーション及びファイル(例えば、ホワイトリスト)、公知の脆弱なアプリケーション及びファイル(例えば、ブラックリスト)、及び/又は疑わしいアプリケーション及びファイル(例えば、グレイリスト)を含む。ホワイトリストの一例では、評価モジュール512は、あらゆる数の評価要求のあらゆる数の記録からのあらゆる数のセグメントを比較し、デジタルデバイスが1つ又はそれよりも多くの信頼される(例えば、脆弱でない)アプリケーション又はファイルを有することを確認及び/又は検証することができる。一部の実施形態において、ネットワーク管理者又は他のセキュリティ専門家は、全てのアプリケーション及びファイルのホワイトリストによる識別及び/又は確認を要求することができる。
別の例では、評価モジュール512は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を公知の脆弱なアプリケーション及びファイルのブラックリストと比較することができる。更に別の例では、評価モジュール512は、記録のいずれかの中に含まれたセグメント又はあらゆる情報をグレイリストと比較することができる。グレイリストは、知られていない全てのアプリケーション及びファイル、又は代わりに疑わしいアプリケーション又はファイルだけを含むことができる。一部の実施形態において、グレイリストは、評価することができる疑わしさの程度を示してリスク値(例えば、リスクの程度又は指標)を決定することができる。
一部の実施形態において、評価モジュール512は、記録のいずれかの中に含まれたセグメント又はあらゆる情報を脆弱性データベース522内に含まれるがリスクに関して決定的でない情報と比較することができる。例えば、セキュリティ評価システム202は、ファイルタイムスタンプ、ファイル記述、実行時間、及びアプリケーションのインスタンスの呼出し処理に基づいて、アプリケーション(又はインスタンスによって呼び出されたファイル)が疑わしいか又は脆弱である場合があるが決定的ではないと決定することができる(例えば、脆弱性データベース522は、アプリケーション又はファイルに関して沈黙する場合があり、又はある一定のインジケータは、アプリケーション又はファイルが脆弱であることを提示しているように見え、他のインジケータは、疑わしいか又は信頼されるアプリケーション又はファイルをサポートしている)。報告モジュール514は、決定的でないアプリケーション又はファイルを報告することができる。一部の実施形態において、セキュリティ評価システム202は、結論に達しようとして将来の評価で疑わしいアプリケーション又はファイルを綿密に追跡することができ、セキュリティ評価システム202は、デジタルデバイス上のエージェント400にコンタクトし、より多くの情報を要求することができ、又はセキュリティ評価システム202は、限定されたネットワーク走査が疑わしいアプリケーション及び/又はファイルだけをターゲットにするように行われることを推奨又は指令することができる。
当業者は、脆弱性データベース522が安全な又は脆弱な挙動を示すことができる挙動規則を含むこともできることを認めるであろう。例えば、記録内に含まれる情報(例えば、ファイルタイムスタンプ、実行時間、及び/又は呼出し処理を示すセグメント)は、脆弱性データベース522の挙動規則に基づいて疑わしい挙動として識別することができる。規則は、ネットワーク管理者又は他のセキュリティ専門家によって確立することができ、一般的に記録に現れる場合がある安全でない挙動にフラグを立てる。一部の実施形態において、挙動規則は、異なるデジタルデバイス、アプリケーション、及び/又はファイルに対して異なるものにすることができる。例えば、ある一定のデジタルデバイス(例えば、「ミッションクリティカル」デジタルデバイス)は、予想かつ確立された挙動を有する場合がある。特定のデジタルデバイスが通常とは異なる方式で挙動していることを示す記録には、挙動規則によってフラグを立てることができる。
報告モジュール514は、1つ又はそれよりも多くの評価の結果を示すあらゆる種類の報告を発生させることができる。報告内に含まれる情報は、安全、脆弱、疑わしい、又は未知であるか、又はあらゆる他の種類の情報とすることができる記録によって識別されたデジタルデバイス、デジタルデバイスの1つ又はそれよりも多くのユーザ、アプリケーション、及びファイルを含むことができる。報告モジュール514は、評価に関連する報告をデジタルデバイス、セキュリティ管理システム220、ネットワーク管理者、又はあらゆるデジタルデバイス又は個人に提供することができる。
一部の実施形態において、セキュリティ評価システム202は、評価要求の1つ又はそれよりも多くの記録が発生された時にログインしたユーザ、並びに記録が発生された時のユーザのネットワーク権利を評価モジュール512が決定することを可能にするユーザログイン情報へのアクセスを有し、又はユーザログイン情報へのアクセスを有する他のデバイスと通信する。報告は、制限された権利を有するユーザが潜在的に疑わしいアプリケーション又はファイルを利用したことを示すことができる。報告は、管理者権利又はルートアクセスを有するユーザが、危険な突破口又は非常に疑わしいファイルを用いて脆弱プログラムを利用した場合に、警報を指示又は他に提供することができる。
警報モジュール516は、評価に基づいて警報を発生させることができる。評価要求の記録内で識別された1つ又はそれよりも多くのアプリケーション又はファイルが脆弱であるか又は非常に疑わしいとして分類された場合に、警報モジュール516は、警報を発生させることができる。この警報は、脆弱性にフラグを立て、突破口を潜在的に識別し、リスクの程度を示し、又はあらゆる他の情報を提供することができる。警報は、あらゆる方法で提供することができる。例えば、警報モジュール516は、電子メール、SMSテキストメッセージ、MMS、ウェブページ、イントラネット警報、エクストラネット警報、又はあらゆる他の方式を通じて1つ又はそれよりも多くの警報を提供することができる。
ネットワーク管理者又はセキュリティ専門家は、あらゆる程度のリスクを許すことができる。一部の実施形態において、ネットワーク管理者は、ブラックリスト又はグレイリストにあるファイル又はアプリケーションが識別(疑わしいか又は非常に疑わしいとして1つ又はそれよりも多くのアプリケーションが識別)されない限り、警報又は報告を要求しなくてもよい。リスクの程度は、脆弱性、突破口の危険性、又は評価モジュール512によって識別されたアプリケーション又はファイルの疑わしさに基づくことができる。リスクの程度は、アプリケーション又はファイルがアクセス又は実行された時の(例えば、ユーザが「スーパーユーザ」権利を有した場合)ユーザの権利に基づくことができる。
様々な実施形態において、ネットワーク管理者又はセキュリティ専門家は、1つ又はそれよりも多くのデジタルデバイス、1つ又はそれよりも多くのユーザ、及び/又は1つ又はそれよりも多くのアプリケーション及び/又はファイルに対するリスク閾値を確立することができる。一例では、報告モジュール514又は警報モジュール516は、評価モジュール512が関連のリスク閾値に基づく(例えば、リスク値が関連のリスク閾値を超えたと決定された)場合に、報告を発生又は警報を発生させることができる。
一部の実施形態において、全ての記録が有用な情報を含むわけではない。エージェント400(図4を参照されたい)は、セキュリティ評価システム202に対して有用又は関連する情報を含まない可能性がある記録を無視するように構成することができ、情報取り出しモジュール510は、受信した一部の記録が関連情報でない場合があるか又は関連情報を持たないと決定することができる。
データベースとして図5に識別されているが、記録管理データベース518、リスク許容構成データベース520、及び脆弱性データベース522の各々は、あらゆるタイプのあらゆる数のデータ構造を含むことができる。また、記録管理データベース518、リスク許容構成データベース520、及び脆弱性データベース522の各々は、あらゆる数のデジタルデバイスとすることができる(例えば、データベースの1つ又はそれよりも多くは、あらゆる数のデジタルデバイスに分散させることができる)。
当業者は、図5で識別されるモジュールが本明細書で説明するよりも多くの又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。また、図5に関して示された機能は、単一デジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態において、複数のデジタルデバイスは、同時に機能を実行する。
図6は、一部の実施形態におけるユーザデバイスによる記録の収集及び準備の流れ図である。段階602では、エージェント400の走査モジュール406は、第三者事象記録をデジタルデバイスで走査する。一部の実施形態において、走査モジュール406は、記録を直接に走査する。様々な実施形態において、走査モジュール406は、記録を発生するアプリケーション及び/又は記録自体を走査する。段階604では、走査に基づいて、走査モジュール406は第三者事象記録を識別することができる。
様々な実施形態において、記録は、アプリケーションのインスタンスの実行又は終了中に行われる。例えば、第三者アプリケーションは、関連の処理の発生、アプリケーションインスタンスの作動、処理呼出し、アプリケーション呼出し、ファイル呼出し、エラー、システムリソースの利用、又はあらゆる他の情報を記録するための記録を発生させることができる。記録を発生するアプリケーションの目的、並びに記録の目的は、セキュリティに関連するものでなくてもよい(例えば、バックアップ、エラー処理、性能、作動の記録、バグ修正、及び/又はメモリ管理など)。記録及び記録発生の例示的な処理は、本明細書で更に説明する。
段階606では、事象検出モジュール402は、デジタルデバイスにおける事象を検出することができる。事象は、実行ファイル(例えば、アプリケーション)の実行を含むことができる。例えば、一部の実施形態において、エージェント400は、処理をモニタし、1つ又はそれよりも多くの実行ファイルの実行を検出することができる。段階608では、事象記録モジュール404は、情報を記録して記録を発生させることができる。事象記録モジュール404は、例えば、アドレス指定されたアプリケーション及びファイルの名前、アプリケーション及びファイルのバージョン、アプリケーション及びファイルの制作者、アプリケーション及びファイルのサイズ、アプリケーション及びファイルのチェックサム、アプリケーション及びファイルの位置/経路、アプリケーション及びファイルの説明(例えば、収集アプリケーション及びファイル属性)、又はあらゆる他の情報を記録することができる。一部の実施形態において、事象記録モジュール404は、アプリケーションのインスタンスの実行又は終了中に情報を記録することができ、評価で利用される情報を記録することができる。一例では、第三者アプリケーションによって発生された記録は、セキュリティ評価に関連のない情報を含む場合があり、事象検出モジュール402及び/又は事象記録モジュール404は、関連情報、又は情報が評価中に最終的に使用されない場合でも評価処理をサポートすることができる情報を含む記録を発生させることができる。
段階610では、定期的な時間に又は1つ又はそれよりも多くの記録が利用可能である場合に、記録収集モジュール408は、1つ又はそれよりも多くの記録が第三者アプリケーション及び/又は事象記録モジュール404によって発生された時間を検出することができる。記録収集モジュール408は、記録を収集(例えば、記録を複製)し、評価要求としてセキュリティ評価システム202に提供することができる。1つよりも多い記録がある場合に、記録収集モジュール408は、記録を一本化することができる(例えば、記録を1つ又はそれよりも多くのファイルに結合することができる)。一部の実施形態において、記録収集モジュール408は、一本化された記録及び/又は一本化されてない記録を含むことができる。
段階612では、記録収集モジュール408は、収集記録のために記録情報を準備することができる。記録情報は、記録、記録のタイプ、又は1つ又はそれよりも多くの一本化されたファイルにおける記録情報の位置などを識別することができる。記録情報は、記録の1つ又はそれよりも多くを説明することができる。記録情報は、セキュリティ評価システム202によって利用することができ、記録を識別してツール(例えば、利用可能な規則及び/又はフィルタ)を取り出し、記録から関連情報を位置付けることができる。
段階614では、任意的な通信認証モジュール412は、評価要求及び/又は記録情報にデジタルで署名することができる。段階616では、通信モジュール410は、評価要求及び記録情報をセキュリティ評価システム202に提供することができる。
図7は、一部の実施形態において、収集したものに含まれるセグメントをホワイトリスト、ブラックリスト、及び/又はグレイリストと比較して脆弱性を報告するための流れ図である。段階702では、セキュリティ評価システム202の通信モジュール502は、デジタルデバイスから評価要求及び記録情報を受信する。通信モジュール502は、デジタルデバイスによって提供された評価要求、記録情報、又は他のデータに基づいて、デジタルデバイス及び/又はデジタルデバイス上のエージェント400を識別することができる。
段階704では、任意的な要求認証モジュール504は、デジタルデバイスからの評価要求及び/又は記録情報を認証することができる。一部の実施形態において、セキュリティ評価システム202は、暗号化キーをエージェント及び/又はデジタルデバイスに割り当て、評価要求及び/又は記録情報の全部又は一部をデジタルで署名及び/又は暗号化することができる。一部の実施例では、任意的な要求認証モジュール504は、評価要求の精度、記録情報の精度、送信側デジタルデバイスのアイデンティティ、又はエージェントのアイデンティティなどを認証又は検証することができる。
一部の実施形態において、評価スケジューラー506は、評価が行われる前に満足されるべき時間又は条件をスケジュールすることができる。一例では、評価スケジューラー506は、前に受信した評価及び/又は予想されるリソースの利用可能度に基づいて、評価要求に含まれる情報の評価のための日付及び/又は時間をスケジュールすることができる。別の例では、評価スケジューラー506は、リソースの利用可能度を決定し、決定に基づいて評価の開始を制御することができる。一部の実施形態において、評価スケジューラー506は、全ての評価要求を順番に待ち行列に入れ、リソースを利用することができる時に待ち行列の各評価要求が順番に評価されるように命令することができる。当業者は、評価をスケジュールするための多くの方法が存在することができることを認めるであろう。
段階706では、記録管理モジュール508は、記録情報を利用して評価要求の記録を識別する。一部の実施形態において、評価要求がエージェントによって発生された単一記録を含む場合に、記録情報は提供されず、段階は任意的である。評価要求が、エージェント400ではない他のアプリケーションによって発生された記録を含む場合に、記録情報は、デジタルデバイスによって提供され、評価要求に含まれる記録のタイプを識別することができる。
一部の実施形態において、記録管理モジュール508は、記録情報を受信しない。記録管理モジュール508は、1つ又はそれよりも多くの記録を走査して記録名又はタイプを決定することができ、又は一部の実施形態において、記録管理モジュール508は、記録から関連情報(例えば、アプリケーション及びファイル属性)を走査する。例えば、記録管理モジュール508は、訓練し(例えば、記録からの情報は、データ構造に含まれた以前に決定された記録情報と比較することができる)、記録の走査に基づいて記録を識別することができる。
一部の実施形態において、記録管理モジュール508は、一本化された記録を受信する。記録管理モジュール508は、デジタルデバイスから受信した記録情報を利用する及び/又は一本化されたファイルを走査して記録のタイプ、並びに記録の位置を決定することができる。
段階708では、情報取り出しモジュール510は、識別された記録に基づいて記録管理情報を取り出すことができる。例えば、第三者によって発生された記録は、評価に関連する特定のセグメントを有する場合がある。記録のタイプ又はアイデンティティに基づいて、情報取り出しモジュール510は、評価に関連する記録のセグメント及び/又は一部を識別することができる記録管理情報を取り出すことができる。情報取り出しモジュール510は、記録管理データベース518から記録管理情報を取り出すことができる。
段階710では、評価モジュール512は、記録管理情報を使用して評価要求から記録のセグメント及び/又は一部を利用するアプリケーション及びファイル属性(例えば、関連情報)を識別する。段階712では、評価モジュール512は、識別したアプリケーション及びファイル属性を脆弱性データベース522の全部又は一部と比較することができる。一部の実施形態において、記録管理情報及び/又は記録情報は、記録のセグメント又は一部の内容を識別することができる。記録のセグメント又は一部の識別された内容は、脆弱性データベース522の関連情報だけと比較される(例えば、アプリケーションチェックサムは、脆弱性データベース522内の格納されたアプリケーションチェックサムとだけ比較され、例えば、アプリケーション名とは比較されない)。一部の実施形態において、記録管理モジュール508、情報取り出しモジュール510、及び/又は評価モジュール512は、記録を走査し、比較するための脆弱性データベース522の関連する部分を決定する。
段階714では、評価モジュール512、報告モジュール514、及び/又は警報モジュール516は、比較に基づいて任意的にリスク値を決定することができる。一部の実施形態において、脆弱性データベース522は、ある一定のアプリケーション又はファイルが疑わしいか、信頼することができるか、又は脆弱である可能性を示す得点又は他の値を含むことができる。評価モジュール512は、例えば、アプリケーション及びファイル属性に関連付けられた全ての得点又は他の値を追跡し、1つ又はそれよりも多くの評価要求及び/又は評価要求を提供したデジタルデバイスに関連する他の情報に基づいて全体的なリスク値を決定することができる。
段階716では、警報モジュール516は、評価に関連付けられた1つ又はそれよりも多くのリスク値(例えば、全体的なリスク値)をリスク許容閾値と比較することができる。リスク許容閾値は、デフォルト値とすることができ、又はネットワーク管理者又は他の許可された人又はデバイスによって確立することができる。リスク許容閾値は、異なるアプリケーション、ファイル、ユーザ、ネットワーク、及び/又はデジタルデバイスに対して異なるものにすることができる。
段階718では、警報モジュール516は、比較に基づいて警報を送信する。警報は、あらゆるデバイス及び/又は個人に送信することができる。
段階720では、報告モジュール514は、評価に基づいて報告を発生する。一例では、この報告は、評価されたアプリケーション及びファイル属性、並びに評価の結果を識別する。この報告は、記録(例えば、過去の評価の結果)を提供したユーザ及び/又はデジタルデバイスの履歴を含むことができる。この報告は、ホワイトリストのアプリケーション及びファイル、及び/又はブラックリストのアプリケーション及びファイルを識別することができる。この報告は、グレイリストに関連付けられたあらゆるアプリケーション又はファイルを含むことができる。
様々な実施形態において、この報告は、提案、訂正の経路、又は警告などを含むことができる。この報告は、更新されたプログラム及び/又はパッチへのリンクを含むことができる。
様々な実施形態において、評価モジュール512は、1つ又はそれよりも多くのファイル又はアプリケーションがアクセスされた時にユーザ及びユーザのネットワーク権利を追跡することができる。この結果、評価モジュール512は、スーパーユーザ又は「高い」権利を有するユーザが脆弱なアプリケーション及びファイルを利用することによって招く場合がある潜在的なリスク及び潜在的な損害を識別することができる。一例では、評価モジュール512は、1つ又はそれよりも多くの記録が発生された時にユーザのアイデンティティ、並びにユーザのネットワーク権利を取得することができる。
報告モジュール514は、1つ又はそれよりも多くのアプリケーション及び/又はファイルにアクセスしたユーザ、並びにユーザに関するネットワーク権利を識別することができる。
図8は、一部の実施形態におけるセキュリティ評価サーバによって発生された例示的な報告800である。アイデンティティ管理及び脆弱性の統合は、全体像を生成することができる。Windows及びRetinaにPowerBrokerのようなツールを使用することは、ホストで実行されているアプリケーション、アプリケーションを実行しているユーザの特権、及びCVSSのような規格を使用して表わされるリスク、及び脆弱性が突破口ツールキットにおいて利用可能であるかを示すことができる。図8に示すダッシュボードを考えられたい。
この例では、ランタイム中に識別された脆弱性との関係における高い共通脆弱性得点システム(CVSS)得点を有する8つのアプリケーションが実行されている。33.33%が突破可能であり、購入又はダウンロードのために容易にアクセス可能なツールキットによって危うくなる場合がある。本明細書で説明する一部の実施形態は、アプリケーションが実行された時間、アプリケーションを実行した人、及びアプリケーションが実行された時間に使用された特権を検出及び報告する。様々な実施形態は、この情報を脆弱性及び他の尺度に相関付けることができる。この情報の全ては、ダッシュボード及び網羅的な報告として利用することができる。
当業者は、一部の実施形態において、報告によって提供される全体像は、見出された脆弱性の従来の電話帳よりも大きいことを認めるであろう。更に、一部の実施形態は、特権的なアイデンティティ管理のためにシステム及びユーザによるアプリケーション使用を単純に制御及び測定すること以上のものを提供する。本明細書で説明する一部の実施形態は、現実世界のユーザ作動をユーザが日常的に作動させるアプリケーションのリスクにリンクさせる脆弱性とアイデンティティ管理との新しいタイプの融合である。脆弱性がゼロデイ又はパッチを当てていないレガシー脆弱性であるかに関わらず、ユーザ、許可、システム、及びアプリケーションによるリスクの理解は、従来技術のネットワーク走査で識別される見出された脆弱性の単なる大量の報告リストよりも修正、軽減、及び除外のための優れたガイダンスを提供することができる。
当業者は、報告が評価に関するあらゆる情報も含むことができることを認めるであろう。
図9は、例示的なデジタルデバイスのブロック図である。デジタルデバイス902は、通信チャネル916に通信することができるように結合されたプロセッサ904、メモリシステム906、格納システム908、入力デバイス910、通信ネットワークインタフェース912、及び出力デバイス914を含む。プロセッサ904は、実行可能命令(例えば、プログラム)を実行するように構成される。一部の実施形態において、プロセッサ904は、実行可能命令を処理することができる回路又はあらゆるプロセッサを含む。
メモリシステム906は、データを格納する。メモリシステム906の一部の実施例には、RAM、ROM、RAMキャッシュ、仮想メモリなどのようなストレージデバイスが含まれる。様々な実施形態において、作業データは、メモリシステム906に格納される。メモリシステム906内のデータは、消去することができ、又は最終的に格納システム908に転送することができる。
格納システム908は、データを取り出して格納するように構成されたあらゆるストレージを含む。格納システム908の一部の実施例には、フラッシュドライブ、ハードドライブ、光学ドライブ、及び/又は磁気テープが含まれる。メモリシステム906及び格納システム908の各々は、プロセッサ904によって実行可能な命令又はプログラムを格納するコンピュータ可読媒体を含む。
入力デバイス910は、入力データを(例えば、マウス及びキーボード上で)受信するインタフェースのようなあらゆるデバイスである。出力デバイス914は、データを(例えば、スピーカ又はディスプレイに)出力するインタフェースである。当業者は、格納システム908、入力デバイス910、及び出力デバイス914を任意的とすることができることを認めるであろう。例えば、ルータ/スイッチ110は、プロセッサ904及びメモリシステム906、並びにデータを受信及び出力するためのデバイス(例えば、通信ネットワークインタフェース912及び/又は出力デバイス914)を含むことができる。
通信ネットワークインタフェース(com.network interface)912は、リンク918を通じてネットワーク(例えば、コンピュータネットワーク126)に結合することができる。通信ネットワークインタフェース912は、イーサネット(登録商標)接続、シリアル接続、パラレル接続、及び/又はATA接続を通じた通信をサポートすることができる。通信ネットワークインタフェース912はまた、無線通信(例えば、802.11a/b/g/n、WiMax、LTE、WiFi)をサポートすることができる。通信ネットワークインタフェース912が多くの有線及び無線規格をサポートすることができることは当業者には明らかであろう。
デジタルデバイス902のハードウエア要素が図9に示すものに制限されないことは当業者によって認められるであろう。デジタルデバイス902は、図示のものよりも多いか又は少ないハードウエア、ソフトウエア、及び/又はファームウエア構成要素を含むことができる(例えば、ドライバ、オペレーティングシステム、タッチスクリーン、生体測定分析器、その他)。更に、ハードウエア要素は、機能を共有することができ、かつ依然として本明細書で説明する様々な実施形態の範囲内である。一例では、符号化及び/又は復号は、GPU(すなわち、Nvidia)上に位置付けられたプロセッサ904及び/又はコプロセッサによって実行することができる。
現在のセキュリティソリューションは、例えば、ウイルス対策署名、ヒューリスティックアルゴリズム、及びサンドボックス分析を含む多様な技術を使用して悪意のあるアプリケーションを阻止する。これらの手法は、試験条件下(例えば、サンドボックス内)で、ホスト上に悪意のある挙動を引き起こす可能性があると考えられる悪意のあるものとして又はそういった特徴を含むとしてアプリケーションが識別されたか否かに焦点を当てる。例えば、このようなソリューションは、正規のアプリケーションからマルウェアを識別する。
マルウェアを識別するソリューションとは対照的に、本明細書における一部の実施形態は、脆弱性からのアプリケーション保護を可能にする。例えば、本明細書の実施形態は、アプリケーションの起動を検出し、かつアプリケーションの潜在的リスクに基づいてアプリケーションが起動を許されるか否か及び/又はアプリケーションが修正された許可を用いて起動を許されるかを決定することができる。潜在的リスクは、例えば、起動アプリケーションに関連付けられた脆弱性が存在するか否かを含むことができる。一例では、デジタルデバイス上のエージェントは、アプリケーションの起動を検出し、アプリケーションを識別し、かつアプリケーションに関連付けられた公知の脆弱性が存在するか否かを識別することができる。アプリケーションは、マルウェアではないが、むしろ公知の脆弱性を有する正規のアプリケーションである場合がある(例えば、ブラウザ上でフラッシュを再生するための公知のアプリケーション;フラッシュプレーヤは、突破できる脆弱性を有する場合がある)。脆弱性が識別された場合に(例えば、リスク情報から)、エージェントは、許可及び識別された脆弱性に基づいてアプリケーションが起動することを許し、アプリケーションが起動することを禁止し、又はアプリケーションの機能を修正することができる。
いずれかのアプリケーションを起動させる決定は、従来、悪意のある意図に基づいてウイルス対策プログラム、ホストベースの侵入防止ソリューション、及びブラックリストアプリケーションに結び付けられてきた。本明細書に説明する様々な実施形態は、脆弱性又は他のリスク判断基準に基づく潜在的リスクに基づいて、アプリケーションが起動することができるか又は起動アプリケーションの許可を修正させることができるか否かを決定することができる。
一例では、従来の抗マルウェアスキャナは、PDF読取器(例えば、Adobe Acrobat Reader)の古い及び欠陥バージョンにフラグを立てないか又は他に制限しない場合があり、その理由は、PDF読取器が正規のアプリケーションであるからである(すなわち、ウイルス又はトロイの木馬のようなマルウェアではない)。しかし、PDF読取器は、脆弱性を含む場合がある。仮に突破口又はマルウェアが存在して利用されない限り、脆弱性だけではリスクにならない場合がある。しかし、本明細書に説明する一部の実施形態は、いつPDF読取器が起動することになるかを検出し、一部の実施形態ではアプリケーションのバージョンを含むアプリケーションを識別し、PDF読取器に関連付けられたリスク情報から公知のリスク(例えば、脆弱性)を識別し、かつアクションを取る(例えば、PDF読取器の起動を中止する)ことができる。
図10は、一部の実施形態におけるユーザデバイス1000のブロック図である。ユーザデバイス1000は、あらゆるデジタルデバイスとすることができる。ユーザデバイス1000の一部の例は、以下に限定されるものではないが、スマートフォン206、タブレットデバイス208、ラップトップ210、又は図2に関して説明したPC214を含む。ユーザデバイス1000は、アプリケーション1002、エージェント1004、マルウェア1006、抗マルウェア1008、及びオペレーティングシステム1010を含む。
アプリケーション1002は、あらゆる正規のアプリケーションを含むことができる。アプリケーションは、エンドユーザがワードプロセッシング又は通信のような特定のタスクを実行することを可能にするように設計されたあらゆるプログラムである。正規のアプリケーションは、マルウェア(例えば、トロイの木馬、ワーム、ウイルス、又はコンピュータ又はコンピュータシステムに損害を与えるか又は不能にするように意図されたソフトウェア)ではないあらゆるアプリケーションとすることができる。正規のアプリケーションは、例えば、ワードプロセッシングプログラム、オペレーティングシステム、ブラウザ、スプレッドシート、リーダー、プレーヤ、データベースアプリケーション、電子メールアプリケーション、又はデザインアプリケーションなどを含むことができる。当業者は、あらゆる数のアプリケーション1002が存在する場合があることを認めるであろう。様々な実施形態において、アプリケーション1002は、ユーザデバイス1000のユーザ、管理者、及び/又は他の信頼される個人によってインストール及び/又は構成されたアプリケーションを含む。
エージェント1004は、ユーザデバイス1000に存在し、リスク情報及び規則に基づいて1つ又はそれよりも多くのアプリケーション1002の実行を制御するように構成することができる。リスク情報は、例えば、アプリケーションに関連付けられた1つ又はそれよりも多くの公知の脆弱性があるか否か又は1つ又はそれよりも多くの脆弱性に関連付けられた潜在的リスクがあるか否かを含む潜在的な脆弱性に関する情報を含むことができる。この代わりに又はこれに加えて、リスク情報は、アプリケーションの1つ又はそれよりも多くの脆弱性が突破される可能性のリスク値及び/又は指標を含むことができる。リスク情報は、1つ又はそれよりも多くの脆弱性が最初に識別された日付、「共通脆弱性採点システム」得点(すなわち、CVSS得点)、脆弱性が公に知られた日数、アプリケーションがパッチを当てていなかった日数、アプリケーションが規制基準に準拠していないか否か、アプリケーションを標準的なユーザとしてのみ実行することができるか否か、又は公開突破口が存在するか否かなどを含むことができる。
リスク値は、アプリケーションに関連付けられたリスクの程度を示す少なくとも1つの値である。リスク値は、アプリケーションに関連付けられた少なくとも1つの脆弱性が検出されたか否か、検出されたアプリケーションに関連付けられた脆弱性の数、突破の可能性、突破された場合のユーザデバイス1000への潜在的な損害、又は突破された場合のユーザデバイス1000と通信するシステムへの潜在的な損害などに少なくとも一部基づくことができる。当業者は、CVSS得点の生成が標準的な方法に従うこと及びリスク値が1つ又はそれよりも多くのシステムの必要性に基づいて管理者などによってカスタムに生成されることを認めるであろう。
エージェント1004は、規則に基づいて1つ又はそれよりも多くのアプリケーションの実行を制御することができる。規則は、リスク情報に基づいて識別することができる。例えば、規則は、アプリケーションに関連付けられた少なくとも1つの脆弱性が検出されたか否か、検出されたアプリケーションに関連付けられた脆弱性の数、突破の可能性、突破された場合のユーザデバイス1000への潜在的な損害、及び/又は突破された場合のユーザデバイス1000と通信するシステムへの潜在的な損害などに基づいてアプリケーションを起動又は停止することができる。
規則は、アプリケーション1002の全てのアプリケーション又はアプリケーションの部分集合に適用することができる。一例では、規則は、予め決められた期間を超えて知られている又は疑わしい1つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス1000に命令することができる。規則は、予め決められた期間を超えてパッチを当てていない場合に1つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス1000に命令することができる。別の例では、規則は、1つ又はそれよりも多くの公知の又は疑わしい脆弱性に対する公開突破口が存在する場合、及び/又はアプリケーションの起動を試みるために使用されるユーザアカウントに特権が与えられている場合に(例えば、ルートアクセス)、1つ又はそれよりも多くの公知の又は疑わしい脆弱性を有するあらゆるアプリケーションの起動を許可又は拒否するようにユーザデバイス1000に命令することができる。
エージェント1004を図11に関して更に説明する。
マルウェア1006は、その機能がネットワーク上のユーザデバイス1000及び/又は別のデジタルデバイスからの情報に損害を与える及び/又は情報を盗むことであるあらゆるマルウェアである。ユーザデバイス1000は、常にマルウェア1006を含むとは限らない。マルウェア1006は、抗マルウェア1008によって検出及び/又は隔離することができる。マルウェア1006は、本明細書に説明するように正規のアプリケーションを含まない。
抗マルウェア1008は、マルウェア1006を検出するように構成されたあらゆるセキュリティアプリケーションである。抗マルウェア1008は、例えば、ウイルス対策アプリケーション、ファイアウォールアプリケーション、又はマルウェアスキャナなどを含むことができる。当業者は、抗マルウェア1008が本明細書に説明するようにマルウェア1006を識別することができるが、マルチウェア対策1008は、アプリケーション1002及び規則に関連付けられたリスク情報に基づいて正規アプリケーション(すなわち、アプリケーション1002)の脆弱性を識別することができず、1つ又はそれよりも多くのアプリケーション1002が起動される時間を検出できず、及び/又はアプリケーション1002の実行を制御できないことを認めるであろう。
オペレーティングシステム1010は、あらゆるオペレーティングシステムとすることができる。例えば、オペレーティングシステム1010は、Microsoft Windows、OSX、Unix、BSD、又はあらゆる他のオペレーティングシステムとすることができる。一部の実施形態では、エージェント1004は、オペレーティングシステム1010と通信するAPI及び/又はモジュールを含み、アプリケーションが起動される時間を検出することができる。
図11は、一部の実施形態においてユーザデバイス1000上とすることができるエージェント1004のブロック図である。エージェント1004は、モニタモジュール1102、識別子モジュール1104、脆弱性検査器モジュール1106、規則モジュール1108、制御モジュール1110、更新モジュール1112、脆弱性データベース1114、及び規則データベース1116を含む。
モニタモジュール1102は、ユーザデバイス1000のアプリケーション(例えば、アプリケーション1002の少なくとも1つのアプリケーション)の起動をモニタするように構成される。様々な実施形態では、モニタモジュール1102の全部又は一部は、アプリケーションを起動するためのオペレーティングシステム1010への呼出しを傍受する及び/又は他に受信する。起動アプリケーションは正規のアプリケーションとすることができる。本明細書に説明するように、アプリケーションは、あらゆる実行ファイルとすることができる。
様々な実施形態では、モニタモジュール1102の全部又は一部は、オペレーティングシステム1010内にフックを有することができる(例えば、モニタモジュールは、カーネルにフックを有することができる)。モニタモジュール1102は、指令又は呼出しを検出してアプリケーションを起動することができ、又はこのような指令又は呼出しを傍受することができる。
識別子モジュール1104は、起動アプリケーション及び/又は起動アプリケーションの1つ又はそれよりも多くの属性を識別するように構成される。例えば、識別子モジュール1104は、起動アプリケーション、並びに起動アプリケーションのバージョンを識別することができる。識別子モジュール1104の全部又は一部は、オペレーティングシステム1010内にあるか又はオペレーティングシステム1010と通信し、ユーザデバイス1000のメモリ(例えばRAM)に存在し、又はユーザデバイス1000のあらゆる構成要素と通信することができる。
様々な実施形態では、アプリケーションの起動を命令する前に、識別子モジュール1104は、ユーザデバイス1000の全部又は一部を走査してアプリケーション及び/又はアプリケーションの属性(例えば、バージョン)を識別することができる。アプリケーション識別子及び/又は属性は、格納するか又はキャッシュに入れることができる。モニタモジュール1102がアプリケーションを起動するための指令又は呼出しを検出した時に、識別子モジュール1104は、前に格納された又はキャッシュに入れられた情報に基づいて起動アプリケーションを識別することができる。
一部の実施形態では、情報を前もって利用できない場合に、識別子モジュール1104は、アプリケーション又はアプリケーションに関連付けられたファイルを走査してアプリケーション及び/又はアプリケーションの属性を識別することができる。様々な実施形態では、識別子モジュール1104は、アプリケーションの起動に関連付けられた指令を傍受する。識別子モジュール1104は、起動アプリケーションに関連付けられたファイル及び実行ファイルを走査してアプリケーション及び/又は起動アプリケーションに関連付けられた属性を識別することができる。一例では、識別子モジュール1104は、起動アプリケーションに関連付けられたディレクトリからファイルを取り出して走査する。識別子モジュール1104は、アプリケーション識別子を生成するか又は走査したディレクトリからアプリケーション識別子を取り出すことができる。様々な実施形態では、識別子モジュール1104及び/又はセキュリティサーバ1200(図12を参照されたい)は、本明細書に説明するようにユーザデバイス1000を走査するか又は記録を受信して記録からファイル識別子及び/又は属性を構文解析し、1つ又はそれよりも多くのアプリケーション及び/又は属性を識別することができる。セキュリティサーバ1200がアプリケーション識別子及び/又は属性を識別した場合に、この情報は、エージェント1004に提供することができる。
一部の実施形態では、識別子モジュール1104は、格納された複数のアプリケーション識別子からアプリケーション識別子を取り出す。アプリケーション識別子の取り出しは、起動アプリケーションのディレクトリの走査からの情報に基づくことができる。アプリケーション識別子は、起動アプリケーションを識別することができるアプリケーションの名前、値(例えばコード)、ハッシュ、又はあらゆる他の情報とすることができる。
属性は、起動アプリケーションのバージョン又は起動アプリケーションを識別するのに使用することができるあらゆる他の情報を識別することができる。属性は、例えばファイル属性を含むあらゆる情報を含むことができる(図2に関する説明を参照されたい)。
当業者は、一部の実施形態において、リスク情報を取り出すためにアプリケーション識別子(いずれの他の属性のバージョン番号もない)を利用することができることを認めるであろう。例えば、アプリケーションのハッシュ、ディレクトリの位置、又は他の情報は、リスク情報及び/又は規則を取り出すのに十分である場合がある。
様々な実施形態において、識別子モジュール1104はまた、アプリケーションの起動を求めるユーザのユーザログインステータスを識別することができる。例えば、識別子モジュール1104は、アプリケーションの起動を呼び出すユーザが、信頼される又は高められたアカウントとして署名されているか否か(例えば、ユーザが能動的な監督又はスーパーユーザの権利を有するか否か)を検出することができる。当業者は、他の正規のアプリケーションの突破された脆弱性が、管理者権利を利用してユーザデバイス1000又はユーザデバイス1000と通信するネットワーク上の信頼されるシステムに更に損害を与える可能性があることを認めるであろう。
脆弱性検査器モジュール1106は、識別したアプリケーション及び/又は属性を利用してリスク情報を取り出すように構成される。リスク情報は、起動アプリケーションのリスクに関連付けられたあらゆる情報である。リスク情報は、起動アプリケーションに関連付けられた公知の脆弱性の数、起動アプリケーションに関連付けられた1つ又はそれよりも多くの特定の脆弱性に関する情報、起動アプリケーションがパッチを当てていなかった日数(又は経過したいずれかの時間)、アプリケーションに関連付けられた1つ又はそれよりも多くの脆弱性が検出されてからの日数(又は経過したいずれかの時間)、1つ又はそれよりも多くの脆弱性の1つ又はそれよりも多くの公開突破口が存在するか否か、ユーザデバイス1000への1つ又はそれよりも多くの脆弱性に関連付けられた潜在的な損害、ユーザデバイス1000と通信するネットワークの信頼されるデバイスへの1つ又はそれよりも多くの脆弱性に関連付けられた潜在的な損害、1つ又はそれよりも多くの脆弱性のCVSS得点、リスク値、利用されなかった利用することができるパッチ、及び/又は利用されていないパッチが利用することができるようになってからの日数などを含むことができる。
リスク情報は、脆弱性データベース1114に格納することができる。例えば、脆弱性検査器モジュール1106は、アプリケーション識別子(例えば、Adobe Acrobat Reader)、バージョン番号(例えば、バージョン11.0.01)、及び/又は識別子モジュール1104から受信したあらゆる他の属性に基づいてリスク情報を取り出すことができる。この例では、リスク情報は、公に利用可能な突破口を有する3つの公知の脆弱性が存在することを示すことができる。リスク情報は、60日よりも長い期間に公知の脆弱性の2つが知られていたことを示すことができる。別の例では、リスク情報は、1つ又はそれよりも多くのCVSS得点を含むことができる。
規則モジュール1108は、リスク情報に基づいて規則データベース1116から1つ又はそれよりも多くの規則を取り出すように構成することができる。規則は、リスク情報に基づいて取られる1つ又はそれよりも多くのアクションを示す規定及び/又は規則を含むことができる。規則は、特定のアプリケーション、アプリケーションバージョン、及び/又はアプリケーションの他の属性に固有のものとすることができる。規則は、全てのアプリケーション又はアプリケーションの群に適用することができる(例えば、重大なアプリケーションは、1つ又はそれよりも多くの許可毎に一緒に分類することができ、重要なアプリケーションは、1つ又はそれよりも多くの他の許可毎に一緒に分類することができ、重要でないアプリケーションは、他の許可毎に一緒に分類することができる)。
様々な実施形態において、規則モジュール1108は、リスク情報に基づいて異なる規則を取り出さない。一部の実施形態では、規則モジュール1108は、リスク情報に関連付けられた規則の1つ又はそれよりも多くのデータ構造を含む。制御モジュール1110は、最も厳しい適用可能な規則に基づいてタスクを実行するように構成することができる。適用可能な規則は、脆弱性検査器モジュール1106から取り出したリスク情報に基づいて起動アプリケーションに適用される規則である。最も厳しい適用可能な規則は、他の適用可能な規則に関連付けられた活動と比較した時に最も厳しく起動アプリケーションを規制する適用可能な規則である。
例えば、規則は、起動アプリケーションの阻止を結果として生じるリスク情報に関連付けられた規則が最初に列挙され、修正なしの起動アプリケーションの起動を結果として生じるリスク情報に関連付けられた規則を最後に列挙することができるテーブルに並べ替えることができる。制御モジュール1110が、起動アプリケーションの起動を可能にするが、機能を不能にするか(例えば許可を修正する)又は更なる機能を要求することをもたらすリスク情報に関連付けられた規則は、最も制限される要件に基づいてリストで並べ替えることができる。規則モジュール1108が、最も厳しいカテゴリ(例えば起動アプリケーションの起動を阻止する)から適用可能な規則を識別した状態で、規則モジュール1108は、あらゆる他の適用可能な規則を取り出さず又は識別しない場合があり、制御モジュール1110は、起動アプリケーションが起動しないように阻止することができる。
規則モジュール1108は、起動アプリケーションのリスク情報に関連付けられたあらゆる数の規則も識別することができ、制御モジュール1110は、1つ又はそれよりも多くの規則に基づいて起動アプリケーションを制御することができる。例えば、規則は、予め決められた閾値よりも大きいCVSS得点を有するあらゆるアプリケーションの起動を阻止するように制御モジュール1110に指示することができる。
規則は、起動アプリケーションが起動することを中止するか、又は修正された許可によって又は修正された許可なしに起動アプリケーションの起動を可能にすることができる。起動アプリケーションを中止するか又は修正された許可によってアプリケーションの起動を可能にするように制御モジュール1110に命令することができる例示的な規則は、制限されないが以下を含む。
脆弱性が、「n」日前に公に開示された。
脆弱性が、「n」日前にユーザデバイス1000上で検出された。
起動アプリケーションが、HIPAAのようないずれかの規制基準を侵害する。
起動アプリケーションが、標準的なユーザとしてのみ実行することができる。
公開突破口が存在する場合に許可/拒否する。
CVSS得点が予め決められたパラメータ内である場合に起動アプリケーションが通常モードで起動することを許可/拒否する。
当業者は、規則モジュール1108が任意的である場合があることを認めるであろう。例えば、制御モジュール1110は、リスク情報を受信し、かつリスク情報に基づいて適用可能な規則に対して作用することができる。
制御モジュール1110は、1つ又はそれよりも多くの適用可能な規則に基づいて起動アプリケーションを制御するように構成される。一例では、適用可能な規則がない場合に、制御モジュール1110は、アクションをとらず、これによって起動アプリケーションを修正なしで起動することができるようにする。当業者は、1つ又はそれよりも多くの適用可能な規則が、修正なしに起動アプリケーションの起動を可能にするように制御モジュール1110に命令することができることを認めるであろう。起動アプリケーションの起動を可能にする一つの例では、制御モジュール1110は、任意的に1つ又はそれよりも多くの適用可能な規則に基づいて、アプリケーションを起動するための1つ又はそれよりも多くの指令を提供するように構成することができる。一部の実施形態では、制御モジュール1110は、1つ又はそれよりも多くの規則に基づいて、ユーザが管理者としてログインしていないか又はスーパーユーザの権利を有する場合に起動アプリケーションの起動を可能にすることができる。別の例では、制御モジュール1110は、1つ又はそれよりも多くの規則に基づいて、ユーザが、標準的なユーザ、特定の権利を有するユーザ、特定の権利を持たないユーザ、又は制限された権利を有するユーザとしてログインされている場合に起動アプリケーションの起動を可能にすることができる。
一部の実施形態では、制御モジュール1110は、1つ又はそれよりも多くの適用可能な規則に基づいて起動アプリケーションの起動を禁じることができる。例えば、1つ又はそれよりも多くの適用可能な規則に基づいて、制御モジュール1110は、規則に基づいてアプリケーションを起動するための1つ又はそれよりも多くの指令を傍受することができる。一部の実施形態では、制御モジュール1110は、アプリケーション又はアプリケーションに関連付けられた処理を終わらせるための1つ又はそれよりも多くの指令を提供することができる。
様々な実施形態では、制御モジュール1110は、規則に基づいて正規のアプリケーションに関連付けられた許可を修正することができる。一例では、起動アプリケーションがブラウザである場合に、制御モジュール1110は、機能を制限して(例えば、フラッシュ、ジャバスクリプト、又はクッキーなどを不能にすること)ブラウザに起動を許可することができる。別の例では、制御モジュール1110は、ブラウザが異なる設定(例えば、プライバシー設定を高にセットする、ポップアップブロッカーを起動する、ゾーンのセキュリティを上げる、信頼されるサイトへのブラウザアクセスを制限する、及び/又はアプリケーション活動のロギングを作動するなど)を起動することを可能にすることができる。
脆弱性データベース1114は、アプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含むあらゆるデータ構造を含む。一例では、脆弱性データベース1114は、正規のアプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含む。別の例では、脆弱性データベース1114は、いずれかのアプリケーションに関連付けられた脆弱性又はリスクの識別を助けるための情報を含む。当業者は、脆弱性データベース1114があらゆるデータ構造を含むことができ、必ずしもデータベースを含まなくてもよいことを認めるであろう。
規則データベース1116は、リスク情報、アプリケーション識別子、及び/又は属性に基づくアクションに関連付けられた規定及び/又は命令を含むあらゆるデータ構造である。
様々な実施形態では、エージェント1004は、制御モジュール1110によって取られるアクションに関するメッセージ及び/又は警報を提供するように構成された通信モジュールを含む。例えば、制御モジュール1110がアプリケーションの起動を阻止する又は他にアプリケーションを終了する場合に、通信モジュールは、アプリケーションが阻止又は終了されたことをユーザデバイス1000のユーザに通知することができる。通信モジュールは、取られるアクションを示すメッセージ又は警報を管理者に(例えば電子メール又はSMSテキストを介して)又はデジタルデバイスに提供することができる。様々な実施形態では、通信モジュールは、アプリケーションの起動を可能にするパッチ又は他の選択肢を利用することができるか否かをユーザに通知することができる。
当業者は、図11に識別されたモジュールが本明細書に説明するものよりも多いか又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。図11に関して示した機能は、単一のデジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態では、複数のデジタルデバイスは、同時に機能を実行する。
図12は、一部の実施形態においてユーザデバイス1000のエージェント1004と通信することができるセキュリティサーバ1200のブロック図である。セキュリティサーバ1200は、リスク評価モジュール1202、リスクAPIモジュール1204、規則生成モジュール1206、記録収集モジュール1208、脆弱性更新モジュール1208、及び規則更新モジュール1210を含む。セキュリティサーバ1200は、アプリケーションにおける脆弱性を識別し、リスク情報を準備して他のデジタルデバイスに配信し、同時に規則を生成して他のデジタルデバイスに配信するように構成することができる。
リスク評価モジュール1202は、アプリケーションに関連付けられた脆弱性及び他のリスクを識別するように構成される。一部の実施形態では、リスク評価モジュール1202は、正規のアプリケーションに関連付けられた脆弱性及び他のリスクを識別するように構成される。
様々な実施形態では、リスク評価モジュール1202は、脆弱性、パッチ、更新、及び/又は他のリスク情報に関連付けられた情報を取り出す。一例では、リスク評価モジュール1202は、ソフトウェア制作者、ソフトウェア配信者、セキュリティソフトウェア制作者又はベンダー、セキュリティ指向ウェブサイト、ブログ、マルウェア警報システム、又は公知の脆弱性、突破口、パッチ、更新、又は他の情報に関する情報を含むことができるあらゆる他のソースから情報を取り出す。一部の実施形態では、管理者又は他のユーザは、リスク評価モジュール1202に提供するための脆弱性及びリスク情報を捜し出す。
リスク評価モジュール1202は、取り出した情報をリスク情報として格納することができる。リスク情報は、あらゆる数のアプリケーションに関連付けられた1つ又はそれよりも多くの脆弱性、CVSS得点、及び/又はリスクを識別することができる。取り出した情報は、アプリケーションに(例えば、アプリケーション識別子により)及び/又はアプリケーション属性(例えばバージョン)に関連付けることができる。様々な実施形態では、リスク評価モジュール1202は、情報を格納、フォーマット化、及び修正し、他のデジタルデバイスに提供するためのリスク情報を生成する。
リスクAPIモジュール1204は、脆弱性、CVSS得点、セキュリティ、パッチ、突破口、新バージョンに関連付けられた情報、及び/又はあらゆる他の種類の情報を取り出すためにアプリケーション及び/又はウェブサイトの利用可能なAPIにアクセスするように構成され、他のデジタルデバイスに提供されるリスク情報を生成する。例えば、リスクAPIモジュール1204は、Symantec、McAfee、Sophos、ブログ、Microsoft、Adobe、アプリケーションダウンロード/更新サイト、又はセキュリティウェブサイトからの情報にアクセスするように構成することができる。
規則生成モジュール1206は、他のデジタルデバイスに提供することができる規則を生成するように構成される。本明細書に説明するように、一部の実施形態では、1つ又はそれよりも多くの特定のアプリケーション、アプリケーションの群、又は全部のアプリケーションのための規則を生成することができる。一例では、管理者は、2つよりも多い脆弱性及び公知の公開突破口を有するあらゆる起動アプリケーションが阻止される規則及び/又は規定を生成することができる。規則は、他のデジタルデバイスに提供することができ、これは、次に、規則条件が満足されたことをリスク情報が示した時に規則を適用することができる。
規則は、ネットワーク又は組織の必要性に基づいて生成することができる。従って、規則は、組織の許容可能なリスクに基づくことができる。例えば、センシティブなシステムは、あらゆるユーザに対して30日よりも古い重大な脆弱性を有するアプリケーションを実行することを許さない場合がある。しかし、ワークステーション上では、このアプリケーションは、標準的なユーザとしてのみ実行することができ、管理者としては決してできず(他の規則又はログオン許可にかかわらず)、従って、規則は、一部の状況ではアプリケーションの実行を可能にするために修正することができる。
更に、規則は、コンプライアンスに対処するために生成することができる。例えば、PCIのような多くの規制イニシアチブは、重大性がCVSS得点に基づいて重要なステータスにマップされた場合に30日で脆弱性にパッチを当てることを強制している。監査が非コンプライアンスを証明した場合に戒めの罰則がある。これに加えて、これらの脆弱なアプリケーションが実行を許可された場合にあらゆる組織へのリスクが高まる。これらを管理者として実行することができる場合にこれは特に真である。この判断基準を満足するアプリケーションの起動を自動的に阻止する規則を生成することができる。
記録モジュール1208は、他のデジタルデバイスに配信するためのリスク情報を準備するように構成される。記録モジュール1208は、リスク評価モジュール1202及び/又はリスクAPIモジュール1204から情報を受信して配信するリスク情報を生成及び準備するように構成することができる。例えば、リスク情報は、脆弱性、リスク、及び突破口に関する情報をアプリケーション識別子及び/又は属性(例えば、バージョン番号)に基づいて取り出すことができるように準備することができる。一例では、記録モジュール1208は、情報を標準化してリスク情報を生成する。
様々な実施形態では、記録モジュール1208は、規則生成モジュール1206からの規則を他のデジタルデバイスに配信するよう準備することができる。一例では、記録モジュール1208は、規則をフォーマット化又は他に組織化することができ、これによって、リスク情報又はあらゆる他の必要な情報に基づいて規則を識別及び/又は取り出すことができる。一部の実施形態では、記録モジュール1208は、規則を組織化し、複製を識別し、及び/又は重なり合う規則を識別することができ、これによって管理者のようなユーザが訂正を行うことを可能にする。
脆弱性更新モジュール1208は、リスク情報を例えばユーザデバイス1000のような他のデジタルデバイスに提供するように構成される。脆弱性更新モジュール1208は、全てのリスク情報、新しいリスク情報のみ、及び/又は1つ又はそれよりも多くのデジタルデバイスに前もって提供されていないリスク情報を提供することができる。
規則更新モジュール1210は、1つ又はそれよりも多くの規則を例えばユーザデバイス1000のような他のデジタルデバイスに提供するように構成される。規則更新モジュール1210は、全ての規則、新しい規則のみ、及び/又は前もって1つ又はそれよりも多くのデジタルデバイスに提供されなかった規則を提供することができる。一部の実施形態では、規則更新モジュール1210は、1つ又はそれよりも多くの規則を1つ又はそれよりも多くのデジタルデバイスに及び1つ又はそれよりも多くの他の規則を1つ又はそれよりも多くの他のデジタルデバイスに提供することができる。例えば、重要なデジタルデバイスは、重要な情報又は機能への制限されたアクセスを有するユーザデバイスに提供される規則とは異なる(例えば厳しい)規則を要求することができる。
当業者は、図12に識別されたモジュールが、本明細書に説明する機能よりも多いか又は少ない機能を実行することができることを認めるであろう。例えば、一部のモジュールは、他のモジュールの機能を実行することができる。図12に関して示した機能は、単一のデジタルデバイスに制限されず、異なる機能を実行する複数のデジタルデバイスによって実行することができる。一部の実施形態では、複数のデジタルデバイスは同時に機能を実行する。
図13は、一部の実施形態におけるリスク情報及び規則に基づいてアプリケーションの実行を制御するための流れ図である。段階1302で、モニタモジュール1102は、アプリケーション1002の正規アプリケーションを実行又は起動する命令をユーザデバイス1000でモニタする。モニタモジュール1102は、アプリケーション1002のあらゆる数のアプリケーションを起動又は他に実行するための指令又は呼出しをモニタ及び/又は傍受するオペレーティングシステム1010内の構成要素を含むことができる。
段階1304で、識別子モジュール1104は、起動する正規アプリケーションの1つ又はそれよりも多くの属性を識別する。一部の実施形態では、識別子モジュール1104は、起動されることになるアプリケーション及び/又は起動されることになるアプリケーションに関連付けられたファイルを前もって走査している。識別子モジュール1104が前もってアプリケーションを識別していない場合に、識別子モジュール1104は、アプリケーションから又はアプリケーションに関係のある情報からアプリケーション識別子、バージョン番号、及び/又は他の属性を取り出すか又は生成することができる。
識別子モジュール1104は、起動されることになるアプリケーション及び/又はアプリケーションに関連付けられたあらゆる数の属性を識別することができる。一例では、識別子モジュール1104は、アプリケーション識別子及び/又は属性識別子(例えば、アプリケーション名及びバージョン)を生成又は取り出す。一部の実施形態では、識別子モジュール1104は、モニタされた及び/又は傍受された指令又は呼出しから情報(例えば、アプリケーション識別子及び/又は属性)を取り出す。
段階1306で、脆弱性検査器モジュール1106は、識別子モジュール1104から属性に関連付けられたリスク情報を取り出す。一部の実施形態では、脆弱性検査器モジュール1106は、アプリケーション識別子及び/又は少なくとも1つの属性(例えば、バージョン番号)に基づいてリスク情報を取り出す。脆弱性検査器モジュール1106は、あらゆる情報に基づいて脆弱性データベース1114からリスク情報を取り出すことができる。
段階1308で、脆弱性検査器モジュール1106は、リスク情報に基づいて起動されることになるアプリケーションに関連付けられたリスクを識別する。リスク情報は、CVSS得点、起動アプリケーションに関連付けられたいずれかの公知の脆弱性があるか否か、このような脆弱性の数、公知の公開突破口、及び1つ又はそれよりも多くの脆弱性が最初に検出されてからの日数などを含むことができる。
段階1310で、規則モジュール1108は、リスク情報に関連付けられた1つ又はそれよりも多くの規則を取り出す。規則モジュール1108は、規則データベース1116から又はあらゆるデータ構造から1つ又はそれよりも多くの規則を取り出すことができる。1つ又はそれよりも多くの規則は、起動されることになるアプリケーションを管理する命令又は規定を含むことができる。例えば、1つの規則は、リスク情報に基づいて(例えば、重大な脆弱性が、起動されることになるアプリケーションのバージョンに関連付けられるか、又はCVSS得点が高すぎる)アプリケーションの起動を阻止する命令を含むことができる。
一部の実施形態では、規則は、規則モジュール1108が、アプリケーションを制御するための制御モジュール1110への命令を生成することを可能にする。
段階1312で、制御モジュール1110は、取り出された規則に基づいて正規アプリケーションの実行又は起動を制御する。様々な実施形態では、制御モジュール1110は、アプリケーションを修正なしで起動することができるようにするか又は命令することができる。制御モジュール1110は、適用可能な規則に基づいてアプリケーションが起動しないように阻止し、アプリケーションを終了し、又は起動アプリケーションに関連付けられた許可を修正することができる。
図14は、一部の実施形態におけるリスク情報及び規則を更新するための流れ図である。段階1402で、リスク評価モジュール1202は、1つ又はそれよりも多くの正規アプリケーションの脆弱性を識別する。例えば、リスク評価モジュール1202は、あらゆる数のソースからセキュリティ、脆弱性、及び他の情報を取り出すことができる。一部の実施形態では、管理者及びセキュリティ専門家は、あらゆる数のソースからセキュリティ情報を取得し、この情報をリスク評価モジュール1202に提供する。一部の実施形態では、リスクAPIモジュール1204は、1つ又はそれよりも多くのAPIを利用する1つ又はそれよりも多くの異なるサイトから脆弱性及び/又はセキュリティ情報を識別及び取り出す。
段階1404で、リスク評価モジュール1202、リスクAPIモジュール1204、及び/又は記録モジュール1208は、識別された脆弱性に関連付けられたリスク情報を生成する(例えば、フォーマット化及び/又は組織化する)。一例では、記録モジュール1208は、取り出した又は受信した情報をフォーマット化し、1つ又はそれよりも多くのデジタルデバイスに配信するリスク情報を生成及び/又は提供する。段階1406で、脆弱性更新モジュール1208は、リスク情報更新を1つ又はそれよりも多くのデジタルデバイスに提供する。
段階1408で、規則生成モジュール1206は、リスク情報に関連付けられた少なくとも1つの規則を生成又は受信する。規則生成モジュール1206は、リスク情報、アプリケーション識別子、及び/又はアプリケーションに関連付けられた属性に基づいて規則を取り出すことができるように少なくとも1つの規則を生成することができる。段階1410で、規則更新モジュール1210は、規則更新を1つ又はそれよりも多くのデジタルデバイスに提供する。
段階1412で、セキュリティサーバ1200は、リスク情報、生成された規則、及び/又はデジタルデバイスに関する報告を発生させることができる。一例では、報告は、管理者が、リスク情報の全部又は一部を変更、更新、修正、追加、又は削除することができるように、過去及び現在のリスク情報を詳述する。一部の実施形態では、報告は、過去及び最近決定された規則を詳述することができる。報告は、管理者が、規則の全部または一部を変更、更新、修正、追加、又は削除することができるようにする。報告は、デジタルデバイス識別子、及び/又はデジタルデバイスの部分集合を含むあらゆる数のデジタルデバイスに提供されたリスク情報及び/又は規則を任意的に追跡することができる。報告は、エージェント1004によって取られるあらゆるアクション及び/又はセキュリティソフトウェアによるアクション(例えば隔離)を含むアプリケーション及び/又はデジタルデバイスに関連付けられた検出された脆弱性を任意的に詳述することができる。
図15は、一部の実施形態における正規のアプリケーションの脆弱性を識別する例示的な脆弱性インタフェースである。図15では、脆弱性インタフェースは、セキュリティサーバ120によって生成することができ、かつリスク評価モジュール1202及び/又はリスクAPIモジュール1204によって識別又は検出された公知の脆弱性を列挙することができる。脆弱性インタフェースは、ユーザ又は管理者が、アプリケーション名、監査ID、事象ID、重大性の程度、及び/又はあらゆる他の情報によって整理される識別された及び/又は検出された脆弱性を見られるようにする。管理者は、最後の7日間、最後の30日間、最後の60日間、最後の90日間、又はカスタム定義の日付の範囲にわたってセキュリティサーバ1200によって識別された脆弱性の閲覧を要求することができる。
図16は、一部の実施形態におけるセキュリティサーバによって発生された例示的な報告である。図16では、例示的な報告は、ユーザが、重大性、アプリケーションバージョンに関連付けられた脆弱性の数、1つ又はそれよりも多くの脆弱性がゼロデイである場合にローカルに突破された公開突破口があったか否か、及び訂正することができるいずれかのアクション(例えば、利用可能なパッチ)のようなリスク情報に基づいて、識別された及び/又は検出された脆弱性を整理することを可能にする。報告は、脆弱性に関連付けられた識別子を含むことができる。この報告は、管理レベルで発生させることができ、かつ実行されたアプリケーション及び起動されたアプリケーション内に存在する脆弱性に関するアクション可能なステータスを提供することができる。
上述の機能及び構成要素は、コンピュータ可読媒体のようなストレージ媒体上に格納された命令を含むことができる。命令の一部の実施例は、ソフトウエア、プログラムコード、及びファームウエアを含む。命令は、多くの方法でプロセッサによって取り出して実行することができる。
本発明を例示的な実施形態に関して上記に説明した。様々な変更を実行することができること及び他の実施形態を本発明のより広範な範囲から逸脱することなく使用することができることは当業者には明らかであろう。従って、例示的な実施形態に対するこれら及び他の変形は、本発明によって網羅されるように意図している。