Skadlig terminologi

Postad 2017-05-20 av Karl Pettersson. Taggar: datavetenskap

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.

Referenser

Eichin, Mark W. och Jon A. Rochlis. 1989. ”With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988”. I In Proceedings of the Symposium on Research in Security and Privacy. http://www.mit.edu/people/eichin/virus/main.html.

MalwareTech. 2017. ”How to Accidentally Stop a Global Cyber Attacks”. https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-cyber-attacks.html.

Spafford, Eugene H. 1989. The Internet Worm Program: An Analysis. http://spaf.cerias.purdue.edu/tech-reps/823.pdf.

———. 2003. ”A Failure to Learn from the Past”. I In Proceedings of the 19th Annual Computer Security Applications Conference. https://www.acsac.org/2003/papers/classic-spafford.pdf.