A bakery loses its orders
A small bakery takes orders on its website. One Monday the site shows the wrong prices. On Tuesday it will not load at all. On Wednesday a customer says her address was posted online.
Three bad days, and three different problems. Security work starts by naming what could go wrong.
By the end of this lesson
Note
I can say what an attacker wants and what we protect.
Key words
| Word | What it means |
|---|---|
| Asset | something of value to protect |
| Threat | something that could cause harm |
| Confidentiality | only the right people can read it |
| Integrity | nobody changes it without permission |
| Availability | it works when people need it |
| Risk | how likely a harm is, and how bad |
The cells students fill in are left blank in this preview.
We protect three things about data
Security people check three things about every asset.
Confidentiality: only the right people can read it. A leaked address breaks it.
Integrity: nobody changes it without permission. Wrong prices break it.
Availability: it works when people need it. A website that will not load breaks it.
People call these three the CIA triad.
Worked example: the bakery’s three bad days
| What happened | What broke | Who is hurt |
|---|---|---|
| Prices changed to 1p | Integrity | The bakery loses money |
| The site will not load | Availability | Customers cannot order |
| An address is posted online | Confidentiality | The customer, then the bakery |
The cells students fill in are left blank in this preview.
An attacker wants something
A threat is something that could cause harm. Some threats are people, and some are accidents.
Most attackers want money. They steal card details, or lock files and ask for payment. Some want data to sell. Some want to stop a business working.
Accidents count too. A lost laptop or a deleted file can do as much harm.
A common mistake
Warning
Many people think security is only about stopping hackers. Mistakes by staff and broken hardware cause harm too. If you only watch for attackers, a lost laptop can still leak every customer’s address.
Risk is how likely times how bad
Nobody can stop every threat, so teams rank them by risk.
Give each threat a score from 1 to 5 for how likely it is. Give it another score from 1 to 5 for how bad it would be. Multiply them. The biggest numbers get fixed first.
A list like this is called a risk register. Many teams keep one.
Try it: rank three risks
# Each risk gets a score from 1 to 5 for how likely it is
# and a score from 1 to 5 for how bad it would be.
names = ["Laptop left on a train", "Website down for a day", "Prices changed by a stranger"]
likely = [3, 2, 1]
impact = [4, 3, 5]
for i in range(len(names)):
# Risk is likely times impact, so 25 is the worst
risk = likely[i] * impact[i]
print(names[i], "->", risk)
# Add a fourth risk: "Phishing email opened", likely 4, impact 3. Run it again.