|
ABSTRACT
Through the design and implementation of a JVM that supports Pluggable Verification Modules (PVMs), the idea of an extensible protection mechanism is entertained. Link-time bytecode verification becomes a pluggable service that can be readily replaced, reconfigured and augmented. Application-specific verification services can be safely introduced into the dynamic linking process of the JVM. This feature is enabled by the adoption of a previously proposed modular verification architecture, Proof Linking [23, 24], which decouples bytecode verification from the dynamic linking process, rendering the verifier a replaceable module. The PVM mechanism has been implemented in an open source JVM, the Aegis VM [21]. To evaluate the software engineering and security engineering benefits of this extensible protection mechanism, an augmented type system JAC (Java Access Control) [37] has been successfully implemented as a PVM.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
Jonathan Aldrich , Valentin Kostadinov , Craig Chambers, Alias annotations for program understanding, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
3
|
Wolfram Amme , Niall Dalton , Jeffery von Ronne , Michael Franz, SafeTSA: a type safe and referentially secure mobile-code representation based on static single assignment form, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.137-147, June 2001, Snowbird, Utah, United States
|
| |
4
|
|
 |
5
|
B. N. Bershad , S. Savage , P. Pardyak , E. G. Sirer , M. E. Fiuczynski , D. Becker , C. Chambers , S. Eggers, Extensibility safety and performance in the SPIN operating system, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.267-283, December 03-06, 1995, Copper Mountain, Colorado, United States
|
| |
6
|
Joshua Bloch. JSR 175: A metadata facility for the Java programming language. http://www.jcp.org/en/jsr/detail?id=175
|
| |
7
|
|
| |
8
|
|
 |
9
|
Gilad Bracha , Martin Odersky , David Stoutamire , Philip Wadler, Making the future safe for the past: adding genericity to the Java programming language, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.183-200, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
10
|
|
 |
11
|
Antonio Carzaniga , Gian Pietro Picco , Giovanni Vigna, Designing distributed applications with mobile code paradigms, Proceedings of the 19th international conference on Software engineering, p.22-32, May 17-23, 1997, Boston, Massachusetts, United States
[doi> 10.1145/253228.253236]
|
 |
12
|
David G. Clarke , John M. Potter , James Noble, Ownership types for flexible alias protection, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.48-64, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
13
|
Alessandro Coglio and Allen Goldberg. Type safety in the JVM: Some problems in JDK 1.2.2 and proposed solutions. In Proceedings of the 2nd ECOOP Workshop on Formal Techniques for Java Programs Sophia Antipolis and Cannes, France, June 2000.
|
 |
14
|
|
 |
15
|
John Corwin , David F. Bacon , David Grove , Chet Murthy, MJ: a rational module system for Java and its applications, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
16
|
|
 |
17
|
|
| |
18
|
ECMA. Common language infrastructure (CLI). Standard 335, ECMA, December 2002.
|
 |
19
|
D. R. Engler , M. F. Kaashoek , J. O'Toole, Jr., Exokernel: an operating system architecture for application-level resource management, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.251-266, December 03-06, 1995, Copper Mountain, Colorado, United States
|
 |
20
|
|
| |
21
|
Philip W. L. Fong. The Aegis VM Project. http://aegisvm.sourceforge.net
|
| |
22
|
|
 |
23
|
|
| |
24
|
Philip W. L. Fong and Robert D. Cameron. Proof linking: Distributed verification of Java classfiles in the presence of multiple classloaders. In Proceedings of the USENIX Java Virtual Machine Research and Technology Symposium (JVM'01), pages 53--66, Monterey, California, USA, April 2001.
|
| |
25
|
Philip W. L. Fong and Cheng Zhang. Capabilities as alias control: Secure cooperation in dynamically extensible systems. Technical Report CS-2004-3, Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada S4S 0A2, 2004. ISBN:0-7731-0479-8.
|
 |
26
|
Jeffrey S. Foster , Manuel Fähndrich , Alexander Aiken, A theory of type qualifiers, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.192-203, May 01-04, 1999, Atlanta, Georgia, United States
|
 |
27
|
|
 |
28
|
|
 |
29
|
|
 |
30
|
|
| |
31
|
Timothy L. Harris. Extensible virtual machines. Technical Report 525, University of Cambridge Computer Laboratory, Cambridge, UK, December 2001.
|
| |
32
|
Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , Yanling Wang, Cyclone: A Safe Dialect of C, Proceedings of the General Track: 2002 USENIX Annual Technical Conference, p.275-288, June 10-15, 2002
|
 |
33
|
Sarfraz Khurshid , Darko Marinov , Daniel Jackson, An analyzable annotation language, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
34
|
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Christina Videira Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP'97), volume 1241 of Lecture Notes in Computer Science Finland, June 1997. Springer-Verlag.
|
| |
35
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
36
|
|
| |
37
|
|
 |
38
|
Sheng Liang , Gilad Bracha, Dynamic class loading in the Java virtual machine, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.36-44, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
39
|
|
| |
40
|
|
 |
41
|
|
| |
42
|
Andrew C. Myers and Barbara Liskov. Complete, safe information flow with decentralized labels. In Proceedings of the 1998 IEEE Symposium on Security and Privacy (S&P'98), Oakland, California, USA, May 1998.
|
 |
43
|
|
 |
44
|
|
 |
45
|
|
 |
46
|
K. Palacz , J. Baker , C. Flack , C. Grothoff , H. Yamauchi , J. Vitek, Engineering a customizable intermediate representation, Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators, p.67-76, June 12-12, 2003, San Diego, California
[doi> 10.1145/858570.858578]
|
 |
47
|
|
 |
48
|
Zhenyu Qian , Allen Goldberg , Alessandro Coglio, A formal specification of Java class loading, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.325-336, October 2000, Minneapolis, Minnesota, United States
|
| |
49
|
|
| |
50
|
Michael D. Schroeder. Cooperation of Mutually Suspicious Subsystems in a Computer Utility Ph.D. thesis, Massachusetts Institute of Technology, September 1972.
|
| |
51
|
Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, and David Wagner. Detecting format-string vulnerabilities with type qualifiers. In Proceedings of the 10th USENIX Security Symposium Washington, D.C., USA, August 2001.
|
 |
52
|
|
 |
53
|
|
| |
54
|
Raja Vallée-Rai , Phong Co , Etienne Gagnon , Laurie Hendren , Patrick Lam , Vijay Sundaresan, Soot - a Java bytecode optimization framework, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p.13, November 08-11, 1999, Mississauga, Ontario, Canada
|
| |
55
|
|
REVIEW
"Cristiano diFlora : Reviewer"
Although not extremely interesting with respect to static linking, module verification becomes very critical when modules are linked dynamically, for example, when using the Class.forName method. The author proposes a simple and efficient mechanis
more...
|