CN102592077B - 提供安全边界的方法 - Google Patents

提供安全边界的方法 Download PDF

Info

Publication number
CN102592077B
CN102592077B CN201110430834.2A CN201110430834A CN102592077B CN 102592077 B CN102592077 B CN 102592077B CN 201110430834 A CN201110430834 A CN 201110430834A CN 102592077 B CN102592077 B CN 102592077B
Authority
CN
China
Prior art keywords
application
safety monitor
access
system resource
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110430834.2A
Other languages
English (en)
Other versions
CN102592077A (zh
Inventor
K·H·雷厄森
L·P·德索扎
A·M·安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
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 CN102592077A publication Critical patent/CN102592077A/zh
Application granted granted Critical
Publication of CN102592077B publication Critical patent/CN102592077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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)

Abstract

本发明涉及提供安全边界。为了使潜在冲突的应用在相同的计算机上执行,在应用尝试访问计算机系统的资源时截取应用编程接口(API)调用。在操作学习模式期间,安全监视器将标识允许哪些应用访问计算机系统资源的数据存储在安全监视器数据库中。在应用的运行时,安全监视器在实施模式中操作,并且利用安全监视器数据库的内容来确定是否许可应用访问系统资源。如果与应用相关联的数据位于安全监视器数据库中,则允许该应用访问计算机系统资源。如果与应用相关联的数据不位于安全监视器数据库中,则不允许该应用访问计算机系统资源。

Description

提供安全边界的方法
技术领域
本发明涉及提供安全边界,尤其是在数据中心中提供安全边界。 
背景技术
数据中心管理员面对在维护可接受的电源、硬件和空间要求的同时还要满足数据中心的数据要求的富有挑战性的任务。通常,为了将支出最小化,管理员提高数据中心内的服务器的应用密度。应用密度是一种对在单个物理计算机上执行的应用的数量的度量。通过增加在每台物理计算机上运行的应用的数量,可将支持数据中心操作所需的服务器的数量最小化。 
为了提高数据中心内的应用密度,管理员还可以利用虚拟机(VM)。虚拟机可以通过使多个虚拟机共享一台机器的物理资源来提高应用密度。然而,出于各种理由,在相同的VM内执行两个不同的应用并不总是可能的。例如,由于安全考虑可能不期望两个不同的应用在相同的VM内执行。作为另一个示例,在相同的VM上执行的两个不同的应用在尝试访问相同资源时可能冲突。 
为了使两个潜在冲突的应用在相同的计算机上执行,为每个应用执行一个单独的VM可能是有必要的。然而,由于与执行每个虚拟机相关联的许可成本,以此方式执行多个VM可能是昂贵的。另外,当在包括大量机器的环境中操作时,例如在云环境中操作,执行多个VM的性能成本可能是显著的。在数据中心内,每个VM通常被监控和管理。因此,操作数据中心的管理成本随着VM的增加而提高,因为每个VM可能需要各种补丁或策略,以便以期望的方式来操作。 
此处所做出的本公开正是对于这些和其他考虑事项而提出的。 
发明内容
此处公开了提供安全边界的概念和技术。通过实现此处呈现的概念和技术,可以按照提供应用之间的安全边界的方式在相同计算机上执行多个应用。以此方式,可在相同的物理或虚拟计算机上执行以其他方式是不期望或不可能的两个或多个应用。因此,此次公开的技术可用于减少VM的数量、以及执行不兼容或冲突应用所需的相关联的许可费。 
根据此处所呈现的一个方面,安全监视器在学习模式中执行以监控正在执行的应用所作出的应用编程接口(API)调用,从而标识该应用所使用的资源。安全监视器将每个所标识的资源的可编辑虚拟访问控制列表(ACL)添加到安全监视器数据库,该安全监视器数据库可用于控制对每个所标识的系统资源的访问,范围从完全访问到禁止访问。一旦安全监视器已经标识了API调用所访问的资源,该安全监视器允许该API调用照常继续。 
在操作实施模式中,安全监视器监控由正在执行的应用作出的API调用,以确定该应用是否被授权访问系统资源。具体而言,当安全监视器处于实施模式时,安全监视器截取由应用作出的API调用。安全监视器随后访问安全监视器数据库以确定发出请求的应用是否被授权访问所请求的系统资源。如果安全监视器确定该应用被授权访问所请求的系统资源,则允许该API调用照常继续。如果安全监视器确定该应用未被授权访问所请求的系统资源,则安全监视器拒绝应用对系统资源的访问。系统管理员可以编辑ACL以允许被拒绝的应用访问所请求的系统资源。 
应当理解的是,此处公开的实施例可与虚拟化应用、在硬件虚拟化环境中执行的非虚拟化应用、在非虚拟化环境中执行的非虚拟化应用、以及其它类型的应用结合使用。还应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。 
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。 
附图说明
图1是示出其中可实现此处所公开的主题的各方面的合适的计算环境的 示例的计算机软件体系结构图; 
图2是示出在此处提供的学习模式中操作的用于根据此处所呈现的各种实施例提供安全边界的安全监视器的各方面的计算机软件体系结构图; 
图3是示出根据此处所呈现的各种实施例在运行时的实施模式中操作的安全监视器的各方面的计算机软件体系结构图; 
图4是示出用于在安全监视器处于学习模式时监控系统资源访问的此处提供的一个说明性例程的各方面的流程图; 
图5是示出用于安全监视器在实施模式中操作时监控系统资源访问的此处提供的一个说明性例程的各方面的流程图;以及 
图6是示出能够实现本文所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。 
具体实施方式
以下具体实施方式涉及用于提供安全边界的技术。如上面简要地讨论并以下更详细地描述的,执行其中截取应用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可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU602可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU 602如何在各状态之间转换来变换CPU 602,由此变换了构成CPU 602的晶体管或其它分立硬件元件。 
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同的实现中,物理结构的具体变换可取决于各种因素。这些因素的示例包括但不限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主还是次级存储等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。 
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他转换也是可能的,前面提供的示例只是为了便于此讨论。 
鉴于以上内容,应当理解,在计算机600中发生许多类型的物理变换来存储并执行本文所提出的软件组件。还应当理解,计算机600可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可构想计算机600可以不包括图6所示的全部组件,可以包括未在图6中明确示出的其它组件,或者可利用完全不同于图6所示的体系结构。 
基于上文,应当理解的是,此处提供了用于提供安全边界的技术。尽管用 对计算机结构特征、方法和变换动作、特定计算机器和计算机可读介质专用的语言描述了本文所提出的主题,但可以理解,所附权利要求书中定义的本发明不必限于本文所述的具体特征、动作或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。 
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离以下所附权利要求书中所述的本发明的真正精神和范围。 

Claims (13)

1.一种计算机实现的用于提供安全边界的方法,所述计算机实现的方法包括执行计算机实现的操作,用于:
执行安全监视器;
经由所述安全监视器截取由应用发出的用于访问一个或多个系统资源的一个或多个应用编程接口调用;
将数据存储在与访问所述系统资源相关联的安全监视器数据库中;
经由所述安全监视器在所述应用的运行时确定发出所述一个或多个应用编程接口调用的所述应用是否被授权访问所述系统资源;
当与所述应用相关联的数据位于所述安全监视器数据库中时,允许所述应用访问所述系统资源;以及
当与所述应用相关联的数据不在所述安全监视器数据库中时,阻止所述应用访问所述系统资源。
2.如权利要求1所述的计算机实现的用于提供安全边界的方法,其特征在于,还包括向管理员提供与被阻止访问所述系统资源的所述应用有关的数据。
3.如权利要求1所述的计算机实现的用于提供安全边界的方法,其特征在于,还包括:
将一个或多个访问控制列表与被所述应用所请求使用的所述系统资源相关联;以及
将所述一个或多个访问控制列表存储在所述安全监视器数据库中。
4.如权利要求3所述的计算机实现的用于提供安全边界的方法,其特征在于,其中将一个或多个访问控制列表与被所述应用所请求使用的所述系统资源相关联、以及使用所述一个或多个访问控制列表来加载所述安全监视器数据库在所述安全监视器在学习模式中操作时发生。
5.如权利要求1所述的计算机实现的用于提供安全边界的方法,其特征在于,所述应用是虚拟应用。
6.如权利要求5所述的计算机实现的用于提供安全边界的方法,其特征在于,所述虚拟应用在单个物理机器上运行,其他虚拟应用在所述物理机器上运行。
7.如权利要求6所述的计算机实现的用于提供安全边界的方法,其特征在于,其中在一个分区内执行所述虚拟应用和其他虚拟应用。
8.如权利要求1所述的计算机实现的用于提供安全边界的方法,其特征在于,其中所述系统资源包括以下至少之一:通信端口、寄存器、开放数据库互连连接串、或端点。
9.一种用于提供安全边界的方法,包括:
经由安全监视器截取由一个应用发出的用于访问一个或多个系统资源的一个或多个应用程序接口调用;
将与应用编程接口调用有关的数据存储在安全监视器数据库中;
基于存储在所述安全监视器数据库中的所述数据,隔离一个或多个其他应用,使其不能访问所述系统资源;
当在所述安全监视器数据库中发现与所述应用相关联的数据时,允许所述应用访问所述系统资源;以及
当未在所述安全监视器数据库中发现与所述应用相关联的数据时,阻止所述应用访问所述系统资源。
10.如权利要求9所述的方法,其特征在于,还包括:
在虚拟层内提供安全监视器;以及
将一个或多个访问控制列表与所述系统资源相关联。
11.如权利要求9所述的方法,其特征在于,还包括向管理员提供与被阻止访问所述系统资源的所述应用有关的数据。
12.如权利要求11所述的方法,其特征在于,所述管理员可允许被阻止访问所述系统资源的所述应用对所述系统资源的访问。
13.如权利要求9所述的方法,其特征在于,所述应用是虚拟应用。
CN201110430834.2A 2010-12-21 2011-12-20 提供安全边界的方法 Active CN102592077B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN102592077A CN102592077A (zh) 2012-07-18
CN102592077B true CN102592077B (zh) 2014-11-19

Family

ID=46236300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110430834.2A Active CN102592077B (zh) 2010-12-21 2011-12-20 提供安全边界的方法

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
WO2012098554A1 (en) * 2011-01-17 2012-07-26 Infosys Technologies 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
JP5961164B2 (ja) * 2011-05-19 2016-08-02 日本放送協会 放送通信連携受信装置及びリソースアクセス制御プログラム
EP2724279A4 (en) * 2011-06-27 2015-07-01 Nokia Corp 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
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
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
CN102750493B (zh) * 2012-06-26 2016-01-06 华为终端有限公司 访问权限控制方法、装置及系统
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置
US8990942B2 (en) 2013-02-18 2015-03-24 Wipro Limited Methods and systems for API-level intrusion detection
CN104166820B (zh) * 2013-05-16 2017-09-29 北京畅游天下网络技术有限公司 一种数据管理方法和系统
CN103310149B (zh) * 2013-05-27 2018-06-26 华为终端(东莞)有限公司 系统功能调用的方法、装置及终端
US10216812B2 (en) 2013-10-30 2019-02-26 Hewlett Packard Enterprise Development Lp Application programmable 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 西安中兴新软件有限责任公司 一种信息安全管理方法和装置
JP6516870B2 (ja) 2016-02-09 2019-05-22 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft プログラム命令を安全に実行する方法及び該方法用プログラム
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816192A (zh) * 2005-02-04 2006-08-09 法国无线电话公司 用于应用的执行的安全管理的方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6970081B1 (en) * 1998-09-17 2005-11-29 Koninklijke Philips Electronics N.V. Distributed software controlled theft detection
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications 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
US6711686B1 (en) * 1999-06-29 2004-03-23 Dell Usa L.P. Security management tool for managing security attributes in computer systems
US7320141B2 (en) * 2001-03-21 2008-01-15 International Business Machines Corporation Method and system for server support for pluggable authorization systems
US7028305B2 (en) 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US7590743B2 (en) 2003-12-23 2009-09-15 Softricity, Inc. Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process
US7426661B2 (en) 2004-07-20 2008-09-16 Softricity, Inc. Method and system for minimizing loss in a computer application
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
JP4849941B2 (ja) * 2006-04-12 2012-01-11 株式会社エヌ・ティ・ティ・ドコモ ソフトウェア動作モデル化装置
JP2007286905A (ja) * 2006-04-17 2007-11-01 Nec System Technologies Ltd 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム
US20070294699A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
KR100843701B1 (ko) 2006-11-07 2008-07-04 소프트캠프(주) 콜 스택에 기록된 정보를 이용한 에이피아이 확인방법
JP4473256B2 (ja) * 2006-12-27 2010-06-02 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムによるリソースアクセスを制御するための情報処理装置、方法、及びプログラム
US8291227B2 (en) * 2007-02-02 2012-10-16 Red Hat, Inc. Method and apparatus for secure communication
JP2009048359A (ja) * 2007-08-17 2009-03-05 System Integrate Co Ltd 情報処理装置の監視・管理システム
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816192A (zh) * 2005-02-04 2006-08-09 法国无线电话公司 用于应用的执行的安全管理的方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102592077B (zh) 提供安全边界的方法
US9992074B2 (en) Granular permission assignment
CN102938039B (zh) 针对应用的选择性文件访问
CN102609279B (zh) 在受限应用执行环境中的应用执行
CN102112990B (zh) 为计算过程授予最小特权访问
US8689282B1 (en) Security policy enforcement framework for cloud-based information processing systems
CN101650660B (zh) 从中央存储装置引导计算机系统
CN112118224A (zh) 一种大数据区块链的可信机制权限管理方法和系统
CN104112089A (zh) 基于多策略融合的强制访问控制方法
US9928010B2 (en) Methods and apparatus to re-direct detected access requests in a modularized virtualization topology using virtual hard disks
CN110188574B (zh) 一种Docker容器的网页防篡改系统及其方法
US9934404B2 (en) Inter-process access control
CN107463369A (zh) 一种虚拟桌面的接入设备控制方法与装置
US11150816B2 (en) Immutable storage for cloud service providers
JPWO2012039053A1 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
US10628489B2 (en) Controlling access to one or more datasets of an operating system in use
WO2020011100A1 (zh) 密钥访问方法、密钥管理方法、存储介质及计算机设备
US20080134320A1 (en) Method for automatic role activation
CN113826072B (zh) 系统管理模式中的代码更新
CN110851802A (zh) 权限控制方法、装置、设备及计算机可读介质
US10684895B1 (en) Systems and methods for managing containerized applications in a flexible appliance platform
US9971613B2 (en) Tag based permission system and method for virtualized environments
CN112564979B (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN114756293A (zh) 业务处理方法、装置、计算机设备和存储介质
US10126983B2 (en) Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1172415

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172415

Country of ref document: HK