CS 448/548: Survivable Systems and Networks

This page is ALWAYS under construction!!!

Welcome to CS448/548 Survivable Systems and Networks. This course is offered in the Spring Semester 2017 at the University of Idaho. The course is taught by Dr. Axel Krings. The web site used the last time the course was taught can be viewed here, but be aware that each semester the format and material will change to reflect the dynamic behavior of the research area. This web-page contains information about the course, e.g. syllabus, class notes, pointers to interesting places etc. Material can be down-loaded in pdf and/or postscript format, and will be made available in the updated form as the class goes on. If you have comments, please let me know.

Imagine what would happen if our critical infrastructures were to be compromised by malicious act -- failure of communications, power, water, gas, banking & finance, emergency services etc. With increasing computer security concerns and the recognition of the vulnerability of our critical infrastructure to cyber terrorism, achieving Survivability of Systems under attack is vital in computing and networked systems, whether it is the systems themselves or the critical applications or infrastructures they control.

This course will focus on malicious act and other faults and their impacts on systems, as well as techniques useful in the design of systems that can survive such acts. Survivability goes beyond computer & network security or fault-tolerance. The range of threats to survivability that must be considered is enormous, including hardware malfunctions, software flaws, environmental hazards, and malicious and accidental human acts. However, we will also expand our view to include resilient systems and intrusion tolerant systems. These terms are actually closely related and have common attributes. But can one really design systems that can survive attacks, tolerate intrusions or be resilient? You would be surprised to find out that there is an entire research areas that deals with exactly that. Don't think of your laptop that becomes invincible (no James Bond scenarios here). Think bigger, think of models that help analyze systems, model reliability, identify essential services, explore the limits of redundancy and the assumptions under which this will or will not work. Think of what kind of faults or attack scenarios those systems may be subjected to. Now tab into the vast amount of tools and solutions that exist, including agreement algorithms, N-version & N-variant software, new Hybrid Fault Models, new analyzing approaches etc. and start designing your system!

Course description: This course discusses issues of Survivability, Attributes of System Survivability, Trustworthiness, Dependability and Assurance, Threats to Survivability, Threats to Security, Threats to Reliability, Threats to Performance, Requirements and Their Interdependence, Systemic Inadequacies, Approaches for Overcoming Deficiencies, Evaluation Criteria, Attempts at Standardization, Architectures for Survivability, Implementing and Configuring for Survivability. However, we will not limit ourselves to the term "survivability" and look at contemporary issues of resilient systems, which are closely related in their goals.

A wealth of literature has surfaced that deals with issues of system survivability. This class will be taught in several phases in which material will be presented by the instructor and literature will be reviewed by individual or groups of students. The results will be individual and group presentations as well as discussions of contemporary issues. The exact list of topics and class format is not final and a work in progress.