【24h】

Architectures for Practical Security

机译:实际安全的架构

获取原文

摘要

Few of the system architectures for security proposed for the past four decades (e.g., fine-grain domains of protection, virtual machines) have made a significant difference on client-side security. In this presentation, I examine some of the reasons for this and some of the lessons learned to date. Focus on client-side security is warranted primarily because it is substantially more difficult to achieve than server security in practice, since clients interact with human users directly. I argue that system and application partitioning to meet user security needs is now feasible, and that special focus must be placed on how to design and implement trustworthy communication, not merely secure channels, between system partitions. Two forms of partitioning system and network components are described. The first, which is inspired by Lampson's Red/Green separation idea [1], partitions system resources instead of "virtualizing" them, and switches between partitions only under (human) user control exercised via a trusted path. Neither operating systems nor applications can escape their partition or transfer control to other partitions behind the user's back [2] as a consequence of malware or insider attacks. Trustworthy communication among system and network partitions, which can be established only via network communication, goes beyond firewalls, guards and filters. The extent to which one partition accepts input from or outputs to another depends on the accountability of, and trust established with, the input provider and output receiver. It also depends on input-rate throttling and output propagation control, which often require establishing some degree of control over remote communication end points. The second form of partitioning separates programmer-selected, security-sensitive code blocks from untrusted operating system code, applications and devices, and provides strong guarantees of data secrecy and integrity, as well as execution integrity, to an external entity via attestation [3]. Again, the key criterion for the separation and isolation of sensitive code partitions from untrusted code is the ability to establish trustworthy communication between security-sensitive and untrusted code; e.g., the security-sensitive code accepts only input whose validity it can verify in its own partition, and provides output only in areas that are legitimately accessible to untrusted code. The design of security-sensitive code partitions relies on source code analysis for modularity, where module input/output control -- not just security-policy isolation and code size minimization -- is a property of interest. Several applications of security-sensitive code isolation are illustrated.
机译:在过去的四十年(例如,保护的精细谷物域,虚拟机)上提出的安全系统架构少数对客户端安全性有显着差异。在这个演示中,我检查了一些原因和迄今为止学到的一些经验教训。专注于客户端安全性,主要是因为在实践中,它比服务器安全性大幅难以实现,因为客户直接与人类用户互动。我认为系统和应用程序分区以满足用户安全性需求现在是可行的,并且必须将特殊焦点放在系统分区之间的设计和实现值得信赖的通信,而不是仅仅是安全频道。描述了两种形式的分区系统和网络组件。首先由Lampson的红色/绿色分离思路[1]启发,分区系统资源而不是“虚拟化”它们,并且仅在通过可信路径执行的(人类)用户控制下的分区之间切换。由于恶意软件或内幕攻击,操作系统和应用程序都无法将其分区或将其分区转移到其他分区[2]。系统和网络分区之间的值得信赖的沟通,只能通过网络通信建立,超越防火墙,防护和过滤器。一个分区接受从输入或输出到另一个分区的程度取决于与输入提供商和输出接收器建立的问责制和信任。它还取决于输入速率限制和输出传播控制,这通常需要在远程通信端点上建立一定程度的控制。分区的第二种形式分隔由不可信的操作系统代码,应用程序和设备的程序员选择的安全敏感的代码块分离,并通过证明提供了强烈的数据保密和完整性,以及执行完整性,以及通过证明对外部实体[3] 。同样,从不受信任的代码分离和隔离敏感代码分区的关键标准是能够在安全敏感和不受信任的代码之间建立可靠的通信;例如,安全敏感代码只接受其有效性它可以在自己的分区中验证的输入,并仅在合法地访问不受信任代码的区域中提供输出。安全敏感的代码分区设计依赖于模块化的源代码分析,其中模块输入/输出控制 - 不仅仅是安全策略隔离和代码大小最小化 - 是一个感兴趣的属性。说明了一些安全敏感码隔离的应用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号