Skadlig terminologi
I förra inlägget skrev jag om WannaCry-attacken, som vållade stor
uppståndelse runt om i världen den helgen. Den tycks ha klingat av
ganska snabbt, efter att det upptäckts att programmet innehåller en
kill switch
, som gör att det stängs av om det lyckas ansluta till en
viss domän (MalwareTech 2017). Jag skrev om klassifikationen av skadlig
programvara och använde följande distinktioner:
- Mask
- Ett program som kan köras som en fristående process och sprida fungerande versioner av sig själv till andra datorer.
- Virus
- Ett stycke kod som inte kan köras fristående men infogar kopior av sig själv i andra programs kod (och aktiveras och sprider sig när dessa program
- Trojansk häst
- Ett program som användaren manipuleras att köra genom att dess skadliga funktionalitet utges för något annat.
De två första definitionerna kommer från Spafford (1989), och den tredje verkar vara allmänt accepterad inom IT-världen sedan lång tid tillbaka. WannaCry är med dessa definitioner en bladning av trojansk häst och mask. Det flesta mjukvaror i kategorin ransomware som spridits tidigare har varit enbart trojanska hästar, vilket inneburit att de inte kunnat spridas lika snabbt som WannaCry.
Som jag exemplifierade i förra artikeln förekom det att WannaCry
betecknades som virus
i media, vilket förmodligen kan hänföras till en
utbredd benägenhet att slarvigt använda termen virus
för alla typer av
skadliga program. Detta kan jämföras med att kalla meningokocker för
virus (vilket jag också sett), eller för den delen att behandla
hjärtinfarkt som ekvivalent med sjukdomar i cirkulationsorganen i
allmänhet. Dock har det gjorts mer sofistikerade försök till
klassificering som också medför att program som WannaCry är virus.
Eichin och Rochlis (1989) behandlar Robert Morris program som sänkte en betydande del av
dåvarande Internet i november 1988 och som författarna, som framgår av
uppsatsens titel, klassificerar som ett virus, samtidigt som Spafford (1989)
i enlighet med definitionerna ovan klassificerar det som mask.
De hävdar att en biologisk mask är en organism med segmenterad kropp, som reproducerar sig genom att lossa på segment innehållande ägg, och att Morris program inte kan vara en mask därför att det inte har någonting analogt med dessa segment. När det gäller klassifikationen av virus faller de tillbaka på en biologisk distinktion mellan lytiska och lysogena virus. Lytiska virus tar sig in i celler, använder deras ämnesomsättning för att skapa nya virioner, vilka bryter sig ut ur cellen så att den förstörs. Lysogena virus införlivar sig å andra sidan i cellens arvsmassa och följer med denna vid celldelningar. Men lysogena virus kan också aktiveras så att det bildas virioner, som bryter sig ut ur celler: det är mer frågan om lytiska och lysogena faser i virusens förökning. Exempel på biologiska virus med lysogen fas är många bakteriofager, som infekterar bakterier, och retrovirus, som HIV. Andra RNA-virus, som de virus som orsakar förkylning, influensa och mässling, har ingen lysogen fas. Program som klassificeras som maskar enligt Spaffords definition (som Morris program och WannaCry) skulle motsvara lytiska virus: de tar via nätverket kontakt med processer som körs i datorn och får dessa att skapa en ny virusprocess. Virus enligt Spaffords definition motsvarar snarare lysogena virus: de infogar sig själva i programs kod (och följer med när koden kopieras).
Spafford (2003) kommenterar denna klassifikation och säger att den visar på faran att införliva terminologi från en disciplin (biologi) i en annan (IT), där definitionerna i biologin kan vara mycket mer komplexa än de IT-människor som börjat använda terminologin tänkt sig: det kan snabbt bli mycket snårigt att upprätthålla analogierna mellan biologiska virus och maskar och deras motsvarighet i datorvärlden.
En del har definierat virus som vilka program som helst som kan skapa
kopior av sig själva: som Spafford (2003) påpekar medför det att
kompilatorer och editorer också är virus (för att inte tala om quines
,
program som skapar en kopia av sin egen kod utan att ta några indata men
inte sprider sig till andra program eller system), Detta samtidigt som
trojanska hästar, som i nutida rapportering, som jag exemplifierade i
förra inlägget, beskrivs som vanliga virus
, faller utanför.
Argumentet hos Eichin och Rochlis (1989) mot att klassificera program som Morris som
maskar, verkar bygga på en analogi till bandmaskar, tapeworms
(vilket också var vanligt förekommande på den tiden): det finns andra
typer av maskar som inte är segmenterade på det sätt de beskriver.
Samtidigt är distinktionen mellan virus och maskar användbar, eftersom
de båda typerna av skadliga program sprids i olika slags datormiljöer
och kräver olika skyddsåtgärder. Virus sprids i miljöer där folk flyttar
media som disketter från den ena datorn till den andra och det inte
finns något skydd för körbara filer och diskenheter i systemet (som i
typiska DOS-system för 25 år sedan). Maskar sprids i miljöer där datorer
är uppkopplade med dåligt uppdaterade serverprogram, svaga lösenord
eller otillräckliga brandväggar (som Internet of things
idag). Det
skulle knappast vara pedagogiskt fördelaktigt om det inte gick att
greppa den åtskillnaden utan att förstå sådana biologiska distinktioner
som den mellan lytiska och lysogena virus eller faser.