Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.
Shade in the A or B circle for each question.
Draw a line connecting each item on the left to its match on the right.
| Left column | Right column | |
|---|---|---|
| 1supplier = "SolarWinds Orion" | Aif update.signed: install(update) | |
| 2update.install() -> backdoor | BThis trusts an update only because it comes from a known supplier. That blind trust is the weakness a supply chain attack exploits. | |
| 3Working out who was affected: every customer of the supplier who installed the bad update. | CCustomers installed a real-looking update that secretly carried hidden malicious code. | |
| 4The update spread because customers trusted the supplier and installed it without suspicion. | DThis shows attackers targeting each victim separately. A supply chain attack breaches one supplier and reaches many victims through it. | |
| 5attack = hit(each_customer) | Evictims = supplier.customers | |
| 6if from_supplier: skip_checks() | FThe trusted supplier that was breached. Its software was the single entry point for the whole attack. |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
supply chain attack — An attack where hackers breach one trusted supplier and use its software update to reach many victims. A case study traces the supplier, how the update spread and who was hit.supplier = "SoftCo"
breached = True
print(supplier, breached)customers = ["A", "B", "C"]
for c in customers:
print("update sent to", c)victims = ["School", "Bank", "Council"]
total = len(victims)
print(total)suppliers = 1
victims = 18000
ratio = victims / suppliersdef reach(customers):
return len(customers)
print(reach(["A", "B"]))