Security and Dependability Notes
System Dependability
Reflects user trust in the system.
Covers reliability, availability, and security.
Failures can have widespread effects and high costs.
Principal Properties
Availability: Probability of the system being up and running.
Reliability: Probability of the system delivering correct services.
Safety: Judgment of the likelihood of causing damage.
Security: Judgment of the system's resistance to intrusions.
Other Dependability Properties
Repairability: Extent to which the system can be repaired after failure.
Maintainability: Extent to which the system can be adapted to new requirements.
Survivability: Extent to which the system can deliver services under attack.
Error tolerance: Extent to which user input errors can be avoided and tolerated.
Availability and Reliability
Reliability: Probability of failure-free operation over time.
Availability: Probability that a system is operational at a point in time.
Both can be expressed quantitatively (e.g., availability of 0.999).
Reliability Achievement
Fault avoidance: Minimizing mistakes during development.
Fault detection and removal: Detecting and correcting errors before service.
Fault tolerance: Ensuring faults don't result in system failures.
Safety
Ability to operate without causing human injury or environmental damage.
Software safety is crucial due to software-based control systems.
Safety requirements exclude undesirable situations.
Safety Achievement
Hazard avoidance: Designing the system so hazards cannot arise.
Hazard detection and removal: Detecting and removing hazards before accidents.
Damage limitation: Minimizing damage from accidents.
Software Safety Benefits
Software enhances system safety through monitoring and control.
Reduces time spent in hazardous environments.
Detects and corrects safety-critical operator errors.
Security
System's ability to protect itself from external attacks.
Essential due to networked systems and internet access.
Pre-requisite for availability, reliability, and safety.
Security Assurance
Vulnerability avoidance: Designing the system to avoid vulnerabilities.
Attack detection and elimination: Detecting and neutralizing attacks.
Exposure limitation and recovery: Minimizing consequences of successful attacks.