首页> 外文学位 >On the Design, Implications, and Effects of Implementing Software Diversity for Security
【24h】

On the Design, Implications, and Effects of Implementing Software Diversity for Security

机译:关于实现软件多样性以实现安全性的设计,含义和效果

获取原文
获取原文并翻译 | 示例

摘要

Networked computers are running identical and equally vulnerable code, and are under constant attack from a variety of attackers. The prevalence of identical code creates a software monoculture, which encourages attackers. We counter the software monoculture with two methods.;First, we extend Salamat et al.'s multi-variant execution environment to work on 64-bit platforms. A multi-variant execution environment runs multiple versions of a program that are identical in functionality but differ their low-level implementation in parallel and checks for divergences. Central to the multi-variant execution idea is a monitor program, which performs the synchronization tasks while managing input and output. Attacks are detected when variants diverge in their system calls, which is a strong indicator of an attack. With this, we create a limited form of instruction set randomization and system call randomization. However, we developed a simplified heuristic for arrival times between variants.;Another addition to Salamat et al.'s environment enables it to synchronize variants at function call entry. This environment can detect attacks earlier than the original multi-variant execution environment by integrating a dynamic binary instrumentor. The instrumentor performs introspection into the variant that the monitor cannot do. Because of the added code of fine-grained monitoring, this environment uses heuristics to switch between two modes of operation.;Additionally, we examined the problems of creating variants for multi-variant execution environments. To that end, we have developed compiler techniques that generate semantically identical but functionally equivalent executables. Combining these techniques with an online software distribution marketplace---such as Apple's App Store or Google Play---makes it possible to distribute a unique executable to all users. Our compiler focuses on a particular class of code-reuse attacks, where attackers utilize the code already present in an executable and does so in a way that is transparent to both developers and users. These attacks require intimate knowledge of the internal layout of an executable and is only feasible on a wide scale because of the software monoculture. The compiler has several methods of diversifying software, which allow the user to customize the performance/security tradeoff. Our analysis shows that large-scale diversity is possible, with a reasonable performance overhead while also effectively thwarting code-reuse attacks. In addition, we have done case studies to measure the effects of the compiler's methods and examined many aspects of how these variants can be used.
机译:联网计算机运行相同且同样易受攻击的代码,并且受到各种攻击者的不断攻击。相同代码的盛行创建了软件单一文化,这鼓励了攻击者。我们用两种方法来应对软件单一文化。首先,我们将Salamat等人的多变量执行环境扩展为可在64位平台上工作。多元执行环境运行程序的多个版本,这些版本的功能相同,但并行执行不同的低级实现,并检查差异。监视程序是多变量执行概念的核心,它可以在管理输入和输出的同时执行同步任务。当变体在其系统调用中出现差异时,将检测到攻击,这是攻击的有力指示。这样,我们创建了指令集随机化和系统调用随机化的有限形式。但是,我们为变体之间的到达时间开发了一种简化的启发式方法。Salamat等人的环境的另一项新增功能使它可以在函数调用入口处同步变体。通过集成动态二进制工具,此环境可以比原始多变量执行环境更早地检测到攻击。仪器对监视器无法执行的变体进行自省。由于添加了细粒度监视的代码,因此该环境使用启发式方法在两种操作模式之间进行切换。此外,我们还研究了为多变量执行环境创建变量的问题。为此,我们开发了编译器技术,这些技术可生成语义上相同但功能上等效的可执行文件。将这些技术与在线软件发行市场(例如Apple的App Store或Google Play)结合使用,可以向所有用户分发唯一的可执行文件。我们的编译器专注于特定类型的代码重用攻击,其中攻击者利用可执行文件中已经存在的代码,并且这种方式对于开发人员和用户而言都是透明的。这些攻击需要对可执行文件的内部布局有深入的了解,并且由于软件单一文化而仅在大范围内可行。编译器具有多种使软件多样化的方法,这些方法允许用户自定义性能/安全性的权衡。我们的分析表明,大规模分集是可能的,具有合理的性能开销,同时也可以有效地阻止代码重用攻击。此外,我们进行了案例研究,以评估编译器方法的效果,并研究了如何使用这些变体的许多方面。

著录项

  • 作者

    Jackson, Todd Morris.;

  • 作者单位

    University of California, Irvine.;

  • 授予单位 University of California, Irvine.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2012
  • 页码 146 p.
  • 总页数 146
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号