TWI626557B - Execution control device and execution control method and execution control program product - Google Patents
Execution control device and execution control method and execution control program product Download PDFInfo
- Publication number
- TWI626557B TWI626557B TW104135742A TW104135742A TWI626557B TW I626557 B TWI626557 B TW I626557B TW 104135742 A TW104135742 A TW 104135742A TW 104135742 A TW104135742 A TW 104135742A TW I626557 B TWI626557 B TW I626557B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- user
- program
- operating system
- system call
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
執行控制裝置(100)係包括判斷部(120)、及控制部(130)。判斷部(120)係判斷經啟動記憶體操作系統呼叫之發行來源之程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域之分配目的地之程序後的分配目的地使用者相同。所謂記憶體操作系統呼叫係指從經由使用者所啟動之程序對於作業系統所發行的系統呼叫中,為了記憶體區域之操作所發行的系統呼叫。控制部(130)係中止被判斷部(120)判斷為發行來源使用者與分配目的地使用者不同之記憶體操作系統呼叫的執行。
Description
本發明係關於一種執行控制裝置和執行控制方法以及執行控制程式產品。
近年來,一種被稱為雲端(cloud),以網際網路連接為前提而提供電腦資源的服務已廣泛地滲透擴散。以服務的形態而言,已知有提供網頁應用程式(web application)本身的SaaS(Software as a Service,軟體即服務)、提供應用程式之開發平台(platform)的PaaS(Platform as a Service,平台即服務)、提供虛擬機器的IaaS(Infrastructure as a Service,基礎設施即服務)等。
通常,在雲端供應商(cloud vendor)與其顧客之間,係締結一種被稱為SLA(Service Level Agreement,服務等級協議),關於核款、服務的可靠性、安全性(security)等的契約。然而,卻不能完全否定具有惡意的系統管理員(administrator)的存在。系統管理員係為具有系統上所有權限的超級使用者(super user)。因此,即使在契約上已擔保了顧客的儲存資料(storage data)或記憶體資料(memory data)的隱密性,也會有被具有惡意的系統管理員竊取資料、或竄改資料的可能性。
由IaaS所提供的虛擬機器,對於由該虛擬機器所運作的作業系統(operating system)而言,只不過是應用程式而已。因此,只要是作業系統的超級使用者,就可取得虛擬機器所使用之記憶體區域的資料。
在專利文獻1中,已揭示一種在從應用程式對作業系統發行系統呼叫(system call)時,驗證該應用程式是否具有接受該系統呼叫之服務的權限的技術。
專利文獻1:日本特開2006-331137號公報
在以往的技術中,無法因應具有惡意的系統管理員的存在。即使在專利文獻1所記載的技術中,也依然未排除超級使用者可存取系統所有資源的可能性。
本發明之目的為提供一種即使是超級使用者,也無法存取應予以保護之記憶體區域之資料的系統。
本發明之一態樣的執行控制裝置係包括:判斷部,其係判斷從經由使用者所啟動之程序(process)對於作業系統所發行的系統呼叫中,經啟動為了記憶體區域之操作所發行的系統呼叫,亦即記憶體操作系統呼叫之發行來源之程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域之分配目的地之程序後的
分配目的地使用者相同;及控制部,其係中止經由被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同之記憶體操作系統呼叫的執行。
在本發明中,經啟動為了記憶體區域之操作所發行之系統呼叫之發行來源之程序後的使用者,若與經啟動該記憶體區域之分配目的地之程序後的使用者不同,則該系統呼叫不會被執行。因此,依據本發明,可提供一種即使是超級使用者,也無法存取應予以保護之記憶體區域之資料的系統。
100‧‧‧執行控制裝置
101‧‧‧處理器
102‧‧‧MMU
103‧‧‧TLB
104‧‧‧記憶體控制器
105‧‧‧記憶體
106‧‧‧輔助記憶裝置
107‧‧‧通信裝置
110‧‧‧提供部
120‧‧‧判斷部
130‧‧‧控制部
140‧‧‧記憶部
150‧‧‧管理部
160‧‧‧認證部
200‧‧‧虛擬位址
201‧‧‧索引
202‧‧‧索引
203‧‧‧偏移量
210‧‧‧頁目錄表
211‧‧‧頁表入口
220‧‧‧頁表
221‧‧‧頁表入口
222‧‧‧Inhibit旗標
230‧‧‧控制暫存器
300‧‧‧實體位址
第1圖係顯示實施形態1之執行控制裝置之構成的方塊圖。
第2圖係顯示實施形態1之執行控制裝置之構成的流程圖。
第3圖係顯示實施形態2之執行控制裝置之構成的方塊圖。
第4圖係顯示實施形態2之虛擬機器之安裝例的圖。
第5圖係顯示實施形態2之頁表入口之構成例的圖。
第6圖係顯示實施形態2之執行控制裝置之動作的流程圖。
以下使用圖式來說明本發明的實施形態。另外,
各圖中,對於相同或相等的部分,係賦予相同符號。在實施形態的說明中,關於相同或相等的部分,係適當省略或簡化其說明。
實施形態1
茲依序說明本實施形態之裝置的構成、本實施形態之裝置的動作、及本實施形態的功效。
* * *構成的說明* * *
茲參照第1圖來說明本實施形態之裝置之執行控制裝置100的構成。
執行控制裝置100係包括:提供部110;判斷部120;及控制部130。
在本實施形態中,執行控制裝置100係電腦。具體而言,執行控制裝置100係為提供IaaS的主電腦(host computer)。提供部110、判斷部120、及控制部130的功能係藉由軟體(software)來實現。
執行控制裝置100係包括:處理器(processor)101、MMU(Memory Management Unit,記憶體管理單元)102、TLB(Translation Lookaside Buffer,轉譯後備緩衝區)103、記憶體控制器(memory controller)104、記憶體105、輔助記憶裝置106、及通信裝置107之類的硬體。處理器101係透過信號線而與其他硬體連接,用以控制此等其他硬體。
處理器101係為進行處理的IC(Integrated Circuit,積體電路)。具體而言,處理器101係CPU(Central Processing Unit,中央處理單元)。
MMU102係為進行屬於虛擬機器之位址的虛擬位址與屬於記憶體105之位址的實體位址之轉換的IC。
TLB103係為用以將虛擬位址與實體位址之映射(mapping)資訊予以暫時儲存的緩衝記憶體(Buffer Memory)。
記憶體控制器104係為用以管理藉由處理器101寫入記憶體105之資料的流程、及藉由處理器101從記憶體105所讀取之資料的流程的IC。
記憶體105係主記憶體(main memory),亦即實體記憶體。具體而言,記憶體105係RAM(Random Access Memory,隨機存取記憶體)。
輔助記憶裝置106係至少一部分作為虛擬機器而產生作用的記憶裝置。具體而言,輔助記憶裝置106係快閃記憶體(flash memory)、或HDD(Hard Disk Drive,硬碟驅動器)。
通信裝置107係包含接收資料的接收器(receiver)及發送資料的發送器(transmitter)。具體而言,通信裝置107係通信晶片(chip)或NIC(Network Interface Card,網路介面卡)。
執行控制裝置100亦可包括輸入裝置及顯示器(display)之至少任一者作為硬體。
輸入裝置係用來將資料從外部輸入於記憶體105。具體而言,輸入裝置係滑鼠(mouse)、鍵盤(keyboard)、或觸控板(touch panel)。
顯示器係用來顯示記憶於記憶體105的資料。具
體而言,顯示器係LCD(Liquid Crystal Display,液晶顯示器)。
在輔助記憶裝置106中,係記憶有程式群。在程式群中,係包含實現提供部110之功能的程式。此程式係被載入於記憶體105,且被讀入於處理器101,並藉由處理器101來執行。在程式群中,亦包含實現判斷部120及控制部130之功能的作業系統(operating system)。作業系統之至少一部分被載入於記憶體105,處理器101係一面執行作業系統,一面執行實現提供部110之功能的程式。
作業系統之一般使用者,亦即非超級使用者雖可追蹤自身之程序的虛擬記憶體區域,但無法追蹤其他使用者之程序的虛擬記憶體區域。此外,非超級使用者雖可在自身的程序間共享虛擬記憶體區域,但在自身的程序與其他使用者的程序之間、或在其他使用者的程序之間無法共享虛擬記憶體區域。在IaaS之主作業系統上運作的虛擬機器,亦為此種非超級使用者的程序。
以往只要是超級使用者,亦容許追蹤任一程序之的虛擬記憶體區域,而且,也容許在任一程序間共享虛擬記憶體區域。然而,這樣一來,也就可觀察IaaS之主作業系統之系統管理員在主作業系統上所運作之任一虛擬機器的記憶體資料。
如後所述,在本實施形態中,即使是超級使用者,亦被禁止追蹤其他使用者之程序的虛擬記憶體區域,而且,也被禁止在其他使用者的程序間共享虛擬記憶體區域。因此,可以保護在IaaS之主作業系統上運作之虛擬機器的記憶體資
料,避開具有惡意的系統管理員。
為了使程序追蹤該程序之虛擬記憶體區域,或在與該程序相同之使用者的其他程序之間共享虛擬記憶體區域,需要變更作業系統所管理的資料。在處理器101中,係構成為可設定被稱為保護模式(protected mode)的執行模式,以使被執行作為程序的應用程式不會破壞作業系統所管理的資料。藉由設定保護模式,會明確區分出作業系統運作的虛擬位址空間、及應用程式運作的虛擬位址空間。因此,乃提供了一種在保護模式中由應用程式對作業系統的空間進行存取之所謂系統呼叫的手段。
作為一般使用者之程序運作的應用程式係藉由發行系統呼叫,而可利用追蹤該程序之虛擬記憶體區域的功能、及在與該程序相同之使用者的其他程序之間共享虛擬記憶體區域的功能之類的作業系統的各種功能。
另外,執行控制裝置100係可僅包括1個處理器101,亦可包括複數個處理器101。複數個處理器101亦可協同程式群一併執行。
顯示提供部110、判斷部120、及控制部130之處理之結果的資訊、資料、信號值、以及變數值,係被記憶於輔助記憶裝置106、記憶體105、或處理器101內的暫存器(registor)或快閃記憶體。
程式群亦可被記憶於磁碟、軟碟(flexible disk)、光磁碟、光碟(Compact Disk)、藍光(註冊商標)磁碟、DVD(Digital Versatile Disc,數位化多功能光碟)等的可攜型記錄
媒體。
茲將處理器101、MMU102、TLB103、記憶體控制器104、記憶體105統稱為「處理線路(processing circuitry)」。換言之,提供部110、判斷部120、控制部130之類的「部」的功能,係藉由處理線路來實現。
「部」亦可改讀為「步驟」或「順序」或「處理」。電腦程式產品(亦簡稱為程式產品)不限定於外觀形式之物,而為載入有可由電腦讀取的程式者。
* * *動作的說明* * *
茲參照第2圖來說明執行控制裝置100的動作。執行控制裝置100的動作係相當於本實施形態的執行控制方法。執行控制裝置100的動作係相當於本實施形態之執行控制程式的處理順序。
步驟S11至步驟S15的處理,係在至少由提供部110提供令使用者利用作為處理器動作之虛擬機器的服務時實施。在本實施形態中,提供部110係提供IaaS作為該種服務。具體而言,提供部110係使用處理器101使虛擬機器在作業系統上運作。提供部110係使用通信裝置107而經由網際網路接收發送資料,藉此令使用者利用運作中的虛擬機器。
在步驟S11中,判斷部120係待機至偵測到系統呼叫的發行為止。具體而言,判斷部120係由於因系統呼叫的發行而在處理器101產生插斷而啟動。判斷部120係由於啟動而偵測系統呼叫已被發行。此外,判斷部120係從處理器101的暫存器至少取得所發行之系統呼叫的編號、該系統呼叫的引
數、及經啟動該系統呼叫之發行來源之程序後的使用者的識別符。
在經判斷部120偵測到系統呼叫的發行時,流程前進至步驟S12。
在步驟S12中,判斷部120係判斷在步驟S11中偵測到發行的系統呼叫是否為記憶體操作系統呼叫。所謂記憶體操作系統呼叫係指從經由使用者所啟動之程序對於作業系統所發行的系統呼叫中,為了記憶體區域之操作所發行的系統呼叫。具體而言,判斷部120係比較在步驟S11所取得之系統呼叫的編號與記憶體操作系統呼叫的編號,且將比較結果輸出作為布林值(boolean value)。茲假設顯示編號為一致的布林值為「1」,在輸出「1」的情況下,判斷部120即會判斷為所發行的系統呼叫為記憶體操作系統呼叫。另一方面,在輸出「0」的情況下,判斷部120即會判斷為所發行的系統呼叫非為記憶體操作系統呼叫。
在經判斷部120判斷為所發行的系統呼叫為記憶體操作系統呼叫的情況下,流程前進至步驟S13。若非為該情況下,則流程前進至步驟S14。
在步驟S13中,判斷部120係判斷經啟動記憶體操作系統呼叫之發行來源的程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域的分配目的地的程序後的分配目的地使用者相同。具體而言,判斷部120係從在步驟S11所取得之系統呼叫的引數,取得被記憶體操作系統呼叫所操作之記憶體區域的虛擬位址。在
TLB103中,係依每一虛擬位址空間儲存有分配目的地之程序的識別符,以作為先前所述之映射資訊的一部分。判斷部120係使用處理器101且透過MMU102而取得被儲存在TLB103作為包含所取得之虛擬位址之虛擬位址空間之分配目的地之識別符之程序的識別符。判斷部120係從所取得之程序的識別符,特別指定屬於經啟動該程序後之使用者的分配目的地使用者的識別符。判斷部120係比較在步驟S11所取得之使用者的識別符,亦即發行來源使用者的識別符、及經特別指定後之分配目的地使用者的識別符,且將比較結果輸出作為布林值。茲假設顯示識別符為一致的布林值為「1」時,在輸出「1」的情況下,判斷部120即會判斷為發行來源使用者與分配目的地使用者相同。另一方面,在輸出「0」的情況下,判斷部120即會判斷為發行來源使用者與分配目的地使用者不同。
在經判斷部120判斷為發行來源使用者與分配目的地使用者相同的情況下,流程前進至步驟S14。若非為該情況下,則流程前進至步驟S15。
在步驟S14中,控制部130係進行正常處理。具體而言,控制部130係令處理器執行被判斷部120判斷為非為記憶體操作系統呼叫的系統呼叫。此外,控制部130係令處理器101亦執行經判斷部120判斷為發行來源使用者與分配目的地使用者相同的記憶體操作系統呼叫。亦即,控制部130係中止經判斷部120判斷為發行來源使用者與分配目的地使用者不同的記憶體操作系統呼叫的執行。
在步驟S15中,控制部130係進行錯誤(error)
處理。具體而言,控制部130係即使發行來源使用者為具有作業系統之管理者權限的超級使用者,亦不令處理器101執行經判斷部120判斷為發行來源使用者與分配目的地使用者不同的記憶體操作系統呼叫。在本實施形態中,控制部130係強制結束經判斷部120判斷為發行來源使用者與分配目的地使用者不同的記憶體操作系統呼叫之發行來源的程序。亦即,控制部130係刪除經判斷部120判斷為發行來源使用者與分配目的地使用者不同的記憶體操作系統呼叫之發行來源的程序。
* * *實施形態之功效的說明* * *
在本實施形態中,經啟動為了記憶體區域之操作所發行之系統呼叫之發行來源的程序後的使用者,只要與經啟動該記憶體區域之分配目的地之程序後的使用者不同,該系統呼叫就不會被執行。因此,依據本實施形態,可提供一種即使是超級使用者,也無法存取應予以保護之記憶體區域之資料的系統。
在本實施形態中,不僅可阻止被分配有記憶體區域之使用者以外之使用者對於該記憶體區域的非法存取,還可阻止具有惡意的超級使用者對於該記憶體區域的存取。因此,可提供一種安全性高的服務。由於被分配有記憶體區域之使用者所進行之該記憶體區域的追蹤、共享等的操作會被正常實施,因此會維持服務的便利性。
在本實施形態中,在關於記憶體區域之追蹤、共享之類的記憶體管理之系統呼叫之處理中的權限查核(check)中,藉由排除設超級使用者為「具有權限」的邏輯,可保護虛擬機器的記憶體資料,而避開具有惡意的超級使用者。
另外,判斷部120亦可僅在步驟S11中偵測到記憶體操作系統呼叫對於被分配於虛擬記憶體之記憶體區域的發行時,才在步驟S13判斷發行來源使用者是否與分配目的地使用者相同。即使該情形,亦至少可保護虛擬機器所使用之記憶體區域的資料。
* * *其他構成* * *
執行控制裝置100並不限定於藉由執行虛擬機器作為程序而提供IaaS的主電腦,只要是執行任意的程序的電腦即可。亦即,亦可採用執行控制裝置100不包括提供部110的構成作為本實施形態的變形例。
實施形態2
在實施形態1中,係藉由作業系統所管理的使用者帳戶(user account),來控制對於虛擬機器所使用之記憶體區域的存取。亦即,實施形態1係利用使用者管理機構來保護虛擬機器的記憶體資料者。
在一般的網頁伺服器(web server)中,若可連接網際網路,任何人都可以進行存取。因此,在網頁服務中,對使用者所認可之作業系統的權限等級(level)係被設定為受到極大限制。因此,在銀行等所提供的網頁服務中,係因應使用者的要求,提供安全存取帳款系列系統的手段。具體而言,除軟體鍵盤(software keyboard)或密碼(password)外,還提供對於隨機變數使用雜湊碼(hashcode)等之嚴格的認證機構。
在本實施形態中,亦提供一種進行程序之認證的認證機構,以作為安全存取虛擬機器所使用之記憶體區域的手
段。在記憶體管理機構中,係導入用以利用該認證機構的架構。亦即,本實施形態係利用認證機構與記憶體管理機構,來保護虛擬機器之記憶體資料者。
茲依序說明本實施形態之裝置的構成、本實施形態之裝置的動作、本實施形態的功效。主要說明與實施形態1的差異。
* * *構成的說明* * *
茲參照第3圖來說明本實施形態之裝置之執行控制裝置100的構成。
執行控制裝置100係與實施形態1同樣包括提供部110、判斷部120、及控制部130。在本實施形態中,執行控制裝置100係進一步包括記憶部140、管理部150、及認證部160。另外,執行控制裝置100亦可不包括判斷部120。
記憶部140係藉由TLB103來實現。
管理部150係藉由MMU102來實現。
認證部160的功能係藉由軟體來實現。具體而言,認證部160的功能係與控制部130的功能同樣地藉由作業系統來實現。
茲參照第4圖來說明虛擬記憶體的安裝例。
一旦當處理器101的狀態(state)成為保護模式時,處理器101即會使用虛擬記憶體的虛擬位址200來執行作業系統及應用程式。
虛擬位址200係處理器101為了在虛擬記憶體上進行命命的執行、資料的參照、以及資料的更新所使用的位
址。虛擬位址200係由對於頁目錄表(page directory table)210的索引(index)201、對於頁表(page table)220的索引202、及偏移量(offset)203所構成。在本例中,對於頁目錄表210的索引201為10位元(bit),對於頁表220的索引202為10位元,偏移量203則為12位元。亦即,虛擬位址200為32位元。
頁目錄表210係用以儲存頁表入口211(PDE)的排列。
頁表220係用以儲存頁表入口221(PTE)的排列。頁表入口221係相當於虛擬位址200與輸出於記憶體匯流排之實體位址300的映射資訊。
藉由操作處理器101的控制暫存器230(CR3),處理器101的狀態轉換至保護模式。一旦當處理器101的狀態轉換時,作業系統即根據虛擬位址200而參照頁目錄表210及頁表220。
虛擬位址200與實體位址300之映射的處置(handling),係藉由MMU102來進行。在包括近年的L1至L3之快取(cashe)的CPU中,記憶體存取成為性能上極大的的代價(penalty)。此在MMU102上亦復相同。因此,屬於虛擬位址200與實體位址300之映射資訊的頁表入口221被快取至TLB103。
CPU的時脈(clock)成為數千兆赫(gigahertz)的現在,記憶體存取也高速至1奈米秒以下,快取錯失(cashe miss)在性能上的代價變得非常大。TLB103的快取錯失亦復
相同。TLB103與CPU快取相當於記憶體105的位址與其內容的關係,因此兩者係以硬佈線(hard-wired)來安裝。
茲參照第5圖來說明頁表入口221的構成例。
頁表入口221除了以往為「Ignored」的位元9至位元11中之1個位元成為Inhibit旗標(flag)222的點外,均為與以往相同的構成。Inhibit旗標222係用以顯示是否禁止從虛擬位址200變換為實體位址300的旗標。在本例中,位元11雖成為Inhibit旗標222,但其他位元亦可成為Inhibit旗標222。
只要Inhibit旗標222成為開啟(on),MMU102即在將虛擬位址200映射於實體位址300時,將例外狀況(exception)通知處理器101。作業系統係在重新確保記憶體區域時,設Inhibit旗標222為開啟。
* * *動作的說明* * *
茲參照第6圖說明執行控制裝置100的動作。執行控制裝置100的動作係相當於本實施形態的執行控制方法。執行控制裝置100的動作係相當於本實施形態之執行控制程式的處理順序。
如前所述,TLB103,亦即記憶部140係依屬於虛擬記憶體之記憶體區域的每一頁,記憶頁表入口221。在各頁的頁表入口221中,係包含顯示是否禁止變換為對應各頁之實體記憶體之位址的Inhibit旗標222。亦即,在各個頁表入口221中,係包含顯示是否禁止從虛擬位址200變換為實體位址300的Inhibit旗標222。
MMU102,亦即管理部150係在1頁被分配於1
個程序時,將該1頁的頁表入口221寫入於記憶部140。在該1頁的頁表入口221中,係包含顯示禁止變換為對應該1頁之實體記憶體之位址的Inhibit旗標222。亦即,管理部150係在重新將頁表入口221寫入於記憶部140時,設該頁表入口221中所含的Inhibit旗標222為開啟。
管理部150係在被要求對於虛擬記憶體的存取,且經由被要求該存取之要求目的地頁之頁表入口221的Inhibit旗標222,禁止了變換為對應於要求目的地頁之實體記憶體的位址時,啟動第6圖所示的例外處理。亦即,管理部150係在被要求從虛擬位址200變換為實體位址300時,參照從該虛擬位址200所特別指定之頁表入口221的Inhibit旗標222。再者,只要Inhibit旗標222成為開啟,則管理部150就啟動例外處理。另一方面,只要Inhibit旗標222成為關閉(off),則管理部150就進行從虛擬位址200變換為實體位址300,且更新要求目的地頁的頁表入口221。具體而言,管理部150係將要求目的地頁之頁表入口221中所含之顯示是否有對於要求目的地頁的存取的旗標進行更新。
在步驟S21至步驟S23中,認證部160係進行被分配有要求目的地頁之程序的認證。具體而言,在步驟S21中,認證部160係取得例外狀況產生之程序的所保持的雜湊鍵(hash key)與認證資料。在步驟S22中,認證部160係運算在步驟S21中所取得之認證資料的雜湊值。在步驟S23中,認證部160係比較在步驟S22中所運算的雜湊值、及在步驟S21中所取得的雜湊鍵。只要雜湊值與雜湊鍵一致,經由認證部160
所進行的認證即會成功,流程即前進至步驟S24。另一方面,若雜湊值與雜湊鍵不一致,則經由認證部160進行的認證即會失敗,流程則前進至步驟S25。
在步驟S24中,控制部130係更新要求目的地頁之頁表入口221的Inhibit旗標222。具體而言,控制部130係將要求目的地頁之頁表入口221的Inhibit旗標222,更新為顯示許可變換為對應要求目的地頁之實體記憶體的位址的Inhibit旗標222。亦即,控制部130係設要求目的地頁之頁表入口221的Inhibit旗標222為關閉。之後,例外處理結束,管理部150進行從虛擬位址200變換為實體位址300,且更新要求目的地頁的頁表入口221。具體而言,管理部150係將要求目的地頁之頁表入口221中所含之顯示是否有對於要求目的地頁的存取的旗標進行更新。
在步驟S25中,控制部130係判斷為例外狀況產生後的程序已進行了非法存取,且強制結束該程序。亦即,控制部130係刪除經由認證部160所進行之認證失敗的程序。
* * *實施形態之效果的說明* * *
在本實施形態中,認證部160係進行被分配虛擬記憶體之記憶體區域之程序的認證。管理部150係中止從被分配於經由認證部160所進行之認證失敗之程序之記憶體區域的位址變換為實體記憶體的位址。因此,依據本實施形態,可提供一種安全存取應予以保護之記憶體區域之資料的系統。
在本實施形態中,經由管理部150被寫入於記憶部140之頁表入口221之Inhibit旗標222的初期(default)
設定為開啟。控制部130係僅將經由管理部150所寫入之頁表入口221中之被分配於經由認證部160進行之認證成功之程序之頁之頁表入口221的Inhibit旗標222進行更新。因此,例外處理異常結束時,Inhibit旗標222仍會開啟,要求目的地頁的資料會被確實保護。
在本實施形態中,當進行記憶體區域的追蹤或共享時,複數個TLB入口被登錄於相同的資料。任一種情形,在任一個程序執行記憶體區域之釋放的情況下,該程序都會執行該TLB入口的選中(shootdown),且維持其一貫性。
本實施形態亦可適用於SMP(Symmetric MultiProcessor,對稱式多處理器)型的系統。在系統的最佳化設計中,某處理器101變更了頁表220時,亦可採用進行所有處理器101之TLB選中之粒度較低的安裝。或者,亦可採用依TLB入口單位進行各處理器101之TLB選中的安裝。該等安裝係根據系統的總體性能目標而選擇者,並非排除本實施形態的應用。
以上雖已說明了本發明的實施形態,但亦可將該等實施形態中之數個予以組合進行實施。或者,亦可將該等實施形態中之任一個或數個予以局部地實施。具體而言,亦可僅採用在該等實施形態的說明中說明作為「部」者中的任一個,亦可採用數個的任意的組合。另外,本發明並不限定於該等實施形態,亦可視需要進行各種變更。
Claims (9)
- 一種執行控制裝置,包括:判斷部,其係判斷從經由使用者所啟動之程序對於作業系統所發行的系統呼叫中,經啟動為了記憶體區域之操作所發行的系統呼叫,亦即記憶體操作系統呼叫之發行來源之程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域之分配目的地之程序後的分配目的地使用者相同;及控制部,其係中止經由被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同之記憶體操作系統呼叫的執行,其中前述控制部係令處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者相同的記憶體操作系統呼叫,且即使前述發行來源使用者為具有前述作業系統之管理者權限的超級使用者,亦不令前述處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同的記憶體操作系統呼叫。
- 根據申請專利範圍第1項之執行控制裝置,其中前述控制部係刪除被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同之記憶體操作系統呼叫之發行來源的程序。
- 根據申請專利範圍第1項之執行控制裝置,係進一步包括提供部,其係提供令使用者利用作為程序動作之虛擬機器的服務;前述判斷部係在偵測到記憶體操作系統呼叫對於分配於前 述虛擬機器之記憶體區域的發行時,判斷前述發行來源使用者是否與前述分配目的地使用者相同。
- 根據申請專利範圍第1項之執行控制裝置,係進一步包括:認證部,其係進行被分配有虛擬記憶體之記憶體區域之程序的認證;及管理部,其係中止從被分配於經由前述認證部所進行之認證失敗之程序之記憶體區域的位址變換為實體記憶體的位址。
- 根據申請專利範圍第4項之執行控制裝置,係進一步包括記憶部,該記憶部係依屬於前述虛擬記憶體之記憶體區域的每一頁,記憶包含顯示是否禁止變換為所對應之前述實體記憶體之位址之旗標的頁表入口;前述管理部係在該1頁被分配於1個程序時,將包含顯示禁止變換為對應該1頁之前述實體記憶體之位址之旗標的頁表入口予以寫入於前述記憶部,以作為該1頁的頁表入口;前述控制部係將經由前述管理部所寫入之頁表入口中之被分配於經由前述認證部所進行之認證成功之程序之頁之頁表入口的旗標進行更新。
- 根據申請專利範圍第5項之執行控制裝置,其中前述管理部係在被要求對前述虛擬記憶體進行存取,且經由被要求該存取之要求目的地頁之頁表入口的旗標,禁止了變換為對應於前述要求目的地頁之前述實體記憶體的位址時,啟動例外處理; 前述認證部係進行被分配有前述要求目的地頁之程序的認證以作為前述例外處理;前述控制部係在經由前述認證部所進行的認證成功時,將前述要求目的地頁之頁表入口的旗標,予以更新為顯示許可轉換為對應前述要求目的地頁之前述實體記憶體之位址的旗標,以作為前述例外處理。
- 根據申請專利範圍第5或6項之執行控制裝置,其中前述控制部係刪除經由前述認證部所進行之認證失敗的程序。
- 一種執行控制方法,係由電腦判斷從經由使用者所啟動之程序對於作業系統所發行的系統呼叫中,經啟動為了記憶體區域之操作所發行的系統呼叫,亦即記憶體操作系統呼叫之發行來源之程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域之分配目的地之程序後的分配目的地使用者相同;前述電腦係中止經判斷為前述發行來源使用者與前述分配目的地使用者不同之記憶體操作系統呼叫的執行;以及前述電腦係令處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者相同的記憶體操作系統呼叫,且即使前述發行來源使用者為具有前述作業系統之管理者權限的超級使用者,亦不令前述處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同的記憶體操作系統呼叫。
- 一種執行控制程式產品,係令電腦執行下列處理:判斷處理,其係從經由使用者所啟動之程序對於作業系統 所發行的系統呼叫中,經啟動為了記憶體區域之操作所發行的系統呼叫,亦即記憶體操作系統呼叫之發行來源之程序後的發行來源使用者,是否與經啟動被所發行之記憶體操作系統呼叫所操作之記憶體區域之分配目的地之程序後的分配目的地使用者相同;中止處理,其係中止經判斷為前述發行來源使用者與前述分配目的地使用者不同之記憶體操作系統呼叫的執行;以及執行處理,係令處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者相同的記憶體操作系統呼叫,且即使前述發行來源使用者為具有前述作業系統之管理者權限的超級使用者,亦不令前述處理器執行被前述判斷部判斷為前述發行來源使用者與前述分配目的地使用者不同的記憶體操作系統呼叫。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/075319 WO2017042860A1 (ja) | 2015-09-07 | 2015-09-07 | 実行制御装置及び実行制御方法及び実行制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201710942A TW201710942A (zh) | 2017-03-16 |
TWI626557B true TWI626557B (zh) | 2018-06-11 |
Family
ID=58240629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104135742A TWI626557B (zh) | 2015-09-07 | 2015-10-30 | Execution control device and execution control method and execution control program product |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6257844B2 (zh) |
TW (1) | TWI626557B (zh) |
WO (1) | WO2017042860A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066956A (ja) * | 1998-08-17 | 2000-03-03 | Nec Corp | 共有メモリのアクセス権設定・検証方式 |
US20030101322A1 (en) * | 2001-10-25 | 2003-05-29 | Gardner Robert D. | Protection of user process data in a secure platform architecture |
JP2006331137A (ja) * | 2005-05-27 | 2006-12-07 | Nec Corp | オペレーティングシステムのセキュリティ管理方式及びそのセキュリティ管理方法及びそのプログラム |
US20110078361A1 (en) * | 2009-09-30 | 2011-03-31 | Vmware, Inc. | System and method to enhance memory protection for programs in a virtual machine environment |
TW201235844A (en) * | 2011-02-18 | 2012-09-01 | Toshiba Kk | Semiconductor device and memory protection method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788763B2 (en) * | 2011-10-13 | 2014-07-22 | International Business Machines Corporation | Protecting memory of a virtual guest |
US9858207B2 (en) * | 2013-02-06 | 2018-01-02 | International Business Machines Corporation | Page level key-based memory protection |
-
2015
- 2015-09-07 WO PCT/JP2015/075319 patent/WO2017042860A1/ja active Application Filing
- 2015-09-07 JP JP2017517395A patent/JP6257844B2/ja active Active
- 2015-10-30 TW TW104135742A patent/TWI626557B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066956A (ja) * | 1998-08-17 | 2000-03-03 | Nec Corp | 共有メモリのアクセス権設定・検証方式 |
US20030101322A1 (en) * | 2001-10-25 | 2003-05-29 | Gardner Robert D. | Protection of user process data in a secure platform architecture |
JP2006331137A (ja) * | 2005-05-27 | 2006-12-07 | Nec Corp | オペレーティングシステムのセキュリティ管理方式及びそのセキュリティ管理方法及びそのプログラム |
US20110078361A1 (en) * | 2009-09-30 | 2011-03-31 | Vmware, Inc. | System and method to enhance memory protection for programs in a virtual machine environment |
TW201235844A (en) * | 2011-02-18 | 2012-09-01 | Toshiba Kk | Semiconductor device and memory protection method |
Also Published As
Publication number | Publication date |
---|---|
WO2017042860A1 (ja) | 2017-03-16 |
JP6257844B2 (ja) | 2018-01-10 |
TW201710942A (zh) | 2017-03-16 |
JPWO2017042860A1 (ja) | 2017-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102244645B1 (ko) | 인증된 변수의 관리 | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
JP6893479B2 (ja) | 所有権テーブルを用いたデータ処理装置及び方法 | |
KR101477080B1 (ko) | 메모리 액세스 보안 관리 | |
JP6738354B2 (ja) | アドレス変換 | |
US8788840B2 (en) | Secure processor | |
JP5390703B2 (ja) | 隠れ実行環境における整合性検証及び証明の提供 | |
JP4823481B2 (ja) | 安全な環境を初期化する命令を実行するシステムおよび方法 | |
KR101378639B1 (ko) | 프로세서 메인 메모리의 메모리 콘텐츠를 위한 보안 보호 | |
US20040015694A1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
JP2018523211A (ja) | 保護された例外処理 | |
JP2018523210A (ja) | 共有ページ | |
JP7431225B2 (ja) | 信頼される仲介レルム | |
JP2008171389A (ja) | ドメイン・ログオンの方法、およびコンピュータ | |
JP7431224B2 (ja) | レルム・セキュリティ構成パラメータのためのパラメータ署名 | |
JP2020042341A (ja) | プロセッシングデバイス及びソフトウェア実行制御方法 | |
TWI626557B (zh) | Execution control device and execution control method and execution control program product | |
US10628056B2 (en) | Information processing apparatus and shared memory management method | |
US20240289150A1 (en) | Secure management of device control information in confidential computing environments | |
WO2024078159A1 (zh) | 完整性度量方法及装置 | |
US20240220298A1 (en) | Life cycle management for device input/output interfaces in virtualized environments | |
US20240220429A1 (en) | Secure direct memory access | |
JP5324676B2 (ja) | プロセッサ、バスインターフェース装置、およびコンピュータシステム | |
JP5380392B2 (ja) | 半導体装置、バスインターフェース装置、およびコンピュータシステム | |
CN117730312A (zh) | 用于对tdx-io的基于角色的寄存器保护的装置和方法 |