(57)【要約】アプリケーションまたはデバイスに対するランタイムリスクを査定する方法は、ルールデータベース内に各ルールがアクションシーケンスを識別する複数のルールを記憶することと、ポリシーデータベース内に各査定ポリシーが複数のルールのうちの少なくとも１つのルールを含む複数の査定ポリシーを記憶することと、少なくとも１つの査定ポリシーを使用してアプリケーションまたはデバイスに対するランタイムリスクを識別することであって、識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する、ことと、処理デバイスによって、識別されたランタイムリスクに基づいて、アプリケーションまたはデバイスに対する挙動スコアを識別することとを含む。
2016503219.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションまたはデバイスに対するランタイムリスクを査定する方法であって、
ルールデータベース内に、複数のルールを記憶することであって、各ルールは、アクションシーケンスを識別する、ことと、
ポリシーデータベース内に、複数の査定ポリシーを記憶することであって、各査定ポリシーは、前記複数のルールのうちの少なくとも１つのルールを含む、ことと、
少なくとも１つの査定ポリシーを使用して、アプリケーションまたはデバイスに対するランタイムリスクを識別することであって、前記識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する、ことと、
処理デバイスによって、前記識別されたランタイムリスクに基づいて、前記アプリケーションまたはデバイスに対する挙動スコアを識別することと
を含み、
前記アクションシーケンスは、少なくとも２つの行われたアクションのシーケンスであり、各行われたアクションは、ユーザアクション、アプリケーションアクション、およびシステムアクションのうちの少なくとも１つである、方法。
【請求項２】
前記ユーザアクションは、コンピューティングシステムのユーザからの任意の形態の明示的入力である、請求項１に記載の方法。
【請求項３】
前記アプリケーションアクションは、前記アプリケーションによって行われた任意のアクティビティであり、前記アプリケーションは、コンピューティングシステムの実行時のタスクによってプログラムで始動される、請求項１に記載の方法。
【請求項４】
前記システムアクションは、コンピューティングシステムの状態を変化させるユーザアクションまたはアプリケーションアクションの代償として、または、その結果として、前記コンピューティングシステムによって行われた任意の動作である、請求項１に記載の方法。
【請求項５】
前記少なくとも２つの行われたアクションの第１のアクションは、第１の時間に行われ、前記少なくとも２つの行われたアクションの第２のアクションは、第２の時間に行われた、請求項１に記載の方法。
【請求項６】
前記第１のアクションは、ユーザアクションであり、前記第２のアクションは、システムアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項５に記載の方法。
【請求項７】
前記第１のアクションは、ユーザアクションであり、前記第２のアクションは、アプリケーションアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項５に記載の方法。
【請求項８】
前記第１のアクションは、アプリケーションアクションであり、前記第２のアクションは、システムアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項５に記載の方法。
【請求項９】
前記アクションシーケンスは、３つの行われたアクションを含み、前記３つの行われたアクションの第１のアクションは、ユーザアクションであり、前記３つの行われたアクションの第２のアクションは、アプリケーションアクションであり、前記３つの行われたアクションの第３のアクションは、システムアクションであり、前記第２のアクションは、時間的に前記第１のアクションの後に行われ、前記第３のアクションは、時間的に前記第２のアクションの後に行われた、請求項１に記載の方法。
【請求項１０】
前記ランタイムリスクは、一致するルールならびに確率的重みおよびスコアに基づいて識別される、請求項１に記載の方法。
【請求項１１】
前記ランタイムリスクは、前記アクションシーケンス３０８の前記少なくとも２つの行われたアクションの時間近接性および前記少なくとも２つの行われたアクション間で推測される性質上の類似性に基づいて識別される、請求項１に記載の方法。
【請求項１２】
処理デバイスによって、複数の要因に基づいて、前記アクションシーケンスの前記少なくとも２つの行われたアクションがイベントのフォレンジックチェーンを記述することを査定することをさらに含み、
前記複数の要因は、順序付けられたシーケンス、無順序シーケンス、近接性分析、外れ値、確率的重みおよびスコア、ならびにアプリケーションの能力に基づく起こり得るアクション推測のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１３】
アプリケーションまたはデバイスに対するランタイムリスクを査定するためのシステムであって、
複数のルールを記憶するように構成されているルールデータベースであって、各ルールは、アクションシーケンスを識別する、ルールデータベースと、
複数の査定ポリシーを記憶するように構成されているポリシーデータベースであって、各査定ポリシーは、前記複数のルールのうちの少なくとも１つのルールを含む、ポリシーデータベースと、
処理デバイスと
を備え、
前記処理デバイスは、
少なくとも１つの査定ポリシーを使用して、アプリケーションまたはデバイスに対するランタイムリスクを識別することであって、前記識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する、ことと、
前記識別されたランタイムリスクに基づいて、前記アプリケーションまたはデバイスに対する挙動スコアを識別することと
を行うように構成され、
前記アクションシーケンスは、少なくとも２つの行われたアクションのシーケンスであり、各行われたアクションは、ユーザアクション、アプリケーションアクション、およびシステムアクションのうちの少なくとも１つである、システム。
【請求項１４】
前記ユーザアクションは、コンピューティングシステムのユーザからの任意の形態の明示的入力である、請求項１３に記載のシステム。
【請求項１５】
前記アプリケーションアクションは、前記アプリケーションによって行われた任意のアクティビティであり、前記アプリケーションは、コンピューティングシステムの実行時のタスクによってプログラムで始動される、請求項１３に記載のシステム。
【請求項１６】
前記システムアクションは、コンピューティングシステムの状態を変化させるユーザアクションまたはアプリケーションアクションの代償として、または、その結果として、前記コンピューティングシステムによって行われた任意の動作である、請求項１３に記載のシステム。
【請求項１７】
前記少なくとも２つの行われたアクションの第１のアクションは、第１の時間に行われ、前記少なくとも２つの行われたアクションの第２のアクションは、第２の時間に行われた、請求項１３に記載のシステム。
【請求項１８】
前記第１のアクションは、ユーザアクションであり、前記第２のアクションは、システムアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項１７に記載のシステム。
【請求項１９】
前記第１のアクションは、ユーザアクションであり、前記第２のアクションは、アプリケーションアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項１７に記載のシステム。
【請求項２０】
前記第１のアクションは、アプリケーションアクションであり、前記第２のアクションは、システムアクションであり、前記第２の時間は、前記第１の時間の後に生じる、請求項１７に記載のシステム。
【請求項２１】
前記アクションシーケンスは、３つの行われたアクションを含み、前記３つの行われたアクションの第１のアクションは、ユーザアクションであり、前記３つの行われたアクションの第２のアクションは、アプリケーションアクションであり、前記３つの行われたアクションの第３のアクションは、システムアクションであり、前記第２のアクションは、時間的に前記第１のアクションの後に行われ、前記第３のアクションは、時間的に前記第２のアクションの後に行われた、請求項１３に記載のシステム。
【請求項２２】
前記ランタイムリスクは、一致するルールならびに確率的重みおよびスコアに基づいて識別される、請求項１３に記載のシステム。
【請求項２３】
前記ランタイムリスクは、前記アクションシーケンスの前記少なくとも２つの行われたアクションの時間近接性および前記少なくとも２つの行われたアクション間で推測される性質上の類似性に基づいて識別される、請求項１３に記載のシステム。
【請求項２４】
前記処理デバイスは、複数の要因に基づいて、前記アクションシーケンスの前記少なくとも２つの行われたアクションがイベントのフォレンジックチェーンを記述することを査定するようにさらに構成され、
前記複数の要因は、順序付けられたシーケンス、無順序シーケンス、近接性分析、外れ値、確率的重みおよびスコア、ならびにアプリケーションの能力に基づく起こり得るアクション推測のうちの少なくとも１つを含む、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、認知挙動認識に関し、具体的には、認知挙動認識を使用して、コンピュータシステム内のアプリケーションまたはデバイスのランタイムリスクを査定することに関する。
【背景技術】
【０００２】
企業および個人の両方の日々の生活におけるコンピュータおよび他のコンピューティングシステムの普及に伴って、コンピュータおよびサイバーセキュリティは、ますます重要となっている。種々のプログラムおよびアプローチが、セキュリティを提供し、エンドユーザを有害な脅威から保護するために開発されている。開発されているそのようなプログラムとして、ウイルス対策プログラム、ファイアウォール、および侵入検出／防止システム（ＩＤＳ／ＩＰＳ）が挙げられる。これらのプログラムは、コンピューティングシステムおよびそのエンドユーザをいくつかの脅威から保護するのに有益であり得る。
【０００３】
しかしながら、コンピューティングデバイス自体における技術は発展しているが、技術は、それらの同一のコンピューティングデバイスに対する脅威に追いついていない。一般に、持続的標的型攻撃（ＡＰＴ）と称される、新たに出現するサイバー脅威は、多くの場合、従来のセキュリティプログラムおよびアプローチを使用して未検出のままである。その結果、多くの有害な脅威および感染が、ユーザおよびシステムオペレータが知らないうちに、これらのセキュリティプログラムを含むシステムを攻撃することができ、それは、壊滅的結果を有し得る。例えば、機密情報、企業秘密等の占有情報の窃盗のリスクに企業を曝し、なりすましのリスクに個人を曝し得る。
【０００４】
したがって、従来のセキュリティプログラムおよびアプローチを使用して未検出の持続的標的型攻撃による攻撃を適切に検出および防止するための技術的解決策の必要性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、アプリケーションまたはデバイスのランタイムリスクを査定するためのシステムおよび方法の説明を提供する。
【課題を解決するための手段】
【０００６】
アプリケーションまたはデバイスに対するランタイムリスクを査定する方法は、ルールデータベース内に、複数のルールを記憶することであって、各ルールは、アクションシーケンスを識別する、ことと、ポリシーデータベース内に、各査定ポリシーが複数のルールのうちの少なくとも１つのルールを含む複数の査定ポリシーを記憶することと、少なくとも１つの査定ポリシーを使用して、アプリケーションまたはデバイスに対するランタイムリスクを識別することであって、識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する、ことと、処理デバイスによって、識別されたランタイムリスクに基づいて、アプリケーションまたはデバイスに対する挙動スコアを識別することとを含み、アクションシーケンスは、少なくとも２つの行われたアクションのシーケンスであり、各行われたアクションは、ユーザアクション、アプリケーションアクション、およびシステムアクションのうちの少なくとも１つである。
【０００７】
アプリケーションまたはデバイスに対するランタイムリスクを査定するためのシステムは、ルールデータベースと、ポリシーデータベースと、処理デバイスとを含む。ルールデータベースは、各ルールがアクションシーケンスを識別する複数のルールを記憶するように構成される。ポリシーデータベースは、複数の査定ポリシーを記憶するように構成され、各査定ポリシーは、複数のルールのうちの少なくとも１つのルールを含む。処理デバイスは、少なくとも１つの査定ポリシーを使用して、アプリケーションまたはデバイスに対するランタイムリスクを識別することであって、識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する、ことと、識別されたランタイムリスクに基づいて、アプリケーションまたはデバイスに対する挙動スコアを識別することとを行うように構成され、アクションシーケンスは、少なくとも２つの行われたアクションのシーケンスであり、各行われたアクションは、ユーザアクション、アプリケーションアクション、およびシステムアクションのうちの少なくとも１つである。
【図面の簡単な説明】
【０００８】
本開示の範囲は、付随の図面と併せて熟読されることによって、以下の発明を実施するための形態から最も良く理解される。図面に含まれるのは、以下の図である。
【図１】図１は、例示的実施形態による、アプリケーションまたはデバイスに対するランタイムリスクを査定するためのシステムを図示する、高レベルアーキテクチャである。
【図２】図２は、例示的実施形態による、アクションシーケンスを識別し、識別されたアクションシーケンスに基づいて、ランタイムリスクおよび後続挙動スコアを査定する方法を図示する、流れ図である。
【図３】図３Ａおよび３Ｂは、例示的実施形態による、図２の方法を使用して識別された、行われたアクションおよびアクションシーケンスを図示する、略図である。
【図４】図４は、例示的実施形態による、トランザクション記録を作成する方法を図示する、流れ図である。
【発明を実施するための形態】
【０００９】
本開示のさらなる適用分野は、本明細書に以下に提供される発明を実施するための形態から明白となるであろう。発明を実施するための形態は、例証目的のためだけに意図され、したがって、必ずしも、本開示の範囲を限定するように意図されないことを理解されたい。
【００１０】
（アプリケーションまたはデバイスに対するランタイムリスクを査定するためのシステム）
図１は、アプリケーションまたはデバイスのランタイムリスクを査定し、査定されたランタイムリスクに基づいて挙動スコアを識別するように構成されるコンピューティングシステム１００を図示する高レベルアーキテクチャである。本明細書に開示される方法およびプロセスは、ハードウェア、ソフトウェア、ファームウェア、その中に記憶される命令を有する非一過性コンピュータ読み取り可能な媒体、またはそれらの組み合わせを使用して、コンピューティングシステム１００内に実装され得、２つ以上のコンピューティングシステムまたは他の処理システム内に実装され得ることは、当業者に明白であろう。さらに、図１に図示されるようなコンピューティングシステム１００の構成は、例証として提供されており、開示される機能を行うための他の構成およびシステムも好適であり得ることも当業者に明白であろう。
【００１１】
コンピューティングシステム１００は、処理ユニット１０２を含み得る。処理ユニット１０２は、単一プロセッサまたは複数のプロセッサを含み得、それらの各々は、１つ以上のプロセッサコアを含み得る。処理ユニット１０２は、汎用処理ユニット、またはアプリケーションまたはプログラムのランタイムリスクの識別等、具体的目的を行うためにプログラムされる汎用処理ユニット等の特殊目的処理ユニットであり得る。処理ユニット１０２は、コンピューティングシステム１００の追加の構成要素と通信するための通信インフラストラクチャ１１０に接続するように構成され得る。
【００１２】
通信インフラストラクチャ１１０は、バス、メッセージキュー、ネットワーク、マルチコアメッセージ受け渡し方式、それらの組み合わせ、あるいは当業者に明白であろう、通信インフラストラクチャの任意の他の適切なタイプまたは構成であり得る。コンピューティングシステム１００はさらに、ディスプレイユニット１０４を含み得る。ディスプレイユニット１０４は、コンピューティングシステム１００に物理的に（例えば、ＶＧＡ、ＤＶＩ、またはＨＤＭＩ（登録商標）ケーブル等のケーブルを介して）またはワイヤレスで（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を介して）接続され得るディスプレイデバイス１０６を制御するように構成され得る。ディスプレイユニット１０４は、ビデオカード、ビデオアダプタ、グラフィックカード、ディスプレイカード、グラフィックボード、ディスプレイアダプタ、グラフィックアダプタ、ビデオコントローラ、グラフィックコントローラ等であり得、コンピューティングシステム１００の中に統合され得るか、または取り外し可能であり得る。
【００１３】
ディスプレイデバイス１０６は、ディスプレイユニット１０４を介して、ディスプレイデバイス１０６に伝送される情報（例えば、データ、グラフィック、アプリケーションプログラムからの出力等）を表示するように構成され得る。ディスプレイデバイス１０６として使用するために適切なタイプのディスプレイデバイスは、当業者に明白であり、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、薄膜トランジスタ（ＴＦＴ）ＬＣＤ、容量タッチディスプレイ等が挙げられ得る。
【００１４】
コンピューティングシステム１００はさらに、メモリユニット１０６を含み得る。メモリユニット１０６は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光ディスクドライブ、ソリッドステートドライブ、または他の非一過性コンピュータ読み取り可能な媒体等、データの記憶のため、および本明細書に開示される機能を行うために適切な任意のタイプのメモリであり得る。いくつかの実施形態では、メモリユニット１０６は、取り外し可能な記憶装置（例えば、フラッシュメモリ、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク等）または非取り外し可能記憶装置および取り外し可能な記憶装置の組み合わせであり得る。一実施形態では、メモリユニット１０６は、クラウド記憶装置等、コンピューティングシステム１００の外部にあり、以下により詳細に論じられる、通信インターフェース１０８によって、ネットワークを介してアクセスされ得る。メモリユニット１０６は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、またはそれらの組み合わせを含み得る。メモリユニット１０６の適切なタイプおよび構成は、当業者に明白であろう。
【００１５】
メモリユニット１０６は、少なくとも、ランタイムモニタ１０８と、ルールデータベース１１０と、ポリシーデータベース１１２とを含み得る。メモリユニット１０６は、オペレーティングシステム、システム１００の構成要素のためのドライバ等、当業者に明白であろうように、追加のデータ、アプリケーション、プログラム等を含み得る。ランタイムモニタ１０８は、以下により詳細に論じられるように、アプリケーション（例えば、メモリユニット１０６内に記憶され、処理ユニット１０２によって実行される）またはデバイス（例えば、外部（例えば、通信インターフェース１０８を介して）または内部（例えば、通信インフラストラクチャ１１０を介して）から、コンピューティングシステム１００に接続される）のランタイムリスクを査定するように構成される、処理ユニット１０２によって実行可能なプログラムコードを含む、メモリユニット１０６上に記憶されるアプリケーションプログラムであり得る。いくつかの実施形態では、ランタイムモニタ１０８はさらに、コンピューティングシステム１００によって（例えば、その中に含まれる構成要素またはプログラムによって）実行される少なくとも２つの行われたアクションのアクションシーケンスに対する挙動スコアを識別するように構成され得る。
【００１６】
ランタイムモニタ１０８は、２０１２年２月１７日に出願の米国特許出願第１３／３９９，０６５号「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ａｐｐｌｉｃａｔｉｏｎ  Ａｔｔｅｓｔａｔｉｏｎ」として出願された米国特許第８，３７２，４４１号、２０１２年７月２７日に出願された米国特許出願第１３／５５９，７０７号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｏｒｃｈｅｓｔｒａｔｉｎｇ  Ｒｕｎｔｉｍｅ  Ｏｐｅｒａｔｉｏｎａｌ  Ｉｎｔｅｇｒｉｔｙ」、２０１２年７月２７日に出願された米国特許出願第１３／５５９，７６６号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｔｈｒｅａｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｍｅｄｉａｔｉｏｎ」、２０１２年７月２７日に出願された米国特許出願第１３／５５９，６６５号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｍｏｂｉｌｅ  Ｓｅｃｕｒｉｔｙ  Ｂａｓｅｄ  ｏｎ  Ｄｙｎａｍｉｃ  Ａｔｔｅｓｔａｔｉｏｎ」、２０１２年７月２７日に出願された米国特許出願第１３／５５９，６９２号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｕｓｉｎｇ  Ｒｅｐｕｔａｔｉｏｎ  Ｓｃｏｒｅｓ  ｉｎ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅｓ  ａｎｄ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｔｏ  Ｃａｌｃｕｌａｔｅ  Ｓｅｃｕｒｉｔｙ  Ｒｉｓｋｓ  ｔｏ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｐｌａｔｆｏｒｍｓ」、および２０１２年７月２７日に出願された米国特許出願第１３／５５９，７３２号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｎｅｔｗｏｒｋ  Ｆｌｏｗ  Ｒｅｍｅｄｉａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｒｉｓｋ  Ｃｏｒｒｅｌａｔｉｏｎ」（参照することによって、その全体として本明細書に組み込まれる）に説明されるもの等のコンピューティングシステム１００内で追加の機能を果たすように構成され得る。ランタイムモニタ１０８によって行われ得る追加の機能は、当業者に明白であろう。
【００１７】
ルールデータベース１１０は、各ルールがアクションシーケンスを識別する複数のルールを記憶するように構成され得る。以下により詳細に論じられるアクションシーケンスは、少なくとも２つの行われたアクションのシーケンスを含み得、行われたアクションは、ユーザアクション、アプリケーションアクション、およびシステムアクションのうちの１つであり得る。ポリシーデータベース１１２は、複数の査定ポリシーを記憶するように構成され得、各査定ポリシーは、ルールデータベース１１２内に記憶される複数のルールのうちの少なくとも１つのルールを含む。ランタイムモニタ１０８は、例えば、一致するルールならびに確率的重みおよびスコアに基づいて、ポリシーデータベース１１２内に記憶される査定ポリシーのうちの少なくとも１つを使用して、アプリケーションまたはデバイスのランタイムリスクを識別するように構成され得る。１つ以上のルールから成る査定ポリシーを使用してランタイムリスクを識別する方法は、以下により詳細に論じられる。
【００１８】
ルールデータベース１１０およびポリシーデータベース１１２は、関係データベース、構造化照会言語（ＳＱＬ）データベース、分散データベース、オブジェクトデータベース等の任意のタイプの適切なデータベース構成で構成され得る。適切な構成およびデータベース記憶装置のタイプは、当業者に明白であろう。データベースは、各々が単一データベースであり得るか、または、物理的に（例えば、通信インフラストラクチャ１１０を介して内部から、または通信インターフェース１０８を介して外部から）またはワイヤレスで（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）を介して）等、一緒にインターフェース接続され得る複数のデータベースを備え得るか、または、コンピューティングシステム１００内に含まれる１つ以上のデータベースと、外部ハードディスクドライブまたはネットワークによってアクセスされる（例えば、クラウド内の）記憶装置等のコンピューティングシステム１００の外部の１つ以上のデータベースとを含み得る。
【００１９】
通信インターフェース１０８は、ソフトウェアおよびデータが、コンピューティングシステム１００と外部ネットワークおよびデバイスとの間で伝送されることを可能にするように構成され得る。通信インターフェース１０８は、当業者に明白であろうように、モデム、ネットワークインターフェースカード（例えば、イーサネット（登録商標）カード）、通信ポート、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）カード、または本明細書に開示される機能を果たすために適切な他のタイプの通信インターフェースであり得る。コンピューティングシステム１００へまたはそこから伝送されるソフトウェアおよびデータは、電子、電磁、光学等であり得る、信号の形態であり得る。信号は、物理的に、またはネットワークを介してワイヤレスで、信号を搬送するように構成され得る、通信経路１１４を介して移動し得る。例えば、通信経路１１４は、通信インターフェース１０８から、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、ワイヤレスネットワーク（例えば、ＷｉＦｉ）、モバイル通信ネットワーク、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数（ＲＦ）、または任意のそれらの組み合わせ等のネットワークに信号を搬送し得る。他の適切なネットワークタイプおよび構成も、当業者に明白であろう。
【００２０】
通信インターフェース１０８はさらに、コンピューティングシステム１００を、コンピューティングシステム１００のユーザがシステムを制御することを可能にし得る、複数の入力デバイスと接続するように構成され得る。いくつかの事例では、通信インターフェース１０８は、種々の外部デバイスまたはネットワークに接続するために、複数のインターフェースまたは接続を含み得る。例えば、通信インターフェース１０８は、複数のユニバーサルシリアルバス（ＵＳＢ）コネクタ、イーサネット（登録商標）コネクタ、オーディオコネクタ、ビデオコネクタ等を含み得る。入力を提供するために、コンピューティングシステム１００とともに使用され得る適切なタイプの入力デバイスは、当業者に明白であり、キーボード、マウス、タッチスクリーン、タブレット、クリックホイール、トラックボール、マイクロホン、カメラ等が挙げられ得る。
【００２１】
（アプリケーションまたはデバイスに関するランタイムリスクおよび挙動スコアを識別する方法）
図２は、コンピューティングシステム１００内で行われたアクションのアクションシーケンスを識別し、アクションシーケンスにおいて伴われるアプリケーションまたはデバイスに対する対応するランタイムリスクおよび挙動スコアを識別する方法を図示する流れ図である。図２に図示される方法を使用して識別されたアクションシーケンスは、コンピューティングシステム１００のランタイムモニタ１０８によってアプリケーションまたはデバイスのランタイムリスクを識別することにおける使用のために好適であり得るアクションシーケンスに関して、例証の手段として提供されるだけであり、包括的ではないことは、当業者に明白であろう。
【００２２】
ステップ２０２では、ランタイムモニタ１０８は、ユーザアクション、アプリケーションアクション、およびシステムアクション（それらの各々は、図３に関連して以下により詳細に論じられる）を含み得る行われたアクションに対してコンピューティングシステム１００を監視し得る。アクションが、ステップ２０４において、ランタイムモニタ１０８によって検出されると、ランタイムモニタは、（例えば、処理ユニット１０２を介して）行われたアクションのタイプを識別し得る。行われたアクションのタイプが、システムアクションである場合、ステップ２０６において、ランタイムモニタ１０８は、システムアクションに先行するアクションを識別することを試み得る。次いで、プロセスは、ステップ２０４に戻り、アプリケーションまたはデバイスを伴うアクションが全く行われていない場合、システムアクションのみを含むアクションシーケンスが、アプリケーションまたはデバイスのランタイムリスクを識別するために使用されないように、先行アクションのアクションのタイプを識別し得る。
【００２３】
識別されたアクションが、アプリケーションアクションである場合、ステップ２０８において、ランタイムモニタ１０８は、処理ユニット１０２によって識別され得る、後続システムアクションを監視し得る。アプリケーションアクションに続くシステムアクションは、以下により詳細に論じられるように、アクションシーケンスであり得、ステップ２１８において、アプリケーションまたはデバイスのランタイムリスクを識別するために使用され得（例えば、そのアプリケーションアクションが、システムアクションを生じさせた）、以下により詳細に論じられる。ステップ２０４において識別されたアクションが、ユーザアクションである場合、ランタイムモニタ１０８は、ステップ２１０において、処理ユニット１０２によって識別され得る、任意のタイプの後続アクションを監視し得る。ステップ２１２では、処理ユニット１０２は、後続の行われたアクションが、システムアクションであるか、またはアプリケーションアクションであるかを識別し得る。
【００２４】
ステップ２１２において、アクションが、システムアクションであると識別される場合、ユーザアクションに続くシステムアクションは、アプリケーションまたはデバイスのランタイムリスクを識別するために適切なアクションシーケンスと識別され得る（例えば、ユーザアクションによってトリガされるとき、システムアクションを生じさせた）。ステップ２１２において識別されたアクションが、アプリケーションアクションである場合、ステップ２１３において、ランタイムモニタ１０８は、後続システムアクションを監視し得、処理ユニット１０２は、それを識別し得る。後続システムアクションが識別されない場合、ユーザアクションに続くアプリケーションアクションは、適切なアクションシーケンスと識別され得る。一方、後続システムアクションが生じる場合、ステップ２１６において、処理ユニット１０２は、生じたシステムアクションを識別し得、これは、ユーザアクションに続くアプリケーションアクションおよび後続システムアクションを適切なアクションシーケンスと識別し得る。
【００２５】
ステップ２１８では、処理ユニット１０２（例えば、ランタイムモニタ１０８のアプリケーションプログラムを実行する）は、識別されたアクションシーケンスに基づいて、アプリケーションまたはデバイスのランタイムリスクを識別し得る。ランタイムリスクは、アプリケーションまたはデバイスによって生じる脅威の具体的タイプを識別および／または予測し得る。例えば、ランタイムリスクは、物理的損傷脅威、偶発的脅威、意図的脅威、技術的故障の脅威、機能または情報の破壊、それらの組み合わせ等を識別し得る。いくつかの事例では、複数のタイプの脅威に対応する、複数のランタイムリスクが、識別され得る。ランタイムリスクは、ポリシーデータベース１１２内に記憶される少なくとも１つの査定ポリシーを使用して識別され得る。各査定ポリシーは、ルールデータベース１１０内に記憶される１つ以上のルールを備え得、一致するルールならびに確率的重みおよびスコアに基づいて、ランタイムリスクを識別し得る。アプリケーションまたはデバイスのランタイムリスクを識別するために、査定ポリシーによって使用され得る、確率的重みおよびスコアのタイプおよび値は、当業者に明白であろう。
【００２６】
ルールデータベース１１０内に記憶されるルールは、各々、アクションシーケンスを識別し得る。例えば、ルールデータベース１１０内の１つ以上のルールは、ユーザアクションに続くシステムアクションを含むアクションシーケンスを識別し得る。ルールデータベース１１０内の対応するルールによって識別され得るアクションシーケンスの追加のタイプは、当業者に明白であり、図３に関連して以下により詳細に論じられる。アクションシーケンスのランタイムリスクの識別もまた、図３に関連して以下により詳細に論じられる。
【００２７】
ステップ２２０では、ランタイムモニタ１０８は、アプリケーションまたはデバイスの識別されたランタイムリスクに基づき得る、アプリケーションまたはデバイスの挙動スコアを識別し得る。挙動スコアは、コンピューティングシステム１００または他のデバイス（例えば、通信インターフェース１０８を介してコンピューティングシステム１００に接続されるネットワーク等）に対するアプリケーションまたはデバイスのリスクまたは脅威を示し得る、数字または他の値（例えば、格付け）であり得る。いくつかの実施形態では、挙動スコアは、アプリケーションまたはデバイスを伴う具体的な識別されたアクションシーケンスのリスクまたは脅威を示し得る。他の実施形態では、挙動スコアは、コンピューティングシステム１００または他のデバイスに対するアプリケーションまたはデバイスのリスクまたは脅威を全体として示し得る。
【００２８】
（アクションシーケンス）
図３は、行われたアクションと、アプリケーションまたはデバイスのランタイムリスクを査定するために、コンピューティングシステム１００によって、図２に図示される方法において使用され得る例示的アクションシーケンスとの例証である。
【００２９】
コンピューティングシステム１００のランタイムモニタ１０８は、コンピューティングシステム１００において／によって行われたアクションを監視し得る。ランタイムモニタ１０８によって監視され、処理ユニット１０２によって識別される、行われたアクションは、ユーザアクション３０２、アプリケーションアクション３０４、およびシステムアクション３０６を含み得る。ユーザアクション３０２は、コンピューティングシステム１００のユーザからの明示的入力の任意の形態であり得る。例えば、ユーザアクションとして、プログラム起動、キーボード入力、マウスのクリック、タッチスクリーン上のタッチ入力、マウスの移動、クリックホイールのスクロールまたはクリック、マイクロホンへの音声コマンド、ヒトのジェスチャを読み取るように構成されるデバイスへのジェスチャ等が挙げられ得る。
【００３０】
アプリケーションアクション３０４は、コンピューティングシステム１００の実行時のタスクによってプログラムで始動される、アプリケーション（例えば、メモリユニット１０６内に記憶され、処理ユニット１０２によって実行される）によって行われた任意のアクティビティであり得る。例示的実施形態では、アプリケーションアクション３０４を行うアプリケーションは、ランタイムリスクが識別されるアプリケーション、あるいは、ランタイムリスクが識別されるデバイスによって制御されるアプリケーション、またはそのデバイスを制御するように構成されるアプリケーションであり得る。アプリケーションアクション３０４として、当業者に明白であろうように、例えば、開始タイプ（例えば、コンソール、サービス、親プロセス、スクリプト）、初回実行、フォークプロセス（例えば、子プロセス作成）、コード注入方法、キーボード捕捉方法、画面捕捉方法、動的コードブロック、開かれたデータ文書、自動または自己終了、異常終了（例えば、例外条件）、複数回の再起動、デバイス（例えば、ランタイムリスクが識別されるデバイス）を開くこと、プロセス列挙、暗号化、通信プロトコル、性能測定基準等が挙げられ得る。
【００３１】
システムアクション３０６は、コンピューティングシステムの状態を変化させる、アプリケーションまたはユーザアクションの代償として、あるいはその結果として、コンピューティングシステム１００によって（例えば、コンピューティングシステム１００内に含まれる１つ以上の構成要素によって）行われた任意の動作であり得る。システムアクション３０６として、例えば、システムファイル作成、システムフォルダ修正、レジストリ修正または追加、アプリケーション設定修正、ドライバインストールまたはアンインストール（例えば、システムファイル）、ネットワークアクティビティ、一時的システムフォルダからの実行、代替データストリーム（ＡＤＳ）、環境側面（例えば、デバッガの存在、仮想環境、システムブート回数／シーケンス）等が挙げられ得る。
【００３２】
ランタイムモニタ１０８は、アプリケーションまたはデバイスのランタイムリスクを識別するために使用される、アクションシーケンス３０８を識別するように構成され得る（例えば、図２に図示され、前述の方法を使用して）。アクションシーケンス３０８は、少なくとも２つの行われたアクションを含み得、コンピューティングシステム１００内で行われた一組のアクションを示し得る。例えば、アクションシーケンス３０８ａは、ユーザアクション３０２に続いてシステムアクション３０６を含み得る。いくつかの実施形態では、ランタイムモニタ１０８は、各行われたアクションが生じた時間を識別し得る。例えば、アクションシーケンス３０８ａの場合、ランタイムモニタ１０８は、時間Ｔｕで生じたユーザアクション３０２および時間Ｔｓで生じたシステムアクション３０６を識別し得、Ｔｓ＞Ｔｕであり、ユーザアクション３０２が最初に行われ、システムアクション３０６が次に行われた。
【００３３】
ランタイムモニタ１０８によって識別され、アプリケーションまたはデバイスのランタイムリスクを識別するために使用され得る、追加のアクションシーケンス３０８は、アクションシーケンス３０８ｂ、３０８ｃ、および３０８ｄを含み得る。アクションシーケンス３０８ｂは、ユーザアクション３０２に続いてアプリケーションアクション３０４を含み得る。アクションシーケンス３０８ｃは、アプリケーションアクション３０４に続いてシステムアクション３０６を含み得る。アクションシーケンス３０８ｄは、ユーザアクション３０２に続いてアプリケーション３０４、さらに、システムアクション３０６が続く等、３つの行われたアクションを含み得る。そのようなアクションシーケンスでは、ランタイムモニタ１０８は、ユーザアクション３０２が時間Ｔｕにおいて生じ、アプリケーションアクション３０４が時間Ｔａにおいて生じ、システムアクション３０６が時間Ｔｓにおいて生じたことを識別し得、Ｔｓ＞Ｔａ＞Ｔｕである。ランタイムモニタによって識別され得る、追加のアクションシーケンスは、当業者に明白であろう。
【００３４】
ランタイムモニタ１０８はさらに、真正アクションシーケンスは、アクションシーケンス３０８の信頼性を識別するように構成され得、行われたアクション間にイベントのフォレンジックチェーンまたは自然な進展が存在することを示し得る。そのような事例では、アクションシーケンスを認証することは、ランタイムモニタ１０８が純粋に付随的であるアクションシーケンス（例えば、アプリケーションアクション３０４またはシステムアクション３０６がユーザアクション３０２の結果ではない場合）を考慮しないことを可能にし得る。これは、挙動およびランタイムリスクのより正確なスコア化をもたらし、また、要求されるより少ない処理により、ランタイムリスクおよび挙動スコアのより効率的識別をもたらし得る。ランタイムモニタ１０８は、複数の要因に基づいてアクションシーケンスを認証し得、複数の要因は、順序付けられたシーケンス、無順序シーケンス、近接性分析、外れ値、確率的重みおよびスコア、ならびに、ランタイム時に検出されたアプリケーションの能力あるいは関連付けられたバイナリの静的および／または動的分析に基づいた起こり得るアクション推測、ならびに、当業者によって明白であろう任意の他の適切な要因のうちの少なくとも１つを含み得る。
【００３５】
ランタイムモニタ１０８は、時間近接性（例えば、アクションシーケンス内に含まれるような）およびアクションシーケンス３０８内の行われたアクション間で論理的に推測され得る性質上の類似性に基づいて、複数のルールのうちの少なくとも１つのルールを含む少なくとも１つの査定ポリシーを使用して、アクションシーケンス３０８を認証し、ランタイムリスクを決定し得る。例えば、任意のユーザ介入を伴わずに、電子メールに添付された文書（例えば、ＰＤＦ、Ｅｘｃｅｌ、ＰｏｗｅｒＰｏｉｎｔ、Ｗｏｒｄ等）を開いた時のコンピューティングシステム１００のファイルまたはレジストリキー値の修正は、アクションシーケンスの自然な進行ではない場合があり、したがって、有意なランタイムリスクを示し得る。
【００３６】
コンピューティングシステム１００内で行われるアクションのアクションシーケンスとして、例えば、プロセスチェーン（例えば、起動シーケンス）、実行プロファイル（例えば、性能測定基準）、明示的ユーザアクション（例えば、ウェブリンクを開く、電子メール添付を開くこと、デバイスの挿入）、ユーザのアイドル時間、システムファイルの作成、システムファイルの修正、システムアプリケーションプログラムインターフェース（ＡＰＩ）呼び出し、デバイスアクセスまたは動作（例えば、カメラ、マイクロホン、カードリーダ、ユニバーサルシリアルバスドライブ等）、情報アクセス（例えば、連絡先リスト、全地球測位システム場所、セキュリティ設定等）、ネットワークアクティビティ等が挙げられ得る。ランタイムモニタ１０８は、前述のように、要因、ポリシー、およびルールに基づいて、アクションシーケンス３０８を正常、異常、または外れ値として識別し得る。
【００３７】
例えば、ユーザは、そのインストールの一部として、処理ユニット１０２に（例えば、アプリケーションアクション３０４）レジストリを修正（例えば、システムアクション３０６）させ得る、アプリケーションをインストール（例えば、ユーザアクション３０２）し得る。そのような事例では、ランタイムモニタ１０８は、アクションシーケンスを正常シーケンスとして識別し得、アクションシーケンスおよび／またはアプリケーションを最小ランタイムリスクを有するとして識別し、対応する挙動スコアを割り当て得る。別の実施例では、ユーザは、取り外し可能媒体をコンピューティングシステム１００に挿入（例えば、ユーザアクション３０２）し得、それは、自動的に、かつユーザに透過的に、処理ユニット１０２に（例えば、アプリケーションアクション３０４）システムファイルおよびレジストリキーを削除（例えば、システムアクション３０６）させ得る。ランタイムモニタ１０８は、そのようなアクションシーケンスを異常として識別し得、デバイス（例えば、取り外し可能媒体）を有意なランタイムリスクを有するとして識別し得る。正常、異常、または外れ値と見なされ得るアクションシーケンスは、当業者に明白であろうように、コンピューティングシステム毎および状況毎に変動し得る。
【００３８】
（例示的アプリケーションまたはデバイスに対するランタイムリスクを査定する方法）
図４は、コンピューティングシステム１００内のアプリケーションまたはデバイスに対するランタイムリスクを査定するための例示的方法４００を図示する。
【００３９】
ステップ４０２では、複数のルールが、ルールデータベース（例えば、ルールデータベース１１０）内に記憶され得、各ルールは、アクションシーケンスを識別する。アクションシーケンスは、少なくとも２つの行われたアクションのシーケンスであり得、各行われたアクションは、ユーザアクション（例えば、ユーザアクション３０２）、アプリケーションアクション（例えば、アプリケーションアクション３０４）、およびシステムアクション（例えば、システムアクション３０６）のうちの少なくとも１つである。ステップ４０４では、複数の査定ポリシーが、ポリシーデータベース（例えば、ポリシーデータベース１１２）内に記憶され得、各査定ポリシーは、複数のルールのうちの少なくとも１つのルールを含む。
【００４０】
ステップ４０６では、アプリケーションまたはデバイスに対するランタイムリスクが、少なくとも１つの査定ポリシーを使用して識別され得、識別されたランタイムリスクは、脅威の具体的タイプを識別および予測する。一実施形態では、ランタイムリスクは、一致するルールならびに確率的重みおよびスコアに基づいて識別され得る。いくつかの実施形態では、ランタイムリスクは、アクションシーケンスの少なくとも２つの行われたアクションの時間近接性および少なくとも２つの行われたアクション間で推測される性質上の類似性に基づいて識別され得る。ステップ４０８では、アプリケーションまたはデバイスの挙動スコアが、識別されたランタイムリスクに基づいて、処理デバイス（例えば、処理ユニット１０２）によって識別され得る。
【００４１】
ユーザアクション３０２は、コンピューティングシステム１００のユーザからの明示的入力の任意の形態であり得る。アプリケーションアクション３０４は、コンピューティングシステム１００の実行時におけるタスクによってプログラムで始動されたアプリケーションによって行われた任意のアクティビティであり得る。システムアクション３０６は、コンピューティングシステム１００の状態を変化させるユーザアクション３０２またはアプリケーションアクション３０４の代償、あるいはその結果として、コンピューティングシステム１００によって行われた任意の動作であり得る。
【００４２】
一実施形態では、方法４００はさらに、複数の要因に基づいて、処理デバイス１０２によって、アクションシーケンスの少なくとも２つの行われたアクションがイベントのフォレンジックチェーンを記述することを査定することを含み得、複数の要因は、順序付けられたシーケンス、無順序シーケンス、近接性分析、外れ値、確率的重みおよびスコア、ならびにアプリケーションの能力に基づく起こり得るアクション推測のうちの少なくとも１つを含む。
【００４３】
いくつかの実施形態では、少なくとも２つの行われたアクションは、第１の時間に行われた第１のアクションおよび第２の時間に行われた第２のアクションを含み得る。さらなる実施形態では、第２の時間は、第１の時間の後に生じ得る（例えば、第１のアクションが、第２のアクションに先立って行われるように）。さらなる実施形態では、第１のアクションは、ユーザアクション３０２であり得、第２のアクションは、システムアクション３０６であり得る。代替のさらなる実施形態では、第１のアクションは、ユーザアクション３０２であり得、第２のアクションは、アプリケーションアクション３０４であり得る。さらに別の代替実施形態では、第１のアクションは、アプリケーションアクション３０４であり得、第２のアクションは、システムアクション３０６であり得る。一実施形態では、アクションシーケンスは、ユーザアクション３０２、アプリケーションアクション３０４、およびシステムアクション３０６を含む、３つの行われたアクションを含み得、アプリケーションアクション３０４は、時間的にユーザアクション３０２の後に行われ、システムアクション３０６は、時間的にアプリケーションアクション３０４の後に行われる。
【００４４】
本開示と一貫した技法は、他の特徴の中でもとりわけ、アプリケーションまたはデバイスのランタイムリスクの査定のためのシステムおよび方法を提供する。開示されるシステムおよび方法の種々の例示的実施形態が、前述されたが、限定ではなく、実施例の目的のためだけに提示されていることを理解されたい。包括的ではなく、本開示を開示される精密な形態に限定するものでもない。修正および変形例が、前述の教示に照らして可能性として考えられる、またはその範疇または範囲から逸脱することなく、本開示の実践から得られ得る。
【図１】
2016503219.tif 000003
【図２】
2016503219.tif 000004
【図３】
2016503219.tif 000005
【図４】
2016503219.tif 000006
【国際調査報告】
2016503219.tif 000007
2016503219.tif 000008