A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lisp lore: a guide to programming the Lisp machine
Lisp lore: a guide to programming the Lisp machine
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
Project Oberon: the design of an operating system and compiler
Project Oberon: the design of an operating system and compiler
Polling efficiently on stock hardware
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
The security of static typing with dynamic linking
Proceedings of the 4th ACM conference on Computer and communications security
Extensible security architectures for Java
Proceedings of the sixteenth ACM symposium on Operating systems principles
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java security: Web browsers and beyond
Internet besieged
JRes: a resource accounting interface for Java
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
What is Java binary compatibility?
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
History-based access control for mobile code
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
PLAN: a packet language for active networks
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Securing Java: getting down to business with mobile code
Securing Java: getting down to business with mobile code
Inside Java 2 platform security architecture, API design, and implementation
Inside Java 2 platform security architecture, API design, and implementation
Programming languages as operating systems (or revenge of the son of the lisp machine)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Nested Java processes: OS structure for mobile code
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
SASI enforcement of security policies: a retrospective
Proceedings of the 1999 workshop on New security paradigms
Pilot: an operating system for a personal computer
Communications of the ACM
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Multitasking without comprimise: a virtual machine evolution
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Smalltalk-80: The Language
High-Performance, Space-Efficient, Automated Object Locking
Proceedings of the 17th International Conference on Data Engineering
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Design and Implementation of the J-SEAL2 Mobile Agent Kernel
SAINT '01 Proceedings of the 2001 Symposium on Applications and the Internet (SAINT 2001)
Processes in KaffeOS: isolation, resource management, and sharing in java
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
A secure javaTM virtual machine
SSYM'00 Proceedings of the 9th conference on USENIX Security Symposium - Volume 9
Techniques for the design of java operating systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Garbage Collector Memory Accounting in Language-Based Systems
SP '03 Proceedings of the 2003 IEEE Symposium on Security and Privacy
Kill-safe synchronization abstractions
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
The KaffeOS Java runtime system
ACM Transactions on Programming Languages and Systems (TOPLAS)
JavaScript instrumentation for browser security
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building a reactive immune system for software services
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Detecting malicious java code using virtual machine auditing
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
Verifiable functional purity in java
Proceedings of the 15th ACM conference on Computer and communications security
Modeling Communication with Synchronized Environments
Fundamenta Informaticae - Application of Concurrency to System Design (ACSD'06)
Enforcing Java run-time properties using bytecode rewriting
ISSS'02 Proceedings of the 2002 Mext-NSF-JSPS international conference on Software security: theories and systems
A dynamic mechanism for recovering from buffer overflow attacks
ISC'05 Proceedings of the 8th international conference on Information Security
Modeling Communication with Synchronized Environments
Fundamenta Informaticae - Application of Concurrency to System Design (ACSD'06)
Hi-index | 0.00 |
Language run-time systems are increasingly being embedded insystems to support run-time extensibility via mobile code. Suchsystems raise a number of concerns when the code running in suchsystems is potentially buggy or untrusted. Although sophisticatedaccess controls have been designed for mobile code and are shippingas part of commercial systems such as Java, there is no support forterminating mobile code short of terminating the entire languagerun-time. This article presents a concept called "soft termination"that can be applied to virtually any mobile code system. Softtermination allows mobile code threads to be safely terminatedwhile preserving the stability of the language run-time. Inaddition, function bodies can be permanently disabled, thwartingattacks predicated on system threads eventually calling untrustedfunctions. Soft termination guarantees termination by breaking anypotential infinite loops in mobile code. We present a formal designfor soft termination and an implementation of it for Java, builtusing Java bytecode rewriting, which demonstrates reasonableperformance (3 to 25% slowdowns onbenchmarks).