Resilience Flashcards

1
Q

What is meant by resilience (defined)

A

Meaning: The resilience of a system is a judgement of how well that system can maintain the continuity of its critical services in the presence of disruptive events, such as equipment failure and cyberattacks.

Looks at whether:
* The overall system (people,
equipment and processes) was
resilient.
* It adapted to cope with and
recover from failure.

Note: Resilience is seen as a new attribute of dependability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Notes on the Ideas behind resilience?

A
  • Some offered services are critical, and their failure can have serious human, social or economic effects
  • Some events are disruptive and can affect the ability of a system to deliver its critical services
  • It is a judgement - there is no metric and it cannot be measured.
  • Initially within safety-critical systems, resilience was focused around understanding factors that lead to accidents being avoided and survived.
  • With an increasing number of cyberattacks on networks it is now also a security issue…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How are faults managed in relation to resilience?

A

Resilience engineering is concerned with limiting the costs of these failures and recovering from them.

Note: Resilience engineering assumes good reliability engineering practices have been
used to minimise the number of technical faults in the system.

Key Note: More emphasis on failures that arise from external events (operator errors or
cyberattacks)

Idea behind thesis:
* Faults will always be present in large, complex systems, and may lead to system failure.

  • Delivery schedules, testing budgets, pressure…
  • Impossible to detect all of the faults and security vulnerabilities in a software system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is meant by ‘Design Guidelines’ for security Engineering

A

Meaning: A set of guidelines that aid the developer/designer to make design decisions in developing secure systems.

Design guidelines generally involve:

  • Raise awareness of security
    issues in a software engineering
    team. Security is considered
    when design decisions are
    made.
  • Can be used as the basis of a
    review checklist that is applied
    during the system validation
    process.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Name and Describe each Design Guideline for Security Engineering?

A

Base decisions on an explicit security policy:
- Define a security policy for the
organisation that sets out the
fundamental security
requirements that should apply
to all organisational systems.

Avoid a single point of failure:
- Ensure that a security failure
can only result when there is
more than one failure in
security procedures. For
example, have password and
question- based authentication.

Fail securely:
- When systems fail, for whatever
reason, ensure that sensitive
information cannot be
accessed by unauthorised users
even though normal security
procedures are unavailable.

Balance security and usability:
- Try to avoid security procedures
that make the system difficult to
use. Sometimes you have to
accept weaker security to make
the system more usable.

Log user actions:
- Maintain a log of user actions
that can be analysed to discover
who did what. If users know
about such a log, they are less
likely to behave in an
irresponsible way.

Use redundancy and diversity to reduce risk:
- Keep multiple copies of data
and use diverse infrastructure
so that an infrastructure
vulnerability cannot be the
single point of failure.

Validate all inputs:
- Check that all inputs are within
range so that unexpected inputs
cannot cause problems.

Compartmentalise your assets:
- Organise the system so that
assets are in separate areas and
users only have access to the
information that they need
rather than all system
information.

Design for deployment
- Design the system to avoid
deployment problems

Design for recoverability
- Design the system to simplify
recoverability after a successful
attack

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is meant by Deployment in relation to software?

A

Meaning: Involves configuring software to operate in its working environment, installing the system and configuring it for the operational platform.

Note: Vulnerabilities may be introduced at this stage as a result of configuration mistakes.

Note: Designing deployment support into the system can reduce the probability that
vulnerabilities will be introduced.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Name all parts of the Software Deployment process?

A
  1. Understand and define the system’s operational environment
  2. Configure software with environment details.
  3. Install software on computers where it will operate.
  4. Configure software with computer details.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Name and describe the configuration vulnerabilities?

A

Vulnerable default Settings:
* Attackers can find out the
default settings for software. If
these are weak (often to
increase usability) then they can
be exploited by users when
attacking a system.

Development rather than deployment
* Some configuration settings in systems are designed to support development and debugging. If these are not turned off, they can be a vulnerability that can be exploited by attackers.

Access permissions
* Access permissions to system
assets may be set incorrectly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name and describe the different ways we can aid deployment support? (4 ways)

A

Include support for viewing and analysing congurations
* Make sure that a system
administrator responsible for
deployment can easily view the
entire configuration. This makes
it easier to spot omissions and
errors that have been made.

Localise configuration settings
* When setting up a system, all information that is relevant to the same part or component of a system should be localised so that it is all set up at once.
* Otherwise, it is easy to forget to set up related security features.

Minimise default privileges and thus limit the damage that might be caused
* Design the system so that the default privileges for an administrator are
minimised. This means that if someone gains admin access, they do not have immediate access to the features of the system.

Provide easy ways to x security vulnerabilities
* When problems are detected, provide easy ways, such as auto-updating, to repair security vulnerabilities in the deployed systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is meant by system resilience in relation to emergent property?

A

Meaning: Resilience (or survivability) is an emergent system property that reflects the
systems ability to deliver essential services whilst it is under attack or after
part of the system has been damaged.

Note: Resilience analysis and design should be part of the security engineering process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why is Resilience an important property to critical systems?

A

Our economic and social lives are dependent on computer systems

  • Critical infrastructure –electricity, gas, telecommunications, transport
  • Healthcare
  • Government

Loss of business systems for even a short time can have very severe economic effects:
* Airline reservation systems,
E-commerce systems,
Payment systems

Things worth thinking about:
* Which system services are the most critical for a business?
* How might these services be compromised?
* What is the minimal quality of service that must be maintained?
* How can these services be protected?
* If a service becomes unavailable, how quickly can it be recovered?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Name and Describe three key resilience strategies to ensure resilience of a system?

A

Resistance
* Avoiding problems by building capabilities into the system to resist attacks.

Recognition
* Detecting problems by building capabilities into the system to detect attacks and failures and assess the resultant damage.

Recovery
* Tolerating problems by building capabilities into the system to deliver services whilst under attack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Name all stages of resilience analysis?

A
  1. Review System Requirements and Architecture.
  2. Identify critical services and components.
  3. Identify attacks and compromisable components.
  4. Identify soft-spots and survivability strategies.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the key activities involved in security engineering?

A
  • System understanding
    • Review goals, requirements
      and architecture
  • Critical service identification
    • Identify services that must be
      maintained
  • Attack simulation
    • Devise attack scenarios and
      identify components affected
  • Resilience analysis
    • Identify resilience strategies to
      be applied
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is meant by software doping?

A

Meaning: A hidden functionality in the software that the resulting behaviour servers another hidden (third party) interest, or against the interest of the user.

Note: Characterising software doping is important as more and more software is embedded in various devices

Note: Software runs on hardware. Software is licensed to the hardware owner. No physical nor logical control over the software - and sometimes software does not even run locally but in the cloud.

Note: The promised functionality may differ from what it should be . sometimes accidentally but sometimes intentionally to favour a third party.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Summary of Topic (Resilience)

A

Resilience looks at the overall system and is adapted to cope with failure and recover from subsequent failure.

Design guidelines aid in ensuring the systems design is secure and raises awareness on key security issues that need to be addressed in the design.

Software Deployment needs to include support in aiding the user on install the software on their computer.

Resilience strategies (Resistance, Recognition and Recovery) must be used to help systems recover from disruptions and cyber-attacks.