Enforcing Secure Object Initialization in Java
Laurent Hubert (INRIA - IRISA), Thomas Jensen (INRIA - IRISA), Vincent, Monfort (INRIA - IRISA), David Pichardie (INRIA - IRISA)

TL;DR
This paper introduces a modular type system and static checker to enforce secure object initialization in Java, preventing privilege escalations and proving safety of most core classes with minimal annotations.
Contribution
It presents a formal type system and checker for Java object initialization policies, enabling static verification and enhancing security guarantees.
Findings
Proved 91% of core classes safe without annotations.
Added 57 annotations to prove all but four classes safe.
Type system formalized and machine-checked in Coq.
Abstract
Sun and the CERT recommend for secure Java development to not allow partially initialized objects to be accessed. The CERT considers the severity of the risks taken by not following this recommendation as high. The solution currently used to enforce object initialization is to implement a coding pattern proposed by Sun, which is not formally checked. We propose a modular type system to formally specify the initialization policy of libraries or programs and a type checker to statically check at load time that all loaded classes respect the policy. This allows to prove the absence of bugs which have allowed some famous privilege escalations in Java. Our experimental results show that our safe default policy allows to prove 91% of classes of java.lang, java.security and javax.security safe without any annotation and by adding 57 simple annotations we proved all classes but four safe. The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Security and Verification in Computing · Software Engineering Research
