CN101196974B - 用于软件应用程序的自动配置的方法和系统 - Google Patents

用于软件应用程序的自动配置的方法和系统 Download PDF

Info

Publication number
CN101196974B
CN101196974B CN2007101868098A CN200710186809A CN101196974B CN 101196974 B CN101196974 B CN 101196974B CN 2007101868098 A CN2007101868098 A CN 2007101868098A CN 200710186809 A CN200710186809 A CN 200710186809A CN 101196974 B CN101196974 B CN 101196974B
Authority
CN
China
Prior art keywords
authority
software application
configuration feature
log record
configuration
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.)
Expired - Fee Related
Application number
CN2007101868098A
Other languages
English (en)
Other versions
CN101196974A (zh
Inventor
盖塔诺·费拉里
曼纽拉·巴萨尼
克劳迪奥·摩吉亚
马科·塞奇
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101196974A publication Critical patent/CN101196974A/zh
Application granted granted Critical
Publication of CN101196974B publication Critical patent/CN101196974B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

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 (10)

1.一种用于配置软件应用程序的方法(403-460),该方法包括以下步骤:
在数据处理系统上运行(406)软件应用程序,
调用(409)软件应用程序的多个操作,每个操作的执行需要软件应用程序的配置特征,
响应于操作调用受限于安全约束的Java API,验证(413-430)每个操作的配置特征的可用性,并根据验证结果授权要求的权限或拒绝要求的权限,
日志记录(436)每个不可用配置特征的指示,
模拟每个不可用配置特征的可用性,以便能够执行相应操作,
执行(445)每个操作,以及
根据日志记录的不可用配置特征,配置(451-454)软件应用程序,其中所述配置软件应用程序包括:确定任何新的代码源和先前存在的代码源的任何新的权限,并更新(454)安全结构,
其中每个配置特征包括用于执行相应操作的权限的指示,
其中验证步骤(413-430)包括验证该权限以执行每个操作,其中响应于每个权限的否定,日志记录步骤(436)包括日志记录被拒绝权限的指示,以及其中模拟步骤(439)包括响应于该权限的否定,强制授权每个权限。
2.根据权利要求1所述的方法(403-460),其中更新安全结构的步骤(454)包括:
添加(454)日志记录的被拒绝的权限到安全结构。
3.根据权利要求1或2所述的方法(403-460),其中软件应用程序是Java应用程序,且安全结构是策略文件。
4.根据权利要求1或2所述的方法(403-460),其中通过安全模块授权或拒绝权限,验证步骤(413-430)包括:
将用于验证权限以执行每个操作的请求提交(413)到打包安全模块的辅助模块,
将来自辅助模块的请求转发(415)到安全模块,以及
将指示权限的授权或拒绝的响应从安全模块返回(418-430)到辅助模块,日志记录(436)和模拟(439)步骤在辅助模块的控制下执行。
5.根据权利要求1所述的方法(403-460),其中运行(406)、提交(409)、验证(413-430)、日志记录(436)、模拟(439)和配置(451-454)步骤在测试环境中执行,该方法还包括以下步骤:
在生产环境中,部署(457)配置的软件应用程序。
6.一种用于配置软件应用程序的系统,包括:
用于在数据处理系统上运行软件应用程序的装置,
用于调用软件应用程序的多个操作的装置,每个操作的执行需要软件应用程序的配置特征,
用于响应于操作调用受限于安全约束的Java API,验证每个操作的配置特征的可用性并根据验证结果授权要求的权限或拒绝要求的权限的装置,
用于日志记录每个不可用配置特征的指示的装置,
用于模拟每个不可用配置特征的可用性,以便能够执行相应操作的装置,
用于执行每个操作的装置,以及
用于根据日志记录的不可用配置特征,配置软件应用程序的装置,该装置进一步包括:配置为确定任何新的代码源和先前存在的代码源的任何新的权限,并更新(454)安全结构的装置。
其中每个配置特征包括用于执行相应操作的权限的指示。
其中用于验证每个操作的配置特征的可用性的装置包括:
用于验证该权限以执行每个操作的装置;
其中用于日志记录每个不可用配置特征的指示的装置包括:
用于响应于每个权限的否定,日志记录被拒绝权限的指示的装置;和
其中用于模拟每个不可用配置特征的可用性,以便能够执行相应操作的装置包括:
用于响应于该权限的否定,强制授权每个权限的装置。
7.根据权利要求6所述的系统,其中用于根据日志记录的被拒绝权限,更新安全结构的装置包括:
用于添加日志记录的被拒绝的权限到安全结构的装置。
8.根据权利要求6或7所述的系统,其中软件应用程序是Java应用程序,且安全结构是策略文件。
9.根据权利要求6或7所述的系统,其中通过安全模块授权或拒绝权限,用于验证每个操作的配置特征的可用性的装置包括:
用于将用于验证权限以执行每个操作的请求提交到打包安全模块的辅助模块的装置,
用于将来自辅助模块的请求转发到安全模块的装置,以及
用于将指示权限的授权或拒绝的响应从安全模块返回到辅助模块,日志记录和模拟装置在辅助模块的控制下执行的装置。
10.根据权利要求6所述的系统,其中用于在数据处理系统上运行软件应用程序的装置,用于调用软件应用程序的多个操作的装置,每个操作的执行需要软件应用程序的配置特征,用于验证每个操作的配置特征的可用性的装置,用于日志记录每个不可用配置特征的指示的装置,用于模拟每个不可用配置特征的可用性以便能够执行相应操作的装置,和用于根据日志记录的不可用配置特征配置软件应用程序的装置在测试环境中执行,该系统还包括以下装置:
用于在生产环境中,部署配置的软件应用程序的装置。
CN2007101868098A 2006-12-06 2007-11-14 用于软件应用程序的自动配置的方法和系统 Expired - Fee Related CN101196974B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06125520 2006-12-06
EP06125520.4 2006-12-08

Publications (2)

Publication Number Publication Date
CN101196974A CN101196974A (zh) 2008-06-11
CN101196974B true 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)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
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
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
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
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9471775B1 (en) * 2015-02-04 2016-10-18 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
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
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
US10181036B2 (en) * 2015-06-24 2019-01-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Automatic discovery and installation of secure boot certificates
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
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
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
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
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
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
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10360135B2 (en) 2016-03-31 2019-07-23 Microsoft Technology Licensing, Llc Privilege test and monitoring
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 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
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to 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
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
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution 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
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of 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
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
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
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
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
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
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing 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
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
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
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for 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
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
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

Citations (2)

* Cited by examiner, † Cited by third party
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
CN1647029A (zh) * 2002-04-03 2005-07-27 株式会社Ntt都科摩 传送方法、传送系统和终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076804B2 (en) * 2001-05-11 2006-07-11 International Business Machines Corporation Automated program resource identification and association
US7389495B2 (en) * 2003-05-30 2008-06-17 Sun Microsystems, Inc. Framework to facilitate Java testing in a security constrained environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
CN1647029A (zh) * 2002-04-03 2005-07-27 株式会社Ntt都科摩 传送方法、传送系统和终端设备

Also Published As

Publication number Publication date
CN101196974A (zh) 2008-06-11
US8024564B2 (en) 2011-09-20
US20080250493A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
CN101196974B (zh) 用于软件应用程序的自动配置的方法和系统
US8909940B2 (en) Extensible pre-boot authentication
US5832483A (en) Distributed control interface for managing the interoperability and concurrency of agents and resources in a real-time environment
CN105022954B (zh) 飞腾cpu上三态操作系统安全内核服务动态运行方法
US7921298B2 (en) Uniform modular framework for a host computer system
EP2302549B1 (en) Platform security apparatus and method thereof
US8001596B2 (en) Software protection injection at load time
US8375458B2 (en) System and method for authenticating code executing on computer system
CN110661831B (zh) 一种基于可信第三方的大数据试验场安全初始化方法
EP0828208A2 (en) Application certification for an international cryptography framework
CN108289098B (zh) 分布式文件系统的权限管理方法和装置、服务器、介质
JPH10313309A (ja) 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置
CN110383240B (zh) 用于容器化的安全计算资源的方法和装置
CN102034052A (zh) 基于三权分立的操作系统体系结构及实现方法
CN107292176A (zh) 用于访问计算设备的可信平台模块的方法和系统
US20090119772A1 (en) Secure file access
CN101542435B (zh) 管理非同时用户界面模块的增强型用户界面管理器及方法
EP3163489A1 (en) Token-based control of software installation and operation
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
US8176567B2 (en) Apparatus and method to limit access to selected sub-program in a software system
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

Granted publication date: 20110824

Termination date: 20181114

CF01 Termination of patent right due to non-payment of annual fee