Availability

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Availability

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Which statement best describes availability?
A Only the data owner can ever read the data
B Authorised users can reach data and systems when they need them
2. A denial of service attack floods a school portal with traffic so students cannot log in. Which part of the CIA triad is reduced?
A Confidentiality
B Availability
3. A server's hard drive fails and a business cannot access its customer records for two days. What has been reduced?
A Availability, caused by hardware failure
B Confidentiality, caused by a social engineering attack
4. Which action best improves availability if a single server fails?
A Keep a redundant backup server ready to take over
B Encrypt the files on the single server
5. Which of these is an availability problem?
A An authorised user is locked out because the system is offline
B An unauthorised person reads a customer's address

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1uptime = 99.9 AChanging stored values harms integrity, not availability. A denial of service attack reduces availability by overwhelming a system so users cannot reach it.
2if disk_status == "failed": BA measure of availability: the percentage of time a system is working and reachable by authorised users
3A denial of service attack reduces availability by flooding a server with requests so real users cannot get in Crequests_per_second > server_limit
4Hardware failure can be reduced by keeping a spare copy of the data on a second server that takes over Dif main_server == "down": use(backup_server)
5Availability means only the data owner can ever open the data EA check for hardware failure, which reduces availability when data or systems can no longer be reached
6A denial of service attack reduces availability by changing the values stored in a database FThis describes confidentiality or restricted access, not availability. Availability means authorised users can reach data when they need it.

Definitions

Availability

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
if uptime / totalTime _ 0.99 then alert(admin)
2.
if ___ serverOnline then switchTo(backupServer)
3.
_____ not connected connected ← connect(backupServer)
4.
if requestsPerMinute _ limit then block(ipAddress)
5.
define availability(uptime, totalTime) ______ uptime / totalTime * 100

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A servers = 3
B failed = 1
C working = servers - failed
D availability = failed / servers
E print(availability)
Question 2
A def is_available(status):
B return status = 'up'
C print(is_available('up'))
Question 3
A requests = 5000
B limit = -100
C if requests > limit:
D print('Possible DoS')
Question 4
A def get_server(primary_up)
B if primary_up:
C return 'primary'
D return 'backup'
Question 5
A disks = 2
B disks_failed = 1
C if disks_failed >= disks:
D print('Data available')

Answer Key

Availability
Section A: Quick Questions
Q1
B — Authorised users can reach data and systems when they need them
Q2
B — Availability
Q3
A — Availability, caused by hardware failure
Q4
A — Keep a redundant backup server ready to take over
Q5
A — An authorised user is locked out because the system is offline
Section B: Match the Pairs
Q1
uptime = 99.9 → A measure of availability: the percentage of time a system is working and reachable by authorised users
Q2
if disk_status == "failed": → A check for hardware failure, which reduces availability when data or systems can no longer be reached
Q3
A denial of service attack reduces availability by flooding a server with requests so real users cannot get in → requests_per_second > server_limit
Q4
Hardware failure can be reduced by keeping a spare copy of the data on a second server that takes over → if main_server == "down": use(backup_server)
Q5
Availability means only the data owner can ever open the data → This describes confidentiality or restricted access, not availability. Availability means authorised users can reach data when they need it.
Q6
A denial of service attack reduces availability by changing the values stored in a database → Changing stored values harms integrity, not availability. A denial of service attack reduces availability by overwhelming a system so users cannot reach it.
Section C: Definitions
Q1
Availability — Authorised users can reach data and systems when they need them. Attacks like denial of service and hardware failure reduce it. It is one part of the CIA triad.
Section D: Fill in the Blanks
Q1
if uptime / totalTime < 0.99 then alert(admin)
Q2
if not serverOnline then switchTo(backupServer)
Q3
while not connected connected ← connect(backupServer)
Q4
if requestsPerMinute > limit then block(ipAddress)
Q5
define availability(uptime, totalTime) return uptime / totalTime * 100
Section E: Spot the Error
Q1
D — Availability is the share of servers that are still working. It should divide working by servers, not failed by servers.
Q2
B — A single = assigns a value, so it is a syntax error here. Checking whether a system is up needs the comparison operator ==.
Q3
B — A negative limit means every request is over the limit, so normal traffic would be flagged as a denial of service attack. The limit should be a positive number such as 100.
Q4
A — A function header must end with a colon. It should be def get_server(primary_up):
Q5
C — With mirrored disks, data stays available while at least one disk survives. That means failed disks must be fewer than total disks (<), not greater than or equal.