skip to main content
article
Free Access

Certification of programs for secure information flow

Published:01 July 1977Publication History
Skip Abstract Section

Abstract

ertification mechanism for verifying the secure flow of information through a program. Because it exploits the properties of a lattice structure among security classes, the procedure is sufficiently simple that it can easily be included in the analysis phase of most existing compilers. Appropriate semantics are presented and proved correct. An important application is the confinement problem: The mechanism can prove that a program cannot cause supposedly nonconfidential results to depend on confidential input data.

References

  1. 1 Allen, F.E. Control flow analysis. Proc. Symp. Compiler Optimization, SIGPLAN Notices (ACM) 5, 7 (July 1970), 1-19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Andrews, G.R. COPS-A protection mechanism for computer systems. Ph.D. Diss., U. of Wash., Seattle, Wash., July 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Bell, D.E., and LaPadula, L.J. Secure Computer Systems: Mathematical Foundations, Vol. 1-III. ESD-TR-73-278, The MITRE Corp., Bedford, Mass.Google ScholarGoogle Scholar
  4. 4 Birkhoff, G. Lattice Theory. Amer. Math. Soc. Col. Pub. XXV, Amer. Math. Soc., Providence, R.I., 3rd ed., 1967.Google ScholarGoogle Scholar
  5. 5 Denning, D.E., Denning, P.J., and Graham, G.S. Selectively confined subsystems. Proc. Int. Workshop on Protection in Operating Systems, IRIA-Laboria, France, Aug. 1974, pp. 55-61.Google ScholarGoogle Scholar
  6. 6 Denning, D.E. Secure information flow in computer systems. Ph.D. Th., Comptr. Sci. Dep., Purdue U., W. Lafayette, Ind., May 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Denning, D.E. A lattice model of secure information flow. Comm. ACM 19, 5 (May 1976), 236-243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Denning, D.E. On the derivation of lattice structured information flow policies. Tech. Rep. TR-179, Dep. of Comptr. Sci., Purdue U., W. Lafayette, Ind., March 1976.Google ScholarGoogle Scholar
  9. 9 Fenton, J.S. Information protection systems. Ph.D. Diss., Comptr. Lab., U. of Cambridge, England, 1973.Google ScholarGoogle Scholar
  10. 10 Fenton, J.S. Memoryless subsystems. Comptr. J. 17, 2 (May 1974), 143-147.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 Fenton, J.S. An abstract computer model demonstrating directional information flow. U. of Cambridge, Cambridge, England, 1974.Google ScholarGoogle Scholar
  12. 12 Goodenough, J.B. Exception handling: Issues and a proposed notation. Comm. ACM 18, 12 (Dec. 1975), 683-696. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Gat, I., and Saal, H.J. Memoryless execution: A programmer's viewpoint. IBM Tech. Rep. 025, IBM Israeli Scientific Ctr., Haifa, March 1975.Google ScholarGoogle Scholar
  14. 14 Graham, G.S., and Denning, P.J. Protection-principles and practice. Proc. AFIPS 1972 SJCC, Vol. 40, AFIPS Press, Montvale, N.J., pp. 417-429.Google ScholarGoogle Scholar
  15. 15 Gries, D. Compiler Construction for Digital Computers, Wiley, New York, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Harrison, M.A., Ruzzo, W.L., and Ullman, J.D. On protection in operating systems. Proc. Fifth Symp. on Operating Systems Principles, Operating Syst. Rev. (ACM SIGOPS Newsletter) 9, 5 (Nov. 1975), 14-24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 IBM. System/360 PL/I (F) Language Reference Manual. Rep. No. GC28-8201-3, IBM Systems Reference Library, 1971.Google ScholarGoogle Scholar
  18. 18 Jones, A.K. Protection in programmed systems. Ph.D. Th., Carnegie-Mellon U., Pittsburgh, Pa., June 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Jones, A.K., and Lipton, R.J. The enforcement of security policies for computation. Proc. Fifth Symp. on Operating Systems Principles, Operating Syst. Rev. (ACM SIGOPS Newsletter) 9, 5 (Nov. 1975), 197-206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Lampson, B.W. A note on the confinement problem. Comm. ACM 16, 10 (Oct. 1973), 613-615. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 Lipner, S.B. A comment on the confinement problem. Proc. Fifth Symp. on Operating Systems Principles, Operating Syst. Rev. (ACM SIGOPS Newsletter) 9, 5 (Nov. 1975), 192-196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 Lowry, E.S., and Medlock, C.W. Object code optimization. Comm. ACM 12, 1 (Jan. 1969), 13-22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23 Millen, J.K. Security Kernel Validation in Practice. Comm. ACM 19, 5 (May 1976), 243-250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 Minsky, M.L. Computation: Finite and Infinite Machines, Prentice-Hall, Englewood Cliffs, N.J., 1967. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 Moore, C.G. III. Potential capabilities in ALGOL-like programs. TR 74-211, Dep. Comptr. Sci., Cornell U., Ithaca, N.Y., Sept. 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 Rotenberg, L.J. Making computers keep secrets. Ph.D. Th., MAC-TR-115, Project Mac, M.I.T., Cambridge, Mass., Feb. 1974.Google ScholarGoogle Scholar
  27. 27 Schroeder, M.D. Cooperation ofmutually suspicious subsystems in a computer utility. Ph.D. Th., MAC-TR-104, Project MAC, Sept. 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28 Stone, K.S. Discrete Mathematical Structures and Their Applications. Science Research Associates, Chicago, 1973.Google ScholarGoogle Scholar
  29. 29 Walter, K.G., et al. Structured specification of a security kernel. Proc. Int. Conf. on Reliable Software, SIGPLAN Notices (ACM) 10, 6 (June 1975), 285-293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30 Weissman, C. Security controls in the ADEPT-50 time-sharing system. Proc. AFIPS 1969 FJCC, Vol. 35, AFIPS Press, Montvale, N.J., pp. 119-133.Google ScholarGoogle Scholar
  31. 31 Wirth, N. The programming language Pascal. Acta Informatica 1, 1 (1971), 35-63.Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image Communications of the ACM
    Communications of the ACM  Volume 20, Issue 7
    July 1977
    75 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/359636
    Issue’s Table of Contents

    Copyright © 1977 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 July 1977

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader