Jan Vitek - Purdue, CERIAS
Students: Spring 2025, unless noted otherwise, sessions will be virtual on Zoom.
Engineering secure software in Java with Confined Types
Sep 24, 1999
Abstract
Programming languages such as Java allow code fragments downloaded from untrusted hosts to be linked into a running Java Virtual Machine and to interact with installed procedures in subtle ways. While this approach gives great flexibility to the language, it is also inherently risky as the downloaded code may be malicious and designed to ignore local security policies. A security software architecture must therefore protect the system against misbehaved extensions.This talk addresses the issue of how to engineer secure systems in Java. We show that the security mechanisms provided by the language are inadequate --- they were originally software engineering mechanisms --- and that the security of the system can be breached by innocuous programming mistakes. We give an example in which the Java access control mechanisms fail and opening a the VM to serious attacks. We propose the notion of confined types to strengthen Java's built-in access control mechanisms. Confined types are a backward compatible extension to Java. The goal of confined types is to prevent objects of any of these types from being accessed from the outside of their confining package. We present a simple set of rules that enforce confinement and discuss how to implement these rules in a virtual machine.
This presentation is based on joint work with Boris Bokowski and will be presented at the Object-Oriented Programming, Systems, Languages and Applications Conference in Denver.
About the Speaker

Ways to Watch
