| Proof linking: an architecture for modular verification of dynamically-linked mobile code |
| Full text |
Pdf
(890 KB)
|
| Source
|
Foundations of Software Engineering
archive
Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
table of contents
Lake Buena Vista, Florida, United States
Pages: 222 - 230
Year of Publication: 1998
ISBN:1-58113-108-9
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 16, Citation Count: 4
|
|
|
ABSTRACT
Security flaws are routinely discovered in commercial implementations of mobile code systems such as the Java Virtual Machine (JVM). Typical architectures for such systems exhibit complex interdependencies between the loader, the verifier, and the linker, making them difficult to craft, validate, and maintain. This reveals a software engineering challenge that is common to all mobile code systems in which a static verification phase is introduced before dynamic linking. In such systems, one has to articulate how loading, verification, and linking interact with each other, and how the three processes should be organized to address various security issues.We propose a standard architecture for crafting mobile code verifiers, based on the concept of proof linking. This architecture modularizes the verification process and isolates the dependencies among the loader, verifier, and linker. We also formalize the process of proof linking and establish properties to which correct implementations must conform. As an example, we instantiate our architecture for the problem of Java bytecode verification and assess the correctness of this instantiation. Finally, we briefly discuss alternative mobile code verification architectures enabled by our modularization.
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
|
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]
|
| |
3
|
D. Clark and D. Wilson. A comparison of commercial and military computer security policies. In Proceedings of the IEEE Symposium on Security and Privacy, pages 184-194, 1987.
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
The Secure Internet Programming Group. History of the group, 1997. Availablat at http://nvu.cs.princeton.edu/sip/History.html.
|
| |
9
|
Stanley Letovsky and Elliot Soloway. Delocalized Plans and Program Comprehension. IEEE Software, pages 41-49, May 1986.
|
| |
10
|
|
| |
11
|
Daryl McCullough. Specification for Multi-Level Security and a Hook-Up Property. In Proceedings for the IEEE Symposium on Security and Privacy, pages 161- 166, 1987.
|
| |
12
|
Daryl McCullough. Noninterference and the Composability of Security Properties. In Proceedings of the IEEE Symposium on Security and Privacy, pages 1' 77- 186, 1988.
|
| |
13
|
|
 |
14
|
|
| |
15
|
Spencer Rugaber, Kurt Stirewalt, and Linda W. WilIs. The Interleaving Problem in Program Understanding. In 2nd Working Conference on Reverse Engineering, pages 166-175, Toronto, Ontario, Canada, July 1995.
|
| |
16
|
SRI International Computer Science Laboratory. The PVS verification system. Available athttp://wuu.csl.sri.com/pvs.html.
|
| |
17
|
The Kiiera Team. Security Flaws in Java Implementations, 1997. Available athttp://kimera.cs.washington.edu/flaus/.
|
| |
18
|
|
| |
19
|
B. W. Weide and J. E. HoIIingsworth. Scalability of Reuse Technology to Large Systems Requires Local Certifiability. In Proceedings of the 5th Annual Workshop on Software Reuse, 1992.
|
|