TWI475388B - 保護代理及特權模式 - Google Patents

保護代理及特權模式 Download PDF

Info

Publication number
TWI475388B
TWI475388B TW096150027A TW96150027A TWI475388B TW I475388 B TWI475388 B TW I475388B TW 096150027 A TW096150027 A TW 096150027A TW 96150027 A TW96150027 A TW 96150027A TW I475388 B TWI475388 B TW I475388B
Authority
TW
Taiwan
Prior art keywords
protection agent
operating system
privileged mode
memory
virtual
Prior art date
Application number
TW096150027A
Other languages
English (en)
Other versions
TW200836064A (en
Inventor
Eric Traut
Andrew Thornton
Suyash Sinha
Forrest Foltz
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 TW200836064A publication Critical patent/TW200836064A/zh
Application granted granted Critical
Publication of TWI475388B publication Critical patent/TWI475388B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

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)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

保護代理及特權模式
本發明係關於保護代理及特權模式。
計算裝置內的處理器通常包含特權與非特權模式。在特權模式內執行的軟體一般可執行處理器所支援的所有指令。一般而言,作業系統核心都在特權模式內執行,此模式有時稱為「Ring 0」、「管理模式」或「核心模式」。
相較之下,在計算裝置上執行的某些軟體會受限成只能在非特權模式內執行。此模式一般允許軟體執行處理器指令的子集。如此作業系統可使用非特權模式限制在此模式內執行的軟體之活動。例如:軟體可限制於計算裝置記憶體的特定子集。此非特權模式有時也稱為「Ring 3」或「使用者模式」。一般而言,計算裝置使用者應用程式在此非特權模式內操作。
若軟體應用程式在此非特權模式內運作,則該應用程式可要求存取從非特權模式無法直接存取的部分記憶體。例如應用程式可能想要在此記憶體部分內執行一項操作,像是「建立新檔」。此要求通常透過呼叫閘道或其他系統呼叫指令來繞送,這會將此非特權模式碼轉換成特權模式碼。此轉換確定非特權模式不會直接存取被指定為只有特權模式才能存取的記憶體。
依照這些模式,惡意程式碼的作者可存取特權模式, 並且安裝會改變計算裝置行為的惡意軟體。此惡意軟體可例如改變檔案位置、隱藏檔案、修改檔案、變更按鍵等等。某些惡意軟體包含「rootkit」,其不僅改變計算裝置的行為,也會將其本身隱藏在特權模式的記憶體內。因此計算裝置上執行的防毒應用程式無法發現此憶藏的rootkit,如此讓惡意軟體繼續其惡意意圖。更進一步,這種惡意軟體會修改作業系統內建保護系統,如底下所討論。
惡意軟體作者可存取特權模式,並以許多方式將惡意軟體載入計算裝置內,包含欺騙計算裝置使用者在未知情況下將惡意軟體安裝至使用者自己的計算裝置上。結果,目前的作業系統通常運用一或多種保護系統來偵測這種惡意軟體。這些保護系統一般會監視特定重要作業系統資源,來偵測這些資源的任何變更。若這種保護系統偵測到這種變更,則保護系統會判斷特定資源已經遭受惡意程式感染。這些保護系統也提供一份目前在非特權模式記憶體內的應用程式清單給使用者的防毒軟體。當然,若惡意軟體已經成功隱藏,則不會出現在提供的清單中。更進一步,若惡意軟體已經成功修改保護系統,則保護系統會無法執行或無法偵測重要作業系統資源的任何變更。
雖然這些保護系統有效,其也有一些弱點。第一,這些系統通常依賴其隱匿性,若被惡意軟體識別的話容易遭受利用。也就是,若惡意軟體破解了保護系統的識別並且找到保護系統,則將使保護系統失去作用。惡意軟體作者也會指示其他軟體如何進行相同工作。更進一步並且關於 第一點,這些保護系統一般都在與作業系統相同的保護領域內運作(例如在特權模式內)。因此,若惡意軟體進入特權模式並且能揭露出受遮蔽的保護系統,則保護系統本身易遭受攻擊。最後,這些保護系統與作業系統或特權模式同時啟動。因此,若惡意軟體或惡意軟體作者在啟動之前取得計算裝置的控制,則會讓保護系統無法啟動。
本文件說明可讓與保護代理相關的部分作業系統記憶體無法從作業系統特權模式改變或存取之工具。在某些具體實施例內,這些工具可利用要求虛擬機器監視程式保護此作業系統記憶體部分,來建立保護代理特權模式。在其他具體實施例內,這些工具可利用將一實體處理器虛擬成多個虛擬處理器,來建立保護代理特權模式,其中至少一個為設計執行該保護代理之保護代理虛擬處理器。藉由讓此作業系統記憶體部分無法從作業系統特權模式改變或存取,該保護代理就較不易遭受作業系統特權模式內運作的實體之攻擊。
本發明內容用於導入一些簡單形式之概念,在底下實施方式中有進一步說明。本發明內容並不在於說明申請專利範圍標的的關鍵特徵或基本特徵,也不在於用來幫助決定申請專利範圍標的之範疇。例如術語「工具」在上文以及整份文件當中可代表系統、方法、電腦可讀取指令以及/或技術。
簡介
下列文件說明可用無法從作業系統特權模式改變或存取保護代理之方式來操作保護代理的工具。然後這些工具啟動保護代理本身的保護,藉此確定保護代理偵測對重要作業系統資源做出改變的能力。此外,這些工具可關閉作業系統或作業系統特權模式,以回應偵測到資源改變或回應試圖對保護代理本身的修改。更進一步,這些工具可讓保護代理確實施行作業系統資源上的不可變性,而不需要偵測之後的資源改變。
在工具可採取這些與其他動作的環境都公佈在底下標題為「示例性作業環境 」(Exemplary Operating Environment )的章節內。接著是標題為「自主保護代理 」(Autonomous Protection Agents )的章節並包含兩小節,第一小節標題為「虛擬機器監視程式保護代理 」(Virtual-Machine-Monitor Protection Agents )說明保護代理可位於虛擬機器監視程式內並在其內執行的示例性方式。接著是另一小節,標題為「虛擬分割保護代理 」(Virtual-Partition Protection Agents )說明保護代理可位於與作業系統分割分開的虛擬分割內並在其內執行的示例性方式。
接著是標題為「自主保護代理特權模式 」(Autonomous Protection-Agent Privilege Modes )的章節並且也包含兩小節,第一小節說明虛擬機器監視程式計時器可將保護代理 特權模式加入基本處理器之示範方式,並且該小節標題為「對虛擬機器監視程式的保護要求 」(Protection Requests to a Virtual Machine Monitor )。接著是另一小節,標題為「保護代理虛擬處理器 」(Protection-Agent Virtual Processors )說明可建立保護代理特權模式的另一方式,在此實例中使用多個虛擬處理器,包含一個虛擬處理器設置成在保護代理特權模式內執行保護代理。接著是標題為「工具示例性用法 」(Exemplary Use of the Tools )的章節,其中說明先前所述的工具之操作範例。最後,標題為「工具的其他具體實施例 」(Other Embodiments of the Tools )說明其中工具可作用的其他具體實施例和方式。提供包含這些段落標題和摘要的簡介是要讓讀者方便,但是其並非要限制申請專利範圍或標題段落的範疇。
示例性作業環境
在詳細說明工具之前,提供下列示例性作業環境的討論,幫助讀者瞭解其中可運用工具的許多發明態樣之某些方式。底下說明的環境並非只構成一個範例,並且並非要將工具的應用限制在任何一個特定作業環境內。在不悖離申請專利範圍標的之精神與範疇之下也可使用其他環境。例如:雖然下列章節說明具有單一保護代理的具體實施例,不過也可運用多個保護代理。在某些實例當中,這些保護代理可獨立並且一起執行。在這種實例當中,保護代理一般只能存取其個別分割內的記憶體。更進一步,底下說明的技術可同時運用。也就是,在相同作業環境內不同 的保護代理可利用不同的技術。
回到目前的範例,第1圖概略說明一此類示例性作業環境100。此環境包含計算裝置102,該裝置本身包含一或多個處理器104以及電腦可讀取媒體106。電腦可讀取媒體106包含虛擬機器監視程式108(例如監督程式),其可將一或多個處理器虛擬成多個虛擬處理器。虛擬機器監視程式108也可啟用多個虛擬分割。一或多個虛擬處理器可與每一分割相關,並且這些虛擬處理器可排程至可用的實體處理器上。如所說明,在某些具體實施例內,虛擬機器監視程式可啟用第一虛擬分割110以及第二虛擬分割112。如底下的詳細討論,這些分割可作用來分開作業系統功能與保護代理服務。
另如所說明,電腦可讀取媒體106進一步包含作業系統(OS)114以及一或多個使用者應用程式116。作業系統114提供作業系統服務118給使用者應用程式116,如此讓應用程式可在計算裝置上執行。此外,作業系統上也有一或多個作業系統資源120。示例性資源包含系統服務分配表(SSDT, "System Service Dispatch Table")、岔斷分配表(IDT, "Interrupt Dispatch Table")、全域描述器表(GDT, "Global Descriptor Table")等等。另如所說明,作業系統會包含惡意軟體122(即是有不良意圖的程式碼),其可用上面討論的方式或其他方式載入計算裝置內。底下會討論到的一或多個保護代理可偵測到惡意軟體對作業系統資源所做的變更,並且回應此偵測而做出防衛動作。若代理做出 這項決定,則保護代理會關閉作業系統以及/或計算裝置,或採取其他應對措施。
在討論過計算裝置的結構之後,現在將注意力轉向改變一或多個基本實體處理器104上存在的特權模式。虛擬機器監視程式特權模式124代表第1圖內最具有特權之模式。此特權模式對於裝置中所有或幾乎所有資源與記憶體都有存取權限。由虛擬機器監視程式特權模式124,虛擬機器監視程式可排定處理器,並允許存取於每一虛擬分割的記憶體區域。當在一分割內運行的作業系統相信其已經控制實體處理器的所有資源時,實際上其只控制虛擬機器監視程式所決定的一個部份。
在作業系統特權模式126之權限低於虛擬機器監視程式特權模式之情況下,作業系統特權模式126可存取所有作業系統資源120以及大部分或全部作業系統記憶體。不過,此特權模式無法存取與其他分割相關的任何資源或記憶體,像是第二虛擬分割112。不管如何,因為此特權模式一般可存取所有作業系統記憶體,所以有時稱為「特權模式」。「Ring 0」、「管理模式」或「核心模式」也代表此特權模式。如上述,在作業系統特權模式126內運作的使用者應用程式一般可執行處理器所提供的大部分指令,除了保留給虛擬機器監視程式碼指令以外。
與此作業系統特權模式相對的是使用者特權模式128,此模式有時稱為「非特權模式」、「Ring 3」或簡稱「使用者模式」。另如上述,當從使用者特權模式128操作時, 使用者應用程式不可存取或改變與作業系統相關的特定記憶體。一般而言,在執行基本操作時,計算裝置使用者應用程式會在此使用者特權模式內操作。
除了上述模式以外,第1圖也說明第二虛擬分割特權模式130以及保護代理特權模式132。如底下所詳細討論,保護代理特權模式132可存取作業系統特權模式不可存取的記憶體部分,而其一般不具有像虛擬機器監視程式特權模式那樣多的記憶體存取權限。如此,此特權模式的權限高於作業系統特權模式,但低於虛擬機器監視程式特權模式。
另如底下所詳細討論,第二虛擬分割特權模式一般可存取與第二虛擬分割112相關的記憶體。以外,此模式也可存取第一虛擬分割。這種額外權限可例如允許位於第二虛擬分割內的保護代理掃描與第一虛擬分割相關的記憶體及其對應作業系統。此模式一般無法存取虛擬機器監視程式,因此該權限比虛擬機器監視程式特權模式低。不過,第二虛擬分割特權模式仍舊有權限存取作業系統特權模式無存取權限之記憶體部分。
同時,第2圖說明計算裝置權限200。此圖代表第1圖的模組所能存取的記憶體數量。如所說明,虛擬機器監視程式108(在虛擬機器監視程式特權模式124內運作)具有所說明所有模組中最高的記憶體權限。事實上,虛擬機器監視程式位於記憶體部分202內,並且只有它能存取此部分。接下來,保護代理204(例如第1圖內說明的任何保 護代理)在保護代理特權模式132內運作,並且可存取對應至虛擬機器監視程式的部份202以外之所有記憶體。不過,保護代理具有記憶體部分206的存取權限,此部分為保護代理本身所在的記憶體部分。
同時,作業系統114在作業系統特權模式126內運作,並且可存取部分202和部分206以外的所有記憶體。雖然作業系統無法存取與保護代理相關的記憶體部分206,但作業系統與其相關特權模式都可存取記憶體部分208。此記憶體部分208就是已知的核心記憶體或作業系統的最低階組件,並且一般包含第1圖內所示的資源。即使若惡意軟體載入並在記憶體部分208內運作,惡意軟體無法存取與保護代理相關的記憶體部分206。
最後,第2圖說明只有記憶體部分210存取權限的使用者應用程式116。這些使用者應用程式與對應的使用者特權模式對於與作業系統最低階組件相關的記憶體部分208並無存取權限。瞭解此作業環境之後,下列四個章節詳細說明從作業系統特權模式無法改變或存取保護代理的示例性方式。
自主保護代理
以下章節說明可從作業系統特權模式內運作的實體無法存取之記憶體,來決定一或多個作業系統資源是否已經遭到修改之工具。如此,該工具可讓保護代理位於作業系統記憶體本身位置以外的位置內。尤其是,下列小節說明保護代理如何位於虛擬機器監視程式內或自主虛擬分割 內。
虛擬機器監視程式保護代理
此小節說明保護代理134如何位於虛擬機器監視程式本身內,如第1圖所示。因為作業系統特權模式無法存取虛擬機器監視程式,所以此位置就可防護保護代理免於作業系統記憶體內任何惡意軟體的入侵。為了從此位置操作,保護代理接收到保護代理134所監視的一或多個作業系統資源120之識別。此識別可透過資源識別碼136來接收。如所示,作業系統可透過應用程式編輯介面(API, "Application Programming Interface")呼叫將此資訊提供給虛擬機器監視程式,或作業系統可用清單138形式提供此資訊。如上所討論,這些資源可包含SSDT、IDT和GDT。
一旦接收到資源的識別,保護代理134就會將保護代理服務140擴展到作業系統114。這些保護代理服務一般包含判斷是否有任何已識別的資源已遭修改。若做出這種判斷,則保護代理或虛擬機器監視程式會例如關閉作業系統。保護代理服務也可包含施行不可變性對標示為不可修改(例如「唯讀」)的任何資源。
在載入與啟動虛擬機器監視程式時就開始運用這種架構,這樣可主控一或多個作業系統。在此範例中,虛擬機器監視程式主控單一作業系統114,此作業系統在虛擬機器監視程式載入之後自己啟動。在作業系統啟動期間,會先載入與作業系統最低階組件(例如核心)相關的記憶體部分208。某些或全部作業系統資源120(例如SSDT、GDT、 IDT)一般位於此記憶體部分208內。
在作業系統啟動之前或當時,保護代理134會從虛擬機器監視程式內開始執行。如上述,保護代理一般接收一組一或多個作業系統資源的識別,並判斷一或多個該已識別的資源是否遭修改。請注意,每一已識別的資源通常都在多個位置上包含多個組件,每一個都受到保護代理監視,以便完全保護整個資源。例如:若清單標示出SSDT為要監視並保護的資源,則保護代理不僅保護實際表格,也保護SSDT的其他組件。例如:保護代理也監視並掃描指向表格位置的暫存器。更進一步,保護代理也監視記憶體轉換資料結構(例如分頁表),其將SSDT虛擬位址轉換成實體位址。若保護代理無法保護,則惡意軟體程式碼會建立具有不同分頁表對映的其他分頁表(即是繞過SSDT本身)。
除了識別以外,保護代理也接收保護屬性,指示保護代理如何保護對應的資源。例如:保護代理可接收SSDT資源的識別以及「唯讀」的對應保護屬性。因此,保護代理學習到SSDT應維持唯讀,所以不應遭到修改。「初始唯讀」為其他可能的保護屬性,其指示保護代理,對應的資源只能在啟動期間寫入一次,但此後該資源就應該保持唯讀。
保護代理可用許多方式(主動與被動)接收此資源的識別以及資源保護屬性。例如:作業系統可提供數位簽署清單(digitally-signed manifest),其中識別保護代理可監視的 資源。此數位簽署清單可用眾多方式識別資源,像是利用名稱(例如SSDT、IDT、GDT等等)或利用位址,其將資源對映至記憶體部分208內的對應位置。在後一個實例中,清單可識別資源的訪客實體位址、訪客虛擬位址或系統實體位址。請注意,在某些實例當中,訪客實體位址可對映至真實系統實體位址,以便發現對應資源組件的真實實體位置。
在虛擬機器監視程式或保護代理接收到清單之後,這些組件會判斷清單是否已經遭到破壞或修改。若虛擬機器監視程式或保護代理做出這種判斷,則虛擬機器監視程式或保護代理可選擇不啟動作業系統。此外,與資源清單相關的加密可使之無效,如此可保護其安全性。
除了清單之外或作為另一方式,保護代理可透過進入虛擬機器監視程式內的一或多個應用程式編輯介面(API)呼叫(例如「超呼叫(hypercall)」),接收資源與保護屬性識別。隨著作業系統啟動,作業系統(以及可能的作業系統最低階組件208)可讓超呼叫進入虛擬機器監視程式內,將可受監視或受保護的特定資源告知保護代理。這些超呼叫可用和以上述相同的方式來識別相關資源。另如上述,這些超呼叫也可識別資源的保護屬性。
在運用數位簽署清單以及一或多個超呼叫的具體實施例內,保護代理在作業系統開機之前或之時先掃描清單內識別的資源。在此初始掃描之後,作業系統讓超呼叫進入虛擬機器監視程式內,指示保護代理判斷超呼叫識別的分 頁是否已遭修改。如此清單識別出每次作業系統開機時要掃描的資源,而超呼叫識別出在其個別啟動時要動態掃描的資源。
在識別要監視的資源之後,保護代理會判斷該資源(例如上述SSDT的所有部份)是否已遭修改。保護代理也可對已識別資源施行不可變性。例如:保護代理可確定,識別為「唯讀」的任何資源都不會改變為「可寫入」。
為了以此方式監視或保護資源,在虛擬機器監視程式內執行的程式碼可運用虛擬機器監視程式攔截管理員(例如第1圖的管理員146)。若接到如此之指示,則此攔截管理員可註冊以用於攔截已識別資源的許多組件。鑒於此註冊,若有試圖對這些已識別資源進行存取或修改,現在虛擬機器監視程式內的保護代理可接收攔截。如此,保護代理可檢查並掃描已識別資源的許多組件,其也可主動阻擋試圖對這些資源進行的修改。
在某些具體實施例內,保護代理掃描資源並決定用來與未來掃描結果比較的資源初始狀態。在其他具體實施例內,保護代理已經知道要與未來掃描結果比較的資源初始狀態。在任何事件中,保護代理可計算出此初始狀態的雜湊值或校驗和值。在計算之後,保護代理在作業系統開機之前、之後或當時掃描資源。在掃描之後,保護代理計算結果的雜湊值或校驗和(checksum)值,並將此與初始狀態雜湊值或校驗和值比較。若相等,則保護代理決定對應的資源未遭修改。當然,保護代理可跳過雜湊值或校驗和值, 直接將初始狀態與掃描比較。
然而,若值不同,則保護代理以及/或虛擬機器監視程式會採取一或多個反應動作。首先,保護代理本身可關閉作業系統或作業系統特權模式,或可指示虛擬機器監視程式做這項動作。再來,因為保護代理位於虛擬機器監視程式內,並且因為虛擬機器監視程式主控作業系統,所以這兩組件都可關閉作業系統。更進一步,因為保護代理位於虛擬機器監視程式內,所以即使從作業系統特權模式也無法破壞作業系統的關閉。
除了關閉作業系統以外,保護代理以及/或虛擬機器監視程式可先警告作業系統即將關閉。虛擬機器監視程式與作業系統之間的通訊通道可允許這種通訊。在另一方式中,保護代理以及/或虛擬機器監視程式可將警告寫入記憶體位置,或發出受作業系統監視的事件訊息。
不管是否給予警告,作業系統可突然或平和的關閉。在前一個情況中,虛擬機器監視程式可在知道有不一致的雜湊值或校驗和值之後立刻關閉作業系統電源。在後一個情況中,虛擬機器監視程式可允許作業系統在特定時間之後自行妥善關閉電源。此時,作業系統可例如關閉任何開啟的檔案並且清除任何對應的資料。作業系統也可釋放指定的資源。更進一步,關機會運用這兩種方法。例如:若虛擬機器監視程式主控多個分割,則會立刻關閉具有不一致雜湊值或校驗和值的分割,而讓其他分割有時間妥善關機。在任何事件當中,可根據策略略設定關機方式,並且 可調整。
除了關機與對應的警告以外,保護代理以及/或虛擬機器監視程式可採取後開機(post-boot)動作,以回應不允許的已識別資源變更。例如:虛擬機器監視程式以及/或保護代理可在作業系統重新開機時,將資源修改通知作業系統。在回應方面,作業系統可執行防毒掃描來偵測是否有任何惡意軟體隱藏在作業系統記憶體內,像是部分208(例如核心)。更進一步,虛擬機器監視程式可將作業系統在安全模式內開機,或作業系統可自己選擇在安全模式內開機。另外在回應通知方面,作業系統可將自己識別為已遭受攻擊,並且不允許本身存取任何連結的網路。
虛擬分割保護代理
取代位於虛擬機器監視程式本身之內,保護代理(例如第1圖的保護代理142)可位於個別虛擬分割內(例如第1圖的第二虛擬分割112)。在這些具體實施例內,此個別分割當成虛擬機器監視程式的信賴代表。從作業系統特權模式無法存取保護代理142。如上面所討論,虛擬機器監視程式108提供用於這種計算裝置102虛擬化。雖然虛擬機器監視程式可將計算裝置虛擬成任何分割數量,不過第1圖說明第一分割主控作業系統以及第二分割主控保護代理。在某些實例中,保護代理所在的第二虛擬分割可為專屬安全分割,其主要功能為執行保護代理。在其他具體實施例內,此第二虛擬分割可執行額外功能,像是主控其他作業系統。
位於第二虛擬分割內的保護代理142可執行與上述位於虛擬機器監視程式內保護代理134相同的許多或所有功能。也就是,保護代理142可主動或被動接收一或多個作業系統資源120的識別。在回應識別方面,保護代理可再度擴充保護代理服務140,該服務一般包含判斷一或多個已識別資源是否遭修改,若遭修改,則採取回應動作。這些服務也包含施行特定資源的不可變性。保護代理142可透過上述類似技術執行這些功能。
如所示,保護代理142可從第二虛擬分割特權模式130存取,但是無法從作業系統特權模式126存取。如此,產生之架構允許保護保護代理本身免於作業系統內任何惡意軟體侵害,即使惡意軟體位於與作業系統對低階組件相關的記憶體部分208內也一樣。
自主保護代理特權模式
本段落說明可讓與保護代理相關的部分作業系統記憶體無法從作業系統特權模式改變或存取,而仍舊讓此記憶體部分實際位於作業系統實體記憶體空間內之工具。這些工具建立自主保護代理特權模式,此模式對於與保護代理相關的記憶體部分以及作業系統特權模式內可存取的剩餘記憶體有存取權限。如此此特權模式比作業系統特權模式的權限還要高。
第一小節說明可利用要求虛擬機器監視程式保護與保護代理相關的記憶體部分,來建立保護代理特權模式之工具。同時,第二小節說明利用將一實體處理器虛擬成多個 虛擬處理器,來允許建立保護代理特權模式之工具,其中包含一個專屬虛擬處理器執行該保護代理。
對虛擬機器監視程式的保護要求
此小節說明保護代理如何要求虛擬機器監視程式保護與該保護代理相關的記憶體以及該保護代理本身。此保護導致保護代理144可在保護代理特權模式132內運作,如第1圖內所示。如所說明,在轉移至保護代理特權模式之前,保護代理144位於作業系統特權模式內。當在後者特權模式內運作時,保護代理不受在作業系統特權模式126內運作的實體之攻擊。
當在保護代理特權模式132內運作時,則實體的權限有比在作業系統特權模式126內運作時略高,但權限仍舊比虛擬機器監視程式特權模式124略低。如第2圖所說明,不只與保護代理本身相關的記憶體部分206,在此特權模式內運作的保護代理環對於與作業系統相關的所有記憶體都有存取權限。虛擬機器監視程式108施行加入的保護代理存取能力。
第3圖和第4圖說明建立此保護代理特權模式的示例性方式。第3圖說明所有或幾乎所有計算裝置記憶體300。 計算裝置記憶體300包含與作業系統特權模式(例如核心)相關的記憶體部分302以及與使用者特權模式相關的記憶體部分304。如所示,記憶體部分302也包含與保護代理144相關的記憶體部分306以及其中載入驅動程式的記憶體部分308。
如第4圖所說明,建立保護代理特權模式132的程序400從步驟1開始,其將記憶體部分302(例如核心)初始化。在步驟2上,記憶體部分306或保護代理144本身呼叫虛擬機器監視程式108保護與保護代理相關的記憶體部分。在如此要求當中,保護代理或對應的記憶體要求不允許在作業系統特權模式內執行的程式碼改變或接觸此記憶體部分306。保護代理也可針對虛擬機器監視程式108驗證自己(例如利用數位簽章)。此記憶體部分或保護代理本身也可要求虛擬機器監視程式設定計時器,並在計時器逾時之時執行保護代理。步驟3代表虛擬機器監視程式保護記憶體免於在作業系統特權模式內運作的實體之侵害,並且設定計時器來回應該要求。請注意,因為與保護代理相關的此記憶體部分306現在從作業系統特權模式無法改變以及/或無法存取,該保護代理現在位於保護代理特權模式內。
在步驟4上,驅動程式載入記憶體部分308內。請注意,步驟2的要求以及步驟3的對應保護一般發生在驅動程式載入記憶體之前,而惡意軟體可能以驅動程式之形式存在。如底下「工具示例性用途」段落內所討論,惡意軟體作者通常欺騙使用者將惡意驅動程式安裝到計算裝置上。若一或多個惡意驅動程式確實在記憶體部分306受保護之前截入記憶體,則惡意驅動程式會可能修改保護本身的要求。這種修改會藉此透過虛擬機器監視程式妨礙保護代理定期執行,因此妨礙保護代理特權模式的建立。而利 用要求虛擬機器監視程式早在此程序之前設定計時器,可確保作業系統特權模式內的程式碼無法停止保護代理定期執行。
同時,步驟5有時可能發生在驅動程式已經載入之後。如所說明,步驟5代表虛擬機器監視程式計時器逾時,因此執行保護代理。執行時,保護代理144執行與前面段落內討論類似或一致的功能。另外如上面所討論,保護代理會採取動作回應一或多個已識別資源已遭修改的判斷。保護代理也可採取該動作來回應在作業系統特權模式內運作的實體試圖存取或修改保護代理或其對應記憶體。
步驟6代表當保護代理完成執行時,通知虛擬機器監視程式。最後,步驟7代表重複步驟3、5和6。如此,虛擬機器監視程式可重設其計時器,並定期執行保護代理,像是每100毫秒(ms)。
利用在虛擬機器監視程式上設定失效安全計時器,因此程序400去除作業系統程式碼破壞與保護代理相關的記憶體部分之能力。如此,此程序確定保護代理將持續執行,並且不會遭受在作業系統特權模式內動作的惡意軟體之修改。取而代之,保護代理將在自主特權模式內執行,不過仍舊位於配置給作業系統的實體記憶體內。
保護代理虛擬處理器
本小節說明虛擬機器監視程式如何利用排定虛擬處理器執行保護代理144,來建立保護代理特權模式。第5圖說明一種架構500,其包含虛擬機器監視程式108將計算 裝置102虛擬為兩個分割,每一分割都包含一個作業系統。如所示,此範例中的計算裝置包含兩個真實處理器104(a)和104(b),每一真實處理器都可排定多個虛擬處理器。另如所示,虛擬機器監視程式建立第一虛擬分割502以及第二虛擬分割504。第一虛擬分割包含第一虛擬處理器506來執行第一作業系統。類似地,第二虛擬分割包含第二虛擬處理器508來執行第二作業系統。不過在此實例當中,虛擬機器監視程式也包含保護代理虛擬處理器510來執行保護代理,像是第1圖的保護代理144。
為了建立架構500,則先載入虛擬機器監視程式並初始化。如第6圖內所示,然後虛擬機器監視程式虛擬許多虛擬處理器,並且在虛擬時設置真實處理器頻寬600。若要開始此虛擬化並設置,虛擬機器監視程式會將第一虛擬處理器虛擬在第一真實處理器上。在目前的範例中,此虛擬化以一對一方式進行,如第6圖所示。也就是,只有此單一虛擬處理器506對應至真實處理器104(a),如此虛擬機器監視程式會將真實處理器的所有頻寬設置給此虛擬處理器。然後虛擬機器監視程式將第二虛擬處理器508虛擬至第二真實處理器104(b)上。不過取代一對一方式,虛擬機器監視程式保留某部分第二真實處理器的頻寬。然後虛擬機器監視程式將保護代理虛擬處理器510虛擬至第二真實處理器104(b)剩餘的頻寬上,另如第6圖內所示。
第二真實處理器上運作的每一虛擬處理器一般都以時間切割(time-sliced)方式來作用。也就是,第二虛擬處理 器可在第二虛擬處理器運作停止之前於第二真實處理器上運作一段時間。在此時,第二真實處理器切換至保護代理虛擬處理器的操作持續另一段時間。例如:第二虛擬處理器可在第二真實處理器上運作90ms,然後此時第二虛擬處理器的操作停止並且保護代理虛擬處理器開始運作10ms。保護代理虛擬處理器一般對於作業系統分割以及第一和第二虛擬分割都無隱藏。如此,兩作業系統都相信其對應的虛擬處理器都對應至個別真實處理器。
除了配置真實處理器頻寬以外,虛擬機器監視程式也管理每一虛擬處理器可存取的記憶體部分。在目前的範例中,第一虛擬處理器可存取與第一作業系統相關的所有記憶體。另一方面,第二虛擬處理器可存取與第二作業系統相關的所有記憶體,除了與保護代理相關的記憶體以外。除了配置給第二作業系統的記憶體以外,保護代理虛擬處理器還可單獨存取與保護代理相關的記憶體部分。
更進一步,第一和第二虛擬處理器只有能力修改其相關的記憶體。如此,操作個別作業系統的虛擬處理器都無法修改與保護代理相關的記憶體部分。不過,保護代理虛擬處理器可修改與保護代理相關的記憶體,並且在某些具體實施例內,可修改與第二虛擬處理器相關的記憶體。
利用其程式編輯天性,保護代理虛擬處理器將定期執行保護代理。雖然在某些實例中保護代理虛擬處理器可執行其他應用程式,不過本範例說明專屬的保護代理虛擬處理器。如此,此虛擬處理器一般只用來定期執行保護代理。 同樣地,保護代理可用類似或一致的方式,執行與上述保護代理所執行類似或一致的功能。
利用排定專屬保護代理虛擬處理器的時間表,虛擬機器監視程式確定在此處理器的控制之下,並且在自主保護代理特權模式下,將定期執行保護代理。更進一步,因為只有此保護代理虛擬處理器可存取與保護代理相關的記憶體部分,所以虛擬機器監視程式保護此記憶體免於作業系統內程式碼的侵害。因此,在作業系統特權模式內運作的惡意軟體無法修改保護代理以及讓保護代理無法執行。如此,此技術基本上消除作業系統破壞保護代理的能力。
工具的示例性用途
在上面說明過可確定保護代理的保護能力之工具後,下節說明這些工具的一個操作範例。首先,想像電腦使用者在網際網路上瀏覽,並且在瀏覽至特定網站時,有惡意意圖的對話區塊彈出在使用者的螢幕上。該對話區塊要求使用者允許安裝某種惡意軟體到使用者的電腦上。雖然此要求過於直接,但是想像該對話區塊將此要求偽裝成一般會出現的情況。該對話區塊可例如假裝通知使用者贏得大獎。在通知當中,對話區塊惡意指引使用者按下對話區塊上的「確定」按鈕以便接收獎項。想像儘管在計算裝置上執行的軟體(例如防毒軟體)發出一或多個警告,使用者還是真的按下「確定」按鈕,並選擇繼續所要求的操作。
在此時,內含惡意軟體的驅動程式就會開始安裝在計算裝置上。對於一般驅動程式來說,此惡意驅動程式可允 許進入作業系統特權模式,並且載入至與此特權模式(例如核心)相關的記憶體。一旦載入核心內,惡意驅動程式及其伴隨的惡意軟體就可全權進入電腦記憶體與作業系統。很不幸對使用者來說,想像此惡意軟體包含可記錄使用者按鍵順序的按鍵記錄器。現在想像使用者進入其銀行的網站並登入銀行帳戶內。由於惡意軟體有能力記錄按鍵順序,所以按鍵記錄器得知使用者的銀行帳戶密碼,並透過網際網路將密碼傳給惡意驅動程式的作者。
若情況更糟,想像惡意軟體為「rootkit」-或惡意軟體試圖主動躲避保護代理以及使用者的防毒軟體。在傳統系統當中,保護代理位於核心內(即是惡意驅動程式已經進入的記憶體內)。因此,在這些傳統系統內,惡意軟體已經進入保護代理並嘗試躲避過保護代理。若躲避成功,惡意軟體會讓保護代理以為其不在核心內。因此,當使用者的防毒軟體呼叫保護代理並且要求電腦記憶體內所有應用程式清單時,惡意軟體不在其內。這樣讓防毒軟體無法知道並且移除惡意軟體。更進一步,惡意軟體修改保護代理,藉此避免保護代理執行。如此,若惡意軟體改變任何作業系統資源的話,保護代理就無法發出通知。
不過並非像傳統系統一樣位在核心內,想像在使用者計算裝置上的保護代理位於記憶體內或在從作業系統特權模式無法存取的模式內執行。因此,當惡意驅動程式載入核心內時,其無法存取保護代理所在的記憶體或保護代理所執行的模式。因此,驅動程式及其附屬惡意軟體不會進 入保護代理本身。如此惡意軟體無法隱藏而不被保護代理及防毒軟發現。因此,當防毒軟體向保護代理要求電腦記憶體內所有應用程式清單時,惡意軟體包含在內。然後防毒軟體認出此程式碼為惡意軟體,並據此從使用者的電腦裝置中去除。更進一步,若惡意軟體改變作業系統資源時,保護代理本身就會知道,並且在回應上會關閉使用者的計算裝置。
因此,利用位於從作業系統特權模式無法存取之記憶體內或從作業系統特權模式無法存取的模式內執行,此處說明的具體實施例避免惡意軟體隱藏不被保護代理發現或修改保護代理。在上面範例中,因此使用者的計算裝置可從機器中去除惡意軟體,或在某些實例中,當惡意軟體改變重要資源時關閉系統。在此任一情況下,這些具體實施例減少惡意軟體所意圖造成的傷害。
工具的其他具體實施例
上面段落說明一些特定範例,其中保護代理從作業系統特權模式無法修改或存取。在本段落中說明工具的其他具體實施例,像是新增特權模式至不存在於基本處理器上的處理器。
這些示例性具體實施例說明為第7圖至第11圖的流程700至1100的一部分。這些流程以及參考第1圖至第6圖說明的示例性流程都可在任何合適的硬體、軟體、韌體或這些組合之內實施,在軟體與動體的情況下,這些流程代表實施成為電腦可讀取媒體內所儲存以及一或多個處理器 可執行的電腦可執行指令之操作集合。本段落內說明的這些工具具體實施例並非意欲限制工具或申請專利範圍的範疇。
請參閱第7圖,區塊702接收識別一或多個作業系統資源的施行策略。透過數位簽署清單或利用將應用程式編輯介面(API)公開至作業系統(例如超呼叫),來接收可包含加密資料的施行策略略。從作業系統特權模式內運作的實體無法存取之記憶體,區塊704識別一或多個作業系統資源。示例性資源包含系統服務分配表(SSDT)、岔斷分配表(IDT)以及/或全域描述器表(GDT)。如上述,此識別可發生在虛擬機器監視程式內(例如第1圖的保護代理134)或個別虛擬分割內(例如第1圖的保護代理142)。
同時,區塊706代表判斷是否有任何已識別的資源遭修改。同樣地,這可發生在虛擬機器監視程式內或個別分割內。若區塊706判斷一或多個已識別資源已遭修改,則區塊708終止作業系統來回應此判斷。最後,區塊710通知作業系統因非法操作而要重新開機。
第8圖說明允許保護代理在虛擬機器監視程式內執行的流程800。區塊802有效改變虛擬機器監視程式岔斷管理員,允許接收與作業系統資源相關的記憶體分頁或暫存器已遭修改之指示。此資源可包含參考第7圖所說明的資源之一,或可為其他作業系統資源。在任何事件當中,區塊804接收識別作業系統資源的施行策略,並且可能接收一或多種其他作業系統資源。同樣地,此識別可透過上面 討論的技術達成。如上述,資源的保護屬性(例如「唯讀」或「初始唯讀」)可伴隨資源的識別。同時,區塊806代表接收到與作業系統資源相關的記憶體分頁或暫存器確實已遭修改之指示。在回應方面,區塊808有效關閉作業系統特權模式,來關閉與作業系統資源相關的作業系統。在某些實例中,第1圖的虛擬機器監視程式108可達成關閉作業系統特權模式。
接下來,第9圖說明建立保護代理特權模式的示例性流程900,像是第1圖內說明的保護代理特權模式132。區塊902接收作業系統特權模式無法修改或存取特定記憶體範圍之要求。同樣地,虛擬機器監視程式可接收此要求,此要求可發自於記憶體範圍本身或來自位於此記憶體範圍內的保護代理。區塊904保護記憶體範圍並設定計時器,來定期執行位於此記憶體範圍內的保護代理。同樣地,虛擬機器監視程式可設定此計時器,其可指示虛擬機器監視程式定時執行保護代理。
同時,區塊906接收說明作業系統資源的施行策略。同樣地,施行策略與說明的資源可與上面討論的類似或一致。區塊908執行保護代理,這可由虛擬機器監視程式達成。決策區塊910詢問作業系統資源是否遭修改。保護代理以上述方式作用來做出決策。若區塊910判斷已經發生修改,則區塊912關閉作業系統。不過,若未做出如此之判斷,則區塊914接收保護代理已經完成執行的通知。在某些如同上述的實例中,保護代理本身也可通知虛擬機器 監視程式。同時,區塊916代表執行保護代理與不執行保護代理之間的循環。最後請注意,當保護代理未執行時,虛擬機器監視程式會關閉作業系統,以回應試圖從作業系統特權模式內運作的實體對與保護代理相關的記憶體範圍進行之存取。
第10圖說明建立保護代理特權模式的另一示例性流程1000,像是第1圖內說明的保護代理特權模式132。區塊1002將真實電腦處理器虛擬為許多虛擬電腦處理器。這些虛擬處理器可包含一或多個作業系統虛擬處理器,每一處理器都具有權限修改自己的作業系統記憶體,並使用真實處理器的一部分處理頻寬,如第6圖內所示。虛擬處理器也可包含至少一個保護代理虛擬處理器,其具有權限修改自己的保護代理記憶體,並使用真實處理器的處理頻寬之一不同部分。雖然所有虛擬處理器都由虛擬機器監視程式所排程,不過保護代理虛擬處理器對於作業系統虛擬處理器來說是可通透的。在某些實例中,作業系統虛擬處理器可能無法修改指派給保護代理虛擬處理器的記憶體。更進一步,保護代理虛擬處理器可為專屬處理器,其主要或唯一目的是導致保護代理執行,如上所討論。
接下來,區塊1004導致保護代理虛擬處理器執行保護代理,這可有效判斷該作業系統記憶體部分是否已遭修改。同時,區塊1006接收作業系統記憶體部分已遭修改之指示。在回應方面,區塊1008關閉對應的作業系統。
最後,第11圖說明將特權模式加入真實計算處理器之 流程1100。區塊1102代表決策、識別或分類存在於基本實體處理器上的一或多個特權模式。這些特權模式一般由基本實體處理器本身所定義。在任何時間上,區塊1104會加入不存在於基本實體處理器的特權模式。在某些實例中,加入的特權模式可修改與一或多個目前特權模式所能修改的記憶體部分不同之計算裝置記憶體部分。加入的特權模式也可加入並執行之前不存在或基本處理器不可執行的指令。
更進一步,基本實體處理器上存在的一或多個特權模式可包含一個使用者特權模式與一個作業系統特權模式。在這些具體實施例內,加入的特權模式權限可比使用者特權模式以及作業系統特權模式都大、權限比使用者特權模式大但是比作業系統特權模式小,或者權限比使用者以及作業系統特權模式都小。最後請注意,加入特權模式的一個實例可包含在上面討論的眾多方式中加入保護代理特權模式(例如第1圖內說明的保護代理特權模式132)。例如:保護代理或其相關的記憶體範圍會要求在作業系統特權模式內運作的實體無法存取該記憶體範圍。虛擬機器監視程式也可利用排定保護代理虛擬處理器執行保護代理來建立此特權模式。
結論
上述工具利用讓保護代理位於作業系統特權模式無法存取的位置內,或利用建立保護代理特權模式,讓作業系統特權模式無法修改或存取保護代理。雖然以特定結構特 徵語言以及/或方法邏輯步驟來說明這些工具,吾人可瞭解,申請專利範圍內所定義的工具並不必然受限於此處的特定特徵或動作。而特定特徵與步驟僅揭示當成實施本發明工具的示例性形式。
100‧‧‧示例性作業環境
102‧‧‧計算裝置
104‧‧‧處理器
104(a)‧‧‧真實處理器
104(b)‧‧‧真實處理器
106‧‧‧電腦可讀取媒體
108‧‧‧虛擬機器監視程式
110‧‧‧第一虛擬分割
112‧‧‧第二虛擬分割
114‧‧‧作業系統(OS)
116‧‧‧使用者應用程式
118‧‧‧作業系統服務
120‧‧‧作業系統資源
122‧‧‧惡意軟體
124‧‧‧虛擬機器監視程式特權模式
126‧‧‧作業系統特權模式
128‧‧‧使用者特權模式
130‧‧‧第二虛擬分割特權模式
132‧‧‧保護代理特權模式
134‧‧‧保護代理
136‧‧‧資源識別碼
138‧‧‧清單
140‧‧‧保護代理服務
142‧‧‧保護代理
144‧‧‧保護代理
146‧‧‧管理員
200‧‧‧計算裝置權限
202‧‧‧部分
204‧‧‧保護代理
206‧‧‧記憶體部分
208‧‧‧記憶體部分
210‧‧‧記憶體部分
300‧‧‧計算裝置記憶體
302‧‧‧記憶體部分
304‧‧‧記憶體部分
306‧‧‧記憶體部分
308‧‧‧記憶體部分
400‧‧‧程序
500‧‧‧架構
502‧‧‧第一虛擬分割
504‧‧‧第二虛擬分割
506‧‧‧第一虛擬處理器
508‧‧‧第二虛擬處理器
510‧‧‧保護代理虛擬處理器
600‧‧‧真實處理器頻寬
第1圖說明其中可操作工具的許多具體實施例之示例性作業環境。
第2圖展示第1圖內說明模組的許多計算裝置記憶體權限。
第3圖代表計算裝置記憶體許多部份,於其中存在某些說明於第1圖內之模組。
第4圖為說明其中虛擬機器監視程式保護與保護代理相關的記憶體部分並且設定計時器來執行代理的示例性方式之流程圖。
第5圖說明具有虛擬機器監視程式可將實體處理器虛擬成多個作業系統虛擬處理器以及一個保護代理虛擬處理器的示例性架構。
第6圖說明第5圖的實體處理器頻寬如何在許多虛擬處理器之間設置。
第7圖為示例性程序,說明其中工具可啟用並執行位於作業系統特權模式無法存取位置內的保護代理之某些方式。
第8圖為示例性程序,說明其中工具可改變虛擬機器 監視程式來啟用並執行位於作業系統特權模式無法存取位置內的保護代理之某些方式。
第9圖為示例性程序,說明其中工具可藉由對虛擬機器監視程式發出要求來建立保護代理特權模式之某些方法。
第10圖為示例性程序,說明其中工具可藉由將一個真實電腦處理器虛擬成多個虛擬電腦處理器來建立保護代理特權模式之某些方法,其中至少一個虛擬處理器執行保護代理。
第11圖為示例性程序,說明其中工具可啟用不在基本實體處理器上的額外特權模式之某些方法。
本發明及圖示中使用相同之編碼來說明組件及特徵。
100‧‧‧示例性作業環境
102‧‧‧計算裝置
104‧‧‧處理器
106‧‧‧電腦可讀取媒體
108‧‧‧虛擬機器監視程式
110‧‧‧第一虛擬分割
112‧‧‧第二虛擬分割
114‧‧‧作業系統(OS)
116‧‧‧使用者應用程式
118‧‧‧作業系統服務
120‧‧‧作業系統資源
122‧‧‧惡意軟體
124‧‧‧虛擬機器監視程式特權模式
126‧‧‧作業系統特權模式
128‧‧‧使用者特權模式
130‧‧‧第二虛擬分割特權模式
132‧‧‧保護代理特權模式
134‧‧‧保護代理
136‧‧‧資源識別碼
138‧‧‧清單
140‧‧‧保護代理服務
142‧‧‧保護代理
144‧‧‧保護代理
146‧‧‧管理員

Claims (15)

  1. 一或多個其內具有電腦可讀取指令的電腦可讀取儲存裝置,該指令由一計算裝置執行時,導致該計算裝置執行以下步驟,其包含:在一虛擬機器監視程式特權模式中運作的一虛擬機器監視程式處接收一要求,該要求可讓一記憶體範圍變得從一作業系統特權模式無法修改或存取;讓該記憶體範圍無法從該作業系統特權模式修改或存取;以及執行一位於該記憶體範圍內的保護代理,該保護代理在一保護代理特權模式中運作,其中該保護代理設置成接收一施行策略,該施行策略說明一或多資源在第一分割中運作,該一或多資源可從該作業系統特權模式存取,以因應於該施行策略之接收,使用該施行策略以及從駐留在無法從該作業系統特權模式存取的一第二分割之該記憶體範圍以判斷在該第一分割中的該一或更多資源之一或多個是否已遭修改,其中該保護代理特權模式之權限比該作業系統特權模式大但是比該虛擬機器監視程式特權模式小。
  2. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,進一步包括設定一計時器來執行該保護代理。
  3. 如申請專利範圍第2項所述之一或多個電腦可讀取儲存裝置,其中該計時器指示該虛擬機器監視程式在規律時間間隔執行該保護代理。
  4. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,進一步包括關閉與該作業系統特權模式相關的一作業系統,以因應由該保護代理所做該一或更多資源之一或多個已遭修改之判斷。
  5. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,其中該一或更多資源包含系統服務分配表(SSDT)、一岔斷分配表(IDT)或一全域描述器表(GDT)。
  6. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,進一步包括在該虛擬機器監視程式上以及該保護代理執行之後,接收一該保護代理已經完成執行之通知。
  7. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,進一步包括關閉與該作業系統特權模式相關的一作業系統,以回應一試圖從該作業系統特權模式對該記憶體範圍或該保護代理之存取。
  8. 如申請專利範圍第1項所述之一或多個電腦可讀取儲存裝置,進一步包括在執行該保護代理與不執行該保護代理之間循環,如此至少當該保護代理執行時,其無法從該作業系統特權模式修改或存取。
  9. 一種用於產生一保護代理特權模式的方法,其包含以下步驟:將一或更多真實計算處理器虛擬成虛擬計算處理器,該等虛擬計算處理器的各個係與一個別的分割相 關,該等虛擬計算處理器包含:一作業系統虛擬處理器,該作業系統虛擬處理器在一虛擬機器監視程式特權模式中運作,該作業系統虛擬處理器與一第一分割相關且具有一權限修改自己的作業系統記憶體,並使用該一或多個真實計算處理器的一部分處理頻寬,該一或多個真實計算處理器操作一作業系統特權模式;以及一保護代理虛擬處理器,該保護代理虛擬處理器在一保護代理特權模式中運作,該保護代理虛擬處理器與一第二分割相關且具有一權限修改自己的保護代理記憶體,並使用該一或更多真實計算處理器的該處理頻寬不同部分,該保護代理記憶體不可從該作業系統虛擬處理器存取;以及導致該保護代理虛擬處理器執行駐存於該第二分割中的一保護代理以判斷該作業系統記憶體部分是否已遭修改,其中該保護代理特權模式之權限比該作業系統特權模式大但是比該虛擬機器監視程式特權模式小。
  10. 如申請專利範圍第9項所述之方法,進一步包括以下步驟:修改一虛擬機器監視程式的一攔截管理員而能夠有效地接收一指示,該指示內容係該作業系統記憶體的該部分已被修改,該作業系統記憶體的該部分位於該第一分割; 藉由該虛擬機器監視程式的該攔截管理員接收一指示,其中該保護代理判斷該作業系統記憶體該部分已遭修改;以及回應該指示之該接收,關閉一對應的作業系統。
  11. 如申請專利範圍第9項所述之方法,其中導致該保護代理虛擬處理器執行該保護代理之步驟包含導致該保護代理虛擬處理器在特定時間間隔執行該保護代理。
  12. 如申請專利範圍第9項所述之方法,其中該保護代理虛擬處理器只專屬於執行該保護代理。
  13. 如申請專利範圍第9項所述之方法,其中該保護代理虛擬處理器由一虛擬機器監視程式所排程,並且對與該作業系統記憶體相關的一作業系統而言是通透的。
  14. 一或更多其內具有電腦可讀取指令的電腦可讀取儲存裝置,當由一包含一基本實體處理器而該處理器包含一或多特權模式的計算裝置執行時,呼叫一虛擬機器監視程式來要求使得與一保護代理相關的一記憶體範圍變得無法從該另一個特權模式修改或存取而導致該計算裝置在該基本實體處理器上加入不存在的一特權模式,該所加入的特權模式經配置而加入並執行之前在該基本實體處理器上係不可執行的指令,其中初始呈現在該基本實體處理器上的該一或多個特權模式包含一使用者特權模式以及一作業系統特權模式,並且其中該所加入的特權模式之權限比該作業系統特權模式大但是比該使用者特權模式小。
  15. 如申請專利範圍第14項所述之該一或多個電腦可讀取儲存裝置,其中該所加入的特權模式可修改該計算裝置之記憶體的一部分,該計算裝置之記憶體的一部分與可由該一或多個特權模式所能修改的記憶體之一部分不同,該一或多個特權模式係初始地呈現在該基本實體處理器上。
TW096150027A 2007-01-25 2007-12-25 保護代理及特權模式 TWI475388B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/627,320 US8380987B2 (en) 2007-01-25 2007-01-25 Protection agents and privilege modes

Publications (2)

Publication Number Publication Date
TW200836064A TW200836064A (en) 2008-09-01
TWI475388B true TWI475388B (zh) 2015-03-01

Family

ID=39644770

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096150027A TWI475388B (zh) 2007-01-25 2007-12-25 保護代理及特權模式

Country Status (10)

Country Link
US (1) US8380987B2 (zh)
EP (1) EP2115570B1 (zh)
JP (2) JP5055380B2 (zh)
CN (1) CN101589364B (zh)
BR (1) BRPI0720921B1 (zh)
CL (1) CL2008000168A1 (zh)
ES (1) ES2683074T3 (zh)
RU (1) RU2468418C2 (zh)
TW (1) TWI475388B (zh)
WO (1) WO2008091452A1 (zh)

Families Citing this family (264)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8539582B1 (en) * 2004-04-01 2013-09-17 Fireeye, Inc. Malware containment and security analysis on connection
US9027135B1 (en) 2004-04-01 2015-05-05 Fireeye, Inc. Prospective client identification using malware attack detection
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US7873955B1 (en) 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US7870387B1 (en) 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8352930B1 (en) 2006-04-24 2013-01-08 Mcafee, Inc. Software modification by group to minimize breakage
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US7765374B2 (en) 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
US8190778B2 (en) * 2007-03-06 2012-05-29 Intel Corporation Method and apparatus for network filtering and firewall protection on a secure partition
KR101396831B1 (ko) * 2007-03-30 2014-05-21 삼성전자주식회사 메모리 접근 제어 방법
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US9164784B2 (en) * 2007-10-12 2015-10-20 International Business Machines Corporation Signalizing an external event using a dedicated virtual central processing unit
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8701189B2 (en) 2008-01-31 2014-04-15 Mcafee, Inc. Method of and system for computer system denial-of-service protection
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US8776028B1 (en) * 2009-04-04 2014-07-08 Parallels IP Holdings GmbH Virtual execution environment for software delivery and feedback
US8341749B2 (en) * 2009-06-26 2012-12-25 Vmware, Inc. Preventing malware attacks in virtualized mobile devices
US8381284B2 (en) * 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US8341627B2 (en) 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US8832829B2 (en) * 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8621460B2 (en) * 2009-11-02 2013-12-31 International Business Machines Corporation Endpoint-hosted hypervisor management
US9552497B2 (en) 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8495750B2 (en) 2010-08-31 2013-07-23 International Business Machines Corporation Filesystem management and security system
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US20120144489A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Antimalware Protection of Virtual Machines
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
CN103430185B (zh) * 2011-03-22 2016-10-26 瑞典爱立信有限公司 用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法
US8966629B2 (en) * 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
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
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
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
US8650642B2 (en) * 2011-03-31 2014-02-11 Mcafee, Inc. System and method for below-operating system protection of an operating system kernel
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
US20120255003A1 (en) * 2011-03-31 2012-10-04 Mcafee, Inc. System and method for securing access to the objects of an operating system
US8966624B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for securing an input/output path of an application against malware with a below-operating system security agent
US8863283B2 (en) * 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US8925089B2 (en) 2011-03-29 2014-12-30 Mcafee, Inc. System and method for below-operating system modification of malicious code on an electronic device
US9298910B2 (en) * 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
DE112011105577T5 (de) 2011-08-30 2014-05-08 Hewlett-Packard Development Company, L.P. Virtueller hochprivilegierter Modus für eine Systemverwaltungsanforderung
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US8788763B2 (en) * 2011-10-13 2014-07-22 International Business Machines Corporation Protecting memory of a virtual guest
US8782351B2 (en) * 2011-10-13 2014-07-15 International Business Machines Corporation Protecting memory of a virtual guest
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
CN102521531B (zh) * 2011-11-24 2014-11-12 华中科技大学 基于硬件虚拟化的密码保护系统
US9916454B2 (en) 2011-12-22 2018-03-13 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
US9372988B2 (en) * 2011-12-22 2016-06-21 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
CN104025041B (zh) * 2011-12-29 2018-05-25 英特尔公司 管理员模式执行保护
US9519782B2 (en) 2012-02-24 2016-12-13 Fireeye, Inc. Detecting malicious network content
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US20130312099A1 (en) * 2012-05-21 2013-11-21 Mcafee, Inc. Realtime Kernel Object Table and Type Protection
US9405682B2 (en) * 2012-06-23 2016-08-02 Microsoft Technology Licensing, Llc Storage device access using unprivileged software code
EP3364297B1 (en) * 2012-06-26 2022-05-04 Lynx Software Technologies Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection prevention, and/or other features
US8832837B2 (en) * 2012-06-29 2014-09-09 Mcafee Inc. Preventing attacks on devices with multiple CPUs
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9183161B2 (en) * 2012-12-28 2015-11-10 Intel Corporation Apparatus and method for page walk extension for enhanced security checks
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9170956B2 (en) * 2013-02-07 2015-10-27 Texas Instruments Incorporated System and method for virtual hardware memory protection
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9009822B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9824209B1 (en) 2013-02-23 2017-11-21 Fireeye, Inc. Framework for efficient security coverage of mobile software applications that is usable to harden in the field code
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9407505B2 (en) * 2013-03-04 2016-08-02 Amazon Technologies, Inc. Configuration and verification by trusted provider
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
WO2014142817A1 (en) * 2013-03-13 2014-09-18 Intel Corporation Managing device driver cross ring accesses
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
EP2981925B1 (en) * 2013-04-05 2019-08-28 OLogN Technologies AG Systems, methods and apparatuses for protection of antivirus software
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9542230B2 (en) * 2013-05-15 2017-01-10 Apple Inc. System and method for selective timer coalescing
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
RU2541120C2 (ru) 2013-06-06 2015-02-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных исполняемых файлов на основании сходства ресурсов исполняемых файлов
US9536091B2 (en) 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9117080B2 (en) * 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US10089461B1 (en) 2013-09-30 2018-10-02 Fireeye, Inc. Page replacement code injection
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
WO2015060857A1 (en) 2013-10-24 2015-04-30 Mcafee, Inc. Agent assisted malicious application blocking in a network environment
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
JP5963313B2 (ja) * 2013-12-19 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、方法、及び、プログラム
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9756069B1 (en) * 2014-01-10 2017-09-05 Trend Micro Inc. Instant raw scan on host PC with virtualization technology
US9507935B2 (en) * 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
RU2580030C2 (ru) * 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
WO2016004263A1 (en) 2014-07-01 2016-01-07 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting, and/or other features
WO2015176048A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Aspects of hardware virtualization, hypervisors, code detection
WO2015176029A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization such as hypervisor, pages of interest, and/or other features
WO2015176046A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US11782745B2 (en) 2014-07-01 2023-10-10 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting and/or other features
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
RU2585978C2 (ru) * 2014-09-30 2016-06-10 Закрытое акционерное общество "Лаборатория Касперского" Способ вызова системных функций в условиях использования средств защиты ядра операционной системы
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10725770B2 (en) 2015-01-19 2020-07-28 Vmware, Inc. Hot-swapping operating systems using inter-partition application migration
US10445123B2 (en) 2015-01-19 2019-10-15 Vmware, Inc. Hypervisor exchange with virtual-machine consolidation
US10007546B2 (en) * 2015-01-19 2018-06-26 Vmware, Inc. Operating-system exchanges using memory-pointer transfers
US9779240B2 (en) * 2015-01-30 2017-10-03 Vmware, Inc. System and method for hypervisor-based security
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539436B (en) * 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10395029B1 (en) * 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
CN108351938B (zh) * 2015-10-29 2022-02-08 惠普发展公司,有限责任合伙企业 校验针对程序代码的一部分所计算的安全值的装置、系统和方法
US9536088B1 (en) * 2015-11-09 2017-01-03 AO Kaspersky Lab System and method for protection of memory in a hypervisor
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
DE102015223335A1 (de) * 2015-11-25 2017-06-01 Robert Bosch Gmbh Verfahren zum Betreiben eines Mikrocontrollers
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
RU2610228C1 (ru) * 2015-12-18 2017-02-08 Акционерное общество "Лаборатория Касперского" Система и способ выполнения запросов процессов операционной системы к файловой системе
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
US10705867B2 (en) 2016-06-22 2020-07-07 Vmware, Inc. Hypervisor exchange with virtual machines in memory
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10554507B1 (en) 2017-03-30 2020-02-04 Fireeye, Inc. Multi-level control for enhanced resource and object evaluation management of malware detection system
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10387186B2 (en) 2017-06-28 2019-08-20 Vmware, Inc. Hypervisor with virtual-memory file system
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US10534730B1 (en) * 2018-12-20 2020-01-14 Ati Technologies Ulc Storing microcode for a virtual function in a trusted memory region
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
WO2021030903A1 (en) * 2019-08-16 2021-02-25 Zao John Kar Kin System and method for performing trusted computing with remote attestation and information isolation on heterogeneous processors over open interconnect
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
CN112799776B (zh) * 2020-12-31 2022-03-25 科东(广州)软件科技有限公司 多分区操作系统监控方法、装置、计算设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW472190B (en) * 2000-09-08 2002-01-11 Inventec Corp Method for directly accessing mass storage under protection mode
US20040123288A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Methods and systems to manage machine state in virtual machine operations
TWI228221B (en) * 2000-12-27 2005-02-21 Intel Corp Method, apparatus and system for resolving address space conflicts between a virtual machine monitor and a guest operating system, and computer readable medium that provides instructions
TW200531492A (en) * 2003-10-29 2005-09-16 Qualcomm Inc System for selectively enabling operating modes of a device
US20050289542A1 (en) * 2004-06-28 2005-12-29 Volkmar Uhlig Support for transitioning to a virtual machine monitor based upon the privilege level of guest software
TWI266989B (en) * 2002-04-15 2006-11-21 Intel Corp Method, apparatus and token device for protection against memory attacks following reset

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
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
GB2325061B (en) 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
RU2134931C1 (ru) 1999-03-15 1999-08-20 ОАО "Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере" Способ обеспечения доступа к объектам в операционной системе мсвс
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
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
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
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
JP4256107B2 (ja) 2002-03-07 2009-04-22 富士通株式会社 データサーバへの不正侵入対処方法、及びプログラム
US20050160423A1 (en) * 2002-12-16 2005-07-21 Bantz David F. Enabling a guest virtual machine in a windows environment for policy-based participation in grid computations
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
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
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
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
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
US7765374B2 (en) 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW472190B (en) * 2000-09-08 2002-01-11 Inventec Corp Method for directly accessing mass storage under protection mode
TWI228221B (en) * 2000-12-27 2005-02-21 Intel Corp Method, apparatus and system for resolving address space conflicts between a virtual machine monitor and a guest operating system, and computer readable medium that provides instructions
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
TWI266989B (en) * 2002-04-15 2006-11-21 Intel Corp Method, apparatus and token device for protection against memory attacks following reset
US20040123288A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Methods and systems to manage machine state in virtual machine operations
TW200531492A (en) * 2003-10-29 2005-09-16 Qualcomm Inc System for selectively enabling operating modes of a device
US20050289542A1 (en) * 2004-06-28 2005-12-29 Volkmar Uhlig Support for transitioning to a virtual machine monitor based upon the privilege level of guest software

Also Published As

Publication number Publication date
EP2115570B1 (en) 2018-06-13
CN101589364B (zh) 2016-03-09
JP5249450B2 (ja) 2013-07-31
US20080184373A1 (en) 2008-07-31
BRPI0720921A2 (pt) 2014-08-05
CL2008000168A1 (es) 2009-01-09
EP2115570A4 (en) 2010-06-16
US8380987B2 (en) 2013-02-19
RU2009128673A (ru) 2011-01-27
BRPI0720921B1 (pt) 2018-11-13
CN101589364A (zh) 2009-11-25
EP2115570A1 (en) 2009-11-11
BRPI0720921A8 (pt) 2017-01-17
WO2008091452A1 (en) 2008-07-31
ES2683074T3 (es) 2018-09-24
JP2012198927A (ja) 2012-10-18
RU2468418C2 (ru) 2012-11-27
JP5055380B2 (ja) 2012-10-24
TW200836064A (en) 2008-09-01
JP2010517162A (ja) 2010-05-20

Similar Documents

Publication Publication Date Title
TWI475388B (zh) 保護代理及特權模式
TWI470471B (zh) 保護作業系統資源
US10956184B2 (en) On-demand disposable virtual work system
US8627414B1 (en) Methods and apparatuses for user-verifiable execution of security-sensitive code
JP6063941B2 (ja) システム管理要求のための仮想高特権モード
US10146940B2 (en) Multiple hardware-separated computer operating systems within a single processor computer system to prevent cross-contamination between systems
EP2973171B1 (en) Context based switching to a secure operating system environment
US10360386B2 (en) Hardware enforcement of providing separate operating system environments for mobile devices
EP3627368A1 (en) Auxiliary memory having independent recovery area, and device applied with same
RU2460133C1 (ru) Система и способ защиты компьютерных приложений
Schwarz et al. Affordable Separation on Embedded Platforms: Soft Reboot Enabled Virtualization on a Dual Mode System
EP3663947B1 (en) Protected peripheral ports
WO2022093184A1 (en) Untrusted software handling
KR20240107991A (ko) 모바일 기기의 usb 장치 인증 시스템 및 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees