Constraint-based analysis of security properties

  • Authors:
  • C. R. Ramakrishnan;Beata Sarna-Starosta

  • Affiliations:
  • State University of New York at Stony Brook;State University of New York at Stony Brook

  • Venue:
  • Constraint-based analysis of security properties
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model checking is a verification method developed to test finite-state systems (e.g., communication protocols, hardware circuits) against properties expressed as temporal logic formulas. The method has proved successful in finding design flaws in many real-life systems. Nevertheless models, especially of software systems, often tend to have unbounded number of states. Traditionally, to verify such systems using model checkers, we have to first abstract the system into a finite-state model. This thesis develops a constraint-based technique for directly model checking infinite-state systems, describes an implementation platform for building such a model checker, and applies it to vulnerability analyses of computer systems and configurations. Specifically: (1) We first introduce a unified, automata-based model for infinite-state systems and linear temporal logic (LTL) properties. We then describe a model checking technique for such specifications based on tabled constraint logic programming. The technique can be seen as a generalization of explicit-state model checker for reachability and LTL properties. Using this technique we can automatically verify data-independent systems: systems whose control behavior is independent of the (possibly unbounded) data domain. It should be noted that, until now, exploiting data independence has involved user guidance. (2) We describe the construction of an efficient and robust system that supports constraint solving and tabling. This infrastructure is essential for constraint-based system analysis tools. The constraint solvers are written using Constraint Handling Rules (CHR), a well-known declarative language designed for this purpose. We developed new compilation methods to implement the language in the XSB tabled logic programming system, and also extended CHR to permit the definition of operations (such as entailment) that are specific to the tabled evaluation environment. (3) Security-Enhanced Linux (SELinux) extends Linux with a flexible mandatory access control mechanism that enforces security policies expressed in a dedicated policy language. Determining whether given policy meets site's high-level security goals can be difficult due to the low-level nature of the policy language and the size and complexity of SELinux policies. We describe a tool for reasoning about SELinux security policies which exploits our constraint-based automata models and a constraint-based reachability analyzer. We demonstrate the power and usefulness of our techniques by building and evaluating a method for analyzing configuration security vulnerabilities in computer systems.