Title
Evaluating the Flexibility of the Java Sandbox
Abstract
The ubiquitously-installed Java Runtime Environment (JRE) provides a complex, flexible set of mechanisms that support the execution of untrusted code inside a secure sandbox. However, many recent exploits have successfully escaped the sandbox, allowing attackers to infect numerous Java hosts. We hypothesize that the Java security model affords developers more flexibility than they need or use in practice, and thus its complexity compromises security without improving practical functionality. We describe an empirical study of the ways benign open-source Java applications use and interact with the Java security manager. We found that developers regularly misunderstand or misuse Java security mechanisms, that benign programs do not use all of the vast flexibility afforded by the Java security model, and that there are clear differences between the ways benign and exploit programs interact with the security manager. We validate these results by deriving two restrictions on application behavior that restrict (1) security manager modifications and (2) privilege escalation. We demonstrate that enforcing these rules at runtime stop a representative proportion of modern Java 7 exploits without breaking backwards compatibility with benign applications. These practical rules should be enforced in the JRE to fortify the Java sandbox.
Year
DOI
Venue
2015
10.1145/2818000.2818003
Annual Computer Security Applications Conference
Field
DocType
Citations 
Sandbox (computer security),Computer science,Computer security,Java annotation,Java concurrency,Real time Java,Real-time computing,Exploit,strictfp,Java,Security management
Conference
4
PageRank 
References 
Authors
0.47
20
5
Name
Order
Citations
PageRank
Zack Coker1191.36
Michael Maass2933.96
Tianyuan Ding340.47
Claire Le Goues4176668.79
Joshua Sunshine525227.19