Title
Hardening Java’s Access Control by Abolishing Implicit Privilege Elevation
Abstract
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.
Year
DOI
Venue
2017
10.1109/SP.2017.16
2017 IEEE Symposium on Security and Privacy (SP)
Keywords
Field
DocType
Access control and authorization,application security,attacks and defenses
Scala,Java annotation,Computer science,Computer security,Java concurrency,Real time Java,Java API for XML-based RPC,strictfp,Java applet,Java
Conference
ISSN
ISBN
Citations 
1081-6011
978-1-5090-5534-0
1
PageRank 
References 
Authors
0.35
20
5
Name
Order
Citations
PageRank
Philipp Holzinger1101.25
Ben Hermann2469.58
Johannes Lerch3493.43
Eric Bodden42017107.73
Mira Mezini53171211.04