Inga hack

Postad 2019-04-15 av Karl Pettersson. Taggar: datavetenskap

Det senaste avsnittet av Vetenskapens värld handlar om kvantdatorer, och i ett inslag behandlas hur tekniken skulle kunna användas för kommunikation som inte skulle vara möjlig att avlyssna utan att detta märktes (SVT 2019). I inslaget sägs att detta, om det fungerar, skulle kunna leda till ett framtidens kvantinternet, som inte går att hacka. Vad som menas med att detta nät inte går att hacka är inte helt klart: det verkar tämligen uppenbart att det slags avlyssning som beskrivs bara är ett av många hot mot säkerhet vid kommunikation i datornät.

Formuleringen för tankarna till den föreställning som beskrivs av Cox (2008): att vissa systemmiljöer (Unixliknande system, som Linux och det som 2008 kallades OS X) skulle vara immuna mot virus. Cox påtalar att Robert T. Morris mask, som orsakade allvarliga störningar i det Internet som fanns i november 1988, attackerade just Unixsystem.1 Därefter hänvisar han till två uppsatser från den tiden av personer som båda var involverade i utvecklingen av Unix och Plan 9 vid Bell Labs, Duff (1989) och McIlroy (1989).

Tonvikten i Duffs artikel ligger på skalvirus: fragment av skalskript som, när de körs, letar upp skalskript och injicerar sig själva i dessa, om de inte redan är infekterade. Principen skiljer sig inte från de virus i maskinkod som spreds i DOS-miljö. En del av hans exempel är destruktiva och försöker öppna bakdörrar i systemet, andra är oneliners som inte gör annat än att sprida sig. Poängen med exemplen är att datorvirus inte är något märkvärdigt: spridningen sker hela tiden med hjälp av enkla kommandon i standardverktyg på Unixsysten, som grep, sed, tee och liknande. Vilket programmerbart system som helst som tillåter delning av information är mottagligt för virusattacker, säger han, och exemplifierar med Unixprogram som awk, make, troff, emacs, kalkylblad och databashanterare.

McIlroy (1989) har liknande poängder och diskuterar också terminologin kring skadlig kod. Virus definieras ofta (som jag skrev om den 13 maj och 20 maj 2017) med det nödvändiga villkoret att de bor i andra program, vilket skiljer dem från maskar, som körs fristående och sprider sig mellan datorer i nätverk. McIlroy säger att den distinktionen är litet godtycklig: hela datorsystemet kan ses som ett stort program. Jo, det är kanske än tydligare med dagens flitiga användning av virtuella maskiner, men det kan då ändå vara fruktbart att skilja mellan nätvirus som sprids via nätverk och virus som sprids i mer traditionella filsystem, eftersom de har olika förutsättningar för att spridas effektivt. I slutet av sin uppsats konstaterar McIlroy att datorvirus är en träffande benämning: de är en konsekvens av programmering liksom sjukdom är en konsekvens av liv. Mer avancerade former av programmering är, precis som mer avancerade former av liv, mottagliga för fler sjukdomar.

Men även om immunitet mot virus och skadlig kod inte är möjlig (om systemen inte skall vara helt låsta), finns det (som både Duff och McIlroy betonar) ändå en del som kan göras för att reducera omfattningen av attacker. Nu har det gått 30 år sedan Duffs och McIlroys uppsatser skrevs, och Unixsystem med i grunden samma skal har fortsatt att användas flitigt under hela perioden, men inga omfattande attacker med skalvirus har ägt rum. Inte heller har det skett några förödande virusangrepp riktade mot de andra Unixprogram Duff räknar upp, eller mot skriptspråk som Perl och Python, som under de senaste decennierna till viss del ersatt traditionella skalskript. Däremot ger hans anmärkningar olycksbådande föraningar om de makrovirus riktade mot program som Word och Excel, som skulle bli ett allvarligt problem från mitten av 1990-talet. Till en del är det så att dessa program blivit attraktiva måltavlor för angrepp på grund av det stora antalet användare som oftast inte är så tekniskt medvetna, men bristen på filskydd i framför allt äldre Windowssystem och dokumentens komplexa struktur, där makrokoden inte är synlig när dokumenten öppnas, har nog också bidragit. PowerShell, som på många sätt liknar skalen i Unix (och numera finns tillgängligt som ett alternativt, fritt skal för Unixliknande system), hade kunnat bli en ny favoritplattform för skadlig kod, men det har begränsats av bättre filskydd i nyare Windowssystem, i förening med att PowerShell som standard har körning av skript avstängt på Windowsklienter och det krävs ett kommando, Set-ExecutionPolicy, för att aktivera denna funktionalitet.

Det är ändå först under 2000-talet som de Windowsversioner som normalt kommer förinstallerade med persondatorer fått möjligheter till filskydd av det slag som funnits i exempelvis Unixsystem sedan 1960-talet, och ofta har denna funktionalitet inte utnyttjats effektivt, på grund av problem med bakåtkompatiblitet, bristfälliga kunskaper eller lättja. Den sistnämnda typen av problematik var utbredd inom Unixvärlden innan angrepp som Morris 1988 tvingade fram skärpning och förekommer fortfarande i det som kallas Internet of Things, där enheterna ofta kör något inbäddat Unixliknande system konfigurerat med obefintlig säkerhet. Ändå får det ses som ett framsteg när dagens angripare, med ekonomiska motiv, tenderar att nöja sig med att sprida länkar till trojanska hästar, som kräver manuell aktivering av användaren: troligen har systemens barriärer förbättrats så mycket att de sällan har något att vinna på att göra programmen till självreproducerande virus eller maskar. Om så inte vore fallet kunde vi drabbas av angrepp som var lika destruktiva för de drabbade som dagens krypteringshästar och spreds lika effektivt (relativt antalet uppkopplade datorer) som Morrismasken eller ILOVEYOU-angreppet 2000.

Referenser

Cox, Russ. 2008. ”Unix Viruses”. https://research.swtch.com/virus.

Duff, Tom. 1989. ”Experience with viruses on UNIX systems”. Computing Systems 2 (2). https://www.usenix.org/legacy/publications/compsystems/1989/spr_duff.pdf.

McIlroy, Doug. 1989. ”Virology 101”. http://www.cs.dartmouth.edu/~doug/v101.ps.gz.

Wikipedia. 2018. ”Robert Morris (cryptographer) – Wikipedia”. https://en.wikipedia.org/w/index.php?title=Robert_Morris_(cryptographer)&oldid=836772240.


  1. Maskförfattarens far, Robert H. Morris, som bidrog till Unix på 1970-talet, och (tillsammans med Lorinda Cherry) exempelvis utvecklade räkneprogrammen dc och bc, uppges ha sagt att de tre gyllene reglerna för datorsäkerhet är: äg inte en dator, sätt inte igång den och använd den inte (Wikipedia 2018).