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 | |
|---|---|---|
| 1update_server.upload("app_v2.1.exe") # contains hidden malware | AA criminal slips malicious code into a genuine update on the supplier's own server, so it looks like normal software. | |
| 2auto_update = True # installs without asking | BBelieving automatic updates remove all risk. A compromised update installs automatically, giving malware a quick route onto many devices. | |
| 3Users trust an update because it comes from a supplier they already use and believe is safe. | CUpdates install by themselves, so a compromised update can reach many devices before anyone notices the problem. | |
| 4A safer approach is to check that an update is genuine before installing it, rather than trusting its source alone. | Dif verify_signature(update): install(update) | |
| 5if source == "trusted": install(update) # so it must be safe | EAssuming an update is safe just because it comes from a trusted supplier. The supplier's system may have been compromised. | |
| 6auto_update = True # no need to ever check updates | Fif sender == "trusted_supplier": install(update) |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
compromised software update — A software update from a trusted supplier that criminals have secretly infected with malicious code, so users install it believing it is safe.supplier = "trusted"
autoUpdate = Trueif supplier == "trusted":
install(update)infected = True
if infected:
alert("Do not install")trusted = True
infected = True
safe = trusted and not infectedupdates = ["v2.1", "v2.2"]
for update in updates:
verify(update)