Validating Computer System and Network Trustworthiness

Instructor: Prof. William H. Sanders

Affiliation: Coordinated Science Laboratory, University of Illinois at Urbana-Champaign, USA

Duration: 12 hours (3 days, 4 hours each day)

Period: April 26 - April 28, 2006

Place: Dipartimento di Ingegneria dell'Informazione: Elettronica, Informatica, Telecomunicazioni, via Diotisalvi, meeting room

Credits: 3

Final test: yes

Contacts: Dott. Felicita Di Giandomenico, Istituto di Scienza e Tecnologie dell’Informazione “A. Faedo” del CNR di Pisa


Aims

This series of lectures provides a comprehensive introduction to model-based methods for validating computer system and network trustworthiness that can be used from the early design stage to the testing of a prototype. After introducing basic concepts related to reliability, availability, security, and performability, the lectures present combinatorial modeling methods, which are most useful in the early design stage. Markov process theory, and numerical issues in solving Markov models, are then presented as a method to solve system models during the early/middle design phase, and discrete-event simulation is presented as a method for solving detailed models built in the final design phase. In both cases, stochastic activity networks are introduced as a high-level, easy-to-use method of describing system models. Several case studies are presented that illustrate the use of models to validate a variety of system trust properties. The Mobius modeling tool (www.mobius.uiuc.edu) is used to illustrate the methods described.

Syllabus

  1. Introduction to the Validation of High-Availability Systems
    1. Review of Design Techniques for High-Availability and Dependable Systems
    2. Validation of High-Availability Systems is Critical
    3. Fault Types: Stand-Alone and Networked Systems
    4. Definitions and Measures of Success: Dependability and Performability
    5. Approaches to Validation
    6. Synergistic Relationship Between Validation Methods
    7. Validation Methods not Covered in These Lectures
    8. When Should Validation Take Place
    9. Overview
  2. First-Cut, Rapid Validation by Combinatorial Methods
    1. Reliability Assessment: The Need for Probability
    2. Combinatoric Methods: Independent Failure Assumption
    3. Reliability Formalisms: Fault Trees, Reliability, Block Diagrams, Reliability Graphs
    4. Reliability Block Diagram Examples Algorithms and Assumptions
    5. Random Number and Random Variable Generators
    6. Types of Simulation: Transient and Steady-State
  3. Validation Using Classical State-Based Methods
    1. Availability: One Need for State-Based Methods
    2. Random Processes
    3. Discrete Time Markov Chains
    4. Continuous Time Markov Chains
    5. Markov Chain Solution Techniques: Transient and Steady State
    6. CTMC Model Examples
  4. Specifying High-Availability System Designs Using Stochastic Activity Networks
    1. The Need for High-Level Specification Methods
    2. Stochastic Petri Nets: Basic Definitions and Examples
    3. Generating Markov Models from Stochastic Petri Nets: Example
    4. Stochastic Activity Networks (SANs)
    5. Execution of SANs
    6. Specification of Reliability, Availability, and Performability Variables
    7. Simple Example: Multiprocessor Failure/Repair Model
    8. Building Larger Models from SAN Components: Composed Models
  5. Initial Case Studies and Examples - A Practical Introduction to Modeling with SANs and Möbius
    1. Basic approaches for building models
    2. Database system example
    3. "Faulty multiprocessor" example
    4. Representing non-exponential distributions as exponential
  6. Simulation-Based Validation Techniques
    1. Simulation as Model Experimentation - Basic Algorithms and Assumptions
    2. Random Number and Random Variable Generators
    3. Types of Simulation: Transient and Steady-State
    4. Confidence Intervals about Estimators - Statistical Issues and Pitfalls
    5. Parallel Simulation: Study-Level, Experiment-Level, and Trajectory-Level Parallelism
  7. Case Study: Modeling Computer System Security and Survivability
    1. System Description
    2. Security and Survivability Metrics
    3. Attacker Modeling
    4. System Modeling
    5. Result Analys
  8. Summary and Concluding Remarks
    1. Review of Previous Lectures
    2. The “Art” of Dependability Validation
    3. Validating Validation Models and Measurements
    4. Next Steps