skip to main content
10.1145/1866307.1866340acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

DIFC programs by automatic instrumentation

Published:04 October 2010Publication History

ABSTRACT

Decentralized information flow control (DIFC) operating systems provide applications with mechanisms for enforcing information flow policies for their data. However, significant obstacles keep such operating systems from achieving widespread adoption. One key obstacle is that DIFC operating systems provide only low-level mechanisms for allowing application programmers to enforce their desired policies. It can be difficult for the programmer to ensure that their use of these mechanisms enforces their high-level policies, while at the same time not breaking the underlying functionality of their application. These are issues both for programmers who would develop new applications for a DIFC operating system and for programmers who would port existing applications to a DIFC operating system. Our work significantly eases these tasks. We present as automatic technique that takes as input a program with no DIFC code, and two policies: one that specifies prohibited information flows and one that specifies flows that must be allowed. Our technique then produces a new version of the input program that satisfies the two policies. To evaluate out technique, we implemented it in an automatic tool, called Swim (for Secure What I Mean), and applied it to a set of real-world programs and policies. The results of our evaluation demonstrate that the technique is sufficiently expressive to produce programs for real-world policies, and that it can produce such programs efficiently. It thus represents a significant contribution towards developing systems with strong end-to-end information flow guarantees.

References

  1. }}Apache. http://www.apache.org.Google ScholarGoogle Scholar
  2. }}S. D. Brookes, C. A. R. Hoare, and A. W. Roscoe. A theory of communicating sequential processes. J. ACM, 31(3):560{599, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, and X. Zheng. Secure web applications via automatic partitioning. In SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}ClamAV. http://www.clamav.net.Google ScholarGoogle Scholar
  5. }}M. R. Clarkson, S. Chong, and A. C. Myers. Civitas: Toward a secure voting system. SP, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}B. Dutertre and L. de Moura. The Yices SMT solver. http://yices.csl.sri.com/tool-paper.pdf, August 2006.Google ScholarGoogle Scholar
  7. }}P. Efstathopoulos and E. Kohler. Manageable negrained information flow. SIGOPS Oper. Syst. Rev., 42(4):301{313, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}V. Ganesh and D. Dill. A decision procesure for bit-vectors and arrays. In CAV, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}W. R. Harris, S. Jha, and T. Reps. DIFC programs by automatic instrumentation. http://cs.wisc.edu/wrharris/publications/tr-1673.pdf, 2010.Google ScholarGoogle Scholar
  10. }}W. R. Harris, N. A. Kidd, S. Chaki, S. Jha, and T. Reps. Verifying information flow control over unbounded processes. In FM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}B. Hicks, K. Ahmadizadeh, and P. McDaniel. Understanding practical application development in security-typed languages. In ACSAC, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  13. }}M. Krohn and E. Tromer. Noninterference for a practical DIFC-based operating system. In SP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}M. Krohn, A. Yip, M. Brodsky, N. Cli er, M. F. Kaashoek, E. Kohler, and R. Morris. Information flow control for standard OS abstractions. In SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. }}MoinMoin. The MoinMoin wiki engine, Dec. 2006.Google ScholarGoogle Scholar
  16. }}L. D. Moura and N. Bj"rner. Z3: An efficient SMT solver. In TACAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}A. C. Myers and B. Liskov. A decentralized model for information flow control. In SOSP, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}G. C. Necula, S. McPeak, S. P. Rahul, and W. Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs. In CC, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}OpenVPN. http://www.openvpn.net.Google ScholarGoogle Scholar
  20. }}N. Swamy, B. J. Corcoran, and M. Hicks. Fable: A language for enforcing user-defined security policies. In SP, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}S. Vandebogart, P. Efstathopoulos, E. Kohler, M. Krohn, C. Frey, D. Ziegler, F. Kaashoek, R. Morris, and D. Mazieres. Labels and event processes in the Asbestos operating system. ACM Trans. Comput. Syst., 25(4):11, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. }}A. Yip, X. Wang, N. Zeldovich, and M. F. Kaashoek. Improving application security with data flow assertions. In SOSP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. }}N. Zeldovich, S. Boyd-Wickizer, E. Kohler, and D. Mazieres. Making information flow explicit in HiStar. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. DIFC programs by automatic instrumentation

          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
          • Published in

            cover image ACM Conferences
            CCS '10: Proceedings of the 17th ACM conference on Computer and communications security
            October 2010
            782 pages
            ISBN:9781450302456
            DOI:10.1145/1866307

            Copyright © 2010 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: 4 October 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            CCS '10 Paper Acceptance Rate55of325submissions,17%Overall Acceptance Rate1,261of6,999submissions,18%

            Upcoming Conference

            CCS '24
            ACM SIGSAC Conference on Computer and Communications Security
            October 14 - 18, 2024
            Salt Lake City , UT , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader