JP2010517164A - オペレーティングシステム資源の保護 - Google Patents
オペレーティングシステム資源の保護 Download PDFInfo
- Publication number
- JP2010517164A JP2010517164A JP2009547246A JP2009547246A JP2010517164A JP 2010517164 A JP2010517164 A JP 2010517164A JP 2009547246 A JP2009547246 A JP 2009547246A JP 2009547246 A JP2009547246 A JP 2009547246A JP 2010517164 A JP2010517164 A JP 2010517164A
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- virtual machine
- protection agent
- resources
- machine monitor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
Description
一方、コンピューターデバイス上で稼動するソフトウェアには、非特権モードのみで稼動するよう制約されるものがある。このモードでは、一般にソフトウェアはプロセッサーの命令のサブセットを実行することが可能である。オペレーティングシステムは、従って、非特権モードを使用して、このモードで稼動するソフトウェアの活動を制限することができる。例えば、ソフトウェアは、コンピューターデバイスのメモリの特定のサブセットに制限される場合がある。この非特権モードは、「リング3」又は「ユーザーモード」としても知られる。一般に、コンピューターデバイス・ユーザーアプリケーションは、この非特権モードで動作する。
マルウェアの製作者は、特権モードにアクセスし、マルウェアをコンピューターデバイスに種々の方法でロードすることができ、その方法にはコンピューターデバイスのユーザーをだまして、知らないうちにマルウェアをユーザー所有のコンピューターデバイスにインストールすることが含まれる。その結果、現在のオペレーティングシステムは、そのようなマルウェアを検出するための1つ又は複数の保護システムを用いることが多い。これらの保護システムは、一般に特定の重要なオペレーティングシステムの資源を監視して、これらの資源に対するいかなる変化も検出する。そのような保護システムがそのような変化を検出すると、保護システムは、特定の資源がマルウェアに感染されたと判断することができる。これらの保護システムは、また、ユーザーのアンチウィルスアプリケーションに、非特権モードのメモリ内に現在存在するアプリケーションの一覧を提供することができる。もちろん、マルウェアが隠れることに成功していると、提供される一覧には現れない。さらに、マルウェアが保護システムのパッチに成功していると、保護システムは、稼動することができない、又は重要なオペレーティングシステムの資源に対するいかなる変化も検出することができない。
以下の文書は、保護エージェントをオペレーティングシステム特権モードから改変不可能又はアクセス不可能にする方法で、保護エージェントを動作することが可能なツールについて説明する。これらのツールは、従って、保護エージェント自身の保護を可能にし、それによって、重要なオペレーティングシステムの資源に対する改変を検出する保護エージェントの能力を確実にする。加えて、これらのツールは、資源の改変の検出に応答して、又は保護エージェント自身の変更が企てられたことに応答して、オペレーティングシステム又はオペレーティングシステム特権モードをシャットダウンすることができる。さらに、これらのツールは、その後の資源の変更を検出する必要なしに、保護エージェントがオペレーティングシステムの資源に対する不変性を強化することを可能にする。
次に「自律的な保護エージェントの特権モード」と題される別の章が続き、これもまた2つの下位の章を含む。第1の下位の章は、仮想マシンモニターのタイマーが、根底にあるプロセッサーに保護エージェントの特権モードを追加する一例示の方法を説明し、「仮想マシンモニターに対する保護要求」と題される。次に「保護エージェントの仮想プロセッサー」と題される下位の章が続き、保護エージェント特権モードを形成することができる別の方法が説明されるが、この場合、保護エージェントの特権モードで保護エージェントを稼動するように構成されるものを含む多数の仮想プロセッサーが使用される。次に「ツールの例示の使用」と題される章が続き、先に説明したツールの動作中の例を説明する。最後に、「ツールの他の実施形態」と題される章では、種々の他の実施形態、及びツールが動作する方法を説明する。本概要は、これらの章の題名と要約とを含むが、読み手の便宜のために提供されるものであり、請求項又は表題の章の範囲を制限することを意図しない。
ツールについて詳細に述べる前に、以下の、例示の動作環境についての検討が提供され、ツールの種々の発明の態様が採用されるいくつかの方法を読み手が理解することを支援する。以下に説明される環境は、ほんの一例を構成するが、ツールの応用を任意の特定の動作環境に限定することを意図しない。他の環境を、請求の主題の精神及び範囲から逸脱することなく使用することができる。例えば、後続の章は、単一の保護エージェントを用いる実施形態を説明するが、多数の保護エージェントを利用することもできる。ある場合には、これらの保護エージェントは、独立に並列して稼動することができる。そのような場合、保護エージェントは、典型的には、それぞれのパーティション内のメモリにアクセスできるだけである。さらに、以下に説明する技術は同時に利用可能である。すなわち、様々な保護エージェントが、同じ動作環境内で様々な技術を利用することができる。
現在の例に戻ると、図1は、そのような一例示の動作環境の全体を100として例示する。この環境はコンピューターデバイス102を含み、それ自身が1つ又は複数のプロセッサー104及びコンピューター可読媒体106を含む。コンピューター可読媒体106は、仮想マシンモニター108(例えば、ハイパーバイザー)を含み、これは1つ又は複数のプロセッサーを多数の仮想プロセッサーに仮想化することが可能である。仮想マシンモニター108は、また、多数の仮想パーティションを有効にすることができる。1つ又は複数の仮想プロセッサーは、各パーティションと関連付けられることが可能で、これらの仮想プロセッサーは、利用可能な物理的プロセッサー上にスケジューリングされる。例示するように、いくつかの実施形態においては、仮想マシンモニターは、第1の仮想パーティション110及び第2の仮想パーティション112を有効にすることができる。以下で詳細に検討するように、これらのパーティションは、オペレーティングシステムの機能を保護エージェントサービスから切り離す働きをすることができる。
仮想マシンモニター特権モードより特権が低いオペレーティングシステム特権モード126は、全てのオペレーティングシステムの資源120、及び、ほとんど又は全てのオペレーティングシステムのメモリに対するアクセスを有する。この特権モードは、しかしながら、第2の仮想パーティション112等の他のパーティションに関連する資源又はメモリへのアクセスを有さない。それにもかかわらず、この特権モードは一般に全てのオペレーティングシステムのメモリに対するアクセスを有するため、「特権モード」と呼ばれることがある。「リング0」、「スーパーバイザーモード」又は「カーネルモード」もまた、この特権モードを表現する。上記で検討したように、オペレーティングシステム特権モード126内で動作するユーザーアプリケーションは、一般に、仮想マシンモニターモードに対して予約される命令を除いて、プロセッサーにより与えられるほとんどの命令を実行することができる。
このオペレーティングシステム特権モードは、ユーザー特権モード128と対比されて、「非特権モード」、「リング3」又は単に「ユーザーモード」と呼ばれることがある。また上記で検討したように、ユーザーアプリケーションは、特権モード128から動作しているときは、オペレーティングシステムに関連する特定のメモリにアクセスすること又はそのメモリを改変することができない。一般に、基本の動作を実行するときには、コンピューターデバイス・ユーザーアプリケーションは、このユーザー特権モードで動作する。
オペレーティングシステム114は、一方、オペレーティングシステム特権モード126で動作し、部分202及び部分206以外の全てのメモリへのアクセスを有する。オペレーティングシステムは、保護エージェントに関連するメモリの一部分206へのアクセスを有さないが、一方、オペレーティングシステム及びその関連する特権モードは、メモリの一部分208へのアクセスを有するのである。このメモリの一部分208は、時にはカーネルメモリ又はオペレーティングシステムの最下位レベルのコンポーネントとして知られ、一般に、図1に示す資源を含む。しかしながら、マルウェアがメモリの一部分208にロードされて動作するとしても、マルウェアは保護エージェントに関連するメモリの一部分206にアクセスすることができない。
以下の章は、オペレーティングシステム特権モード内で動作するエンティティーによってアクセス不可能なメモリから、1つ又は複数のオペレーティングシステムの資源が変更されたかどうかを判断することが可能なツールについて説明する。上記のように、そのツールは、保護エージェントがオペレーティングシステムのメモリ自身の位置以外の位置に存在することを可能にする。さらに特には、以下の下位の章では、保護エージェントがどのように仮想マシンモニター内又は自律的な仮想パーティション内に存在することができるかを説明する。
この下位の章では、図1に例示するように、保護エージェント134が、どのように仮想マシンモニター自身の内部に存在することができるかを説明する。オペレーティングシステム特権モードが仮想マシンモニターにアクセスできないため、この位置では、保護エージェントがオペレーティングシステムのメモリ内に置かれる任意のマルウェアから保護される。この位置から動作するために、保護エージェントは、保護エージェント134が監視することができる1つ又は複数のオペレーティングシステムの資源120の識別を受け取る。この識別を、資源識別子136を介して受け取ることができる。例示するように、オペレーティングシステムは、この情報を仮想マシンモニターへのアプリケーションプログラミングインターフェース(API)コールを介して提供することができ、又はそのオペレーティングシステムは、マニフェスト(一覧)138の形式の情報を提供することができる。上記で検討したように、これらの資源は、SSDT、IDT、及びGDTを含むことができる。
識別に加えて、保護エージェントは、対応する資源をどのように保護するかについて保護エージェントに命令する保護属性を受け取ることもできる。例えば、保護エージェントは、SSDT資源の識別、及び、「読み出し専用」の対応する保護属性を受け取ることができる。保護エージェントは、従って、SSDTが読み出し専用であるべきこと、及び、そのことにより改変されるべきではないことを知る。「初期後読み出し専用(Init read−only)」は、他の考えられる保護属性であり、対応する資源は、初期化の間に1回書き込むことができ、その後は読み出し専用であるべきことを保護エージェントに命令する。
保護エージェントは、資源及び資源の保護属性のこの識別を、積極的にも受動的にも多数の方法で受け取ることができる。例えば、オペレーティングシステムは、保護エージェントが監視することができる資源を識別する、デジタル署名されたマニフェストを提供することができる。このデジタル署名されたマニフェストは、メモリの一部分208の対応する位置に資源をマッピングする、名称(例えば、SSDT、IDT、GDT等)によって、又はアドレスによってなど多数の方法で、資源を識別することができる。後者の例において、マニフェストは、資源のゲストの物理アドレス、資源のゲストの仮想アドレス、又は資源のシステムの物理アドレスを識別することができる。いくつかの例において、ゲストの物理アドレスは、対応する資源コンポーネントの実際の物理的位置を発見するために、実際のシステムの物理アドレスにマッピングすることができる。
デジタル署名されたマニフェスト及び1つ又は複数のハイパーコールを利用する実施形態において、保護エージェントは、最初に、オペレーティングシステムがブートする前又はその間に、マニフェスト内で識別される資源をスキャンすることができる。この初期スキャンの後、オペレーティングシステムは、次に、保護エージェントに命令する仮想マシンモニターへのハイパーコールを行い、ハイパーコール識別されるページが改変されたかどうかを判断することができる。このように、マニフェストは、オペレーティングシステムのブート毎に資源を識別してスキャンし、一方で、ハイパーコールは、それぞれの初期化時に資源を識別して動的にスキャンする。
仮想マシンモニター自身の内部に存在する代わりに、保護エージェント(例えば、図1の保護エージェント142)が、別個の仮想パーティション(例えば、図1の第2の仮想パーティション112)に存在することができる。これらの実施形態において、この別個のパーティションは、仮想マシンモニターの信頼されたデリゲート(delegate)として行動する。保護エージェント142は、従って、オペレーティングシステム特権モードからはアクセス不可能である。上記で検討したように、仮想マシンモニター108は、コンピューターデバイス102のそのような仮想化の準備を行う。仮想マシンモニターがコンピューターデバイスを任意の数のパーティションに仮想化することができる一方で、図1は、オペレーティングシステムをホスティングする第1のパーティションと保護エージェントをホスティングする第2のパーティションとを例示する。保護エージェントが存在する第2の仮想パーティションは、ある場合には、その主要な機能又は唯一の機能が保護エージェントを稼動することである、デリゲートされたセキュリティパーティションとすることができる。他の実施形態において、この第2の仮想パーティションは、別のオペレーティングシステムをホスティングする等の追加の機能を実行することができる。
例示するように、保護エージェント142は、第2の仮想パーティション特権モード130からアクセス可能であるが、オペレーティングシステム特権モード126からはアクセス不可能である。その上で、その結果としてのアーキテクチャーは、マルウェアがオペレーティングシステムの最下位レベルのコンポーネントに関連するメモリの一部分208内に存在する場合でも、保護エージェント自身を、そのオペレーティングシステム内に存在する任意のマルウェアから保護することができる。
この章では、保護エージェントに関連するオペレーティングシステムのメモリの一部分を、オペレーティングシステム特権モードから改変不可能又はアクセス不可能にすることが可能な一方で、このメモリの一部分をオペレーティングシステムの物理的メモリ空間に物理的に存在させたままにすることを可能にする、ツールについて説明する。これらのツールは、従って、保護エージェントに関連するメモリの一部分、同様に、オペレーティングシステム特権モード内でアクセス可能なメモリの残りの部分にもアクセスできる、自律的な保護エージェント特権モードを形成する。この特権モードは、従って、オペレーティングシステム特権モードより特権が高い。
この下位の章では、保護エージェントがどのように仮想マシンモニターに要求して、保護エージェントに関連するメモリを保護することができるか、またその上でどのように保護エージェント自身を保護することができるか、について説明する。この保護の結果、図1に例示するように、保護エージェント144が保護エージェント特権モード132で動作することになる。例示するように、保護エージェント144は、保護エージェント特権モードに移動する前、最初はオペレーティングシステム特権モード内に存在することができる。この後者の保護エージェントの特権モードでの動作時は、保護エージェントは、一般に、オペレーティングシステム特権モード126で動作するエンティティーからの攻撃には影響されない。
保護エージェント特権モード132での動作時は、エンティティーはオペレーティングシステム特権モード126で動作する場合よりもわずかに高い特権を有するが、まだ仮想マシンモニター特権モード124よりも特権が低い。図2に例示するように、この仮想マシンモニター特権モードで動作する保護エージェントは、保護エージェント自身に関連するメモリの一部分206に加えて、オペレーティングシステムに関連するメモリの全てへのアクセスを有する。仮想マシンモニター108は、追加の保護エージェントのアクセス可能性を強化する。
この下位の章では、仮想プロセッサーに保護エージェント144を稼動するようにスケジューリングすることにより、仮想マシンモニターがどのように保護エージェント特権モードを形成することができるかについて説明する。図5は、コンピューターデバイス102を、それぞれがオペレーティングシステムを含む2つのパーティションに仮想化する仮想マシンモニター108を含むアーキテクチャー500を例示する。例示するように、本例のコンピューターデバイスは、2つの現実のプロセッサー104(a)及び104(b)を含み、それぞれに対して仮想プロセッサーが多数の仮想プロセッサーをスケジューリングすることができる。また例示するように、仮想マシンモニターは、第1の仮想パーティション502及び第2の仮想パーティション504を作成する。第1の仮想パーティションは、第1のオペレーティングシステムを稼動する第1の仮想プロセッサー506を含む。同様に、第2の仮想パーティションは、第2のオペレーティングシステムを稼動する第2の仮想プロセッサー508を含む。しかしながら、この例においては、仮想マシンモニターは、図1の保護エージェント144等の保護エージェントを稼動する保護エージェントの仮想プロセッサー510も含む。
アーキテクチャー500を作成するために、仮想マシンモニターは最初にロードされ、初期化を行う。図6に例示するように、次に、仮想マシンモニターは種々の仮想プロセッサーを仮想化し、そうする際に現実のプロセッサーの帯域幅600を割り当てる。この仮想化及び割り当てを始めるために、仮想マシンモニターは、第1の仮想プロセッサーを第1の現実のプロセッサー上に仮想化する。この例において、この仮想化は、図6に例示するように1対1で行われる。すなわち、この1つの仮想プロセッサー506のみが現実のプロセッサー104(a)に対応し、そのように、仮想マシンモニターが全ての現実のプロセッサーの帯域幅をこの仮想プロセッサーに割り当てる。次に、仮想マシンモニターは第2の仮想プロセッサー508を、第2の現実のプロセッサー104(b)上に仮想化する。しかしながら、1対1の代わりに、仮想マシンモニターは、第2の現実のプロセッサーの帯域幅のある部分を保持する。次に、仮想マシンモニターは図6にも例示するように、保護エージェントの仮想プロセッサー510を第2の現実のプロセッサー104(b)の残りの帯域幅上に仮想化する。
第2の現実のプロセッサー上で動作する各仮想プロセッサーは、一般に、タイムスライス(time-sliced)で行動する。すなわち、第2の仮想プロセッサーは、第2の仮想プロセッサーの動作が中断する前に、第2の現実のプロセッサー上で、ある程度の時間動作できる。この時点で、第2の現実のプロセッサーは、別のある程度の時間は保護エージェントの仮想プロセッサーの動作に切り替わる。例えば、第2の仮想プロセッサーは、第2の現実のプロセッサー上で90ms間動作することができ、この時点で、この第2の仮想プロセッサーの動作が中断し、保護エージェントの仮想プロセッサーの動作が10ms間始まる。一般に、保護エージェントの仮想プロセッサーは、両オペレーティングシステムパーティション及び両第1と第2の仮想プロセッサーに対して透過的である。そのようなものとして、両オペレーティングシステムは、その対応する仮想プロセッサーがそれぞれの現実のプロセッサーと対応するとしている。
現実のプロセッサーの帯域幅を割り当てることに加えて、仮想マシンモニターは、各仮想プロセッサーがアクセスすることができるメモリの一部分も管理する。この例において、第1の仮想プロセッサーは、第1のオペレーティングシステムに関連する全てのメモリにアクセスすることができる。一方、第2の仮想プロセッサーは、保護エージェントに関連するメモリの一部分を除く、第2のオペレーティングシステムに関連する全てのメモリにアクセスすることができる。保護エージェントの仮想プロセッサーだけが、第2のオペレーティングシステムに割り当てられたメモリに加えて、保護エージェントに関連するメモリの一部分へのアクセスを有する。
さらに、第1及び第2の仮想プロセッサーのみが、それらの関連するメモリを改変する能力を有する。その上で、それぞれのオペレーティングシステムを動作する両仮想プロセッサーは、保護エージェントに関連するメモリの一部分を改変することはできない。しかしながら、保護エージェントの仮想プロセッサーは、保護エージェントに関連するメモリを改変することができ、いくつかの実施形態においては、第2の仮想プロセッサーに関連するメモリを同様に改変することができる。
保護エージェントの保護を確実にすることが可能なツールについて先に説明したが、以下の章では、動作中のこれらのツールのほんの一例を説明する。最初に、コンピューターのユーザーがインターネットサーフィンを行っており、あるウェブサイトを見ている際に、悪意のあるダイアログボックスがユーザーのディスプレイにポップアップする場合を考えてみる。ダイアログボックスは、ある種のマルウェアをユーザーのコンピューター上にインストールするための、ユーザーからの許可を要求する。この要求は直接的な場合があるが、ダイアログボックスが、典型的な事例であるかのように偽装しているとする。例えば、このダイアログボックスは、偽って、ユーザーが賞金を獲得したとユーザーに通知することができる。そのように通知する際、ダイアログボックスは、賞金を受け取るためにダイアログボックスの「OK」ボタンをクリックするように、悪意を持ってユーザーに命令する。コンピューターデバイス上で稼動するソフトウェア(例えば、アンチウィルスアプリケーション)からの1つ又は複数の警告にもかかわらず、ユーザーが実際にOKボタンを選択し、要求される動作をユーザーが継続することを選択する場合を考えてみよう。
従って、オペレーティングシステム特権モードからアクセス不可能なメモリに存在すること、又はオペレーティングシステム特権モードからアクセス不可能なモードで稼動することにより、本明細書に説明される実施形態は、マルウェアが自分自身を隠すこと、又は保護エージェント全体をパッチすることを阻止する。上記の例において、ユーザーのコンピューターデバイスは、従って、マルウェアをマシンから除去し、ある例においては、マルウェアが重要な資源を改変すると、システムをシャットダウンすることが可能である。どちらの場合においても、これらの実施形態は、害を及ぼそうとするマルウェアの有効性を減少する働きをする。
上記の章では、保護エージェントを、オペレーティングシステム特権モードから改変不可能又はアクセス不可能にするいくつかの特定の例が説明されている。この章においては、特権モードを根底にあるプロセッサー上に存在しないプロセッサーに追加する等のツールの他の実施形態について説明される。
図7を参照すると、ブロック702は、1つ又は複数のオペレーティングシステムの資源を識別する実施方針を受け取る。この実施方針は、暗号化されたデータを含むことができ、デジタル署名されたマニフェストを介して、又はアプリケーションプログラムインターフェース(API)をオペレーティングシステム(例えば、ハイパーコール)に対して露出することにより、受け取ることができる。ブロック704は、オペレーティングシステム特権モード内で動作するエンティティーからではアクセス不可能なメモリから、1つ又は複数のオペレーティングシステムの資源を識別する。例示の資源は、システムサービスディスパッチテーブル(SSDT)、割り込みディスパッチテーブル(IDT)、及び/又はグローバル記述子テーブル(GDT)を含む。上記で説明したように、この識別は、仮想マシンモニター内で(例えば、図1の保護エージェント134により)、又は別個の仮想パーティション内で(例えば、図1の保護エージェント142により)起こることができる。
次に、図9は、図1に例示する保護エージェント特権モード132等の、保護エージェント特権モードを形成する例示のプロセス900を説明する。ブロック902は、特定のメモリ領域をオペレーティングシステム特権モードから改変不可能又はアクセス不可能にするという要求を受け取る。その場合も、仮想マシンモニターは、メモリ自身の領域から又はメモリの領域に存在する保護エージェントから生じることができるこの要求を受け取ることができる。ブロック904は、メモリの領域を保護し、タイマーを設定してメモリの領域に存在する保護エージェントを周期的に稼動する。その場合も、仮想マシンモニターは、そのようなタイマーを設定することができ、そのタイマーは、仮想マシンモニターに命令して保護エージェントを一定間隔で稼動することができる。
上述したツールは、保護エージェントがオペレーティングシステム特権モードからアクセス不可能な位置に存在できるようにすることにより、又は、保護エージェント特権モードを形成することのいずれかにより、保護エージェントをオペレーティングシステム特権モードから改変不可能又はアクセス不可能にすることが可能である。ツールは、構造的特徴及び/又は方法論的な行動に特有の言語で説明されたが、添付の請求項に定義されるツールはが必ずしもこの説明された特有の特徴又は行動に限定されないことは理解されるべきである。むしろ、特有の特徴及び行動は、ツールを実装する例示の形式として開示される。
Claims (20)
- コンピューター可読命令を自身内に有する1つ又は複数のコンピューター可読媒体であって、コンピューターデバイス(102)により実行されるとき、前記コンピューター可読命令は、コンピューターデバイス(102)に、
オペレーティングシステム特権モード(126)内で動作するエンティティーによってアクセス不可能なメモリから、オペレーティングシステム(114)の1つ又は複数の資源(120)の組を識別するステップ(704)と、
前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたかどうかを、前記メモリから判断するステップ(706)と
を含む行動を実行させることを特徴とするコンピューター可読媒体。 - 前記1つ又は複数の資源(120)の組を識別するステップ(704)及び前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたかどうかを判断するステップ(706)は、前記オペレーティングシステム特権モード(126)よりも上位の特権を有する仮想マシンモニター(108)内で起こることを特徴とする請求項1に記載の媒体。
- 前記オペレーティングシステム(114)は、複数のパーティションを備える仮想マシンモニター(108)により提供される第1のパーティション(110)で動作し、前記1つ又は複数の資源(120)の組を識別するステップ(704)及び前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたかどうかを判断するステップ(706)は、仮想マシンモニター(108)により提供される第2のパーティション(112)内で起こることを特徴とする請求項1に説明の媒体。
- 前記オペレーティングシステム特権モード(126)内で動作するエンティティーによってアクセス不可能な前記メモリにおいて、前記1つ又は複数の資源(120)の組を識別する実施方針を受け取るステップ(702)をさらに含むことを特徴とする請求項1に記載の媒体。
- 前記実施方針はデジタル署名されたマニフェスト(138)を含み、デジタル署名されたマニフェスト(138)を受け取るステップ(702)及び前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたかどうかを判断するステップ(706)は、前記オペレーティングシステム(114)がブートする前又はその間に起こることを特徴とする請求項4に記載の媒体。
- アプリケーションプログラムインターフェース(API)を前記オペレーティングシステム(114)に対して露出するステップと、APIを介して前記1つ又は複数の資源(120)の1つ又は複数の組の識別を受け取るステップとをさらに含むことを特徴とする請求項1に記載の媒体。
- 前記1つ又は複数の資源(120)の組が、システムサービスディスパッチテーブル(SSDT)、割り込みディスパッチテーブル(IDT)、又はグローバル記述子テーブル(GDT)を含むことを特徴とする請求項1に記載の媒体。
- 前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたという判断に応答して、前記オペレーティングシステム(114)を終了するステップ(708)をさらに含むことを特徴とする請求項1に記載の媒体。
- 前記1つ又は複数の資源(120)の1つ又は複数の組が改変されたという判断に応答して、リブート時に、不正な動作についてオペレーティングシステム(114)に通知するステップ(710)をさらに含むことを特徴とする請求項1に記載の媒体。
- 仮想マシン・モニター・インターセプト・マネージャー(146)を効果的に改変して、オペレーティングシステムの資源(120)に関連するメモリのページ又はレジスターが改変されたという表示の受け取りを可能にするステップ(802)と、
前記オペレーティングシステムの資源(120)に関連するメモリのページ又はレジスターが改変されたという表示を受け取るステップ(806)と、
オペレーティングシステム特権モード(126)を効果的にシャットダウンして、前記表示の受け取りに応答して、前記オペレーティングシステムの資源(120)に関連するオペレーティングシステム(114)をシャットダウンするステップ(808)とを含むことを特徴とする方法。 - 前記オペレーティングシステムの資源(120)は前記メモリのページにおける割り込みディスパッチテーブル(IDT)であり、前記オペレーティングシステムの資源(120)に関連する前記レジスターが、IDTレジスターであることを特徴とする請求項10に記載の方法。
- 前記オペレーティングシステムの資源(120)は、システムサービスディスパッチテーブル(SSDT)又はグローバル記述子テーブル(GDT)であることを特徴とする請求項10に記載の方法。
- 前記オペレーティングシステム特権モード(126)をシャットダウンするステップ(808)は、仮想マシンモニター(108)により実行されることを特徴とする請求項10に記載の方法。
- 前記オペレーティングシステムの資源(120)と、1つ又は複数の追加のオペレーティングシステムの資源(120)とを識別する実施方針を受け取るステップ(804)をさらに含むことを特徴とする請求項10に記載の方法。
- 前記実施方針は、前記識別されたオペレーティングシステムの資源(120)のそれぞれに関連する保護属性も記述し、少なくとも1つの前記保護属性は、対応する資源(120)を読み出し専用として記述することを特徴とする請求項14に説明の方法。
- 読み出し専用の保護属性に関連する前記資源(120)に対する不変性を強化するステップをさらに含むことを特徴とする請求項15に記載の方法。
- オペレーティングシステム特権モード(126)内で動作するように設計された1つ又は複数のオペレーティングシステムの資源(120)を識別することと、前記1つ又は複数のオペレーティングシステムの資源(120)の1つ又は複数が改変されたかどうかを判断すること(706)とを可能にする1つ又は複数のコンピューター可読媒体であって、前記1つ又は複数のコンピューター可読媒体が、前記オペレーティングシステム特権モード(126)内からの攻撃にさらされないことを特徴とする媒体。
- 前記1つ又は複数のコンピューター可読媒体が、コンピューターデバイス(102)を1つ又は複数の仮想マシンのパーティションに仮想化することと、前記オペレーティングシステム特権モード(126)に関連するオペレーティングシステム(114)が動作するパーティション(110)を含む前記パーティションをホスティングすることとを可能にする仮想マシンモニター(108)内で動作することを特徴とする請求項17に記載の媒体。
- 前記1つ又は複数のコンピューター可読媒体は、仮想マシンモニター(108)を含むコンピューターデバイス(102)上で動作し、前記仮想マシンモニター(108)は、コンピューターデバイス(102)を少なくとも第1の仮想マシンのパーティション(110)と第2の仮想マシンのパーティション(112)とに仮想化し、前記第1の仮想マシンのパーティション(110)と前記第2の仮想マシンのパーティション(112)とをホスティングし、及び前記オペレーティングシステム特権モード(126)に関連するオペレーティングシステム(114)が前記第1のパーティション(110)内に存在し、前記1つ又は複数のコンピューター可読媒体が前記第2のパーティション(112)内に存在することを特徴とする請求項17に記載の媒体。
- 前記1つ又は複数のコンピューター可読媒体が、前記1つ又は複数のオペレーティングシステムの資源(120)の1つ又は複数が改変されたという判断に応答して、オペレーティングシステム特権モード(126)に関連するオペレーティングシステム(114)をシャットダウンすること(708)がさらに可能であることを特徴とする請求項17に記載の媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/627,314 US7765374B2 (en) | 2007-01-25 | 2007-01-25 | Protecting operating-system resources |
PCT/US2007/088219 WO2008091462A1 (en) | 2007-01-25 | 2007-12-19 | Protecting operating-system resources |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010517164A true JP2010517164A (ja) | 2010-05-20 |
JP2010517164A5 JP2010517164A5 (ja) | 2010-12-02 |
Family
ID=39644773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009547246A Pending JP2010517164A (ja) | 2007-01-25 | 2007-12-19 | オペレーティングシステム資源の保護 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7765374B2 (ja) |
EP (2) | EP2106583B1 (ja) |
JP (1) | JP2010517164A (ja) |
KR (1) | KR101279683B1 (ja) |
CN (1) | CN101589365B (ja) |
BR (1) | BRPI0720700B1 (ja) |
CL (1) | CL2008000176A1 (ja) |
RU (1) | RU2462747C2 (ja) |
TW (1) | TWI470471B (ja) |
WO (1) | WO2008091462A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015522874A (ja) * | 2012-06-08 | 2015-08-06 | クラウドストライク インコーポレイテッド | カーネルレベル・セキュリティ・エージェント |
JP2017228136A (ja) * | 2016-06-23 | 2017-12-28 | 日本電気株式会社 | 処理制御装置、処理制御方法、及び、処理制御プログラム |
US9858626B2 (en) | 2012-06-29 | 2018-01-02 | Crowdstrike, Inc. | Social sharing of security information in a group |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
US10740459B2 (en) | 2017-12-28 | 2020-08-11 | Crowdstrike, Inc. | Kernel- and user-level cooperative security processing |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380987B2 (en) | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
DE102007030396B4 (de) * | 2007-06-29 | 2014-11-27 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Vorrichtung zur Steuerung einer Maschine sowie Fernkommunikationssystem |
CN101334825B (zh) * | 2007-06-29 | 2011-08-24 | 联想(北京)有限公司 | 应用程序管理和运行系统及方法 |
US8607020B2 (en) * | 2008-06-06 | 2013-12-10 | International Business Machines Corporation | Shared memory partition data processing system with hypervisor managed paging |
JP5166169B2 (ja) * | 2008-08-27 | 2013-03-21 | 株式会社日立製作所 | ハイパバイザを有する計算機システム |
US8954897B2 (en) * | 2008-08-28 | 2015-02-10 | Microsoft Corporation | Protecting a virtual guest machine from attacks by an infected host |
US7975034B1 (en) * | 2008-10-31 | 2011-07-05 | Symantec Corporation | Systems and methods to secure data and hardware through virtualization |
US8776028B1 (en) * | 2009-04-04 | 2014-07-08 | Parallels IP Holdings GmbH | Virtual execution environment for software delivery and feedback |
US8621460B2 (en) * | 2009-11-02 | 2013-12-31 | International Business Machines Corporation | Endpoint-hosted hypervisor management |
US8955131B2 (en) | 2010-01-27 | 2015-02-10 | Mcafee Inc. | Method and system for proactive detection of malicious shared libraries via a remote reputation system |
US8819826B2 (en) | 2010-01-27 | 2014-08-26 | Mcafee, Inc. | Method and system for detection of malware that connect to network destinations through cloud scanning and web reputation |
US9104872B2 (en) * | 2010-01-28 | 2015-08-11 | Bank Of America Corporation | Memory whitelisting |
US9536089B2 (en) * | 2010-09-02 | 2017-01-03 | Mcafee, Inc. | Atomic detection and repair of kernel memory |
US8082585B1 (en) * | 2010-09-13 | 2011-12-20 | Raymond R. Givonetti | Protecting computers from malware using a hardware solution that is not alterable by any software |
US9032013B2 (en) * | 2010-10-29 | 2015-05-12 | Microsoft Technology Licensing, Llc | Unified policy over heterogenous device types |
US20120144489A1 (en) * | 2010-12-07 | 2012-06-07 | Microsoft Corporation | Antimalware Protection of Virtual Machines |
US8516509B2 (en) * | 2011-02-08 | 2013-08-20 | BlueStripe Software, Inc. | Methods and computer program products for monitoring system calls using safely removable system function table chaining |
US9038176B2 (en) | 2011-03-31 | 2015-05-19 | Mcafee, Inc. | System and method for below-operating system trapping and securing loading of code into memory |
US9317690B2 (en) | 2011-03-28 | 2016-04-19 | Mcafee, Inc. | System and method for firmware based anti-malware security |
WO2012135192A2 (en) * | 2011-03-28 | 2012-10-04 | Mcafee, Inc. | System and method for virtual machine monitor based anti-malware security |
US9262246B2 (en) | 2011-03-31 | 2016-02-16 | Mcafee, Inc. | System and method for securing memory and storage of an electronic device with a below-operating system security agent |
US8635615B2 (en) | 2011-05-14 | 2014-01-21 | Industrial Technology Research Institute | Apparatus and method for managing hypercalls in a hypervisor and the hypervisor thereof |
US9529996B2 (en) | 2011-10-11 | 2016-12-27 | Citrix Systems, Inc. | Controlling mobile device access to enterprise resources |
US9280377B2 (en) * | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US9419802B2 (en) * | 2011-12-01 | 2016-08-16 | Intel Corporation | Secure message filtering to vehicle electronic control units with secure provisioning of message filtering rules |
CN102521016A (zh) * | 2011-12-08 | 2012-06-27 | 中兴通讯股份有限公司 | 一种运行多个虚拟机的方法及系统 |
CN102779250B (zh) * | 2012-06-29 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 文件可控执行的检测方法及虚拟机 |
US20140109072A1 (en) | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US9201642B2 (en) * | 2013-03-15 | 2015-12-01 | International Business Machines Corporation | Extending platform trust during program updates |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9197654B2 (en) * | 2013-06-28 | 2015-11-24 | Mcafee, Inc. | Rootkit detection by using HW resources to detect inconsistencies in network traffic |
GB2515736A (en) | 2013-07-01 | 2015-01-07 | Ibm | Controlling access to one or more datasets of an operating system in use |
FR3012643B1 (fr) * | 2013-10-28 | 2017-03-17 | Oberthur Technologies | Systeme de detection d'intrusion dans un dispositif comprenant un premier systeme d'exploitation et un deuxieme systeme d'exploitation |
US9772953B2 (en) * | 2014-02-03 | 2017-09-26 | Samsung Electronics Co., Ltd. | Methods and apparatus for protecting operating system data |
US10318765B2 (en) * | 2014-05-02 | 2019-06-11 | Avago Technologies International Sales Pte. Limited | Protecting critical data structures in an embedded hypervisor system |
US9760712B2 (en) * | 2014-05-23 | 2017-09-12 | Vmware, Inc. | Application whitelisting using user identification |
US10951655B2 (en) * | 2014-09-26 | 2021-03-16 | Oracle International Corporation | System and method for dynamic reconfiguration in a multitenant application server environment |
RU2585978C2 (ru) * | 2014-09-30 | 2016-06-10 | Закрытое акционерное общество "Лаборатория Касперского" | Способ вызова системных функций в условиях использования средств защиты ядра операционной системы |
US10664593B2 (en) | 2015-10-29 | 2020-05-26 | Hewlett-Packard Development Company, L.P. | Checking a security value calculated for a part of a program code |
RU2624554C1 (ru) * | 2016-05-17 | 2017-07-04 | Закрытое акционерное общество "Перспективный мониторинг" | Способ обнаружения скрытого программного обеспечения в вычислительной системе, работающей под управлением POSIX-совместимой операционной системы |
US20180004931A1 (en) * | 2016-07-02 | 2018-01-04 | Intel Corporation | Process management |
KR102022168B1 (ko) * | 2017-12-15 | 2019-09-18 | 이방훈 | 하드웨어 태스크 스위칭을 이용한 은닉 태스크의 감지 방법 및 장치 |
USD905765S1 (en) | 2019-03-07 | 2020-12-22 | Caterpillar Inc. | Adapter for a ground engaging machine implement |
RU2728504C1 (ru) * | 2019-03-29 | 2020-07-29 | Акционерное общество "Лаборатория Касперского" | Система и способ поэтапного повышения информационной безопасности элементов технологической системы |
US20220156879A1 (en) * | 2020-11-18 | 2022-05-19 | Intel Corporation | Multi-tile graphics processing unit |
US20230092808A1 (en) * | 2021-09-17 | 2023-03-23 | Mediatek Inc. | Model protection system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263413A (ja) * | 2002-03-07 | 2003-09-19 | Fujitsu Ltd | データサーバへの不正侵入対処方法、及びプログラム |
US20050114687A1 (en) * | 2003-11-21 | 2005-05-26 | Zimmer Vincent J. | Methods and apparatus to provide protection for firmware resources |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
JP2006178936A (ja) * | 2004-12-21 | 2006-07-06 | Microsoft Corp | 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4091447A (en) | 1976-07-19 | 1978-05-23 | Union Carbide Corporation | Interrupt control system for a microcomputer |
DE2744111A1 (de) | 1977-09-30 | 1979-04-05 | Siemens Ag | Schaltungsanordnung zur eingabe von unterbrechungsbefehlen und ausgabe von unterbrechungsbestaetigungen fuer computer-systeme |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
US5684948A (en) * | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US7210040B2 (en) * | 2000-07-14 | 2007-04-24 | Computer Associates Think, Inc. | Detection of suspicious privileged access to restricted computer resources |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7631160B2 (en) * | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
KR100389206B1 (ko) * | 2001-04-25 | 2003-06-27 | 주식회사 성진씨앤씨 | 컴퓨터 운영 시스템 보호 방법 및 장치 |
GB2376761A (en) | 2001-06-19 | 2002-12-24 | Hewlett Packard Co | An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
US7793286B2 (en) | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US7222062B2 (en) | 2003-12-23 | 2007-05-22 | Intel Corporation | Method and system to support a trusted set of operational environments using emulated trusted hardware |
US7802250B2 (en) | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7694121B2 (en) * | 2004-06-30 | 2010-04-06 | Microsoft Corporation | System and method for protected operating system boot using state validation |
WO2006014554A2 (en) * | 2004-07-07 | 2006-02-09 | University Of Maryland | Method and system for monitoring system memory integrity |
US7757231B2 (en) | 2004-12-10 | 2010-07-13 | Intel Corporation | System and method to deprivilege components of a virtual machine monitor |
JP4400448B2 (ja) * | 2004-12-22 | 2010-01-20 | コニカミノルタセンシング株式会社 | 分光輝度計の校正方法、及び校正システムの動作プログラム |
US8533777B2 (en) * | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US8856473B2 (en) * | 2005-07-01 | 2014-10-07 | Red Hat, Inc. | Computer system protection based on virtualization |
AU2006100099A4 (en) * | 2006-02-08 | 2006-03-16 | Pc Tools Technology Pty Limited | Automated Threat Analysis System |
US8380987B2 (en) | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
-
2007
- 2007-01-25 US US11/627,314 patent/US7765374B2/en active Active
- 2007-12-19 RU RU2009128684/08A patent/RU2462747C2/ru active
- 2007-12-19 JP JP2009547246A patent/JP2010517164A/ja active Pending
- 2007-12-19 WO PCT/US2007/088219 patent/WO2008091462A1/en active Application Filing
- 2007-12-19 CN CN2007800505108A patent/CN101589365B/zh active Active
- 2007-12-19 KR KR1020097015094A patent/KR101279683B1/ko active IP Right Grant
- 2007-12-19 EP EP07869567.3A patent/EP2106583B1/en active Active
- 2007-12-19 EP EP12005459.8A patent/EP2521062B1/en active Active
- 2007-12-19 BR BRPI0720700-0A patent/BRPI0720700B1/pt active IP Right Grant
- 2007-12-24 TW TW96149789A patent/TWI470471B/zh not_active IP Right Cessation
-
2008
- 2008-01-22 CL CL200800176A patent/CL2008000176A1/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263413A (ja) * | 2002-03-07 | 2003-09-19 | Fujitsu Ltd | データサーバへの不正侵入対処方法、及びプログラム |
US20050114687A1 (en) * | 2003-11-21 | 2005-05-26 | Zimmer Vincent J. | Methods and apparatus to provide protection for firmware resources |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
JP2006178936A (ja) * | 2004-12-21 | 2006-07-06 | Microsoft Corp | 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015522874A (ja) * | 2012-06-08 | 2015-08-06 | クラウドストライク インコーポレイテッド | カーネルレベル・セキュリティ・エージェント |
US9904784B2 (en) | 2012-06-08 | 2018-02-27 | Crowdstrike, Inc. | Kernel-level security agent |
US10002250B2 (en) | 2012-06-08 | 2018-06-19 | Crowdstrike, Inc. | Security agent |
US10853491B2 (en) | 2012-06-08 | 2020-12-01 | Crowdstrike, Inc. | Security agent |
US9858626B2 (en) | 2012-06-29 | 2018-01-02 | Crowdstrike, Inc. | Social sharing of security information in a group |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US11340890B2 (en) | 2014-03-20 | 2022-05-24 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
JP2017228136A (ja) * | 2016-06-23 | 2017-12-28 | 日本電気株式会社 | 処理制御装置、処理制御方法、及び、処理制御プログラム |
US11086986B2 (en) | 2016-06-23 | 2021-08-10 | Nec Corporation | Processing control apparatus, processing control method, and non-transitory recoding medium |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
US10740459B2 (en) | 2017-12-28 | 2020-08-11 | Crowdstrike, Inc. | Kernel- and user-level cooperative security processing |
Also Published As
Publication number | Publication date |
---|---|
BRPI0720700B1 (pt) | 2019-05-21 |
WO2008091462A1 (en) | 2008-07-31 |
EP2521062B1 (en) | 2020-11-04 |
EP2106583A4 (en) | 2012-01-25 |
EP2106583A1 (en) | 2009-10-07 |
TWI470471B (zh) | 2015-01-21 |
RU2462747C2 (ru) | 2012-09-27 |
KR101279683B1 (ko) | 2013-06-27 |
BRPI0720700A2 (pt) | 2014-04-15 |
US20080183996A1 (en) | 2008-07-31 |
CN101589365B (zh) | 2012-07-04 |
BRPI0720700A8 (pt) | 2017-01-17 |
EP2521062A1 (en) | 2012-11-07 |
US7765374B2 (en) | 2010-07-27 |
TW200842646A (en) | 2008-11-01 |
CN101589365A (zh) | 2009-11-25 |
KR20090107035A (ko) | 2009-10-12 |
CL2008000176A1 (es) | 2008-08-01 |
EP2106583B1 (en) | 2015-11-11 |
RU2009128684A (ru) | 2011-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5249450B2 (ja) | 保護エージェント及び特権モード | |
JP2010517164A (ja) | オペレーティングシステム資源の保護 | |
US9202046B2 (en) | Systems and methods for executing arbitrary applications in secure environments | |
KR101946982B1 (ko) | 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가 | |
RU2703156C2 (ru) | Системы и способы обеспечения компьютерной безопасности, использующие исключения асинхронной интроспекции | |
KR102189296B1 (ko) | 가상 머신 보안 어플리케이션을 위한 이벤트 필터링 | |
US10296470B2 (en) | Systems and methods for dynamically protecting a stack from below the operating system | |
KR101536486B1 (ko) | 오퍼레이팅 시스템(os) 독립 안티-바이러스(av) 스캐너에 대해 강제적 보안 정책을 시행하기 위한 방법 및 장치 | |
US10108800B1 (en) | ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods | |
US20150379265A1 (en) | Systems And Methods For Preventing Code Injection In Virtualized Environments | |
Suzaki et al. | Kernel memory protection by an insertable hypervisor which has VM introspection and stealth breakpoints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101015 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101015 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20101015 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20101119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110228 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110401 |