Podcast
Questions and Answers
What is a system, in terms of security, that requires protection?
What is a system, in terms of security, that requires protection?
Asset
The security dimension of integrity refers to unauthorized access to information that is not supposed to be accessed.
The security dimension of integrity refers to unauthorized access to information that is not supposed to be accessed.
False (B)
What is the most important system dependability attribute?
What is the most important system dependability attribute?
Security
What assessment is used to identify generic risks applicable to a system and to decide if an adequate level of security can be achieved at a reasonable cost?
What assessment is used to identify generic risks applicable to a system and to decide if an adequate level of security can be achieved at a reasonable cost?
Signup and view all the answers
Which of the following is NOT a fundamental issue in designing a system architecture that maintains security?
Which of the following is NOT a fundamental issue in designing a system architecture that maintains security?
Signup and view all the answers
What is the process of evaluating security risks during system design?
What is the process of evaluating security risks during system design?
Signup and view all the answers
Misuse cases are not directly associated with use cases.
Misuse cases are not directly associated with use cases.
Signup and view all the answers
What are the three security dimensions?
What are the three security dimensions?
Signup and view all the answers
What does secure system design incorporate from the beginning to protect it from threats?
What does secure system design incorporate from the beginning to protect it from threats?
Signup and view all the answers
Secure system programming means writing software without security in mind.
Secure system programming means writing software without security in mind.
Signup and view all the answers
Which of the following is NOT a type of security testing?
Which of the following is NOT a type of security testing?
Signup and view all the answers
Formal verification is essential for proving that a program conforms to its specification.
Formal verification is essential for proving that a program conforms to its specification.
Signup and view all the answers
What is the process of designing and implementing security into an application system?
What is the process of designing and implementing security into an application system?
Signup and view all the answers
What type of security testing involves drawing on experience from outside the development team to test an application system?
What type of security testing involves drawing on experience from outside the development team to test an application system?
Signup and view all the answers
Secure system design is not a primary factor when considering secure systems engineering.
Secure system design is not a primary factor when considering secure systems engineering.
Signup and view all the answers
Which of these is NOT a measure that can be used to reduce a system's vulnerability?
Which of these is NOT a measure that can be used to reduce a system's vulnerability?
Signup and view all the answers
What are scenarios that represent malicious interaction with a system, used to discuss and identify possible threats and attacks associated with the system's security?
What are scenarios that represent malicious interaction with a system, used to discuss and identify possible threats and attacks associated with the system's security?
Signup and view all the answers
What is the process of incorporating security measures into a system to protect it from threats?
What is the process of incorporating security measures into a system to protect it from threats?
Signup and view all the answers
A security case demonstrates that a system is secure if it's adequately safe for a given application in a particular environment.
A security case demonstrates that a system is secure if it's adequately safe for a given application in a particular environment.
Signup and view all the answers
Flashcards
Safety-Critical System
Safety-Critical System
A system where safe operation is essential, preventing harm to people and environment.
Primary Safety-Critical Software
Primary Safety-Critical Software
Software directly controlling hardware, malfunctions can lead to injury or damage.
Secondary Safety-Critical Software
Secondary Safety-Critical Software
Software that indirectly leads to hazards; design faults from software can cause harm.
Hazard
Hazard
Signup and view all the flashcards
Hazard Avoidance
Hazard Avoidance
Signup and view all the flashcards
Hazard Detection and Removal
Hazard Detection and Removal
Signup and view all the flashcards
Damage Limitation
Damage Limitation
Signup and view all the flashcards
Safety Requirements
Safety Requirements
Signup and view all the flashcards
Hazard Identification
Hazard Identification
Signup and view all the flashcards
Risk Assessment Categories
Risk Assessment Categories
Signup and view all the flashcards
ALARP
ALARP
Signup and view all the flashcards
Formal Verification
Formal Verification
Signup and view all the flashcards
Model Checking
Model Checking
Signup and view all the flashcards
Static Program Analysis
Static Program Analysis
Signup and view all the flashcards
Safety Case
Safety Case
Signup and view all the flashcards
Cybersecurity
Cybersecurity
Signup and view all the flashcards
Confidentiality
Confidentiality
Signup and view all the flashcards
Integrity
Integrity
Signup and view all the flashcards
Availability
Availability
Signup and view all the flashcards
Interception Threats
Interception Threats
Signup and view all the flashcards
Modification Threats
Modification Threats
Signup and view all the flashcards
Penetration Testing
Penetration Testing
Signup and view all the flashcards
Misuse Cases
Misuse Cases
Signup and view all the flashcards
Design Risk Assessment
Design Risk Assessment
Signup and view all the flashcards
Defense in Depth
Defense in Depth
Signup and view all the flashcards
Secure Programming
Secure Programming
Signup and view all the flashcards
Security Testing
Security Testing
Signup and view all the flashcards
Static Analysis Levels
Static Analysis Levels
Signup and view all the flashcards
Study Notes
Safety Engineering
- Safety in software systems is achieved by understanding situations leading to safety-related failures. Software is engineered to prevent failures. System reliability is necessary but not sufficient for safety.
- Safety-critical systems require operation to always be safe, regardless of specifications.
- Safety-critical software is divided into two classes:
- Primary: Embedded controller software that, if malfunctioning, can lead to hardware failure and harm people/environment.
- Secondary: Software that, though not directly interacting with hardware, can cause harm (e.g., design software errors leading to faulty designs.)
Safety-Critical System
- Hazard is a state capable of causing an accident.
- Strategies for avoiding accidents include:
- Hazard avoidance: Designing systems to eliminate hazards.
- Hazard detection and removal: Designing systems to detect and remove hazards that threaten safety.
- Damage limitation: Designing systems with protection features to minimize the damage from an accident.
Safety Terminology
- Accident (or mishap): An unplanned event with human injury or damage to property/environment.
- Damage: Loss resulting from a mishap, ranging from minor injury to widespread devastation.
- Hazard: Conditions with potential for causing or contributing to an accident.
- Hazard probability: Likelihood of a hazard occurring.
- Hazard severity: Assessment of worst possible damages.
- Risk: Measure of probability a system will cause an accident, based on hazard probability, severity and probability of causing an accident.
Safety Requirements
- Safety requirements define checking and recovery facilities in a system.
- Activities in a hazard-driven safety specification process:
- Hazard identification: Identifying hazards threatening the system.
- Hazard assessment: Deciding which hazards are most dangerous/likely.
- Hazard analysis: Root-cause analysis of hazard occurrences.
- Risk reduction: Safety requirements to minimize hazard resulting accidents.
Hazard Assessment
- Focuses on understanding factors causing hazards and their consequences.
Hazard Analysis
- Process of discovering root causes of hazards in a safety-critical system.
- Fault tree analysis is a common hazard analysis technique.
Risk Reduction
- Identifying strategies for minimizing risks and ensuring no accidents occur.
- Hazard avoidance,
- Hazard detection and removal, and
- Damage limitation are possible strategies used.
Risk Categories
- Three risk categories help in hazard assessment.
- Intolerable: Risks threatening human life; system must stop threat from occurring.
- ALARP: Risks with less serious consequences but high probability are reduced as far as reasonably possible.
- Acceptable: Risks with minor damages; every possible step is taken to reduce risk from happening.
Safety Assurance Processes
- Activities ensuring a system operates safely.
- Hazard analysis and monitoring: Monitoring hazards traced through system development.
- Safety reviews: Regularly reviewing security throughout software development.
- Safety certification: Certification of crucial components.
Formal Verification
- Formal methods of software development using a mathematically sound model of a system.
Model Checking
- Creating a formal state model of a system to check correctness.
Static Program Analysis
- Automated tools scanning code to detect potential errors and anomalies.
Safety Cases
- Documented evidence proving a system's safety for a given application. Safety cases relate software failures to broader system failures, and demonstrate that either failures will not occur or won't be propagated causing system failures.
Structured Arguments
- These logical arguments are used to decide a system's operational safety. These arguments use evidence to support claims about security/dependability and use a claim-based approach.
Software Safety Arguments
- Demonstrates that a software program will operate as intended without causing unsafe states.
Security Engineering
- Software systems are more connected to the internet, creating various external attacks that developers must consider.
- System threats come from malicious actors with technical skills as well as accidental mistakes in development.
- Three Security Dimensions:
- Confidentiality: Protecting information from unauthorized access.
- Integrity: Preventing unauthorized modification or corruption of data.
- Availability: Ensuring authorized access to data and services as needed.
- Security is organizational, with levels for infrastructure, applications, and operations.
Security Threats
- Interception threats: Attackers gain access to protected assets.
- Interruption threats: Attackers make part of a system unusable.
- Modification threats: Attackers tamper with system assets.
- Fabrication threats: Attackers insert false information into a system.
- Controls use avoidance (stopping threats), detection (identifying), and recovery (fixing).
System Design
- Security is integrated from the start.
- Decisions about Security at the architectural design influence overall protection.
- Practices for improving system reliability through Security.
Secure Systems Programming
- Secure system design and programming requires conscious thinking about security into every part of the application design.
Security Testing and Assurance
- Assessing how well a system can withstand attacks and weaknesses.
- Experience-based testing: Testing using known attack types.
- Penetration testing: External testing to look for vulnerabilities.
- Tool-based analysis/Formal Verification: Checking against known weaknesses and proving it conforms to its specifications.
Design Guidelines
- Guidelines for secure systems engineering, including defense-in-depth, security balancing usability.
Architectural Design
- Architectural design decisions have big effects on a software system's emergent security properties. System architectures must consider protection and distribution techniques so critical assets are protected and the consequences of attacks are minimized. Layers exist for platform, application, and record-level protection.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz delves into the fundamentals of safety engineering, emphasizing the importance of preventing failures in safety-critical software systems. It covers various strategies for hazard avoidance and the classification of safety-critical software into primary and secondary categories. Test your understanding of these crucial concepts and their application in engineering safe software.