overview of language based security bibliography dan
play

Overview of Language-Based Security Bibliography Dan Grossman 13 - PDF document

Overview of Language-Based Security Bibliography Dan Grossman 13 October 2004 Papers are organized by topic, in the order of the presentation. There are more papers here than discussed in the presentation. Language-based security is a big


  1. “Overview of Language-Based Security” Bibliography Dan Grossman 13 October 2004 Papers are organized by topic, in the order of the presentation. There are more papers here than discussed in the presentation. Language-based security is a big area and a moving target; please do not interpret this bibliography as more than a rough idea of papers to look at. Topics: • Safe C and C-like languages • Systems in High-Level Languages (a small sample) • Phantom Types and Security Properties via Types • Language-Based Alias Control (a small sample) • Proof-Carrying Code • Typed Assembly Language • Compiler Verification • Inline Reference Monitors, Software-Fault Isolation, Program Shepherding • Language-Based Information-Flow Security • Software Model Checking • Metacompilation and Other Static Bug-Finding Tools • More Focused Run-Time Tools • Confined Types • Stack Inspection • Type Qualifiers • Approaches Using Statistics (not discussed at all) Safe C and C-like languages Todd Austin, Scott Breach, and Gurindar Sohi. Efficient detection of all pointer and array access errors. In ACM Conference on Programming Language Design and Implementation , pages 290–301, Orlando, FL, June 1994. Richard Jones and Paul Kelly. Backwards-compatible bounds checking for arrays and pointers in C programs. In AADEBUG’97. Third International Workshop on Automatic Debugging , volume 2(9) of Link¨ oping Electronic Articles in Computer and Information Science , Link¨ oping, Sweden, 1997. George Necula, Scott McPeak, and Westley Weimer. CCured: Type-safe retrofitting of legacy code. In 29th ACM Symposium on Principles of Programming Languages , pages 128–139, Portland, OR, January 2002. Jeremy Condit, Matthew Harren, Scott McPeak, George Necula, and Westley Weimer. CCured in the real world. In ACM Conference on Programming Language Design and Implementation , pages 232–244, June 2003. 1

  2. Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks, James Cheney, and Yanling Wang. Cyclone: A safe dialect of C. In USENIX Annual Technical Conference , pages 275–288, Monterey, CA, June 2002. Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney. Region- based memory management in Cyclone. In ACM Conference on Programming Language Design and Implementation , pages 282–293, Berlin, Germany, June 2002. Dan Grossman. Type-safe multithreading in Cyclone. In ACM International Workshop on Types in Language Design and Implementation , pages 13–25, New Orleans, LA, January 2003. Michael Hicks, Greg Morrisett, Dan Grossman, and Trevor Jim. Experience with safe manual memory- management in Cyclone. In International Symposium on Memory Management , October 2004. Sumant Kowshik, Dinakar Dhurjati, and Vikram Adve. Ensuring code safety without runtime checks for real-time control systems. In ACM International Conference on Compilers, Architectures and Synthesis for Embedded Systems , pages 288–297, Grenoble, France, October 2002. Systems in High-Level Languages (a small sample) Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin G¨ un Sirer, Marc Fiuczynski, David Becker, Susan Eggers, and Craig Chambers. Extensibility, safety and performance in the SPIN operating system. In 15th ACM Symposium on Operating System Principles , pages 267–284, Copper Mountain, CO, December 1995. Emin G¨ un Sirer, Stefan Savage, Przemyslaw Pardyak, Greg DeFouw, Mary Ann Alapat, and Brian Bershad. Writing an operating system using Modula-3. In Workshop on Compiler Support for System Software , pages 134–140, Tucson, AZ, February 1996. Wilson Hsieh, Marc Fiuczynski, Charles Garrett, Stefan Savage, David Becker, and Brian Bershad. Language support for extensible operating systems. In Workshop on Compiler Support for System Software , pages 127–133, Tucson, AZ, February 1996. Thorsten von Eicken, Chi-Chao Chang, Grzegorz Czajkowski, Chris Hawblitzel, Deyu Hu, and Dan Spoonhower. J-Kernel: A capability-based operating system for Java. In Secure Internet Programming, Security Issues for Mobile and Distributed Objects , volume 1603 of Lecture Notes in Computer Science . Springer-Verlag, 1999. Godmar Back, Wilson Hsieh, and Jay Lepreau. Processes in KaffeOS: Isolation, resource management, and sharing in Java. In 4th USENIX Symposium on Operating System Design and Implementation , pages 333–346, San Diego, CA, October 2000. Godmar Back, Patrick Tullmann, Leigh Stoller, Wilson Hsieh, and Jay Lepreau. Techniques for the design of Java operating systems. In USENIX Annual Technical Conference , pages 197–210, San Diego, CA, June 2000. Grzegorz Czajkowski and Thorsten von Eicken. JRes: A resource accounting interface for Java. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications , pages 21– 35, Vancouver, Canada, October 1998. Chris Hawblitzel and Thorsten von Eicken. Luna: A flexible Java protection system. In 5th USENIX Symposium on Operating System Design and Implementation , pages 391–403, Boston, MA, December 2002. Matthew Flatt, Robert Bruce Findler, Shriram Krishnamurthi, and Matthias Felleisen. Programming languages as operating systems (or revenge of the son of the Lisp machine). In 4th ACM International Conference on Functional Programming , pages 138–147, Paris, France, September 1999. 2

  3. Phantom Types and Security Properties via Types Matthew Fluet and Riccardo Pucella. Phantom types and subtyping. In 2nd IFIP International Conference on Theoretical Computer Science , pages 448–460, Montreal, Canada, August 2002. James Cheney and Ralf Hinze. First-class phantom types. Technical Report CUCIS TR2003-1901, Department of Computer Science, Cornell University, 2003. David Walker. A type system for expressive security policies. In 27th ACM Symposium on Principles of Programming Languages , pages 254–267, January 2000. Language-Based Alias Control (a small sample) Jonathan Aldrich, Valentin Kostadinov, and Craig Chambers. Alias annotations for program under- standing. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications , pages 311–330, Seattle, WA, November 2002. Robert DeLine and Manuel F¨ ahndrich. Enforcing high-level protocols in low-level software. In ACM Conference on Programming Language Design and Implementation , pages 59–69, Snowbird, UT, June 2001. Dave Clarke and Tobias Wrigstad. External uniqueness is unique enough. In European Conference on Object-Oriented Programming , pages 176–200, Darmstadt, Germany, July 2003. Alex Aiken, Jeffrey Foster, John Kodumal, and Tachio Terauchi. Checking and inferring local non- aliasing. In ACM Conference on Programming Language Design and Implementation , pages 129–140, San Diego, CA, June 2003. Philip Wadler. Linear types can change the world! In M. Broy and C. Jones, editors, Programming Concepts and Methods , Sea of Galilee, Israel, April 1990. North Holland. IFIP TC 2 Working Confer- ence. Overview of Language-Based Security Fred B. Schneider, Greg Morrisett, and Robert Harper. A language-based approach to security. In Informatics: 10 Years Back, 10 Years Ahead , volume 2000 of Lecture Notes in Computer Science , pages 86–101. Springer-Verlag, 2001. Dexter Kozen. Language-based security. In Mathematical Foundations of Computer Science , volume 1672 of Lecture Notes in Computer Science , pages 284–298. Springer-Verlag, September 1999. Proof-Carrying Code George Necula. Proof-carrying code. In 24th ACM Symposium on Principles of Programming Lan- guages , pages 106–119, Paris, France, January 1997. George Necula and Peter Lee. The design and implementation of a certifying compiler. In ACM Conference on Programming Language Design and Implementation , pages 333–344, Montreal, Canada, June 1998. Christopher Colby, Peter Lee, George Necula, and Fred Blau. A certifying compiler for Java. In ACM Conference on Programming Language Design and Implementation , pages 95–107, Vancouver, Canada, June 2000. George Necula and Peter Lee. Efficient representation and validation of proofs. In 13th IEEE Sympo- sium on Logic in Computer Science , pages 93–104, Indianapolis, IN, June 1998. George Necula and Shree Rahul. Oracle-based checking of untrusted software. In 28th ACM Symposium on Principles of Programming Languages , pages 142–154, London, England, January 2001. 3

Recommend


More recommend