scispace - formally typeset
Open AccessProceedings Article

Joe-E: A Security-Oriented Subset of Java.

TLDR
It is demonstrated how Joe-E can be used to develop systems with novel security properties that would be difficult or impossible to ensure otherwise, including a web application platform that provides transparent, transactional object persistence and can safely host multiple mutually-distrustful applications in a single JVM.
Abstract
We present Joe-E, a language designed to support the development of secure software systems. Joe-E is a subset of Java that makes it easier to architect and implement programs with strong security properties that can be checked during a security review. It enables programmers to apply the principle of least privilege to their programs; implement application-specific reference monitors that cannot be bypassed; introduce and use domain-specific security abstractions; safely execute and interact with untrusted code; and build secure, extensible systems. Joe-E demonstrates how it is possible to achieve the strong security properties of an object-capability language while retaining the features and feel of a mainstream object-oriented language. Additionally, we present ways in which Java’s static type safety complements object-capability analysis and permits additional security properties to be verified statically, compared with previous object-capability languages which rely on runtime checks. In this paper, we describe the design and implementation of Joe-E and its advantages for security and auditability over standard Java. We demonstrate how Joe-E can be used to develop systems with novel security properties that would be difficult or impossible to ensure otherwise, including a web application platform that provides transparent, transactional object persistence and can safely host multiple mutually-distrustful applications in a single JVM.

read more

Citations
More filters
Proceedings ArticleDOI

CHERI: A Hybrid Capability-System Architecture for Scalable Software Compartmentalization

TL;DR: This work demonstrates multiple orders-of-magnitude improvement in scalability, simplified programmability, and resulting tangible security benefits as compared to compartmentalization based on pure Memory-Management Unit (MMU) designs.
Proceedings ArticleDOI

NativeGuard: protecting android applications from third-party native libraries

TL;DR: NativeGuard is presented, a security framework that isolates native libraries from other components in Android applications that addresses multiple technical issues to support various interfaces that Android provides to the native world.
Proceedings ArticleDOI

Secure coding practices in Java: challenges and vulnerabilities

TL;DR: An empirical study on StackOverflow posts aiming to understand developers' concerns on Java secure coding, their programming obstacles, and insecure coding practices reveals the insufficiency of secure coding assistance and documentation, as well as the huge gap between security theory and coding practices.
Proceedings ArticleDOI

Light-weight contexts: an OS abstraction for safety and performance

TL;DR: An evaluation of common usage patterns, including fast rollback, session isolation, sensitive data isolation, and inprocess reference monitoring, using Apache, nginx, PHP, and OpenSSL are presented.
Posted Content

Secure Coding Practices in Java: Challenges and Vulnerabilities

TL;DR: In this article, the authors conducted a comprehensive empirical study on StackOverflow posts to understand developers' concerns on Java secure coding, their programming obstacles, and potential vulnerabilities in their code.
References
More filters
Proceedings ArticleDOI

A decentralized model for information flow control

TL;DR: This paper presents a new model for controlling information flo w in systems with mutual distrust and decentralized authority that improves on existing multilevel security models by allowing users to declassify information in a decentralized way, and by improving support for fine-grained data sharing.
Journal ArticleDOI

Making information flow explicit in HiStar

TL;DR: HiStar is a new operating system designed to minimize the amount of code that must be trusted, which allows users to specify precise data security policies without unduly limiting the structure of applications.
Proceedings ArticleDOI

Making information flow explicit in HiStar

TL;DR: HiStar as discussed by the authors is a new operating system designed to minimize the amount of code that must be trusted, which allows users to specify precise data security policies without unduly limiting the structure of applications.
Proceedings Article

Going beyond the sandbox: an overview of the new security architecture in the java TM development Kit 1.2

TL;DR: This paper describes the new security architecture that has been implemented aspart of JDK1.2, the forthcoming JavaTM Development Kit, and introduces the concept of protection domain and a few related security primitives that help to make the underlying protection mechanism more robust.