首页> 外文会议>IEEE Symposium on Security and Privacy >Hardening Java’s Access Control by Abolishing Implicit Privilege Elevation
【24h】

Hardening Java’s Access Control by Abolishing Implicit Privilege Elevation

机译:废除隐式特权提升以强化Java的访问控制

获取原文

摘要

While the Java runtime is installed on billions of devices and servers worldwide, it remains a primary attack vector for online criminals. As recent studies show, the majority of all exploited Java vulnerabilities comprise incorrect or insufficient implementations of access-control checks. This paper for the first time studies the problem in depth. As we find, attacks are enabled by shortcuts that short-circuit Java's general principle of stack-based access control. These shortcuts, originally introduced for ease of use and to improve performance, cause Java to elevate the privileges of code implicitly. As we show, this creates many pitfalls for software maintenance, making it all too easy for maintainers of the runtime to introduce blatant confused-deputy vulnerabilities even by just applying normally semantics-preserving refactorings. How can this problem be solved? Can one implement Java's access control without shortcuts, and if so, does this implementation remain usable and efficient? To answer those questions, we conducted a tool-assisted adaptation of the Java Class Library (JCL), avoiding (most) shortcuts and therefore moving to a fully explicit model of privilege elevation. As we show, the proposed changes significantly harden the JCL against attacks: they effectively hinder the introduction of new confused-deputy vulnerabilities in future library versions, and successfully restrict the capabilities of attackers when exploiting certain existing vulnerabilities. We discuss usability considerations, and through a set of large-scale experiments show that with current JVM technology such a faithful implementation of stack-based access control induces no observable performance loss.
机译:尽管Java运行时已安装在全球数十亿台设备和服务器上,但它仍然是在线犯罪分子的主要攻击手段。正如最近的研究表明,所有被利用的Java漏洞中的大多数都包含访问控制检查的不正确或不足的实现。本文首次对这一问题进行了深入研究。正如我们所发现的那样,攻击是通过使Java的基于堆栈的访问控制的一般原理短路的快捷方式来实现的。这些快捷方式最初是为易于使用和提高性能而引入的,它们使Java隐式提升了代码的特权。正如我们所展示的,这为软件维护带来了很多陷阱,即使仅应用通常保留语义的重构,运行时的维护者也很容易引入公然的混淆代理漏洞。如何解决这个问题?是否可以在没有快捷方式的情况下实现Java的访问控制?如果是,这种实现是否仍然可用且有效?为了回答这些问题,我们对Java类库(JCL)进行了工具辅助的改编,避免了(大多数)快捷方式,因此转向了完全明确的特权提升模型。正如我们所展示的那样,建议的更改极大地增强了JCL免受攻击的能力:它们有效地阻止了将来的库版本中引入新的代理代理漏洞,并在利用某些现有漏洞时成功地限制了攻击者的能力。我们讨论了可用性方面的考虑,并通过一组大规模实验表明,使用当前的JVM技术,基于堆栈的访问控制的这种忠实实现不会引起可观察到的性能损失。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号