Skip to main content

Policies and Proofs for Code Auditing

  • Conference paper
  • 720 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4762))

Abstract

Both proofs and trust relations play a role in security decisions, in particular in determining whether to execute a piece of code. We have developed a language, called BCIC, for policies that combine proofs and trusted assertions about code. In this paper, using BCIC, we suggest an approach to code auditing that bases auditing decisions on logical policies and tools.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Burrows, M., Lampson, B., Plotkin, G.: A calculus for access control in distributed systems. ACM Transactions on Programming Languages and Systems 15(4), 706–734 (1993)

    Article  Google Scholar 

  2. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  3. Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76(2/3), 95–120 (1988)

    Article  MathSciNet  Google Scholar 

  4. De Treville, J.: Binder, a logic-based security language. In: Proceedings of the 2002 IEEE Symposium on Security and Privacy, pp. 105–113 (2002)

    Google Scholar 

  5. ECMA. C# and common language infrastructure standards (2007), Online at http://msdn2.microsoft.com/en-us/netframework/aa569283.aspx

  6. Perl Foundation. Perl 5.8.8 documentation: perlsec - Perl security, Online at http://perldoc.perl.org/perlsec.html

  7. Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the ACM 40(1), 143–184 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  8. Lampson, B., Abadi, M., Burrows, M., Wobber, E.: Authentication in distributed systems: Theory and practice. ACM Transactions on Computer Systems 10(4), 265–310 (1992)

    Article  Google Scholar 

  9. Lindholm, T., Yellin, F.: The JavaTM Virtual Machine Specification. Addison-Wesley, Reading (1997)

    Google Scholar 

  10. Morrisett, G., Walker, D., Crary, K., Glew, N.: From System F to typed assembly language. ACM Transactions on Programming Languages and Systems 21(3), 528–569 (1999)

    Article  Google Scholar 

  11. Necula, G.C.: Proof-carrying code. In: POPL 1997. Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on the Principles of Programming Languages, pp. 106–119. ACM Press, New York (1997)

    Chapter  Google Scholar 

  12. Microsoft Developer Network. About ActiveX controls,(2007), Online at http://msdn2.microsoft.com/en-us/library/Aa751971.aspx

  13. Ørbæk, P., Palsberg, J.: Trust in the λ-calculus. Journal of Functional Programming 7(6), 557–591 (1997)

    Article  MathSciNet  Google Scholar 

  14. Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE Journal on Selected Areas in Communications 21(1), 5–19 (2003)

    Article  Google Scholar 

  15. Sabelfeld, A., Sands, D.: Declassification: Dimensions and principles. In: CSFW 2005. Proceedings of the 18th IEEE Workshop on Computer Security Foundations, pp. 255–269 (2005)

    Google Scholar 

  16. The Coq Development Team. The Coq proof assistant, http://coq.inria.fr/

  17. Whitehead, N.: Towards static analysis in a logic for code authorization. (Manuscript)

    Google Scholar 

  18. Whitehead, N.: A certified distributed security logic for authorizing code. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 253–268. Springer, Heidelberg (2007)

    Google Scholar 

  19. Whitehead, N., Abadi, M.: BCiC: A system for code authentication and verification. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 110–124. Springer, Heidelberg (2005)

    Google Scholar 

  20. Whitehead, N., Abadi, M., Necula, G.: By reason and authority: A system for authorization of proof-carrying code. In: CSFW 2004. Proceedings of the 17th IEEE Computer Security Foundations Workshop, pp. 236–250 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kedar S. Namjoshi Tomohiro Yoneda Teruo Higashino Yoshio Okamura

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Whitehead, N., Johnson, J., Abadi, M. (2007). Policies and Proofs for Code Auditing. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds) Automated Technology for Verification and Analysis. ATVA 2007. Lecture Notes in Computer Science, vol 4762. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75596-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75596-8_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75595-1

  • Online ISBN: 978-3-540-75596-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics