(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】根本原因解析のために経時的にフォレンジックスナップショットを相互参照するためのシステムおよび方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20240311BHJP
G06F 16/11 20190101ALI20240311BHJP
【FI】
G06F21/55 320
G06F16/11
【外国語出願】
(21)【出願番号】P 2021176520
(22)【出願日】2021-10-28
【審査請求日】2022-08-19
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-08-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】313015247
【氏名又は名称】アクロニス・インターナショナル・ゲーエムベーハー
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】ニコライ グルベニコフ
(72)【発明者】
【氏名】カンディド ヴュエスト
(72)【発明者】
【氏名】セルゲイ ベロウソフ
(72)【発明者】
【氏名】スタニスラフ プロタソフ
【審査官】岸野 徹
(56)【参考文献】
【文献】米国特許出願公開第2017/0220546(US,A1)
【文献】米国特許出願公開第2015/0178167(US,A1)
【文献】特開2009-176100(JP,A)
【文献】特開2014-228919(JP,A)
【文献】米国特許出願公開第2019/0173887(US,A1)
【文献】特開2004-133763(JP,A)
【文献】米国特許出願公開第2020/0379853(US,A1)
【文献】米国特許出願公開第2011/0083098(US,A1)
【文献】米国特許第10148675(US,B1)
【文献】特開2001-222454(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 16/11
(57)【特許請求の範囲】
【請求項1】
経時的にフォレンジックスナップショットを相互参照するための方法であって、
コンピューティングデバイスのハードウェアプロセッサによって、第1の時間に
前記コンピューティングデバイスの第1スナップショット、および第2の時間に前記コンピューティングデバイスの第2スナップショットを受信することと、
前記ハードウェアプロセッサによって、既定のフィルタを前記第1スナップショットおよび前記第2スナップショットに適用することであって、前記既定のフィルタは、各スナップショットから抽出されるべきファイルのリストを含む、適用することと、
前記既定のフィルタの適用後、前記ハードウェアプロセッサによって、前記第1スナップショットおよび前記第2スナップショットから抽出された前記ファイルのリストにおける差異を特定することと、
前記ハードウェアプロセッサによって、ある期間にわたる前記ファイルのリストにおける前記差異を含む、前記コンピューティングデバイスの変更マップを作成することであって、前記期間は、前記第1の時間および前記第2の時間を含む、作成することと、
前記ハードウェアプロセッサによって、ユーザインターフェースで前記変更マップを出力することであって、ユーザによって行われた変更と、不正なエンティティによって行われた変更を示す変更マップを出力することと、
前記ユーザによって行われた変更を示さないように、前記変更マップをフィルタリングすることと、
を含む、方法。
【請求項2】
前記ハードウェアプロセッサによって、第3の時間に前記コンピューティングデバイスの第3スナップショットを受信することと、
前記ハードウェアプロセッサによって、前記既定のフィルタを前記第3スナップショットに適用することと、
前記ハードウェアプロセッサによって、前記第2スナップショットおよび前記第3スナップショットから抽出された前記ファイルのリストにおける差異を特定することと、
前記ハードウェアプロセッサによって、前記第3の時間での前記ファイルのリストにおける差異をさらに含むように前記コンピューティングデバイスの前記変更マップを修正することとであって、前記期間は、前記第3の時間をさらに含む、修正することと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第3の時間での前記ファイルのリストにおける前記差異は、前記第2の時間と比較したものである、請求項2に記載の方法。
【請求項4】
前記第3の時間での前記ファイルのリストにおける前記差異は、前記第1の時間と比較したものである、請求項2に記載の方法。
【請求項5】
前記変更マップは、それぞれが前記コンピューティングデバイスのスナップショットを示す複数の選択可能な時間ポイントを有するタイムラインとして、ユーザインターフェースで視覚的に出力され、さらに、
前記ハードウェアプロセッサによって、時間ポイントの選択を受信することと、
前記ハードウェアプロセッサによって、前記時間ポイントに関連するフィルタリングされたスナップショットと、以前にフィルタリングされたスナップショットとの間のそれぞれの差異を含むウィンドウを生成することと、
を含む、請求項1に記載の方法。
【請求項6】
前記選択の結果として受信された時間ポイントは、前記第2スナップショットに関連する前記第2の時間であり、前記ウィンドウは、前記第1スナップショットおよび前記第2スナップショットから抽出された前記ファイルのリストにおける前記差異を提示する、請求項5に記載の方法。
【請求項7】
前記ウィンドウは、対話形式のものであり、前記それぞれの差異における各ファイルに対するドリルダウン解析を提示する、請求項5に記載の方法。
【請求項8】
前記ユーザインターフェースで前記変更マップを出力することは、前記ハードウェアプロセッサによる前記コンピューティングデバイスのエラーの検出に応じるものである、請求項1に記載の方法。
【請求項9】
前記変更マップを出力することは、前記ハードウェアプロセッサによって、警告をフォレンジック調査エンティティに伝送することをさらに含み、前記警告は、前記変更マップへのアクセスを含む、請求項8に記載の方法。
【請求項10】
前記ユーザによって行われた前記変更を示さないように、前記変更マップをフィルタリングすることは、
前記ハードウェアプロセッサによって、複数の変更を示すデータセットと、前記複数の変更のそれぞれを実行したエンティティの識別子と、に基づいて訓練された機械学習アルゴリズムを使用して、前記変更マップにおけるそれぞれの変更を分類すること、
を含む、請求項1に記載の方法。
【請求項11】
前記ハードウェアプロセッサによって、前記第1スナップショットおよび前記第2スナップショットに関して、前記第1の時間および前記第2の時間での前記コンピューティングデバイスの状態を示すメタデータを取得することと、
前記ハードウェアプロセッサによって、前記第1の時間での前記コンピューティングデバイスの状態に基づいて第1性能スコア、および前記第2の時間での前記コンピューティングデバイスの状態に基づいて第2性能スコアを判定することと、
前記ハードウェアプロセッサによって、前記第1性能スコアと前記第2性能スコアとの間の変化の差異を判定することと、
前記ハードウェアプロセッサによって、前記変化の差異が変化の差異の閾値よりも大きい場合、前記変更マップ内の時間ポイントをマークすることと、
をさらに含む、請求項1に記載の方法。
【請求項12】
経時的にフォレンジックスナップショットを相互参照するためのシステムであって、前記システムは、
コンピューティングデバイスのハードウェアプロセッサを備え、前記ハードウェアプロセッサは、
第1の時間に
前記コンピューティングデバイスの第1スナップショット、および第2の時間に前記コンピューティングデバイスの第2スナップショットを受信し、
既定のフィルタを前記第1スナップショットおよび前記第2スナップショットに適用し、前記既定のフィルタは、各スナップショットから抽出されるべきファイルのリストを含み、
前記既定のフィルタの適用後、前記第1スナップショットおよび前記第2スナップショットから抽出された前記ファイルのリストにおける差異を特定し、
ある期間にわたる前記ファイルのリストにおける前記差異を含む、前記コンピューティングデバイスの変更マップを作成し、前記期間は、前記第1の時間および前記第2の時間を含み、
ユーザインターフェースで前記変更マップを出力することであって、ユーザによって行われた変更と、不正なエンティティによって行われた変更を示す変更マップを出力することと、
前記ユーザによって行われた変更を示さないように、変更マップをフィルタリングする
ように構成される、システム。
【請求項13】
前記ハードウェアプロセッサは、
第3の時間に前記コンピューティングデバイスの第3スナップショットを受信し、
前記既定のフィルタを前記第3スナップショットに適用し、
前記第2スナップショットおよび前記第3スナップショットから抽出された前記ファイルのリストにおける差異を特定し、
前記第3の時間での前記ファイルのリストにおける差異をさらに含むように前記コンピューティングデバイスの前記変更マップを修正し、前記期間は、前記第3の時間をさらに含む、
ようにさらに構成される、請求項12に記載のシステム。
【請求項14】
前記第3の時間での前記ファイルのリストにおける前記差異は、前記第2の時間と比較したものである、請求項13に記載のシステム。
【請求項15】
前記第3の時間での前記ファイルのリストにおける前記差異は、前記第1の時間と比較したものである、請求項13に記載のシステム。
【請求項16】
前記変更マップは、それぞれが前記コンピューティングデバイスのスナップショットを示す複数の選択可能な時間ポイントを有するタイムラインとして、ユーザインターフェースで視覚的に出力され、
前記ハードウェアプロセッサは、
時間ポイントの選択を受信し、
前記時間ポイントに関連するフィルタリングされたスナップショットと、以前にフィルタリングされたスナップショットとの間のそれぞれの差異を含むウィンドウを生成する、
ようにさらに構成される、請求項12に記載のシステム。
【請求項17】
前記選択の結果として受信された時間ポイントは、前記第2スナップショットに関連する前記第2の時間であり、前記ウィンドウは、前記第1スナップショットおよび前記第2スナップショットから抽出された前記ファイルのリストにおける前記差異を提示する、請求項16に記載のシステム。
【請求項18】
前記ウィンドウは、対話形式のものであり、前記それぞれの差異における各ファイルに対するドリルダウン解析を提示する、請求項16に記載のシステム。
【請求項19】
経時的にフォレンジックスナップショットを相互参照するための
、コンピューティングデバイスのコンピュータ実行可能命令を記憶している非一時的なコンピュータ可読記憶媒体であって、
第1の時間に
前記コンピューティングデバイスの第1スナップショット、および第2の時間に前記コンピューティングデバイスの第2スナップショットを受信することと、
既定のフィルタを前記第1スナップショットおよび前記第2スナップショットに適用することであって、前記既定のフィルタは、各スナップショットから抽出されるべきファイルのリストを含む、適用することと、
前記既定のフィルタの適用後、前記第1スナップショットおよび前記第2スナップショットから抽出された前記ファイルのリストにおける差異を特定することと、
ある期間にわたる前記ファイルのリストにおける前記差異を含む、前記コンピューティングデバイスの変更マップを作成することであって、前記期間は、前記第1の時間および前記第2の時間を含む、作成することと、
ユーザインターフェースで前記変更マップを出力することであって、ユーザによって行われた変更と、不正なエンティティによって行われた変更を示す変更マップを出力することと、
前記ユーザによって行われた変更を示さないように、変更マップをフィルタリングすることと、
の命令を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は2021年8月9日出願の米国非仮出願番号第17/396,905号の利益を主張し、さらには、2020年12月23日に出願の米国仮出願番号第63/130,065号の利益を主張するものであり、その両方は、参照により本明細書に援用される。
【0002】
本開示は、データセキュリティの分野に関し、より具体的には、経時的にフォレンジックスナップショットを相互参照するためのシステムおよび方法に関する。
【背景技術】
【0003】
デジタルコンピューティングに対する依存度が高まるにつれて、ハッキング、データ盗難、マルウェア攻撃などのサイバー犯罪の件数が増加している。その結果、バックアップコピーを作成する際に、これらのサイバー犯罪を調査するために使用することができる、システム上のデータに関する追加情報を保存することが必要となった。フォレンジックエンジニアは、この追加情報を利用して、攻撃の発生元を突き止め、システムに対する攻撃の残りのアーティファクトおよび痕跡を発見することがある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、フォレンジック調査では、典型的には、サイバー犯罪が発生するまで、適時に過去のある時点からのファイルおよびメモリコンテンツへアクセスすることはない。これにより、システム構成の履歴、アンチウイルスソフトウェアの排除、技術者によるプロビジョニングエラーなどを確認できないため、効率的な解析が制限される。さらに、セキュリティ情報イベント管理(Security Information and Event Management:SIEM)およびエンドポイント検出レスポンス(Endpoint Detection and Response:EDR)ソリューションは、何が起こったかの高水準インジケーションおよびログのみを提供するが、構成ファイルのような重要なファイルのコンテンツを取り逃すことがある。言うまでもなく、従来のバックアップ復元ポイントを使用して、ファイルを復元および比較することは、時間のかかるプロセスであり、大きなディスク容量が必要となる。
【0005】
したがって、効率的な方法で調査員にサイバー犯罪に関連する重要な情報を提示する必要がある。
【課題を解決するための手段】
【0006】
これらの課題に対処するために、本開示の態様において、経時的にフォレンジックスナップショットを相互参照するための方法およびシステムについて記載する。一例示的態様では、方法は、第1の時間にコンピューティングデバイスの第1スナップショット、および第2の時間にコンピューティングデバイスの第2スナップショットを受信することを含んでよい。方法は、既定のフィルタを第1スナップショットおよび第2スナップショットに適用することを含んでもよく、ここで既定のフィルタは、各スナップショットから抽出されるべきファイルのリストを含む。方法は、既定のフィルタの適用後、第1スナップショットおよび第2スナップショットから抽出されたファイルのリストにおける差異を特定することを含んでよい。方法は、ある期間にわたるファイルのリストにおける差異を含む、コンピューティングデバイスの変更マップを作成することであって、その期間は、第1の時間および第2の時間を含む、作成することと、ユーザインターフェースで変更マップを出力することと、を含んでもよい。
【0007】
一部の態様では、方法は、第3の時間にコンピューティングデバイスの第3スナップショットを受信することと、既定のフィルタを第3スナップショットに適用することと、第2スナップショットおよび第3スナップショットから抽出されたファイルのリストにおける差異を特定することと、第3の時間でのファイルのリストにおける差異をさらに含むようにコンピューティングデバイスの変更マップを修正することと、を含み、ここで、期間は、第3の時間をさらに含む。
【0008】
一部の態様では、第3の時間でのファイルのリストにおける差異は、第2の時間と比較したものである。
【0009】
一部の態様では、第3の時間でのファイルのリストにおける差異は、第1の時間と比較したものである。
【0010】
一部の態様では、変更マップは、それぞれがコンピューティングデバイスのスナップショットを示す複数の選択可能な時間ポイントを有するタイムラインとして、ユーザインターフェースで視覚的に出力される。方法は、時間ポイントの選択項目を受信することと、その時間ポイントに関連するフィルタリングされたスナップショットと、以前にフィルタリングされたスナップショットとの間のそれぞれの差異を含むウィンドウを生成することと、を含んでよい。
【0011】
一部の態様では、選択された時間ポイントは、第2スナップショットに関連する第2の時間であり、ウィンドウは、第1スナップショットおよび第2スナップショットから抽出されたファイルのリストにおける差異を提示する。
【0012】
一部の態様では、ウィンドウは、対話形式のものであり、それぞれの差異における各ファイルに対するドリルダウン解析を提示する。
【0013】
一部の態様では、方法は、コンピューティングデバイスのエラーの検出に応じて、ユーザインターフェースで変更マップを出力することを含んでよい。
【0014】
一部の態様では、変更マップを出力することは、警告をフォレンジック調査エンティティに伝送することをさらに含み、ここで、この警告は、変更マップへのアクセスを含む。
【0015】
一部の態様では、変更マップは、ユーザによって行われた変更と、不正なエンティティによって行われた変更を示し、かつ方法は、ユーザによって行われた変更を示さないように、変更マップをフィルタリングすることを含んでよい。
【0016】
一部の態様では、ユーザによって行われた変更を示さないように変更マップをフィルタリングすることは、複数の変更を示すデータセットと、複数の変更のそれぞれを実行したエンティティの識別子と、に基づいて訓練された機械学習アルゴリズムを使用して、変更マップにおけるそれぞれの変更を分類することを含む。
【0017】
一部の態様では、方法は、第1スナップショットおよび第2スナップショットに関して、第1の時間および第2の時間でのコンピューティングデバイスの状態を示すメタデータを取得することを含んでもよい。方法は、第1の時間でのコンピューティングデバイスの状態に基づいて第1性能スコア、および第2の時間でのコンピューティングデバイスの状態に基づいて第2性能スコアを判定することを含んでもよい。方法は、第1性能スコアと第2性能スコアとの間の変化の差異を判定することと、その変化の差異が変化の差異の閾値よりも大きい場合、変更マップ内の時間ポイントをマークすることと、を含んでもよい。
【0018】
上記の方法は、ハードウェアプロセッサを含むシステムに実装される場合があるという点に留意すべきである。あるいは、方法は、非一時的コンピュータ可読媒体のコンピュータ実行可能命令を使用して実行されてもよい。
【0019】
例示的態様の簡略化された上記概要は、本開示の基本的な理解をもたらすために提供される。本概要は、全ての企図された態様の広範な概要ではなく、また全ての態様の主要なまたは重要な要素を特定することも、本開示のいずれかまたは全ての態様の範囲を描写することも意図していない。その唯一の目的は、1つまたは複数の態様を、以下の本開示のより詳細な説明の序文として、簡略化した形で示すことである。上記の目的を達成するために、本開示の1つまたは複数の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含む。
【図面の簡単な説明】
【0020】
本明細書に援用され、かつ本明細書の一部を構成する添付図面は、発明を実施するための形態と共に本開示の1つまたは複数の例示的態様を示すものであり、それらの原理および実装形態を説明するために提供される。
【0021】
【
図1】経時的にフォレンジックスナップショットを相互参照するためのシステムを示すブロック図である。
【
図2】フォレンジック解析向けに関心の時間ポイントを強調表示するユーザインターフェースを示すブロック図である。
【
図3】ドリルダウン解析向けにファイルが選択される際のユーザインターフェースを示すブロック図である。
【
図4】経時的にフォレンジックスナップショットを相互参照するための方法のフロー図である。
【
図5】本開示の態様が実装され得る汎用コンピュータシステムの一例を示す図である。
【発明を実施するための形態】
【0022】
例示的態様について、経時的にフォレンジックスナップショットを相互参照するためのシステム、方法およびコンピュータプログラム製品の文脈で本明細書に記載する。以下の説明は単なる例示であり、決して限定的なものではないことを当業者であれば理解されるであろう。本開示の効果を用いることで、その他の態様も当業者によって容易に連想されるであろう。添付図面に示される例示的な態様の実装形態に、参照番号が項目ごとに付与される。図面および以下の説明を通して可能な範囲で同じ参照番号が使用され、同じ参照番号は、同一または類似の項目であることを意味する。
【0023】
背景技術に記述した課題を解決するために、本開示は、複数のバックアップスナップショットのバックアップとメモリダンプを比較し、疑わしいアーティファクトおよびシステムファイル変更(例えば、複数のスナップショットにわたって変更のあった構成ファイルおよびプロセス)を特定する。次いで、例示的システムは、新しいバックアップが作成される度に更新される変更マップを作成する。この変更マップは、フォレンジック調査員に提供されるフォレンジックタイムマシンユーザインターフェース(User Interface:UI)のバックボーンとして機能する。このUIは、調査員が様々な時間ポイントでフォレンジックスナップショットを相互参照し(例えば、ユーザまたは機械学習アルゴリズムによって明らかにされる重大な変更を閲覧し)、かつドリルダウン解析を行うことを可能にするものである。
【0024】
図1は、経時的にフォレンジックスナップショットを相互参照するためのシステム100を示すブロック図である。システム100において、コンピューティングデバイス102は、コンピュータ、ラップトップ、スマートフォン、サーバ、またはバックアップされたデータを記憶することができる任意の他のデバイスであってよい。コンピューティングデバイス102は、スナップショット104などのスナップショット(すなわち、データバックアップおよび/またはメモリダンプ)を周期的に生成する。一部の態様では、スナップショット104は、コンピューティングデバイス102のイメージバックアップである。他の態様では、スナップショット104は、コンピューティングデバイス102に記憶されている、ファイル、プロセス、アプリケーションなどのコレクションである。スナップショット104は、コンピューティングデバイス102に記憶されることがあるか、またはコンピューティングデバイス102が接続しているリモートサーバに伝送される場合がある。
【0025】
本開示において、フォレンジックコンポーネント106は、コンピューティングデバイス102によって作成されたスナップショットを解析し、かつ変更マップを生成するように構成されるが、この変更マップは任意のフォレンジック調査員、デバイス管理者、およびデバイスユーザが複数の時間ポイントにわたるスナップショットを相互参照することを可能にするものである。この相互参照により、フォレンジック解析を実施する際の効率的で、系統立てられ、的が絞られた方法が可能になる。フォレンジックコンポーネント106は、コンピューティングデバイス102に格納されてよく、またシンおよびシッククライアントスキームでコンピューティングデバイス102とリモートサーバにわたって分割されてもよい。例えば、コンピューティングデバイス102は、スナップショット104をフォレンジックコンポーネント106がインストールされているリモートサーバに伝送してよい。リモートサーバ上のフォレンジックコンポーネント106は、受信した複数のスナップショット全ての変更マップを作成し、かつその変更マップをコンピューティングデバイス102上のフォレンジックコンポーネント106のシンクライアントに伝送してよい。続いて、シンクライアントは、コンピューティングデバイス102で変更マップを提示してよい。
【0026】
フォレンジックコンポーネント106は、比較に必要なスナップショット内の特定のファイルを特定するスナップショットフィルタ108と、フィルタリングされたスナップショットを比較するモジュールである微分器110と、閲覧することが可能な様々な時間ポイントのスナップショット情報を伴う変更マップを作成するモジュールである変更マップ生成器112とを含む。一部の態様では、フォレンジックコンポーネント106は、セキュリティソフトウェア(例えばアンチウイルスアプリケーション)またはバックアップソフトウェアのコンポーネントであってよい。他の態様では、フォレンジックコンポーネント106は、独立したアプリケーションであってもよい。
【0027】
より詳細には、フォレンジックコンポーネント106は、第1の時間(例えばt1)にコンピューティングデバイス(例えばコンピューティングデバイス102)の第1スナップショット(例えばスナップショット104)を受信し、かつ第2の時間(例えばt2)にコンピューティングデバイスの第2スナップショット(例えばスナップショット105)を受信してもよい。次に、フォレンジックコンポーネント106は、既定のフィルタ(例えばスナップショットフィルタ108)を第1スナップショットおよび第2スナップショットに適用してよい。既定のフィルタは、各スナップショットから抽出されるべきファイルのリストを含む。例えば、既定のフィルタは、キャッシュファイルの抽出を除外してもよい。
【0028】
既定のフィルタの適用後、フォレンジックコンポーネント106は、微分器110を使用して、第1スナップショットおよび第2スナップショットから抽出されたファイルのリストにおける差異を特定する。フォレンジックコンポーネント106は、変更マップ生成器112を使用して、コンピューティングデバイスの変更マップ(例えばマップ116)を作成するが、この変更マップは、ある期間(この際、ある期間とは第1の時間と第2の時間を含む)にわたるファイルのリストおよびプロセスにおける差異を含んでいる。次に、フォレンジックコンポーネント106は、ユーザインターフェース(例えばUI114)で変更マップを出力してよい。
【0029】
一部の態様では、新しいスナップショットが生成されるときに、フォレンジックコンポーネント106は、変更マップを動的に更新してもよい。例えば、フォレンジックコンポーネント106は、第3の時間(例えばt3)にコンピューティングデバイス(例えばコンピューティングデバイス102)の第3スナップショットを受信してよい。次に、フォレンジックコンポーネント106は、既定のフィルタ(例えばスナップショットフィルタ108)を第3スナップショットに適用して、第2スナップショットおよび第3スナップショットから抽出されたファイルのリストにおける差異を特定してもよい。特定した変更に基づいて、フォレンジックコンポーネント106は、第3の時間(例えばt3)でのファイルのリストにおける差異をさらに含むようにコンピューティングデバイスの変更マップ(例えば116)を修正してよい。
【0030】
変更マップの外観に関しては、変更マップ(例えばマップ116)は、それぞれがコンピューティングデバイスのスナップショットを示す複数の選択可能な時間ポイント118を有するタイムラインとして、ユーザインターフェース(例えばUI114)で視覚的に出力される。次に、フォレンジックコンポーネント106は、時間ポイントの選択項目(例えば選択された時間ポイント120)を受信し、その時間ポイントに関連するフィルタリングされたスナップショットと、以前にフィルタリングされたスナップショットとの間のそれぞれの差異を含むウィンドウを生成する。システム100を参照すると、選択された時間ポイントは、第2スナップショットが取得されたときの時間ポイントt2である場合がある。結果として、ウィンドウ122は、第1スナップショットおよび第2スナップショットから抽出されたファイルのリストにおける差異(すなわち、コンピューティングデバイス102が時間t1とt2の間でどう変化したか)を提示する。一部の態様では、ウィンドウ122は、対話形式のものであり、それぞれの差異における各ファイルに対するドリルダウン解析を提示する。例えば、ウィンドウ122がt1とt2の間に変更のあったファイル1を示す場合、ユーザはファイル1の識別子(例えばアプリケーションのアイコン)を選択して、変更の原因、時間、アクセス記録、属性などに関する情報を受信することができる。一部の態様では、ファイル1の状態は、ウィンドウ122を介して提示されてよい。一部の態様では、ファイルは、ウィンドウ122に予めロードされていてもよい。ファイルについて、本開示において先に論じたが、スナップショットを提示する際に、プロセスも考慮される点に留意する必要がある。
【0031】
一部の態様では、フォレンジックコンポーネント106は、コンピューティングデバイス102のエラーの検出に応じて、コンピューティングデバイス102および/またはフォレンジック調査エンティティの解析デバイスでUI114を出力してよい。例えば、フォレンジックコンポーネント106は、フォレンジックコンポーネント106のシンクライアントから情報を受信するシッククライアントとしてリモートサーバにインストールされてよい。シッククライアントは、シンクライアントからの周期的なハートビートメッセージを監視することができる。メッセージが受信されず閾値期間(例えば1時間)が過ぎたという判断に応じて、フォレンジックコンポーネント106は、コンピューティングデバイス102がクラッシュしたか、(例えばコンピューティングデバイス上のデータを暗号化するランサムウェアによって)危険にさらされたと判断してもよい。一部の態様では、フォレンジックコンポーネント106は、警告をフォレンジック調査エンティティに伝送してもよく、ここで、この警告は変更マップへのアクセスを含む。例えば、フォレンジックコンポーネント106は、変更マップへのリンク(例えばURL)をインターネットを通してフォレンジック調査エンティティに送信してもよい。リンクをクリックすることで、UI114へのアクセスが提供される。
【0032】
図2は、フォレンジック解析向けに関心の時間ポイントを強調表示するユーザインターフェース200を示すブロック図である。本開示の目的は、フォレンジック調査員に提示されるデータを合理化することである。一部のケースでは、いくつかの時間ポイント、および所定の変更マップで見られる、ユーザでは手に負えない、関連バックアップが存在する。フォレンジックコンポーネント106は、関心の時間ポイントを強調表示するために、ユーザインターフェース200を調整するように構成されてよい。このようにして、いかなる悪意あるソフトウェアも、直ちに特定、解析、および対処される。
【0033】
例えば、一部の態様では、フォレンジックコンポーネント106は、ユーザによって行われた変更と、不正なエンティティによって行われた変更を示すように、変更マップを調整してもよい。一部の態様では、フォレンジックコンポーネント106は、ユーザによって行われた変更(すなわち手作業による変更)を示さないように、変更マップをフィルタリングしてよい。例えば、フォレンジックコンポーネント106は、複数の変更を示すデータセットと、複数の変更のそれぞれを実行したエンティティの識別子と、に基づいて訓練された機械学習アルゴリズムを使用して、変更マップにおけるそれぞれの変更を分類してもよい。データセットは、既知の悪意あるエンティティ(例えばウイルス)によって行われた変更を明確に捕らえ、悪意あるものとしてそれらを分類することができる。それに応じて、それらの変更が検出されない場合、残りの変更も、ユーザによって行われたものであると見なすことができる。例えば、機械学習アルゴリズムは、ある特定のディレクトリ内である特定のファイルが悪意あるソフトウェアによって暗号化されたインスタンスを含むデータセットによって訓練される1クラスサポートベクターマシンである場合がある。その変更が検出された場合(すなわち、入力された変更が一致する場合)、フォレンジックコンポーネント106は、入力された変更が、悪意あるソフトウェアによって起きたものと判断する。しかし、入力された変更が異なる場合、入力された変更はユーザに属するものである。
【0034】
他の態様では、フォレンジックコンポーネント106は、コンピューティングデバイス102の性能の変化に基づいて、ユーザインターフェース200を調整してもよい。例えば、フォレンジックコンポーネント106は、コンピューティングデバイス102の性能がいつ最も衰えたかを特定して、変更マップ202でその最も近い時間ポイントの視覚的外観を調整してもよい。
図2では、複数の時間ポイントおよびそれらの関連する変化が示されている。フォレンジックコンポーネント106は、各時間ポイントにおけるコンピューティングデバイス102の性能スコアを判定する。時間t1では、性能スコアは99である。時間t2では、性能スコアは95である。性能の変化は-4である。ポイント204を含む最初の2つの時間ポイントにおける変化は、第1サイズのアイコンで表されている。時間t3で、性能スコアは65に下がっている。t2とt3との間の変化は-30である。そのため、ポイント206の視覚的インジケータは、ユーザ(例えばフォレンジック調査員)がポイント206を注視する必要があることを知らせるために大きなものである。一部の態様では、視覚的インジケータのサイズは、性能スコアの変化に比例する。例えば、ポイント208の視覚的インジケータのサイズは、ポイント206の視覚的インジケータより大きく、ポイント204の視覚的インジケータよりも小さい。他の態様では、視覚的インジケータのサイズは予め設定されていてもよく、またフォレンジックコンポーネント106は、視覚的インジケータのサイズどれだけ変更するかを決定するのに閾値に依拠してもよい。例えば、第1閾値は、25である場合があり、第2閾値は50である場合があり、またはフォレンジックコンポーネント106は、各閾値と、性能スコア変化を比較してもよい。性能スコア変化が第1閾値より大きい場合、サイズは第1サイズ(例えば、50ピクセル×50ピクセル)に設定される。性能スコア変化が第2閾値より大きい場合、サイズは第2サイズ(例えば、100ピクセル×100ピクセル)に設定される。
【0035】
任意の2つのスナップショットの場合、フォレンジックコンポーネント106は、第1スナップショットおよび第2スナップショットに関して、第1の時間および第2の時間でのコンピューティングデバイスの状態を示すメタデータを取得してもよい。次に、フォレンジックコンポーネント106は、第1の時間でのコンピューティングデバイスの状態に基づいて第1性能スコア、および第2の時間でのコンピューティングデバイスの状態に基づいて第2性能スコアを判定してもよい。フォレンジックコンポーネント106は、第1性能スコアと第2性能スコアとの間の変化の差異を判定して、その変化の差異が変化の差異の閾値よりも大きい場合、変更マップ内の時間ポイントを(例えば、星などの特別なインジケータで、または視覚的インジケータのサイズの変更によって)マークしてよい。
【0036】
上述したように、性能は、コンピューティングデバイスの状態に基づいて定量化されてよく、ここで、状態は、平均CPU使用量、平均メモリ使用量、バッテリ寿命(例えばコンピューティングデバイスが持ち運び可能な場合)、ある期間(例えば2つ以上のスナップショット間)内のアプリケーションのいくつかのクラッシュ、ある期間内のコンピューティングデバイスのいくつかのクラッシュ、通常のアクセス時間と比較したコンピューティングデバイス上のアプリケーション/ファイルへのアクセスの遅延、コンピューティングデバイスハードウェア温度などの属性の組み合わせを含む。例えば、フォレンジックコンポーネント106が平均CPU使用量(例えば86%)およびある期間内のいくつかのアプリケーションクラッシュ(例えば24時間以内に使用した10個のアプリケーションのうち4個のクラッシュ)に基づいて性能を判定する場合、フォレンジックコンポーネント106は、値の線形結合を実行して性能スコアを判定してもよい。話を簡単にするために、線形結合は、各属性に等しい重み(1)を適用し、かつ2つの値の平均であると仮定する。このケースでは、CPUの14%が空いており、10個のうち6個のアプリケーションはクラッシュしていない。性能スコアは、(14+60)/2=37となる。他の態様では、より大きな重みが、属性の1つに適用されてもよい。例えば、クラッシュの数が、1.1の重みで設定される場合がある。したがって、性能スコアは、(14+1.1*60)/2=40となる。
【0037】
性能の変化の差異を計算するために、フォレンジックコンポーネント106は、ある期間にわたる複数の性能スコアを上述のように判定してもよい。次に、フォレンジックコンポーネント106は、その期間にわたる性能スコアの勾配を判定してもよい。例えば、t2における性能スコアが95、t3での性能スコアが65の場合、変化の差異は-30である。変化の差異の閾値が20であると仮定する。変化の差異の大きさは30であり、これは閾値より大きいので、フォレンジックコンポーネント106は、ポイント206の視覚的インジケータを(例えば、他の視覚的インジケータよりも大きな視覚的インジケータのサイズにすることによって)マークしてよい。
【0038】
図3は、ドリルダウン解析向けにファイルが選択される際のユーザインターフェース300を示すブロック図である。ユーザが、ユーザインターフェース300内の時間ポイントの視覚的インジケータのうち1つを選択すると仮定する。選択により、選択された時間ポイントとそれ以前の時間ポイント(例えば直前の時間ポイント、または第1時間ポイントなどの過去の時間ポイント)の間に変更のあったファイルの全てを一覧にしたユーザインターフェース内のウィンドウが起動されてよい。例えば、ユーザインターフェースは、ファイルを一覧にし、かつそのファイルで実行された修正(例えばサイズの変更、ロケーションの削除、追加、変更など)を記述したテーブルであってよい。
【0039】
一部の態様では、ユーザは、特定のファイルを選択し、ドリルダウン解析を実施してもよい。ドリルダウン解析は、ファイル特定変更マップを生成することを含む。例えば、ユーザインターフェース上で、ユーザが特定のファイルを選択して、フォレンジックコンポーネント106がファイルに起きた変更の全てを一覧にした変更マップを生成してもよい。ユーザインターフェース300では、時間t1からt6が示されている。ユーザがファイルXYZについて詳しく知ることを望んでいると仮定する。ユーザが複数のファイルアイコンからファイルを選択するときに、ファイル特定変更マップが、フォレンジックコンポーネント106によって生成される。変更マップは、時間t1で、ファイルが作成されたことを示す。ファイルメタデータ(例えば名前、拡張子、アプリケーション、サイズなど)を含む視覚的インジケータも、同様に生成される。時間t2、t3、t4では、変更はなかった。そのため、タグ「NC」または「変更なし」が記述される。時間t5で、ファイルは修正され、ファイルのサイズが変更された。一部の態様では、ファイル特定変更マップは、さらに、ファイルサイズ変更による変更(例えば、文書への文字の追加)を示してもよい。例えば、ファイルのプレビューが、生成されて、追加の文字が赤線を伴って示されてもよい。時間t6では、ファイルのディレクトリが、フォルダ「Key」からフォルダ「lock」に変更された。
【0040】
図4は、経時的にフォレンジックスナップショットを相互参照するための方法400のフロー図を示す。402で、フォレンジックコンポーネント106は、第1の時間にコンピューティングデバイス102の第1スナップショット、および第2の時間にコンピューティングデバイス102の第2スナップショットを受信する。404で、フォレンジックコンポーネント106は、既定のフィルタ(例えばスナップショットフィルタ108)を第1スナップショットおよび第2スナップショットに適用するが、ここで、既定のフィルタは、各スナップショットから抽出されるべきファイルのリスト(例えば、比較を行うための)を含む。既定のフィルタの適用後、206で、微分器110は、第1スナップショットおよび第2スナップショットから抽出されたファイルのリストにおける差異を特定する。408で、変更マップ生成器112は、ある期間にわたるファイルのリストにおける差異を含む、コンピューティングデバイス102の変更マップを作成するが、ここで、その期間は、第1の時間および第2の時間を含む。410で、フォレンジックコンポーネント106は、ユーザインターフェース(例えばUI114)で変更マップ(例えばマップ116)を出力してよい。
【0041】
図5は、例示的態様に従って、経時的にフォレンジックスナップショットを相互参照するためのシステムおよび方法の態様が実装されることがあるコンピュータシステム20を示すブロック図である。コンピュータシステム20は、複数のコンピューティングデバイスの形態または単一のコンピューティングデバイスの形態、例えば、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピュータ、サーバ、メインフレーム、埋め込み型デバイス、およびコンピューティングデバイスの他の形態、であってもよい。
【0042】
示すように、コンピュータシステム20は、中央演算処理装置(Central Processing Unit:CPU)21、システムメモリ22、および、中央演算処理装置21に関連するメモリを含む種々のシステムコンポーネントを接続しているシステムバス23を含む。システムバス23は、バスメモリまたはバスメモリコントローラ、周辺バス、および任意の他のバスアーキテクチャと相互作用することが可能なローカルバスを含んでもよい。バスの例としては、PCI、ISA、PCI-Express、HyperTransport(商標)、InfiniBand(商標)、シリアルATA、I
2C、およびその他の好適なインターコネクトなどを挙げてよい。中央演算処理装置21(プロセッサとも称される)は、単一または複数のコアを有する単一または複数のプロセッサのセットを含んでもよい。プロセッサ21は、本開示の技術を実装している1つまたは複数のコンピュータ実行可能コードを実行してもよい。例えば、
図1から4において論じた任意のコマンド/ステップは、プロセッサ21によって実施されてよい。システムメモリ22は、本明細書で用いられるデータおよび/またはプロセッサ21によって実行可能なコンピュータプログラムを記憶する任意のメモリであってよい。システムメモリ22としては、ランダムアクセスメモリ(Random Access Memory:RAM)25などの揮発性メモリ、および読み取り専用メモリ(Read Only Memory:ROM)24、フラッシュメモリなどの不揮発性メモリ、またはこれらの任意の組み合わせを挙げてもよい。基本入出力システム(Basic Input/Output System:BIOS)26は、例えば、ROM24を使用してオペレーティングシステムをロードするときなど、コンピュータシステム20の各要素間の情報の伝送のための基本手順を記憶していてもよい。
【0043】
コンピュータシステム20は、1つまたは複数の取り外し可能記憶デバイス27、1つまたは複数の非取り外し可能記憶デバイス28、またはこれらの組み合わせなどの1つまたは複数の記憶デバイスを含んでもよい。1つまたは複数の取り外し可能記憶デバイス27、および非取り外し可能記憶デバイス28は、記憶インターフェース32を介してシステムバス23に接続される。一態様では、記憶デバイスおよび対応するコンピュータ可読記憶媒体は、コンピュータシステム20のコンピュータ命令、データ構造、プログラムモジュール、および他のデータの記憶装置向けの電力独立型モジュールである。システムメモリ22、取り外し可能記憶デバイス27、および非取り外し可能記憶デバイス28は、種々のコンピュータ可読記憶媒体を使用してもよい。コンピュータ可読記憶媒体の例としては、例えば、キャッシュ、SRAM、DRAM、ゼロ・コンデンサRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM(登録商標)、SONOS、PRAMなどのマシンメモリ、ソリッドステートドライブ(Solid State Drive:SSD)またはフラッシュドライブのようなフラッシュメモリまたはその他のメモリ技術、ハードディスクドライブまたはフロッピー(登録商標)ディスクのような磁気カセット、磁気テープおよび磁気ディスク記憶装置、コンパクトディスク(Compact Disk Read Only Memory:CD-ROM)またはデジタル多用途ディスク(Digital Versatile Disk:DVD)のような光記憶装置、および所望のデータを記憶するために使用することができ、かつコンピュータシステム20によってアクセス可能な任意の他の媒体などが挙げられる。
【0044】
コンピュータシステム20のシステムメモリ22、取り外し可能記憶デバイス27、および非取り外し可能記憶デバイス28は、オペレーティングシステム35、追加のプログラムアプリケーション37、他のプログラムモジュール38およびプログラムデータ39を記憶するために使用されてよい。コンピュータシステム20は、例えば、キーボード、マウス、スタイラス、ゲームコントローラ、音声入力デバイス、タッチ入力デバイスなどの、入力デバイス40からのデータを通信するための周辺インターフェース46、または、例えばシリアルポート、パラレルポート、ユニバーサルシリアルバス(Universal Serial Bus:USB)または他の周辺インターフェースなどの1つまたは複数のI/Oポートを介した、プリンタまたはスキャナなどの他の周辺デバイスを含んでもよい。例えば1つまたは複数のモニタ、プロジェクタまたは統合ディスプレイなどのディスプレイデバイス47は、例えばビデオアダプタなどの出力インターフェース48を通してシステムバス23に接続されてもよい。ディスプレイデバイス47に加えて、コンピュータシステム20は、例えばスピーカおよび他の音響映像デバイスなどの他の周辺出力デバイス(図示せず)を搭載してもよい。
【0045】
コンピュータシステム20は、1つまたは複数のリモートコンピュータ49へのネットワーク接続を使用して、ネットワーク環境で動作してよい。リモートコンピュータ(1つまたは複数)49は、コンピュータシステム20の性質について記載されている上述の各要素のほとんどまたは全てを含む、ローカルコンピュータ・ワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノードなどのその他のデバイスが、コンピュータネットワーク内に存在する場合があるが、これらに限定されない。コンピュータシステム20は、ローカルエリアコンピュータネットワーク(Local-Area computer Network:LAN)50、広域コンピュータネットワーク(Wide-Area computer Network:WAN)、イントラネットおよびインターネットなどの1つまたは複数のネットワークを介して、リモートコンピュータ49と通信するための1つまたは複数のネットワークインターフェース51またはネットワークアダプタを含んでもよい。ネットワークインターフェース51の例としては、イーサネット(登録商標)インターフェース、フレームリレーインターフェース、SONETインターフェースおよび無線インターフェースを挙げてもよい。
【0046】
本開示の態様は、システム、方法、および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体(またはメディア)を含んでもよい。
【0047】
コンピュータ可読記憶媒体は、命令またはデータ構造の形態でプログラムコードを保持し、記憶することができる有形デバイスであってもよく、コンピュータシステム20などのコンピューティングデバイスのプロセッサによってアクセス可能なものである。コンピュータ可読記憶媒体は、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の好適な組み合わせであってもよい。例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、EEPROM、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、フラッシュメモリ、ハードディスク、ポータブルコンピュータ・ディスケット、メモリースティック、フロッピーディスク、あるいは、例えば命令がそこに溝状に記録されたパンチカードまたは隆起した構造などの機械的にコード化されたデバイスが挙げられる。本明細書で使用する場合、コンピュータ可読記憶媒体とは、それ自体が、例えば、電波またはその他の自ら伝搬する電磁波、導波管または伝送媒体を通して伝搬する電磁波、あるいは有線によって伝送される電気信号などの一時的な信号であると、解釈されるものではない。
【0048】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から対応するコンピューティングデバイスに、あるいは、例えば、インターネット、ローカルエリアネットワーク、広域ネットワークおよび/または無線ネットワークなどのネットワークを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含んでもよい。各コンピューティングデバイスのネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、対応するコンピューティングデバイス内部のコンピュータ可読記憶媒体の記憶領域に、コンピュータ可読プログラム命令を転送する。
【0049】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、組み立て命令、命令セットアーキテクチャ(Instruction-Set-Architecture:ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステート設定データ、あるいはソースコードまたはオブジェクトコードであってもよく、これらの命令は、オブジェクト指向プログラミング言語、および従来の手続き型プログラミング言語などの、1つまたは複数のプログラミング言語の任意の組み合わせで書き込まれる。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、部分的にユーザコンピュータと部分的にリモートコンピュータとで、あるいは全面的にリモートコンピュータまたはサーバで、実行されてよい。後半のシナリオでは、リモートコンピュータは、LANまたはWANなどの任意のタイプのネットワークを通してユーザのコンピュータに接続されているか、または、接続は、外部コンピュータに対して(例えば、インターネットを通して)構築されてもよい。一部の実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)またはプログラマブル・ロジックアレイ(Programmable Logic Array:PLA)などの電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行し、電子回路をパーソナライズしてもよい。
【0050】
種々の態様では、本開示に記載されるシステムおよび方法は、モジュールとして扱われる場合がある。本発明で使用する場合、用語「モジュール」は、ハードウェアを使用して、例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)またはFPGAによって、あるいは、ハードウェアとソフトウェアとの組み合わせとして、例えば、(実行中に)マイクロプロセッサシステムを特殊目的デバイスに変換するマイクロプロセッサシステムおよびモジュールの機能性を実装するための命令のセットによって、実装される実世界デバイス、コンポーネント、またはコンポーネントの機構を意味する。モジュールはまた、単独でハードウェアによって促進される特定の機能と、ハードウェアとソフトウェアとの組み合わせによって促進される他の機能との、2つの組み合わせとして実装されてもよい。特定の実装形態では、少なくとも一部、および場合によっては、全てのモジュールは、コンピュータシステムのプロセッサで実行されてよい。したがって、各モジュールは、様々な好適な構成で実現される可能性があり、本明細書に例示されるいずれの特定の実装にも限定されるべきではない。
【0051】
説明の明瞭さのために、態様の決まりきった特徴の全てを本明細書に開示してはいない。本開示のいずれかの実際の実装形態を開発する際に、開発者の特定の目的の達成のために、非常に多くの実装形態固有の決定が行われる必要があり、これらの特定の目的は、異なる実装形態および異なる開発者によって変化されることを理解されるであろう。このような開発作業は、複雑であり、かつ時間がかかる可能性があるが、それでも本開示の効果を用いる当業者にとって、そのような作業は、日常的技術的業務であるものと理解される。
【0052】
さらに、本明細書で用いる表現や用語は説明上のものであって、限定されることを意図しておらず、本明細書の用語や表現は、当業者の知見と組み合わされて、本明細書で提示する教示および指導に照らして当業者によって解釈されるものと理解すべきである。加えて、明示的な記載がない限り、本明細書または特許請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものと見なされることを意図していない。
【0053】
本明細書に開示される様々な態様は、例として本明細書で言及される公知のモジュールの、現在および将来における均等物を包括する。さらに、態様および応用例を示し、かつ説明したが、本明細書に開示された発明の概念から逸脱することなく、上記よりも多くの変更が可能であることは、本開示の利益を用いる当業者には明らかであろう。