CS 448/548: Survivable Systems and Networks
Computers and networks under malicious threat or attack. Attributes of survivability, trustworthiness, dependability and assurance. Threats to survivability, security, reliability and performance. Models and analytical methods to assess survivability, vulnerability, interdependence and risk. Systemic inadequacies and approaches for overcoming deficiencies. Literature review and case studies. Additional project/assignments required for graduate credit.
Type: CS 448 is a Technical Elective for CS majors. CS 548 is available for graduate credit.
Total Credits: 3
Course Coordinator: Axel Krings
Prereq: Recommended preparation CS J449/J549.
Textbook: No Textbook but a reading list of classic and contemporary research articles is supplied.
Prerequisites by Topic:
- Proficient programming skills in a high level language such as C++ or Java (CS 121)
- Understanding of basic concepts of programming languages and the benefits and limitations associated with them (CS 210)
- Ability to use basic software development tools (CS 270)
- Understand fundamental concepts of computer organization, computer architecture, operating systems and their relationship to application programs (CS 150, CS 240)
Major Topics Covered
- 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
After completing the course, students should:
- Understand basic terminology, definitions and how survivability relates to fault-tolerance and security
- Be able to assess what malicious act is and how it affects system design considerations,
- Understand the statistical assumptions and impact of complicated hazard functions on survivability quantification,
- Understand dissimilarity and knowledge of how N-version and N-variant software can counter common mode faults,
- Know how to design systems that address surviving a mix of faults, indicated by hybrid fault models,
- Be able to specify decentralized services to overcome maliciously induced faults,
- Understand risk assessment and management strategies,
- Be able to assess the survivability of a system under given assumptions,
- Understand common case studies.