JP5922149B2 - セキュリティ境界の提供 - Google Patents

セキュリティ境界の提供 Download PDF

Info

Publication number
JP5922149B2
JP5922149B2 JP2013546326A JP2013546326A JP5922149B2 JP 5922149 B2 JP5922149 B2 JP 5922149B2 JP 2013546326 A JP2013546326 A JP 2013546326A JP 2013546326 A JP2013546326 A JP 2013546326A JP 5922149 B2 JP5922149 B2 JP 5922149B2
Authority
JP
Japan
Prior art keywords
application
computer
security monitor
access
database
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
JP2013546326A
Other languages
English (en)
Other versions
JP2014501409A (ja
Inventor
ヘリック レイアーソン クリストファー
ヘリック レイアーソン クリストファー
ペレイラ デ ソーザ リディアン
ペレイラ デ ソーザ リディアン
メル アンダーソン アンジェラ
メル アンダーソン アンジェラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014501409A publication Critical patent/JP2014501409A/ja
Application granted granted Critical
Publication of JP5922149B2 publication Critical patent/JP5922149B2/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

[背景技術]
データセンターのアドミニストレーターは、許容可能な電力要件、ハードウェア要件、および空間要件をも維持しながら、データセンターのデータ要件を満たす難しい仕事に直面する。多くの場合、費用を最小限に抑えるために、アドミニストレーターはデータセンター内のサーバーのアプリケーション密度を高める。アプリケーション密度は、単一の物理的コンピューター上で実行するアプリケーションの数の尺度である。各物理的コンピューター上で実行するアプリケーションの数を増やすことにより、データセンターのオペレーションをサポートするために必要とされるサーバーの数を最小限に抑えることができる。
データセンター内のアプリケーション密度を高めるために、アドミニストレーターは仮想マシン(VM)を利用してもよい。仮想マシンは、複数の仮想マシンによるマシンの物理的リソースの共有を可能にすることによりアプリケーション密度を高めることができる。しかし、様々な理由から、2つの異なるアプリケーションを同じVM内で実行することが常に可能であるわけではない。例えば、2つの異なるアプリケーションが同じVM内で実行することは、セキュリティ問題のために望ましくないこともある。別の例として、同じVM上で実行する2つの異なるアプリケーションは、同じリソースにアクセスしようとする場合に衝突する可能性もある。
衝突する可能性がある2つのアプリケーションが同じコンピューター上で実行することを可能にするには、アプリケーションごとに個別のVMを実行する必要があり得る。しかし、このようなやり方で複数のVMを実行することは、各仮想マシンを実行することに関連するライセンス費用のために、高くなる可能性がある。さらに、複数のVMを実行するための運用コストは、多数のマシンを含む環境において動作する場合、例えばクラウド環境において動作する場合はかなり大きくなる可能性がある。データセンター内では通常、各VMは監視および管理される。したがって、各VMは、所望のやり方で動作するために、様々なパッチまたはポリシーを必要とする可能性があるので、データセンターを運営するための管理費はVMの追加に伴って増大する。
本明細書において行われる開示が提示されるのは、これらおよび他の考慮事項に関する。
本明細書で開示される概念および技術は、セキュリティ境界を提供するためである。本明細書で提示される概念および技術の実現を通じて、アプリケーション間にセキュアな境界を提供するやり方で同じコンピューター上で複数のアプリケーションを実行することができる。このようにして、普通なら望ましくないまたは不可能であり得る同じ物理的コンピューターもしくは仮想コンピューター上で2つ以上のアプリケーションを実行することができる。したがって、本明細書で開示される技術は、互換不可能なアプリケーションまたは衝突するアプリケーションを実行するために必要とされるVMの数および関連ライセンス使用料を低減するために利用することができる。
本明細書で提示される一態様によれば、セキュリティモニターは、アプリケーションを実行することにより行われるAPI(アプリケーションプログラミングインターフェイス)コールを監視すること、および、アプリケーションによって使用されるリソースを識別することを学習モードで実行する。セキュリティモニターは、識別されたリソースのそれぞれのための編集可能な仮想アクセス制御リスト(ACL)を、完全なアクセスからオフリミットまでの各識別されたシステムリソースへのアクセスを制御するために使用することができるセキュリティモニターのデータベースに追加する。セキュリティモニターがAPIコールによってアクセスされたリソースを識別した後は、セキュリティモニターは、APIコールが正常に進行することを許可する。
動作の強制モードでは、セキュリティモニターは、アプリケーションがシステムリソースにアクセスすることを認可されているかどうかを判定するためにアプリケーションを実行することにより行われるAPIコールを監視する。特に、セキュリティモニターが強制モードにある場合は、セキュリティモニターはアプリケーションによって行われるAPIコールをインターセプトする。次いで、セキュリティモニターは、要求アプリケーションが要求されたシステムリソースにアクセスすることを認可されているかどうかを判定するためにセキュリティモニターのデータベースにアクセスする。セキュリティモニターが、アプリケーションが要求されたシステムリソースにアクセスすることを認可されていると判定した場合は、APIコールは正常に進行することを許可される。セキュリティモニターが、アプリケーションが要求されたシステムリソースにアクセスすることを認可されていないと判定した場合は、セキュリティモニターは、アプリケーションによるシステムリソースへのアクセスを拒否する。システムアドミニストレーターは、拒否されたアプリケーションが要求されたシステムリソースにアクセスすることを許可するようにACLを編集することができる。
本明細書で開示される実施形態は、仮想化アプリケーション、ハードウェア仮想化環境において実行する非仮想化アプリケーション、非仮想化環境において実行する非仮想化アプリケーション、および他のタイプのアプリケーションと共に利用し得ることを理解されたい。前述の保護対象はまた、コンピューター制御装置、コンピュータープロセス、コンピューティングシステム、または、コンピューター可読記憶媒体などの製品として実施してもよいことを理解されたい。上記および様々な他の特徴は、以下の詳細な説明を読むとともに関連する図面を検討することによって明らかになるであろう。
この概要は、発明を実施するための形態において下記でさらに説明する概念の抜粋を簡略化された形態で紹介するために提供される。この概要は、特許請求される保護対象の主要な特徴または本質的な特徴を識別することを意図するものではなく、この概要が特許請求される保護対象の範囲を限定するために使用されることを意図するものでもない。さらに、特許請求される保護対象は、この開示の任意の部分に記載されている任意のまたはすべての欠点を解決する実装に限定されない。
本明細書で記載される保護対象の態様が実現し得る適切なコンピューティング環境の一例を示すコンピューターソフトウェアアーキテクチャ図である。 本明細書で提示される様々な実施形態によるセキュリティ境界を提供するために本明細書で提供される学習モードで動作するセキュリティモニターの諸態様を例示するコンピューターソフトウェアアーキテクチャ図である。 本明細書で提示される様々な実施形態によるランタイムにおいて強制モードで動作するセキュリティモニターの態様を例示するコンピューターソフトウェアアーキテクチャ図である。 セキュリティモニターが学習モードにある場合にシステムリソースアクセスを監視するために本明細書で提供される1つの例示的ルーチンの態様を示す流れ図である。 セキュリティモニターが強制モードで動作する場合にシステムリソースアクセスを監視するために本明細書で提供される1つの例示的ルーチンの態様を示す流れ図である。 本明細書で提示される実施形態の態様を実施することができるコンピューティングシステムのための例示的コンピューターハードウェアおよびソフトウェアアーキテクチャを示すコンピューターアーキテクチャの図である。
以下の詳細な説明は、セキュリティ境界を提供するための技術を対象とする。上記で簡潔に論じられ、以下でさらに詳細に説明されるように、アプリケーションAPIコールがインターセプトされる学習動作モードが実行される。APIコールを識別するデータは、セキュリティモニターのデータベースに記録される。アプリケーションのランタイムにおいて、セキュリティモニターは、アプリケーションが学習動作モード中にデータベースに記憶されているデータに基づいてリソースにアクセスすることを許可する。これらのプロセスに関する追加の詳細が以下で図1〜図6に関して提供される。
本明細書に記載の保護対象は、コンピューターシステム上でのオペレーティングシステムおよびアプリケーションプログラムの実行と共に実行するプログラムモジュールの概括的なコンテキストで提示されるが、他の実施形態が他のタイプのプログラムモジュールと組み合わせて実施されることが可能であることを当業者は理解するであろう。一般的に、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、本明細書に記載の保護対象は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのコンシューマエレクトロニクスまたはプログラマブルコンシューマエレクトロニクス、ミニコンピューター、およびメインフレームコンピューターなどを含めて他のコンピューターシステム構成により実施されてもよいことを当業者は理解するであろう。
以下の詳細な説明では、本明細書の一部を形成し、特定の実施形態または例の説明として示される添付の図面を参照する。次に、いくつかの図全体を通じて同様の数字が同様の要素を表す図面を参照すると、セキュリティ境界を提供するためのコンピューティングシステム、コンピューター可読記憶媒体、およびコンピューター実行方法の態様が提示される。
図1は、本明細書に記載の主題の諸態様を実施することができる適切なコンピューティング環境100の一例を示すコンピューターソフトウェアアーキテクチャ図である。具体的には、図1は、ハードウェアの仮想化コンピューティング環境を実施するための例示的ソフトウェアアーキテクチャを示している。この技術で知られるように、仮想化は、ホストコンピューターが単一のコンピューター上で複数のオペレーティングシステムを同時に実行することができるようにする。オペレーティングシステムの各実行インスタンスは典型的には、仮想マシンと呼ばれる。
仮想マシンの実行を可能にするために、ソフトウェアハイパーバイザー102を実行して仮想マシンの動作を構成、実行、および管理するための機能を提供することができる。ハイパーバイザー102は、ホストコンピューターの物理的ハードウェア106の上で、および1つまたは複数のオペレーティングシステム108A〜108Cの下で実行するソフトウェアの層である。ハイパーバイザー102はハードウェアで実行してもよい。
ハイパーバイザー102は、パーティションと呼ばれる隔離された実行環境を提供する。図1に示す例では、オペレーティングシステム108Aおよびアプリケーション110Aは、第1のパーティションにおいて実行し、オペレーティングシステム108Bおよびアプリケーション110Bは、第2のパーティションにおいて実行し、オペレーティングシステム108Cおよびアプリケーション110Cは、第3のパーティションにおいて実行する。ハイパーバイザー102は、各パーティションに、仮想ハードウェアリソース104(例えば、メモリ、デバイス、および中央処理装置(CPU)サイクルのそれ自体のセットを提供する。ハイパーバイザー102はまた、必要に応じて基本ハードウェア106へのアクセスを制御およびアービトレートする。
下記でより詳細に説明するように、ハイパーバイザー102は、各システムリソースにアクセス制御リスト(ACL)を割り当て、システムリソースを使用することを許可されたアプリケーション110を含む許可リストに基づいて各システムリソースを使用するための許可を割り当てることにより同じパーティションの中で実行するアプリケーション110間にセキュリティ境界を提供するためにセキュリティ境界を提供するための本明細書で開示された機能を実行することができる。他の実施形態において、本明細書で提示する機能は、オペレーティングシステム108内で実行されてもよく、または本明細書で開示された機能を可能にするローレベルオペレーティングシステムドライバーをインストールするアプリケーションプログラムによって実行してもよい。これに関して、図1は例示のみであり、本明細書で提示している実施形態は、多くの異なるやり方で実施されてきた多くの異なるタイプの仮想化環境の中で利用されてもよいことを理解されたい。例えば、本明細書で開示する実施形態は、仮想化アプリケーション、ハードウェア仮想化環境において実行する非仮想化アプリケーション、非仮想化環境において実行する非仮想化アプリケーション、および、他のタイプのアプリケーションと共に利用してよい。
図2は、セキュリティモニター206が学習動作モード(「学習モード」)で実行するソフトウェア環境200を例示するコンピューターソフトウェアアーキテクチャ図である。図2に示されているソフトウェア環境200では、1つもしくは複数のアプリケーション202がサーバーコンピューター、標準的デスクトップコンピューターもしくはラップトップコンピューター、またはテーブルコンピューターなどのコンピューター上で実行する。例えば、アプリケーション202は、人的資源(HR)アプリケーション、会計アプリケーション、構造化問合せ言語(SQL)サーバー、および同種のものを含んでよい。
実行中に、アプリケーション202は、他のプログラムとの通信を容易にしてシステムリソースにアクセスするために、1つまたは複数のアプリケーションプログラミングインターフェイス(API)コールを行うことができる。本明細書で使用する場合は、システムリソースなる語は、オペレーティングシステム(OS)が使用のためのアクセスを別途制御しないすべてのリソースまたは対象物を包含することを理解されたい。例えば、システムリソースは、ネットワークエンドポイント、ネットワークポート、ファイル、ウィンドウ、ユーザーインターフェイス(UI)要素、レジストリ、オープンデータベースコネクティビティ(ODBC)接続ストリング、および他のタイプのリソースを含めるようにしてよい。
学習モードの間に、セキュリティモニター206は、アプリケーション202によって行われたAPIコールをインターセプトする。これは、図2では、ブロック204として示されている。APIコールをインターセプトすることに応答して、セキュリティモニター206は、1つまたは複数の編集可能なACLをAPIコールのターゲットであるシステムリソースに関連付ける。1つまたは複数の編集可能なACLは、システムリソースへの完全なアクセスからオフリミットまでのシステムリソースへのアクセスを制御するために使用されてよい。一実施形態では、セキュリティモニター206は、1つまたは複数のACLをセキュリティモニターのデータベース208に記憶する。メタデータは、アプリケーション202によって要求されたシステムリソースを識別するデータ、およびアプリケーション202がリソースにアクセスすることを許可されているという表示を含んでよい。ACLがセキュリティモニターのデータベース208に記憶された後に、インターセプトされたAPIコールは正常に進行することを許可される。これは、図2に示すブロック210に例示してある。
下記でさらに詳細に説明するように、セキュリティモニター206は、アプリケーション202のランタイムにセキュリティモニターのデータベース208のコンテンツを利用して、システムリソースへのアクセスを許可または拒否する。具体的には、セキュリティモニター206は、APIコールが前述の学習モードによって処理されているアプリケーション202によってリソースにアクセスすることを許可する。APIコールが前述の学習モードで処理されていないアプリケーション202によってシステムリソースにアクセスすることは、許可されない。この点に関して、セキュリティモニター206によってセキュリティモニターのデータベース208に記憶されているデータは、ホワイトリストとして利用される。ホワイトリストを編集してアプリケーション、例えばアプリケーション202を追加または除去することにより学習モードが行われた後に、アドミニストレーターはシステムリソースへのアクセスを許可または拒否することができる。したがって、前述のセキュリティモニターのデータベース208に記憶されているデータのタイプは例示のみであり、セキュリティモニターは他のタイプのデータを記憶することができることを理解されたい。
図3は、セキュリティモニター206が動作の強制モード(「強制モード」)で実行するコンピューターソフトウェア環境300である。環境300は、同じコンピューター上で実行するアプリケーション302およびアプリケーション304を含む。アプリケーション302およびアプリケーション304はサーバー上で実行するが、これらのアプリケーションは、他のプログラムとの通信を容易にしてシステムリソースにアクセスするために、1つまたは複数のAPIコールを行うことができる。
図3に示す例では、セキュリティモニター206は、前述の学習モードでアプリケーション302を処理した。しかし、アプリケーション304は、学習モードで実行されなかった。したがって、セキュリティモニターのデータベース208は、アプリケーション302によって行われたAPIコールを識別するデータを含む。セキュリティモニターのデータベース208は、アプリケーション304によって行われたAPIコールを識別するデータを含まない。
強制モードでの間に、セキュリティモニター206は、アプリケーション302およびアプリケーション304によって行われたAPIコールをインターセプトする。これは、図3においてブロック306によって表されている。APIコールをインターセプトすることに応答して、セキュリティモニター206はAPIコールが許可されるべきかどうかを判定するためにセキュリティモニターのデータベース208のコンテンツにアクセスする。例えば、一実施形態では、セキュリティモニター206は、アプリケーション302およびアプリケーション304によって行われたAPIコールが許可されるべきかどうかを判定するために学習モード中に記憶されたACLおよびメタデータにアクセスする。
アプリケーション302は学習モードで処理されたので、セキュリティモニター206は、アプリケーション302は要求されたシステムリソースにアクセスすることを認可されていると判定する。アプリケーション302は、システムリソースにアクセスすることを認可されているので、アプリケーション302によって行われたインターセプトされたAPIコールは、正常に進行することを許可される。これは、図3におけるブロック312および314に示されている。アプリケーション304は学習モードで実行されなかったので、セキュリティモニター206はまた、アプリケーション304はシステムリソースにアクセスすることを認可されていないと判定する。アプリケーション304はシステムリソースにアクセスすることを認可されていないので、アプリケーション304によって行われたインターセプトされたAPIコールは進行することを許可されない。
図4は、学習モードを実行するセキュリティモニター206の動作の態様を例示するルーチン400を示す流れ図である。図4および他の図に関する本明細書に記載の論理的動作は、(1)一連のコンピューターで実行される行為またはコンピューティングシステム上で実行するプログラムモジュールとして、および/または、(2)コンピューティングシステムの中の相互接続されたマシンの論理回路または回路モジュールとして実行されることを理解されたい。この実施形態は、コンピューティングシステムの動作および他の要件に依存する選択の問題である。したがって、本明細書に記載の論理的動作は、状態、動作、構造デバイス、行為、またはモジュールと様々に呼ばれる。これらの動作、構造デバイス、行為およびモジュールは、ソフトウェアで、ファームウェアで、専用デジタルロジックで、およびそれらの任意の組合せで実行するようにしてよい。図に示され本明細書に記載されているものより多くの、または少ない動作を実行するようにしてもよいことを理解されたい。これらの動作は、本明細書に記載のものとは異なる順序で実行するようにしてもよい。
ルーチン400は、アドミニストレーターがセキュリティモニター206を学習モードで実行する動作402から始まる。セキュリティモニター206が実行し始めた後は、ルーチン400は、コンピューター上で動作するアプリケーションがAPIコールを開始する動作404に進む。動作404から、ルーチンは動作406に進む。
動作406において、セキュリティモニター206は、1つまたは複数のアプリケーションによって開始されたAPIコールをインターセプトする。APIコールをインターセプトすることに応答して、ルーチン400は、動作408に進み、ここで、セキュリティモニター206は要求されたリソースに関連するACLへのAPIコールを行うアプリケーションを追加する。アドミニストレーターはまた、アプリケーションがACLを修正することによりリソースにアクセスすることができると明記することを許可してよい。動作408から、ルーチン400は動作410に進む。
動作410において、1つまたは複数のACLは、セキュリティモニターのデータベース208に記憶される。セキュリティモニター206がセキュリティモニターのデータベース208を更新した後は、ルーチン400は動作412に進み、ここで、インターセプトされたAPIコールは正常に進行することを許可される。動作412から、ルーチン400は動作414に進み、ここで、ルーチンは終了する。
図5は、強制モードで動作するセキュリティモニター206の動作の諸態様を例示するルーチン500を示す流れ図である。ルーチン500は、動作502から始まり、ここで、1つまたは複数のアプリケーションは、前述のやり方でAPIコールを開始する。それに応答して、セキュリティモニター206は、動作504においてアプリケーションによって開始されたAPIコールをインターセプトする。
動作506において、セキュリティモニター206は、セキュリティモニターのデータベース208にアクセスする。次いで、セキュリティモニター206は、セキュリティモニターのデータベース208に記憶されているデータを使用して、APIコールを開始するアプリケーションが要求されたシステムリソースにアクセスすることを認可されているかを判定する。これは、動作508において行われる。
セキュリティモニター206が、アプリケーションが要求されたシステムリソースにアクセスすることを認可されていると判定した場合は、ルーチンは動作510に進み、ここで、サーバーはAPIコールが正常に進行することを許可する。動作512において、アプリケーション302は、要求されたリソースにアクセスすることを許可される。動作512から、ルーチン500は動作514に進み、ここで、ルーチンは終了する。
動作508において、セキュリティモニター206が、アプリケーション304が要求されたシステムリソースにアクセスすることを認可されていないと判定した場合は、ルーチンは動作520に進み、ここで、サーバーはアプリケーション304によって行われるAPIコールが実行するのを妨げる。動作520から、ルーチン500は動作522に進み、ここで、ルーチンは終了する。
セキュリティモニター206は失敗したAPIコールに関する情報を記憶することができることを理解されたい。この情報は、適切なユーザーインターフェイスを介してアドミニストレーターに提供されてよい。アドミニストレーターは、このデータを使用して、失敗したAPIコールを行うアプリケーションがいくつかのシステムリソースにアクセスすることを許可されるべきかどうかを判定することができる。この点に関して、アドミニストレーターは、将来の実行中にアプリケーションによるAPIコールの実行を許可するために、セキュリティモニターのデータベース208に記憶されているデータ(例えばACL)を修正することができる。
図6は、セキュリティ境界を提供するための、本明細書に記載のソフトウェアコンポーネントを実行することができるコンピューター600のための例示的コンピューターアーキテクチャを示す。図6に示されているコンピューターアーキテクチャは、従来のデスクトップコンピューター、ラップトップコンピューター、またはサーバーコンピューターを例示し、本明細書に提示されているソフトウェアコンポーネントの任意の態様を実行するために利用されてよい。
図6に示すコンピューターアーキテクチャは、CPU602(「中央処理装置」)、RAM614(「ランダムアクセスメモリ」)およびROM616(「読出し専用メモリ」)を含むシステムメモリ608、ならびにメモリをCPU602に結合するシステムバス604を含む。起動中などにコンピューター600の中の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システムは、ROM616に記憶されている。コンピューター600は、オペレーティングシステム618を記憶するための大容量記憶装置610、アプリケーションプログラム、および他のプログラムモジュールをさらに含み、これらは本明細書でさらに詳細に説明する。
大容量記憶装置610は、バス604に接続されたマスストレージコントローラー(図示せず)を介してCPU602に接続される。大容量記憶装置610およびその関連コンピューター可読媒体は、コンピューター600のための不揮発性ストレージを提供する。本明細書に含まれるコンピューター可読媒体の説明はハードディスクドライブまたはCD−ROMドライブなどの大容量記憶装置を指すが、コンピューター可読媒体はコンピューター600によってアクセスされることが可能である任意の利用可能なコンピューター記憶媒体でよいことが当業者には理解されるはずである。
例として、しかし限定としてではなく、コンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実装された揮発性媒体および不揮発性媒体、取外し可能な媒体および取外し不可能な媒体を含んでよい。例えば、コンピューター可読媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリもしくは他のソリッドステートメモリ技術、CD−ROM、DVD(「デジタル多用途ディスク」)、HD−DVD、ブルーレイ、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用されることが可能であり、コンピューター600によってアクセスされることが可能である任意の他の媒体を含むがそれらに限定されない。
様々な実施形態によれば、コンピューター600は、ネットワーク620などのネットワークを介してのリモートコンピューターへの論理的接続を使用してネットワーク接続環境で動作することができる。コンピューター600は、バス604に接続されたネットワークインターフェイスユニット606を介してネットワーク620に接続することができる。ネットワークインターフェイスユニット606は、他のタイプのネットワークおよびリモートコンピューターシステムに接続するために利用されてもよいことを理解されたい。コンピューター600はまた、キーボード、マウス、または電子スタイラス(図6に示さず)を含めていくつかの他のデバイスからの入力を受信し処理するために入/出力コントローラー612を含んでよい。同様に、入/出力コントローラーは、表示画面、プリンタ、または他のタイプの出力デバイス(図6に示さず)に出力を提供することができる。
上記で簡単に述べられたように、いくつかのプログラムモジュールおよびデータファイルは、ネットワーク接続されたデスクトップコンピューター、ラップトップコンピューター、またはサーバーコンピューターの動作を制御するのに適したオペレーティングシステム618を含むコンピューター600の大容量記憶装置610およびRAM614に記憶されてよい。大容量記憶装置610およびRAM614はまた、1つまたは複数のプログラムモジュールを記憶することができる。具体的には、大容量記憶装置610およびRAM614は、それぞれ図1〜図5に関して上記で詳細に説明されたハイパーバイザー102、アプリケーション202、302、および304、セキュリティモニター206、ならびにセキュリティモニターのデータベース208を記憶することができる。大容量記憶装置610およびRAM614はまた、他のタイプのプログラムモジュールおよびデータを記憶することができる。
本明細書に記載のソフトウェアコンポーネントは、CPU602にロードされ実行される場合は、CPU602およびコンピューター600全体を汎用コンピューティングシステムから本明細書に提示されている機能を容易にするようにカスタマイズされた専用コンピューティングシステムに変換することができることを理解されたい。CPU602は、任意の数の状態を個別にまたはまとめて呈してよい任意の数のトランジスタまたは他の個別回路素子から構成されてよい。より具体的には、CPU602は、本明細書で開示されるソフトウェアモジュールの中に含まれている実行可能な命令に応答して、有限状態機械として動作することができる。これらのコンピューター実行可能命令は、CPU602が状態間でどのように遷移するかを指定することによりCPU602を変換し、それによって、CPU602を構成するトランジスタまたは他の個別ハードウェア素子を変換することができる。
本明細書に提示されているソフトウェアモジュールを符号化することはまた、本明細書に提示されているコンピューター可読媒体の物理的構造を変換することができる。物理的構造の特定の変換は、本明細書の様々な実施形態において、様々な要因に依存してよい。そのような要因の例は、コンピューター可読媒体が一次ストレージであるとみなされても二次ストレージであるとみなされても、コンピューター可読媒体を実施するために使用される技術および同種のものを含んでよいがそれらに限定されない。例えば、コンピューター可読媒体は、半導体ベースのメモリとして実施される場合、本明細書で開示されるソフトウェアは、半導体メモリの物理的状態を変換することによりコンピューター可読媒体上で符号化されてよい。例えば、ソフトウェアは、半導体メモリを構成するトランジスタ、コンデンサー、または他の個別回路素子の状態を変換することができる。ソフトウェアはまた、そこにデータを記憶するためにそのようなコンポーネントの物理的状態を変換することができる。
他の例として、本明細書で開示されるコンピューター可読媒体は、磁気技術または光技術を使用して実施されてよい。そのような実施形態では、本明細書に提示されているソフトウェアは、ソフトウェアがそこで符号化される場合は、磁気媒体または光媒体の物理的状態を変換することができる。これらの変換は、所与の磁気媒体の中の特定の位置の磁気特性を変えることを含んでよい。これらの変換はまた、所与の光媒体の中の特定の位置の物理的特徴または特性を変えることを含み、それらの位置の光特性を変える。物理的媒体の他の変換は、この議論を容易にするためにのみ提供された上記例によって、本明細書の範囲および趣旨から逸脱することなく、可能である。
上記を考慮して、本明細書に提示されているソフトウェアコンポーネントを記憶し実行するためにコンピューター600において多くのタイプの物理的変換が行われることを理解されたい。コンピューター600は、ハンドヘルドコンピューター、組み込みコンピューターシステム、携帯情報端末、および当業者に知られている他のタイプのコンピューティングデバイスを含めて他のタイプのコンピューティングデバイスを含んでよいことも理解されたい。コンピューター600は、図6に示されている構成要素のすべてを含まなくてもよく、図6に明示されていない他の構成要素を含んでもよく、または図6に示されているものとは完全に異なるアーキテクチャを利用してもよいことも企図される。
上記に基づいて、セキュリティ境界を提供するための技術が本明細書で提供されることを理解されたい。本明細書で提示される主題は、コンピューターの構造的特徴、方法論的行為および変換行為、特定のコンピューティングマシン、ならびにコンピューター可読媒体に特有の言語で説明されてきたが、添付の特許請求の範囲において定義される本発明は、必ずしも本明細書に記載の特定の特徴、行為、または媒体に限定されるわけではないことが理解されるべきである。むしろ、特定の特徴、行為、および媒体は、請求項を実施する例示的な形態として開示される。
前述の主題は、例示としてのみ提供されるものであり、限定的であると解釈されるべきではない。例示され説明された例示的実施形態および適用例に従うことなく、かつ添付の特許請求の範囲によって定義される本発明の真の趣旨および範囲から逸脱することなく、様々な修正および変更が本明細書に記載の主題に加えるようにしてもよい。
いくつかの態様を記載しておく。
〔態様1〕
セキュリティ境界を提供するためのコンピューター実行方法であって、前記コンピューター実行方法は、
セキュリティモニターを実行すること、
1つまたは複数のシステムリソースにアクセスするためにアプリケーションによって行われた1つまたは複数のアプリケーションプログラミングインターフェイス(API)コールを前記セキュリティモニターによってインターセプトすることと、
データを、前記システムリソースにアクセスすることに関連するセキュリティモニターのデータベースに記憶すること、および
前記アプリケーションのランタイムにおいて、前記1つまたは複数のAPIコールを行う前記アプリケーションが、前記システムリソースにアクセスすることを認可されているかを前記セキュリティモニターによって判定すること
のためにコンピューター実行動作を行うステップを含むことを特徴とするコンピューター実行方法。
〔態様2〕
前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースにある場合は、前記システムリソースへの前記アプリケーションのアクセスを許可するステップと、
前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースにない場合は、前記システムリソースへの前記アプリケーションのアクセスを妨げるステップと
をさらに含むことを特徴とする態様1に記載のコンピューター実行方法。
〔態様3〕
前記システムリソースへのアクセスを妨げられた前記アプリケーションに関するデータをアドミニストレーターに提供するステップをさらに含むことを特徴とする態様2に記載のコンピューター実行方法。
〔態様4〕
1つまたは複数のアクセス制御リスト(ACL)を、前記アプリケーションによって使用されるのを要求された前記システムリソースに関連付けるステップと、
前記1つまたは複数のACLを前記セキュリティモニターのデータベースに記憶するステップと
をさらに含むことを特徴とする態様1に記載のコンピューター実行方法。
〔態様5〕
前記1つまたは複数のACLを前記アプリケーションによって使用されることを要求された前記システムリソースに関連付けるステップ、および前記1つまたは複数のACLを前記セキュリティモニターのデータベースにロードするステップは、前記セキュリティモニターが学習モードで動作する場合に行われることを特徴とする態様4に記載のコンピューター実行方法。
〔態様6〕
前記アプリケーションは、仮想アプリケーションであることを特徴とする態様1に記載のコンピューター実行方法。
〔態様7〕
前記仮想アプリケーションは、他の仮想アプリケーションが実行している単一の物理マシン上で実行していることを特徴とする態様6に記載のコンピューター実行方法。
〔態様8〕
前記仮想アプリケーションおよび他の仮想アプリケーションは、パーティション内で実行されることを特徴とする態様7に記載のコンピューター実行方法。
〔態様9〕
前記システムリソースは、通信ポート、レジストリ、オープンデータベースコネクティビティ接続ストリング、またはエンドポイントのうちの少なくとも1つを含むことを特徴とする態様1に記載のコンピューター実行方法。
〔態様10〕
コンピューターによって実行される場合、前記コンピューターに、
1つまたは複数のシステムリソースにアクセスするためにアプリケーションによって行われた1つまたは複数のアプリケーションプログラミングインターフェイス(API)コールをセキュリティモニターによってインターセプトさせ、
前記APIコールに関するデータをセキュリティモニターのデータベースに記憶させ、
前記セキュリティモニターのデータベースに記憶されている前記データに基づいて前記システムリソースにアクセスすることから1つまたは複数の他のアプリケーションを隔離させる
コンピューター可読命令を有することを特徴とするコンピューター可読記憶媒体。
〔態様11〕
前記コンピューターによって実行される場合、前記コンピューターに
仮想化層の中にセキュリティモニターを提供させ、
1つまたは複数のアクセス制御リスト(ACL)を前記システムリソースに関連付けさせる
さらなるコンピューター実行可能命令を有することを特徴とする態様10に記載のコンピューター可読記憶媒体。
〔態様12〕
前記コンピューターによって実行される場合、前記コンピューターに、
前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースに見つかった場合は、前記システムリソースへの前記アプリケーションのアクセスを許可させ、
前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースに見つからない場合は、前記アプリケーションが前記システムリソースにアクセスするのを妨げさせる
さらなるコンピューター実行可能命令を有することを特徴とする態様11に記載のコンピューター可読記憶媒体。
〔態様13〕
前記システムリソースにアクセスするのを妨げられた前記アプリケーションに関するデータをアドミニストレーターに提供するステップをさらに含むことを特徴とする態様12に記載のコンピューター可読記憶媒体。
〔態様14〕
前記アドミニストレーターは前記システムリソースにアクセスするのを妨げられた前記アプリケーションに前記システムリソースへのアクセスを許可することができることを特徴とする態様13に記載のコンピューター可読記憶媒体。
〔態様15〕
前記アプリケーションは仮想アプリケーションであることを特徴とする態様10に記載のコンピューター可読記憶媒体。

Claims (15)

  1. セキュリティ境界を提供するためのコンピューター実行方法であって、前記コンピューター実行方法は、
    セキュリティモニターを学習モードで実行するステップであって、前記セキュリティモニターが
    1つまたは複数のシステムリソースにアクセスするためにアプリケーションによって行われた1つまたは複数のアプリケーションプログラミングインターフェイス(API)コールをインターセプトすることと、
    前記アプリケーションに関連するデータを、前記システムリソースにアクセスすることに関連するセキュリティモニターのデータベースに記憶することのための動作を行う、ステップ、および
    前記セキュリティモニターを執行モードで実行するステップであって、前記セキュリティモニターが、
    前記アプリケーションのランタイムにおいて、前記1つまたは複数のAPIコールを行う前記アプリケーションが、前記システムリソースにアクセスすることを認可されているかを判し、
    前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースにある場合は、前記システムリソースへの前記アプリケーションのアクセスを許可し、
    前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースにない場合は、前記システムリソースへの前記アプリケーションのアクセスを妨げるための動作を行うステップを含むことを特徴とするコンピューター実行方法。
  2. 前記システムリソースへのアクセスを妨げられた前記アプリケーションに関するデータをアドミニストレーターに提供するステップをさらに含むことを特徴とする請求項に記載のコンピューター実行方法。
  3. 前記APIコールをインターセプトしたときに1つまたは複数のアクセス制御リスト(ACL)を、前記アプリケーションによって使用されるのを要求された前記システムリソースに関連付けるステップと、
    前記1つまたは複数のACLを前記セキュリティモニターのデータベースに記憶するステップと
    をさらに含むことを特徴とする請求項1に記載のコンピューター実行方法。
  4. 前記アプリケーションは、仮想アプリケーションであることを特徴とする請求項1に記載のコンピューター実行方法。
  5. 前記仮想アプリケーションは、他の仮想アプリケーションが実行している単一の物理マシン上で実行していることを特徴とする請求項に記載のコンピューター実行方法。
  6. 前記仮想アプリケーションおよび他の仮想アプリケーションは、パーティション内で実行されることを特徴とする請求項に記載のコンピューター実行方法。
  7. 前記システムリソースは、通信ポート、レジストリ、オープンデータベースコネクティビティ接続ストリング、またはエンドポイントのうちの少なくとも1つを含むことを特徴とする請求項1に記載のコンピューター実行方法。
  8. ンピューターにセキュリティモニターを実行させるためのコンピュータープログラムであって
    前記セキュリティモニターは、学習モードでは、
    1つまたは複数のシステムリソースにアクセスするためにアプリケーションによって行われた1つまたは複数のアプリケーションプログラミングインターフェイス(API)コールをインターセプト
    前記APIコールに関するデータをセキュリティモニターのデータベースに記憶し、
    前記セキュリティモニターは、執行モードでは、
    前記セキュリティモニターのデータベースに記憶されている前記データに基づいて前記システムリソースにアクセスすることから1つまたは複数の他のアプリケーションを隔離させ
    前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースに見つかった場合は、前記システムリソースへの前記アプリケーションのアクセスを許可し、
    前記アプリケーションに関連するデータが前記セキュリティモニターのデータベースに見つからない場合は、前記アプリケーションが前記システムリソースにアクセスするのを妨げる、
    コンピュータープログラム
  9. 記コンピューターにさらに、
    仮想化層の中にセキュリティモニターを提供させ、
    1つまたは複数のアクセス制御リスト(ACL)を前記システムリソースに関連付けさせるための、
    請求項に記載のコンピュータープログラム
  10. 前記コンピューターにさらに、前記システムリソースにアクセスするのを妨げられた前記アプリケーションに関するデータをアドミニストレーターに提供するステップを実行させるための請求項に記載のコンピュータープログラム
  11. 前記アドミニストレーターは前記システムリソースにアクセスするのを妨げられた前記アプリケーションに前記システムリソースへのアクセスを許可することができることを特徴とする請求項10に記載のコンピュータープログラム
  12. 前記アプリケーションは仮想アプリケーションであることを特徴とする請求項に記載のコンピュータープログラム
  13. 前記仮想アプリケーションは、他の仮想アプリケーションが実行している単一の物理マシン上で実行していることを特徴とする請求項12に記載のコンピュータープログラム。
  14. 前記システムリソースは、通信ポート、レジストリ、オープンデータベースコネクティビティ接続ストリング、またはエンドポイントのうちの少なくとも1つを含むことを特徴とする請求項13に記載のコンピュータープログラム。
  15. セキュリティ境界を提供するためのコンピューター実行される方法であって、前記コンピューター実行される方法は、
    セキュリティモニターを学習モードで実行するステップであって、システムリソースにアクセスするためにアプリケーションによって行われたアプリケーションプログラミングインターフェイス(API)コールがインターセプトされ、前記システムリソースに関連するアクセス制御リスト(ACL)がセキュリティモニターのデータベースに記憶される、ステップと;
    前記セキュリティモニターを執行モードで実行するステップであって、
    前記アプリケーションによって行われたアプリケーションプログラミングインターフェイス(API)コールがインターセプトされ、前記アプリケーションに関連するACLが前記セキュリティモニターのデータベースに記憶されているかどうかの判定がなされ、
    前記アプリケーションに関連するACLが前記セキュリティモニターのデータベースに記憶されている場合は、前記アプリケーションはシステムリソースへのアクセスを許可され、
    前記アプリケーションに関連するACLが前記セキュリティモニターのデータベースに記憶されていない場合は、前記アプリケーションはシステムリソースへのアクセスを許可されない、ステップとを含む、
    コンピューター実行方法。
JP2013546326A 2010-12-21 2011-12-20 セキュリティ境界の提供 Active JP5922149B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/973,907 2010-12-21
US12/973,907 US9003543B2 (en) 2010-12-21 2010-12-21 Providing a security boundary
PCT/US2011/066153 WO2012088109A2 (en) 2010-12-21 2011-12-20 Providing a security boundary

Publications (2)

Publication Number Publication Date
JP2014501409A JP2014501409A (ja) 2014-01-20
JP5922149B2 true JP5922149B2 (ja) 2016-05-24

Family

ID=46236300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013546326A Active JP5922149B2 (ja) 2010-12-21 2011-12-20 セキュリティ境界の提供

Country Status (7)

Country Link
US (1) US9003543B2 (ja)
EP (1) EP2656271B1 (ja)
JP (1) JP5922149B2 (ja)
CN (1) CN102592077B (ja)
HK (1) HK1172415A1 (ja)
TW (1) TWI554879B (ja)
WO (1) WO2012088109A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667399B1 (en) * 2010-12-29 2014-03-04 Amazon Technologies, Inc. Cost tracking for virtual control planes
US9436534B2 (en) * 2011-01-17 2016-09-06 Infosys Limited Method and system for preemptive detection of occurrence of faulty conditions based on resource usage
US8688734B1 (en) * 2011-02-04 2014-04-01 hopTo Inc. System for and methods of controlling user access and/or visibility to directories and files of a computer
EP2713295A4 (en) * 2011-05-19 2015-04-22 Japan Broadcasting Corp COOPERATIVE RADIO COMMUNICATION RECEIVER, RESOURCE ACCESS CONTROL PROGRAM AND COOPERATIVE RADIO COMMUNICATION SYSTEM
EP2724279A4 (en) * 2011-06-27 2015-07-01 Nokia Corp SYSTEM, METHOD AND APPARATUS FOR FACILITATING RESOURCE SECURITY
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US8856907B1 (en) 2012-05-25 2014-10-07 hopTo Inc. System for and methods of providing single sign-on (SSO) capability in an application publishing and/or document sharing environment
CN102750493B (zh) * 2012-06-26 2016-01-06 华为终端有限公司 访问权限控制方法、装置及系统
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置
US8990942B2 (en) 2013-02-18 2015-03-24 Wipro Limited Methods and systems for API-level intrusion detection
CN104166820B (zh) * 2013-05-16 2017-09-29 北京畅游天下网络技术有限公司 一种数据管理方法和系统
CN103310149B (zh) * 2013-05-27 2018-06-26 华为终端(东莞)有限公司 系统功能调用的方法、装置及终端
WO2015065398A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Application programable interface (api) discovery
US9258315B2 (en) * 2014-01-13 2016-02-09 Cisco Technology, Inc. Dynamic filtering for SDN API calls across a security boundary
US9971582B2 (en) * 2015-06-23 2018-05-15 Ca, Inc. Selecting application wrapper logic components based on features of a mobile application to be wrapped
CN106326764A (zh) * 2015-06-30 2017-01-11 西安中兴新软件有限责任公司 一种信息安全管理方法和装置
CN108351770B (zh) * 2016-02-09 2020-02-28 西门子公司 用于安全地实施程序命令的方法和实施环境
GB2552966B (en) 2016-08-15 2019-12-11 Arm Ip Ltd Methods and apparatus for protecting domains of a device from unauthorised accesses
US10360082B2 (en) * 2017-01-19 2019-07-23 International Business Machines Corporation Analysis of application programming interface usage for improving a computer system
US11507653B2 (en) * 2018-08-21 2022-11-22 Vmware, Inc. Computer whitelist update service
KR20210026233A (ko) 2019-08-29 2021-03-10 삼성전자주식회사 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
US11184454B1 (en) * 2020-12-21 2021-11-23 Coupang Corp. Systems and methods for managing perpetual data requests to conserve resources
WO2023141014A1 (en) * 2022-01-18 2023-07-27 Cisco Technology, Inc. Detecting broken object level and function level authorization issues with api services

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6970081B1 (en) * 1998-09-17 2005-11-29 Koninklijke Philips Electronics N.V. Distributed software controlled theft detection
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US6711686B1 (en) * 1999-06-29 2004-03-23 Dell Usa L.P. Security management tool for managing security attributes in computer systems
US7320141B2 (en) * 2001-03-21 2008-01-15 International Business Machines Corporation Method and system for server support for pluggable authorization systems
US7028305B2 (en) 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US7590743B2 (en) 2003-12-23 2009-09-15 Softricity, Inc. Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process
WO2006020094A2 (en) 2004-07-20 2006-02-23 Softricity, Inc. Method and system for minimizing loss in a computer application
FR2881854B1 (fr) 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
JP4849941B2 (ja) * 2006-04-12 2012-01-11 株式会社エヌ・ティ・ティ・ドコモ ソフトウェア動作モデル化装置
JP2007286905A (ja) * 2006-04-17 2007-11-01 Nec System Technologies Ltd 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム
US20070294699A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
KR100843701B1 (ko) 2006-11-07 2008-07-04 소프트캠프(주) 콜 스택에 기록된 정보를 이용한 에이피아이 확인방법
JP4473256B2 (ja) * 2006-12-27 2010-06-02 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムによるリソースアクセスを制御するための情報処理装置、方法、及びプログラム
US8291227B2 (en) * 2007-02-02 2012-10-16 Red Hat, Inc. Method and apparatus for secure communication
JP2009048359A (ja) * 2007-08-17 2009-03-05 System Integrate Co Ltd 情報処理装置の監視・管理システム
WO2009102006A1 (ja) * 2008-02-14 2009-08-20 Nec Corporation アクセス制御装置、その方法及び情報記録媒体
US8196175B2 (en) 2008-03-05 2012-06-05 Microsoft Corporation Self-describing authorization policy for accessing cloud-based resources
US8510805B2 (en) * 2008-04-23 2013-08-13 Samsung Electronics Co., Ltd. Safe and efficient access control mechanisms for computing environments
KR100951852B1 (ko) 2008-06-17 2010-04-12 한국전자통신연구원 응용 프로그램 비정상행위 차단 장치 및 방법
JP4653230B2 (ja) 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
EP2194456A1 (en) * 2008-12-05 2010-06-09 NTT DoCoMo, Inc. Method and apparatus for performing a file operation

Also Published As

Publication number Publication date
EP2656271B1 (en) 2018-09-05
WO2012088109A3 (en) 2012-09-27
JP2014501409A (ja) 2014-01-20
WO2012088109A2 (en) 2012-06-28
CN102592077A (zh) 2012-07-18
HK1172415A1 (en) 2013-04-19
EP2656271A4 (en) 2017-06-28
CN102592077B (zh) 2014-11-19
EP2656271A2 (en) 2013-10-30
US9003543B2 (en) 2015-04-07
US20120159570A1 (en) 2012-06-21
TWI554879B (zh) 2016-10-21
TW201227285A (en) 2012-07-01

Similar Documents

Publication Publication Date Title
JP5922149B2 (ja) セキュリティ境界の提供
US9773102B2 (en) Selective file access for applications
US8397245B2 (en) Managing loading and unloading of shared kernel extensions in isolated virtual space
US8560826B2 (en) Secure virtualization environment bootable from an external media device
US8161258B2 (en) Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow
US8527989B2 (en) Tracking loading and unloading of kernel extensions in isolated virtual space
US9928010B2 (en) Methods and apparatus to re-direct detected access requests in a modularized virtualization topology using virtual hard disks
US9904484B2 (en) Securing protected information based on software designation
US10101915B2 (en) Methods and apparatus to manage inter-virtual disk relations in a modularized virtualization topology using virtual hard disks
US9734311B1 (en) Secure authentication of firmware configuration updates
US9934404B2 (en) Inter-process access control
US10628489B2 (en) Controlling access to one or more datasets of an operating system in use
US20160378361A1 (en) Methods and apparatus to apply a modularized virtualization topology using virtual hard disks
CN113826072B (zh) 系统管理模式中的代码更新
US10126983B2 (en) Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks
US9798864B2 (en) Embedded integrated component governance policy

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130905

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141121

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160115

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: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160413

R150 Certificate of patent or registration of utility model

Ref document number: 5922149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250