Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Refinement-Based Specification and Security Analysis of Separation Kernels

Published:01 January 2019Publication History
Skip Abstract Section

Abstract

Assurance of information-flow security by formal methods is mandated in security certification of separation kernels. As an industrial standard for improving safety, ARINC 653 has been complied with by mainstream separation kernels. Due to the new trend of integrating safe and secure functionalities into one separation kernel, security analysis of ARINC 653 as well as a formal specification with security proofs are thus significant for the development and certification of ARINC 653 compliant Separation Kernels (ARINC SKs). This paper presents a specification development and security analysis method for ARINC SKs based on refinement. We propose a generic security model and a stepwise refinement framework. Two levels of functional specification are developed by the refinement. A major part of separation kernel requirements in ARINC 653 are modeled, such as kernel initialization, two-level scheduling, partition and process management, and inter-partition communication. The formal specification and its security proofs are carried out in the Isabelle/HOL theorem prover. We have reviewed the source code of one industrial and two open-source ARINC SK implementations, i.e., VxWorks 653, XtratuM, and POK, in accordance with the formal specification. During the verification and code review, six security flaws, which can cause information leakage, are found in the ARINC 653 standard and the implementations.

References

  1. G. Parr and R. Edwards, “ Integrated modular avionics,” Air Space Europe, vol. Volume 1, no. Issue 2, pp. 72–75, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  2. AUTOSAR Specifications (Release 4.2), AUTOSAR GbR, Munchen, Germany, 2015.Google ScholarGoogle Scholar
  3. J. Rushby, “ Design and verification of secure systems,” ACM SIGOPS Operating Syst. Rev., vol. Volume 15, no. Issue 5, pp. 12–21, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Rushby, “ Partitioning in avionics architectures: Requirements, mechanisms, and assurance,” <institution>U.S. Dept. Transp., Federal Aviation Administration</institution>, Washington, D.C., USA, Tech. Rep. DOT/FAA/AR-99/58, 2000.Google ScholarGoogle Scholar
  5. ARINC Specification 653: Avionics Application Software Standard Interface, Part 1-Required Services, Aeronautical Radio, Inc., Annapolis, MD, USA, 2010.Google ScholarGoogle Scholar
  6. Common Criteria for Information Technology Security Evaluation, 3rd ed. Fort Meade, MD, USA: Nat. Secur. Agency, 2012.Google ScholarGoogle Scholar
  7. U.S. Government Protection Profile for Separation Kernels in Environments Requiring High Robustness, Fort Meade, MD, USA: Nat. Secur. Agency, 2007.Google ScholarGoogle Scholar
  8. I. Craig, Formal Refinement for Operating System Kernels . New York, NY, USA: Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Velykis and L. Freitas, “ Formal modelling of separation kernel components,” in Theoretical Aspects of Computing, Berlin, Germany: Springer, 2010, pp. 230–244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. F. Verbeek, et al., “ Formal specification of a generic separation kernel,” Archive Formal Proofs, 2014, http://www.isa-afp.org/entries/CISC-Kernel.shtmlGoogle ScholarGoogle Scholar
  11. F. Verbeek, et al., “ Formal API specification of the PikeOS separation kernel,” in NASA Formal Methods, Berlin, Germany: Springer, 2015, pp. 375–389.Google ScholarGoogle Scholar
  12. C. Heitmeyer, M. Archer, E. Leonard, and J. McLean, “ Applying formal methods to a certifiably secure software system,” IEEE Trans. Software Eng., vol. Volume 34, no. Issue 1, pp. 82–98, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Richards, “ Modeling and security analysis of a commercial real-time operating system kernel,” in Design and Verification of Microprocessor Systems for High-Assurance Applications . Berlin, Germany: Springer, 2010, pp. 301–322.Google ScholarGoogle Scholar
  14. M. Wilding, D. Greve, R. Richards, and D. Hardin, “ Formal verification of partition management for the AAMP7G microprocessor,” in Design and Verification of Microprocessor Systems for High-Assurance Applications . Berlin, Germany: Springer, 2010, pp. 175–191.Google ScholarGoogle Scholar
  15. L. Freitas and J. McDermott, “ Formal methods for security in the Xenon hypervisor,” Int. J. Softw. Tools Technol. Transfer, vol. Volume 13, no. Issue 5, pp. 463–489, 2011.Google ScholarGoogle ScholarCross RefCross Ref
  16. T. Murray, et al., “ seL4: From general purpose to a proof of information flow enforcement,” in Proc. IEEE Symp. Secur. Privacy, May 2013, pp. 415–429. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Dam, R. Guanciale, N. Khakpour, H. Nemati, and O. Schwarz, “ Formal verification of information flow security for a simple arm-based separation kernel,” in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., Nov. 2013, pp. 223–234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Sanán, A. Butterfield, and M. Hinchey, “ Separation kernel verification: The Xtratum case study,” in Verified Software: Theories, Tools and Experiments . Berlin, Germany: Springer, 2014, pp. 133–149.Google ScholarGoogle Scholar
  19. M. Clarkson and F. Schneider, “ Hyperproperties,” J. Comput. Secur., vol. Volume 18, no. Issue 6, pp. 1157–1210, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Rushby, “ Noninterference, transitivity, and channel-control security policies,” <institution>SRI Int., Comput. Sc. Laboratory</institution>, Menlo Park, CA, USA, Tech. Rep. CSL-92–02, 1992.Google ScholarGoogle Scholar
  21. A. Sabelfeld and A. Myers, “ Language-based information-flow security,” IEEE J. Sel. Areas Commun., vol. Volume 21, no. Issue 1, pp. 5–19, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Oheimb, “ Information flow control revisited: Noninfluence = Noninterference+ Nonleakage,” in Computer Security, Berlin, Germany: Springer, 2004, pp. 225–243.Google ScholarGoogle Scholar
  23. T. Murray, D. Matichuk, M. Brassil, P. Gammie, and G. Klein, “ Noninterference for operating system kernels,” in Certified Programs and Proofs, Berlin, Germany: Springer, 2012, pp. 126–142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Back and K. Sere, “ Stepwise refinement of action systems,” in Mathematics of Program Construction . Berlin, Germany: Springer, 1989, pp. 115–138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. Wirth, “ Program development by stepwise refinement,” Commun. ACM, vol. Volume 14, no. Issue 4, pp. 221–227, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. Back and K. Sere, “ Superposition refinement of reactive systems,” Formal Aspects Comput., vol. Volume 8, no. Issue 3, pp. 324–346, 1996. Google ScholarGoogle ScholarCross RefCross Ref
  27. J. Abrial and S. Hallerstede, “ Refinement, decomposition, and instantiation of discrete models: Application to event-B,” Fundamenta Informaticae, vol. Volume 77, no. Issue 1/2, pp. 1–28, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Klein, et al., “ Comprehensive formal verification of an OS microkernel,” ACM Trans. Comput. Syst., vol. Volume 32, no. Issue 1, pp. 2:1–2:70, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Y. Zhao, Z. Yang, D. Sanan, and Y. Liu, “ Event-based formalization of safety-critical operating system standards: An experience report on ARINC 653 using event-B,” in Proc. IEEE 26th Int. Symp. Software Rel. Eng., Nov. 2015, pp. 281–292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Gomes, “ Formal specification of the ARINC 653 architecture using circus,” <named-content content-type=ref-degree>Master's thesis</named-content>, <institution>Dept. Comput. Sci., Univ.</institution>York, York, U.K., 2012.Google ScholarGoogle Scholar
  31. J. Delange, L. Pautet, and F. Kordon, “ Modeling and validation of ARINC653 architectures,” in Proc. Embedded Real Time Software Syst., May 2010, pp. 1–8.Google ScholarGoogle Scholar
  32. P. Cámara, J. Castro, M. Gallardo, and P. Merino, “ Verification support for ARINC-653-based avionics software,” Softw. Testing Verification Rel., vol. Volume 21, no. Issue 4, pp. 267–298, 2011.Google ScholarGoogle Scholar
  33. T. Nipkow, M. Wenzel, and L. Paulson, Isabelle/HOL: A Proof Assistant for Higher-Order Logic . Berlin, Germany: Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Crespo, I. Ripoll, and M. Masmano, “ Partitioned embedded architecture based on hypervisor: The XtratuM approach,” in Proc. Eur. Dependable Comput. Conf., Apr. 2010, pp. 67–72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. J. Delange, and L. Lec, “ POK, an ARINC 653-compliant operating system released under the BSD license,” in Proc. 13th Real-Time Linux Workshop, Oct. 2011, pp. 1–13.Google ScholarGoogle Scholar
  36. J. Millen, “ 20 years of covert channel modeling and analysis,” in Proc. IEEE Symp. Secur. Privacy, May 1999, pp. 113–114.Google ScholarGoogle ScholarCross RefCross Ref
  37. Y. Zhao, D. Sanan, F. Zhang, and Y. Liu, “ Reasoning about information flow security of separation kernels with channel-based communication,” in Proc. 22nd Int. Conf. Tools Algorithms Construction Anal. Syst., Apr. 2016, pp. 791–810. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Goguen and J. Meseguer, “ Security policies and security models,” in Proc. IEEE Symp. Secur. Privacy, Apr. 1982, pp. 11–20.Google ScholarGoogle ScholarCross RefCross Ref
  39. H. Mantel and D. Sands, “ Controlled declassification based on intransitive noninterference,” in Proc. 2nd Asian Symp. Program. Languages Syst., Nov. 2004, pp. 129–145.Google ScholarGoogle ScholarCross RefCross Ref
  40. M. Krohn and E. Tromer, “ Noninterference for a practical DIFC-based operating system,” in Proc. 30th IEEE Symp. Secur. Privacy, May 2009, pp. 61–76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. A. G. Ramirez, J. Schmaltz, F. Verbeek, B. Langenstein, and H. Blasum, “ On two models of noninterference: Rushby and greve, wilding, and vanfleet,” in Proc. 33rd Int. Conf. Comput. Safety Rel. Secur., Sep. 2014, pp. 246–261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. T. Levin, C. Irvine, C. Weissman, and T. Nguyen, “ Analysis of three multilevel security architectures,” in Proc. ACM Workshop Comput. Secur. Archit., Oct. 2007, pp. 37–46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. M. Clarkson, B. Finkbeiner, M. Koleini, K. Micinski, M. Rabe, and C. Sánchez, “ Temporal logics for hyperproperties,” in Principles of Security and Trust, Berlin, Germany: Springer, 2014, pp. 265–284.Google ScholarGoogle Scholar
  44. S. Eggert, R. Van der Meyden, H. Schnoor, and T. Wilke, “ The complexity of intransitive noninterference,” in Proc. Symp. Secur. Privacy, May 2011, pp. 196–211. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. V. Ha, M. Rangarajan, D. Cofer, H. Rues, and B. Dutertre, “ Feature-based decomposition of inductive proofs applied to real-time avionics software: An experience report,” in Proc. 26th Int. Conf. Software Eng., May 2004, pp. 304–313. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. G. Klein, “ Operating system verification-an overview,” Sadhana, vol. Volume 34, no. Issue 1, pp. 27–69, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  47. J. Andronick, et al., “ Large-scale formal verification in practice: A process perspective,” in Proc. 34th Int. Conf. Softw. Eng., Jun. 2012, pp. 1002–1011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. H. Blasum, et al., “ Used formal methods,” White Paper, EURO-MILS, 2015.Google ScholarGoogle Scholar
  49. T. S. Hoang, “ Security invariants in discrete transition systems,” Formal Aspects Comput., vol. Volume 25, no. Issue 1, pp. 59–87, 2013. Google ScholarGoogle ScholarCross RefCross Ref
  50. D. McCullough, “ Noninterference and the composability of security properties,” in Proc. IEEE Conf. Secur. Privacy, Apr. 1988, pp. 177–186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. R. Richards, D. Greve, and M. Wilding, “ The common criteria, formal methods and ACL2,” presented at the ACL2 Workshop, Austin, TX, USA, 2004.Google ScholarGoogle Scholar
  52. D. Sanan, Y. Zhao, and H. Zhe, et al., “ CSimpl: A rely-guarantee-based framework for verifying concurrent programs,” in Proc. 23rd Int. Conf. Tools Algorithms for Construction Anal. Syst., 2017, to appear. 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 IEEE Transactions on Dependable and Secure Computing
    IEEE Transactions on Dependable and Secure Computing  Volume 16, Issue 1
    January 2019
    187 pages

    Copyright © 2019

    Publisher

    IEEE Computer Society Press

    Washington, DC, United States

    Publication History

    • Published: 1 January 2019

    Qualifiers

    • research-article