JP6073482B2 - セキュアディスクアクセス制御 - Google Patents

セキュアディスクアクセス制御 Download PDF

Info

Publication number
JP6073482B2
JP6073482B2 JP2015531918A JP2015531918A JP6073482B2 JP 6073482 B2 JP6073482 B2 JP 6073482B2 JP 2015531918 A JP2015531918 A JP 2015531918A JP 2015531918 A JP2015531918 A JP 2015531918A JP 6073482 B2 JP6073482 B2 JP 6073482B2
Authority
JP
Japan
Prior art keywords
secure storage
data
write
storage
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015531918A
Other languages
English (en)
Other versions
JP2015531948A (ja
Inventor
ヒューズ,マイケル
テディ,ジョン
カブラ,アトゥール
Original Assignee
マカフィー, インコーポレイテッド
マカフィー, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マカフィー, インコーポレイテッド, マカフィー, インコーポレイテッド filed Critical マカフィー, インコーポレイテッド
Publication of JP2015531948A publication Critical patent/JP2015531948A/ja
Application granted granted Critical
Publication of JP6073482B2 publication Critical patent/JP6073482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本開示は、概して、コンピュータセキュリティの分野に係り、特に、マルウェアの検出及び修正に係る。
ストレージは、コンピューティングシステムにおける重要なリソースである。コンピューティングシステムのストレージデバイスは、アプリケーションファイル及びデータのためだけでなく、重要なオペレーティングシステムファイルと、幾つかある例の中でも特に、細心の注意を払うべき個人データを含む重要な高価値のデータとのためのリポジトリであることができる。ルートキット、ウィルス、及び他のマルウェア攻撃は、例えばストレージデバイスのブートローダ(例えば、マスタブートレコード(master boot record)(MBR))、ファイルシステム、ディスク領域等のストレージデバイスを標的にすることが知られている。そのような不正プログラムの例には、とりわけ、TDL4、Trojan.Mebroot、Popureb.E、Max++が含まれる。そのような不正プログラムは、幾つかある例の中でも特に、それらの永続の余地を生み出し、個人的なファイルシステム又はストレージパーティションを作成し、データ窃盗、データ漏出及びデータ損失を犯すようシステムストレージを操作することができる。
例となるディスクアクセスセキュリティエージェントを含むシステムの例の簡略図である。
例となるストレージデバイスを含むシステムの例の略ブロック図である。
例となるディスクアクセスセキュリティエージェント及びコモンAPIを含むシステムの例の態様を表す略ブロック図である。
例となるディスクアクセスセキュリティエージェントと、例となるセキュアストレージ対応ストレージデバイスとの間のインタラクションを表す略ブロック図である。
例となるセキュアストレージオペレーションを表す略ブロック図である。 例となるセキュアストレージオペレーションを表す略ブロック図である。
例となるセキュアストレージオペレーションを表す略ブロック図である。 例となるセキュアストレージオペレーションを表す略ブロック図である。 例となるセキュアストレージオペレーションを表す略ブロック図である。
例となるセキュアストレージオペレーションを表す略ブロック図である。 例となるセキュアストレージオペレーションを表す略ブロック図である。 例となるセキュアストレージオペレーションを表す略ブロック図である。
例となるセキュアストレージ対応ストレージデバイスにおけるデータ記録の簡易表現である。 例となるセキュアストレージ対応ストレージデバイスにおけるデータ記録の簡易表現である。
例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。 例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。 例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。 例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。 例となるディスクアクセスセキュリティエージェントに関する技術の例を表すフローチャートである。
一実施形態に従うプロセッサの例のブロック図である。
一実施形態に従うモバイルデバイスシステムの例のブロック図である。
一実施形態に従うコンピューティングシステムの例のブロック図である。
種々の図面における同じ参照番号及び記号表示は、同じ要素を表す。
図1は、例えば、コンピューティングデバイス105によって利用される1又はそれ以上のストレージデバイス(例えば、110)とインターフェース接続するか又はそれを制御することができるディスクアクセスセキュリティエージェント115を備えるコンピューティングデバイス105を含むシステム100を例示する。ディスクアクセスセキュリティエージェント115は、幾つかの実施において、システムソフトウェアスタックの最下層にまで及ぶ特殊化したセキュアストレージ機能を提供するようストレージデバイスレベル(例えば、110)で利用可能なオペレーション及びロジックを制御することができる。ディスクアクセスセキュリティエージェント115は、1又はそれ以上のAPI(例えば、120)を通じて、セキュアストレージ対応ストレージデバイス(例えば、110)において提供される機能とインターフェース接続することができる。一例において、ディスクアクセスセキュリティエージェント115は、可能性がある例の中でも特に、単一のコモンAPI120を通じて複数のセキュアストレージ対応ストレージデバイスと潜在的にインターフェース接続するよう構成され得る。
幾つかの実施において、ディスクアクセスセキュリティエージェント115は更に、高度なセキュリティ評価及びポリシー管理サービスを提供するセキュリティツールの組を含むセキュリティ管理ツール(例えば、125)とインターフェース接続することができる。そのようなセキュリティツール(例えば、125)は、例えば、とりわけ、ホスト侵入防止システム、アンチマルウェア検出及び修正ツール、データアクセス制御及び保護を含むことができる。更に、様々なセキュリティポリシー(例えば、130)が、セキュアストレージ対応ストレージデバイス(例えば、110)での様々なストレージ又はディスクレベルのオペレーションのディスクアクセスセキュリティエージェント115のインタラクション及び制御を導くよう外部(例えば、遠隔及び/又は第三者)のセキュリティ管理ツール(及びコンピューティングデバイス105に存在するセキュリティツール)を通じて定義及び管理され得る。
一例となる実施において、ディスクアクセスセキュリティエージェント115は、1又はそれ以上のプロセッサ132及び1又はそれ以上メモリ要素134と、例えば、ストレージデバイス(例えば、110)とのディスクアクセスセキュリティエージェントのインタラクションに関連して、様々な機能を提供する1又はそれ以上のコンポーネントとを含むことができる。幾つかの例において、そのようなコンポーネントは、可能性がある多くの他の例の中でも特に、属性エンジン136、アクセス決定エンジン138、ポリシーマネージャ140、インテリジェンスエンジン142、自己防衛エンジン144、早期又はオフライン検出エンジン146を含むことができる。一例となる実施において、属性エンジン136は、とりわけ、ストレージデバイス110でのモニタされた読み出し/書き込みの試みを通じて検出された情報から特定の読み出し/書き込みの試みの出所を識別するための機能及びロジックを有することができる。ディスクアクセスセキュリティエージェント115は、幾つかの事例において、例えば、ストレージデバイスでの様々な読み出し/書き込みの試みに応答して(例えば、属性エンジン136を用いた特定の読み出し/書き込みの試みの出所の識別に基づき)ストレージデバイス110で取られるべき動作を決定するためのロジック及び機能を有するアクセス決定エンジン138を更に含むことができる。先と同じく、モニタされる読み出し/書き込みの試みを記述する情報は、ストレージデバイス110又はソフトウェアスタックのより高い層で収集されてよく、この情報はディスクアクセスセキュリティエージェント115へ提供され、例えば、例となるアクセス決定エンジン138によって、読み出し/書き込みの試みが適法であるか、望ましいか、又は信頼できるものであるか、それとも、幾つかの事例において、ブロックされるか、更に解析されるか、又は別なふうに修正されるべき未知の又は信頼できない読み出し/書き込みの試みであるかを決定するために利用され得る。
ディスクアクセスセキュリティエージェント115は、幾つかの例において、例えばポリシーマネージャ140等の更なるコンポーネントを更に含むことができる。例となるポリシーマネージャ140は、ディスクアクセスセキュリティエージェント115が(例えば、コモンAPI120を通じて)インターフェース接続するディスク(例えば、ストレージデバイス110)の読み出し/書き込みの試みに対して、例えば、1又はそれ以上のセキュリティ管理ツール125を介してディスクアクセスセキュリティエージェント115にセーブされるポリシー130等のポリシーを受信、更新、及び適用するための機能を含むことができる。関連して、インテリジェンスエンジン142は、とりわけ、コンピューティングデバイス105の属性、インストールされているアプリケーション、ハードウェア設定、ネットワーク設定、既知の脅威及び脆弱性に関する情報を発見する1又はそれ以上のセキュリティツール125からインテリジェンスを収集するために、ディスクアクセスセキュリティエージェント115の幾つかの実施において設けられ得る。例となるインテリジェンスエンジンを通じて及び/又は例となるポリシーマネージャを通じて(例えば、他の同様のコンピューティングデバイス、オペレーティングシステム、アプリケーション等のモニタリングから収集されたインテリジェンスに基づき)収集されたインテリジェンスは、ストレージデバイス110(又は“ディスク”)のアクティビティに関するディスクアクセスセキュリティエージェント115の決定、命令、及び制御を(例えば、アクセス決定エンジン138を用いて)通知するために使用され得る。更なるコンポーネントは、例えば、とりわけ、ディスクアクセスセキュリティエージェントによって利用されるファイル及びデータ並びに/又はコンピューティングデバイスによって使用される他のセキュリティ関連ツール及びアプリケーションを保護するためにストレージデバイス110の機能を利用する際に使用される自己防衛モジュール144を含むことができる。
幾つかの実施において、ストレージデバイス110は、基本的なストレージ管理及びデータ読み出し/書き込みオペレーションを実行するためのロジックを有して構成され得る。更に、セキュアストレージ対応ストレージデバイス(例えば、110)は更に、幾つかの場合に、様々なセキュアストレージタスクを実現するよう、ディスクアクセスセキュリティエージェント115とともに、機能を実行する機能性を有して構成され得る。ストレージデバイス110は、1又はそれ以上のプロセッサデバイス148と、1又はそれ以上のメモリ要素150と、様々なセキュアストレージ機能を実行するための機能を提供する1又はそれ以上のコンポーネントとを含むことができる(あるいは、それらとともに利用され得る)。ストレージデバイス110は、様々なデータ170及びバックアップデータ175のためのリポジトリであることができる。幾つかの例において、ストレージデバイス110は、とりわけ、オペレーティングシステムファイル、ローカルセキュリティツールファイル、マスタブートレコード(MBR)、ボリュームブートレコード(volume boot record)(VBR)を含む細心の注意を払うべきデータを記憶することができる。
セキュアストレージ対応ストレージデバイス(例えば、110)は、例えば、ストレージデバイスがディスクスタックファイルシステムをバイパスし、ストレージデバイス上のデータ記録から直接読み出すことを可能にする直接的な又は信頼できる読み出し機能を有効にするロジック152のような、ロバストなストレージデバイスのオペレーション及びチェックを可能にすることができるロジックを含むことができる。同様に、例となるストレージデバイスは、そのデータに対して直接的な信頼できる書き込みを実行するためのロジック156を有することができる。幾つかの実施において、ストレージデバイスは、例えばストレージデバイスの特定の領域等のストレージデバイスデータの読み出し、書き込み、及び他のアクセスの試みをブロックすること又は許可しないこと及び変更することといった基本的なデータアクセス制御オペレーションを実行するためのロジック154を有することができる。実際に、ストレージデバイスは、セキュアストレージのためのディスクの部分を定義及び初期化するための機能(例えば、セキュアストレージロジック158)を有することができ、そして、ディスクを管理するための機能(例えば、ディスク管理ロジック164)を更に有することができる。関連して、例となるストレージデバイスは、暗号化されたセキュアボールト(secure vault)180のセクションとしてメモリのセクションを定義及びリザーブするためのロジックを有することができる。
更に、幾つかの例において、ストレージデバイスは、1又はそれ以上のデータ記録を上書きする試みに応答して1又はそれ以上のデータ記録のバックアップコピーを自動生成するコピーオンライト(copy on write)(COW)オペレーションを実行するためのロジック160を有して構成され得る。例となるストレージデバイスは更に、例えば、書き込みの試みが実際の標的データ記録を上書きするのを許可する代わりに、特定の書き込みの試みをコピーし、その書き込みの試みをバックアップメモリにセーブする他のバックアップコピーを生成するためのロジック162(例えば、セーブ試行書き込み(save attempted write)(SAW)オペレーション)を有して構成され得る。更に、ストレージデバイスは、例えば、LBAロック等を通じて、特定の記録をロックするためのロジック166を設けられ得る。セキュアストレージ対応ストレージデバイス(例えば、110)の更なる特徴及び機能は、とりわけ、擬似データ読み出しを実行するためのロジック、特定の書き込み又は読み出しの試みをブロックするためのロジック、擬似書き込み成功を返すためのロジックを含むことができる。
一般に、例となるコンピューティング環境100におけるシステムデバイスを含む“サーバ”、“クライアント”、“クライアントデバイス”、“コンピューティングデバイス”、“ネットワーク要素”、“ホスト”、“システムタイプのシステムエンティティ”、“ストレージデバイス”及び“システム”は、コンピューティング環境100に関連したデータ及び情報を受信、送信、処理、記憶又は管理するよう動作可能な電子コンピューティングデバイスを含むことができる。本明細書において使用されるように、語“コンピュータ”、“プロセッサ”、“プロセッサデバイス”又は“プロセッシングデバイス”は、あらゆる適切なプロセッシングデバイスを包含するよう意図される。例えば、コンピューティング環境100内で単一のデバイスとして示される要素は、複数のサーバコンピュータを含むサーバプールのような、複数のコンピューティングデバイス及びプロセッサを用いて実施されてよい。更に、コンピューティングデバイスのいずれか、全て、又は一部は、Linux(登録商標)、UNIX(登録商標)、Microsoft Windows(登録商標)、Apple OS、Apple iOS(登録商標)、Google Android(登録商標)、Windows Server等と、カスタマイズされた独自仕様のオペレーティングシステムを含む特定のオペレーティングシステムの実行を仮想化するよう構成される仮想マシンとを含むあらゆるオペレーティングシステムを実行するよう構成されてよい。
更に、サーバ、クライアントデバイス、ネットワーク要素、システム、及びコンピューティングデバイスは夫々、幾つかある機能及びハードウェアの中でも特に、1又はそれ以上のプロセッサ、コンピュータ可読メモリ、及び1又はそれ以上のインターフェースを含むことができる。サーバは、分散型の、企業向けの、又はクラウドベースのソフトウェアアプリケーション、データ及びサービスを含むソフトウェアアプリケーション及びサービスを主催及び/又は提供することができるあらゆる適切なソフトウェアコンポーネント若しくはモジュール、又はコンピューティングデバイスを含むことができる。例えば、幾つかの実施において、セキュリティ管理ツールは、システム100における他のサービス及びデバイスとインターフェース接続し若しくは協調する、又はそれらに依存する、又はそれらによって使用されるデータ、ソフトウェアサービス及びアプリケーションを遠隔で主催、提供、又は別なふうに管理するよう構成されたクラウド実装のコンピューティングシステムで実施され得る。幾つかの事例において、サーバ、システム、サブシステム、又はコンピューティングデバイスは、共通のコンピューティングシステム、サーバ、サーバプール、又はクラウドコンピューティング環境において提供され、共有されたメモリ、プロセッサ及びインターフェースを含むコンピューティングリソースを共有することができるデバイスの何らかの組み合わせとして実施され得る。
コンピューティングデバイスは、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、パーソナルデジタルアシスタント、フィーチャーフォン、携帯型ビデオゲーム機、デスクトップコンピュータ、インターネット対応テレビ受信機、並びに人間ユーザと対話するよう設計され且つ1又はそれ以上のネットワーク上で他のデバイスと通信可能な他のデバイスを含む従来のモバイルコンピューティングデバイスを含むことができる。コンピュータ支援の、すなわち“スマート”機器は、コンピュータプロセッサを含み且つコンピュータプロセッサ、他のハードウェア及び/又はコンピュータプロセッサによって実行される1以上のソフトウェアプログラムによってデバイスの機能性を制御され、モニタされ、支援され、補完され、又は別なふうに強化する家庭用及び産業用のデバイス及びマシンを含むことができる。コンピュータ支援機器は、冷蔵庫、洗濯機、自動車、HVACシステム、産業用機械、オーブン、セキュリティシステム、及び同様のものを含む広範なコンピュータ支援のマシン及び製品を含むことができる。
幾つかのコンピューティングデバイスは、アプリケーション管理サーバサービス及び他のアプリケーション等に関連するグラフィカルユーザインターフェースと、システムデバイス内で提供されるアプリケーションと相互作用するプログラムのユーザインターフェース及びグラフィカル表現とを含む、システム100で提供されるアプリケーション及び他のプログラムのグラフィカルユーザインターフェースをユーザが見てそれと対話することを可能にする、システムデバイスのコンピュータプロセッサによってサポートされる少なくとも1つのグラフィカルディスプレイデバイス及びユーザインターフェースを更に含むことができる。加えて、システムデバイスは、1人のユーザによって使用される観点で記載されることがあるが、本開示は、複数のユーザが1台のコンピュータを使用することができること、又は1人のユーザが複数のコンピュータを使用することができることを考える。
図1は、複数の要素を含むよう、又は複数の要素に関連するよう記載されるが、図1のコンピューティング環境100内に表される全ての要素が本開示の夫々の代替実施で利用されなくてよい。加えて、図1の例に関連して記載される要素のうちの1又はそれ以上は、コンピューティング環境100の外に位置してよく、一方、他の事例では、特定の要素は、他の記載される要素及び図示されている実施において記載されていない他の要素のうちの1又はそれ以上の中に又はその部分として含まれてよい。更に、図1に表されている特定の要素は、他のコンポーネントと組み合わされ、且つ、ここで記載される目的に加えて代替の又は更なる目的のために使用されてよい。
これより、図2の略ブロック図を参照すると、コンピューティングデバイスのサブシステムの例が表されており、デバイスの様々なストレージ機能を管理することに関与する要素を含む。デバイスのユーザモード205においては、従来のアプリケーション210、ディスクユーティリティ、セキュリティソフトウェア、等(215,220)が提供され得る。デバイスのカーネルモード225は、ファイルシステム230、ボリュームマネージャ235、パーティションマネージャ240、ディスククラスドライバ245、及びストレージバスドライバ250を含むことができる。最新のマルウェアは、スタックの最下層にあるストレージバスドライバ250及び他の要素を含むカーネルモード225の夫々のレベル(例えば、230、235、240、245、250)を不当に利用することが知られている。あいにく、従来のディスクアクセス制御及びセキュリティツールは、ストレージバスドライバレベルで保護しない。前述のシステム100の例の原理を適用する実施は、従来のディスクアクセス制御システムの欠点及び課題の幾つかに対処することができる。
これより、図3の例を参照すると、コモンAPI120を用いるチップセットベースのストレージデバイス(例えば、325)、ホストベースのストレージデバイス(例えば、330)、及びソリッドステートドライブ(solid state drive)(SSD)デバイス(例えば、335)を含む、ソフトウェアスタックの様々なレベルにある様々なストレージデバイス(例えば、325、330、335)とインターフェース接続するディスクアクセスセキュリティエージェント115の略ブロック図が、示されている。ディスクアクセスセキュリティエージェント115は、ストレージポート(又はストレージバス)ドライバレベルを含むセキュアストレージ対応ストレージデバイス(例えば、325、330、335)で利用可能なセキュアストレージ機能に関連して利用され得る。例えば、ホストベースのセキュアストレージは、ソフトウェアスタックの最低レベルで、例えば、RSTドライバ又はコントローラドライバにおいて、提供され得る。ホストベースのセキュアストレージは、複数のハードディスク及びストレージデバイスにわたって潜在的に機能することができる。セキュアストレージは、追加的に、又は代替的に、チップセットレベルで、例えば、デバイス通信バスレベルで、実施され得る。更なる他の例では、そのようなセキュアストレージ機能は、追加的に、又は代替的に、ディスクレベルで、例えば、とりわけ、コンピューティングデバイスのソリッドステートドライブ(SSD)のファームウェアにおいて、実施され得る。図3の例では、コモンAPI120は、ディスクアクセスセキュリティエージェント115が、ホストベースの、チップセットベースの、及び/又はファームウェアベースのレベルのうちのいずれか1つでストレージセキュリティを制御することを可能にするよう定義され得る。そのようなAPI120は、それら3つのテクノロジの夫々へのインターフェースを抽出し、例えば、コモンAPIにわたってそれらのストレージセキュリティテクノロジにより通信するディスクアクセスセキュリティエージェント115の指示で利用され得る共通した機能の組を提供することができる。
統合されたセキュアストレージAPI、すなわち、コモンAPI120は、セキュアストレージソリューションのホスト、ファームウェア及びチップセットベースの実施の機能性を包含することができる。そのようなAPI120は更に、どのセキュアストレージ対応ストレージデバイスがシステムにおいて利用可能であるかのリスニングを取得するとともに、夫々のデバイスのセキュアストレージ機能(例えば、デバイスがセキュアストレージソリューションのホスト、ファームウェア及び/又はチップセットベースの実施を含むかどうか)を問い合わせるために使用され得る。APIは更に、ディスクアクセスセキュリティエージェント115が、例えば、個々のデバイスごとの別個のポリシー、例えば、より高度なユーザモードのセキュリティツールによって使用されるポリシーを作成し、適用し、管理することを可能にすることができる。
一例において、ネイティブAPI305a、305b、305cは、特定のセキュアストレージ対応ストレージデバイスの特定のセキュアストレージ機能へのインターフェースを提供する。例えば、図3の例では、チップセットベースのストレージデバイス325、ホストベースのセキュアストレージ330、及びセキュアSSD335の夫々は、対応するネイティブAPI(夫々、305a、305b、305c)を有することができる。コモンAPI120は、目的のセキュアストレージデバイス(例えば、325、330、335)の夫々の対応するネイティブAPI(例えば、305a〜c)に適合する命令へのディスクアクセスセキュリティエージェント115を通じて又はそれによって受信されたコマンド及び命令のトランスレータとして動作することができる。幾つかの実施において、ディスクアクセスセキュリティエージェント115は、直接にネイティブAPI305a〜cを通じてアクセス及び通信するためのロジックを含むことができる。ディスクアクセスセキュリティエージェント115の代替実施は、幾つかの例において、幾つか可能性がある実施の中で特に、コモンAPI120の使用を見送ることができる。ハードウェア及び/又はソフトウェア実装のロジックは、特定のセキュアストレージデバイスへのアクセスを管理することができ、ネイティブAPI305a〜cは、そのようなロジックへのインターフェースを提供することができる。例えば、チップセットロジック310は、1又はそれ以上のストレージデバイス(例えば、325)のためにチップセットレベルで実施されるセキュアストレージ機能を提供することができ、ストレージポートドライバ315は、1又はそれ以上のストレージデバイス(例えば、330)のためにホストレベルで実施されるセキュアストレージ機能を提供するために使用されてよく、SSDファームウェア348(又は代替的にミドルウェア320)は、SSD335を管理することができる。更に、夫々のセキュアストレージロジック340、345、350は、夫々のセキュアストレージデバイスが有効にされるべき特定のセキュアストレージ機能、例えば、読み出し及び書き込みブロック、擬似データ読み出し、擬似書き込み成功、COW、SAW、直接読み出し、直接書き込み、及び同様のものを実施するためのロジック、を促進するために提供され得る。
幾つかの例となる実施において、ネイティブ又はカーネルモードのAPIは、例えば、1又はそれ以上のハードウェア及び/又はセキュリティプロバイダによって保持される静的にリンクされたライブラリにおいて提供され得る。ユーザモードのAPIは、幾つかの事例において省略されてよい。ライブラリは、幾つかの事例において、とりわけ、システムの下層階級のフィルタドライバへ静的にリンクされ得る。更に、API関数定義は、新しいセキュアストレージ機能が開発されるとして時間とともに進化することができ、ネイティブAPI及びコモンAPIは、そのような付加的な機能をサポートするよう拡張され得る。
コモンAPIの例となる実施は、共通の、統合されたAPI120が、APIに適合する機能を含むシステムで利用可能な各ストレージデバイスの管理をサポートするところの多元的な同時のデバイスサポートを提供することができる。ディスクアクセスセキュリティエージェントは、同じコモンAPIを通じて個別に各ストレージデバイスと通信することができる。加えて、幾つかの実施において、複数のセキュアストレージテクノロジは、単一のストレージデバイスに同時に(例えば、ファームウェアベースのセキュアストレージデバイスに対してホストベースのセキュアストレージサポートを通じて)適用され得る。そのような事例では、ディスクアクセスセキュリティエージェントは、所与のストレージデバイスに存在する機能の複合的な上位集合へのアクセスを有してよい。ディスクアクセスセキュリティエージェントの幾つかの実施は、幾つかの代替の実施において見られるようにコモンAPIにおいて複合的な特徴の組を定義するのではなく、幾つかの実施において複合的な特徴の組をクエリし設定するよう構成され得る。そのような管理は、例えば、同じデバイスに存在する潜在的に複数のセキュアボールト(例えば、ホストベースのソリューションのための1のセキュアボールト、ファームウェアベースのソリューションのための1のセキュアボールト、及びチップセットベースのソリューションのための1のセキュアボールト、等)の間のコンフリクトから保護することを含むことができる。
幾つかの実施において、コモンAPIは、APIコールが適用される目的のストレージデバイス及び夫々のセキュアストレージテクノロジを識別するために、ハンドル(又は他の識別子)を使用してよい。これは、具体的なデバイスの設定と、コールバックの場合には、ソースデバイスの識別とを可能にすることができる。インストール及びプロビジョニングタスクは、更に、幾つかの例ではユーザモードライブラリを含め、1又はそれ以上のAPIを通じて提供され得る。例えば、システムのストレージデバイスを制御するディスクアクセスセキュリティエージェントにおけるインストーラモジュールは、例えば、ここで記載されるような様々なインストール及びプロビジョニングタスクを実行することができる。例えば、セキュアストレージ対応ストレージデバイスのリストは、そのようなデバイスを見つけるためにクエリされ得る。更に、幾つかの実施において、機能クエリは、適切な単体製品特性をインストールするように、システム上のデバイス(又はハードニングレベル)ごとにセキュアストレージ機能のリストを識別するよう実行され得る。更に、例えば、ネイティブ又はカーネルAPIクエリからの機能リターンに加えて、ストレージデバイスが既にプロビジョニングされているかどうかといった、ストレージデバイスの更なる属性が識別され得る。更に、例となるインストーラモジュールは、例えば、とりわけ、インストールパッケージが、現在インストールされているものよりも新しいバージョンを含む場合に、ディスクアクセスセキュリティエージェント及び/又はディスクアクセスセキュリティエージェントの実施において使用されるクラスフィルタドライバをアップグレードする能力を有することができる。然るに、ディスクアクセスセキュリティエージェントを単体製品と一体化し、ディスクアクセスセキュリティエージェントのアップグレード機能を提供することは、利便性を提供し、ユーザを、とりわけ、ディスクアクセスセキュリティエージェントを手動により更新する付加的なステップから救うことができる。幾つかの実施において、インストーラモジュールは、とりわけ、コマンドライン及びハードコードされたデフォルトにおいて指定される入力値を用いて、ユーザインターフェースによらずに黙って実行する能力を有することができる。
プロビジョニングは、インストールと堅固に一体化され、とりわけ、セキュアボールトのためにストレージデバイスディスク上でリザーブされた空間を割り当てる処理に関係があり得る。加えて、プロビジョニングは、例えば、ストレージデバイスとエージェント又は他のプログラムとの間の通信において使用される暗号化/認証キーの取得を含むことができる。例となるインストーラは、セキュアストレージ機能を利用するあらゆるデバイスにおいて、更には、デバイスで利用されるセキュアストレージ実施(又はハードニングレベル)ごとに、セキュアボールトの生成を開始することができる。これは、ログ、バックアップデータ(例えば、コピーオンライト及びセーブ試行書き込みのためのもの)、暗号化キー、細心の注意を払うべきユーザ/アプリケーションデータ、ホワイトリスト、ブラックリスト、データ損失防止(data loss prevention)(DLP)データ、DATファイルストレージ、等のためのストレージと、ストレージデバイスによって生成され使用されるメタデータのためのセキュアストレージとを生成するのに供することができる。任意に、インストーラは、アプリケーションにより定義されるストレージのための空間を特定してよい。
セキュアボールトの生成は、報告されたディスク容量を再パーティショニング又は縮小することを通じてディスク(すなわち、セキュアストレージ対応ストレージデバイス)を準備することを含むことができる。初期化タスクは、セキュアボールトに対して実行され、例えば、それを複数の使用(ロギング、バックアップ、アプリケーションデータ)のために分割し、潜在的にファイルシステムをインストールすることができる。プロビジョニングは、認証クレデンシャルのプロビジョニングを更に含むことができる。プロビジョニングは、例えば、とりわけ、プロビジョニングサーバがローカルイントラネットで利用可能であるところの幾つかの実施において、インターネット接続によらない環境において可能であることができる。
認証クレデンシャルは、プロビジョニングされ得る。クレデンシャルは、様々なセキュアストレージテクノロジについて異なる方法でプロビジョニングされ得る。例えば、一実施において、ファームウェアベースのセキュアストレージは、SIGMAプロトコル又は他の暗号化技術に依存することができ、一方、ホストベースのセキュアストレージは、ホストベースの暗号化スキームサービスを利用する。デプロビジョニングがまた、例えば、ディスク空間をシステムへ返す前の指定されたセキュアボールトストレージの完全なワイピングを含むよう、インストーラモジュールによって実行され得る。幾つかの実施において、新しいセキュアストレージに対応するストレージデバイスが、初期インストール及びプロビジョニングの後に加えられる場合は、メカニズムは、例えば、幾つかある実施例の中でも特に、ディスクアクセスセキュリティエージェントと通信するユーザモードサービスプロセスを通じて、新しいストレージデバイスをプロビジョニングするために提供され得る。ディスクアクセスセキュリティエージェントは、次いで、ディスクアクセスセキュリティエージェントの正常な初期化プロセスの間に、新たにプロビジョニングされたストレージデバイスを発見することができる。
セキュアボールトは、例えば、幾つかある実施の中でも特に、ログストレージ、バックアップストレージ(“コピーオンライト”及び“セーブ試行書き込み”動作のためのもの)、アプリケーションで定義されるストレージ(例えば、エージェントによって管理されるもの)、ストレージデバイスメタデータのためのセクションのような様々なセクションにより細分され得る多目的のストレージエリアと見なされ得る。幾つかの例において、ストレージデバイスメタデータは、ディスクアクセスセキュリティエージェントから見えないようにされ得る。セキュアボールトのサイズは、プロビジョニング時に指定され得る。特定のセキュアストレージ実施が、ストレージデバイスメタデータのために更なるリザーブされた空間を利用する場合は、それは、セキュアボールトプロビジョニングAPIによって暗黙的に処理され得る。更に、セキュアボールトとの通信は、外部の関係者へのデータの視認性をブロックするように暗号化され得る。同様に、セキュアボールト内の保存データは、暗号化されるか、あるいは、別なふうに、認証されたセキュアチャネルの外の外部の関係者から隠され得る。いくつかの実施において、セキュアボールトを暗号化するのに利用される暗号化キーは、管理され、定期的に、あるいは、セキュアボールト及び/又はその暗号化が何らかの形で危うくされていると決定することに応答して、変更され得る。これは、幾つかの実施において、セキュアボールトデータの解読及び再暗号化を生じさせ得る。ディスクアクセスセキュリティエージェントは、作成時にセキュアボールト再分割(ログ、バックアップ及びアプリケーション定義ストレージ)のサイズ制限と他の設定とを指定する機能を有することができる。幾つかの事例において、セキュアボールトのために指定されるサイズ制限は静的であってよく、一方、他の実施では、セキュアボールトの動的なリサイジングが、例えば、セキュアボールトデータ(バックアップ及びログエントリを含む。)及びポリシーのデプロビジョニング/再分割及び潜在的な損失なしでセキュアボールトの拡張を可能にするよう、促進され得る。更に、幾つかの実施において、セキュアボールトのリザーブされた空間は、例えば、とりわけ、セキュアボールトが完全に不可視であるようにドライブの報告されている容量を低減すること、セキュアボールト空間を別個のパーティションとして表示すること、又はセキュアボールトをファイルシステム内のファイルとして表示することによって、ユーザに示され得る。
更なるステップは、セキュアストレージ機能を用いるストレージデバイスの初期化に関連してディスクアクセスセキュリティエージェントによって実行され得る。例えば、ディスクスタックの部分として、ディスクアクセスセキュリティエージェントは、コモンAPIを使用せずにストレージデバイスの初期化をモニタリングすることができる。機能クエリは、検出されたストレージデバイスのセキュアストレージ実施に対応するバージョン番号等の情報を更に返すことができる。現在のセキュアストレージデバイスの構成は、例えば、起動時に、永続的な設定を試験するために、クエリされ得る。更に、ディスクアクセスセキュリティエージェントは、例えば、ドライブが、例えば、ディスクアクセスセキュリティエージェントが利用不可能であるか又は接続を切られていた間に、使用されているかどうかを決定するために、ストレージデバイスの電力サイクルカウンタをクエリすることができる。幾つかの事例において、ディスクアクセスセキュリティエージェントは、システムがクリーンであることと、如何なる永続的なポリシー設定も未だ有効であることとを確かにするために、インテグリティチェックを実行することができる。更に、幾つかの例において、ディスクアクセスセキュリティエージェントは、とりわけ、コモンAPIに影響を及ぼすポリシー変更、直接読み出しオペレーション、直接書き込みオペレーション、セキュアボールトアクセスを含む、ディスクアクセスセキュリティエージェントが最後に実行されてから後に特定のストレージデバイスとの何らかの予期せぬ通信があったかどうかを検出するために使用され得る。更に、双方向の相互認証が、ディスクアクセスセキュリティエージェントとサポートされるセキュアストレージデバイスとの間でサポートされ得る。
これより、図4の例を参照すると、セキュアストレージ機能を含むシステムの特定の一実施例を表す略ブロック図が、示されている。図4の例において示されているように、ディスクアクセスセキュリティエージェント115は、セキュアストレージ対応ストレージデバイスの様々な実施の中のいずれか1つとインターフェース接続することができる。一例において、ディスクアクセスセキュリティエージェント115のセキュアストレージ機能410は、ディスクアクセスセキュリティエージェント115に対応するクラスフィルタドライバ405を通じてサポートされるか又は少なくとも部分的に実施され得る。クラスフィルタドライバ405は、ディスクアクセスセキュリティエージェント115からホストベースのセキュアストレージロジック345、SSDベースのセキュアストレージロジック350、等へコマンドを送るために、コモンAPI120と静的にリンクされ得る。同期オペレーションがサポートされ得、例えば、オペレーションは、APIリターンよりも前に完了することができ、リターンステータスは、オペレーションの成否を示すことができる。非同期イベント通知へのコールバックが提供され得、ディスクの場所は、幾つかの実施において、例えば、幾つかある実施例の中でも特に、Windows(登録商標)(又は他の)APIコールを用いて完了されるファイル−LBA間マッピング(file to LBA mapping)により、論理ブロックアドレッシング(logical block addressing)(LBA)において表現され得る。
様々なサービスが、セキュアストレージ対応ストレージデバイス及びディスクアクセスセキュリティエージェントに関連して提供され得る。例えば、深く且つ信頼できるディスクモニタリングは、データアクセス保護とともに、実行され得る。幾つかの実施において、自己防衛及び早期発見機能は、幾つかある機能の中でも特に、ディスクレベルの修正、セキュアストレージ空間のプロビジョンとともに、サポートされ得る。例えば、機能の組は、強化されたシステム保護、検出、及び修正のために有効にされ得る。ストレージブロック及びファイルロックダウンは、例えば、ロックされたディスクブロック(例えば、MBR、リカバーOS保護、等)への書き込みの試みを失敗させることで、実現され得る。他の例では、ストレージブロック及びファイルレベルのモニタリングは、協働するディスクアクセスセキュリティエージェントへ(同期して)報告される“見張られている”ディスクブロック及びファイルへの書き込みの試みにより促進され得る。
高度なディスクモニタリング機能はまた、セキュアストレージデバイス及びディスクアクセスセキュリティエージェントの実施に基づき可能にされ得る。例えば、ディスク領域は、“被保護”として定義され、1又はそれ以上の対応するポリシーに従ってモニタリング及びアクセス制御を受けることができる。モニタリングは、読み出しの試み、書き込みの試み、トリム(TRIM)(SSD)の試み、等を含む様々なタイプのデータアクセスの試みのモニタリングを含むことができる。更に、セキュアストレージ対応ストレージデバイスによるソフトウェアスタックの最下層でのモニタリングは、インテリジェンスが収集され、そして、帰属、ブラックリスティング及びホワイトリスティング(様々な関係者の歴史的傾向及び帰属結果に基づく。)、ランタイム時の判断実行(例えば、ストレージデバイス上のデータへのアクセスに関する。)、等のような更なる機能及び特徴を可能にするディスクアクセスセキュリティエージェントへコールバックされることを可能にすることができる。更に、ディスクアクセスセキュリティエージェントは、例えば、とりわけ、コピーオンライトオペレーション、セーブ試行読み出しオペレーション、擬似データ読み出しオペレーション、ロギング(例えば、少なくとも部分的にエージェントを用いて解析可能なインテリジェンスを補完するためのもの)のような様々なオペレーションの実行を(例えば、エージェントによって識別される1又はそれ以上の関連ポリシーの実行に従って)トリガするコモンAPIを介して、ストレージデバイスへコマンドを発行することができる。
上記の原理を利用するシステム及びストレージデバイスは、更なる追加機能を示すことができる。例えば、セキュアストレージデバイス及びディスクアクセスセキュリティエージェントの実施は、“常時オン”の保護を提供することができる。例えば、ディスクアクセスセキュリティエージェントがアクティブであるか、又は他のセキュリティ管理サービスとインターフェース接続しているとき、動的且つオンラインのセキュリティポリシー、実時間の判断実行、及び実時間の通知サービスは、ストレージポートドライバレベル又はソフトウェアスタックの最下層での読み出し/書き込みオペレーションをモニタリングするセキュアストレージデバイスによって識別及び伝達された情報に基づき、ディスクアクセスセキュリティエージェントを通じて促進され得る。ディスクアクセスセキュリティエージェント(又はストレージデバイス)がオフラインであるとき、保護は、例えば、ブートローダレベルで直接にストレージデバイスによって(例えば、ブートキット攻撃から保護する、等のために)実行されることが可能な予防、検出、及び修正オペレーションを介してデバイスのブートサイクルにおいて早期に保護を可能にするオフラインポリシーを通じて、依然として提供され得る。オフライン保護は、幾つかの例において、とりわけ、ストレージデバイスが(例えば、ファームウェアベースのセキュアストレージ実施において)他のマシンへ動かされるとき、更に拡張することができる。
ストレージデバイスは、そのディスクコンテンツの真のビューを楽しむことができる。上述されたように、直接読み出しオペレーション及び直接書き込みオペレーションは、例えば、定義されたAPIを介してストレージデバイスとインターフェース接続するディスクアクセスセキュリティエージェントの指示で、ストレージデバイスによって完了され得る。直接読み出しオペレーション及び直接書き込みオペレーションは、例えば、それらがマルウェアを含む他のプログラムによりディスクスタックにおいてブロック若しくは変更されたり又は別なふうに干渉されたりされ得ないので、有用であることができる。そのようなオペレーションは、例えば、とりわけ、修正、インテグリティチェック(例えば、ハッシュ計算)、ファイルデータの高/低比較といったタスクに関して、有用であることができる。
図5A乃至5Bの例を参照すると、簡略図は、例えば、例となるディスクアクセスセキュリティエージェントに関連して又はその指示で、セキュアストレージ対応ストレージデバイスを用いて実行され得るオペレーションの例について表されている。例えば、図5Aの例では、特定のデータ記録又はデータ記録の範囲(例えば、505)は、関心があるデータ又はファイルに対応して識別され得る。そのような保護又はモニタリングされる記録は、そのようなデータを保護し且つ例えば例となるディスクアクセスセキュリティエージェントとインターフェース接続する1又はそれ以上のセキュリティツールのオペレーション及びサービスに関連して、決定又は指定され得る。例えば、一例において、不審な挙動が、データ記録の検出範囲に関連して(例えば、属性解析を通じて)検出されることがある。データ記録505に関してより知ろうとする試みは、例えば、とりわけ、範囲505内のファイルがマルウェアであるかどうかを決定するために、開始され得る。
図5Aの図示されている例では、例えばファイルシステムを通じてソフトウェアのより高いレベルで動作するセンサ又はアプリケーションによるデータ記録505の読み出し等のシステム読み出しは、データ記録505の内容のなりすまし又は偽の表現を提示されることがある。この応答のインテグリティは、例えば、ストレージデバイスへ提供される直接読み出し機能を利用して、確認され得る。直接読み出しは、データ記録505の範囲の真の実際の内容を取得するために、データ記録505の偽の表現を提供するファイルの影響及びディスクスタックをバイパスしながらデータ記録505を読み出すことができる。この特定の例では、システムレベルの読み出しへの応答は、その応答と直接読み出しの結果との比較に基づき、改ざんされたと識別される。直接読み出しは、ディスクアクセスセキュリティエージェント及び他のセキュリティ管理ツール(ディスクアクセスセキュリティエージェントとインターフェース接続し、ファイルの性質を解析するもの)(例えば、アンチウィルス又はアンチマルウェアツール、等)を通じてトリガされてよい。直接読み出しを通じて、この異常は検出され、とりわけ、データ記録505の範囲がマルウェア又は他の悪意のあるコンテンツを格納するかどうかを決定する際に、他の因子とともに考慮され得る。
図5Bの例を参照すると、ストレージデバイスの直接書き込み動作は、ディスクアクセスセキュリティエージェントによってトリガされ、ディスク上でデータ記録の識別された範囲(例えば、505)内の検出された問題を修正するために用いられる。例えば、データ記録505がデバイス上でマルウェアに対応すると検出するツール等の1又はそれ以上のセキュリティ管理ツールは、データ記録が修正されることを(ディスクアクセスセキュリティエージェントを通じて)要求してよい。幾つかの実施において、最初の修正の試みは、従来の修正テクノロジを利用してパースされてよい。幾つかの事例において、そのような修正の試みが失敗である(又は望ましくないとみなされる)場合は、直接書き込み機能が、(例えば、コモンAPIを介してストレージデバイスとインターフェース接続するディスクアクセスセキュリティエージェントの指示を介して)ストレージデバイスを利用してデータ記録に直接アクセスし、そして、目標のデータ記録505を直接(コピーオンライトバックアップデータを用いて)上書き又は削除して、問題を修正するために用いられ得る。更に、幾つかの実施において、とりわけ、識別された領域505が再感染されることを防ぐために、ロックが要求され、その領域505に適用され得る。
上述されたように、セキュリティデバイスは、ディスクアクセスセキュリティエージェントの指示で、LBA範囲ロックダウンを含むデータ記録の範囲のロックダウンを実行することができる。有効性のために、幾つかの実施において、範囲のサブセットは、被モニタ、重要、又は被保護と指定され得る。種々のポリシー、モニタリング技術、及び保護技術は、範囲の様々なサブセットについて更に指定され得る。例えば、別々のポリシーがアクセスのタイプ(例えば、書き込み、読み出し及びトリム)ごとに定義可能である。ファイル−LBA間マッピングは、ディスクアクセスセキュリティエージェントによって実行され得る。更に、各LBA範囲は、メタデータがマッピングイベントのために指定されることを可能にし、アクセスされているファイルシステムエンティティへデータを記録することができる。メタデータは、ディスクアクセスセキュリティエージェントによって定義及び提供され得、全てのロギング、イベンティング(コールバック)、及び夫々のLBA範囲へのアクセスに関連するバックアップデータに付随することができる。ディスクアクセスセキュリティエージェントは、このメタデータを、幾つかある例の中でも特に、LBA−ファイル名間マッピング及び場合により何らかの付加的なコンテキストデータと関連付けることができる。
幾つかの実施において、保護範囲は、重なり合うことを認められないことがある。他の実施では、保護範囲はそのように制限されない。例えば、複数のセキュアストレージテクノロジ実施が同じデバイスで使用されているとき、ディスクアクセスセキュリティエージェントは、実施ごとに同じ又は重複するLBA範囲について異なるポリシーを設定することを可能にされ得る。例えば、1つの実施は、より望ましい又は有効な修正機能を有して、より有効な実施が、保護範囲が理論上重なり合う及び/又は干渉する場合において先例を有することを可能にしてよい。
モニタリングのために設定されるLBA範囲ごとに、セキュアストレージデバイスは、その範囲へのアクセスが試みられるときに取られるべき対応する動作を(例えば、ディスクアクセスセキュリティエージェントによって)提示され得る。幾つかの実施において、階層的な又は連続した動作を含む複数の動作が、例えば、保護された範囲の識別されたアクセスの試み等の、特定の検出されたイベントに応答して定義され得る。例えば、規定された動作のうちの1つが失敗する場合は(例えば、コピーオンライト)、これは他の定義されている動作(例えば、ブロック/許可)を変更しない。失敗は、幾つかの実施において、記録され得るが、次いで、他の動作が通常通りに続行するべきである。更に、ポリシーは、ディスクアクセスセキュリティエージェントが登録されたコールバックを有するときは“オンラインモード”、あるいは、ディスクアクセスセキュリティエージェントが利用可能でないときは“オフラインモード”を同じLPA範囲に適用する動作を定義することができる。実際に、タイムアウトが、ある動作に関連して、例えば、非同期コールバックが完了するのを待つ間に、認められる場合は、セキュアストレージデバイスは、幾つかの実施において、オフライン動作にフェイルオーバすることができる。例えば同期コールバック等のコールバックは、ストレージデバイスでの動作の実行を協調させるようストレージデバイスとディスクアクセスセキュリティエージェントとの間で使用され得る。例えば、ディスクアクセスセキュリティエージェントにおけるコールバックルーチンは、イベントを処理するために呼び出され得、コールバックは、それに応答して、セキュアストレージデバイスによって実行されるべき動作を返すことができる。
様々な動作が、ディスクアクセスセキュリティエージェントからの同期コールバックに関連して返され得る。実際に、動作の組み合わせが返され得る。そのような動作は、例えば、“読み出し”イベントに関して、幾つかある例の中でも特に、読み出しの許可又はブロック;擬似データ読み出しの実行及びデータの変更されたビューのリターン;読み出しイベントのログ詳細を含むことができる。“書き込み”イベントに関して、次のもののあらゆる組み合わせが返されてよい:幾つかある例の中でも特に、書き込みが、許可され、ブロックされ、又は‘偽の’成功を返されてブロックされ得ること;コピーオンライトオペレーション;セーブ試行書き込みオペレーション;書き込みイベントのロギング。“トリム”イベントに関して、次のもののあらゆる組み合わせが返されてよい:幾つかある例の中でも特に、トリムの許可又はブロック;コピーオンライト;トリムイベントのロギング。原の読み出し/書き込みイベントはペンディング(PENDING)状態で保持されてよく、一方、同期コールバックは処理される。
更に、ポリシーは、ディスクアクセスセキュリティエージェントが利用可能でないときに“オフライン”モードに設定される動作を提供することができる。“読み出し”イベントに関して、次のもののあらゆる組み合わせが実行され得る:幾つかある例の中でも特に、読み出しの許可又はブロック;読み出しイベントの詳細記録。“書き込み”イベントに関して、次のもののあらゆる組み合わせが提供され得る:幾つかある例の中でも特に、書き込みが許可され、ブロックされ、又は‘偽の’成功を返されてブロックされ得ること;コピーオンライトオペレーション;セーブ試行書き込みオペレーション;書き込みイベントのロギング。“トリム”イベントに関して、次のもののあらゆる組み合わせが返されてよい:幾つかある例の中でも特に、トリムの許可又はブロック;コピーオンライト;トリムイベントのロギング。
ディスクアクセスセキュリティエージェントは、セキュアストレージ対応ストレージデバイスから通知(エラー又は他のステータス)を受け取るためにステータスコールバックを登録することができる。そのような通知は、例えば、とりわけ、バックアップストレージ又はセキュアボールトがいっぱいであるといった、重要な条件を識別することができる。更に、幾つかの例では、次の情報がコールバックルーチンに提供され得る:アクセスされるLBA範囲、設定中に指定されたLBA範囲メタデータ、要求されるアクセスのタイプ(読み出し/書き込み/トリム)、書き込まれるコンテンツ(適用可能である場合)、SRB、IRP、又はディスクアクセスのために使用される同様のポインタ(エージェントが低レベルのI/Oをより高いレベルの要求に整合させるのを、そして、最終的に、I/Oを始動したプロセスを助けるため)。更に、コールバックは、幾つかの事例において、書き込み/読み出しされるデータを変更することができる。
ロギングは、幾つかある可能性がある例の中でも特に、アクセスされるLBA範囲のインジケーション、設定中に指定されたLBA範囲メタデータ、要求されるアクセスのタイプ(読み出し/書き込み/トリム)、アクセスが許可されたのかそれともブロックされたのかに関するインジケーション、読み出し/書き込みされるデータのオフセット及び長さ、タイムスタンプ(又はエージェントがストレージデバイスのタイミングカウンタからタイムスタンプを推測することを可能にするメカニズム)等の情報のロギング並びに保持及びアクセスを含むことができる。ログデータは、セキュアボールトの指定されたセクションに記憶され得る。ロギングは、例えば、ストレージデバイスからの、例えば、侵犯レポート(特定のモニタリング/保護されているLBA範囲がアクセスされるとき)及びステータス/エラー通知を含むことができる。そのようなエラー通知は、例えば、セキュアボールトのバックアップ空間が満杯になること、又はセキュアストレージデバイスが、ディスクアクセスセキュリティエージェントのコールバックがイベントを処理するのを待っている間にタイムアウトしたこと、等を示す通知を含むことができる。更に、幾つかの実施において、ログは、循環バッファとして扱われ得る。サイズ制限に達するとき、ログの最も古いエントリは、引き続きそれに加えられる新しいデータによりパージされ得る。
図6A乃至6Cを参照すると、例となるコピーオンライト(COW)オペレーションを表す略ブロック図が、示されている。上述されたように、ディスクの部分は、被保護と指定され得る。然るに、図6Aの例では、例となるディスクの部分605は、被保護として表されている。例えば、初期化ステップは、幾つかある例の中でも特に、重要なオペレーティングシステムファイル、例えばマスタブート記録(MBR)等のブートセクタ、マスタファイルテーブル、及びセキュリティアプリケーションファイル(例えば、エージェント及び他のセキュリティサービスの自己防衛、等のため。)に対応する記録範囲のようなディスクストレージ内の重要な又は細心の注意を払うべきファイル及び範囲を識別するために実行され得る。対応するポリシーは、保護されているディスクデータ記録範囲の様々なタイプに適用され得る。幾つかの実施において、保護されるディスク範囲(例えば、605)内の記録(例えば、610)の書き込みの試みは、1又はそれ以上の適用されるポリシーに従って読み出しの試みに応答して自動化されたコピーオンライトオペレーションをトリガするポリシーを条件とすることができる。例えば、最新のマルウェアは、重要なオペレーティングシステム及びブートセクタファイルの上書きの主導権を握ろうと試みることがある。通常、そのようなマルウェアは、ディスクの上書き又は感染された領域をロックし、さもなければ従来の技術及びツールによる除去又は修正に抗うことがある。
目下の例において示されているように、保護されているデータ記録610の書き込みの試みは、例えば、バックアップメモリにおいて、生成及び記憶されるべきデータ記録610のバックアップコピーをトリガすることができる。幾つかの事例において、バックアップコピーは、ディスクのセキュアボールト領域に存在することができる。書き込みの試みは、図6Bに示されるように、続行して、データ記録610を書き換えることを可能にされ得る。図6Cを参照すると、例えば、ディスクアクセスセキュリティエージェントとインターフェース接続する1又はそれ以上のセキュリティ管理アプリケーション又はセキュリティツールによる、書き込みの試みがデバイスにおける何らかの不審な、不安定な、又は悪意のあるコードに対応したとの決定に基づき、データ記録610に対する書き込みの試みは起こらなかったはずであると後に決定されてよい。然るに、コピーオンライトオペレーションを通じて作成されたバックアップコピーは、書き込まれるべきデータ範囲610のコンテンツをリストアするために、データ範囲610への直接書き込みを通じて利用され得る。
コピーオンライトオペレーションは、マルウェア及び他の好ましくないコードの修正の間に原データをリストアするのに有用であることができる。コピーオンライトデータは、ディスクのバックアップ領域において、例えばセキュアボールトにおいて、保持され得る。新しいコピーオンライトデータを収容するのに十分な空間がバックアップエリアにない場合は、他のバックアップデータが上書きされ得るか、あるいは、幾つかの事例では、とりわけ、コピーオンライトオペレーションはスキップされ得る。更に、ディスク書き込みの試みが、モニタされているLBA範囲を越えて拡大する事例において、コピーオンライトオペレーションは、モニタされているLBA範囲に対応するデータの部分のみをバックアップすることができる。例えば、LBA範囲100〜110がモニタされているところ、書き込みの試みは範囲95〜115に対して行われる場合は、COWバックアップは、LBA範囲100〜110からのデータのみを反映すべきである。更に、幾つかの実施において、バックアップエントリは、ディスクアクセスセキュリティエージェントが、それがどのエントリに作用したいかを連絡することができるように、有意な方法において命名され得る。実際に、ディスクアクセスセキュリティエージェントは、とりわけ、バックアップのリストを循環し、夫々についてメタデータを取り出し、あるエントリの全データを読み出すよう構成され得る。
図7A乃至7Cは、例となるセキュアストレージ対応ストレージデバイスに関するセーブ試行書き込み(SAW)オペレーション及び擬似データ読み出しを例示する。例えば、図7Aでは、書き込みの試みは、データ記録の保護されている範囲710に含まれるデータ記録705において識別される。幾つかの実施において、書き込みの試みは、1又はそれ以上のポリシーに従って、セーブ試行書き込みオペレーションをトリガすることができる。セーブ試行書き込みオペレーションは、例えば、疑わしいマルウェアペイロードがディスクに書き込まれているときに、行われ得る。書き込まれるよう試みられたデータはバックアップされ得、例えば、データのより広い(非同期の)評価が、例えば、ストレージデバイスでの更なるモニタリングを通じて、実行され得るようにする。セーブ試行書き込みデータは、幾つかの例では、例えば、コピーオンライトオペレーションからの他のバックアップデータを含むセキュアボールトの指定されたセクションにおいて記憶され得る。
図7Aの例では、セーブ試行書き込みオペレーションは、例えば、とりわけ、ディスクアクセスセキュリティエージェントによって、検出された書き込みの試みが悪意のある、不安定な、又は不審なプログラムに由来するか又はそれに関係があるとのディスクアクセスセキュリティエージェントで(例えば、ディスクアクセスセキュリティエージェントとインターフェース接続する他のセキュリティツールから)受信されたインテリジェンスに基づき、命令され得る。図7Bを参照すると、幾つかの事例において、原の書き込みの試みに関与するプログラムは、その動作がモニタ又はブロックされているかどうかを、例えば、その書き込みの試みが許可されて成功したことを確認するためにリードバック要求を送信することによって、検出しようと試みることがある。ディスクアクセスセキュリティエージェント及び潜在的に他のセキュリティ管理アプリケーションを用いて、検出されたリードバック要求がこのプログラムに由来すると決定され得る。更に、この決定に基づき、擬似データ読み出し動作が(例えば、1又はそれ以上のポリシーに従って)トリガされ、原の書き込みの試みのコンテンツを含むセーブ試行書き込みバックアップデータを用いてリードバック要求に応答することができる。幾つかの事例において、ホワイトリスト又はブラックリストは、リードバック要求若しくはデータのフルビューを提供すべきか又は擬似データ読み出し動作をトリガすべきかを決定するために参考にされ得る。擬似データ読み出し動作は、書き込みの試みを行う発信プログラムの性質を評価するようシステムのために付加的な時間を持たせることができる。幾つかの事例において、原の試みをブロックすることに関わらず、書き込みの試みの出所は信頼でき、試みは正当であったと決定され得る。然るに、図7Cの例において示されているように、エージェントは、ストレージデバイスが、セーブ試行書き込みバックアップから対応するデータをコピーし、そのデータを(例えば、直接書き込み動作を利用して)目標のデータ記録705に書き込むことによって、(図7Aの)原の書き込みの試みを実施することを要求することができる。
COW動作と同様に、新しいエントリのためにセキュアボールトのバックアップエリアにおいて十分な空間が存在しない場合は、SAWオペレーションはスキップされ得、既存のセキュアボールトデータは変更されないままであることができる。他の実施では、SAW動作は、より古いバックアップデータを上書きすることを進めることができる。セーブ試行書き込み動作を実行できなかったことは、ログに報告され得る。更に、幾つかの実施において、試みられたディスク書き込みが、モニタリングされているLBA範囲を越えて拡大するとき、セーブ試行書き込みは、モニタリングされているLBA範囲に対応するデータの部分のみをバックアップしてよい。
幾つかの実施において、オペレーティングシステムは、ストレージデバイスの数的にアドレッシング可能なアブストラクションをストレージバスドライバ、ディスククラスフィルタドライバ、及びディスククラスドライバにあるあらゆるフィルタドライバのような低レベルドライバに提供することができる。アドレス範囲は、そのセクタに関してゼロからディスクのサイズにまで及ぶことができる。各セクタサイズは、ストレージデバイスのフォーマット方式に依存することができる。各セクタは、そのLBA又は論理ブロックアドレスによってアドレッシングされ得る。設定アプリケーション(例えば、ディスクアクセスセキュリティエージェントを利用する。)は、ストレージデバイスのセクタの保護のためにポリシーデータを送信することができる。ポリシーデータは、その最も簡単な形において、I/Oオペレーション(読み出し/書き込み/両方)のタイプ、セクタの開始アドレス(LBA)、及び保護されるべきセクタの数を含むことができる。保護は、I/Oがポリシーにおいてセクタ/LBAによって定義されているディスクの領域にある場合に、ポリシーにおいて選択されるI/Oオペレーションがディスクフィルタドライバによって拒否されることを示唆することができる。
一例において、何らかのアプリケーションによるI/Oオペレーションは、I/Oのタイプ(例えば、読み出し/書き込み)、それが(ディスク上のセクタに関して)目的としているディスク領域、及びサイズのうちの1又はそれ以上によって定義され得る。ディスクフィルタは、従って、そのシステムメモリにおいてポリシーデータを保持し、ディスクに対して行われるI/Oオペレーションごとにそれを確認することができる。ディスクフィルタの確認(又はルックアップ)オペレーションは、システム及びストレージデバイスで実行されるあらゆるアプリケーションの2つの経路にあり、ポリシーの数は多数であり、ディスク上の全てのLBAにわたって散らばっているから、ディスクフィルタの確認オペレーションは、アプリケーション、ディスクアクセスセキュリティエージェント、及びシステム全体の性能を著しく低下させ得る。
特定のディスク領域(又はディスク上のデータ記録の範囲)に適用可能なポリシーをより効率的に調べるのを助けるよう、改善されたルックアップメカニズムが、関連するポリシーのより的を絞った検索を可能にするために提供され得る。例えば、図8A乃至8Bの簡略化された例において表されているように、ストレージメディアは、固定数のセクタの単一の線形に増大し且つ数的にアドレッシング可能なオブジェクトと見なされ得る。例えば、図8Aは、N個のセクタのディスクの表現を表す。影付きの領域は、例えば、開始セクタ及びその長さによって定義されるディスク上の範囲を示すことができる。ディスクフィルタドライブは、多くのそのような範囲を、その範囲に対するI/O(又は読み出し/書き込み)試行のための動作を支配する各範囲に関連した1又はそれ以上のポリシーとともに記憶することができる。
幾つかの事例において、記憶される範囲(及び各範囲に関連するポリシー)の数は非常に多い可能性があり、それらを高次又は線形順序の探索によりデータ構造において記憶することは、次善である。一例となる実施では、木構造、例えばAVLツリー等の二分探索木が使用され得る。更に、ある範囲における1又はそれ以上のデータ記録に適用可能な各ポリシーは、幾つかの実施において、ディスク全体についての単一の全体的な探索木のノード記録として記憶され得る。他の、より最適化された実施では、複数の二分探索木が単一のディスクのために提供され得る。夫々の定義された範囲は、各木がより一層小さい深さを有(し、それにより、全体的なルックアップ時間を改善)するように、関連する木を割り当てられ得る。実際に、ディスクごとに1つの全体的な木を利用し、I/Oごとにその木を走査しなければならいことに代えて、ディスクは、エクステント(extent)と呼ばれる多くの等しい大きさにされたより小さいディスク(及び起こり得る同等でない最後のディスク)の集合のようなセクションの集合として構成され得る。
一例となる実施では、単一のACL(又は他の二分)木が提供され、ディスクについて定義された各エクステントに割り当てられる。然るに、各木は、その夫々のエクステントに対応するディスク範囲についてのポリシー情報のみを記憶する。幾つかの事例において、特定の範囲は、複数のエクステント境界にわたることがあり、その場合に、単一の範囲は、幾つかの事例において、複数の範囲に分けられ、複数のエクステントにわたって細分され、それにより、その単一の範囲の各部分は、単一のエクステント境界内に含まれる。更に、各エクステントに特有の木は、対応するエクステント内のデータ記録範囲に適用可能なポリシーを識別するノードを含むことができる。これは、夫々の木のより一層効率的な探索を提供することができる。例えば、特定のデータ記録又はデータ記録の範囲に付随しておこる検出された読み出し/書き込み動作に応答して、1又はそれ以上の対応するエクステントは、その特定のデータ記録又は記録の範囲を含むと識別され得る。更に、特定のデータ記録のエクステントについての対応する探索木は識別され、ポリシー又は保護指定が、特定のデータ記録に適用すると定義されているかどうかを迅速に決定するよう調べられ得る。
更に、幾つかの実施では、ビットマスクが保持され、何らかのポリシーが所与のエクステント内の記録について定義されているかどうかを決定するためのショートハンドメカニズムを提供することができる。例えば、ビットマスクは、所与のエクステントにおける“保護範囲”の状態を記憶するビットを含むことができる。例えば、対応するエクステントが幾つか(ゼロより大きい)の保護されている範囲を有する場合は、そのビットは“真(TRUE)”とマークされ得る。しかし、所与のエクステントが保護される範囲又は適用されるポリシーを有さない場合は、その対応するビットは“偽(FALSE)”とマークされ得る。図8Bの例では、例えば、エクステント805は、保護される範囲815を含むことができ、ビットマスクにおけるその対応するビットは、“1”に設定され得る。同様に、エクステント815及び825も、保護される範囲(例えば、820、830、835)を含むことができ、それらの対応するビットも“1”に設定され得る。保護されるデータ範囲を(未だ)含まない他のエクステント(例えば、840)は、図8の例において示されているように、“0”に設定されたそれらのビットマスク値を有することができる。
例となるビットマスク、又は例えばフラグ等の他のインジケータの使用を通じて、識別された範囲の記録についての特定のエクステントの識別は、第1に、何らかの保護される範囲又はポリシーがそのエクステント内に存在するかどうかを決定するようビットマスク又は他のインジケータのルックアップを生じさせることができる。そのような範囲又はポリシーが存在しないとビットマスク又は他のインジケータのおかげで決定される場合は、対応するエクステント探索木の探索はスキップされ得(、幾つかの例において、I/O試行は、ストレージデバイス及び/又はディスクアクセスセキュリティエージェントによる余分の介入なしでシームレスに続行することができ)る。1又はそれ以上の保護される範囲又はポリシーが所与のエクステント内の範囲に関連するとビットマスクが示す場合に、対応するエクステント探索木は識別され、幾つかの場合に、とりわけ、ストレージデバイス及び/又はディスクアクセスセキュリティエージェントのセキュアストレージ機能をトリガするよう、ポリシー又は保護が特定の範囲の記録に適用されるかどうかを決定するために探索され得る。
図9A乃至9Eは、少なくとも部分的に上記の原理に基づくセキュアストレージプラットフォームを利用する技術の例を説明するフローチャート900a乃至eを含む。例えば、図9Aの例では、ディスクアクセスセキュリティエージェントは、1又はそれ以上のセキュリティツール及び1又はそれ以上のセキュアストレージ対応ストレージデバイスの両方とインターフェース接続することができる。要求は、ストレージデバイスのうちの1つのデータ記録に関してセキュリティツールから受信902され得る。要求は、例えば、幾つかある例の中でも特に、1又はそれ以上のセキュリティポリシーに従って、ストレージデバイス上のデータの照合又は検査(例えば、直接読み出しによる。)を要求し、ストレージデバイスへの書き込み、読み出し又は別なふうなアクセスの試みといったセキュリティイベントを識別し、ストレージデバイスのセキュアストレージ機能を用いてストレージデバイス上で実行されるよう特定のセキュリティオペレーション又はセキュリティオペレーションの組を要求することができる。ディスクアクセスセキュリティエージェントは、APIを用いてストレージデバイスとインターフェース接続904することができる。幾つかの実施において、APIは、セキュアストレージ対応ストレージデバイスの複数の異なった実施とインターフェース接続する際に使用されるコモンAPIであることができる。APIは、セキュリティツールから受信された要求902への応答に関連して、ストレージデバイスのセキュアストレージ機能を通じて提供されるオペレーションをトリガするために使用され得る。例えば、ディスクアクセスセキュリティエージェントは、セキュアストレージ機能を用いてストレージデバイスで実行されるべき1又はそれ以上のセキュリティオペレーションを、例えばAPIへのコールを通じて、引き起こすこと906ができる。そのようなセキュリティオペレーションは、例えば、幾つかある例の中でも特に、直接読み出し、直接書き込み、擬似データ読み出し、擬似書き込み成功、COW、SAW、ロギング、記録ロック、読み出し及び書き込みの試みの許可及びブロック等のセキュアストレージオペレーションを使用することができる。
図9Bの例では、ロックされる又は別なふうに保護されるデータ記録は、セキュアストレージ対応ストレージデバイスにおいて識別908され得る。直接読み出しは、ストレージデバイスから直接に、ストレージデバイスでの実際の値を識別するために実行910されるように、引き起こされ得る。識別された値は、セキュリティツールへ送信912され得、記録の値を変更する命令が、それに応答してセキュリティツールから受信914され得る。データ記録の直接書き込みは、直接読み出しの結果において返された値とは異なる値によりデータ記録の実際の値を書き換えるよう実行916されるように、引き起こされ得る。
図9Cの例では、セキュアストレージ対応ストレージデバイスの1又はそれ以上のデータ記録へ書き込む試みが、(例えば、ストレージデバイスの記録の少なくとも一部をモニタリングするセキュリティツールからの通信から)識別918される。特定のデータ記録が保護されること、あるいは、1又はそれ以上のセキュリティポリシーが特定のデータ記録に適用されることが、識別912され得る。セキュリティオペレーションは、例えば、書き込みの試みが新しいデータを特定のデータ記録に書き込むことを可能にする前にデータ記録のコンテンツのコピーを作成するコピーオンライトオペレーション等を実行922され得る。コピーされたデータは、COWデータ記録においてバックアップされ、特定のデータ記録の値を、例えば、その特定のデータ記録へデータを直接書き戻すことを通じて、リストアするために使用され得る。
図9Dの例では、セキュアストレージ対応ストレージデバイスの特定のデータ記録の試みられた書き込みは識別924され、例えば、書き込みの試みが悪意のある又は信頼できない性質を有する可能性があることを識別するセキュリティツールからの要求又は通信に基づき、SAWオペレーションをトリガすることができる。例えば、試みられた書き込みにおいて書き込まれるよう試みられるデータは、例えばSAWデータ記録等のバックアップストレージへデータを書き込むことによって、セーブ926され得る。SAWデータ記録は、次いで、例えば、書き込みの試みの性質及び出所を解析し、書き込みの試みが悪意のある、誤った、又は他の好ましくない条件に関連付けられるか否かを決定するために、使用928され得る。
図9Eの例では、試みられたI/Oオペレーションは、ストレージデバイスの特定のデータ記録に関して識別930され得る。ストレージデバイスの特定の部分(例えば、エクステント)は、特定のデータ記録が、あるストレージデバイスの部分等の特定のデータ記録に対応すると識別932され得る。ルックアップ木構造は、ストレージデバイスの識別された部分に対応するルックアップ木構造の組において識別934され得る。次いで、ルックアップ木は、ポリシー、規則、又は機能が特定のデータ記録に適用されるかどうかを決定するために使用936され得る。幾つかの事例において、1以上のポリシー又は規則が特定のデータ記録に適用されると決定することは、例えばCOWオペレーション、SAWオペレーション、擬似データ読み出しオペレーション、擬似書き込み成功オペレーション、I/Oオペレーションのブロッキング、等のような、ディスクアクセスセキュリティエージェントの指示で実行されるべき1又はそれ以上のセキュアストレージオペレーションをトリガすることができる。
図10乃至12は、ここで開示されている実施形態に従って使用され得るコンピュータアーキテクチャの例のブロック図である。プロセッサ、モバイルデバイス、及びコンピューティングシステムについて当該技術で知られている他のコンピュータアーキテクチャ設計も使用されてよい。一般に、ここで開示されている実施形態のための適切なコンピュータアーキテクチャは、図10乃至12に表されている構成を含むことができるが、それらに限られない。
図10は、実施形態に従うプロセッサの例示である。プロセッサ1000は、上記の実施に関連して使用され得る一種のハードウェアデバイスの例である。
プロセッサ1000は、例えばマイクロプロセッサ、組み込みプロセッサ、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、マルチコアプロセッサ、シングルコアプロセッサ、又はコードを実行する他のデバイス等のあらゆるタイプのプロセッサであってよい。ただ1つのプロセッサ100しか図10では表されていないが、プロセッシング要素は、代替的に、図10に表されているプロセッサ1000を1よりも多く含んでよい。プロセッサ1000は、シングルスレッドのコアであってよく、あるいは、少なくとも1つの実施形態に関して、プロセッサ1000は、それがコアごとに1よりも多いハードウェアスレッドコンテキスト(又は“論理プロセッサ”)を含むことができる点で、マルチスレッド化されてよい。
図10は、実施形態に従って、プロセッサ1000に結合されているメモリ1002を更に表す。メモリ1002は、当業者に知られているか又は別なふうに利用可能である多種多様なメモリ(メモリ階層の様々な層を含む。)のいずれかであってよい。そのようなメモリ要素は、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、フィールドプログラマブルゲートアレイ(FPGA)の論理ブロック、消去可能なプログラム可能読出専用メモリ(EPROM)、及び電気的消去可能なプログラム可能ROM(EEPROM)を含むことができるが、それらに限られない。
プロセッサ1000は、ここで記載されているアルゴリズム、プロセス、又はオペレーションに関連したあらゆる種類の命令を実行することができる。一般に、プロセッサ1000は、要素又はアーティクル(例えば、データ)を1つの状態又はものから他の状態又はものへ変形することができる
コード1004は、プロセッサ1000によって実行される1又はそれ以上の命令であって、メモリ1002に記憶されてよく、あるいは、ソフトウェア、ハードウェア、ファームウェア、若しくはそれらの何らかの適切な組み合わせにおいて、又は必要に応じて且つ特定のニーズに基づき何らかの他の内部若しくは外部のコンポーネント、デバイス、要素若しくはオブジェクトにおいて記憶されてよい。一例において、プロセッサ1000は、コード1004によって示される命令のプログラムシーケンスに従うことができる。各命令は、フロントエンドロジック1006に入り、1又はそれ以上のデコーダ1008によって処理される。デコーダは、予め定義されたフォーマットにおける固定幅のマイクロオペレーション等のマイクロオペレーションをその出力として生成してよい。フロントエンドロジック1006は、レジスタリネーミングロジック1010及びスケジューリングロジック1012を更に含み、それは、一般に、リソースを割り当て、実行のために命令に対応するオペレーションをキューに入れる。
プロセッサ1000は、実行ユニット1016a、1016b、1016n等の組を備える実行ロジック1014を更に有することができる。幾つかの実施形態は、特定の機能又は機能の組に専用の多数の実行ユニットを有してよい。他の実施形態は、ただ1つの実行ユニット又は特定の機能を実行することができる1つの実行ユニットを有してよい。実行ロジック1014は、コード命令によって指定されるオペレーションを実行する。
コード命令によって指定されるオペレーションの実行の完了後、バックエンドロジック1018は、コード1004の命令をリタイアすることができる。一実施形態において、プロセッサ1000は、アウトオブオーダー実行(out of order execution)を可能にするが、命令のインオーダーリタイアメント(in order retirement)を必要とする。リタイアメントロジック1020は、様々な既知の形態をとってよい(例えば、リオーダバッファ又は同様のもの)。このように、プロセッサ1000は、少なくとも、レジスタリネーミングロジック1010によって利用されるデコーダ、ハードウェアレジスタ及びテーブル並びに実行ロジック1014によって変更されるあらゆるレジスタ(図示せず。)によって生成される出力に関して、コード1004の実行中に変形される。
図10に図示されていないが、プロセッシング要素は、プロセッサ1000を備えるチップ上の他の要素を含んでよい。例えば、プロセッシング要素は、プロセッサ1000とともにメモリ制御ロジックを含んでよい。プロセッシング要素は、I/O制御ロジックを含んでよく、及び/又はメモリ制御ロジックと一体化されたI/O制御ロジックを含んでよい。プロセッシング要素は、1又はそれ以上のキャッシュを更に含んでよい。幾つかの実施形態において、不揮発性メモリ(例えば、フラッシュメモリ又はヒューズ)が更に、プロセッサ1000を備えるチップ上に含まれてよい。
これより、図11を参照すると、ブロック図が、例となるモバイルデバイス1100について表されている。モバイルデバイス1100は、ここで記載されている例及び実施の可能なコンピューティングシステム(例えば、ホスト又はエンドポイントデバイス)の例である。実施形態において、モバイルデバイス1100は、無線通信信号の送信器及び受信器として作動する。具体的に、一例において、モバイルデバイス1100は、セルラーネットワークボイス及びデータモバイルサービスの送信及び受信の両方が可能であってよい。モバイルサービスは、フルインターネットアクセス、ダウンロード可能なストリーミングビデオコンテンツ、及び音声電話通信のような機能性を含む。
モバイルデバイス1100は、“3G”すなわち“第3世代”のセルラーサービスを受信することができるハンドセット等の従来の無線又はセルラー携帯電話機に対応してよい。他の例では、モバイルデバイス1100は、“4G”モバイルサービス又は何らかの他のモバイルサービスを同様に送信及び受信することが可能であってよい。
モバイルデバイス1100に対応することができるデバイスの例には、電話サービスをサポートする機能とともに、インターネットアクセス、電子メール、及びインスタントメッセージング通信が可能なデバイス、並びに携帯型のビデオ受信及び表示デバイス等のセルラー電話ハンドセット及びスマートフォンが含まれる。本明細書を参照した当業者であれば、ここで記載されている本開示の種々の態様の実施に適した最新のスマートフォン並びに電話ハンドセットデバイス及びシステムの性質を容易に理解するであろうと考えられる。そのようなものとして、図11に表されているモバイルデバイス1100のアーキテクチャは、比較的高いレベルで表されている。それにも関わらず、このアーキテクチャに対する変更及び代替が為されてよく、そのような変更及び代替が本明細書の適用範囲内にあるみなされることは当業者に明らかである。
本開示の態様において、モバイルデバイス1100は、アンテナへ接続されており且つそのアンテナと通信するトランシーバ1102を有する。トランシーバ1102は、無線周波数トランシーバであってよい。また、無線信号は、トランシーバ1102を介して送信及び受信されてよい。トランシーバ1102は、例えば、アナログ及びデジタル無線周波数(RF)‘フロントエンド’機能、RF信号を、必要に応じて中間周波数(IF)を介して、ベースバンド周波数へ変換する回路、アナログ及びデジタルフィルタリング、並びに最新のセルラー周波数、例えば、3G又は4G通信に適した周波数を介して無線通信を実行するのに有用な他の従来の回路を含むよう構成されてよい。トランシーバ1102はプロセッサ1104へ接続される。プロセッサ1104は、ベースバンド周波数で通信されるべき信号及び受信される信号のデジタル信号処理のバルクを実行してよい。プロセッサ1104は、ユーザへのテキスト、グラフィクス、及びビデオの表示のためのディスプレイ要素1108と、例えばタッチパッド、キーパッド、ローラマウス、及び他の例等の、ユーザからの入力を受け入れる入力要素1110とへグラフィクスインターフェースを提供することができる。プロセッサ1104は、図10のプロセッサ1000を参照して図示及び記載されたような実施形態を含んでよい。
本開示の態様において、プロセッサ1104は、ここで詳述されている機能及びオペレーションを達成するようあらゆるタイプの命令を実行することができるプロセッサであってよい。プロセッサ1104はまた、プロセッサ1104を用いて実行されるオペレーションで使用される情報及びデータを記憶するメモリ要素1106へ結合されてよい。例となるプロセッサ1104及びメモリ要素1106の更なる詳細は、ここで後述される。例となる実施形態では、モバイルデバイス1100は、少なくとも幾つかの実施形態においてモバイルデバイスの多くの又は全てのコンポーネントを単一のチップに組み込むシステムオンチップ(SoC)アーキテクチャにより設計されてよい。
図12は、実施形態に従って、ポイント・ツー・ポイント(PtP)構成において配置されるコンピューティングシステム1200を表す。特に、図12は、プロセッサ、メモリ、及び入力/出力デバイスが多数のポイント・ツー・ポイントインターフェースによって相互接続されるシステムを示す。一般に、ここで記載されているコンピューティングシステムのうちの1又はそれ以上は、コンピューティングシステム1200と同じ又は類似した様態において構成されてよい。
プロセッサ1270及び1280はまた、メモリ要素1232及び1234と通信するよう集積メモリコントローラロジック(MC)1272及び1282を夫々有してよい。代替の実施形態では、メモリコントローラロジック1272及び1282は、プロセッサ1270及び1280とは別個のディスクリートロジックであってよい。メモリ要素1232及び/又は1234は、ここで説明されているオペレーション及び機能を達成する際にプロセッサ1270及び1280によって使用される様々なデータを記憶してよい。
プロセッサ1270及び1280は、他の図面に関連して論じられているもののようなあらゆるタイプのプロセッサであってよい。プロセッサ1270及び1280は、ポイント・ツー・ポイントインターフェース回路1278及び1288を夫々用いてポイント・ツー・ポイント(PtP)インターフェース1250を介してデータを交換してよい。プロセッサ1270及び1280は、ポイント・ツー・ポイントインターフェース回路1276、1286、1294及び1298を用いて個別的なポイント・ツー・ポイントインターフェース1252及び1254を介してチップセット1290と夫々データを交換してよい。チップセット1290はまた、PtPインターフェース回路であることができるインターフェース回路1292を用いて、高性能グラフィクスインターフェース1239を介して高性能グラフィクス回路1238とデータを交換してよい。代替の実施形態では、図12に表されているPtPリンクのいずれか又は全ては、PtPリンクよりむしろマルチドロップバスとして実施されてよい。
チップセット1290は、インターフェース回路1296を介してバス1220と通信してよい。バス1220は、例えばバスブリッジ1218及びI/Oデバイス1216等の、バス1220を介して通信する1又はそれ以上のデバイスを有してよい。バス1210介して、バスブリッジ1218は、例えばキーボード/マウス1212(又は例えばタッチスクリーン、トラックボール等の他の入力デバイス)、通信デバイス1226(例えばモデム、ネットワークインターフェースデバイス、又はコンピュータネットワーク1260を通じて通信することができる他のタイプの通信デバイス)、オーディオI/Oデバイス1214、及び/又はデータストレージデバイス1228等の他のデバイスと通信してよい。データストレージデバイス1228は、プロセッサ1270及び/又は1280によって実行され得るコード1230を記憶してよい。代替の実施形態では、バスアーキテクチャのいずれかの部分は、1又はそれ以上のPtPリンクにより実施されてよい。
図12に表されているコンピュータシステムは、ここで論じられている様々な実施形態を実施するのに利用され得るコンピューティングシステムの実施形態の概略図である。図12に表されているシステムの様々なコンポーネントは、システムオンチップ(SoC)―キテクチャにおいて、又はここで提供されている例及び実施の機能及び特徴を達成可能な何らかの他の適切な構成において、組み合わされてよいことが明らかである。
次の例は、本明細書に従う実施形態に関する。1又はそれ以上の実施形態は、ストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するセキュリティツールからのリクエストを受け取り、セキュアストレージオペレーションの組を可能にする前記ストレージデバイスのセキュアストレージ機能とインターフェース接続するためにアプリケーションプログラミングインターフェース(API)を使用し、少なくとも部分的に前記リクエストに基づき前記データ記録に伴って生じる前記ストレージデバイスで実行されるべきセキュリティオペレーションを引き起こす装置、システム、機械可読ストレージ、機械可読媒体、及び方法を提供してよい。
少なくとも一例において、前記APIは、ホストベースのセキュアストレージ機能、チップセットベースのセキュアストレージ機能、及びファームウェアベースのセキュアストレージ機能の夫々に共通するセキュアストレージ機能の組を助けることができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接読み出しオペレーションを含むことができる。
少なくとも一例において、前記セキュリティオペレーションは、前記データ記録からの特定のデータ記録の直接読み出しを含むことができる。該直接読み出しを通じて取得された前記特定のデータ記録の内容は、セキュリティツールへ送信され得、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録を直接書き込みオペレーションを通じて書き換えることを含むことができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接書き込みオペレーションを含むことができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、コピーオンライトオペレーションを含むことができる。
少なくとも一例において、前記セキュリティオペレーションは、コピーオンライトオペレーションを含むことができ、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、前記試みられる書き込みオペレーションを許可する前に、1又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップへコピーすることとを含むことができる。
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションの後に、書き込まれるべき前記特定のデータ記録のデータを前記コピーオンライト・バックアップのデータにより置き換えることで、前記特定のデータ記録を修正することを含むことができる。
少なくとも一例において、前記書き込まれるべき特定のデータ記録のデータは、直接書き込みオペレーションを通じて前記コピーオンライト・バックアップのデータにより置き換えられ得る。
少なくとも一例において、前記セキュアストレージオペレーションの組は、セーブ試行書き込みオペレーションを含むことができる。
少なくとも一例において、前記セキュリティオペレーションは、セーブ試行書き込みオペレーションを含むことができ、前記リクエストは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別するために使用され得、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記特定のデータ記録に対する前記試みられる書き込みオペレーションを許可せずに、代わりに該書き込みオペレーションをセーブ試行書き込み(SAW)記録に対して実行することで、前記試みられる書き込みオペレーションをセーブすることを含むことができる。
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、書き込まれるべき前記SAW記録の内容を組み込む疑似データ読み出しにより前記特定のデータ記録のリードバックリクエストに対して応答を生成することを含むことができる。
少なくとも一例において、前記実行されるべきセキュリティオペレーションを引き起こすことは、前記試みられる書き込みオペレーションをセーブした後に該試みられる書き込みオペレーションを許可することと、前記試みられる書き込みオペレーションを許可するために前記SAW記録の内容を使用することとを含むことができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーションを含むことができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、データ範囲ロックダウンオペレーションを含むことができる。
少なくとも一例において、前記セキュアストレージオペレーションの組は、直接読み出しオペレーション、直接書き込みオペレーション、書き込み許可オペレーション、及び書き込みブロックオペレーションを含むことができる。前記組は、疑似データ読み出しオペレーション及び疑似書き込み成功オペレーションを更に含むことができる。
少なくとも一例において、前記セキュアストレージデバイスから前記APIを介して、前記セキュリティオペレーションの結果を記述するフィードバックデータが受信され得る。該フィードバックデータは、コールバック、前記セキュアストレージプラットフォームによって生成されるログ、又は他のフォームに含まれ得る。
本明細書は、多数の具体的な実施詳細を包含する一方、それらは、あらゆる発明、すなわち、請求され得るもの、の適用範囲に対する制限としてではなく、むしろ、特定の発明の特定の実施形態に特有の特徴の記載と解釈されるべきである。別々の実施形態に関して本明細書において記載されている特定の特徴はまた、単一の実施形態において組み合わせて実施され得る。反対に、単一の実施形態に関して記載されている様々な特徴はまた、別々に複数の実施形態において、又は何らかの適切なサブコンビネーションにおいて、実施され得る。加えて、たとえ、特徴が、特定の組み合わせにおいて動作するとして先に記載されており、更には最初にそのようなものとして請求され得るとしても、請求されている組み合わせからの1又はそれ以上の特徴は、幾つかの場合において、その組み合わせから削除されてよく、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてよい。
同様に、オペレーションは特定の順序において図面に表されている一方、これは、所望の結果を達成するために、そのようなオペレーションが、示されている特定の順序において若しくは順次的な順序において実行されること、又は全ての表されているオペレーションが実行されることを要求するとして理解されるべきではない。特定の環境では、マルチタスキング及び並列プロセッシングが有利であり得る。加えて、上述されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載されているプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品において統合されるか、又は複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
このように、対象の特定の実施形態が記載されてきた。他の実施形態は、特許請求の範囲の適用範囲内にある。幾つかの場合において、特許請求の範囲で挙げられている動作は、異なる順序において実行され、依然として所望の結果を達成することができる。加えて、添付の図面において表されているプロセスは、所望の結果を達成するために、図示されている特定の順序、又は順次的な順序を必ずしも必要としない。

Claims (25)

  1. 械で実行される場合に、該機械に、
    ディスクアクセスセキュリティエージェントにおいて、複数のストレージデバイスの中の特定のストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取るステップであって、前記複数のストレージデバイスの夫々は、ローカルのセキュアストレージ機能を有し、前記ディスクアクセスセキュリティエージェントは、コモンアプリケーションプログラミングインターフェース(API)への保護されたアクセスを有して、前記複数のストレージデバイスの中のいずれか1つとインターフェース接続し、前記コモンAPIを通じて、夫々のストレージデバイスで局所的に実行されるべきセキュアストレージオペレーションを呼び出す、ステップと
    少なくとも部分的に前記リクエストに基づき前記特定のストレージデバイスでセキュアストレージオペレーションの組の中の特定のセキュアストレージオペレーションを呼び出すよう前記特定のストレージデバイスのセキュアストレージ機能とインターフェース接続するために前記コモンAPIを使用するステップと
    を実行させるプログラム
  2. 前記コモンAPIは、ホストベースのセキュアストレージ機能、チップセットベースのセキュアストレージ機能、及びファームウェアベースのセキュアストレージ機能の夫々に共通するセキュアストレージ機能の組を助ける、
    請求項1に記載のプログラム
  3. 前記セキュアストレージオペレーションの組は、直接読み出しオペレーションを含む、
    請求項1に記載のプログラム
  4. 前記特定のセキュアストレージオペレーションは、前記データ記録からの特定のデータ記録の直接読み出しを含み、
    当該プログラムは更に、前記機械で実行される場合に、該機械に、
    前記直接読み出しを通じて取得された前記特定のデータ記録の内容をセキュリティツールへ伝えるステップと
    記特定のデータ記録を直接書き込みオペレーションを通じて書き換えるステップと
    を実行させる、請求項3に記載のプログラム
  5. 前記セキュアストレージオペレーションの組は、直接書き込みオペレーションを含む、
    請求項1に記載のプログラム
  6. 前記セキュアストレージオペレーションの組は、コピーオンライトオペレーションを含む、
    請求項1に記載のプログラム
  7. 前記特定のセキュアストレージオペレーションは、コピーオンライトオペレーションを含み、
    前記コピーオンライトオペレーションは、
    前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、
    前記試みられる書き込みオペレーションを許可する前に、1又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップへコピーすることと
    を含む、
    請求項6に記載のプログラム
  8. 前記特定のセキュアストレージオペレーションは、前記試みられる書き込みオペレーションの後に、書き込まれるべき前記特定のデータ記録のデータを前記コピーオンライト・バックアップのデータにより置き換えることで、前記特定のデータ記録を修正することを含む、
    請求項7に記載のプログラム
  9. 前記書き込まれるべき特定のデータ記録のデータは、直接書き込みオペレーションを通じて前記コピーオンライト・バックアップのデータにより置き換えられる、
    請求項8に記載のプログラム
  10. 前記セキュアストレージオペレーションの組は、セーブ試行書き込みオペレーションを含む、
    請求項1に記載のプログラム
  11. 前記特定のセキュアストレージオペレーションは、セーブ試行書き込みオペレーションを含み、
    前記リクエストは、前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別するために使用され、
    前記特定のセキュアストレージオペレーションは、前記特定のデータ記録に対する前記試みられる書き込みオペレーションを許可せずに、代わりに該書き込みオペレーションをセーブ試行書き込み(SAW)記録に対して実行することで、前記試みられる書き込みオペレーションをセーブすることを含む、
    請求項10に記載のプログラム
  12. 前記特定のセキュアストレージオペレーションは、書き込まれるべき前記SAW記録の内容を組み込む疑似データ読み出しにより前記特定のデータ記録のリードバックリクエストに対して応答を生成することを含む、
    請求項11に記載のプログラム
  13. 前記特定のセキュアストレージオペレーションは、前記試みられる書き込みオペレーションをセーブした後に該試みられる書き込みオペレーションを許可することと、前記試みられる書き込みオペレーションを許可するために前記SAW記録の内容を使用することとを含む、
    請求項11に記載のプログラム
  14. 前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーションを含む、
    請求項1に記載のプログラム
  15. 前記セキュアストレージオペレーションの組は、データ範囲ロックダウンオペレーションを含む、
    請求項1に記載のプログラム
  16. 記機械で実行される場合に、更に、該機械に、前記コモンAPIにより前記特定のストレージデバイスから、前記特定のセキュアストレージオペレーションの結果を記述するフィードバックデータを受け取るステップを実行させる
    請求項1に記載のプログラム
  17. 前記フィードバックデータは、コールバックに含まれる、
    請求項16に記載のプログラム
  18. 前記フィードバックデータは、前記ストレージデバイスによって生成されるログに含まれる、
    請求項16に記載のプログラム
  19. ディスクアクセスセキュリティエージェントにおいて、複数のストレージデバイスの中の特定のストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取るステップであって、前記複数のストレージデバイスの夫々は、ローカルのセキュアストレージ機能を有し、前記ディスクアクセスセキュリティエージェントは、コモンアプリケーションプログラミングインターフェース(API)への保護されたアクセスを有して、前記複数のストレージデバイスの中のいずれか1つとインターフェース接続し、前記コモンAPIを通じて、夫々のストレージデバイスで局所的に実行されるべきセキュアストレージオペレーションを呼び出す、ステップと、
    少なくとも部分的に前記リクエストに基づき前記特定のストレージデバイスでセキュアストレージオペレーションの組の中の特定のセキュアストレージオペレーションを呼び出すよう前記特定のストレージデバイスのセキュアストレージ機能とインターフェース接続するために前記コモンAPIを使用するステッ
    を有する方法。
  20. プロセッサデバイスと、
    ストレージデバイスの記録時にセキュアストレージオペレーションの組を実行するセキュアストレージロジックを夫々含む複数のセキュアストレージ対応のストレージデバイスと、
    コモンアプリケーションプログラミングインターフェース(API)への保護されたアクセスを有して、前記複数のセキュアストレージ対応のストレージデバイスの中のいずれか1つとインターフェース接続し、前記コモンAPIを通じて、夫々のストレージデバイスで局所的に実行されるべきセキュアストレージオペレーションを呼び出すディスクアクセスセキュリティエージェントと
    を有し、
    前記ディスクアクセスセキュリティエージェントは、前記プロセッサデバイスによって実行される場合に、
    前記複数のセキュアストレージ対応のストレージデバイスの中の特定のストレージデバイスにおけるデータ記録に伴って生じるイベントに関連するリクエストをセキュリティツールから受け取り、
    少なくとも部分的に前記リクエストに基づき前特定のストレージデバイスで前記セキュアストレージオペレーションの組の中の特定のセキュアストレージオペレーションを呼び出すよう前記特定のストレージデバイスのセキュアストレージロジックとインターフェース接続するために前記コモンAPIを使用する、システム。
  21. 前記セキュアストレージオペレーションの組は、直接読み出しオペレーション、直接書き込みオペレーション、書き込み許可オペレーション、及び書き込みブロックオペレーションを含む、
    請求項20に記載のシステム。
  22. 前記セキュアストレージオペレーションの組は、疑似データ読み出しオペレーション及び疑似書き込み成功オペレーションを更に含む、
    請求項21に記載のシステム。
  23. 前記セキュアストレージオペレーションの組は、
    前記ストレージデバイスの前記データ記録からの特定のデータ記録の試みられる書き込みオペレーションを識別することと、
    前記試みられる書き込みオペレーションを許可する前に、1又はそれ以上の前記データ記録からのデータをコピーオンライト・バックアップ記録にコピーすることと
    を含むコピーオンライトオペレーションを更に含む、
    請求項21に記載のシステム。
  24. 前記セキュアストレージオペレーションの組は、
    前記ストレージデバイスの特定のデータ記録の試みられる書き込みを識別することと、
    前記特定のデータ記録に対する前記試みられる書き込みを許可せずに、代わりに該書き込みをセーブ試行書き込み(SAW)記録に対して実行することで、前記試みられる書き込みをセーブすることと
    を含むセーブ試行書き込みオペレーションを更に含む、
    請求項21に記載のシステム。
  25. 請求項1乃至18のうちいずれか一項に記載のプログラムを記憶している機械読み出し可能な記憶媒体。
JP2015531918A 2012-10-19 2013-06-28 セキュアディスクアクセス制御 Active JP6073482B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN1213KO2012 2012-10-19
IN1213/KOL/2012 2012-10-19
PCT/US2013/048754 WO2014062252A1 (en) 2012-10-19 2013-06-28 Secure disk access control

Publications (2)

Publication Number Publication Date
JP2015531948A JP2015531948A (ja) 2015-11-05
JP6073482B2 true JP6073482B2 (ja) 2017-02-01

Family

ID=50488628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531918A Active JP6073482B2 (ja) 2012-10-19 2013-06-28 セキュアディスクアクセス制御

Country Status (5)

Country Link
US (3) US9672374B2 (ja)
EP (1) EP2909783B1 (ja)
JP (1) JP6073482B2 (ja)
CN (2) CN104662552B (ja)
WO (1) WO2014062252A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752142B2 (en) 2009-07-17 2014-06-10 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for adapting the security measures of a communication network based on feedback
US9756076B2 (en) 2009-12-17 2017-09-05 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transactions
US8650129B2 (en) 2010-01-20 2014-02-11 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transaction data in transit
US8850539B2 (en) 2010-06-22 2014-09-30 American Express Travel Related Services Company, Inc. Adaptive policies and protections for securing financial transaction data at rest
WO2014062252A1 (en) 2012-10-19 2014-04-24 Mcafee, Inc. Secure disk access control
FR3007168B1 (fr) * 2013-06-18 2016-10-07 Stmicroelectronics Rousset Mecanisme de verification de l'authenticite d'un produit
US9317686B1 (en) * 2013-07-16 2016-04-19 Trend Micro Inc. File backup to combat ransomware
US9898320B2 (en) * 2014-06-28 2018-02-20 Vmware, Inc. Using a delta query to seed live migration
US9760443B2 (en) 2014-06-28 2017-09-12 Vmware, Inc. Using a recovery snapshot during live migration
US9672120B2 (en) 2014-06-28 2017-06-06 Vmware, Inc. Maintaining consistency using reverse replication during live migration
US10671545B2 (en) 2014-06-28 2020-06-02 Vmware, Inc. Asynchronous encryption and decryption of virtual machine memory for live migration
US9766930B2 (en) 2014-06-28 2017-09-19 Vmware, Inc. Using active/passive asynchronous replicated storage for live migration
US9626212B2 (en) 2014-06-28 2017-04-18 Vmware, Inc. Live migration of virtual machines with memory state sharing
US9356969B2 (en) * 2014-09-23 2016-05-31 Intel Corporation Technologies for multi-factor security analysis and runtime control
US10726142B2 (en) * 2015-06-02 2020-07-28 Viirii, Llc Operating system independent, secure data storage system
US9785354B2 (en) * 2015-06-29 2017-10-10 International Business Machines Corporation Selective write control
US10229281B2 (en) 2015-10-13 2019-03-12 Mcafee, Llc Remote provisioning and authenticated writes to secure storage devices
US20180293377A1 (en) * 2015-10-13 2018-10-11 Nec Corporation Suspicious behavior detection system, information-processing device, method, and program
US10789361B2 (en) * 2016-01-24 2020-09-29 Minerva Labs Ltd. Ransomware attack remediation
JP6372508B2 (ja) * 2016-03-15 2018-08-15 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
EP3438864B1 (en) * 2016-04-01 2023-05-10 Telefonica Cybersecurity & Cloud Tech S.L.U. Method and system for protecting a computer file against possible malware encryption
US10402577B2 (en) * 2016-06-03 2019-09-03 Honeywell International Inc. Apparatus and method for device whitelisting and blacklisting to override protections for allowed media at nodes of a protected system
CN108292260B (zh) * 2016-08-25 2021-01-05 华为技术有限公司 用于软件自测试的装置和方法
US10798111B2 (en) * 2016-09-14 2020-10-06 International Business Machines Corporation Detecting intrusion attempts in data transmission sessions
CN106991340B (zh) * 2017-03-17 2018-05-15 广州小微电子技术有限公司 芯片加密方法
US10248577B2 (en) 2017-04-07 2019-04-02 International Business Machines Corporation Using a characteristic of a process input/output (I/O) activity and data subject to the I/O activity to determine whether the process is a suspicious process
US10282543B2 (en) * 2017-05-03 2019-05-07 International Business Machines Corporation Determining whether to destage write data in cache to storage based on whether the write data has malicious data
US10445497B2 (en) 2017-05-03 2019-10-15 International Business Machines Corporation Offloading processing of writes to determine malicious data from a first storage system to a second storage system
US10776197B1 (en) * 2017-06-27 2020-09-15 EMC IP Holding Company LLC Detect and triage data integrity issue for virtual machine
KR102043538B1 (ko) * 2018-01-18 2019-11-11 주식회사 알티스트 파티셔닝을 적용하여 프로세스를 모니터링하는 컴퓨팅 시스템
EP3588340B1 (de) * 2018-06-26 2024-05-01 GRAU Invest GmbH Computerimplementiertes verfahren zum betreiben einer datenspeichereinrichtung
US11151273B2 (en) 2018-10-08 2021-10-19 Microsoft Technology Licensing, Llc Controlling installation of unauthorized drivers on a computer system
US11080416B2 (en) 2018-10-08 2021-08-03 Microsoft Technology Licensing, Llc Protecting selected disks on a computer system
US11425170B2 (en) 2018-10-11 2022-08-23 Honeywell International Inc. System and method for deploying and configuring cyber-security protection solution using portable storage device
US11237749B2 (en) * 2019-06-06 2022-02-01 EMC IP Holding Company LLC System and method for backup data discrimination
US11507473B2 (en) 2019-10-30 2022-11-22 EMC IP Holding Company LLC System and method for efficient backup generation
US11475159B2 (en) 2019-10-30 2022-10-18 EMC IP Holding Company LLC System and method for efficient user-level based deletions of backup data
US11593497B2 (en) 2019-10-30 2023-02-28 EMC IP Holding Company LLC System and method for managing sensitive data
US11687595B2 (en) 2019-10-30 2023-06-27 EMC IP Holding Company LLC System and method for searching backups
US11586506B2 (en) 2019-10-30 2023-02-21 EMC IP Holding Company LLC System and method for indexing image backups
CN111382783A (zh) * 2020-02-28 2020-07-07 广州大学 恶意软件识别方法、装置及存储介质
EP4156004A4 (en) * 2021-02-05 2024-06-26 Namusoft Co., Ltd DATA PROTECTION SYSTEM
US11953996B1 (en) 2023-01-20 2024-04-09 Dell Products L.P. Method and system for selectively preserving data generated during application access

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6304946B1 (en) * 1999-07-01 2001-10-16 Emc Corporation System and method for optimizing cache write backs to disks
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6971018B1 (en) * 2000-04-28 2005-11-29 Microsoft Corporation File protection service for a computer system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US6610605B2 (en) * 2001-06-28 2003-08-26 Intel Corporation Method and apparatus for fabricating encapsulated micro-channels in a substrate
US7434068B2 (en) * 2001-10-19 2008-10-07 Intel Corporation Content protection in non-volatile storage devices
EP1795992B1 (en) * 2002-07-30 2018-01-24 Fujitsu Limited Method and apparatus for reproducing information using a security module
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
US7640594B2 (en) * 2004-01-21 2009-12-29 Sap Ag Secure storage in a file system
JP2005352535A (ja) * 2004-06-08 2005-12-22 Ark Joho Systems:Kk データを保護する方法
US7246209B2 (en) * 2004-11-30 2007-07-17 Kabushiki Kaisha Toshiba System for secure erasing of files
US7962917B2 (en) * 2005-03-10 2011-06-14 Microsoft Corporation System data interfaces, related architectures, print system data interfaces and related print system architectures
JP2007026081A (ja) * 2005-07-15 2007-02-01 Canon Inc プログラム
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7565685B2 (en) * 2005-11-12 2009-07-21 Intel Corporation Operating system independent data management
US20080063206A1 (en) * 2006-09-07 2008-03-13 Karp James M Method for altering the access characteristics of encrypted data
JP2009104250A (ja) * 2007-10-19 2009-05-14 Mitsubishi Electric Corp 実行装置及びプログラム及び実行方法
US8220053B1 (en) * 2008-06-26 2012-07-10 Trend Micro, Inc. Shadow copy-based malware scanning
US8176085B2 (en) * 2008-09-30 2012-05-08 Microsoft Corporation Modular forest automata
US20100146267A1 (en) 2008-12-10 2010-06-10 David Konetski Systems and methods for providing secure platform services
KR20100078081A (ko) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법
WO2010140222A1 (ja) * 2009-06-02 2010-12-09 富士通株式会社 情報処理システム、管理装置および情報処理方法
WO2011077684A1 (ja) * 2009-12-22 2011-06-30 パナソニック株式会社 光ディスク装置、光ディスク制御方法及び集積回路
US20110219425A1 (en) * 2010-03-08 2011-09-08 Ying Xiong Access control using roles and multi-dimensional constraints
US8925101B2 (en) * 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8863283B2 (en) * 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
CN103620613B (zh) * 2011-03-28 2018-06-12 迈克菲股份有限公司 用于基于虚拟机监视器的反恶意软件安全的***和方法
EP2556881A1 (en) 2011-08-11 2013-02-13 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Combining algae cultivation and CO2 capture
CN102339256B (zh) * 2011-09-15 2013-10-16 东北大学 基于imf内外存置换策略的复杂事件检测方法
US20130304705A1 (en) * 2012-05-11 2013-11-14 Twin Peaks Software, Inc. Mirror file system
WO2014062252A1 (en) 2012-10-19 2014-04-24 Mcafee, Inc. Secure disk access control

Also Published As

Publication number Publication date
JP2015531948A (ja) 2015-11-05
US10360398B2 (en) 2019-07-23
CN104662552B (zh) 2017-12-12
EP2909783B1 (en) 2020-02-12
CN107977573A (zh) 2018-05-01
US20180089457A1 (en) 2018-03-29
EP2909783A4 (en) 2016-09-28
US9672374B2 (en) 2017-06-06
US20190332794A1 (en) 2019-10-31
EP2909783A1 (en) 2015-08-26
WO2014062252A1 (en) 2014-04-24
CN107977573B (zh) 2021-10-01
US20140310800A1 (en) 2014-10-16
US11270015B2 (en) 2022-03-08
CN104662552A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
US11270015B2 (en) Secure disk access control
EP3123311B1 (en) Malicious code protection for computer systems based on process modification
CN110998582B (zh) 安全存储装置与计算机安全性方法
US11443034B2 (en) Trust zone-based operating system and method
CN109918919B (zh) 认证变量的管理
US11522904B2 (en) Self-healing architecture for resilient computing services
US8495750B2 (en) Filesystem management and security system
CN103827809B (zh) 用于虚拟分区监测的***和方法
US10783041B2 (en) Backup and recovery of data files using hard links
US20130097392A1 (en) Protecting memory of a virtual guest
CN109074450B (zh) 威胁防御技术
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US20200342100A1 (en) System and method for runtime detection, analysis and signature determination of obfuscated malicious code
US8495741B1 (en) Remediating malware infections through obfuscation
US10802989B2 (en) Detecting data corruption by control flow interceptions
WO2017137804A1 (en) Automated classification of exploits based on runtime environmental features
Yalew et al. Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroid
US20080127352A1 (en) System and method for protecting a registry of a computer
RU2768196C9 (ru) Защищённое запоминающее устройство

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170104

R150 Certificate of patent or registration of utility model

Ref document number: 6073482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250