(57)【特許請求の範囲】
【請求項１】
自動化されたアプリケーション分析のためのコンピュータ実装方法であって、前記方法が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
前記少なくとも１つのプロセッサによって、コード作成活動を検出することと、
前記少なくとも１つのプロセッサによって、以前に知られていなかったコンピュータアプリケーションの存在を検出することと、
前記少なくとも１つのプロセッサによって、前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることと、
前記少なくとも１つのプロセッサによって、前記以前に知られていなかったコンピュータアプリケーションに関する評判スコアを生成することと、
前記少なくとも１つのプロセッサによって、
（ｉ）前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることと、
（ｉｉ）前記以前に知られていなかったコンピュータアプリケーションの前記評判スコアが、事前に設定された閾値を超えることと、に基づいて、前記以前に知られていなかったコンピュータアプリケーションの実行を許可することと、を含み、前記以前に知られていなかったコンピュータアプリケーションの前記評判スコアが、ユーザの記録された活動、位置、及び責任のうちの少なくとも１つに部分的に基づき、前記ユーザが、前記以前に知られていなかったコンピュータアプリケーションを導入したものとして特定されている、コンピュータ実装方法。
【請求項２】
前記以前に知られていなかったコンピュータアプリケーションの実行を許可することが、前記以前に知られていなかったコンピュータアプリケーションを、アプリケーションホワイトリストに自動的に追加することを更に必要とする、請求項１に記載の方法。
【請求項３】
第２のコンピュータアプリケーションを検出することと、
リモートクライアントから、前記第２のコンピュータアプリケーションのステータスをホワイトリスト上にあるものとして受信することと、
前記受信されたステータスに基づいて前記第２のコンピュータアプリケーションの実行を許可することと、を更に含む、請求項２に記載の方法。
【請求項４】
前記以前に知られていなかったコンピュータアプリケーションに関する範囲を判定することと、
前記以前に知られていなかったコンピュータアプリケーションの前記範囲内の１つ以上のリモートクライアントに、前記ホワイトリスト上の前記以前に知られていなかったコンピュータアプリケーションの前記ステータスを伝送することと、を更に含む、請求項２に記載の方法。
【請求項５】
前記以前に知られていなかったコンピュータアプリケーションの実行を許可することが、ホワイトリスト化ポリシーと関連付けられた複数のパラメータに、前記コード作成活動を整合させることに更に基づく、請求項１に記載の方法。
【請求項６】
前記評判スコアが、前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることに基づくことを更に含む、請求項１に記載の方法。
【請求項７】
前記コード作成活動が、コンピュータアプリケーションをコンパイルしており、
前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることが、前記コンパイルされたコンピュータアプリケーションが前記以前に知られていなかったアプリケーションに整合するということを判定することを含む、請求項１に記載の方法。
【請求項８】
ネイティブ認証機構へのリンキングによって前記ユーザを特定することを更に含む、請求項１に記載の方法。
【請求項９】
自動化されたアプリケーション分析のためのシステムであって、
少なくとも１つの非一時的プロセッサで読み取り可能なストレージ媒体と、
前記少なくとも１つの媒体上に記憶される命令と、を備え、
前記命令が、少なくとも１つのプロセッサによって前記少なくとも１つの媒体から読み取り可能であり、それによって、前記少なくとも１つのプロセッサが、
コード作成活動を検出することと、
以前に知られていなかったコンピュータアプリケーションの存在を検出することと、
前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることと、
前記以前に知られていなかったコンピュータアプリケーションに関する評判スコアを生成することと、
（ｉ）前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることと、
（ｉｉ）前記以前に知られていなかったコンピュータアプリケーションの前記評判スコアが、事前に設定された閾値を超えることと、に基づいて、
前記以前に知られていなかったコンピュータアプリケーションの実行を許可することと、
を含み、
前記以前に知られていなかったコンピュータアプリケーションの前記評判スコアが、ユーザの記録された活動、位置、及び責任のうちの少なくとも１つに部分的に基づき、前記ユーザが、前記以前に知られていなかったコンピュータアプリケーションを導入したものとして特定されている、システム。
【請求項１０】
前記以前に知られていなかったコンピュータアプリケーションの実行を許可することが、前記以前に知られていなかったコンピュータアプリケーションを、アプリケーションホワイトリストに自動的に追加することを更に必要とする、請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つのプロセッサが、
第２のコンピュータアプリケーションを検出することと、
リモートクライアントから、前記第２のコンピュータアプリケーションのステータスをホワイトリスト上にあるものとして受信することと、
前記受信されたステータスに基づいて前記第２のコンピュータアプリケーションの実行を許可することと、を行うように更に動作可能である、請求項１０に記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサが、
前記以前に知られていなかったコンピュータアプリケーションに関する範囲を判定することと、
前記以前に知られていなかったコンピュータアプリケーションの前記範囲内の１つ以上のリモートクライアントに、前記ホワイトリスト上の前記以前に知られていなかったコンピュータアプリケーションの前記ステータスを伝送することと、を行うように更に動作可能である、請求項１０に記載のシステム。
【請求項１３】
前記以前に知られていなかったコンピュータアプリケーションが実行されることを許可することが、ホワイトリスト化ポリシーと関連付けられた複数のパラメータに、前記コード作成活動を整合させることに更に基づく、請求項９に記載のシステム。
【請求項１４】
前記少なくとも１つのプロセッサが、
前記評判スコアが、前記以前に知られていなかったコンピュータアプリケーションを、前記コード作成活動と関連付けることに基づくように更に動作可能である、請求項９に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、参照によりその全体が本明細書に組み込まれる、２０１５年１０月２６日に出願された米国通常特許出願第１４／９２２，９５２号に対する優先権を主張するものである。
【技術分野】
【０００２】
本開示は、概して、アプリケーションセキュリティに関し、より具体的には、自動化されたアプリケーション分析のための技法に関する。
【背景技術】
【０００３】
最新のマルウェア検出ソフトウェアは、新規の悪質なコードさえも特定及び駆除する、知られていないプロセスを分析するためのアドバンスドヒューリスティックを含む。しかしながら、いくつかの個人及び企業は、専有コードへの潜在的干渉のため、これらのツールを実装しないことを選択し、すなわち、会社の内部で開発されたツール及び実行ファイルは、悪質なものとして不正にフラグが立てられ得る。
【０００４】
マルウェア検出フレームワークは、マニュアルホワイトリストプロセスを含み得、このプロセスによって、ユーザは、認可プログラムを意図的に特定することができるが、多くの場合、マニュアルホワイトリストは、一貫して使用されない。次いで、専有ソフトウェアのためのフォールスポジティブは、ユーザにマルウェア分析ツールを無効にさせ得る。
【０００５】
上記を考慮すると、マルウェアの検出のための現在の技法と関連付けられた重大な問題及び欠点があり得ることが理解され得る。
【発明の概要】
【０００６】
自動化されたアプリケーション分析のための技法が開示される。一実施形態では、本技法は、方法であって、コード作成活動を検出することと、以前に知られていなかったアプリケーションの存在を検出することと、検出されたアプリケーションをコード作成活動と関連付けることと、アプリケーションが、検出されたアプリケーションをコード作成活動と関連付けることに基づいて、実行されることを許可することと、を含む、方法として実現され得る。
【０００７】
本実施形態の他の態様に従って、アプリケーションが実行されることを許可することは、アプリケーションをアプリケーションホワイトリストに自動的に追加することを更に必要とし得る。
【０００８】
本実施形態の更なる態様に従って、本方法は、第２のアプリケーションを検出することと、リモートクライアントから、第２のアプリケーションのステータスをホワイトリスト上にあるものとして受信することと、第２のアプリケーションが、受信されたステータスに基づいて実行されることを許可することと、を更に含み得る。
【０００９】
本実施形態の更なる態様に従って、本方法は、アプリケーションに関する範囲を判定することと、アプリケーションの範囲内の１つ以上のリモートクライアントに、ホワイトリスト上のアプリケーションのステータスを伝送することと、を更に含み得る。
【００１０】
本実施形態の更なる態様に従って、アプリケーションが実行されることを許可することは、ホワイトリスト化ポリシーと関連付けられた複数のパラメータに、コード作成活動を整合させることに更に基づき得る。
【００１１】
本実施形態の更なる態様に従って、本方法は、アプリケーションに関する評判スコアを生成することを更に含み得る。評判スコアは、検出されたアプリケーションをコード作成活動と関連付けることに基づき得る。アプリケーションが実行されることを許可することは、事前に設定された閾値を超えるアプリケーションの評判スコアに更に基づき得る。
【００１２】
本実施形態の他の態様に従って、コード作成活動は、アプリケーションをコンパイルしている可能性がある。検出されたアプリケーションをコード作成活動と関連付けることは、コンパイルされたアプリケーションが検出されたアプリケーションに整合することを判定することを含み得る。
【００１３】
本実施形態の別の態様に従って、本技術事項は、製造物品であって、少なくとも１つの非一時的プロセッサで読み取り可能なストレージ媒体と、少なくとも１つの媒体上に記憶される命令と、を含む製造物品として実現され得る。命令は、少なくとも１つのプロセッサによって少なくとも１つの媒体から読み取り可能であり、それによって、少なくとも１つのプロセッサに、上記の方法における工程のいずれか及び全てを実施するように動作するように構成され得る。
【００１４】
本実施形態の別の態様に従って、本技法は、システムであって、ネットワークに通信可能に連結される１つ以上のプロセッサを備えるシステムとして実現され得、１つ以上のプロセッサは、上記の実施形態のいずれに対して上述の工程のいずれか及び全てを実施するように構成される。
【００１５】
以下、添付の図面に示されるように、特定の実施形態を参照して本開示を更に詳細に説明する。本開示は特定の実施形態を参照して以下に説明されるが、本開示がそれに限定されないことを理解されたい。本明細書中の教示に接する機会のある当業者であれば、他の使用分野のみならず、追加的な実施、変形例、及び実施形態も認めるであろうし、それらは、本明細書中に記載される本開示の範囲に含まれ、本開示の重要な有用性に関するものである。
【図面の簡単な説明】
【００１６】
本開示のより完全な理解を促すために、添付の図面を参照されたい。同様の要素には、同様の数字が付される。これらの図面は、本開示を限定するものとして解釈するべきではなく、単に例示することだけを意図している。
【図１】本開示の実施形態によるネットワークアーキテクチャを示すブロック図である。
【図２】本開示の実施形態によるコンピュータシステムを示すブロック図である。
【図３】本開示の実施形態によるセキュリティモジュールを図解するブロック図を示す。
【図４】本開示の実施形態による自動化されたアプリケーション分析のための方法を示す。
【発明を実施するための形態】
【００１７】
本開示の実施形態は、開発及び使用される際、登録されたユーザによって開発活動を特定し、専有ソフトウェアを自動的にホワイトリスト化する、自動化されたアプリケーション分析フレームワークを対象とする。システムは、内部ツール開発のために認識される状況下で登録されたユーザによって、実行可能なツールの作成及び普及を追跡し、管理者によって設定されるパラメータ内で、ホワイトリストにこれらのツールを自動的に追加する。いくつかの実装では、システムは、ツール開発活動を評判スコアと関連付け、この評判スコアは、会社におけるユーザの履歴及び場所、並びに活動の性質を含む多くの要因を含み得る。次いで、評判スコアは、実行ファイルがホワイトリスト化されるか、通常のヒューリスティック下で調査されるか、特定事項において禁止されるかどうかを判定するために使用され得る。
【００１８】
図１は、本開示の実施形態によるネットワークアーキテクチャ１００を示すブロック図である。図１は、ネットワークアーキテクチャ１００の簡略図であり、図中に示されていない付加的な要素を含んでもよい。ネットワークアーキテクチャ１００は、クライアントシステム１１０、１２０、及び１３０、並びにサーバ１４０Ａ〜１４０Ｎ（これらの各々のうちの１つ以上は図２に示すコンピュータシステム２００を用い実装されてもよい）を含んでもよい。クライアントシステム１１０、１２０、及び１３０は、ネットワーク１５０に通信可能に連結することができる。サーバ１４０Ａは、ストレージデバイス１６０Ａ（１）〜（Ｎ）と通信可能に連結されてもよく、サーバ１４０Ｂは、ストレージデバイス１６０Ｂ（１）〜（Ｎ）と通信可能に連結されてもよい。サーバ１４０Ａ及び１４０Ｂは、ＳＡＮ（ストレージエリアネットワーク）ファブリック１７０と通信可能に連結することができる。ＳＡＮファブリック１７０は、サーバ１４０Ａ及び１４０Ｂ、並びにネットワーク１５０を介してクライアントシステム１１０、１２０、及び１３０により、ストレージデバイス１８０（１）〜（Ｎ）へのアクセスをサポートすることができる。
【００１９】
図２のコンピュータシステム２００を参照すると、モデム２４７、ネットワークインタフェース２４８、又はいくつかの他の方法を使用して、クライアントシステム１１０、１２０、及び１３０のうちの１つ以上からネットワーク１５０への接続を提供することができる。クライアントシステム１１０、１２０、及び１３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェア（図示せず）を用いて、サーバ１４０Ａ又は１４０Ｂの情報にアクセスすることができる。このようなクライアントにより、クライアントシステム１１０、１２０及び１３０は、サーバ１４０Ａ若しくは１４０Ｂ、又はストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／若しくは１８０（１）〜（Ｎ）のいずれかによりホストされるデータにアクセスすることが可能になる。
【００２０】
ネットワーク１５０及び１９０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、セルラーネットワーク、衛星ネットワーク、又はクライアント１１０、１２０、及び１３０、サーバ１４０、並びにネットワーク１５０及び１９０と通信可能に連結される他のデバイスとの間の通信を可能にする他のネットワークであってもよい。ネットワーク１５０及び１９０は、スタンドアロンネットワークとして、又は互いに協働して作動する、１つ又は任意の数の、上述した例示的なタイプのネットワークを更に含むことができる。ネットワーク１５０及び１９０は、それらが通信可能に連結される１つ以上のクライアント又はサーバの１つ以上のプロトコルを利用することができる。ネットワーク１５０及び１９０は、ネットワークデバイスの１つ以上のプロトコルに、他のプロトコルから又は他のプロトコルへ変換することができる。ネットワーク１５０及び１９０は、それぞれ１つのネットワークとして示されているが、１つ以上の実施形態によれば、ネットワーク１５０及び１９０は、それぞれ相互接続された複数のネットワークを含んでもよいことを理解されたい。
【００２１】
ストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／又は１８０（１）〜（Ｎ）は、ネットワークアクセス可能なストレージであってもよく、サーバ１４０Ａ又は１４０Ｂに対しローカル、リモート又はこれらの組み合わせであってもよい。ストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／又は１８０（１）〜（Ｎ）は、レイド（「ＲＡＩＤ」）、磁気テープ、ディスク、ストレージエリアネットワーク（「ＳＡＮ」）、インターネットスモールコンピュータシステムインタフェース（「ｉＳＣＳＩ」）ＳＡＮ、ファイバチャネルＳＡＮ、コモンインターネットファイルシステム（「ＣＩＦＳ」）、ネットワークアタッチトストレージ（「ＮＡＳ」）、ネットワークファイルシステム（「ＮＦＳ」）、光ベースのストレージ、又は他のコンピュータアクセス可能なストレージを利用することができる。ストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／又は１８０（１）〜（Ｎ）は、バックアップ又はアーカイブの目的で使用することができる。更に、ストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／又は１８０（１）〜（Ｎ）は、多層ストレージ環境の一部として実装することができる。
【００２２】
いくつかの実施形態によれば、クライアント１１０、１２０、及び１３０は、ネットワーク１５０への無線又は有線接続を介して連結される、スマートフォン、ＰＤＡ、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、他のコンピュータ、又は他のデバイスであってもよい。クライアント１１０、１２０、及び１３０は、ユーザ入力、データベース、ファイル、ウェブサービス、及び／又はアプリケーションプログラミングインタフェースからデータを受信することができる。いくつかの実装では、クライアント１１０、１２０、及び１３０は、具体的には、スマートフォン又はタブレットなどのネットワーク対応モバイルデバイスであってもよい。
【００２３】
サーバ１４０Ａ及び１４０Ｂは、アプリケーションサーバ、アーカイブプラットフォーム、バックアップサーバ、ネットワークストレージデバイス、メディアサーバ、電子メールサーバ、文書管理プラットフォーム、エンタープライズサーチサーバ、又はネットワーク１５０と通信可能に連結された他のデバイスであってもよい。サーバ１４０Ａ及び１４０Ｂは、ストレージデバイス１６０Ａ（１）〜（Ｎ）、１６０Ｂ（１）〜（Ｎ）、及び／又は１８０（１）〜（Ｎ）のいずれかをアプリケーションデータ、バックアップデータ、又は他のデータのストレージのために利用することができる。サーバ１４０Ａ及び１４０Ｂは、クライアント１１０、１２０、及び１３０と、バックアッププラットフォーム、バックアッププロセス、及び／又はストレージとの間で送受信されるデータを処理することができる、アプリケーションサーバなどのホストであってもよい。いくつかの実施形態によれば、サーバ１４０Ａ及び１４０Ｂは、データのバックアップ及び／又はアーカイブのために使用されるプラットフォームであってもよい。データの１つ以上の部分は、適用されたバックアップポリシー及び／又はアーカイブ、データソースに関連付けられた属性、バックアップのために利用可能なスペース、データソースにおいて利用可能なスペース、又は他の要因に基づいて、バックアップ又はアーカイブされてもよい。
【００２４】
いくつかの実施形態によれば、クライアント１１０、１２０、及び１３０は、例えば、セキュリティモジュール１５４などのシステム監視及び保護のためのソフトウェアの１つ以上の部分を含むことができる。セキュリティモジュール１５４の調整及び制御のための構成要素は、サーバ１４０Ａなどのネットワーク中心位置に常駐し得る。例えば、サーバ１４０Ａは、サーバ、ファイアウォール、ゲートウェイ、又はシステム及びネットワークセキュリティ要素の管理をサポートするために１つ以上の行為を実行することができる、他のネットワーク要素であってもよい。いくつかの実施形態によれば、ネットワーク１９０は、外部ネットワークであってもよく（例えば、インターネット）、サーバ１４０Ａは、１つ以上の内部構成要素とクライアントと外部ネットワークとの間のゲートウェイ又はファイアウォールであってもよい。
【００２５】
図２は、本開示の実施形態によるコンピュータシステム２００のブロック図である。コンピュータシステム２００は、本開示に従って技術を実施するのに好適である。コンピュータシステム２００は、コンピュータシステム２００の主要なサブシステムを相互接続することができるバス２１２を含むことができ、主要なサブシステムには、中央処理装置２１４、システムメモリ２１７（例えば、ＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（読出し専用メモリ）、フラッシュＲＡＭなど）、入力／出力（Ｉ／Ｏ）コントローラ２１８、オーディオ出力インタフェース２２２を介するスピーカシステム２２０などの外部オーディオデバイス、ディスプレイアダプタ２２６を介するディスプレイ画面２２４などの外部装置、シリアルポート２２８及び２３０、キーボード２３２（キーボードコントローラ２３３を介してインタフェース接続される）、ストレージインタフェース２３４、印刷のためにデータ及び／又は画像を受信するために動作するプリンタ２３７、ファイバチャネルネットワーク２９０と接続するために動作するホストバスアダプタ（ＨＢＡ）インタフェースカード２３５Ａ、ＳＣＳＩバス２３９と接続するために動作するホストバスアダプタ（ＨＢＡ）インタフェースカード２３５Ｂ、及び光ディスク２４２を受信するために動作する光ディスクドライブ２４０などが含まれる。同様に、マウス２４６（又はシリアルポート２２８を介してバス２１２に連結された他のポイントアンドクリックデバイス）、モデム２４７（シリアルポート２３０を介してバス２１２に連結される）、ネットワークインタフェース２４８（バス２１２に直接連結される）、電力マネージャ２５０、及びバッテリー２５２が含まれてもよい。
【００２６】
バス２１２によって、中央処理装置２１４と、上述したような、読出し専用メモリ（ＲＯＭ）又はフラッシュメモリ（どちらも図示せず）及びランダムアクセスメモリ（ＲＡＭ）（図示せず）を含んでもよい、システムメモリ２１７との間のデータ通信が可能になる。ＲＡＭは、オペレーティングシステム及びアプリケーションプログラムがロードされてもよいメインメモリであってもよい。ＲＯＭ又はフラッシュメモリは、他のコードと共に、周辺構成要素との相互作用などの基本的なハードウェアの動作を制御する、ベーシック入力／出力システム（ＢＩＯＳ）を含むことができる。コンピュータシステム２００に常駐するアプリケーションは、ハードディスクドライブ（例えば、固定ディスク２４４）、光学ドライブ（例えば、光学ドライブ２４０）、プリンタ２３７、取り外し可能なディスクユニット（例えば、ユニバーサルシリアルバスドライブ）、又は他のストレージ媒体などの、コンピュータで読み取り可能な媒体上に記憶され、かつそれを介してアクセスされ得る。いくつかの実施形態によれば、セキュリティモジュール１５４は、システムメモリ２１７に常駐してもよい。
【００２７】
ストレージインタフェース２３４は、コンピュータシステム２００の他のストレージインタフェースと同様に、固定ディスクドライブ２４４など、情報の記憶及び／又は検索用の標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ２４４は、コンピュータシステム２００の一部であってもよく、又は独立したものであって、他のインタフェースシステムを通してアクセスされてもよい。モデム２４７は、電話回線を介してリモートサーバへの直接接続を提供してもよく、インターネットサービスプロバイダ（ＩＳＰ）経由でインターネットに接続してもよい。ネットワークインタフェース２４８は、ＰＯＰ（ポイントオブプレゼンス）を介したインターネットに対する直接ネットワークリンクを介して、リモートサーバに対する直接接続を提供してもよい。ネットワークインタフェース２４８は、デジタル携帯電話接続、セルラーデジタルパケットデータ（ＣＤＰＤ）接続、又はデジタル衛星データ接続などを含む無線技術を用いて、このような接続を提供してもよい。
【００２８】
他の多くのデバイス又はサブシステム（図示せず）も同様の方法で接続することができる（例えば、文書スキャナ、デジタルカメラなど）。逆に、図２に示されるデバイスの全てが、本開示を実施するために存在する必要はない。デバイス及びサブシステムは、図２に示されるものとは異なる手法で相互接続することができる。本開示を実装するためのコードは、システムメモリ２１７、固定ディスク２４４、又は光ディスク２４２など、コンピュータで読み取り可能なストレージ媒体のうちの１つ以上に記憶することができる。本開示を実装するためのコードは、１つ以上のインタフェースを介して受信し、メモリに記憶することもできる。コンピュータシステム２００に設けられたオペレーティングシステムは、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＯＳ  Ｘ（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、又は他の周知のオペレーティングシステムでもよい。
【００２９】
電力マネージャ２５０は、バッテリー２５２の電力レベルを監視することができる。電力マネージャ２５０は、電力レベル、コンピュータシステム２００のシャットダウン前残り時間窓、電力消費率、コンピュータシステムが主電源（例えば、ＡＣ電源）又はバッテリー電源のいずれを使用しているかの表示器、及び他の電力関連情報の判定を可能にするために、１つ以上のＡＰＩ（アプリケーションプログラミングインタフェース）を提供することができる。いくつかの実施形態によれば、電力マネージャ２５０のＡＰＩは、リモートアクセス可能であってもよい（例えば、ネットワーク接続を介して、リモートバックアップ管理モジュールにアクセス可能であってもよい）。いくつかの実施形態によれば、バッテリー２５２は、コンピュータシステム２００のローカル又はリモートのいずれかに位置する無停電電源装置（ＵＰＳ）であってもよい。このような実施形態では、電力マネージャ２５０は、ＵＰＳの電力レベルに関する情報を提供することができる。
【００３０】
図３は、システム活動を監視し、かつ悪質なコードに対してシステムを安全にするためのエンドユーザクライアントシステム上に配置され得るセキュリティモジュール１５４の例を図解する。エンドユーザシステムのモジュールとして図解されるが、図解されたモジュールのうちの１つ以上が、ネットワークにわたって利用可能なシステムの一部において、全部又は一部において具現化され得、本明細書に図解される様々な機能が、複数のクライアントシステムに関して中央に管理され得ることが理解されよう。
【００３１】
セキュリティモジュール１５４は、位置付けられる活動モニタ３０２を含み、クライアントデバイスのユーザによって行われる行為を特定し、それらの行為がコード作成と関連付けられるかどうかを判定し得る。認証モジュール３０４は、システム自体内にあるネイティブ認証機構へのリンキングなどによってシステム内に登録されるユーザを特定するための機構を含み得る。更に、認証モジュール３０４は、様々な決定及び行為を特定の登録されたユーザと関連付けるために、セキュリティモジュール１５４内で他のモジュールへのユーザ登録を確認し得る。
【００３２】
評判モジュール３０６は、クライアントシステム上で実行されるアプリケーションのために評判スコアを維持することを課せられる。いくつかの実装では、様々なアドバンスドヒューリスティックは、評判スコアの生成に関与し得、この評判スコアは、アプリケーションの性質及び系統、並びに任意の予想される、又は疑わしい活動の記録を含み得る。更に、本発明の実施形態では、評判スコアは、また、活動モニタ３０２によって記録される任意の開発活動、並びに評判スコアを生成する際に開発活動に関連付けられた登録されたユーザ（複数可）のアイデンティティも考慮することになる。
【００３３】
いくつかの実装では、認可されたコンパイラアプリケーションによってコンパイルされたものに密接に整合することが示されるアプリケーションに関する評判スコアは、著しくより高い場合がある。アプリケーションをコード作成活動に整合させることは、いくつかの実装では、チェックサム、ファイルサイズ、及び正規ファイルを検査する際に使用される他の情報を比較することを含み得る。
【００３４】
更にその上、いくつかの実装では、アプリケーションのための評判スコアは、システムにアプリケーションを導入したものとして特定される登録されたユーザと関連付けられた評判スコアに基づいて、著しくより高い又はより低い場合がある。ユーザの評判スコアは、ユーザの以前に記録された活動、システムと関連付けられた組織内のユーザの位置、ユーザの責任（例えば、ユーザがＩＴプロとして組織によって採用されて、システムサポートのためのツールを開発することが予期されるかどうかなど）、システム管理者によって提供されるカスタム設定、ユーザが関連付けられたプラットフォーム及びアプリケーションの性質などを含むいくらかの要因に基づき得る。
【００３５】
顕著な特定の要因は、ユーザが、悪質なコードをはらむことが判定された１つ以上の分析されたファイルと以前に関連付けられている場合、そのユーザの評判スコア、及びそのユーザと関連付けられた更なるアプリケーションのスコアは、その結果より低くなる場合があることである。同様に、システムによって安全であると正確に見なされたことを確認されアプリケーションと関連付けられたユーザは、そのユーザからのファイルが信頼できることが示されるにつれて、より高い評判スコアを有し得る。
【００３６】
いくつかの実装では、ポリシーモジュール３０７は、評判スコアから独立しているアプリケーションの自動化されたホワイトリスト化のための別の道を提供し得る。適切な資格情報を用いる管理者又は他のユーザは、１つ以上のポリシーを指定することができる場合があり、このポリシーによって、専有ツールを生成することと関連付けられた特定の活動は、結果として生じる実行ファイルをホワイトリスト化することを自動的にもたらし得る。例えば、管理者は、特定のユーザ、特定のコンピュータシステム及びプラットフォーム、実行ファイルを作成するための特定のアプリケーション、結果として生じる実行ファイルのための特定のディレクトリ、及び実行ファイルが生成される特定の時間フレームを指定し得る。管理者が設定したパラメータの全てを含む、そのポリシー下で生成されるいかなる実行ファイルも、ホワイトリスト上に含まれることになる。更なるパラメータは、使用範囲であり得、すなわち、実行ファイルは、特定の組の指定されたシステム上で検出されるときのみホワイトリスト化されるが、システムの他の部分で検出されるときにはホワイトリスト化されない場合がある。
【００３７】
説明されるようなポリシーモジュール３０７は、評判モジュール３０６から独立して機能し得、いくつかのシステムが、自動化されたホワイトリスト化ポリシー又は評判スコアを含むが、両方は含まない場合があることが理解される。しかしながら、これらの機構間の相互作用は、それらの両方が使用中であるときに起こり得、例えば、ポリシーの１つ以上のパラメータを含むポリシーの範囲外に作成されるコード（ポリシー指定されたユーザによってポリシー指定されたアプリケーションを用いて、指定されていない時間において指定されていないシステム上で作成されるコードなど）は、いくつかの実装では、部分的整合により、より高い評判スコアを与えられ得る。代替的に、いくつかの実装では、承認されない時間において承認されない機械上で作成される実行ファイルが、セキュリティ違反を示す場合があるので、そのような実行ファイルには、非常に低い評判スコアが与えられ得る。機械学習及び他のヒューリスティックは、ある特定のシステムが、明示的に提供されたポリシーから、おそらく信頼できるであろう他の活動まで外挿することを可能にし得る。
【００３８】
アプリケーション範囲追跡装置モジュール３０８は、アプリケーションがどのようにシステムと関連付けられたより大きなネットワーク内で配信されるかについて追跡することに責任がある場合がある。いくつかの実装では、他のシステム上のアプリケーション範囲追跡装置３０８は、特定のアプリケーションが、サーバハブ内で、ローカルネットワークを通して、顧客ウェブサイト全体で、あるいはグローバルに、単一の機械でローカルに配置されるかどうかを判定するために、一括して通信し得る。いくつかの実装では、アプリケーションの範囲は、その評判スコアに影響し得る。検証されたアプリケーションの意図的な普及と関連付けられた活動は、アプリケーションが認可されるという証拠として行われ得る。経時的に、広範囲にわたる検証された普及は、ネットワーク内の事実上の認可として行われ得る。
【００３９】
セキュリティモジュール１５４は、ローカルからグローバルまでの範囲で変動するアプリケーションを含み得るアプリケーションホワイトリスト３１０を含み得、そのために、十分に高い評判スコアが、それらのアプリケーションが確実に安全であると見なされるように生成された。ホワイトリスト３１０は、実行ファイルに関する様々な情報を含み、システム登録データ、ファイルサイズ及びチェックサム情報、名前、典型的なファイルパス情報などのアプリケーションを肯定的に特定するのに必要なファイルをサポートし得る。アプリケーションホワイトリスト３１０は、いくつかの実装では、システムネットワークにわたり、モジュール間で共有され得るか、又は中心ネットワーク位置から遠隔で維持及び管理され得る。
【００４０】
セキュリティモジュール１５４は、活動追跡装置３０２及び認証モジュール３０４と共に働く評判モジュール３０６によって生成されるスコアに基づいて、ホワイトリスト３１０にアプリケーションを自動的に追加する。様々な閾値は、ある特定の環境及び条件下で提供され得、いくつかの実施形態では、管理者確立された又はデフォルトの閾値が使用され得、評判スコアが確立された閾値を超えるアプリケーションは、そのスコアが維持される間は、自動的にホワイトリスト化され得る。
【００４１】
セキュリティモジュール１５４は、マルウェアの介入モジュール３１２を含み得、それは、マルウェアをクリーニングし、検疫し、無効にし、及び／又はブロックするために当該技術分野で知られている任意のツールを含み得る。いくつかの実装では、マルウェアの介入モジュール３１２は、特定のアプリケーションの操作に介在する前に、アプリケーションをホワイトリスト３１０と照合し得る。ホワイトリスト３１０上のアプリケーションは、モジュール３１２による介入から自動的に免除され得るか、あるいは、システムは、ホワイトリストのアプリケーションに介在する前に、管理者又はエンドユーザに通知し、許可を必要とし得る。対照的に、ホワイトリスト３１０上で見出されないアプリケーションは、マルウェアの介入モジュール３１２によって、又はユーザから必要とされるより少ない警報及び許可を用いて、より迅速に作用され得る。いくつかの実装では、更に低い閾値を下回る評判スコアを与えられるコードは、単に完全に実行されることを禁止され得るか、又はユーザによって明示的な警告及び認可の後に実行され得る。
【００４２】
図４は、本開示のいくつかの実施形態による自動化されたアプリケーション分析のための方法４００を図解する。様々な方法が、説明されたことの範囲内で可能であり、かつ以下の方法４００が、例示的な目的のためにのみ与えられることが理解されよう。説明される工程は、上述のようにセキュリティモジュール１５４などの任意の適切なシステムによって実行され得る。
【００４３】
システムは、コード作成活動を監視する（４０２）。いくつかの実装では、これは、実行ファイルを生成するためにコードをコンパイルすることができるアプリケーションを特定及び監視することを主に伴い得る。他の実装では、マルウェアとして不正に特定されるべきではない新しい又は新たに修正されるアプリケーションの作成を特定するために、エディタ、成り済まし、コード作成及び修正と関連付けられると考えられる他のアプリケーションを監視すること更に伴い得る。
【００４４】
システムが新しい、知られていないアプリケーションを検出及び分析するとき、それが監視された作成活動によって生成されるアプリケーションに整合する場合、アプリケーションは、その活動で特定され得る（４０４）。次いで、それは、また、その同じ活動と関連付けられた登録されたユーザで特定され得る（４０６）。
【００４５】
システムは、１つ以上の確立されたホワイトリスト化ポリシーに含まれるパラメータに対して、アプリケーションと関連付けられた作成活動を比較する。コード作成活動が確立されたパラメータの全てに整合する場合、アプリケーションは自動的にホワイトリスト化される。上述のように、アプリケーションのホワイトリスト化は、ポリシーの詳細、作成のパラメータ、又はユーザによるその後の普及活動に基づいて、範囲が変動し得る。いくつかの実装では、承認されたグループ内のユーザのみが、システムからの更なる精査なしで実行ファイルを実行させることが許可され得る。
【００４６】
いくつかの実装では、コード作成が任意の確立されたポリシー外で起こるとき、作成活動が十分に高い評判スコアを割り当てられる場合、自動化されたホワイトリスト化が依然として起こり得る。作成活動の詳細、登録されたユーザの詳細、アプリケーションの意図された範囲、アプリケーションのファイルと様々な記録との比較（ハッシュ及びメタデータを含む）、並びに当該技術分野で知られている他の分析要因に基づいて、アプリケーションは、評判スコアを割り当てられる（４０８）。上記のように、評判スコアは、システム管理者によって提供される設定を含む様々な要因によって影響され得る。
【００４７】
次いで、評判スコアは、閾値に対して比較され（４１０）、この閾値は、それ自体が管理者の好みを含むいくらかの要因に従って設定され得る。アプリケーションがＩＴで作業している信頼されたユーザによってコンパイルされたといった理由で、評判スコアが十分に高い場合、アプリケーションはホワイトリストに自動的に追加される（４１２）。評判スコアの最高値と関連付けられないアプリケーションは、潜在的マルウェアとして更に分析され得（４１４）、ホワイトリストによって付与されるいずれの手続き免除も提供されない。
【００４８】
ここで、上述した本開示による自動化されたアプリケーション分析のための技法は、ある程度まで入力データの処理及び出力データの生成を含んでもよい点に留意する必要がある。この入力データ処理及び出力データ生成は、ハードウェア又はソフトウェアにより実施されてもよい。例えば、特定の電子部品は、用いられたセキュリティモジュール、又は上述した本開示による自動化されたアプリケーション分析と関連付けられた機能を実装するための類似若しくは関連する回路であり得る。代替的に、命令に従って動作する１つ以上のプロセッサは、上述した本開示による自動化されたアプリケーション分析と関連付けられた機能を実装してもよい。かかる場合、このような命令が１つ以上の非一時的プロセッサで読み取り可能なストレージ媒体（例えば、磁気ディスク又は他のストレージ媒体）に記憶され得るか、あるいは１つ以上の搬送波中に具現化された１つ以上の信号を介して１つ以上のプロセッサに伝送され得ることは、本開示の範囲に含まれる。
【００４９】
本開示は、本明細書に示す特定の実施形態により範囲を限定されるものではない。実際、本明細書に記載されるものに加え、本開示の他の様々な実施形態及びその変更形態は、上述の説明及び添付の図面から、当業者には明らかとなろう。したがって、このような他の実施形態及びその変更形態は本開示の範囲内に含まれるものである。更に、本開示は少なくとも１つの特定の目的のための少なくとも１つの特定の環境における少なくとも１つの特定の実施の文脈で本明細書に記載されているが、その有用性はそれらに限定されず、本開示は任意の数の目的のために任意の数の環境において有益に実施され得ることが当業者には理解されよう。それに応じて、以下に記載する「特許請求の範囲」は、本明細書に記載された本開示の範囲の最大限の広さ及び趣旨を考慮して解釈されるべきである。
【図１】
0006602471.tif 000002
【図２】
0006602471.tif 000003
【図３】
0006602471.tif 000004
【図４】
0006602471.tif 000005