Inferring Java Security Policies Through Dynamic Sandboxing

Complex enterprise and server-level applications are often written in Java because of its reputation for security. The Java policy language allows users to specify very fine-grained and complex security policies. However, this expressiveness makes it difficult to determine the correct policy with respect to the principle of least privilege. We describe a method for automatically learning the minimum security policy called dynamic sandboxing . A minimal sandbox (security policy) is inferred by observing program execution and expressed in the standard Java policy language. The minimum policy stops Java exploits and learning the policy does not cripple performance, allowing applications to run normally during training.

[1]  Sudheendra Hangal,et al.  Tracking down software bugs using automatic anomaly detection , 2002, ICSE '02.

[2]  Jeffrey M. Bradshaw,et al.  Semantic Web Languages for Policy Representation and Reasoning: A Comparison of KAoS, Rei, and Ponder , 2003, SEMWEB.

[3]  Li Gong,et al.  Implementing Protection Domains in the JavaTM Development Kit 1.2 , 1998, NDSS.

[4]  Prasad Rao,et al.  Automatic management of network security policy , 2001, Proceedings DARPA Information Survivability Conference and Exposition II. DISCEX'01.

[5]  Dan S. Wallach,et al.  Extensible security architectures for Java , 1997, SOSP.

[6]  Tzi-cker Chiueh,et al.  Automatic extraction of accurate application-specific sandboxing policy , 2005, MILCOM 2005 - 2005 IEEE Military Communications Conference.

[7]  Stephanie Forrest,et al.  On the prediction of Java object lifetimes , 2006, IEEE Transactions on Computers.

[8]  Lalana Kagal Rei : A Policy Language for the Me-Centric Project , 2002 .

[9]  Paolina Centonze,et al.  Static analysis of role-based access control in J2EE applications , 2004, SOEN.

[10]  Stephanie Forrest,et al.  Anomaly intrusion detection in dynamic execution environments , 2002, NSPW '02.

[11]  Jerome H. Saltzer,et al.  The protection of information in computer systems , 1975, Proc. IEEE.

[12]  Li Gong,et al.  Inside Java 2 Platform Security: Architecture, API Design, and Implementation , 1999 .

[13]  Stephanie Forrest,et al.  An immunological model of distributed detection and its application to computer security , 1999 .

[14]  Stephanie Forrest,et al.  Automated methods for creating diversity in computer systems , 2005 .

[15]  Stephanie Forrest,et al.  Operating system stability and security through process homeostasis , 2002 .

[16]  Emil C. Lupu,et al.  The Ponder Policy Specification Language , 2001, POLICY.