首页> 外文OA文献 >A Capability-Based Module System for Authority Control
【2h】

A Capability-Based Module System for Authority Control

机译:一种基于能力的权限控制模块系统

摘要

The principle of least authority states that each component of the system should be given authority to access only the information and resources that it needs for its operation. This principle is fundamental to the secure design of software systems, as it helps to limit an applicationu27s attack surface and to isolate vulnerabilities and faults. Unfortunately, current programming languages do not provide adequate help in controlling the authority of application modules, an issue that is particularly acute in the case of untrusted third-party extensions.In this paper, we present a language design that facilitates controlling the authority granted to each application module. The key technical novelty of our approach is that modules are first-class, statically typed capabilities. First-class modules are essentially objects, and so we formalize our module system by translation into an object calculus and prove that the core calculus is type-safe and authority-safe. Unlike prior formalizations, our work defines authority non-transitively, allowing engineers to reason about software designs that use wrappers to provide an attenuated version of a more powerful capability.Our approach allows developers to determine a moduleu27s authority by examining the capabilities passed as module arguments when the module is created, or delegated to the module later during execution. The type system facilitates this by identifying which objects provide capabilities to sensitive resources, and by enabling security architects to examine the capabilities passed into and out of a module based only on the moduleu27s interface, without needing to examine the moduleu27s implementation code. An implementation of the module system and illustrative examples in the Wyvern programming language suggest that our approach can be a practical way to control module authority.
机译:最小权限原则指出,应该授予系统的每个组件仅访问其操作所需的信息和资源的权限。该原则是软件系统安全设计的基础,因为它有助于限制应用程序的攻击面并隔离漏洞和故障。不幸的是,当前的编程语言在控制应用程序模块的权限方面没有提供足够的帮助,在不受信任的第三方扩展的情况下,这一问题尤为突出。在本文中,我们提出了一种语言设计,它有助于控制授予给用户的权限。每个应用程序模块。我们方法的关键技术新颖性在于模块是一流的静态类型功能。一流的模块本质上是对象,因此我们通过转换为对象演算来形式化模块系统,并证明核心演算是类型安全和权限安全的。与先前的形式化不同,我们的工作以非过渡方式定义权限,使工程师可以推理使用包装程序的软件设计,以提供功能更强大的简化版本。我们的方法允许开发人员通过检查传递给用户的功能来确定模块的权限。创建模块时的模块参数,或稍后在执行期间委派给模块。类型系统通过识别哪些对象可以为敏感资源提供功能,并使安全架构师仅基于模块的接口即可检查传入和传出模块的功能,而无需检查模块的实现代码,从而简化了此过程。 。 Wyvern编程语言中模块系统的实现和说明性示例表明,我们的方法可以是控制模块权限的实用方法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号