skip to main content
10.1145/1814217.1814225acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Secure information flow analysis for hardware design: using the right abstraction for the job

Published:10 June 2010Publication History

ABSTRACT

Hardware designers need to precisely analyze high-level descriptions for illegal information flows. Language-based information flow analyses can be applied to hardware description languages, but a straight-forward application either conservatively rules out many secure hardware designs, or constrains the designers to work at impractically low levels of abstraction. We demonstrate that choosing the right level of abstraction for the analysis, by working on Finite State Machines instead of the hardware code, allows both precise information flow analysis and high-level programmability.

References

  1. OpenSPARC project. http://www.opensparc.net.Google ScholarGoogle Scholar
  2. James Newsome and Dawn Song. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In 12th Annual Network and Distributed System Security Symposium (NDSS), 2005.Google ScholarGoogle Scholar
  3. J. R. Crandall and F. T. Chong. Minos: Control Data Attack Prevention Orthogonal to Memory Model. In Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture (Micro), pages 221--232, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Dalton, H. Kannan, and C. Kozyrakis. Raksha: A Flexible Information Flow Architecture for Software Security. In Proceedings of the 34th annual international symposium on Computer architecture (ISCA), June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. E. Denning and P. J. Denning. Certification of programs for secure information flow. Communications of the ACM, 20(7):504--513, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. E. Suh, J. W. Lee, D. Zhang, and S. Devadas. Secure program execution via dynamic information flow tracking. In Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. A. Goguen and J. Meseguer. Security policies and security models. In Proceedings of IEEE Symposium on Security and Privacy, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  9. C. Hankin. Program analysis tools. International Journal on Software Tools for Technology Transfer, 2(1), 1998.Google ScholarGoogle ScholarCross RefCross Ref
  10. D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Hymans. Checking safety properties of behavioral vhdl descriptions by abstract interpretation. In 9th International Static Analysis Symposium (SAS'02) (2002, pages 444--460. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Hymans. Design and implementation of an abstract interpreter for vhdl. D. Geist and E. Tronci, editors, CHARME, 2860 of LNCS, 2003.Google ScholarGoogle Scholar
  13. M. Krohn, A. Yip, M. Brodsky, N. Cliffer, M. Frans, K. Eddie, and K. R. Morris. Information flow control for standard os abstractions. In In SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. McHugh and D. I. Good. An information flow tool for gypsy. In IEEE Symposium on Security and Privacy, pages 46--48, Apr. 1985.Google ScholarGoogle ScholarCross RefCross Ref
  15. A. C. Myers, N. Nystrom, L. Zheng, and S. Zdancewic. Jif: Java information flow. Software release. http://www.cs.cornell.edu/jif, July 2001.Google ScholarGoogle Scholar
  16. O. Ruwase, P. B. Gibbons, T. C. Mowry, V. Ramachandran, S. Chen, M. Kozuch, and M. Ryan. Parallelizing dynamic information flow tracking. In SPAA'08: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, pages 35--45. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21(1), Jan. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Schlickling and M. Pister. A framework for static analysis of vhdl code. 7th International Workshop on Worst-Case Execution Time (WCET) Analysis, 2007.Google ScholarGoogle Scholar
  19. E. Technologies. The Esterel v7 Reference Manual, version v7.30 - initial IEEE standardization proposal edition. 2005.Google ScholarGoogle Scholar
  20. M. Tiwari, X. Li, H. Wassel, F. Chong, and T. Sherwood. Execution leases: A hardware-supported mechanism for enforcing strong non-interference. In Proceedings of the International Symposium on Microarchitecture (MICRO), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Tiwari, H. Wassel, B. Mazloom, S. Mysore, F. Chong, and T. Sherwood. Complete information flow tracking from the gates up. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. K. Tolstrup. Language-based Security for VHDL. PhD thesis, Technical University of Denmark, 2006.Google ScholarGoogle Scholar
  23. T. K. Tolstrup, F. Nielson, and H. R. Nielson. Information flow analysis for vhdl. volume 3606 of LNCS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. Vachharajani, M. J. Bridges, J. Chang, R. Rangan, G. Ottoni, J. A. Blome, G. A. Reis, M. Vachharajani, and D. I. August. Rifle: An architectural framework for user-centric information-flow security. In In MICRO 37: Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, pages 243--254. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Venkataramani, I. Doudalis, Y. Solihin, and M. Prvulovic. Flexitaint: A programmable accelerator for dynamic taint propagation. In Fourteenth International Symposium on High Performance Computer Architecture (HPCA), pages 196--206, New York, NY, USA, 2008. ACM.Google ScholarGoogle ScholarCross RefCross Ref
  26. D. Volpano and G. Smith. A type-based approach to pro-gram security. In In Proceedings of the 7th International Joint Conference on the Theory and Practice of Software Devel-opment, pages 607--621. Springer, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Wilhelm. Efficient analysis of pipeline models for WCET computation. In Proceedings of the 5th Intl Workshop on Worst-Case Execution Time (WCET) Analysis, 2005.Google ScholarGoogle Scholar
  28. N. Zeldovich, S. Boyd-Wickizer, and D. Mazieres. Security distributed systems with information flow control. In Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 293--308, Apr. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. N. Zeldovich, S. Boyd-Wickizer, E. Kohler, and D. Mazières. Making information flow explicit in histar. In USENIX'06: Proceedings of the 7th conference on USENIX Symposium on Operating Systems Design and Implementation, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. N. Zeldovich, H. Kannan, M. Dalton, and C. Kozyrakis. Hardware enforcement of application security policies using tagged memory. In 8th USENIX Sumposium on Operating Systems Design and Implementation (OSDI), Dec. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Secure information flow analysis for hardware design: using the right abstraction for the job

    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
      PLAS '10: Proceedings of the 5th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security
      June 2010
      77 pages
      ISBN:9781605588278
      DOI:10.1145/1814217

      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: 10 June 2010

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate43of77submissions,56%

      Upcoming Conference

      PLDI '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader