【手続補正書】
【提出日】平成29年9月5日(2017.9.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
本発明は、その好適な実施形態を参照して特に示されかつ記載されたが、その好適な実施形態においては、添付の特許請求の範囲に包含される本発明の範囲を逸脱せずに、形態および詳細において種々の変更がなされ得ることが当業者によって理解されるであろう。
なお、本発明は、実施の態様として以下の内容を含む。
〔態様１〕
コンピュータにより実行される方法であって、
ロードタイム中にコンピュータアプリケーションのモデルを抽出することと、
前記コンピュータアプリケーションの前記モデルを格納することと、
ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入することと、
１つまたは複数のセキュリティイベントを検出するように、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することと、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡することと、を含む方法。
〔態様２〕
態様１に記載の方法において、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含む方法。
〔態様３〕
態様１に記載の方法において、前記コンピュータアプリケーションの前記モデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成される方法。
〔態様４〕
態様１に記載の方法において、前記コンピュータアプリケーションがバイナリ形式またはインタプリタ形式である方法。
〔態様５〕
態様１に記載の方法において、さらに、
ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックすることを含む方法。
〔態様６〕
態様５に記載の方法において、保全性のために前記コンピュータアプリケーションをチェックすることが、チェックサムを計算することを含む方法。
〔態様７〕
態様１に記載の方法において、前記モデルを格納することが、前記コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含むデータベースに前記モデルを格納することを含む方法。
〔態様８〕
態様１に記載の方法において、前記モデルを格納することが、前記モデルをリモートシステム上のデータベースに格納することを含む方法。
〔態様９〕
態様８に記載の方法において、さらに、
前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化することを含む方法。
〔態様１０〕
態様９に記載の方法において、さらに、
前記伝送を保証するように、前記伝送内にカナリアを配置することを含む方法。
〔態様１１〕
態様１に記載の方法において、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成される方法。
〔態様１２〕
態様１に記載の方法において、さらに、
ランタイムに収集した前記データを、１つまたは複数のプロセスへの伝送用にパッケージ化することを含む方法。
〔態様１３〕
態様１２に記載の方法において、１つまたは複数のプロセスがリモートシステム上に存在する方法。
〔態様１４〕
態様１２に記載の方法において、さらに、
前記伝送を保証するように、前記伝送内にカナリアを配置することを含む方法。
〔態様１５〕
態様１に記載の方法において、ランタイムに収集された前記データが、前記コンピュータアプリケーションの１つまたは複数のスレッド用のデータを含む方法。
〔態様１６〕
態様１に記載の方法において、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含む方法。
〔態様１７〕
態様１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含む方法。
〔態様１８〕
態様１７に記載の方法において、前記定義済みのシーケンスが不変チェーンに基づく方法。
〔態様１９〕
態様１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、当該イベント用のフォレンジックデータを捕捉することを含む方法。
〔態様２０〕
態様１に記載の方法において、前記１つまたは複数のセキュリティイベントが、重大度レベルを用いて追跡される方法。
〔態様２１〕
態様１に記載の方法において、さらに、
前記１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとることを含む方法。
〔態様２２〕
態様２１に記載の方法において、前記１つまたは複数の措置がシステムによって自動的にとられる方法。
〔態様２３〕
態様２１に記載の方法において、前記１つまたは複数の措置がユーザによってとられる方法。
〔態様２４〕
態様２１に記載の方法において、前記１つまたは複数の措置が、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含む方法。
〔態様２５〕
態様２１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能である方法。
〔態様２６〕
コンピュータにより実行される方法であって、
ロードタイム中にコンピュータアプリケーションのモデルを抽出することと、
前記コンピュータアプリケーションの前記モデルを格納することと、
ランタイムにおいてデータを収集するように、前記コンピュータアプリケーションに指示を挿入すること、を含む方法。
〔態様２７〕
態様２６に記載の方法において、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含む方法。
〔態様２８〕
態様２６に記載の方法において、前記コンピュータアプリケーションのモデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成される方法。
〔態様２９〕
態様２６に記載の方法において、前記コンピュータアプリケーションはバイナリ形式またはインタプリタ形式である方法。
〔態様３０〕
態様２６に記載の方法において、さらに、
ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックすることを含む方法。
〔態様３１〕
態様３０に記載の方法において、保全性のために前記コンピュータアプリケーションをチェックすることが、チェックサムを計算することを含む方法。
〔態様３２〕
態様２６に記載の方法において、前記モデルを格納することが、前記コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含むデータベースに前記モデルを格納することを含む方法。
〔態様３３〕
態様２６に記載の方法において、前記モデルを格納することが、前記モデルをリモートシステム上のデータベースに格納することを含む方法。
〔態様３４〕
態様３３に記載の方法において、さらに、
前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化することを含む方法。
〔態様３５〕
態様３４に記載の方法において、さらに、
前記伝送を保証するように、前記伝送内にカナリアを配置することを含む方法。
〔態様３６〕
態様２６に記載の方法において、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成される方法。
〔態様３７〕
態様２６に記載の方法において、さらに、
ランタイムに収集した前記データを、１つまたは複数のプロセスへの伝送用にパッケージ化することを含む方法。
〔態様３８〕
態様３７に記載の方法において、１つまたは複数のプロセスがリモートシステム上に存在する方法。
〔態様３９〕
態様３７に記載の方法において、さらに、
前記伝送を保証するように、前記伝送内にカナリアを配置することを含む方法。
〔態様４０〕
態様２６に記載の方法において、ランタイムに収集された前記データが、前記コンピュータアプリケーションの各スレッド用のデータを含む方法。
〔態様４１〕
コンピュータにより実行される方法であって、
１つまたは複数のセキュリティイベントを検出するように、コンピュータアプリケーションのランタイムに収集されたデータを前記コンピュータアプリケーションの格納されたモデルと照合して解析することと、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡することと、を含む方法。
〔態様４２〕
態様４１に記載の方法において、さらに、
ランタイムに収集された前記データをリモートシステム上のプロセスから受信することを含む方法。
〔態様４３〕
態様４１に記載の方法において、さらに、
前記コンピュータアプリケーションの前記格納されたモデルをリモートシステム上のプロセスから受信することを含む方法。
〔態様４４〕
態様４１に記載の方法において、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含む方法。
〔態様４５〕
態様４１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含む方法。
〔態様４６〕
態様４５に記載の方法において、前記定義済みのシーケンスが不変チェーンに基づく方法。
〔態様４７〕
態様４１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、フォレンジックデータを捕捉することを含む方法。
〔態様４８〕
態様４１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、重大度レベルの使用を含む方法。
〔態様４９〕
態様４１に記載の方法において、さらに、
前記１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとることを含む方法。
〔態様５０〕
態様４９に記載の方法において、前記１つまたは複数の措置がシステムによって自動的にとられる方法。
〔態様５１〕
態様４９に記載の方法において、前記１つまたは複数の措置がユーザによってとられる方法。
〔態様５２〕
態様４９に記載の方法において、前記１つまたは複数の措置が、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含む方法。
〔態様５３〕
態様４９に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能である方法。
〔態様５４〕
ロードタイム中にコンピュータアプリケーションのモデルを抽出するクライアントであって、
前記コンピュータアプリケーションの前記モデルを格納し、
ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入する、クライアントと、
１つまたは複数のセキュリティイベントを検出するように、ランタイムに収集されたデータを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析する解析エンジンであって、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡する解析エンジンと、を備えたシステム。
〔態様５５〕
態様５４に記載のシステムにおいて、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含むシステム。
〔態様５６〕
態様５４に記載のシステムにおいて、前記コンピュータアプリケーションの前記モデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成されるシステム。
〔態様５７〕
態様５４に記載のシステムにおいて、前記コンピュータアプリケーションがバイナリ形式またはインタプリタ形式であるシステム。
〔態様５８〕
態様５４に記載のシステムにおいて、前記クライアントが、さらに、ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックするシステム。
〔態様５９〕
態様５８に記載のシステムにおいて、保全性のために前記コンピュータアプリケーションをチェックすることが、チェックサムを計算することを含むシステム。
〔態様６０〕
態様５４に記載のシステムにおいて、前記モデルを格納することが、前記コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含むデータベースに前記モデルを格納することを含むシステム。
〔態様６１〕
態様６０に記載のシステムにおいて、前記モデルを格納することが、前記モデルをリモートシステム上のデータベースに格納することを含むシステム。
〔態様６２〕
態様６１に記載のシステムにおいて、前記クライアントが、さらに、前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化するシステム。
〔態様６３〕
態様６２に記載のシステムにおいて、前記クライアントが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置するシステム。
〔態様６４〕
態様５４に記載のシステムにおいて、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成されるシステム。
〔態様６５〕
態様５４に記載のシステムにおいて、前記クライアントが、さらに、ランタイムに収集した前記データを、前記解析エンジンへの伝送用にパッケージ化するシステム。
〔態様６６〕
態様６５に記載のシステムにおいて、前記クライアントが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置するシステム。
〔態様６７〕
態様６５に記載のシステムにおいて、前記解析エンジンへの伝送が、前記クライアントと前記解析エンジンとの間のトランスポートチャネル上で収集された前記データを送信することを含むシステム。
〔態様６８〕
態様５４に記載のシステムにおいて、ランタイムに収集された前記データが、前記コンピュータアプリケーションの１つまたは複数のスレッド用のデータを含むシステム。
〔態様６９〕
態様５４に記載のシステムにおいて、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含むシステム。
〔態様７０〕
態様５４に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含むシステム。
〔態様７１〕
態様７０に記載のシステムにおいて、前記定義済みのシーケンスが不変チェーンに基づくシステム。
〔態様７２〕
態様５４に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することが、当該イベント用のフォレンジックデータを捕捉することを含むシステム。
〔態様７３〕
態様５４に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントが、重大度レベルを用いて追跡されるシステム。
〔態様７４〕
態様５４に記載のシステムにおいて、前記クライアントが、１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとるシステム。
〔態様７５〕
態様７４に記載のシステムにおいて、前記１つまたは複数の措置がシステムによって自動的にとられるシステム。
〔態様７６〕
態様７４に記載のシステムにおいて、前記１つまたは複数の措置がユーザによってとられるシステム。
〔態様７７〕
態様７４に記載のシステムにおいて、前記１つまたは複数の措置が、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含むシステム。
〔態様７８〕
態様７４に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能であるシステム。
〔態様７９〕
態様５４に記載のシステムにおいて、前記クライアントおよび前記解析エンジンの少なくとも一方が、スマートフォン、タブレット、ラップトップ、デスクトップ、およびハイエンドサーバのうちのいずれかにおいて動作するシステム。
〔態様８０〕
態様５４に記載のシステムにおいて、前記解析エンジンが、１つまたは複数のプロセッサからなるプロセッサファブリックを含むシステム。
〔態様８１〕
態様５４に記載のシステムにおいて、前記クライアントが、前記クライアントの１つまたは複数のプロセッサが停止または無応答状態の場合に、前記１つまたは複数のプロセッサを再始動させるクライアントデーモンを含むシステム。
〔態様８２〕
態様５４に記載のシステムにおいて、前記解析エンジンが、前記解析エンジンの１つまたは複数のプロセッサが停止または無応答状態の場合に、前記１つまたは複数のプロセッサを再始動させるアプリケーションデーモンを含むシステム。
〔態様８３〕
態様５４に記載のシステムにおいて、前記解析エンジンが、前記コンピュータアプリケーションの状態を表示するダッシュボードを含むシステム。
〔態様８４〕
第１のプロセスおよび第２のプロセスを実行するプロセッサを備えた装置であって、
前記第１のプロセスが、ロードタイム中にコンピュータアプリケーションのモデルを抽出し、
前記第１のプロセスがさらに、前記コンピュータアプリケーションの前記モデルを格納し、
前記第２のプロセスが、ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入する、装置。
〔態様８５〕
態様８４に記載の装置において、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含む装置。
〔態様８６〕
態様８４に記載の装置において、前記コンピュータアプリケーションの前記モデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成される装置。
〔態様８７〕
態様８４に記載の装置において、前記コンピュータアプリケーションがバイナリ形式またはインタプリタ形式である装置。
〔態様８８〕
態様８４に記載の装置において、さらに、
ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックする第３のプロセスを備えた装置。
〔態様８９〕
態様８８に記載の装置において、保全性のために前記コンピュータアプリケーションをチェックすることは、チェックサムを計算することを含む装置。
〔態様９０〕
態様８４に記載の装置において、データベースが、コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含む装置。
〔態様９１〕
態様８４に記載の装置において、前記データベースがリモートシステム上に存在する装置。
〔態様９２〕
態様９１に記載の装置において、さらに、
前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化する前記第１のプロセスを備えた装置。
〔態様９３〕
態様９２に記載の装置において、前記第１のプロセスが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置する装置。
〔態様９４〕
態様９１に記載の装置において、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成される装置。
〔態様９５〕
態様９１に記載の装置において、さらに、
ランタイムに収集した前記データを、１つまたは複数のプロセスへ伝送用にパッケージ化する第３のプロセスを備えた装置。
〔態様９６〕
態様９５に記載の装置において、前記１つまたは複数のプロセスがリモートシステム上に存在する装置。
〔態様９７〕
態様９５に記載の装置において、前記第３のプロセスが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置する装置。
〔態様９８〕
態様９１に記載の装置において、ランタイムに収集されたデータが、前記コンピュータアプリケーションの各スレッド用のデータを含む装置。
〔態様９９〕
第１のプロセスおよび第２のプロセスを実行するプロセッサを備えた装置であって、
前記第１のプロセスが、１つまたは複数のセキュリティイベントを検出するように、コンピュータアプリケーションのランタイムに収集されたデータを前記コンピュータアプリケーションの格納されたモデルと照合して解析し、
前記第２のプロセスが、状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡する装置。
〔態様１００〕
態様９９に記載の装置において、ランタイムに収集された前記データがリモートシステム上のプロセスから受信される装置。
〔態様１０１〕
態様９９に記載の装置において、前記コンピュータアプリケーションの前記格納されたモデルが、リモートシステム上のプロセスから受信される装置。
〔態様１０２〕
態様９９に記載の装置において、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含む装置。
〔態様１０３〕
態様９９に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含む装置。
〔態様１０４〕
態様１０３に記載の装置において、前記定義済みのシーケンスが不変チェーンに基づく装置。
〔態様１０５〕
態様９９に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、フォレンジックデータを捕捉することを含む装置。
〔態様１０６〕
態様９９に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、重大度レベルを用いることを含む装置。
〔態様１０７〕
態様９９に記載の装置において、さらに、
前記１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとる第３のプロセスを備えた装置。
〔態様１０８〕
態様１０７に記載の装置において、前記１つまたは複数の措置が自動的にとられる装置。
〔態様１０９〕
態様１０７に記載の装置において、前記１つまたは複数の措置はユーザによってとられる装置。
〔態様１１０〕
態様１０７に記載の装置において、前記１つまたは複数の措置は、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含む装置。
〔態様１１１〕
態様１０７に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能である装置。
〔態様１１２〕
態様１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む方法。
〔態様１１３〕
態様４１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む方法。
〔態様１１４〕
態様５４に記載のシステムにおいて、前記クライアントが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加すること含むシステム。
〔態様１１５〕
態様９９に記載の装置において、前記第２のプロセスが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
ロードタイム中にコンピュータアプリケーションのモデルを抽出することと、
前記コンピュータアプリケーションの前記モデルを格納することと、
ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入することと、
１つまたは複数のセキュリティイベントを検出するように、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することと、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡することと、を含む方法。
【請求項２】
請求項１に記載の方法において、ランタイムに収集された前記データが、前記コンピュータアプリケーションの１つまたは複数のスレッド用のデータを含む方法。
【請求項３】
請求項１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、当該イベント用のフォレンジックデータを捕捉することを含む方法。
【請求項４】
請求項１に記載の方法において、前記１つまたは複数のセキュリティイベントが、重大度レベルを用いて追跡される方法。
【請求項５】
コンピュータにより実行される方法であって、
ロードタイム中にコンピュータアプリケーションのモデルを抽出することと、
前記コンピュータアプリケーションの前記モデルを格納することと、
ランタイムにおいてデータを収集するように、前記コンピュータアプリケーションに指示を挿入すること、を含む方法。
【請求項６】
請求項１または５に記載の方法において、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含む方法。
【請求項７】
請求項１または５に記載の方法において、前記コンピュータアプリケーションのモデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成される方法。
【請求項８】
請求項１または５に記載の方法において、前記コンピュータアプリケーションはバイナリ形式またはインタプリタ形式である方法。
【請求項９】
請求項１または５に記載の方法において、さらに、
ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックすることを含む方法。
【請求項１０】
請求項９に記載の方法において、保全性のために前記コンピュータアプリケーションをチェックすることが、チェックサムを計算することを含む方法。
【請求項１１】
請求項１または５に記載の方法において、前記モデルを格納することが、前記コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含むデータベースに前記モデルを格納することを含む方法。
【請求項１２】
請求項１または５に記載の方法において、前記モデルを格納することが、前記モデルをリモートシステム上のデータベースに格納することを含む方法。
【請求項１３】
請求項１２に記載の方法において、さらに、
前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化することを含む方法。
【請求項１４】
請求項１または５に記載の方法において、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成される方法。
【請求項１５】
請求項１または５に記載の方法において、さらに、
ランタイムに収集した前記データを、１つまたは複数のプロセスへの伝送用にパッケージ化することを含む方法。
【請求項１６】
請求項１５に記載の方法において、１つまたは複数のプロセスがリモートシステム上に存在する方法。
【請求項１７】
請求項１３または１５に記載の方法において、さらに、
前記伝送を保証するように、前記伝送内にカナリアを配置することを含む方法。
【請求項１８】
請求項５に記載の方法において、ランタイムに収集された前記データが、前記コンピュータアプリケーションの各スレッド用のデータを含む方法。
【請求項１９】
コンピュータにより実行される方法であって、
１つまたは複数のセキュリティイベントを検出するように、コンピュータアプリケーションのランタイムに収集されたデータを前記コンピュータアプリケーションの格納されたモデルと照合して解析することと、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡することと、を含む方法。
【請求項２０】
請求項１９に記載の方法において、さらに、
ランタイムに収集された前記データをリモートシステム上のプロセスから受信することを含む方法。
【請求項２１】
請求項１９に記載の方法において、さらに、
前記コンピュータアプリケーションの前記格納されたモデルをリモートシステム上のプロセスから受信することを含む方法。
【請求項２２】
請求項１または１９に記載の方法において、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含む方法。
【請求項２３】
請求項１または１９に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含む方法。
【請求項２４】
請求項２３に記載の方法において、前記定義済みのシーケンスが不変チェーンに基づく方法。
【請求項２５】
請求項１９に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、フォレンジックデータを捕捉することを含む方法。
【請求項２６】
請求項１９に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、重大度レベルの使用を含む方法。
【請求項２７】
請求項１または１９に記載の方法において、さらに、
前記１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとることを含む方法。
【請求項２８】
請求項２７に記載の方法において、前記１つまたは複数の措置がシステムによって自動的にとられる方法。
【請求項２９】
請求項２７に記載の方法において、前記１つまたは複数の措置がユーザによってとられる方法。
【請求項３０】
請求項２７に記載の方法において、前記１つまたは複数の措置が、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含む方法。
【請求項３１】
請求項２７に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能である方法。
【請求項３２】
ロードタイム中にコンピュータアプリケーションのモデルを抽出するクライアントであって、
前記コンピュータアプリケーションの前記モデルを格納し、
ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入する、クライアントと、
１つまたは複数のセキュリティイベントを検出するように、ランタイムに収集されたデータを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析する解析エンジンであって、
状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡する解析エンジンと、を備えたシステム。
【請求項３３】
請求項３２に記載のシステムにおいて、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含むシステム。
【請求項３４】
請求項３２に記載のシステムにおいて、前記コンピュータアプリケーションの前記モデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成されるシステム。
【請求項３５】
請求項３２に記載のシステムにおいて、前記コンピュータアプリケーションがバイナリ形式またはインタプリタ形式であるシステム。
【請求項３６】
請求項３２に記載のシステムにおいて、前記クライアントが、さらに、ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックするシステム。
【請求項３７】
請求項３６に記載のシステムにおいて、保全性のために前記コンピュータアプリケーションをチェックすることが、チェックサムを計算することを含むシステム。
【請求項３８】
請求項３２に記載のシステムにおいて、前記モデルを格納することが、前記コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含むデータベースに前記モデルを格納することを含むシステム。
【請求項３９】
請求項３８に記載のシステムにおいて、前記モデルを格納することが、前記モデルをリモートシステム上のデータベースに格納することを含むシステム。
【請求項４０】
請求項３９に記載のシステムにおいて、前記クライアントが、さらに、前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化するシステム。
【請求項４１】
請求項３２に記載のシステムにおいて、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成されるシステム。
【請求項４２】
請求項３２に記載のシステムにおいて、前記クライアントが、さらに、ランタイムに収集した前記データを、前記解析エンジンへの伝送用にパッケージ化するシステム。
【請求項４３】
請求項４０または４２に記載のシステムにおいて、前記クライアントが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置するシステム。
【請求項４４】
請求項４２に記載のシステムにおいて、前記解析エンジンへの伝送が、前記クライアントと前記解析エンジンとの間のトランスポートチャネル上で収集された前記データを送信することを含むシステム。
【請求項４５】
請求項３２に記載のシステムにおいて、ランタイムに収集された前記データが、前記コンピュータアプリケーションの１つまたは複数のスレッド用のデータを含むシステム。
【請求項４６】
請求項３２に記載のシステムにおいて、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含むシステム。
【請求項４７】
請求項３２に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含むシステム。
【請求項４８】
請求項４７に記載のシステムにおいて、前記定義済みのシーケンスが不変チェーンに基づくシステム。
【請求項４９】
請求項３２に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することが、当該イベント用のフォレンジックデータを捕捉することを含むシステム。
【請求項５０】
請求項３２に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントが、重大度レベルを用いて追跡されるシステム。
【請求項５１】
請求項３２に記載のシステムにおいて、前記クライアントが、１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとるシステム。
【請求項５２】
請求項５１に記載のシステムにおいて、前記１つまたは複数の措置がシステムによって自動的にとられるシステム。
【請求項５３】
請求項５１に記載のシステムにおいて、前記１つまたは複数の措置がユーザによってとられるシステム。
【請求項５４】
請求項５１に記載のシステムにおいて、前記１つまたは複数の措置が、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含むシステム。
【請求項５５】
請求項５１に記載のシステムにおいて、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能であるシステム。
【請求項５６】
請求項３２に記載のシステムにおいて、前記クライアントおよび前記解析エンジンの少なくとも一方が、スマートフォン、タブレット、ラップトップ、デスクトップ、およびハイエンドサーバのうちのいずれかにおいて動作するシステム。
【請求項５７】
請求項３２に記載のシステムにおいて、前記解析エンジンが、１つまたは複数のプロセッサからなるプロセッサファブリックを含むシステム。
【請求項５８】
請求項３２に記載のシステムにおいて、前記クライアントが、前記クライアントの１つまたは複数のプロセッサが停止または無応答状態の場合に、前記１つまたは複数のプロセッサを再始動させるクライアントデーモンを含むシステム。
【請求項５９】
請求項３２に記載のシステムにおいて、前記解析エンジンが、前記解析エンジンの１つまたは複数のプロセッサが停止または無応答状態の場合に、前記１つまたは複数のプロセッサを再始動させるアプリケーションデーモンを含むシステム。
【請求項６０】
請求項３２に記載のシステムにおいて、前記解析エンジンが、前記コンピュータアプリケーションの状態を表示するダッシュボードを含むシステム。
【請求項６１】
第１のプロセスおよび第２のプロセスを実行するプロセッサを備えた装置であって、
前記第１のプロセスが、ロードタイム中にコンピュータアプリケーションのモデルを抽出し、
前記第１のプロセスがさらに、前記コンピュータアプリケーションの前記モデルを格納し、
前記第２のプロセスが、ランタイムにデータを収集するように、前記コンピュータアプリケーションに指示を挿入する、装置。
【請求項６２】
請求項６１に記載の装置において、前記コンピュータアプリケーションの前記モデルを抽出することが、前記コンピュータアプリケーションから遷移マッピングデータを抽出すること、前記コンピュータアプリケーションからメモリマッピングデータを抽出すること、前記コンピュータアプリケーションからソフトスポットデータを抽出すること、および前記コンピュータアプリケーションによって呼び出されるＯＳ関数およびシステムコールを抽出すること、のうち１つまたは複数を含む装置。
【請求項６３】
請求項６１に記載の装置において、前記コンピュータアプリケーションの前記モデルを抽出することが、少なくとも一部においてコード逆アセンブラを用いて達成される装置。
【請求項６４】
請求項６１に記載の装置において、前記コンピュータアプリケーションがバイナリ形式またはインタプリタ形式である装置。
【請求項６５】
請求項６１に記載の装置において、さらに、
ロードタイム中に保全性のために前記コンピュータアプリケーションをチェックする第３のプロセスを備えた装置。
【請求項６６】
請求項６５に記載の装置において、保全性のために前記コンピュータアプリケーションをチェックすることは、チェックサムを計算することを含む装置。
【請求項６７】
請求項６１に記載の装置において、データベースが、コンピュータアプリケーションをモデル化する１つまたは複数のテーブルを含む装置。
【請求項６８】
請求項６１に記載の装置において、前記データベースがリモートシステム上に存在する装置。
【請求項６９】
請求項６８に記載の装置において、さらに、
前記コンピュータアプリケーションの前記モデルを、前記データベースに格納する前記リモートシステムへの伝送用にパッケージ化する前記第１のプロセスを備えた装置。
【請求項７０】
請求項６９に記載の装置において、前記第１のプロセスが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置する装置。
【請求項７１】
請求項６８に記載の装置において、前記コンピュータアプリケーションに指示を挿入することが、少なくとも一部においてダイナミックバイナリ解析エンジンまたはバイトコード・インストルメンテーション・エンジンを用いて達成される装置。
【請求項７２】
請求項６８に記載の装置において、さらに、
ランタイムに収集した前記データを、１つまたは複数のプロセスへ伝送用にパッケージ化する第３のプロセスを備えた装置。
【請求項７３】
請求項７２に記載の装置において、前記１つまたは複数のプロセスがリモートシステム上に存在する装置。
【請求項７４】
請求項７２に記載の装置において、前記第３のプロセスが、さらに、前記伝送を保証するように、前記伝送内にカナリアを配置する装置。
【請求項７５】
請求項６８に記載の装置において、ランタイムに収集されたデータが、前記コンピュータアプリケーションの各スレッド用のデータを含む装置。
【請求項７６】
第１のプロセスおよび第２のプロセスを実行するプロセッサを備えた装置であって、
前記第１のプロセスが、１つまたは複数のセキュリティイベントを検出するように、コンピュータアプリケーションのランタイムに収集されたデータを前記コンピュータアプリケーションの格納されたモデルと照合して解析し、
前記第２のプロセスが、状態マシンを用いて、前記１つまたは複数のセキュリティイベントを追跡する装置。
【請求項７７】
請求項７６に記載の装置において、ランタイムに収集された前記データがリモートシステム上のプロセスから受信される装置。
【請求項７８】
請求項７６に記載の装置において、前記コンピュータアプリケーションの前記格納されたモデルが、リモートシステム上のプロセスから受信される装置。
【請求項７９】
請求項７６に記載の装置において、ランタイムに収集された前記データを前記コンピュータアプリケーションの前記格納されたモデルと照合して解析することが、遷移データを解析すること、ＯＳ関数を解析すること、システムコールを解析すること、メモリ書込みを解析すること、およびソフトスポットデータを解析することのうちの１つまたは複数を含む装置。
【請求項８０】
請求項７６に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、定義済みのシーケンスに基づいて前記１つまたは複数のセキュリティイベントを相関させることを含む装置。
【請求項８１】
請求項８０に記載の装置において、前記定義済みのシーケンスが不変チェーンに基づく装置。
【請求項８２】
請求項７６に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、フォレンジックデータを捕捉することを含む装置。
【請求項８３】
請求項７６に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することが、重大度レベルを用いることを含む装置。
【請求項８４】
請求項７６に記載の装置において、さらに、
前記１つまたは複数のセキュリティイベントを追跡することに応答して、１つまたは複数の措置をとる第３のプロセスを備えた装置。
【請求項８５】
請求項８４に記載の装置において、前記１つまたは複数の措置が自動的にとられる装置。
【請求項８６】
請求項８４に記載の装置において、前記１つまたは複数の措置はユーザによってとられる装置。
【請求項８７】
請求項８４に記載の装置において、前記１つまたは複数の措置は、前記コンピュータアプリケーションを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッドを終了すること、前記コンピュータアプリケーションの１つまたは複数のスレッド上のソケットを閉じること、および前記１つまたは複数のセキュリティイベントに応答して警報を発することのうちのいずれかを含む装置。
【請求項８８】
請求項８４に記載の装置において、前記１つまたは複数のセキュリティイベントを追跡することに応答してとられる前記１つまたは複数の措置が、調整可能である装置。
【請求項８９】
請求項１に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む方法。
【請求項９０】
請求項１９に記載の方法において、前記１つまたは複数のセキュリティイベントを追跡することが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む方法。
【請求項９１】
請求項３２に記載のシステムにおいて、前記クライアントが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加すること含むシステム。
【請求項９２】
請求項７６に記載の装置において、前記第２のプロセスが、さらに、重大度および前記状態マシンを用いた追跡用の措置を伴う１つまたは複数の新しいセキュリティイベントを追加することを含む装置。