TWI554879B - 提供安全邊界 - Google Patents

提供安全邊界 Download PDF

Info

Publication number
TWI554879B
TWI554879B TW100141289A TW100141289A TWI554879B TW I554879 B TWI554879 B TW I554879B TW 100141289 A TW100141289 A TW 100141289A TW 100141289 A TW100141289 A TW 100141289A TW I554879 B TWI554879 B TW I554879B
Authority
TW
Taiwan
Prior art keywords
application
computer
security monitor
system resources
security
Prior art date
Application number
TW100141289A
Other languages
English (en)
Other versions
TW201227285A (en
Inventor
瑞利爾森克利斯多夫海利克
迪蘇札利迪尼皮瑞拉
安德森安琪拉梅禮
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201227285A publication Critical patent/TW201227285A/zh
Application granted granted Critical
Publication of TWI554879B publication Critical patent/TWI554879B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Description

提供安全邊界
本發明係關於提供安全邊界。
資料中心管理員面對在維護可接受的電源、硬體和空間要求的同時亦要滿足資料中心的資料要求的富有挑戰性的任務。通常,為了將支出最小化,管理員提高資料中心內的伺服器的應用密度。應用密度是一種對在單個實體電腦上執行的應用的數量的量度。藉由增加在每台實體電腦上執行的應用的數量,可將支援資料中心操作所需的伺服器的數量最小化。
為了提高資料中心內的應用密度,管理員亦可以利用虛擬機器(VMs)。虛擬機器可以藉由使多個虛擬機器能夠共享一台機器的實體資源來提高應用密度。然而,出於各種理由,在相同的VM內執行兩個不同的應用並不總是可能的。例如,由於安全考慮可能不期望兩個不同的應用在相同的VM內執行。作為另一個實例,在相同的VM上執行的兩個不同的應用在嘗試存取相同資源時可能衝突。
為了使兩個潛在衝突的應用能夠在相同的電腦上執行,為每個應用執行一個單獨的VM可能是有必要的。然而,由於與執行每個虛擬機器相關聯的授權成本,以此方式執行多個VM可能是昂貴的。另外,當在包括大量機器的環境中操作時,例如在雲環境中操作,執行多個VM的效能成本可能是顯著的。在資料中心內,每個VM通常被監控和管理。因此,操作資料中心的管理成本隨著VM的增加而提高,因為每個VM可能需要各種補丁或策略,以便以期望的方式來操作。
此處所呈現的本案正是對於該等和其他考慮事項而提出的。
此處揭示提供安全邊界的概念和技術。經由實施此處呈現的概念和技術,可以按照提供應用之間的安全邊界的方式在相同電腦上執行多個應用。以此方式,可在相同的實體或虛擬電腦上執行以其他方式是不期望或不可能的兩個或兩個以上應用。因此,此次揭示的技術可用於減少VM的數量,以及執行不相容或衝突應用所需的相關聯的授權費。
根據此處所呈現的一個態樣,安全監視器在學習模式中執行以監控由正在執行的應用所作出的應用程式編寫介面(API)調用,從而辨識該應用所使用的資源。安全監視器將每個所辨識的資源的可編輯虛擬存取控制列表(ACL)添加到安全監視器資料庫,該安全監視器資料庫可用於控制對每個所辨識的系統資源的存取,範圍從完全存取到禁止存取。一旦安全監視器已經辨識了API調用所存取的資源,則該安全監視器允許該API調用照常進行。
在操作實施模式中,安全監視器監控由正在執行的應用所作出的API調用,以決定該應用是否被授權存取系統資源。特定言之,當安全監視器處於實施模式時,安全監視器截取由應用作出的API調用。安全監視器隨後存取安全監視器資料庫以決定發出請求的應用是否被授權存取所請求的系統資源。若安全監視器決定該應用被授權存取所請求的系統資源,則允許該API調用照常繼續。若安全監視器決定該應用未被授權存取所請求的系統資源,則安全監視器拒絕應用對系統資源的存取。系統管理員可以編輯ACL以允許被拒絕的應用存取所請求的系統資源。
應當理解的是,此處揭示的實施例可與虛擬化應用、在硬體虛擬化環境中執行的非虛擬化應用、在非虛擬化環境中執行的非虛擬化應用,以及其他類型的應用結合使用。亦應當理解,上述標的亦可被實施為電腦控制的裝置、電腦程序、計算系統或諸如電腦可讀取儲存媒體等製品。經由閱讀下文的詳細描述並審閱相關聯的附圖,該等及各種其他特徵將變得顯而易見。
提供本發明內容以便以簡化的形式介紹將在以下具體實施方式中進一步描述的一些概念。本發明內容並不意欲辨識所主張標的的關鍵特徵或必要特徵,亦不意欲將本發明內容用來限制所主張標的的範疇。此外,所主張標的不限於解決在本發明的任一部分中提及的任何或所有缺點的實施例。
以下詳細描述涉及用於提供安全邊界的技術。如上文簡要地論述並以下更詳細地描述的,執行其中截取應用API調用的操作學習模式。在安全監視器資料庫中記錄辨識API調用的資料。在應用的執行時間,安全監視器在操作學習模式期間基於儲存在資料庫中的資料,允許應用存取資源。關於該等程序的其他細節將在以下參考圖1-6來提供。
儘管在結合電腦系統上的作業系統和應用程式的執行而執行的程式模組的一般上下文中呈現了此處描述的標的,但是本領域技藝人士將認識到,其他實施例可以結合其他類型的程式模組來執行。一般而言,程式模組包括執行特定任務或實施特定抽象資料類型的常式、程式、元件、資料結構和其他類型的結構。此外,本領域技藝人士將明白,可以利用其他電腦系統配置來實踐此處描述的標的,該等電腦系統配置包括掌上型設備、多處理器系統、基於微處理器的或可程式設計消費電子產品、小型電腦、大型電腦等等。
在下文的詳細描述中,將參考構成本發明的一部分的附圖,並且在附圖中作為說明圖示各特定實施例或實例。現在參考附圖(全部若干附圖中相同的元件符號表示相同的元件),將呈現用於提供安全邊界的計算系統、電腦可讀取儲存媒體和電腦實施的方法的各態樣。
圖1是圖示其中可實施此處所描述的標的的各態樣的合適的計算環境100的實例的電腦軟體架構圖。特定言之,圖1圖示用於實施硬體虛擬化計算環境的說明性軟體架構。如本領域已知的,虛擬化允許主機電腦在單個電腦上同時執行多個作業系統。作業系統的每個正在執行的實例通常被稱作為虛擬機器。
為了賦能虛擬機器的執行,可以執行軟體系統管理程序102以提供用於配置、執行並管理虛擬機器的操作的功能。系統管理程序102是在其執行時所基於的主機電腦的實體硬體106之上,並在一或多個作業系統108A-108C之下執行的軟體層。亦可以用硬體來實施系統管理程序102。
系統管理程序102提供被稱為分區的隔離執行環境。在圖1所示的實例中,作業系統108A和應用110A在第一分區中執行,作業系統108B和應用110B在第二分區中執行,並且作業系統108C和應用110C在第三分區中執行。系統管理程序102為每個分區提供其自身的虛擬硬體資源集104(例如,記憶體、設備,以及中央處理單元(「CPU」)週期)。系統管理程序102亦依須求控制並仲裁對底層硬體106的存取。
如將在以下更詳細描述的,系統管理程序102可以藉由為每個系統資源指派存取控制列表(ACL)以及基於包括允許使用系統資源的應用110的許可列表來指派使用每個系統資源的許可,來實施本文揭示的用於提供安全邊界的功能,以在相同分區內執行的應用110之間提供安全邊界。在其他實施例中,此處所呈現的功能可在作業系統108內實施,或者由安裝低級作業系統驅動程式以賦能此處所揭示的功能的應用程式來實施。就此而言,應當理解的是,圖1僅是說明性的,並且此處所呈現的實施例可在已經經由很多不同方式實施的很多不同類型的虛擬化環境中使用。例如,此處揭示的各實施例可與虛擬化應用、在硬體虛擬化環境中執行的非虛擬化應用、在非虛擬化環境中執行的非虛擬化應用,以及其他類型的應用結合使用。
圖2是圖示其中安全監視器206在操作學習模式(「學習模式」)中執行的軟體環境200的電腦軟體架構圖。在圖2所示的軟體環境200中,一或多個應用202在諸如伺服器電腦、標準桌上型或膝上型電腦,或平板電腦的電腦上執行。例如,應用202可包括人力資源(HR)應用、記帳應用、結構化查詢語言(SQL)伺服器等。
在執行期間,應用202可以發出一或多個應用程式編寫介面(API)調用,從而促進與其他程式通訊並存取系統資源。應當理解的是,如此處使用的,術語「系統資源」包括作業系統(OS)不以其他方式控制使用的存取的全部資源或物件。例如,系統資源可包括網路端點、網路埠、檔案、訊窗、使用者介面(UI)元素、註冊儲存體、開放資料庫連接性(ODBC)連接字串,以及其他類型的資源。
處於學習模式時,安全監視器206截取由應用202作出的API調用。此被示為圖2中的方塊204。回應於截取API調用,安全監視器206將一或多個可編輯的ACL與作為API調用的目標的系統資源相關聯。一或多個可編輯ACL可用於控制對系統資源的存取,範圍從完全存取系統資源到禁止存取。在一個實施例中,安全監視器206將一或多個ACL儲存在安全監視器資料庫208中。元資料可包括辨識應用202所請求的系統資源的資料,以及許可應用202存取該資源的指示。在ACL被儲存到安全監視器資料庫208之後,允許所截取的API調用照常繼續。此在圖2的方塊210中圖示。
如將在以下更詳細地描述的,安全監視器206在應用202的執行時間利用安全監視器資料庫208的內容來允許或拒絕對系統資源的存取。特定言之,安全監視器206將許可已經由上文描述的學習模式處理過的應用202存取資源的API調用。未在上文描述的學習模式中被處理的應用202存取資源的API調用將不被許可。就此而言,安全監視器206儲存在安全監視器資料庫208中的資料被用作白名單。管理員可以在學習模式發生之後藉由編輯白名單以添加或移除應用(例如,應用202)來允許或拒絕對系統資源的存取。因此,應當理解的是,儲存在以上描述的安全監視器資料庫208中的資料的類型僅是說明性的,並且安全監視器可以儲存其他類型的資料。
圖3是安全監視器206在操作實施模式(「實施模式」)中執行的電腦軟體環境300。環境300包括在相同的電腦上執行的應用302和應用304。儘管應用302和應用304在伺服器上執行,但該等應用可以發出一或多個API調用,從而促進與其他程式通訊以及存取系統資源。
在圖3所示的實例中,安全監視器206已在上文描述的學習模式中處理過應用302。然而,尚未在學習模式中執行應用304。因此,安全監視器資料庫208包括辨識由應用302作出的API調用的資料。安全監視器資料庫208不包括辨識由應用304作出的API調用的資料。
處於實施模式時,安全監視器206截取由應用302和應用304作出的API調用。此在圖3中由方塊306來表示。回應於截取API調用,安全監視器206存取安全監視器資料庫208的內容以決定是否應當許可該API調用。例如,在一個實施例中,安全監視器206存取在學習模式期間儲存的ACL和元資料,以決定是否應當許可由應用302和應用304作出的API調用。
由於應用302已在學習模式中被處理過,因此安全監視器206決定應用302被授權存取所請求的系統資源。由於應用302被授權存取系統資源,因此允許所截取的由應用302作出的API調用照常繼續。此在圖3的方塊312和314中圖示。由於應用304尚未在學習模式中被執行過,因此安全監視器206亦決定應用304不被授權存取系統資源。由於應用304未被授權存取系統資源,因此不許可所截取的由應用304作出的API調用繼續。
圖4是圖示常式400的流程圖,常式400圖示操作學習模式的安全監視器206的操作的各態樣。應該瞭解,此處參考圖4和其他附圖所描述的邏輯操作是(1)作為電腦實施的動作或在計算系統上執行的程式模組的序列及/或(2)作為計算系統內的互連機器邏輯電路或電路模組來實施的。取決於計算系統的效能及其他要求,可以選擇不同的實施。因此,此處描述的邏輯操作被不同地稱為狀態、操作、結構設備、動作或模組。該等操作、結構化設備、動作和模組可以用軟體、韌體、專用數位邏輯,以及其任何組合來實施。亦應該理解,可以執行比附圖中圖示並在此處描述的操作更多或更少的操作。該等操作亦可以按與此處所描述的不同的次序來執行。
常式400在操作402開始,其中管理員在學習模式中執行安全監視器206。一旦安全監視器206開始執行,常式400繼續至操作404,其中在電腦上執行的應用開始API調用。常式從操作404繼續至操作406。
在操作406,安全監視器206截取由一或多個應用開始的API調用。回應於截取API調用,常式400繼續至操作408,其中安全監視器206將作出該API調用的應用添加到與所請求的資源相關聯的ACL。亦可以許可管理員藉由修改ACL來指定應用可以存取資源。常式400從操作408繼續至操作410。
在操作410,將一或多個ACL儲存在安全監視器資料庫208中。一旦安全監視器206已經更新了安全監視器資料庫208,常式400繼續至操作412,在彼處允許所截取的API調用照常繼續。常式400從操作412繼續至操作414,在彼處結束。
圖5是圖示常式500的流程圖,常式500圖示在實施模式中操作的安全監視器206的操作的各態樣。常式500始於操作502,其中一或多個應用以上文描述的方式開始API調用。作為其回應,在操作504,安全監視器206截取由應用作出的API調用。
在操作506,安全監視器206存取安全監視器資料庫208。安全監視器206隨後使用儲存在安全監視器資料庫208中的資料來決定開始API調用的應用是否被授權存取所請求的系統資源。此在操作508處發生。
若安全監視器206決定一個應用被授權存取所請求的系統資源,則常式繼續至操作510,其中伺服器允許該API調用照常繼續。在操作512,許可應用302存取所請求的資源。常式500從操作512繼續至操作514,在彼處結束。
若在操作508,安全監視器206決定應用304未被授權存取所請求的系統資源,則常式繼續至操作520,其中伺服器阻止由應用304作出的API調用執行。常式500從操作520繼續至操作522,在彼處結束。
應當理解的是,安全監視器206可儲存與無效的API調用有關的資訊。可以經由合適的使用者介面向管理員提供該資訊。管理員可以使用該資料來決定是否應該允許作出無效的API調用的應用存取特定的系統資源。就此而言,管理員可以修改儲存在安全監視器資料庫208中的資料(例如,一ACL)以許可在未來執行期間由該應用作出的API調用的執行。
圖6圖示能夠執行此處所描述的用於提供安全邊界的軟體元件的電腦600的說明性電腦架構。如圖6所示的電腦架構顯示了一般桌上型、膝上型或伺服器電腦,並且可以用來執行此處所呈現的軟體元件的任何態樣。
圖6所示的電腦架構包括中央處理單元602(「CPU」)、包括隨機存取記憶體614(「RAM」)和唯讀記憶體(「ROM」)616的系統記憶體608,以及將記憶體耦合至CPU 602的系統匯流排604。基本輸入/輸出系統被儲存在ROM 616中,該系統包含幫助諸如在啟動期間在電腦600中的元件之間傳遞資訊的基本常式。電腦600進一步包括用於儲存作業系統618、應用程式和其他程式模組的大容量儲存設備610,此將在本文中更為詳盡地描述。
大容量儲存設備610經由連接至匯流排604的大容量儲存控制器(未圖示)連接到CPU 602。大容量儲存設備610及其相關聯的電腦可讀取媒體為電腦600提供非揮發性儲存器。儘管對此處包含的電腦可讀取媒體的描述提及了諸如硬碟或CD-ROM驅動器之類的大容量儲存設備,但是本領域的技藝人士應該明白,電腦可讀取媒體可以是可由電腦600存取的任何可用電腦儲存媒體。
舉例而言(但並非限制),電腦可讀取媒體可以包括以用於儲存諸如電腦可讀取指令、資料結構、程式模組之類的資訊或其他資料的任何方法或技術實施的揮發性和非揮發性、可移除和不可移除媒體。例如,電腦可讀取媒體包括但不限於,RAM、ROM、EPROM、EEPROM、快閃記憶體或其他固態記憶體技術、CD-ROM、數位多功能光碟(「DVD」)、HD-DVD、藍光(BLU-RAY)或其他光學儲存器、磁帶盒、磁帶、磁碟儲存器或其他磁性儲存設備,或可用於儲存所需資訊且可以由電腦600存取的任何其他媒體。
根據各實施例,電腦600可以使用經由諸如網路620之類的網路到遠端電腦的邏輯連接來在聯網環境中操作。電腦600可經由連接至匯流排604的網路介面單元606來連接到網路620。應當理解,網路介面單元606亦可以被用來連接到其他類型的網路和遠端電腦系統。電腦600亦可包括用於接收和處理來自多個其他設備的輸入的輸入/輸出控制器612,該等設備包括鍵盤、滑鼠或者電子觸控筆(未在圖6中圖示)。類似地,輸入/輸出控制器可以提供至顯示螢幕、印表機或其他類型的輸出設備(亦未在圖6中圖示)的輸出。
如前簡述的一般,多個程式模組和資料檔案可以儲存在電腦600的大容量儲存裝置610和RAM 614內,包括適於控制聯網的桌上型、膝上型或伺服器電腦的操作的作業系統618。大容量儲存設備610和RAM 614亦可儲存一或多個程式模組。特定言之,大容量儲存設備610和RAM 614可儲存系統管理程序102,應用202、302和304,安全監視器206,以及安全監視器資料庫208,其每一個皆在上文參考圖1-5詳細描述。大容量儲存設備610和RAM 614亦可儲存其他類型的程式模組和資料。
應當理解,本文所描述的軟體元件在被載入到CPU 602中並被執行時可以將CPU 602和整體電腦600從通用計算系統變換成為促進本文所提出的功能而定製的專用計算系統。CPU 602可以用任何數量的電晶體或其他個別的電路元件(其可以分別地或共同地假設任何數量的狀態)構建。更特定地,CPU 602可以回應於包含在本文所揭示的軟體模組中的可執行指令來作為有限狀態機進行操作。該等電腦可執行指令可以藉由指定CPU 602如何在各狀態之間轉換來變換CPU 602,由此變換了構成CPU 602的電晶體或其他個別硬體元件。
對本文所提出的軟體模組的編碼亦可變換本文所提出的電腦可讀取媒體的實體結構。在本說明書的不同的實施例中,實體結構的特定變換可取決於各種因素。該等因素的實例可包括但不限於:用於實施電腦可讀取媒體的技術、電腦可讀取媒體是被表徵為主要儲存器還是次要儲存器等等。例如,若電腦可讀取媒體被實施為基於半導體的記憶體,則本文所揭示的軟體可以藉由變換半導體記憶體的實體狀態而在電腦可讀取媒體上編碼。例如,軟體可以變換構成半導體記憶體的電晶體、電容器或其他個別電路元件的狀態。軟體亦可變換該等元件的實體狀態以在其上儲存資料。
作為另一實例,本文所揭示的電腦可讀取媒體可以使用磁性或光學技術來實施。在該等實施例中,本文所提出的軟體可以在磁性或光學媒體中編碼了軟體時變換該磁性或光學媒體的實體狀態。該等變換可以包括改變給定磁性媒體內的特定位置的磁性。該等變換亦可以包括改變給定光學媒體內的特定位置的實體特徵或特性,以改變該等位置的光學特性。在沒有偏離本說明書的範疇和精神的情況下,實體媒體的其他轉換亦是可能的,先前提供的實例只是為了促進此論述。
鑒於以上內容,應當理解,在電腦600中發生許多類型的實體變換來儲存並執行本文所提出的軟體元件。亦應當理解,電腦600可包括其他類型的計算設備,包括掌上型電腦、嵌入式電腦系統、個人數位助理,以及本領域技藝人士已知的其他類型的計算設備。亦可構想電腦600可以不包括圖6所示的全部元件,可以包括未在圖6中明確圖示的其他元件,或者可利用完全不同於圖6所示的架構。
基於上文,應當理解的是,此處提供了用於提供安全邊界的技術。儘管用對電腦結構特徵、方法和變換動作、特定計算機器和電腦可讀取媒體專用的語言描述了本文所提出的標的,但可以理解,所附申請專利範圍中定義的本發明不必限於本文述及之特定特徵、動作或媒體。相反,該等特定特徵、動作和媒體是作為實施請求項的示例性形式來揭示的。
上述標的僅作為說明提供,並且不應被解釋為限制。可對此處述及之標的作出各種修改和改變,而不必遵循所示和述及之示例性實施例和應用,且不必背離以下所附申請專利範圍中述及之本發明的真正精神和範疇。
100...計算環境
102...系統管理程序
104...虛擬硬體資源集
106...底層硬體
108A...作業系統
108B...作業系統
108C...作業系統
110A...應用
110B...應用
110C...應用
200...軟體環境
202...應用
204...方塊
206...安全監視器
208...安全監視器資料庫
210...方塊
300...電腦軟體環境
302...應用
304...應用
306...方塊
312...方塊
314...方塊
400...常式
402...操作
404...操作
406...操作
408...操作
410...操作
412...操作
414...操作
500...常式
502...操作
504...操作
506...操作
508...操作
510...操作
512...操作
514...操作
520...操作
522...操作
600...電腦
602...中央處理單元
604...系統匯流排
606...網路介面單元
608...系統記憶體
610...大容量儲存設備
612...輸入/輸出控制器
614...隨機存取記憶體(RAM)
616...唯讀記憶體(ROM)
618...作業系統
620...網路
圖1是圖示其中可實施此處所揭示的標的的各態樣的合適的計算環境的實例的電腦軟體架構圖;
圖2是圖示在此處提供的學習模式中操作的用於根據此處所呈現的各種實施例提供安全邊界的安全監視器的各態樣的電腦軟體架構圖;
圖3是圖示根據此處所呈現的各種實施例在執行時的實施模式中操作的安全監視器的各態樣的電腦軟體架構圖;
圖4是圖示用於在安全監視器處於學習模式時監控系統資源存取的此處提供的一個說明性常式的各態樣的流程圖;
圖5是圖示用於安全監視器在實施模式中操作時監控系統資源存取的此處提供的一個說明性常式的各態樣的流程圖;及
圖6是圖示能夠實施本文所呈現的實施例的各態樣的計算系統的說明性電腦硬體和軟體架構的電腦架構圖。
300...電腦軟體環境
302...應用
304...應用
306...方塊
312...方塊
314...方塊

Claims (16)

  1. 一種用於提供一安全邊界的電腦實施方法,該電腦實施方法包括以下步驟:執行用於進行以下操作之電腦實施操作:執行一安全監視器於一操作學習模式中,其中該安全監視器執行以下操作:經由該安全監視器截取由一應用發出的用於存取一或多個系統資源的一或多個應用程式編寫介面(API)調用,將資料儲存在與存取該等系統資源相關聯的一安全監視器資料庫中,將一或多個存取控制列表(ACLs)與該應用於截取該等API調用時所請求使用的該等系統資源相關聯,及以一或多個ACL載入該安全監視器資料庫,及執行該安全監視器於一操作實施模式中,其中該安全監視器執行以下操作:經由該安全監視器在該應用的一執行時間決定發出該一或多個API調用的該應用是否被授權存取該等系統資源,當與該應用相關聯的資料位於該安全監視器資料庫中時,允許該應用存取該等系統資源,及當與該應用相關聯的資料不在該安全監視器資料 庫中時,阻止該應用存取該等系統資源。
  2. 如請求項1之電腦實施方法,進一步包括以下步驟:向一管理員提供與被阻止存取該等系統資源的該應用有關的資料。
  3. 如請求項1之電腦實施方法,其中該應用是一虛擬應用。
  4. 如請求項3之電腦實施方法,其中該虛擬應用在一單個實體機器上執行,其他虛擬應用亦在該實體機器上執行。
  5. 如請求項4之電腦實施方法,其中在一分區內執行該虛擬應用和其他虛擬應用。
  6. 如請求項1之電腦實施方法,其中該系統資源包括一通訊埠、一註冊儲存體(registry)、一開放資料庫連接性連接字串,或一端點之至少一者。
  7. 一種其上儲存有電腦可讀取指令的電腦可讀取儲存媒體,由一電腦執行該等指令時該等指令使該電腦執行以下動作:執行一安全監視器於一操作學習模式中,其中當在該 操作學習模式中時,該安全監視器執行以下操作:經由一安全監視器截取由一應用發出的用於存取一或多個系統資源的一或多個應用程式編寫介面(API)調用,將與該等API調用有關的資料儲存在一安全監視器資料庫中,將一或多個存取控制列表(ACLs)與該應用於截取該等API調用時所請求使用的該等系統資源相關聯,及以一或多個ACL載入該安全監視器資料庫;執行該安全監視器於一操作實施模式中,其中當在該操作實施模式中時,該安全監視器執行以下操作:基於儲存在該安全監視器資料庫中的該資料,隔離一或多個其他應用,使其不能存取該等系統資源,當在該安全監視器資料庫中發現與該應用相關聯的資料時,允許該應用存取該等系統資源;及當未在該安全監視器資料庫中發現與該應用相關聯的資料時,阻止該應用存取該等系統資源。
  8. 如請求項7之電腦可讀取儲存媒體,其中其上儲存進一步的電腦可執行指令,當由該電腦執行該等電腦可執行指令時,該等電腦可執行指令使該電腦執行以下動作:在一虛擬層內提供一安全監視器;及將一或多個存取控制列表(ACLs)與該等系統資源相關聯。
  9. 如請求項7之電腦可讀取儲存媒體,進一步包括:向一管理員提供與被阻止存取該等系統資源的該應用有關的資料。
  10. 如請求項9之電腦可讀取儲存媒體,其中該管理員可允許被阻止存取該等系統資源的該應用對該等系統資源的存取。
  11. 如請求項7之電腦可讀取儲存媒體,其中該應用是一虛擬應用。
  12. 如請求項11之電腦可讀取儲存媒體,其中該虛擬應用在一單個實體機器上執行,其他虛擬應用亦在該實體機器上執行。
  13. 如請求項12之電腦可讀取儲存媒體,其中使用命名空間隱藏來使在該單個實體機器上執行的該等其他虛擬應用無法察覺該等系統資源。
  14. 如請求項13之電腦可讀取儲存媒體,其中該系統資源包括一通訊埠、一註冊儲存體(registry)、一開放資料庫連接性連接字串,或一端點之至少一者。
  15. 一種用於提供一安全邊界的電腦實施方法,該電腦實 施方法包括以下步驟:執行用於進行以下操作之電腦實施操作:執行一安全監視器於一操作學習模式中,在該操作學習模式中由一應用發出的、用於存取一系統資源的應用程式編寫介面(API)調用被截取,且與該系統資源相關聯的存取控制列表(ACLs)被儲存在一安全監視器資料庫中;及執行該安全監視器於一操作實施模式中,在該操作實施模式中由該應用發出的應用程式編寫介面(API)調用被截取,並決定與該應用相關聯的ACL是否儲存在該安全監視器資料庫中,其中當與該應用相關聯的該等ACL儲存在該安全監視器資料庫中時,該應用被授權存取系統資源,且當與該應用相關聯的該等ACL不儲存在該安全監視器資料庫中時,該應用未被授權存取系統資源。
  16. 如請求項15之電腦實施方法,其中該應用包括一虛擬應用,且其中該系統資源包括一通訊埠、一註冊儲存體(registry)、一開放資料庫連接性連接字串,或一端點之至少一者。
TW100141289A 2010-12-21 2011-11-11 提供安全邊界 TWI554879B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/973,907 US9003543B2 (en) 2010-12-21 2010-12-21 Providing a security boundary

Publications (2)

Publication Number Publication Date
TW201227285A TW201227285A (en) 2012-07-01
TWI554879B true TWI554879B (zh) 2016-10-21

Family

ID=46236300

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100141289A TWI554879B (zh) 2010-12-21 2011-11-11 提供安全邊界

Country Status (7)

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

Families Citing this family (25)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
TW561744B (en) * 1998-09-17 2003-11-11 Koninkl Philips Electronics Nv Distributed software controlled theft detection
US6711686B1 (en) * 1999-06-29 2004-03-23 Dell Usa L.P. Security management tool for managing security attributes in computer systems
US20100275025A1 (en) * 2007-02-02 2010-10-28 Steven William Parkinson Method and apparatus for secure communication

Family Cites Families (25)

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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
TW561744B (en) * 1998-09-17 2003-11-11 Koninkl Philips Electronics Nv Distributed software controlled theft detection
US6711686B1 (en) * 1999-06-29 2004-03-23 Dell Usa L.P. Security management tool for managing security attributes in computer systems
US20100275025A1 (en) * 2007-02-02 2010-10-28 Steven William Parkinson Method and apparatus for secure communication

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI554879B (zh) 提供安全邊界
US8560826B2 (en) Secure virtualization environment bootable from an external media device
US8397245B2 (en) Managing loading and unloading of shared kernel extensions in isolated virtual space
US8527989B2 (en) Tracking loading and unloading of kernel extensions in isolated virtual space
BR112016004493B1 (pt) Método, dispositivo de computação e meio de armazenamento legível por computador para imposição de integridade de código seletiva facilitada por gerenciador de máquina virtual
US9928010B2 (en) Methods and apparatus to re-direct detected access requests in a modularized virtualization topology using virtual hard disks
US9311475B2 (en) Trusted execution of binaries and modules
JP2014527674A (ja) システム管理要求のための仮想高特権モード
US20160378348A1 (en) Methods and apparatus to manage inter-virtual disk relations in a modularized virtualization topology using virtual hard disks
US9804789B2 (en) Methods and apparatus to apply a modularized virtualization topology using virtual hard disks
US20230067317A1 (en) Code update in system management mode
US10628489B2 (en) Controlling access to one or more datasets of an operating system in use
US20120011502A1 (en) Managing unique electronic identification for kernel extensions in isolated virtual space
US9971613B2 (en) Tag based permission system and method for virtualized environments
US9575658B2 (en) Collaborative release of a virtual disk
CN116069584A (zh) 将监控服务扩展到可信云运营商域中
US11449601B2 (en) Proof of code compliance and protected integrity using a trusted execution environment
US10126983B2 (en) Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks
US20160004444A1 (en) Method and apparatus for applying storage functionality to each subsidiary volume
US9239729B1 (en) Sidecar file framework for managing virtual disk plug-in data and metadata

Legal Events

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