(57)【要約】ストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストが、セキュリティツールから受け取られる。アプリケーションプログラミングインターフェース（ＡＰＩ）は、セキュアストレージオペレーションの組を可能にするストレージデバイスのセキュアストレージ機能とインターフェース接続するために使用される。セキュリティオペレーションは、少なくとも部分的にリクエストに基づき、データ記録に伴ってストレージデバイスで実行されるよう引き起こされる。一態様において、セキュアストレージオペレーションの組は、直接読み出しオペレーション、直接書き込みオペレーション、コピーオンライトオペレーション、及びセーブ試行書き込みオペレーションを含むことができる。
2015531948.tif 000002
【特許請求の範囲】
【請求項１】
命令を記憶する少なくとも１つの機械アクセス可能な記憶媒体であって、
前記命令は、機械で実行される場合に、該機械に、
ストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取らせ、
セキュアストレージオペレーションの組を可能にする前記ストレージデバイスのセキュアストレージ機能とインターフェース接続するためにアプリケーションプログラミングインターフェース（ＡＰＩ）を使用させ、
少なくとも部分的に前記リクエストに基づき、前記データ記録に伴って生じる前記ストレージデバイスで実行されるべきセキュリティオペレーションを引き起こさせる、
記憶媒体。
【請求項２】
前記ＡＰＩは、ホストベースのセキュアストレージ機能、チップセットベースのセキュアストレージ機能、及びファームウェアベースのセキュアストレージ機能の夫々に共通するセキュアストレージ機能の組を助ける、
請求項１に記載の記憶媒体。
【請求項３】
前記セキュアストレージオペレーションの組は、直接読み出しオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項４】
前記セキュリティオペレーションは、前記データ記録からの特定のデータ記録の直接読み出しを含み、
前記命令は更に、前記機械に、前記直接読み出しを通じて取得された前記特定のデータ記録の内容をセキュリティツールへ伝えさせ、
前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録を直接書き込みオペレーションを通じて書き換えることを含む、
請求項３に記載の記憶媒体。
【請求項５】
前記セキュアストレージオペレーションの組は、直接書き込みオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項６】
前記セキュアストレージオペレーションの組は、コピーオンライトオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項７】
前記セキュリティオペレーションは、コピーオンライトオペレーションを含み、
前記実行されるべきセキュリティオペレーションを引き起こすことは、
前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、
前記試みられる書き込みオペレーションを許可する前に、１又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップへコピーすることと
を含む、
請求項６に記載の記憶媒体。
【請求項８】
前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションの後に、書き込まれるべき前記特定のデータ記録のデータを前記コピーオンライト・バックアップのデータにより置き換えることで、前記特定のデータ記録を修正することを含む、
請求項７に記載の記憶媒体。
【請求項９】
前記書き込まれるべき特定のデータ記録のデータは、直接書き込みオペレーションを通じて前記コピーオンライト・バックアップのデータにより置き換えられる、
請求項８に記載の記憶媒体。
【請求項１０】
前記セキュアストレージオペレーションの組は、セーブ試行書き込みオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項１１】
前記セキュリティオペレーションは、セーブ試行書き込みオペレーションを含み、
前記リクエストは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別するために使用され、
前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録に対する前記試みられる書き込みオペレーションを許可せずに、代わりに該書き込みオペレーションをセーブ試行書き込み（ＳＡＷ）記録に対して実行することで、前記試みられる書き込みオペレーションをセーブすることを含む、
請求項１０に記載の記憶媒体。
【請求項１２】
前記実行されるべきセキュリティオペレーションを引き起こすことは、書き込まれるべき前記ＳＡＷ記録の内容を組み込む疑似データ読み出しにより前記特定のデータ記録のリードバックリクエストに対して応答を生成することを含む、
請求項１１に記載の記憶媒体。
【請求項１３】
前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションをセーブした後に該試みられる書き込みオペレーションを許可することと、前記試みられる書き込みオペレーションを許可するために前記ＳＡＷ記録の内容を使用することとを含む、
請求項１１に記載の記憶媒体。
【請求項１４】
前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項１５】
前記セキュアストレージオペレーションの組は、データ範囲ロックダウンオペレーションを含む、
請求項１に記載の記憶媒体。
【請求項１６】
前記命令は、前記機械で実行される場合に、更に、該機械に、前記ＡＰＩにより前記ストレージデバイスから、前記セキュリティオペレーションの結果を記述するフィードバックデータを受け取らせる、
請求項１に記載の記憶媒体。
【請求項１７】
前記フィードバックデータは、コールバックに含まれる、
請求項１６に記載の記憶媒体。
【請求項１８】
前記フィードバックデータは、前記ストレージデバイスによって生成されるログに含まれる、
請求項１６に記載の記憶媒体。
【請求項１９】
ストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取るステップと、
セキュアストレージオペレーションの組を可能にする前記ストレージデバイスのセキュアストレージ機能とインターフェース接続するためにＡＰＩを使用するステップと、
少なくとも部分的に前記リクエストに基づき、前記データ記録に伴って生じる前記ストレージデバイスで実行されるべきセキュリティオペレーションを引き起こすステップと
を有する方法。
【請求項２０】
プロセッサデバイスと、
ストレージデバイスの記録時にセキュアストレージオペレーションの組を実行するロジックを含むセキュアストレージ対応のストレージデバイスと、
前記プロセッサデバイスによって実行される場合に、
前記セキュアストレージ対応のストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取り、
少なくとも部分的に前記リクエストに基づき、前記データ記録に伴って生じる前記ストレージデバイスで実行されるべき前記セキュアストレージオペレーションの組内のセキュリティオペレーションを引き起こす
ディスクアクセスセキュリティエージェントと
を有するシステム。
【請求項２１】
前記セキュアストレージオペレーションの組は、直接読み出しオペレーション、直接書き込みオペレーション、書き込み許可オペレーション、及び書き込みブロックオペレーションを含む、
請求項２０に記載のシステム。
【請求項２２】
前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーション及び疑似書き込み成功オペレーションを更に含む、
請求項２１に記載のシステム。
【請求項２３】
前記セキュアストレージオペレーションの組は、
前記ストレージデバイスの前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、
前記試みられる書き込みオペレーションを許可する前に、１又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップ記録にコピーすることと
を含むコピーオンライトオペレーションを更に含む、
請求項２１に記載のシステム。
【請求項２４】
前記セキュアストレージオペレーションの組は、
前記ストレージデバイスの特定のデータ記録の試みられる書き込みを識別することと、
前記特定のデータ記録に対する前記試みられる書き込みを許可せずに、代わりに該書き込みをセーブ試行書き込み（ＳＡＷ）記録に対して実行することで、前記試みられる書き込みをセーブすることと
を含むセーブ試行書き込みオペレーションを更に含む、
請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、コンピュータセキュリティの分野に係り、特に、マルウェアの検出及び修正に係る。
【背景技術】
【０００２】
ストレージは、コンピューティングシステムにおける重要なリソースである。コンピューティングシステムのストレージデバイスは、アプリケーションファイル及びデータのためだけでなく、重要なオペレーティングシステムファイルと、幾つかある例の中でも特に、細心の注意を払うべき個人データを含む重要な高価値のデータとのためのリポジトリであることができる。ルートキット、ウィルス、及び他のマルウェア攻撃は、例えばストレージデバイスのブートローダ（例えば、マスタブートレコード（master  boot  record）（ＭＢＲ））、ファイルシステム、ディスク領域等のストレージデバイスを標的にすることが知られている。そのような不正プログラムの例には、とりわけ、ＴＤＬ４、Ｔｒｏｊａｎ．Ｍｅｂｒｏｏｔ、Ｐｏｐｕｒｅｂ．Ｅ、Ｍａｘ＋＋が含まれる。そのような不正プログラムは、幾つかある例の中でも特に、それらの永続の余地を生み出し、個人的なファイルシステム又はストレージパーティションを作成し、データ窃盗、データ漏出及びデータ損失を犯すようシステムストレージを操作することができる。
【図面の簡単な説明】
【０００３】
【図１】例となるディスクアクセスセキュリティエージェントを含むシステムの例の簡略図である。
【０００４】
【図２】例となるストレージデバイスを含むシステムの例の略ブロック図である。
【０００５】
【図３】例となるディスクアクセスセキュリティエージェント及びコモンＡＰＩを含むシステムの例の態様を表す略ブロック図である。
【０００６】
【図４】例となるディスクアクセスセキュリティエージェントと、例となるセキュアストレージ対応ストレージデバイスとの間のインタラクションを表す略ブロック図である。
【０００７】
【図５Ａ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【図５Ｂ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【０００８】
【図６Ａ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【図６Ｂ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【図６Ｃ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【０００９】
【図７Ａ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【図７Ｂ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【図７Ｃ】例となるセキュアストレージオペレーションを表す略ブロック図である。
【００１０】
【図８Ａ】例となるセキュアストレージ対応ストレージデバイスにおけるデータ記録の簡易表現である。
【図８Ｂ】例となるセキュアストレージ対応ストレージデバイスにおけるデータ記録の簡易表現である。
【００１１】
【図９Ａ】例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
【図９Ｂ】例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
【図９Ｃ】例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
【図９Ｄ】例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
【図９Ｅ】例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
【００１２】
【図１０】一実施形態に従うプロセッサの例のブロック図である。
【００１３】
【図１１】一実施形態に従うモバイルデバイスシステムの例のブロック図である。
【００１４】
【図１２】一実施形態に従うコンピューティングシステムの例のブロック図である。
【００１５】
種々の図面における同じ参照番号及び記号表示は、同じ要素を表す。
【発明を実施するための形態】
【００１６】
図１は、例えば、コンピューティングデバイス１０５によって利用される１又はそれ以上のストレージデバイス（例えば、１１０）とインターフェース接続するか又はそれを制御することができるディスクアクセスセキュリティエージェント１１５を備えるコンピューティングデバイス１０５を含むシステム１００を例示する。ディスクアクセスセキュリティエージェント１１５は、幾つかの実施において、システムソフトウェアスタックの最下層にまで及ぶ特殊化したセキュアストレージ機能を提供するようストレージデバイスレベル（例えば、１１０）で利用可能なオペレーション及びロジックを制御することができる。ディスクアクセスセキュリティエージェント１１５は、１又はそれ以上のＡＰＩ（例えば、１２０）を通じて、セキュアストレージ対応ストレージデバイス（例えば、１１０）において提供される機能とインターフェース接続することができる。一例において、ディスクアクセスセキュリティエージェント１１５は、可能性がある例の中でも特に、単一のコモンＡＰＩ１２０を通じて複数のセキュアストレージ対応ストレージデバイスと潜在的にインターフェース接続するよう構成され得る。
【００１７】
幾つかの実施において、ディスクアクセスセキュリティエージェント１１５は更に、高度なセキュリティ評価及びポリシー管理サービスを提供するセキュリティツールの組を含むセキュリティ管理ツール（例えば、１２５）とインターフェース接続することができる。そのようなセキュリティツール（例えば、１２５）は、例えば、とりわけ、ホスト侵入防止システム、アンチマルウェア検出及び修正ツール、データアクセス制御及び保護を含むことができる。更に、様々なセキュリティポリシー（例えば、１３０）が、セキュアストレージ対応ストレージデバイス（例えば、１１０）での様々なストレージ又はディスクレベルのオペレーションのディスクアクセスセキュリティエージェント１１５のインタラクション及び制御を導くよう外部（例えば、遠隔及び／又は第三者）のセキュリティ管理ツール（及びコンピューティングデバイス１０５に存在するセキュリティツール）を通じて定義及び管理され得る。
【００１８】
一例となる実施において、ディスクアクセスセキュリティエージェント１１５は、１又はそれ以上のプロセッサ１３２及び１又はそれ以上メモリ要素１３４と、例えば、ストレージデバイス（例えば、１１０）とのディスクアクセスセキュリティエージェントのインタラクションに関連して、様々な機能を提供する１又はそれ以上のコンポーネントとを含むことができる。幾つかの例において、そのようなコンポーネントは、可能性がある多くの他の例の中でも特に、属性エンジン１３６、アクセス決定エンジン１３８、ポリシーマネージャ１４０、インテリジェンスエンジン１４２、自己防衛エンジン１４４、早期又はオフライン検出エンジン１４６を含むことができる。一例となる実施において、属性エンジン１３６は、とりわけ、ストレージデバイス１１０でのモニタされた読み出し／書き込みの試みを通じて検出された情報から特定の読み出し／書き込みの試みの出所を識別するための機能及びロジックを有することができる。ディスクアクセスセキュリティエージェント１１５は、幾つかの事例において、例えば、ストレージデバイスでの様々な読み出し／書き込みの試みに応答して（例えば、属性エンジン１３６を用いた特定の読み出し／書き込みの試みの出所の識別に基づき）ストレージデバイス１１０で取られるべき動作を決定するためのロジック及び機能を有するアクセス決定エンジン１３８を更に含むことができる。先と同じく、モニタされる読み出し／書き込みの試みを記述する情報は、ストレージデバイス１１０又はソフトウェアスタックのより高い層で収集されてよく、この情報はディスクアクセスセキュリティエージェント１１５へ提供され、例えば、例となるアクセス決定エンジン１３８によって、読み出し／書き込みの試みが適法であるか、望ましいか、又は信頼できるものであるか、それとも、幾つかの事例において、ブロックされるか、更に解析されるか、又は別なふうに修正されるべき未知の又は信頼できない読み出し／書き込みの試みであるかを決定するために利用され得る。
【００１９】
ディスクアクセスセキュリティエージェント１１５は、幾つかの例において、例えばポリシーマネージャ１４０等の更なるコンポーネントを更に含むことができる。例となるポリシーマネージャ１４０は、ディスクアクセスセキュリティエージェント１１５が（例えば、コモンＡＰＩ１２０を通じて）インターフェース接続するディスク（例えば、ストレージデバイス１１０）の読み出し／書き込みの試みに対して、例えば、１又はそれ以上のセキュリティ管理ツール１２５を介してディスクアクセスセキュリティエージェント１１５にセーブされるポリシー１３０等のポリシーを受信、更新、及び適用するための機能を含むことができる。関連して、インテリジェンスエンジン１４２は、とりわけ、コンピューティングデバイス１０５の属性、インストールされているアプリケーション、ハードウェア設定、ネットワーク設定、既知の脅威及び脆弱性に関する情報を発見する１又はそれ以上のセキュリティツール１２５からインテリジェンスを収集するために、ディスクアクセスセキュリティエージェント１１５の幾つかの実施において設けられ得る。例となるインテリジェンスエンジンを通じて及び／又は例となるポリシーマネージャを通じて（例えば、他の同様のコンピューティングデバイス、オペレーティングシステム、アプリケーション等のモニタリングから収集されたインテリジェンスに基づき）収集されたインテリジェンスは、ストレージデバイス１１０（又は“ディスク”）のアクティビティに関するディスクアクセスセキュリティエージェント１１５の決定、命令、及び制御を（例えば、アクセス決定エンジン１３８を用いて）通知するために使用され得る。更なるコンポーネントは、例えば、とりわけ、ディスクアクセスセキュリティエージェントによって利用されるファイル及びデータ並びに／又はコンピューティングデバイスによって使用される他のセキュリティ関連ツール及びアプリケーションを保護するためにストレージデバイス１１０の機能を利用する際に使用される自己防衛モジュール１４４を含むことができる。
【００２０】
幾つかの実施において、ストレージデバイス１１０は、基本的なストレージ管理及びデータ読み出し／書き込みオペレーションを実行するためのロジックを有して構成され得る。更に、セキュアストレージ対応ストレージデバイス（例えば、１１０）は更に、幾つかの場合に、様々なセキュアストレージタスクを実現するよう、ディスクアクセスセキュリティエージェント１１５とともに、機能を実行する機能性を有して構成され得る。ストレージデバイス１１０は、１又はそれ以上のプロセッサデバイス１４８と、１又はそれ以上のメモリ要素１５０と、様々なセキュアストレージ機能を実行するための機能を提供する１又はそれ以上のコンポーネントとを含むことができる（あるいは、それらとともに利用され得る）。ストレージデバイス１１０は、様々なデータ１７０及びバックアップデータ１７５のためのリポジトリであることができる。幾つかの例において、ストレージデバイス１１０は、とりわけ、オペレーティングシステムファイル、ローカルセキュリティツールファイル、マスタブートレコード（ＭＢＲ）、ボリュームブートレコード（volume  boot  record）（ＶＢＲ）を含む細心の注意を払うべきデータを記憶することができる。
【００２１】
セキュアストレージ対応ストレージデバイス（例えば、１１０）は、例えば、ストレージデバイスがディスクスタックファイルシステムをバイパスし、ストレージデバイス上のデータ記録から直接読み出すことを可能にする直接的な又は信頼できる読み出し機能を有効にするロジック１５２のような、ロバストなストレージデバイスのオペレーション及びチェックを可能にすることができるロジックを含むことができる。同様に、例となるストレージデバイスは、そのデータに対して直接的な信頼できる書き込みを実行するためのロジック１５６を有することができる。幾つかの実施において、ストレージデバイスは、例えばストレージデバイスの特定の領域等のストレージデバイスデータの読み出し、書き込み、及び他のアクセスの試みをブロックすること又は許可しないこと及び変更することといった基本的なデータアクセス制御オペレーションを実行するためのロジック１５４を有することができる。実際に、ストレージデバイスは、セキュアストレージのためのディスクの部分を定義及び初期化するための機能（例えば、セキュアストレージロジック１５８）を有することができ、そして、ディスクを管理するための機能（例えば、ディスク管理ロジック１６４）を更に有することができる。関連して、例となるストレージデバイスは、暗号化されたセキュアボールト（secure  vault）１８０のセクションとしてメモリのセクションを定義及びリザーブするためのロジックを有することができる。
【００２２】
更に、幾つかの例において、ストレージデバイスは、１又はそれ以上のデータ記録を上書きする試みに応答して１又はそれ以上のデータ記録のバックアップコピーを自動生成するコピーオンライト（copy  on  write）（ＣＯＷ）オペレーションを実行するためのロジック１６０を有して構成され得る。例となるストレージデバイスは更に、例えば、書き込みの試みが実際の標的データ記録を上書きするのを許可する代わりに、特定の書き込みの試みをコピーし、その書き込みの試みをバックアップメモリにセーブする他のバックアップコピーを生成するためのロジック１６２（例えば、セーブ試行書き込み（save  attempted  write）（ＳＡＷ）オペレーション）を有して構成され得る。更に、ストレージデバイスは、例えば、ＬＢＡロック等を通じて、特定の記録をロックするためのロジック１６６を設けられ得る。セキュアストレージ対応ストレージデバイス（例えば、１１０）の更なる特徴及び機能は、とりわけ、擬似データ読み出しを実行するためのロジック、特定の書き込み又は読み出しの試みをブロックするためのロジック、擬似書き込み成功を返すためのロジックを含むことができる。
【００２３】
一般に、例となるコンピューティング環境１００におけるシステムデバイスを含む“サーバ”、“クライアント”、“クライアントデバイス”、“コンピューティングデバイス”、“ネットワーク要素”、“ホスト”、“システムタイプのシステムエンティティ”、“ストレージデバイス”及び“システム”は、コンピューティング環境１００に関連したデータ及び情報を受信、送信、処理、記憶又は管理するよう動作可能な電子コンピューティングデバイスを含むことができる。本明細書において使用されるように、語“コンピュータ”、“プロセッサ”、“プロセッサデバイス”又は“プロセッシングデバイス”は、あらゆる適切なプロセッシングデバイスを包含するよう意図される。例えば、コンピューティング環境１００内で単一のデバイスとして示される要素は、複数のサーバコンピュータを含むサーバプールのような、複数のコンピューティングデバイス及びプロセッサを用いて実施されてよい。更に、コンピューティングデバイスのいずれか、全て、又は一部は、Ｌｉｎｕｘ（登録商標）、ＵＮＩＸ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ａｐｐｌｅ  ＯＳ、Ａｐｐｌｅ  ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ  Ａｎｄｒｏｉｄ（登録商標）、Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ等と、カスタマイズされた独自仕様のオペレーティングシステムを含む特定のオペレーティングシステムの実行を仮想化するよう構成される仮想マシンとを含むあらゆるオペレーティングシステムを実行するよう構成されてよい。
【００２４】
更に、サーバ、クライアントデバイス、ネットワーク要素、システム、及びコンピューティングデバイスは夫々、幾つかある機能及びハードウェアの中でも特に、１又はそれ以上のプロセッサ、コンピュータ可読メモリ、及び１又はそれ以上のインターフェースを含むことができる。サーバは、分散型の、企業向けの、又はクラウドベースのソフトウェアアプリケーション、データ及びサービスを含むソフトウェアアプリケーション及びサービスを主催及び／又は提供することができるあらゆる適切なソフトウェアコンポーネント若しくはモジュール、又はコンピューティングデバイスを含むことができる。例えば、幾つかの実施において、セキュリティ管理ツールは、システム１００における他のサービス及びデバイスとインターフェース接続し若しくは協調する、又はそれらに依存する、又はそれらによって使用されるデータ、ソフトウェアサービス及びアプリケーションを遠隔で主催、提供、又は別なふうに管理するよう構成されたクラウド実装のコンピューティングシステムで実施され得る。幾つかの事例において、サーバ、システム、サブシステム、又はコンピューティングデバイスは、共通のコンピューティングシステム、サーバ、サーバプール、又はクラウドコンピューティング環境において提供され、共有されたメモリ、プロセッサ及びインターフェースを含むコンピューティングリソースを共有することができるデバイスの何らかの組み合わせとして実施され得る。
【００２５】
コンピューティングデバイスは、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、パーソナルデジタルアシスタント、フィーチャーフォン、携帯型ビデオゲーム機、デスクトップコンピュータ、インターネット対応テレビ受信機、並びに人間ユーザと対話するよう設計され且つ１又はそれ以上のネットワーク上で他のデバイスと通信可能な他のデバイスを含む従来のモバイルコンピューティングデバイスを含むことができる。コンピュータ支援の、すなわち“スマート”機器は、コンピュータプロセッサを含み且つコンピュータプロセッサ、他のハードウェア及び／又はコンピュータプロセッサによって実行される１以上のソフトウェアプログラムによってデバイスの機能性を制御され、モニタされ、支援され、補完され、又は別なふうに強化する家庭用及び産業用のデバイス及びマシンを含むことができる。コンピュータ支援機器は、冷蔵庫、洗濯機、自動車、ＨＶＡＣシステム、産業用機械、オーブン、セキュリティシステム、及び同様のものを含む広範なコンピュータ支援のマシン及び製品を含むことができる。
【００２６】
幾つかのコンピューティングデバイスは、アプリケーション管理サーバサービス及び他のアプリケーション等に関連するグラフィカルユーザインターフェースと、システムデバイス内で提供されるアプリケーションと相互作用するプログラムのユーザインターフェース及びグラフィカル表現とを含む、システム１００で提供されるアプリケーション及び他のプログラムのグラフィカルユーザインターフェースをユーザが見てそれと対話することを可能にする、システムデバイスのコンピュータプロセッサによってサポートされる少なくとも１つのグラフィカルディスプレイデバイス及びユーザインターフェースを更に含むことができる。加えて、システムデバイスは、１人のユーザによって使用される観点で記載されることがあるが、本開示は、複数のユーザが１台のコンピュータを使用することができること、又は１人のユーザが複数のコンピュータを使用することができることを考える。
【００２７】
図１は、複数の要素を含むよう、又は複数の要素に関連するよう記載されるが、図１のコンピューティング環境１００内に表される全ての要素が本開示の夫々の代替実施で利用されなくてよい。加えて、図１の例に関連して記載される要素のうちの１又はそれ以上は、コンピューティング環境１００の外に位置してよく、一方、他の事例では、特定の要素は、他の記載される要素及び図示されている実施において記載されていない他の要素のうちの１又はそれ以上の中に又はその部分として含まれてよい。更に、図１に表されている特定の要素は、他のコンポーネントと組み合わされ、且つ、ここで記載される目的に加えて代替の又は更なる目的のために使用されてよい。
【００２８】
これより、図２の略ブロック図を参照すると、コンピューティングデバイスのサブシステムの例が表されており、デバイスの様々なストレージ機能を管理することに関与する要素を含む。デバイスのユーザモード２０５においては、従来のアプリケーション２１０、ディスクユーティリティ、セキュリティソフトウェア、等（２１５，２２０）が提供され得る。デバイスのカーネルモード２２５は、ファイルシステム２３０、ボリュームマネージャ２３５、パーティションマネージャ２４０、ディスククラスドライバ２４５、及びストレージバスドライバ２５０を含むことができる。最新のマルウェアは、スタックの最下層にあるストレージバスドライバ２５０及び他の要素を含むカーネルモード２２５の夫々のレベル（例えば、２３０、２３５、２４０、２４５、２５０）を不当に利用することが知られている。あいにく、従来のディスクアクセス制御及びセキュリティツールは、ストレージバスドライバレベルで保護しない。前述のシステム１００の例の原理を適用する実施は、従来のディスクアクセス制御システムの欠点及び課題の幾つかに対処することができる。
【００２９】
これより、図３の例を参照すると、コモンＡＰＩ１２０を用いるチップセットベースのストレージデバイス（例えば、３２５）、ホストベースのストレージデバイス（例えば、３３０）、及びソリッドステートドライブ（solid  state  drive）（ＳＳＤ）デバイス（例えば、３３５）を含む、ソフトウェアスタックの様々なレベルにある様々なストレージデバイス（例えば、３２５、３３０、３３５）とインターフェース接続するディスクアクセスセキュリティエージェント１１５の略ブロック図が、示されている。ディスクアクセスセキュリティエージェント１１５は、ストレージポート（又はストレージバス）ドライバレベルを含むセキュアストレージ対応ストレージデバイス（例えば、３２５、３３０、３３５）で利用可能なセキュアストレージ機能に関連して利用され得る。例えば、ホストベースのセキュアストレージは、ソフトウェアスタックの最低レベルで、例えば、ＲＳＴドライバ又はコントローラドライバにおいて、提供され得る。ホストベースのセキュアストレージは、複数のハードディスク及びストレージデバイスにわたって潜在的に機能することができる。セキュアストレージは、追加的に、又は代替的に、チップセットレベルで、例えば、デバイス通信バスレベルで、実施され得る。更なる他の例では、そのようなセキュアストレージ機能は、追加的に、又は代替的に、ディスクレベルで、例えば、とりわけ、コンピューティングデバイスのソリッドステートドライブ（ＳＳＤ）のファームウェアにおいて、実施され得る。図３の例では、コモンＡＰＩ１２０は、ディスクアクセスセキュリティエージェント１１５が、ホストベースの、チップセットベースの、及び／又はファームウェアベースのレベルのうちのいずれか１つでストレージセキュリティを制御することを可能にするよう定義され得る。そのようなＡＰＩ１２０は、それら３つのテクノロジの夫々へのインターフェースを抽出し、例えば、コモンＡＰＩにわたってそれらのストレージセキュリティテクノロジにより通信するディスクアクセスセキュリティエージェント１１５の指示で利用され得る共通した機能の組を提供することができる。
【００３０】
統合されたセキュアストレージＡＰＩ、すなわち、コモンＡＰＩ１２０は、セキュアストレージソリューションのホスト、ファームウェア及びチップセットベースの実施の機能性を包含することができる。そのようなＡＰＩ１２０は更に、どのセキュアストレージ対応ストレージデバイスがシステムにおいて利用可能であるかのリスニングを取得するとともに、夫々のデバイスのセキュアストレージ機能（例えば、デバイスがセキュアストレージソリューションのホスト、ファームウェア及び／又はチップセットベースの実施を含むかどうか）を問い合わせるために使用され得る。ＡＰＩは更に、ディスクアクセスセキュリティエージェント１１５が、例えば、個々のデバイスごとの別個のポリシー、例えば、より高度なユーザモードのセキュリティツールによって使用されるポリシーを作成し、適用し、管理することを可能にすることができる。
【００３１】
一例において、ネイティブＡＰＩ３０５ａ、３０５ｂ、３０５ｃは、特定のセキュアストレージ対応ストレージデバイスの特定のセキュアストレージ機能へのインターフェースを提供する。例えば、図３の例では、チップセットベースのストレージデバイス３２５、ホストベースのセキュアストレージ３３０、及びセキュアＳＳＤ３３５の夫々は、対応するネイティブＡＰＩ（夫々、３０５ａ、３０５ｂ、３０５ｃ）を有することができる。コモンＡＰＩ１２０は、目的のセキュアストレージデバイス（例えば、３２５、３３０、３３５）の夫々の対応するネイティブＡＰＩ（例えば、３０５ａ〜ｃ）に適合する命令へのディスクアクセスセキュリティエージェント１１５を通じて又はそれによって受信されたコマンド及び命令のトランスレータとして動作することができる。幾つかの実施において、ディスクアクセスセキュリティエージェント１１５は、直接にネイティブＡＰＩ３０５ａ〜ｃを通じてアクセス及び通信するためのロジックを含むことができる。ディスクアクセスセキュリティエージェント１１５の代替実施は、幾つかの例において、幾つか可能性がある実施の中で特に、コモンＡＰＩ１２０の使用を見送ることができる。ハードウェア及び／又はソフトウェア実装のロジックは、特定のセキュアストレージデバイスへのアクセスを管理することができ、ネイティブＡＰＩ３０５ａ〜ｃは、そのようなロジックへのインターフェースを提供することができる。例えば、チップセットロジック３１０は、１又はそれ以上のストレージデバイス（例えば、３２５）のためにチップセットレベルで実施されるセキュアストレージ機能を提供することができ、ストレージポートドライバ３１５は、１又はそれ以上のストレージデバイス（例えば、３３０）のためにホストレベルで実施されるセキュアストレージ機能を提供するために使用されてよく、ＳＳＤファームウェア３４８（又は代替的にミドルウェア３２０）は、ＳＳＤ３３５を管理することができる。更に、夫々のセキュアストレージロジック３４０、３４５、３５０は、夫々のセキュアストレージデバイスが有効にされるべき特定のセキュアストレージ機能、例えば、読み出し及び書き込みブロック、擬似データ読み出し、擬似書き込み成功、ＣＯＷ、ＳＡＷ、直接読み出し、直接書き込み、及び同様のものを実施するためのロジック、を促進するために提供され得る。
【００３２】
幾つかの例となる実施において、ネイティブ又はカーネルモードのＡＰＩは、例えば、１又はそれ以上のハードウェア及び／又はセキュリティプロバイダによって保持される静的にリンクされたライブラリにおいて提供され得る。ユーザモードのＡＰＩは、幾つかの事例において省略されてよい。ライブラリは、幾つかの事例において、とりわけ、システムの下層階級のフィルタドライバへ静的にリンクされ得る。更に、ＡＰＩ関数定義は、新しいセキュアストレージ機能が開発されるとして時間とともに進化することができ、ネイティブＡＰＩ及びコモンＡＰＩは、そのような付加的な機能をサポートするよう拡張され得る。
【００３３】
コモンＡＰＩの例となる実施は、共通の、統合されたＡＰＩ１２０が、ＡＰＩに適合する機能を含むシステムで利用可能な各ストレージデバイスの管理をサポートするところの多元的な同時のデバイスサポートを提供することができる。ディスクアクセスセキュリティエージェントは、同じコモンＡＰＩを通じて個別に各ストレージデバイスと通信することができる。加えて、幾つかの実施において、複数のセキュアストレージテクノロジは、単一のストレージデバイスに同時に（例えば、ファームウェアベースのセキュアストレージデバイスに対してホストベースのセキュアストレージサポートを通じて）適用され得る。そのような事例では、ディスクアクセスセキュリティエージェントは、所与のストレージデバイスに存在する機能の複合的な上位集合へのアクセスを有してよい。ディスクアクセスセキュリティエージェントの幾つかの実施は、幾つかの代替の実施において見られるようにコモンＡＰＩにおいて複合的な特徴の組を定義するのではなく、幾つかの実施において複合的な特徴の組をクエリし設定するよう構成され得る。そのような管理は、例えば、同じデバイスに存在する潜在的に複数のセキュアボールト（例えば、ホストベースのソリューションのための１のセキュアボールト、ファームウェアベースのソリューションのための１のセキュアボールト、及びチップセットベースのソリューションのための１のセキュアボールト、等）の間のコンフリクトから保護することを含むことができる。
【００３４】
幾つかの実施において、コモンＡＰＩは、ＡＰＩコールが適用される目的のストレージデバイス及び夫々のセキュアストレージテクノロジを識別するために、ハンドル（又は他の識別子）を使用してよい。これは、具体的なデバイスの設定と、コールバックの場合には、ソースデバイスの識別とを可能にすることができる。インストール及びプロビジョニングタスクは、更に、幾つかの例ではユーザモードライブラリを含め、１又はそれ以上のＡＰＩを通じて提供され得る。例えば、システムのストレージデバイスを制御するディスクアクセスセキュリティエージェントにおけるインストーラモジュールは、例えば、ここで記載されるような様々なインストール及びプロビジョニングタスクを実行することができる。例えば、セキュアストレージ対応ストレージデバイスのリストは、そのようなデバイスを見つけるためにクエリされ得る。更に、幾つかの実施において、機能クエリは、適切な単体製品特性をインストールするように、システム上のデバイス（又はハードニングレベル）ごとにセキュアストレージ機能のリストを識別するよう実行され得る。更に、例えば、ネイティブ又はカーネルＡＰＩクエリからの機能リターンに加えて、ストレージデバイスが既にプロビジョニングされているかどうかといった、ストレージデバイスの更なる属性が識別され得る。更に、例となるインストーラモジュールは、例えば、とりわけ、インストールパッケージが、現在インストールされているものよりも新しいバージョンを含む場合に、ディスクアクセスセキュリティエージェント及び／又はディスクアクセスセキュリティエージェントの実施において使用されるクラスフィルタドライバをアップグレードする能力を有することができる。然るに、ディスクアクセスセキュリティエージェントを単体製品と一体化し、ディスクアクセスセキュリティエージェントのアップグレード機能を提供することは、利便性を提供し、ユーザを、とりわけ、ディスクアクセスセキュリティエージェントを手動により更新する付加的なステップから救うことができる。幾つかの実施において、インストーラモジュールは、とりわけ、コマンドライン及びハードコードされたデフォルトにおいて指定される入力値を用いて、ユーザインターフェースによらずに黙って実行する能力を有することができる。
【００３５】
プロビジョニングは、インストールと堅固に一体化され、とりわけ、セキュアボールトのためにストレージデバイスディスク上でリザーブされた空間を割り当てる処理に関係があり得る。加えて、プロビジョニングは、例えば、ストレージデバイスとエージェント又は他のプログラムとの間の通信において使用される暗号化／認証キーの取得を含むことができる。例となるインストーラは、セキュアストレージ機能を利用するあらゆるデバイスにおいて、更には、デバイスで利用されるセキュアストレージ実施（又はハードニングレベル）ごとに、セキュアボールトの生成を開始することができる。これは、ログ、バックアップデータ（例えば、コピーオンライト及びセーブ試行書き込みのためのもの）、暗号化キー、細心の注意を払うべきユーザ／アプリケーションデータ、ホワイトリスト、ブラックリスト、データ損失防止（data  loss  prevention）（ＤＬＰ）データ、ＤＡＴファイルストレージ、等のためのストレージと、ストレージデバイスによって生成され使用されるメタデータのためのセキュアストレージとを生成するのに供することができる。任意に、インストーラは、アプリケーションにより定義されるストレージのための空間を特定してよい。
【００３６】
セキュアボールトの生成は、報告されたディスク容量を再パーティショニング又は縮小することを通じてディスク（すなわち、セキュアストレージ対応ストレージデバイス）を準備することを含むことができる。初期化タスクは、セキュアボールトに対して実行され、例えば、それを複数の使用（ロギング、バックアップ、アプリケーションデータ）のために分割し、潜在的にファイルシステムをインストールすることができる。プロビジョニングは、認証クレデンシャルのプロビジョニングを更に含むことができる。プロビジョニングは、例えば、とりわけ、プロビジョニングサーバがローカルイントラネットで利用可能であるところの幾つかの実施において、インターネット接続によらない環境において可能であることができる。
【００３７】
認証クレデンシャルは、プロビジョニングされ得る。クレデンシャルは、様々なセキュアストレージテクノロジについて異なる方法でプロビジョニングされ得る。例えば、一実施において、ファームウェアベースのセキュアストレージは、ＳＩＧＭＡプロトコル又は他の暗号化技術に依存することができ、一方、ホストベースのセキュアストレージは、ホストベースの暗号化スキームサービスを利用する。デプロビジョニングがまた、例えば、ディスク空間をシステムへ返す前の指定されたセキュアボールトストレージの完全なワイピングを含むよう、インストーラモジュールによって実行され得る。幾つかの実施において、新しいセキュアストレージに対応するストレージデバイスが、初期インストール及びプロビジョニングの後に加えられる場合は、メカニズムは、例えば、幾つかある実施例の中でも特に、ディスクアクセスセキュリティエージェントと通信するユーザモードサービスプロセスを通じて、新しいストレージデバイスをプロビジョニングするために提供され得る。ディスクアクセスセキュリティエージェントは、次いで、ディスクアクセスセキュリティエージェントの正常な初期化プロセスの間に、新たにプロビジョニングされたストレージデバイスを発見することができる。
【００３８】
セキュアボールトは、例えば、幾つかある実施の中でも特に、ログストレージ、バックアップストレージ（“コピーオンライト”及び“セーブ試行書き込み”動作のためのもの）、アプリケーションで定義されるストレージ（例えば、エージェントによって管理されるもの）、ストレージデバイスメタデータのためのセクションのような様々なセクションにより細分され得る多目的のストレージエリアと見なされ得る。幾つかの例において、ストレージデバイスメタデータは、ディスクアクセスセキュリティエージェントから見えないようにされ得る。セキュアボールトのサイズは、プロビジョニング時に指定され得る。特定のセキュアストレージ実施が、ストレージデバイスメタデータのために更なるリザーブされた空間を利用する場合は、それは、セキュアボールトプロビジョニングＡＰＩによって暗黙的に処理され得る。更に、セキュアボールトとの通信は、外部の関係者へのデータの視認性をブロックするように暗号化され得る。同様に、セキュアボールト内の保存データは、暗号化されるか、あるいは、別なふうに、認証されたセキュアチャネルの外の外部の関係者から隠され得る。いくつかの実施において、セキュアボールトを暗号化するのに利用される暗号化キーは、管理され、定期的に、あるいは、セキュアボールト及び／又はその暗号化が何らかの形で危うくされていると決定することに応答して、変更され得る。これは、幾つかの実施において、セキュアボールトデータの解読及び再暗号化を生じさせ得る。ディスクアクセスセキュリティエージェントは、作成時にセキュアボールト再分割（ログ、バックアップ及びアプリケーション定義ストレージ）のサイズ制限と他の設定とを指定する機能を有することができる。幾つかの事例において、セキュアボールトのために指定されるサイズ制限は静的であってよく、一方、他の実施では、セキュアボールトの動的なリサイジングが、例えば、セキュアボールトデータ（バックアップ及びログエントリを含む。）及びポリシーのデプロビジョニング／再分割及び潜在的な損失なしでセキュアボールトの拡張を可能にするよう、促進され得る。更に、幾つかの実施において、セキュアボールトのリザーブされた空間は、例えば、とりわけ、セキュアボールトが完全に不可視であるようにドライブの報告されている容量を低減すること、セキュアボールト空間を別個のパーティションとして表示すること、又はセキュアボールトをファイルシステム内のファイルとして表示することによって、ユーザに示され得る。
【００３９】
更なるステップは、セキュアストレージ機能を用いるストレージデバイスの初期化に関連してディスクアクセスセキュリティエージェントによって実行され得る。例えば、ディスクスタックの部分として、ディスクアクセスセキュリティエージェントは、コモンＡＰＩを使用せずにストレージデバイスの初期化をモニタリングすることができる。機能クエリは、検出されたストレージデバイスのセキュアストレージ実施に対応するバージョン番号等の情報を更に返すことができる。現在のセキュアストレージデバイスの構成は、例えば、起動時に、永続的な設定を試験するために、クエリされ得る。更に、ディスクアクセスセキュリティエージェントは、例えば、ドライブが、例えば、ディスクアクセスセキュリティエージェントが利用不可能であるか又は接続を切られていた間に、使用されているかどうかを決定するために、ストレージデバイスの電力サイクルカウンタをクエリすることができる。幾つかの事例において、ディスクアクセスセキュリティエージェントは、システムがクリーンであることと、如何なる永続的なポリシー設定も未だ有効であることとを確かにするために、インテグリティチェックを実行することができる。更に、幾つかの例において、ディスクアクセスセキュリティエージェントは、とりわけ、コモンＡＰＩに影響を及ぼすポリシー変更、直接読み出しオペレーション、直接書き込みオペレーション、セキュアボールトアクセスを含む、ディスクアクセスセキュリティエージェントが最後に実行されてから後に特定のストレージデバイスとの何らかの予期せぬ通信があったかどうかを検出するために使用され得る。更に、双方向の相互認証が、ディスクアクセスセキュリティエージェントとサポートされるセキュアストレージデバイスとの間でサポートされ得る。
【００４０】
これより、図４の例を参照すると、セキュアストレージ機能を含むシステムの特定の一実施例を表す略ブロック図が、示されている。図４の例において示されているように、ディスクアクセスセキュリティエージェント１１５は、セキュアストレージ対応ストレージデバイスの様々な実施の中のいずれか１つとインターフェース接続することができる。一例において、ディスクアクセスセキュリティエージェント１１５のセキュアストレージ機能４１０は、ディスクアクセスセキュリティエージェント１１５に対応するクラスフィルタドライバ４０５を通じてサポートされるか又は少なくとも部分的に実施され得る。クラスフィルタドライバ４０５は、ディスクアクセスセキュリティエージェント１１５からホストベースのセキュアストレージロジック３４５、ＳＳＤベースのセキュアストレージロジック３５０、等へコマンドを送るために、コモンＡＰＩ１２０と静的にリンクされ得る。同期オペレーションがサポートされ得、例えば、オペレーションは、ＡＰＩリターンよりも前に完了することができ、リターンステータスは、オペレーションの成否を示すことができる。非同期イベント通知へのコールバックが提供され得、ディスクの場所は、幾つかの実施において、例えば、幾つかある実施例の中でも特に、Ｗｉｎｄｏｗｓ（登録商標）（又は他の）ＡＰＩコールを用いて完了されるファイル−ＬＢＡ間マッピング（file  to  LBA  mapping）により、論理ブロックアドレッシング（logical  block  addressing）（ＬＢＡ）において表現され得る。
【００４１】
様々なサービスが、セキュアストレージ対応ストレージデバイス及びディスクアクセスセキュリティエージェントに関連して提供され得る。例えば、深く且つ信頼できるディスクモニタリングは、データアクセス保護とともに、実行され得る。幾つかの実施において、自己防衛及び早期発見機能は、幾つかある機能の中でも特に、ディスクレベルの修正、セキュアストレージ空間のプロビジョンとともに、サポートされ得る。例えば、機能の組は、強化されたシステム保護、検出、及び修正のために有効にされ得る。ストレージブロック及びファイルロックダウンは、例えば、ロックされたディスクブロック（例えば、ＭＢＲ、リカバーＯＳ保護、等）への書き込みの試みを失敗させることで、実現され得る。他の例では、ストレージブロック及びファイルレベルのモニタリングは、協働するディスクアクセスセキュリティエージェントへ（同期して）報告される“見張られている”ディスクブロック及びファイルへの書き込みの試みにより促進され得る。
【００４２】
高度なディスクモニタリング機能はまた、セキュアストレージデバイス及びディスクアクセスセキュリティエージェントの実施に基づき可能にされ得る。例えば、ディスク領域は、“被保護”として定義され、１又はそれ以上の対応するポリシーに従ってモニタリング及びアクセス制御を受けることができる。モニタリングは、読み出しの試み、書き込みの試み、トリム（TRIM）（ＳＳＤ）の試み、等を含む様々なタイプのデータアクセスの試みのモニタリングを含むことができる。更に、セキュアストレージ対応ストレージデバイスによるソフトウェアスタックの最下層でのモニタリングは、インテリジェンスが収集され、そして、帰属、ブラックリスティング及びホワイトリスティング（様々な関係者の歴史的傾向及び帰属結果に基づく。）、ランタイム時の判断実行（例えば、ストレージデバイス上のデータへのアクセスに関する。）、等のような更なる機能及び特徴を可能にするディスクアクセスセキュリティエージェントへコールバックされることを可能にすることができる。更に、ディスクアクセスセキュリティエージェントは、例えば、とりわけ、コピーオンライトオペレーション、セーブ試行読み出しオペレーション、擬似データ読み出しオペレーション、ロギング（例えば、少なくとも部分的にエージェントを用いて解析可能なインテリジェンスを補完するためのもの）のような様々なオペレーションの実行を（例えば、エージェントによって識別される１又はそれ以上の関連ポリシーの実行に従って）トリガするコモンＡＰＩを介して、ストレージデバイスへコマンドを発行することができる。
【００４３】
上記の原理を利用するシステム及びストレージデバイスは、更なる追加機能を示すことができる。例えば、セキュアストレージデバイス及びディスクアクセスセキュリティエージェントの実施は、“常時オン”の保護を提供することができる。例えば、ディスクアクセスセキュリティエージェントがアクティブであるか、又は他のセキュリティ管理サービスとインターフェース接続しているとき、動的且つオンラインのセキュリティポリシー、実時間の判断実行、及び実時間の通知サービスは、ストレージポートドライバレベル又はソフトウェアスタックの最下層での読み出し／書き込みオペレーションをモニタリングするセキュアストレージデバイスによって識別及び伝達された情報に基づき、ディスクアクセスセキュリティエージェントを通じて促進され得る。ディスクアクセスセキュリティエージェント（又はストレージデバイス）がオフラインであるとき、保護は、例えば、ブートローダレベルで直接にストレージデバイスによって（例えば、ブートキット攻撃から保護する、等のために）実行されることが可能な予防、検出、及び修正オペレーションを介してデバイスのブートサイクルにおいて早期に保護を可能にするオフラインポリシーを通じて、依然として提供され得る。オフライン保護は、幾つかの例において、とりわけ、ストレージデバイスが（例えば、ファームウェアベースのセキュアストレージ実施において）他のマシンへ動かされるとき、更に拡張することができる。
【００４４】
ストレージデバイスは、そのディスクコンテンツの真のビューを楽しむことができる。上述されたように、直接読み出しオペレーション及び直接書き込みオペレーションは、例えば、定義されたＡＰＩを介してストレージデバイスとインターフェース接続するディスクアクセスセキュリティエージェントの指示で、ストレージデバイスによって完了され得る。直接読み出しオペレーション及び直接書き込みオペレーションは、例えば、それらがマルウェアを含む他のプログラムによりディスクスタックにおいてブロック若しくは変更されたり又は別なふうに干渉されたりされ得ないので、有用であることができる。そのようなオペレーションは、例えば、とりわけ、修正、インテグリティチェック（例えば、ハッシュ計算）、ファイルデータの高／低比較といったタスクに関して、有用であることができる。
【００４５】
図５Ａ乃至５Ｂの例を参照すると、簡略図は、例えば、例となるディスクアクセスセキュリティエージェントに関連して又はその指示で、セキュアストレージ対応ストレージデバイスを用いて実行され得るオペレーションの例について表されている。例えば、図５Ａの例では、特定のデータ記録又はデータ記録の範囲（例えば、５０５）は、関心があるデータ又はファイルに対応して識別され得る。そのような保護又はモニタリングされる記録は、そのようなデータを保護し且つ例えば例となるディスクアクセスセキュリティエージェントとインターフェース接続する１又はそれ以上のセキュリティツールのオペレーション及びサービスに関連して、決定又は指定され得る。例えば、一例において、不審な挙動が、データ記録の検出範囲に関連して（例えば、属性解析を通じて）検出されることがある。データ記録５０５に関してより知ろうとする試みは、例えば、とりわけ、範囲５０５内のファイルがマルウェアであるかどうかを決定するために、開始され得る。
【００４６】
図５Ａの図示されている例では、例えばファイルシステムを通じてソフトウェアのより高いレベルで動作するセンサ又はアプリケーションによるデータ記録５０５の読み出し等のシステム読み出しは、データ記録５０５の内容のなりすまし又は偽の表現を提示されることがある。この応答のインテグリティは、例えば、ストレージデバイスへ提供される直接読み出し機能を利用して、確認され得る。直接読み出しは、データ記録５０５の範囲の真の実際の内容を取得するために、データ記録５０５の偽の表現を提供するファイルの影響及びディスクスタックをバイパスしながらデータ記録５０５を読み出すことができる。この特定の例では、システムレベルの読み出しへの応答は、その応答と直接読み出しの結果との比較に基づき、改ざんされたと識別される。直接読み出しは、ディスクアクセスセキュリティエージェント及び他のセキュリティ管理ツール（ディスクアクセスセキュリティエージェントとインターフェース接続し、ファイルの性質を解析するもの）（例えば、アンチウィルス又はアンチマルウェアツール、等）を通じてトリガされてよい。直接読み出しを通じて、この異常は検出され、とりわけ、データ記録５０５の範囲がマルウェア又は他の悪意のあるコンテンツを格納するかどうかを決定する際に、他の因子とともに考慮され得る。
【００４７】
図５Ｂの例を参照すると、ストレージデバイスの直接書き込み動作は、ディスクアクセスセキュリティエージェントによってトリガされ、ディスク上でデータ記録の識別された範囲（例えば、５０５）内の検出された問題を修正するために用いられる。例えば、データ記録５０５がデバイス上でマルウェアに対応すると検出するツール等の１又はそれ以上のセキュリティ管理ツールは、データ記録が修正されることを（ディスクアクセスセキュリティエージェントを通じて）要求してよい。幾つかの実施において、最初の修正の試みは、従来の修正テクノロジを利用してパースされてよい。幾つかの事例において、そのような修正の試みが失敗である（又は望ましくないとみなされる）場合は、直接書き込み機能が、（例えば、コモンＡＰＩを介してストレージデバイスとインターフェース接続するディスクアクセスセキュリティエージェントの指示を介して）ストレージデバイスを利用してデータ記録に直接アクセスし、そして、目標のデータ記録５０５を直接（コピーオンライトバックアップデータを用いて）上書き又は削除して、問題を修正するために用いられ得る。更に、幾つかの実施において、とりわけ、識別された領域５０５が再感染されることを防ぐために、ロックが要求され、その領域５０５に適用され得る。
【００４８】
上述されたように、セキュリティデバイスは、ディスクアクセスセキュリティエージェントの指示で、ＬＢＡ範囲ロックダウンを含むデータ記録の範囲のロックダウンを実行することができる。有効性のために、幾つかの実施において、範囲のサブセットは、被モニタ、重要、又は被保護と指定され得る。種々のポリシー、モニタリング技術、及び保護技術は、範囲の様々なサブセットについて更に指定され得る。例えば、別々のポリシーがアクセスのタイプ（例えば、書き込み、読み出し及びトリム）ごとに定義可能である。ファイル−ＬＢＡ間マッピングは、ディスクアクセスセキュリティエージェントによって実行され得る。更に、各ＬＢＡ範囲は、メタデータがマッピングイベントのために指定されることを可能にし、アクセスされているファイルシステムエンティティへデータを記録することができる。メタデータは、ディスクアクセスセキュリティエージェントによって定義及び提供され得、全てのロギング、イベンティング（コールバック）、及び夫々のＬＢＡ範囲へのアクセスに関連するバックアップデータに付随することができる。ディスクアクセスセキュリティエージェントは、このメタデータを、幾つかある例の中でも特に、ＬＢＡ−ファイル名間マッピング及び場合により何らかの付加的なコンテキストデータと関連付けることができる。
【００４９】
幾つかの実施において、保護範囲は、重なり合うことを認められないことがある。他の実施では、保護範囲はそのように制限されない。例えば、複数のセキュアストレージテクノロジ実施が同じデバイスで使用されているとき、ディスクアクセスセキュリティエージェントは、実施ごとに同じ又は重複するＬＢＡ範囲について異なるポリシーを設定することを可能にされ得る。例えば、１つの実施は、より望ましい又は有効な修正機能を有して、より有効な実施が、保護範囲が理論上重なり合う及び／又は干渉する場合において先例を有することを可能にしてよい。
【００５０】
モニタリングのために設定されるＬＢＡ範囲ごとに、セキュアストレージデバイスは、その範囲へのアクセスが試みられるときに取られるべき対応する動作を（例えば、ディスクアクセスセキュリティエージェントによって）提示され得る。幾つかの実施において、階層的な又は連続した動作を含む複数の動作が、例えば、保護された範囲の識別されたアクセスの試み等の、特定の検出されたイベントに応答して定義され得る。例えば、規定された動作のうちの１つが失敗する場合は（例えば、コピーオンライト）、これは他の定義されている動作（例えば、ブロック／許可）を変更しない。失敗は、幾つかの実施において、記録され得るが、次いで、他の動作が通常通りに続行するべきである。更に、ポリシーは、ディスクアクセスセキュリティエージェントが登録されたコールバックを有するときは“オンラインモード”、あるいは、ディスクアクセスセキュリティエージェントが利用可能でないときは“オフラインモード”を同じＬＰＡ範囲に適用する動作を定義することができる。実際に、タイムアウトが、ある動作に関連して、例えば、非同期コールバックが完了するのを待つ間に、認められる場合は、セキュアストレージデバイスは、幾つかの実施において、オフライン動作にフェイルオーバすることができる。例えば同期コールバック等のコールバックは、ストレージデバイスでの動作の実行を協調させるようストレージデバイスとディスクアクセスセキュリティエージェントとの間で使用され得る。例えば、ディスクアクセスセキュリティエージェントにおけるコールバックルーチンは、イベントを処理するために呼び出され得、コールバックは、それに応答して、セキュアストレージデバイスによって実行されるべき動作を返すことができる。
【００５１】
様々な動作が、ディスクアクセスセキュリティエージェントからの同期コールバックに関連して返され得る。実際に、動作の組み合わせが返され得る。そのような動作は、例えば、“読み出し”イベントに関して、幾つかある例の中でも特に、読み出しの許可又はブロック；擬似データ読み出しの実行及びデータの変更されたビューのリターン；読み出しイベントのログ詳細を含むことができる。“書き込み”イベントに関して、次のもののあらゆる組み合わせが返されてよい：幾つかある例の中でも特に、書き込みが、許可され、ブロックされ、又は‘偽の’成功を返されてブロックされ得ること；コピーオンライトオペレーション；セーブ試行書き込みオペレーション；書き込みイベントのロギング。“トリム”イベントに関して、次のもののあらゆる組み合わせが返されてよい：幾つかある例の中でも特に、トリムの許可又はブロック；コピーオンライト；トリムイベントのロギング。原の読み出し／書き込みイベントはペンディング（PENDING）状態で保持されてよく、一方、同期コールバックは処理される。
【００５２】
更に、ポリシーは、ディスクアクセスセキュリティエージェントが利用可能でないときに“オフライン”モードに設定される動作を提供することができる。“読み出し”イベントに関して、次のもののあらゆる組み合わせが実行され得る：幾つかある例の中でも特に、読み出しの許可又はブロック；読み出しイベントの詳細記録。“書き込み”イベントに関して、次のもののあらゆる組み合わせが提供され得る：幾つかある例の中でも特に、書き込みが許可され、ブロックされ、又は‘偽の’成功を返されてブロックされ得ること；コピーオンライトオペレーション；セーブ試行書き込みオペレーション；書き込みイベントのロギング。“トリム”イベントに関して、次のもののあらゆる組み合わせが返されてよい：幾つかある例の中でも特に、トリムの許可又はブロック；コピーオンライト；トリムイベントのロギング。
【００５３】
ディスクアクセスセキュリティエージェントは、セキュアストレージ対応ストレージデバイスから通知（エラー又は他のステータス）を受け取るためにステータスコールバックを登録することができる。そのような通知は、例えば、とりわけ、バックアップストレージ又はセキュアボールトがいっぱいであるといった、重要な条件を識別することができる。更に、幾つかの例では、次の情報がコールバックルーチンに提供され得る：アクセスされるＬＢＡ範囲、設定中に指定されたＬＢＡ範囲メタデータ、要求されるアクセスのタイプ（読み出し／書き込み／トリム）、書き込まれるコンテンツ（適用可能である場合）、ＳＲＢ、ＩＲＰ、又はディスクアクセスのために使用される同様のポインタ（エージェントが低レベルのＩ／Ｏをより高いレベルの要求に整合させるのを、そして、最終的に、Ｉ／Ｏを始動したプロセスを助けるため）。更に、コールバックは、幾つかの事例において、書き込み／読み出しされるデータを変更することができる。
【００５４】
ロギングは、幾つかある可能性がある例の中でも特に、アクセスされるＬＢＡ範囲のインジケーション、設定中に指定されたＬＢＡ範囲メタデータ、要求されるアクセスのタイプ（読み出し／書き込み／トリム）、アクセスが許可されたのかそれともブロックされたのかに関するインジケーション、読み出し／書き込みされるデータのオフセット及び長さ、タイムスタンプ（又はエージェントがストレージデバイスのタイミングカウンタからタイムスタンプを推測することを可能にするメカニズム）等の情報のロギング並びに保持及びアクセスを含むことができる。ログデータは、セキュアボールトの指定されたセクションに記憶され得る。ロギングは、例えば、ストレージデバイスからの、例えば、侵犯レポート（特定のモニタリング／保護されているＬＢＡ範囲がアクセスされるとき）及びステータス／エラー通知を含むことができる。そのようなエラー通知は、例えば、セキュアボールトのバックアップ空間が満杯になること、又はセキュアストレージデバイスが、ディスクアクセスセキュリティエージェントのコールバックがイベントを処理するのを待っている間にタイムアウトしたこと、等を示す通知を含むことができる。更に、幾つかの実施において、ログは、循環バッファとして扱われ得る。サイズ制限に達するとき、ログの最も古いエントリは、引き続きそれに加えられる新しいデータによりパージされ得る。
【００５５】
図６Ａ乃至６Ｃを参照すると、例となるコピーオンライト（ＣＯＷ）オペレーションを表す略ブロック図が、示されている。上述されたように、ディスクの部分は、被保護と指定され得る。然るに、図６Ａの例では、例となるディスクの部分６０５は、被保護として表されている。例えば、初期化ステップは、幾つかある例の中でも特に、重要なオペレーティングシステムファイル、例えばマスタブート記録（ＭＢＲ）等のブートセクタ、マスタファイルテーブル、及びセキュリティアプリケーションファイル（例えば、エージェント及び他のセキュリティサービスの自己防衛、等のため。）に対応する記録範囲のようなディスクストレージ内の重要な又は細心の注意を払うべきファイル及び範囲を識別するために実行され得る。対応するポリシーは、保護されているディスクデータ記録範囲の様々なタイプに適用され得る。幾つかの実施において、保護されるディスク範囲（例えば、６０５）内の記録（例えば、６１０）の書き込みの試みは、１又はそれ以上の適用されるポリシーに従って読み出しの試みに応答して自動化されたコピーオンライトオペレーションをトリガするポリシーを条件とすることができる。例えば、最新のマルウェアは、重要なオペレーティングシステム及びブートセクタファイルの上書きの主導権を握ろうと試みることがある。通常、そのようなマルウェアは、ディスクの上書き又は感染された領域をロックし、さもなければ従来の技術及びツールによる除去又は修正に抗うことがある。
【００５６】
目下の例において示されているように、保護されているデータ記録６１０の書き込みの試みは、例えば、バックアップメモリにおいて、生成及び記憶されるべきデータ記録６１０のバックアップコピーをトリガすることができる。幾つかの事例において、バックアップコピーは、ディスクのセキュアボールト領域に存在することができる。書き込みの試みは、図６Ｂに示されるように、続行して、データ記録６１０を書き換えることを可能にされ得る。図６Ｃを参照すると、例えば、ディスクアクセスセキュリティエージェントとインターフェース接続する１又はそれ以上のセキュリティ管理アプリケーション又はセキュリティツールによる、書き込みの試みがデバイスにおける何らかの不審な、不安定な、又は悪意のあるコードに対応したとの決定に基づき、データ記録６１０に対する書き込みの試みは起こらなかったはずであると後に決定されてよい。然るに、コピーオンライトオペレーションを通じて作成されたバックアップコピーは、書き込まれるべきデータ範囲６１０のコンテンツをリストアするために、データ範囲６１０への直接書き込みを通じて利用され得る。
【００５７】
コピーオンライトオペレーションは、マルウェア及び他の好ましくないコードの修正の間に原データをリストアするのに有用であることができる。コピーオンライトデータは、ディスクのバックアップ領域において、例えばセキュアボールトにおいて、保持され得る。新しいコピーオンライトデータを収容するのに十分な空間がバックアップエリアにない場合は、他のバックアップデータが上書きされ得るか、あるいは、幾つかの事例では、とりわけ、コピーオンライトオペレーションはスキップされ得る。更に、ディスク書き込みの試みが、モニタされているＬＢＡ範囲を越えて拡大する事例において、コピーオンライトオペレーションは、モニタされているＬＢＡ範囲に対応するデータの部分のみをバックアップすることができる。例えば、ＬＢＡ範囲１００〜１１０がモニタされているところ、書き込みの試みは範囲９５〜１１５に対して行われる場合は、ＣＯＷバックアップは、ＬＢＡ範囲１００〜１１０からのデータのみを反映すべきである。更に、幾つかの実施において、バックアップエントリは、ディスクアクセスセキュリティエージェントが、それがどのエントリに作用したいかを連絡することができるように、有意な方法において命名され得る。実際に、ディスクアクセスセキュリティエージェントは、とりわけ、バックアップのリストを循環し、夫々についてメタデータを取り出し、あるエントリの全データを読み出すよう構成され得る。
【００５８】
図７Ａ乃至７Ｃは、例となるセキュアストレージ対応ストレージデバイスに関するセーブ試行書き込み（ＳＡＷ）オペレーション及び擬似データ読み出しを例示する。例えば、図７Ａでは、書き込みの試みは、データ記録の保護されている範囲７１０に含まれるデータ記録７０５において識別される。幾つかの実施において、書き込みの試みは、１又はそれ以上のポリシーに従って、セーブ試行書き込みオペレーションをトリガすることができる。セーブ試行書き込みオペレーションは、例えば、疑わしいマルウェアペイロードがディスクに書き込まれているときに、行われ得る。書き込まれるよう試みられたデータはバックアップされ得、例えば、データのより広い（非同期の）評価が、例えば、ストレージデバイスでの更なるモニタリングを通じて、実行され得るようにする。セーブ試行書き込みデータは、幾つかの例では、例えば、コピーオンライトオペレーションからの他のバックアップデータを含むセキュアボールトの指定されたセクションにおいて記憶され得る。
【００５９】
図７Ａの例では、セーブ試行書き込みオペレーションは、例えば、とりわけ、ディスクアクセスセキュリティエージェントによって、検出された書き込みの試みが悪意のある、不安定な、又は不審なプログラムに由来するか又はそれに関係があるとのディスクアクセスセキュリティエージェントで（例えば、ディスクアクセスセキュリティエージェントとインターフェース接続する他のセキュリティツールから）受信されたインテリジェンスに基づき、命令され得る。図７Ｂを参照すると、幾つかの事例において、原の書き込みの試みに関与するプログラムは、その動作がモニタ又はブロックされているかどうかを、例えば、その書き込みの試みが許可されて成功したことを確認するためにリードバック要求を送信することによって、検出しようと試みることがある。ディスクアクセスセキュリティエージェント及び潜在的に他のセキュリティ管理アプリケーションを用いて、検出されたリードバック要求がこのプログラムに由来すると決定され得る。更に、この決定に基づき、擬似データ読み出し動作が（例えば、１又はそれ以上のポリシーに従って）トリガされ、原の書き込みの試みのコンテンツを含むセーブ試行書き込みバックアップデータを用いてリードバック要求に応答することができる。幾つかの事例において、ホワイトリスト又はブラックリストは、リードバック要求若しくはデータのフルビューを提供すべきか又は擬似データ読み出し動作をトリガすべきかを決定するために参考にされ得る。擬似データ読み出し動作は、書き込みの試みを行う発信プログラムの性質を評価するようシステムのために付加的な時間を持たせることができる。幾つかの事例において、原の試みをブロックすることに関わらず、書き込みの試みの出所は信頼でき、試みは正当であったと決定され得る。然るに、図７Ｃの例において示されているように、エージェントは、ストレージデバイスが、セーブ試行書き込みバックアップから対応するデータをコピーし、そのデータを（例えば、直接書き込み動作を利用して）目標のデータ記録７０５に書き込むことによって、（図７Ａの）原の書き込みの試みを実施することを要求することができる。
【００６０】
ＣＯＷ動作と同様に、新しいエントリのためにセキュアボールトのバックアップエリアにおいて十分な空間が存在しない場合は、ＳＡＷオペレーションはスキップされ得、既存のセキュアボールトデータは変更されないままであることができる。他の実施では、ＳＡＷ動作は、より古いバックアップデータを上書きすることを進めることができる。セーブ試行書き込み動作を実行できなかったことは、ログに報告され得る。更に、幾つかの実施において、試みられたディスク書き込みが、モニタリングされているＬＢＡ範囲を越えて拡大するとき、セーブ試行書き込みは、モニタリングされているＬＢＡ範囲に対応するデータの部分のみをバックアップしてよい。
【００６１】
幾つかの実施において、オペレーティングシステムは、ストレージデバイスの数的にアドレッシング可能なアブストラクションをストレージバスドライバ、ディスククラスフィルタドライバ、及びディスククラスドライバにあるあらゆるフィルタドライバのような低レベルドライバに提供することができる。アドレス範囲は、そのセクタに関してゼロからディスクのサイズにまで及ぶことができる。各セクタサイズは、ストレージデバイスのフォーマット方式に依存することができる。各セクタは、そのＬＢＡ又は論理ブロックアドレスによってアドレッシングされ得る。設定アプリケーション（例えば、ディスクアクセスセキュリティエージェントを利用する。）は、ストレージデバイスのセクタの保護のためにポリシーデータを送信することができる。ポリシーデータは、その最も簡単な形において、Ｉ／Ｏオペレーション（読み出し／書き込み／両方）のタイプ、セクタの開始アドレス（ＬＢＡ）、及び保護されるべきセクタの数を含むことができる。保護は、Ｉ／Ｏがポリシーにおいてセクタ／ＬＢＡによって定義されているディスクの領域にある場合に、ポリシーにおいて選択されるＩ／Ｏオペレーションがディスクフィルタドライバによって拒否されることを示唆することができる。
【００６２】
一例において、何らかのアプリケーションによるＩ／Ｏオペレーションは、Ｉ／Ｏのタイプ（例えば、読み出し／書き込み）、それが（ディスク上のセクタに関して）目的としているディスク領域、及びサイズのうちの１又はそれ以上によって定義され得る。ディスクフィルタは、従って、そのシステムメモリにおいてポリシーデータを保持し、ディスクに対して行われるＩ／Ｏオペレーションごとにそれを確認することができる。ディスクフィルタの確認（又はルックアップ）オペレーションは、システム及びストレージデバイスで実行されるあらゆるアプリケーションの２つの経路にあり、ポリシーの数は多数であり、ディスク上の全てのＬＢＡにわたって散らばっているから、ディスクフィルタの確認オペレーションは、アプリケーション、ディスクアクセスセキュリティエージェント、及びシステム全体の性能を著しく低下させ得る。
【００６３】
特定のディスク領域（又はディスク上のデータ記録の範囲）に適用可能なポリシーをより効率的に調べるのを助けるよう、改善されたルックアップメカニズムが、関連するポリシーのより的を絞った検索を可能にするために提供され得る。例えば、図８Ａ乃至８Ｂの簡略化された例において表されているように、ストレージメディアは、固定数のセクタの単一の線形に増大し且つ数的にアドレッシング可能なオブジェクトと見なされ得る。例えば、図８Ａは、Ｎ個のセクタのディスクの表現を表す。影付きの領域は、例えば、開始セクタ及びその長さによって定義されるディスク上の範囲を示すことができる。ディスクフィルタドライブは、多くのそのような範囲を、その範囲に対するＩ／Ｏ（又は読み出し／書き込み）試行のための動作を支配する各範囲に関連した１又はそれ以上のポリシーとともに記憶することができる。
【００６４】
幾つかの事例において、記憶される範囲（及び各範囲に関連するポリシー）の数は非常に多い可能性があり、それらを高次又は線形順序の探索によりデータ構造において記憶することは、次善である。一例となる実施では、木構造、例えばＡＶＬツリー等の二分探索木が使用され得る。更に、ある範囲における１又はそれ以上のデータ記録に適用可能な各ポリシーは、幾つかの実施において、ディスク全体についての単一の全体的な探索木のノード記録として記憶され得る。他の、より最適化された実施では、複数の二分探索木が単一のディスクのために提供され得る。夫々の定義された範囲は、各木がより一層小さい深さを有（し、それにより、全体的なルックアップ時間を改善）するように、関連する木を割り当てられ得る。実際に、ディスクごとに１つの全体的な木を利用し、Ｉ／Ｏごとにその木を走査しなければならいことに代えて、ディスクは、エクステント（extent）と呼ばれる多くの等しい大きさにされたより小さいディスク（及び起こり得る同等でない最後のディスク）の集合のようなセクションの集合として構成され得る。
【００６５】
一例となる実施では、単一のＡＣＬ（又は他の二分）木が提供され、ディスクについて定義された各エクステントに割り当てられる。然るに、各木は、その夫々のエクステントに対応するディスク範囲についてのポリシー情報のみを記憶する。幾つかの事例において、特定の範囲は、複数のエクステント境界にわたることがあり、その場合に、単一の範囲は、幾つかの事例において、複数の範囲に分けられ、複数のエクステントにわたって細分され、それにより、その単一の範囲の各部分は、単一のエクステント境界内に含まれる。更に、各エクステントに特有の木は、対応するエクステント内のデータ記録範囲に適用可能なポリシーを識別するノードを含むことができる。これは、夫々の木のより一層効率的な探索を提供することができる。例えば、特定のデータ記録又はデータ記録の範囲に付随しておこる検出された読み出し／書き込み動作に応答して、１又はそれ以上の対応するエクステントは、その特定のデータ記録又は記録の範囲を含むと識別され得る。更に、特定のデータ記録のエクステントについての対応する探索木は識別され、ポリシー又は保護指定が、特定のデータ記録に適用すると定義されているかどうかを迅速に決定するよう調べられ得る。
【００６６】
更に、幾つかの実施では、ビットマスクが保持され、何らかのポリシーが所与のエクステント内の記録について定義されているかどうかを決定するためのショートハンドメカニズムを提供することができる。例えば、ビットマスクは、所与のエクステントにおける“保護範囲”の状態を記憶するビットを含むことができる。例えば、対応するエクステントが幾つか（ゼロより大きい）の保護されている範囲を有する場合は、そのビットは“真（TRUE）”とマークされ得る。しかし、所与のエクステントが保護される範囲又は適用されるポリシーを有さない場合は、その対応するビットは“偽（FALSE）”とマークされ得る。図８Ｂの例では、例えば、エクステント８０５は、保護される範囲８１５を含むことができ、ビットマスクにおけるその対応するビットは、“１”に設定され得る。同様に、エクステント８１５及び８２５も、保護される範囲（例えば、８２０、８３０、８３５）を含むことができ、それらの対応するビットも“１”に設定され得る。保護されるデータ範囲を（未だ）含まない他のエクステント（例えば、８４０）は、図８の例において示されているように、“０”に設定されたそれらのビットマスク値を有することができる。
【００６７】
例となるビットマスク、又は例えばフラグ等の他のインジケータの使用を通じて、識別された範囲の記録についての特定のエクステントの識別は、第１に、何らかの保護される範囲又はポリシーがそのエクステント内に存在するかどうかを決定するようビットマスク又は他のインジケータのルックアップを生じさせることができる。そのような範囲又はポリシーが存在しないとビットマスク又は他のインジケータのおかげで決定される場合は、対応するエクステント探索木の探索はスキップされ得（、幾つかの例において、Ｉ／Ｏ試行は、ストレージデバイス及び／又はディスクアクセスセキュリティエージェントによる余分の介入なしでシームレスに続行することができ）る。１又はそれ以上の保護される範囲又はポリシーが所与のエクステント内の範囲に関連するとビットマスクが示す場合に、対応するエクステント探索木は識別され、幾つかの場合に、とりわけ、ストレージデバイス及び／又はディスクアクセスセキュリティエージェントのセキュアストレージ機能をトリガするよう、ポリシー又は保護が特定の範囲の記録に適用されるかどうかを決定するために探索され得る。
【００６８】
図９Ａ乃至９Ｅは、少なくとも部分的に上記の原理に基づくセキュアストレージプラットフォームを利用する技術の例を説明するフローチャート９００ａ乃至ｅを含む。例えば、図９Ａの例では、ディスクアクセスセキュリティエージェントは、１又はそれ以上のセキュリティツール及び１又はそれ以上のセキュアストレージ対応ストレージデバイスの両方とインターフェース接続することができる。要求は、ストレージデバイスのうちの１つのデータ記録に関してセキュリティツールから受信９０２され得る。要求は、例えば、幾つかある例の中でも特に、１又はそれ以上のセキュリティポリシーに従って、ストレージデバイス上のデータの照合又は検査（例えば、直接読み出しによる。）を要求し、ストレージデバイスへの書き込み、読み出し又は別なふうなアクセスの試みといったセキュリティイベントを識別し、ストレージデバイスのセキュアストレージ機能を用いてストレージデバイス上で実行されるよう特定のセキュリティオペレーション又はセキュリティオペレーションの組を要求することができる。ディスクアクセスセキュリティエージェントは、ＡＰＩを用いてストレージデバイスとインターフェース接続９０４することができる。幾つかの実施において、ＡＰＩは、セキュアストレージ対応ストレージデバイスの複数の異なった実施とインターフェース接続する際に使用されるコモンＡＰＩであることができる。ＡＰＩは、セキュリティツールから受信された要求９０２への応答に関連して、ストレージデバイスのセキュアストレージ機能を通じて提供されるオペレーションをトリガするために使用され得る。例えば、ディスクアクセスセキュリティエージェントは、セキュアストレージ機能を用いてストレージデバイスで実行されるべき１又はそれ以上のセキュリティオペレーションを、例えばＡＰＩへのコールを通じて、引き起こすこと９０６ができる。そのようなセキュリティオペレーションは、例えば、幾つかある例の中でも特に、直接読み出し、直接書き込み、擬似データ読み出し、擬似書き込み成功、ＣＯＷ、ＳＡＷ、ロギング、記録ロック、読み出し及び書き込みの試みの許可及びブロック等のセキュアストレージオペレーションを使用することができる。
【００６９】
図９Ｂの例では、ロックされる又は別なふうに保護されるデータ記録は、セキュアストレージ対応ストレージデバイスにおいて識別９０８され得る。直接読み出しは、ストレージデバイスから直接に、ストレージデバイスでの実際の値を識別するために実行９１０されるように、引き起こされ得る。識別された値は、セキュリティツールへ送信９１２され得、記録の値を変更する命令が、それに応答してセキュリティツールから受信９１４され得る。データ記録の直接書き込みは、直接読み出しの結果において返された値とは異なる値によりデータ記録の実際の値を書き換えるよう実行９１６されるように、引き起こされ得る。
【００７０】
図９Ｃの例では、セキュアストレージ対応ストレージデバイスの１又はそれ以上のデータ記録へ書き込む試みが、（例えば、ストレージデバイスの記録の少なくとも一部をモニタリングするセキュリティツールからの通信から）識別９１８される。特定のデータ記録が保護されること、あるいは、１又はそれ以上のセキュリティポリシーが特定のデータ記録に適用されることが、識別９１２され得る。セキュリティオペレーションは、例えば、書き込みの試みが新しいデータを特定のデータ記録に書き込むことを可能にする前にデータ記録のコンテンツのコピーを作成するコピーオンライトオペレーション等を実行９２２され得る。コピーされたデータは、ＣＯＷデータ記録においてバックアップされ、特定のデータ記録の値を、例えば、その特定のデータ記録へデータを直接書き戻すことを通じて、リストアするために使用され得る。
【００７１】
図９Ｄの例では、セキュアストレージ対応ストレージデバイスの特定のデータ記録の試みられた書き込みは識別９２４され、例えば、書き込みの試みが悪意のある又は信頼できない性質を有する可能性があることを識別するセキュリティツールからの要求又は通信に基づき、ＳＡＷオペレーションをトリガすることができる。例えば、試みられた書き込みにおいて書き込まれるよう試みられるデータは、例えばＳＡＷデータ記録等のバックアップストレージへデータを書き込むことによって、セーブ９２６され得る。ＳＡＷデータ記録は、次いで、例えば、書き込みの試みの性質及び出所を解析し、書き込みの試みが悪意のある、誤った、又は他の好ましくない条件に関連付けられるか否かを決定するために、使用９２８され得る。
【００７２】
図９Ｅの例では、試みられたＩ／Ｏオペレーションは、ストレージデバイスの特定のデータ記録に関して識別９３０され得る。ストレージデバイスの特定の部分（例えば、エクステント）は、特定のデータ記録が、あるストレージデバイスの部分等の特定のデータ記録に対応すると識別９３２され得る。ルックアップ木構造は、ストレージデバイスの識別された部分に対応するルックアップ木構造の組において識別９３４され得る。次いで、ルックアップ木は、ポリシー、規則、又は機能が特定のデータ記録に適用されるかどうかを決定するために使用９３６され得る。幾つかの事例において、１以上のポリシー又は規則が特定のデータ記録に適用されると決定することは、例えばＣＯＷオペレーション、ＳＡＷオペレーション、擬似データ読み出しオペレーション、擬似書き込み成功オペレーション、Ｉ／Ｏオペレーションのブロッキング、等のような、ディスクアクセスセキュリティエージェントの指示で実行されるべき１又はそれ以上のセキュアストレージオペレーションをトリガすることができる。
【００７３】
図１０乃至１２は、ここで開示されている実施形態に従って使用され得るコンピュータアーキテクチャの例のブロック図である。プロセッサ、モバイルデバイス、及びコンピューティングシステムについて当該技術で知られている他のコンピュータアーキテクチャ設計も使用されてよい。一般に、ここで開示されている実施形態のための適切なコンピュータアーキテクチャは、図１０乃至１２に表されている構成を含むことができるが、それらに限られない。
【００７４】
図１０は、実施形態に従うプロセッサの例示である。プロセッサ１０００は、上記の実施に関連して使用され得る一種のハードウェアデバイスの例である。
【００７５】
プロセッサ１０００は、例えばマイクロプロセッサ、組み込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、マルチコアプロセッサ、シングルコアプロセッサ、又はコードを実行する他のデバイス等のあらゆるタイプのプロセッサであってよい。ただ１つのプロセッサ１００しか図１０では表されていないが、プロセッシング要素は、代替的に、図１０に表されているプロセッサ１０００を１よりも多く含んでよい。プロセッサ１０００は、シングルスレッドのコアであってよく、あるいは、少なくとも１つの実施形態に関して、プロセッサ１０００は、それがコアごとに１よりも多いハードウェアスレッドコンテキスト（又は“論理プロセッサ”）を含むことができる点で、マルチスレッド化されてよい。
【００７６】
図１０は、実施形態に従って、プロセッサ１０００に結合されているメモリ１００２を更に表す。メモリ１００２は、当業者に知られているか又は別なふうに利用可能である多種多様なメモリ（メモリ階層の様々な層を含む。）のいずれかであってよい。そのようなメモリ要素は、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）の論理ブロック、消去可能なプログラム可能読出専用メモリ（ＥＰＲＯＭ）、及び電気的消去可能なプログラム可能ＲＯＭ（ＥＥＰＲＯＭ）を含むことができるが、それらに限られない。
【００７７】
プロセッサ１０００は、ここで記載されているアルゴリズム、プロセス、又はオペレーションに関連したあらゆる種類の命令を実行することができる。一般に、プロセッサ１０００は、要素又はアーティクル（例えば、データ）を１つの状態又はものから他の状態又はものへ変形することができる
【００７８】
コード１００４は、プロセッサ１０００によって実行される１又はそれ以上の命令であって、メモリ１００２に記憶されてよく、あるいは、ソフトウェア、ハードウェア、ファームウェア、若しくはそれらの何らかの適切な組み合わせにおいて、又は必要に応じて且つ特定のニーズに基づき何らかの他の内部若しくは外部のコンポーネント、デバイス、要素若しくはオブジェクトにおいて記憶されてよい。一例において、プロセッサ１０００は、コード１００４によって示される命令のプログラムシーケンスに従うことができる。各命令は、フロントエンドロジック１００６に入り、１又はそれ以上のデコーダ１００８によって処理される。デコーダは、予め定義されたフォーマットにおける固定幅のマイクロオペレーション等のマイクロオペレーションをその出力として生成してよい。フロントエンドロジック１００６は、レジスタリネーミングロジック１０１０及びスケジューリングロジック１０１２を更に含み、それは、一般に、リソースを割り当て、実行のために命令に対応するオペレーションをキューに入れる。
【００７９】
プロセッサ１０００は、実行ユニット１０１６ａ、１０１６ｂ、１０１６ｎ等の組を備える実行ロジック１０１４を更に有することができる。幾つかの実施形態は、特定の機能又は機能の組に専用の多数の実行ユニットを有してよい。他の実施形態は、ただ１つの実行ユニット又は特定の機能を実行することができる１つの実行ユニットを有してよい。実行ロジック１０１４は、コード命令によって指定されるオペレーションを実行する。
【００８０】
コード命令によって指定されるオペレーションの実行の完了後、バックエンドロジック１０１８は、コード１００４の命令をリタイアすることができる。一実施形態において、プロセッサ１０００は、アウトオブオーダー実行（out  of  order  execution）を可能にするが、命令のインオーダーリタイアメント（in  order  retirement）を必要とする。リタイアメントロジック１０２０は、様々な既知の形態をとってよい（例えば、リオーダバッファ又は同様のもの）。このように、プロセッサ１０００は、少なくとも、レジスタリネーミングロジック１０１０によって利用されるデコーダ、ハードウェアレジスタ及びテーブル並びに実行ロジック１０１４によって変更されるあらゆるレジスタ（図示せず。）によって生成される出力に関して、コード１００４の実行中に変形される。
【００８１】
図１０に図示されていないが、プロセッシング要素は、プロセッサ１０００を備えるチップ上の他の要素を含んでよい。例えば、プロセッシング要素は、プロセッサ１０００とともにメモリ制御ロジックを含んでよい。プロセッシング要素は、Ｉ／Ｏ制御ロジックを含んでよく、及び／又はメモリ制御ロジックと一体化されたＩ／Ｏ制御ロジックを含んでよい。プロセッシング要素は、１又はそれ以上のキャッシュを更に含んでよい。幾つかの実施形態において、不揮発性メモリ（例えば、フラッシュメモリ又はヒューズ）が更に、プロセッサ１０００を備えるチップ上に含まれてよい。
【００８２】
これより、図１１を参照すると、ブロック図が、例となるモバイルデバイス１１００について表されている。モバイルデバイス１１００は、ここで記載されている例及び実施の可能なコンピューティングシステム（例えば、ホスト又はエンドポイントデバイス）の例である。実施形態において、モバイルデバイス１１００は、無線通信信号の送信器及び受信器として作動する。具体的に、一例において、モバイルデバイス１１００は、セルラーネットワークボイス及びデータモバイルサービスの送信及び受信の両方が可能であってよい。モバイルサービスは、フルインターネットアクセス、ダウンロード可能なストリーミングビデオコンテンツ、及び音声電話通信のような機能性を含む。
【００８３】
モバイルデバイス１１００は、“３Ｇ”すなわち“第３世代”のセルラーサービスを受信することができるハンドセット等の従来の無線又はセルラー携帯電話機に対応してよい。他の例では、モバイルデバイス１１００は、“４Ｇ”モバイルサービス又は何らかの他のモバイルサービスを同様に送信及び受信することが可能であってよい。
【００８４】
モバイルデバイス１１００に対応することができるデバイスの例には、電話サービスをサポートする機能とともに、インターネットアクセス、電子メール、及びインスタントメッセージング通信が可能なデバイス、並びに携帯型のビデオ受信及び表示デバイス等のセルラー電話ハンドセット及びスマートフォンが含まれる。本明細書を参照した当業者であれば、ここで記載されている本開示の種々の態様の実施に適した最新のスマートフォン並びに電話ハンドセットデバイス及びシステムの性質を容易に理解するであろうと考えられる。そのようなものとして、図１１に表されているモバイルデバイス１１００のアーキテクチャは、比較的高いレベルで表されている。それにも関わらず、このアーキテクチャに対する変更及び代替が為されてよく、そのような変更及び代替が本明細書の適用範囲内にあるみなされることは当業者に明らかである。
【００８５】
本開示の態様において、モバイルデバイス１１００は、アンテナへ接続されており且つそのアンテナと通信するトランシーバ１１０２を有する。トランシーバ１１０２は、無線周波数トランシーバであってよい。また、無線信号は、トランシーバ１１０２を介して送信及び受信されてよい。トランシーバ１１０２は、例えば、アナログ及びデジタル無線周波数（ＲＦ）‘フロントエンド’機能、ＲＦ信号を、必要に応じて中間周波数（ＩＦ）を介して、ベースバンド周波数へ変換する回路、アナログ及びデジタルフィルタリング、並びに最新のセルラー周波数、例えば、３Ｇ又は４Ｇ通信に適した周波数を介して無線通信を実行するのに有用な他の従来の回路を含むよう構成されてよい。トランシーバ１１０２はプロセッサ１１０４へ接続される。プロセッサ１１０４は、ベースバンド周波数で通信されるべき信号及び受信される信号のデジタル信号処理のバルクを実行してよい。プロセッサ１１０４は、ユーザへのテキスト、グラフィクス、及びビデオの表示のためのディスプレイ要素１１０８と、例えばタッチパッド、キーパッド、ローラマウス、及び他の例等の、ユーザからの入力を受け入れる入力要素１１１０とへグラフィクスインターフェースを提供することができる。プロセッサ１１０４は、図１０のプロセッサ１０００を参照して図示及び記載されたような実施形態を含んでよい。
【００８６】
本開示の態様において、プロセッサ１１０４は、ここで詳述されている機能及びオペレーションを達成するようあらゆるタイプの命令を実行することができるプロセッサであってよい。プロセッサ１１０４はまた、プロセッサ１１０４を用いて実行されるオペレーションで使用される情報及びデータを記憶するメモリ要素１１０６へ結合されてよい。例となるプロセッサ１１０４及びメモリ要素１１０６の更なる詳細は、ここで後述される。例となる実施形態では、モバイルデバイス１１００は、少なくとも幾つかの実施形態においてモバイルデバイスの多くの又は全てのコンポーネントを単一のチップに組み込むシステムオンチップ（ＳｏＣ）アーキテクチャにより設計されてよい。
【００８７】
図１２は、実施形態に従って、ポイント・ツー・ポイント（ＰｔＰ）構成において配置されるコンピューティングシステム１２００を表す。特に、図１２は、プロセッサ、メモリ、及び入力／出力デバイスが多数のポイント・ツー・ポイントインターフェースによって相互接続されるシステムを示す。一般に、ここで記載されているコンピューティングシステムのうちの１又はそれ以上は、コンピューティングシステム１２００と同じ又は類似した様態において構成されてよい。
【００８８】
プロセッサ１２７０及び１２８０はまた、メモリ要素１２３２及び１２３４と通信するよう集積メモリコントローラロジック（ＭＣ）１２７２及び１２８２を夫々有してよい。代替の実施形態では、メモリコントローラロジック１２７２及び１２８２は、プロセッサ１２７０及び１２８０とは別個のディスクリートロジックであってよい。メモリ要素１２３２及び／又は１２３４は、ここで説明されているオペレーション及び機能を達成する際にプロセッサ１２７０及び１２８０によって使用される様々なデータを記憶してよい。
【００８９】
プロセッサ１２７０及び１２８０は、他の図面に関連して論じられているもののようなあらゆるタイプのプロセッサであってよい。プロセッサ１２７０及び１２８０は、ポイント・ツー・ポイントインターフェース回路１２７８及び１２８８を夫々用いてポイント・ツー・ポイント（ＰｔＰ）インターフェース１２５０を介してデータを交換してよい。プロセッサ１２７０及び１２８０は、ポイント・ツー・ポイントインターフェース回路１２７６、１２８６、１２９４及び１２９８を用いて個別的なポイント・ツー・ポイントインターフェース１２５２及び１２５４を介してチップセット１２９０と夫々データを交換してよい。チップセット１２９０はまた、ＰｔＰインターフェース回路であることができるインターフェース回路１２９２を用いて、高性能グラフィクスインターフェース１２３９を介して高性能グラフィクス回路１２３８とデータを交換してよい。代替の実施形態では、図１２に表されているＰｔＰリンクのいずれか又は全ては、ＰｔＰリンクよりむしろマルチドロップバスとして実施されてよい。
【００９０】
チップセット１２９０は、インターフェース回路１２９６を介してバス１２２０と通信してよい。バス１２２０は、例えばバスブリッジ１２１８及びＩ／Ｏデバイス１２１６等の、バス１２２０を介して通信する１又はそれ以上のデバイスを有してよい。バス１２１０介して、バスブリッジ１２１８は、例えばキーボード／マウス１２１２（又は例えばタッチスクリーン、トラックボール等の他の入力デバイス）、通信デバイス１２２６（例えばモデム、ネットワークインターフェースデバイス、又はコンピュータネットワーク１２６０を通じて通信することができる他のタイプの通信デバイス）、オーディオＩ／Ｏデバイス１２１４、及び／又はデータストレージデバイス１２２８等の他のデバイスと通信してよい。データストレージデバイス１２２８は、プロセッサ１２７０及び／又は１２８０によって実行され得るコード１２３０を記憶してよい。代替の実施形態では、バスアーキテクチャのいずれかの部分は、１又はそれ以上のＰｔＰリンクにより実施されてよい。
【００９１】
図１２に表されているコンピュータシステムは、ここで論じられている様々な実施形態を実施するのに利用され得るコンピューティングシステムの実施形態の概略図である。図１２に表されているシステムの様々なコンポーネントは、システムオンチップ（ＳｏＣ）―キテクチャにおいて、又はここで提供されている例及び実施の機能及び特徴を達成可能な何らかの他の適切な構成において、組み合わされてよいことが明らかである。
【００９２】
次の例は、本明細書に従う実施形態に関する。１又はそれ以上の実施形態は、ストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するセキュリティツールからのリクエストを受け取り、セキュアストレージオペレーションの組を可能にする前記ストレージデバイスのセキュアストレージ機能とインターフェース接続するためにアプリケーションプログラミングインターフェース（ＡＰＩ）を使用し、少なくとも部分的に前記リクエストに基づき前記データ記録に伴って生じる前記ストレージデバイスで実行されるべきセキュリティオペレーションを引き起こす装置、システム、機械可読ストレージ、機械可読媒体、及び方法を提供してよい。
【００９３】
少なくとも一例において、前記ＡＰＩは、ホストベースのセキュアストレージ機能、チップセットベースのセキュアストレージ機能、及びファームウェアベースのセキュアストレージ機能の夫々に共通するセキュアストレージ機能の組を助けることができる。
【００９４】
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接読み出しオペレーションを含むことができる。
【００９５】
少なくとも一例において、前記セキュリティオペレーションは、前記データ記録からの特定のデータ記録の直接読み出しを含むことができる。該直接読み出しを通じて取得された前記特定のデータ記録の内容は、セキュリティツールへ送信され得、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録を直接書き込みオペレーションを通じて書き換えることを含むことができる。
【００９６】
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接書き込みオペレーションを含むことができる。
【００９７】
少なくとも一例において、前記セキュアストレージオペレーションの組は、コピーオンライトオペレーションを含むことができる。
【００９８】
少なくとも一例において、前記セキュリティオペレーションは、コピーオンライトオペレーションを含むことができ、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、前記試みられる書き込みオペレーションを許可する前に、１又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップへコピーすることとを含むことができる。
【００９９】
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションの後に、書き込まれるべき前記特定のデータ記録のデータを前記コピーオンライト・バックアップのデータにより置き換えることで、前記特定のデータ記録を修正することを含むことができる。
【０１００】
少なくとも一例において、前記書き込まれるべき特定のデータ記録のデータは、直接書き込みオペレーションを通じて前記コピーオンライト・バックアップのデータにより置き換えられ得る。
【０１０１】
少なくとも一例において、前記セキュアストレージオペレーションの組は、セーブ試行書き込みオペレーションを含むことができる。
【０１０２】
少なくとも一例において、前記セキュリティオペレーションは、セーブ試行書き込みオペレーションを含むことができ、前記リクエストは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別するために使用され得、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録に対する前記試みられる書き込みオペレーションを許可せずに、代わりに該書き込みオペレーションをセーブ試行書き込み（ＳＡＷ）記録に対して実行することで、前記試みられる書き込みオペレーションをセーブすることを含むことができる。
【０１０３】
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、書き込まれるべき前記ＳＡＷ記録の内容を組み込む疑似データ読み出しにより前記特定のデータ記録のリードバックリクエストに対して応答を生成することを含むことができる。
【０１０４】
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションをセーブした後に該試みられる書き込みオペレーションを許可することと、前記試みられる書き込みオペレーションを許可するために前記ＳＡＷ記録の内容を使用することとを含むことができる。
【０１０５】
少なくとも一例において、前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーションを含むことができる。
【０１０６】
少なくとも一例において、前記セキュアストレージオペレーションの組は、データ範囲ロックダウンオペレーションを含むことができる。
【０１０７】
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接読み出しオペレーション、直接書き込みオペレーション、書き込み許可オペレーション、及び書き込みブロックオペレーションを含むことができる。前記組は、疑似データ読み出しオペレーション及び疑似書き込み成功オペレーションを更に含むことができる。
【０１０８】
少なくとも一例において、前記セキュアストレージデバイスから前記ＡＰＩを介して、前記セキュリティオペレーションの結果を記述するフィードバックデータが受信され得る。該フィードバックデータは、コールバック、前記セキュアストレージプラットフォームによって生成されるログ、又は他のフォームに含まれ得る。
【０１０９】
本明細書は、多数の具体的な実施詳細を包含する一方、それらは、あらゆる発明、すなわち、請求され得るもの、の適用範囲に対する制限としてではなく、むしろ、特定の発明の特定の実施形態に特有の特徴の記載と解釈されるべきである。別々の実施形態に関して本明細書において記載されている特定の特徴はまた、単一の実施形態において組み合わせて実施され得る。反対に、単一の実施形態に関して記載されている様々な特徴はまた、別々に複数の実施形態において、又は何らかの適切なサブコンビネーションにおいて、実施され得る。加えて、たとえ、特徴が、特定の組み合わせにおいて動作するとして先に記載されており、更には最初にそのようなものとして請求され得るとしても、請求されている組み合わせからの１又はそれ以上の特徴は、幾つかの場合において、その組み合わせから削除されてよく、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてよい。
【０１１０】
同様に、オペレーションは特定の順序において図面に表されている一方、これは、所望の結果を達成するために、そのようなオペレーションが、示されている特定の順序において若しくは順次的な順序において実行されること、又は全ての表されているオペレーションが実行されることを要求するとして理解されるべきではない。特定の環境では、マルチタスキング及び並列プロセッシングが有利であり得る。加えて、上述されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載されているプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品において統合されるか、又は複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【０１１１】
このように、対象の特定の実施形態が記載されてきた。他の実施形態は、特許請求の範囲の適用範囲内にある。幾つかの場合において、特許請求の範囲で挙げられている動作は、異なる順序において実行され、依然として所望の結果を達成することができる。加えて、添付の図面において表されているプロセスは、所望の結果を達成するために、図示されている特定の順序、又は順次的な順序を必ずしも必要としない。
【図１】
2015531948.tif 000003
【図２】
2015531948.tif 000004
【図３】
2015531948.tif 000005
【図４】
2015531948.tif 000006
【図５Ａ】
2015531948.tif 000007
【図５Ｂ】
2015531948.tif 000008
【図６Ａ】
2015531948.tif 000009
【図６Ｂ】
2015531948.tif 000010
【図６Ｃ】
2015531948.tif 000011
【図７Ａ】
2015531948.tif 000012
【図７Ｂ】
2015531948.tif 000013
【図７Ｃ】
2015531948.tif 000014
【図８Ａ】
2015531948.tif 000015
【図８Ｂ】
2015531948.tif 000016
【図９Ａ】
2015531948.tif 000017
【図９Ｂ】
2015531948.tif 000018
【図９Ｃ】
2015531948.tif 000019
【図９Ｄ】
2015531948.tif 000020
【図９Ｅ】
2015531948.tif 000021
【図１０】
2015531948.tif 000022
【図１１】
2015531948.tif 000023
【図１２】
2015531948.tif 000024
【国際調査報告】
2015531948.tif 000025
2015531948.tif 000026