Hardening Java']Java's Access Control by Abolishing Implicit Privilege Elevation

被引:8
|
作者
Holzinger, Philipp [1 ]
Hermann, Ben [2 ]
Lerch, Johannes [2 ]
Bodden, Eric [3 ,4 ]
Mezini, Mira [2 ]
机构
[1] Fraunhofer SIT, Darmstadt, Germany
[2] Tech Univ Darmstadt, Darmstadt, Germany
[3] Fraunhofer IEM, Paderborn, Germany
[4] Paderborn Univ, Paderborn, Germany
关键词
STACK INSPECTION;
D O I
10.1109/SP.2017.16
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:1027 / 1040
页数:14
相关论文
共 45 条
  • [21] Sam Dog: A Java']Java Sandbox Using a Cascading Access Control List Approach
    Teixeira, F. C.
    Santana, M. J.
    Santana, R. H. C.
    Bruschi, S. M.
    Estrella, J. C.
    2011 20TH IEEE INTERNATIONAL WORKSHOPS ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES (WETICE), 2011, : 134 - 136
  • [22] Using access control for secure information flow in a Java']Java-like language
    Banerjee, A
    Naumann, DA
    16TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2003, : 155 - 169
  • [23] Improving the OI in process control using Java']Java-enhanced integration and access
    Lubinski, T
    Bhayani, P
    CONTROL SOLUTIONS, 2001, 74 (02): : 87 - 88
  • [24] Bringing Java']Java's Wild Native World under Control
    Sun, Mengtao
    Tan, Gang
    Siefers, Joseph
    Zeng, Bin
    Morrisett, Greg
    ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2013, 16 (03)
  • [25] Access to SAP's business framework from Java']Java-based applications
    Aleksy, M
    Korthaus, A
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2001, 13 (07): : 621 - 641
  • [26] Providing fine-grained access control for Java']Java programs via binary editing
    Pandey, R
    Hashii, B
    CONCURRENCY-PRACTICE AND EXPERIENCE, 2000, 12 (14): : 1405 - 1430
  • [27] Access Privilege Elevation and Revocation in Collusion-Resistant Cloud Access Control
    Al-Dahhan, Ruqayah R.
    Shi, Qi
    Lee, Gyu Myoung
    Kifayat, Kashif
    PROCEEDINGS OF THE 2018 SECOND WORLD CONFERENCE ON SMART TRENDS IN SYSTEMS, SECURITY AND SUSTAINABILITY (WORLDS4), 2018, : 209 - 214
  • [28] Role-Based Access Control (RBAC) in Java']Java via Proxy Objects using Annotations
    Zarnett, Jeff
    Tripunitara, Mahesh
    Lam, Patrick
    SACMAT 2010: PROCEEDINGS OF THE 15TH ACM SYMPOSIUM ON ACCESS CONTROL MODELS AND TECHNOLOGIES, 2010, : 79 - 88
  • [29] Method-Specific Java']Java Access Control via RMI Proxy Objects Using Annotations
    Zarnett, Jeff
    Lam, Patrick
    Tripunitara, Mahesh
    INFORMATION SYSTEMS SECURITY, PROCEEDINGS, 2009, 5905 : 301 - 309
  • [30] State Crime and Immigration Control in Australia: Jock Serong's On the Java']Java Ridge
    Herrero, Dolores
    EUROPEAN LEGACY-TOWARD NEW PARADIGMS, 2021, 26 (7-8): : 735 - 749