CN101196974A - 用于软件应用程序的自动配置的方法和系统 - Google Patents
用于软件应用程序的自动配置的方法和系统 Download PDFInfo
- Publication number
- CN101196974A CN101196974A CNA2007101868098A CN200710186809A CN101196974A CN 101196974 A CN101196974 A CN 101196974A CN A2007101868098 A CNA2007101868098 A CN A2007101868098A CN 200710186809 A CN200710186809 A CN 200710186809A CN 101196974 A CN101196974 A CN 101196974A
- Authority
- CN
- China
- Prior art keywords
- authority
- software application
- configuration
- log record
- java application
- 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.)
- Granted
Links
Images
Classifications
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
提出了一种解决方案(300),用于在Java环境中自动地构成策略文件(320)。为此目的,为负责控制任何对受保护资源的访问的安全管理器(315)提供了打包器(325)。一般的Java应用程序(310)运行于测试环境中。每当必须对受保护资源执行特定操作时,Java应用程序提交相应的权限请求给打包器(A1)。该打包器将权限请求转发到安全管理器(A2),其验证策略文件(A3-A4)中要求的权限是否可用。打包器日志记录任何被拒绝的权限(A5);无论如何,打包器总是将要求的权限授权给Java应用程序(A6-A7),使得其操作能够继续而没有任何问题。在Java应用程序运行的最后,日志记录的丢失权限被添加到策略文件(A8)。
Description
技术领域
本发明涉及信息技术领域。更具体地,本发明涉及软件应用程序的配置。
背景技术
软件应用程序的配置是非常复杂的任务。典型的情况(scenario)是用于软件应用程序的正确操作的安全需求的定义。
例如,软件应用程序可用Java语言编写。Java应用程序运行于Java虚拟机(JVM)中,该虚拟机由提供独立于底层(硬件和软件)平台的运行时环境的抽象计算机器组成。这允许在任何类型的计算机(假设要求的JVM可用)上虚拟地运行Java应用程序。由于这个原因,Java应用程序在因特网中已经找到了广泛使用。每当Java应用程序必须对受保护资源执行特定操作(例如,读或写文件)时,必须为该操作授权相应权限。在Java环境中,所有可用的权限在称为策略文件(或更多)中定义。因此,当部署新的Java应用程序(或其新版本)时,有必要确保其正确操作要求的权限在策略文件中定义。
然而,策略文件的组成显然不平常。实际上,为了这个目的,操作者必须(根据相应的语法)为每个要求的权限将特定的条目添加到策略文件。
一些图形工具(如装载JSDK的“策略工具”)可用来便利编辑策略文件的任务,而不需要知道它的语法。
无论如何,这种任务实质上保留手动(然后强烈地依赖于操作者的技术并且倾向于错误)。
此外,非常难以(如果不是不可能的)先验地(a priori)识别Java应用程序要求的的所有权限。因此,可能发生一些权限丢失;这种情况下,当在运行时调用需要丢失权限的操作时,启动(throw)相应的异常。典型地,该异常到达执行栈的底部(因为它不能在Java应用程序自身内管理),因此,导致整个Java应用程序中的故障。然后,操作者必须停止该Java应用程序,将丢失权限添加到策略文件,然后重启Java应用程序。
然而,上述“反复试验(trial and error)”步骤非常耗时。此外,这对Java应用程序的可靠性具有有害作用。
US-B-6,526,513公开了用于动态管理权限的解决方案。这种情况下,当Java应用程序需要在策略文件中没有定义的权限时,在运行时提示用户授权或拒绝要求的权限;授权的或拒绝的权限还可以保存,以便遍及不同对话(session)生效。该引用文献在策略文件中还引入了拒绝权限的概念,以便允许授权权限给受保护资源的大量集合,除了它们的少数。
然而,提出的技术需要定制安全管理器的定义(代替用于在Java环境中管理权限的标准安全管理器)。无论如何,在策略文件中静态地定义大量权限的问题还没有解决(具有上面指出的缺点)。
发明内容
概括地说,本发明基于软件应用程序的自动配置的思想。
具体地,本发明提供了如在独立权利要求中提出的解决方案。在从属权利要求中描述了本发明的优选实施例。
更具体地,本发明的一方面提供了一种用于配置软件应用程序的方法。该方法从在数据处理系统上运行软件应用程序的步骤开始。该软件应用程序的多个操作被调用;每个操作的执行需要软件应用程序的配置特征。该方法通过验证用于每个操作的配置特征的可用性继续。每个不可用配置特征的指示日志记录。同时,模拟每个不可用配置特征的可用性,以便使能相应操作的执行。然后,执行每个操作。最后,该软件应用程序根据日志记录的不可用配置特征被配置。
优选地,提出的解决方案被应用于权限定义以执行要求的操作。
这种情形下,任何被拒绝的要求的权限被日志记录;同时,强制授权相同要求的权限。
例如,提出的解决方案可用于定义存储可用的权限的安全结构。
典型地,日志记录的被拒绝的权限然后添加到安全结构。
例如,设计的技术被用来构成用于Java应用程序的策略文件。
作为进一步改进,通过安全管理器的打包器获得该结果。
典型地,上述处理在测试环境中执行。
本发明的另一方面提出一种用于执行上述方法的计算机程序。
本发明的另一方面提出一种相应系统。
附图说明
参照以下详细的、要结合附图阅读的描述(给出完全作为非限制性指示),将最好地理解本发明自身及其进一步特征和优势,在附图中:
图1是数据处理系统的示意性方框图,在该数据处理系统中可应用根据本发明实施例的解决方案;
图2a-2b图示了根据本发明实施例的解决方案的示例性应用程序;
图3是表示实现根据本发明实施例的解决方案的不同组件的角色的合作图;以及
图4a-4b显示了描述涉及实现根据本发明实施例的解决方案的各活动流程的图。
具体实施方式
具体参照图1,图示了计算机100。例如,计算机100包括因特网中的服务器。服务器100为各客户端提供共享资源,各客户端通过电信网络(未在图中示出)访问它们;例如,服务器100运行一个或多个web应用程序(如用Java语言编写的)。
更具体地,服务器100由并联连接到系统总线105的几个单元形成。详细地,多个微处理器(μP)110控制服务器100的操作;RAM 115由微处理器110直接用作工作存储器,以及ROM 120存储用于服务器100的自举(bootstrap)的基本代码。几个外围单元(通过各自的接口)群集在局部总线130周围。详细地,大存储器由硬盘135的库和用于读取CD-ROM 145的驱动器140组成。此外,服务器100包括输入单元150(例如,键盘和鼠标)和输出单元155(例如,显示器和打印机)。网络适配器160用于将服务器100连入因特网。桥单元165将系统总线105与局部总线120接口。每个微处理器110和桥单元165能作为主代理操作,请求访问系统总线105来传送信息。仲裁器170管理互斥访问系统总线105的授权。
现在考虑图2a,上述服务器必须运行普通的软件应用程序205(由讨论的示例中的Java应用程序组成)。应用程序205可要求对受保护资源执行操作,如读或写文件、打开插口(socket)等(如由讨论的示例中的相应的JavaAPI的调用定义的)。为了这个目的,用于该操作的权限必须授予应用程序205。
用于所有受保护资源的可用权限(通常以Permi表示)存储在安全结构210(在Java应用程序的情况下由策略文件组成)中;安全结构210必须用应用程序205要求的所有权限来预定义,以允许它的正确操作。
如以下详细描述的,在根据本发明实施例的解决方案中,通过运行应用程序205(例如,在测试环境中)自动构成安全结构205。
简单地说,每当应用程序205需要对受保护资源执行特定操作时,相应的权限被要求。如果要求的权限在安全结构210中可用,则该权限照常授权给应用程序205。相反地,丢失的权限被添加到输出结构215(如日志文件);总之,所需权限被授权给应用程序205(在安全结构210中模拟它的可用性)。因此,在应用程序205运行的最后,输出结构210将包括所有丢失权限(通常以Permi’表示),其由应用程序205要求,但在安全结构210中不可用。
移到图2b,将输出结构215中的丢失权限Permi’添加到安全结构210。这样,安全结构210包括应用程序205要求的所有权限。因此,假定访问受保护资源的应用程序205的所有操作都被调用,安全结构210现在包括用于应用程序205正确操作要求的所有权限(或至少它们的大多数)。这样获得的具有安全结构210的应用程序205,现在能部署到生产环境用于它的实际使用。
提出的解决方案有力地便利安全结构210的定义。
具体地,构成安全结构210的任务目前(至少部分)是自动的;因此,得到的结果实质上独立于任何操作员的技巧,然后减少错误的倾向。
这样,可以确保确定安全结构210包括应用程序205要求的所有权限(或至少它们的大部分)。这有利地限制了运行时应用程序205的故障(由于丢失权限),以及操作者的介入来解决各问题。
所有上述内容显著地减少了配置应用程序205(用要求的安全结构210)、用于它的正确操作的整个处理的长度;此外,这对应用程序205的可靠性具有有益的影响。
现在参照附图3,运行在服务器上的主要软件部件以参考标记300表示为整体。当程序运行时,信息(程序和数据)典型地存储在硬盘上,并加载(至少部分地)到服务器的工作存储器中。程序最初从例如CD-ROM安装到硬盘上。具体地,该图描述了系统的静态结构(通过相应的各模块)和它的动态行为(通过一连串交换消息,每条消息表示以符号“A”开头的序列号表示的相应动作)。
具体地,操作系统303(如Linux)为服务器提供软件平台,在该系统之上能运行其它程序。具体地,Java运行时环境(JRE)305安装在操作系统303上。JRE 305定义用于运行Java应用程序310的标准平台。
JRE 305包括不同的模块,如JVM、Java核心类和支持文件(未在图中示出);更具体地参照涉及描述的本发明实施例的各模块,JRE 305包括负责控制对服务器受保护资源的任何访问的安全管理器315;具体地,安全管理器315从Java应用程序310接收对各权限(对受保护资源执行操作所需)的所有要求,并返回相应结果(即,授权或拒绝权限)。为此目的,安全管理器315加载策略文件320(或更多)的内容。根据默认,JRE 305包括单个系统范围的策略文件;可选地,用户策略文件也可动态地增加或指定。
策略文件320静态地定义所有可用于对受保护资源执行特定操作的权限。这样,只有在策略文件320中用于该操作的相应权限是可用的,才能执行每个操作(访问受保护资源);唯一的异常是每个Java应用程序310总是自动地授权从Java应用程序310的相同位置(即,它的URL)读取文件,而不需要任何明确的权限。
策略文件320可包括密钥存储(keystore)条目以及任意数目的授权条目。密钥存储条目(以关键词“密钥存储”开头)用来指定私有密钥、以及认证相应的公共密钥的相关联的数字证书的数据库,其被用于验证授权条目的签名者;数据库通过它的位置(即,URL)和它的类型(如“JKS”)来定义。当被它们的代码源(由类“代码源”的对象表示)识别时,每个授权条目(以关键词“授权”开头)替代指示一组对被授权给特定Java应用程序的受保护资源的操作。通过Java应用程序的位置(“代码基础(codeBase)”名称/值对)和/或通过它的签名者(“签名由(signedBy)”名称/值对),在授权条目中指定代码源;具体地,通过别名(或更多)识别签名者,用于存储在密钥存储条目的数据库中的证书(意味着在该证书中,Java应用程序的JAR文件必须用对应于公共密钥的私有密钥签名)。结果,可以授权权限给来自特定位置和/或由特定签名者签名的Java应用程序(当它们都没有被指定时,用授于每个人的权限)。于是,授权条目包括一个或多个权限条目(包围在“{”和“}”之间)。每个权限条目(以关键词“权限”开头)指定被授权的特定操作。为此目的,权限条目通过权限类(如I/O操作)、该操作的可能动作(如读取)、以及可选地权限类自身的签名者(“签名由”名称/值对),指示操作类型。
在根据本发明实施例的解决方案中,用于安全管理器315的打包器(wrapper)325被添加(在测试环境中)。打包器325遮蔽外界保护安全管理器315,从而用作安全管理器315和Java应用程序310之间的接口。在这种特定的上下文中,打包器325暴露与安全管理器315相同的接口(使得它的存在对于Java应用程序310完全不透明);因此,打包器325接收来自Java应用程序310的所有权限请求,并且返回相应的结果(代替安全管理器315)。
打包器325被用来自动地构成用于通常Java应用程序310的策略文件320。为此目的,运行Java应用程序310;每当必须对受保护资源执行特定操作时,Java应用程序310提交相应的权限请求给打包器325(动作“A1.提交”)。打包器325将该权限请求转发给安全管理器315(动作“A2.转发”)。安全管理器315验证要求的权限在策略文件320中是否可用(动作“A3.验证”);验证结果(即,授权或拒绝)由安全管理器315返回到打包器325(动作“A4.返回”)。如果要求的权限因为它在策略文件320中不可用而被拒绝,则打包器325将丢失的权限添加到日志文件330(动作“A5.添加”);同时,权限请求的响应被强制授权(动作“A6.授权”)。这样获得的对权限请求的响应,然后从打包器325返回到Java应用程序310(动作“A7.返回”);这样,Java应用程序310总是授权给要求的权限(通过安全管理器315或打包器325),使得其操作能继续而没有任何问题。在Java应用程序310运行的最后,比较工具335将丢失的权限(在日志文件330中)添加到策略文件320,以便(在生产环境中)包括Java应用程序310的正确操作要求的所有权限(或至少它们的大部分)。
这样,无需替代安全管理器315就达到期望的结果。实际上,提出的技术只需在测试环境中(用打包器325)打包安全管理器315,用于构成策略文件320;然而,一旦期望的策略文件320已经定义,(标准)安全管理器315(不用打包器325)能照常使用。
转到图4a-4b,用方法400表示了示例性处理的逻辑流程,其能够在上述系统中实现以定义用于一般Java应用程序的策略文件。
该方法从Java应用程序的浮动通路(swim-lane)中的启动块403开始。转到块406,Java应用程序开始。在该阶段,创建了要求的JVM,并且初始化相应的JRE。具体地,这包括类“策略”的对象的创建,该类执行对访问服务器的受保护资源的控制。在根据本发明实施例的解决方案中,该对象由依次创建实际的安全管理器的打包器组成。通常,安全管理器然后从策略文件中读取可用的权限(使得它们保持不变直到其重新加载或外在刷新);同时,安全管理器将类“保护域”的对象(如果它还不存在)关联到加载的Java应用程序的每个类,以便将授权权限与相应的代码源耦合,内核异常和信任类不需要任何明确权限。
Java应用程序的运行继续到块409。对于Java应用程序要求的每个操作,该方法然后在块412分支。如果操作调用受限于安全约束的Java API,则执行块413-442,然后活动流程传到块445;相反,(从块412)直接到达块445。
现在考虑块413,当Java应用程序需要对受保护资源执行操作时,相应的权限请求提交给打包器(通过用要求的权限作为自变量(argument)调用方法“获得权限”)。在块415,打包器将权限请求转发到安全管理器(通过对其调用相同方法)。
响应于此,安全管理器在块418验证要求的权限在策略文件中是否可用(如在与相应代码源相关联的对象中指示的)。然后,根据验证结果处理在块421分支。具体地,当来自该位置和/或由Java应用程序的签名者签名的代码源的授权条目存在时,安全管理器在块424授权要求的权限;该授权条目必须依次包括在权限请求中指定的操作类型的权限条目(具有操作的动作以及权限类的签名者的可能指示)。相反,在块427安全管理器拒绝要求的权限。在两种情况中,验证结果在块430返回给打包器;具体地,当要求的权限被授权时,安全管理器启动正常返回,否则启动异常。
现在回来参照打包器的浮动通路,活动流程根据权限请求的结果在块433分支。如果权限请求被拒绝,则该方法进行到块436;在该阶段中,丢失权限的授权条目(具有符合策略文件语法的相应权限条目的说明和Java应用程序源代码的说明)被添加到日志文件。同时,在块439,对权限请求的响应被强制授权。然后,处理转入块442中;当要求的权限被授权时,从块433也直接达到同样的目标。现在参照块442,打包器将这样获得的权限请求的响应(即,总是授权要求的权限)返回给Java应用程序。然后,在块445能够执行(与要求的权限相关联的)期望的操作。
现在在块448进行测试以确定Java应用程序的运行是否已完成。如果没有完成,则活动流程返回到块409以执行下一个操作。在Java应用程序运行的最后,在比较工具的浮动通路中处理继续到块451;在该阶段,将日志文件与策略文件比较,以确定任何新的代码源和先前存在的代码源的任何新的权限。然后,策略文件在块454相应地更新;这意味着添加之前不存在的任何新的代码源的权限的授权条目,以及在涉及先前存在的代码源的任何新的权限的各自授权条目中添加权限条目。这样获得的策略文件现在在块457能够(例如,由具有要求的授权的系统管理员)部署到生产环境(不用任何打包器),用于支持Java应用程序的正确操作。然后,处理在同心的白/黑停止圆环460处结束。
自然地,为了满足本地和特定的需求,本领域技术人员可以将许多修改和替代应用到上述解决方案。具体地,尽管本发明已经参照其(各)优选实施例用某种程度的细节描述,但是应当理解的是,各种形式和细节的省略、替代和变化以及其它实施例是可能的;此外,清楚地意谓结合本发明的任何公开的实施例描述的各特定元件和/或各方法步骤,可以并入任何其它实施例作为设计选择的一般主题。
更具体地,强调的是尽管提出的解决方案已经对定义软件应用程序的正确操作要求的权限问题重点描述,但这不可以以限定的方式解释;实际上,同样的技术还可用于将要求的资源(如登记条目、文件、端口等),更一般地添加到涉及软件应用程序配置的任何活动。
同样,相同构思还应用于软件应用程序的任何其它操作,该操作要求用于它们执行的特定配置特征(如特定路径或端口数的说明)。
此外,可以使用不同的解决方案用于截取软件应用程序操作的调用和/或用于模拟丢失配置特征的可用性(如,通过钩挂(hooking)技术)。
当然,根据提出的方法的结果,可以执行任何其它活动用于配置软件应用程序。例如,可以在运行时直接更新策略文件,可能用它的立刻刷新。
如果权限以不同的方式定义(例如,处于软件应用程序的当前用户的水平),则适用相似的考虑。
或者,可以实现用于授权/拒绝要求的权限的任何其它算法(例如,基于更复杂的安全策略)。
当权限存储在任何其它安全结构(如数据库)中时,本发明的构思也可适用。
无论如何,日志文件可以简单提供当前安全策略的间隔尺寸(granularity)程度的指示(用作用于改进可用权限的建议)。
即使在之前的描述中已经参照Java应用程序的策略文件,但这不要以限制方式解释;实际上,同样的技术可用于构成以任何其他语言编写的软件应用程序的等效的安全结构(或更一般地用于它们的配置)。
没有什么阻止以任何其它适于提供相同的效果的人工制品(artifact)来替代打包器;例如,可以添加专用的用户出口到安全管理器(其在测试环境中使能,并在生产环境中无效)。
无论如何,不排除在生产环境中直接应用相同的解决方案(例如,即使在软件应用程序部署之后也监视要求的权限)。
如果程序(其可用于实现本发明的每个实施例)以不同方式构造、或如果提供了另外的模块或功能,则适用相似的考虑;同样地,存储器结构可以是其它类型或可用等效实体替代(不必由物理存储介质组成)。此外,提出的解决方案有助于用等效方法实现(通过使用相似的步骤、移除一些不是基本的步骤、或添加另外的可选的步骤,甚至以不同顺序)。无论如何,该程序可采取适于由或结合任何数据处理系统使用的任何形式,如外部或驻留软件、固件或微代码(在对象代码中或在源代码中)。此外,可以在任何计算机可使用的介质上提供程序;该介质能够是适用于包括、存储、传达、传播或传送程序的任何元件。例如,该介质可以是电、磁、光、电磁、红外或半导体类型;该介质的示例是硬盘(其中程序能被预加载)、可移除盘、带、卡、线、光纤、无线连接、网络、广播波等。无论如何,根据本发明的解决方案有助于用硬件结构(例如,集成在半导体材料的芯片中)、或用软件和硬件的接合实现。
或者,提出的方法可以在具有不同架构或包括等效单元(如临时存储程序或其部分、以在执行期间减少对大存储器的访问的高速缓冲存储器)的服务器上执行;同样地,相同的解决方案也可适用于客户端、或单机计算机。更一般地,可以用任何代码执行实体(如PDA、移动电话等)来替代计算机。
Claims (9)
1.一种用于配置软件应用程序的方法(403-460),该方法包括以下步骤:
在数据处理系统上运行(406)软件应用程序,
调用(409)软件应用程序的多个操作,每个操作的执行需要软件应用程序的配置特征,
验证(413-430)每个操作的配置特征的可用性,
日志记录(436)每个不可用配置特征的指示,
模拟(439-442)每个不可用配置特征的可用性,以使能相应操作的执行,
执行(445)每个操作,以及
根据日志记录的不可用配置特征,配置(451-454)软件应用程序。
2.根据权利要求1所述的方法(403-460),其中每个配置特征包括用于执行相应操作的权限的指示。
3.根据权利要求2所述的方法(403-460),其中验证步骤(413-430)包括验证该权限以执行每个操作,其中响应于每个权限的否定,日志记录步骤(436)包括日志记录被拒绝权限的指示,以及其中模拟步骤(439)包括响应于该权限的否定,强制授权每个权限。
4.根据权利要求3所述的方法(403-460),其中可用的权限存储在安全结构中,配置步骤(451-454)包括:
根据日志记录的被拒绝权限,更新(454)安全结构。
5.根据权利要求4所述的方法(403-460),其中更新安全结构的步骤(454)包括:
添加(454)日志记录的被拒绝的权限到安全结构。
6.根据权利要求4或5所述的方法(403-460),其中软件应用程序是Java应用程序,且安全结构是策略文件。
7.根据权利要求2至6的任一所述的方法(403-460),其中通过安全模块授权或拒绝权限,验证步骤(413-430)包括:
将用于验证权限以执行每个操作的请求提交(413)到打包安全模块的辅助模块,
将来自辅助模块的请求转发(415)到安全模块,以及
将指示权限的授权或拒绝的响应从安全模块返回(418-430)到辅助模块,日志记录(436)和模拟(439)步骤在辅助模块的控制下执行。
8.根据权利要求1至7的任一所述的方法(403-460),其中运行(406)、提交(409)、验证(413-430)、日志记录(436)、模拟(439)和配置(451-454)步骤在测试环境中执行,该方法还包括以下步骤:
在生产环境中,部署(457)配置的软件应用程序。
9.一种系统(100),包括用于执行根据权利要求1至8的任一的方法(430-460)的各步骤的装置(300)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06125520 | 2006-12-06 | ||
EP06125520.4 | 2006-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101196974A true CN101196974A (zh) | 2008-06-11 |
CN101196974B CN101196974B (zh) | 2011-08-24 |
Family
ID=39547370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101868098A Expired - Fee Related CN101196974B (zh) | 2006-12-06 | 2007-11-14 | 用于软件应用程序的自动配置的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8024564B2 (zh) |
CN (1) | CN101196974B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293691A (zh) * | 2015-06-24 | 2017-01-04 | 联想企业解决方案(新加坡)有限公司 | 安全引导证书的自动发现和安装 |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381242B2 (en) * | 2010-07-20 | 2013-02-19 | International Business Machines Corporation | Static analysis for verification of software program access to secure resources for computer systems |
US8782638B2 (en) * | 2011-11-18 | 2014-07-15 | Compuware Corporation | Execution pathway for interfacing with legacy programs in a mainframe environment |
US9665465B1 (en) * | 2012-11-19 | 2017-05-30 | Amazon Technologies, Inc. | Automated determination of application permissions |
US9792459B2 (en) * | 2013-04-29 | 2017-10-17 | Sri International | Flexible policy arbitration control suite |
US20140373157A1 (en) | 2013-06-14 | 2014-12-18 | International Business Machines Corporation | After-the-Fact Configuration of Static Analysis Tools Able to Reduce User Burden |
US9639742B2 (en) | 2014-04-28 | 2017-05-02 | Microsoft Technology Licensing, Llc | Creation of representative content based on facial analysis |
US9773156B2 (en) | 2014-04-29 | 2017-09-26 | Microsoft Technology Licensing, Llc | Grouping and ranking images based on facial recognition data |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US10037202B2 (en) * | 2014-06-03 | 2018-07-31 | Microsoft Technology Licensing, Llc | Techniques to isolating a portion of an online computing service |
US9717006B2 (en) | 2014-06-23 | 2017-07-25 | Microsoft Technology Licensing, Llc | Device quarantine in a wireless network |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9471775B1 (en) * | 2015-02-04 | 2016-10-18 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9928108B1 (en) | 2015-09-29 | 2018-03-27 | Amazon Technologies, Inc. | Metaevent handling for on-demand code execution environments |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US9830449B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Execution locations for request-driven code |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811363B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US10360135B2 (en) | 2016-03-31 | 2019-07-23 | Microsoft Technology Licensing, Llc | Privilege test and monitoring |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9952896B2 (en) | 2016-06-28 | 2018-04-24 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9977691B2 (en) | 2016-06-29 | 2018-05-22 | Amazon Technologies, Inc. | Adjusting variable limit on concurrent code executions based on communication between frontends |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
CN106254310A (zh) * | 2016-07-14 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种网络进程权限的确定方法及装置 |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10803166B1 (en) * | 2018-01-03 | 2020-10-13 | Amazon Technologies, Inc. | Automated determination of application privileges |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US10853521B2 (en) | 2018-07-17 | 2020-12-01 | Cisco Technology, Inc. | Application security policy management agent |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11100238B2 (en) * | 2018-12-26 | 2021-08-24 | Dell Products L.P. | Systems and methods for generating policy coverage information for security-enhanced information handling systems |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US10871956B2 (en) | 2019-02-12 | 2020-12-22 | Open Text Corporation | Methods and systems for packaging and deployment of applications in a multitenant platform |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US20220027456A1 (en) * | 2020-07-22 | 2022-01-27 | Cisco Technology, Inc. | Rasp-based implementation using a security manager |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526513B1 (en) * | 1999-08-03 | 2003-02-25 | International Business Machines Corporation | Architecture for dynamic permissions in java |
US7076804B2 (en) * | 2001-05-11 | 2006-07-11 | International Business Machines Corporation | Automated program resource identification and association |
AU2003220927A1 (en) * | 2002-04-03 | 2003-10-13 | Ntt Docomo, Inc. | Distribution method, distribution system, and terminal device |
US7389495B2 (en) * | 2003-05-30 | 2008-06-17 | Sun Microsystems, Inc. | Framework to facilitate Java testing in a security constrained environment |
-
2007
- 2007-11-14 CN CN2007101868098A patent/CN101196974B/zh not_active Expired - Fee Related
- 2007-12-03 US US11/949,210 patent/US8024564B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293691A (zh) * | 2015-06-24 | 2017-01-04 | 联想企业解决方案(新加坡)有限公司 | 安全引导证书的自动发现和安装 |
CN106293691B (zh) * | 2015-06-24 | 2019-08-23 | 联想企业解决方案(新加坡)有限公司 | 用于提供数字证书的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US8024564B2 (en) | 2011-09-20 |
US20080250493A1 (en) | 2008-10-09 |
CN101196974B (zh) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196974B (zh) | 用于软件应用程序的自动配置的方法和系统 | |
US8909940B2 (en) | Extensible pre-boot authentication | |
CN105022954B (zh) | 飞腾cpu上三态操作系统安全内核服务动态运行方法 | |
US6148083A (en) | Application certification for an international cryptography framework | |
US5832483A (en) | Distributed control interface for managing the interoperability and concurrency of agents and resources in a real-time environment | |
US7921298B2 (en) | Uniform modular framework for a host computer system | |
EP2302549B1 (en) | Platform security apparatus and method thereof | |
US8375458B2 (en) | System and method for authenticating code executing on computer system | |
US8001596B2 (en) | Software protection injection at load time | |
CN110661831B (zh) | 一种基于可信第三方的大数据试验场安全初始化方法 | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
JPH10313309A (ja) | 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 | |
CN110383240B (zh) | 用于容器化的安全计算资源的方法和装置 | |
CN102034052A (zh) | 基于三权分立的操作系统体系结构及实现方法 | |
CN107292176A (zh) | 用于访问计算设备的可信平台模块的方法和系统 | |
US20090119772A1 (en) | Secure file access | |
CN101542435B (zh) | 管理非同时用户界面模块的增强型用户界面管理器及方法 | |
RU2359316C2 (ru) | Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему | |
CN117693737A (zh) | 为容器实例设立子目录和网络接口的过程的保护 | |
US20120254969A1 (en) | Systems and methods for implementing security services | |
CN110352411B (zh) | 用于控制对安全计算资源的访问的方法和装置 | |
US20070038572A1 (en) | Method, system and computer program for metering software usage | |
TW513670B (en) | Resource access control system | |
CN110852139B (zh) | 生物特征识别方法、装置、设备以及存储介质 | |
CN111817887A (zh) | 一种数据私有的SaaS系统及其工作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 Termination date: 20181114 |