1. Läs detta först. 2. VAD ÄR DATASÄKERHET ? 1. Säkerhetsbegrepp och sårbarhetsbegrepp. 1.1 Statskontorets indelning från 1973. 1.2 Sårbarhetsbegrepp. 1.3 Säkerhet i nätverksbaserade system. 2. Absolut Datasäkerhet. 3. Att skapa en strategi för informationssäkerhet. 4. Säkerhetsarbetet måste följas upp. 3. TEKNISK OCH PROGRAMVARUSÄKERHET. 1. HÅRDVARUSÄKERHET. 1.1 Funktionsskydd. 1.2 Elförsörjning. 1.3 Klimatet i datorhallen. 1.4 Brandskydd. 1.5 Tillträdesskydd och kontroll. 1.6 Backupmedier och förvaring. 1.7 Backuprutiner. 1.8 Dubblerad utrustning. 2. PROGRAMSÄKERHET. 2.1 Programfunktion. 2.2 Programutveckling och programskrivning. 2.3 Användarvänlighet. 2.4 Operativsystem och säkerhet. 2.5 Säkerhetsprogramvara som tillägg. 4. BEHÖRIGHET ATT ANVÄNDA SYSTEMET. 1. Behörighetskontroll. 2. Systemsäkerhet. 3. Användaridentifiering. 3.1 Metoder för att identifiera användare. 3.2 Biometriska identifieringsmetoder. 4. Lösenord. 4.1 Användning av lösenord. 4.2 Alternativa lösenordsmetoder. 4.3 Säkrare lösenord med dagens teknik. 4.4 Loggning och lagring av lösenord. 5. Aktiva kort. 5.1 Säkrare än magnetkort. 5.2 Tekniken bakom aktiva kort. 5. DATAKVALITET. 1. Datakvalitet viktigt men ofta förbisett. 1.1 Aktualitet. 1.2 Noggrannhet. 1.3 Relevans 1.4 Tillgänglighet. 1.5 Täckning 2. Hårddata och Mjukdata 3. Kontroll av data. 4. Felförebyggande åtgärder. 6. KRYPTERING. 1. Kryptografi. 2. Chiffer. 3. Exempel på chiffer. 3.1 Enkel substitution. 3.2 Vigenere. 3.3 Exempel på expanderbar nyckel. 4. Att forcera chiffer - att knäcka chiffer. 5. Datorer och kryptering. 6. Det amerikanska standardkryptot - DES. 7. Offentliga nycklar. 8. Krypteringsprogram. 7. VIRUS. 1. Definition av virus. 1.1 Amiga. (Amiga) 1.2 Lehigh. (IBM PC) 1.3 IBM Christmas Tree 1.4 Internet-masken. (unix) 2. Egenskaper hos virus. 3. Förebygga virusinfektioner. 4. Förhindra spridning. 5. Upptäckt av virus. 6. Virus i Sverige. 7. Backup 8. Ett antal exempel och beskrivningar av virus. 9. Hur en diskett fungerar. 10. Att hindra PC-virus från att sprida sig. 11. Vaccinprogram. 8. SÅRBARHETSANALYS. 1. SBA Start. 2. SBA Beroende. 3. SBA System. 4. SBA Scenario. 5. SBA Plan. 6. SBA Rapport. 7. SBA Projekt. 8. SBA Utveckling. 9. SBA Nyckelpersonal. 9. DATALAGEN, DATAINSPEKTIONEN, OCH UPPHOVSRÄTTSLAGEN. 1. Lagstiftningen. 2. Datalagens väsentligaste regler. 3. Insyn i personregister. 3.1 Datainspektionen. 10. ORDFÖRKLARINGAR. Kapitel 1. 1-1 Läs Detta Först: Vad är datasäkerhet ? Datasäkerhet är ett av dagens modeord inom databranschen. Datasäkerhet har kommit på modet snabbt, liksom många andra begrepp inom databranschen. En starkt bidragande orsak har varit den snabba utvecklingen på persondatorområdet. När man talar om datasäkerhet tänker man vanligen först på crackers som via modem håller på att bryta sig in i den stora militära datorcentralen djupt inne i berget, massor med beväpnade vakter, och låsta ståldörrar. Därefter brukar man tänka på virus som formatterar om hårddisken. Alternativt tänker man på en underbetald operatör i den stora bankdatorcentralen, som skriver sig ett eget band med överföringar till Schweiz. Ingen av bilderna är helt riktig, det finns flera aspekter på datasäkerhet. Många datoranvändare tänker inte speciellt på datasäkerhet. Ändå förväntar de sig att datorn skall fungera, att programvaran ger ett användbart resultat, samt att de inte förlorar de data som matats in i systemet. Datasäkerhet är just så grundläggande, att se till att allt fungerar. Se till att datorn fungerar omfattar allt som har med driften att göra, t.ex. brandskydd, kylning, att ta backup regelbundet så att en olycka inte blir en katastrof. Programvaran måste fungera, och ge ett användbart resultat. Just detta område blir ofta lite bortglömt. Ändå är det ju just för att ge ett önskat resultat som datorer används. Ett resultat som är felaktigt eller inaktuellt är ju inte till någon nytta, ändå är många resultat från dataprogram felaktiga eller ofullständiga. Det bästa är faktiskt om resultatet är såpass felaktigt att man direkt upptäcker det, och kan använda en annan metod. Slutligen är det viktigt att när man väl har ett fungerande system, med programvara som är användbar, så måste man skydda sina data från att försvinna oavsiktligt, eller att påverkas av obehöriga. 1.0 Indelning av säkerhetskraven. Statskontoret gjorde 1973 en indelning i säkerhetskraven, som blivit mycket använd. Statskontoret använder fyra huvudpunkter: - Kapitalsäkerhet - Funktionssäkerhet - Informationssäkerhet - Kvalitetssäkerhet 1-2 Kapitalsäkerhet omfattar skydd för det investerade kapitalet, så att de pengar som använts på utrustning och lokaler inte går förlorade. Typiska exempel är brandskydd och stöldskydd. Funktionssäkerhet innebär korrekt funktion, dvs att den avsedda databehandlingen kan genomföras inom föreskriven tid med korrekt resultat. Det finns många olika aspekter på funktionsskydd, en tolkning är skydd mot maskinfel. Fast även om maskinen fungerar perfekt kan det hända att resultaten inte kan användas, eller att man inte får några resultat. Programmet kanske inte ger de väntade resultaten. Programsäkerhet omfattar programmets funktion, att resultaten från programmet är användbara och aktuella, samt även att programmet skall vara motståndskraftigt mot felaktig användning. Man kan väl säga att ordet "driftssäkerhet" täcker funktionsskyddet ganska bra. Typiska exempel är kylning, elstabilisering, programsäkerhet, förebygga dataförlust när en olycka inträffar, allt som bidrar till att utrustningen verkligen fungerar, och att resultaten är aktuella och de önskade. Informationssäkerhet är skyddet för den lagrade informationen, så att den inte förändras, förstörs, eller sprids på oavsett sätt. Det handlar dels om att skydda sig mot spridning till obehöriga (utomstående), och lika mycket om att skydda sig mot att lagrade data förstörs oavsiktligt, eller avsiktligt av utomstående. Kvalitetssäkerhet innebär säkerhet för att behandlade data har rätt kvalitet. Datakvalitet, eller datasäkerhet, är avgörande för att resultaten av databehandlingen skall vara användbara. En bearbetning som utförs på osäkra eller felaktiga data ger ett osäkert eller felaktigt resultat. Det går inte att dra tydliga gränser mellan kapitalsäkerhet, funktionssäkerhet, informationssäkerhet, och kvalitetssäkerhet. De går alla in i varandra, i varierande omfattning. I den här kursen behandlas både kapitalsäkerhet och funktionssäkerhet i samma kapitel, informationssäkerhet tas huvudsakligen upp i avsnittet om kryptering, och kvalitetssäkerhet behandlas i avsnittet datakvalitet. Virus är ett av de mest omskrivna säkerhetsproblemen, och behandlas i ett eget avsnitt, även om de egentligen mest tillhör området informationssäkerhet. Avsnittet om virus har som separat del en lista över kända virus, och vad man kan göra för att bli kvitt dem. Några områden har helt brutits ut ur statskontorets indelning, eftersom de är ganska speciella. Andra områden har brutits ut eftersom avsnittet blivit ganska stort. Så har behörighet att använda systemet fått ett eget avsnitt. Där behandlas olika tekniker för att kontrollera vem som anänder systemet, och hindra obehöriga användare. Kryptering har fått ett eget avsnitt. Det är inte i alla 1-3 lägen som man har användning av att kryptera data, i andra lägen är kryptering den enda metoden att skydda sig. Därmot behöver man egentligen inte veta så mycket exakt om hur krypteringen fungerar, eftersom man ändå måste ta kontakt med en expert för att få en stark kryptering. Sårbarhetsanalys har fått ett eget avsnitt, och handlar om en metod för att analysera den sårbarhet hos företag eller myndigheter som beror på deras användning av datoriserade informationssystem. Metoden innebär att den enskilda organisationen skall kunna pröva sin sårbarhet, samt besluta om åtgärder för att höja säkerheten. Sårbarhetsanalys arbetar med alla aspekter på säkerhet. Huvudsyftet med sårbarhetsanalys är att bedöma riskerna, och avgöra vilka kostnader fel eller driftstopp kan förorsaka, och att bedöma hur riskerna kan minskas eller kostnaderna vid stopp kan minskas. Avsnittet om lagstiftning och datainspektionen har inget att göra med indelningen i säkerhetsområden, utan är en orientering om lagar och tillsynsmyndigheter. 2-1 Kapitel 2. VAD ÄR DATASÄKERHET ? Datasäkerhet har blivit allt viktigare och intressantare, beroende på att mer och mer information hanteras i datorsystem, och att företagen är mer och mer beroende av att informationsflödet fungerar. Faktum är att flera företag inte använder ordet datasäkerhet, de använder istället begreppet informationssäkerhet. Egentligen är informationssäkerhet ett riktigare begrepp, eftersom för de flesta företag är datorerna bara en metod att bearbeta informationen, och skulle i teorin kunna ersättas med någon annan snabbare metod. Datorn är ju en hjälp i företagets arbete. 1. Säkerhetsbegrepp och sårbarhetsbegrepp. Det finns flera olika sätt att klassificera säkerhetsbegreppen. De skiljer sig beroende på vilken utgångspunkt man har för bedömningen, och vad man önskar åstadkomma. Här redovisar vi tre olika indelningar i säkerhetsområden. 1.1 Statskontorets indelning från 1973. - Kapitalsäkerhet - Funktionssäkerhet - Informationssäkerhet - Kvalitetssäkerhet Kapitalsäkerhet omfattar skydd för det investerade kapitalet, så att de pengar som använts på utrustning och lokaler inte går förlorade. Typiska exempel är brandskydd och stöldskydd. Funktionssäkerhet innebär korrekt funktion, dvs att den avsedda databehandlingen kan genomföras inom föreskriven tid med korrekt resultat. Det finns många olika aspekter på funktionsskydd, en tolkning är skydd mot maskinfel. Fast även om maskinen fungerar perfekt kan det hända att resultaten inte kan användas, eller att man inte får några resultat. Programmet kanske inte ger de väntade resultaten. Programsäkerhet omfattar programmets funktion, att resultaten från programmet är användbara och aktuella, samt även att programmet skall vara motståndskraftigt mot felaktig användning. Man kan väl säga att ordet "driftssäkerhet" täcker funktionsskyddet ganska bra. 2-2 Typiska exempel är kylning, elstabilisering, programsäkerhet, förebygga dataförlust när en olycka inträffar, allt som bidrar till att utrustningen verkligen fungerar, och att resultaten är aktuella och de önskade. Informationssäkerhet är skyddet för den lagrade informationen, så att den inte förändras, förstörs, eller sprids på oavsett sätt. Det handlar dels om att skydda sig mot spridning till obehöriga (utomstående), och lika mycket om att skydda sig mot att lagrade data förstörs oavsiktligt, eller avsiktligt av utomstående. Kvalitetssäkerhet innebär säkerhet för att behandlade data har rätt kvalitet. Datakvalitet, eller datasäkerhet, är avgörande för att resultaten av databehandlingen skall vara användbara. En bearbetning som utförs på osäkra eller felaktiga data ger ett osäkert eller felaktigt resultat. 1.2 Sårbarhetsbegrepp. SBA-Metoden använder utgångspunkten "Vad för typ av skada kan vi drabbas av ?". För varje begrepp bedömer man vilka negativa konsekvenser som verksamheten kan drabbas av, och hur allvarliga konsekvenserna kan bli för företaget. De sårbarhetsbegrepp som används är: 1. Försening, avbrott, förlust - försening, t ex flera dagars försening för viss produktion medan övrig verksamhet fungerar normalt - kort avbrott, t ex mindre än ett dygn - medellångt avbrott, t ex ett dygn till en vecka - långt avbrott, t ex mer än en vecka - förlust, t ex indata måste registreras på nytt 2. Obehöring användning - avslöjande, t ex för konkurrenter - förändring, t ex för egen vinning (bedrägeri) 3. Bristande kvalitet - oriktig information, t ex felaktiga uppgifter - inaktuell information, t ex gammal information - ofullständig information, t ex poster saknas - undermålig form, t ex oläsbara utdata, dålig bildskärmslayout 2-3 Med de begrepp som finns i listan ovan kan man täcka in de flesta händelser som kan inträffa. Det viktiga är inte om något kan hända, utan vilka konsekvenserna är för företaget. Man bedömer om riskerna och de negativa konsekvenserna är små, dvs om företaget kan tänkas klara en skada och därför inte behöver förbättra skyddet. I annat fall bedömer man hur riskerna skall kunna minskas, och hur konsekvenserna skall kunna minskas. 1.3 Säkerhet i nätverksbaserade system. Den internationella revisionsfirman Coopers & Lybrand har på uppdrag av EG-kommissionens direktorat för telekommunikation genomfört en undersökning av informationssäkerheten i näringslivet. I studien användes tre olika säkerhetsbegrepp: - Konfidentialitet. Känslig eller sekretessbelagd information skall endast vara tillgänglig för behörig personal. - Informationskvalitet. Informationen skall vara fullständig, riktig och godkänd. - Tillgänglighet. Informationen skall finnas tillgänglig när den behövs. Vikten av de olika punkterna varierar för olika verksamheter och företag. Studien behandlar informationssäkerhet i nätverk, men mycket kan användas även i ett system helt utan nätverkskoppling. Idag är det dessutom ovanligt att ett system är helt isolerat, alltfler företag kopplar in sina datorer på nätverk. Studien definierar säkerhet i nätverksbaserade system som: "Skyddet av konfidentialitet, informationskvalitet och tillgänglighet hos den information som hanteras av systemet samt skyddet av systemet självt". 2. Absolut Datasäkerhet. När man behandlar datasäkerhet skall man komma ihåg att det aldrig finns någon absolut säkerhet (om man inte gjuter in datorn i betong, hugger av alla ledningar, och ställer ut beväpnade vakter). Det viktiga är inte heller att uppnå absolut säkerhet, utan en nivå där skador inte kostar så mycket att verksamheten går över styr. Man skall komma ihåg att i all verksamhet finns det risker, risker man måste ta för att kunna driva verksamheten, och det viktiga är att ha kontroll över riskerna och kostnaderna. Samtidigt som vi 2-4 kan dra nytta av datorer (eller andra maskiner), så innebär deras funktion eller att vi förlitar oss på deras funktion en risk. Intresset för riskerna i den datoriserade verksamheten hänger samman med att allt mer av organisationens informationsflöde hanteras av datorer. Konsekvenserna av förlust eller obehörig användning av informationen blir allt allvarligare, samt bristande kvalitet i informationen blir mer märkbar. 3. Att skapa en strategi för informationssäkerhet. Informationssäkerhet åstadkoms inte enbart genom tekniska åtgärder, utan även genom information, som kanske är viktigast. Företaget bör skapa en strategi för informationssäkerheten, där man inte enbart specificerar hur skyddet skall ske, utan även vad man vill åstadkomma. Strategin skall göras känd hos företagets anställda, och nya projekt skall kunna bedömas mot strategin. Säkerhetsarbetet försvåras av nio faktorer. De olika faktorerna kan påverka varandra, och de tre första är viktigast. 1. Bristande säkerhetsmedvetande hos såväl chefer som övrig personal. 2. Oklar fördelning av ansvaret för säkerhetsfrågor dels mellan ADB-enhet och linjeorganisation, dels mellan chefer och övrig personal. 3. Bristande underlag för val av kontroller att ingå dels i ett generallt grundskydd, dels i systemspecifika kontroller därutöver. 4. Dynamisk teknisk utveckling. 5. Beroende av annan part. 6. Brist på verktyg. 7. Teknisk komplexitet. 8. Brist på standarder. 9. Otidsenliga lagar och bestämmelser. Vi ser i listan ovan att bristande säkerhetsmedvetande är en orsak till dålig informationssäkerhet. Därför är det viktigt att utarbeta säkerhetsinstruktioner. Även om instruktionerna inte blir kompletta, så bidrar de till att få folk att tänka på säkerhet. Samtidigt är det viktigt att få klarlagt vem som har ansvaret för säkerheten, så att den personen verkligen arbetar med uppgiften. För att säkerheten skall fungera är det viktigt att 2-5 säkerhetsåtgärderna blir en daglig rutin, som de anställda upplever som meningsfull. Verkar bestämmelserna krångliga, besvärliga för verksamheten, och omotiverade, så kan man få resultatet att de anställda kringgår bestämmelserna. Det är inte lämpligt att sätta högsta skydd på all information, då får man lätt besvärlig och omotiverad säkerhet, eftersom all information inte kräver samma säkerhet. Man kan kanske motivera de anställda med att kontrollerna kan visa att den asntällde inte hade möjlighet att vara inblandade vid en inträffad skada. Ansvaret för företagets skötsel ligger hos ledningen. Därför har ledningen ansvaret för den överordnade säkerheten inom företaget, även informationssäkerheten. Vanligen har ledningen inte de tekniska kunskaper som krävs för att sätta sig in i det datoriserade informationssystemen. Därför är det viktigt att utarbeta en plan för säkerhetsarbetet, som ADB-avdelningen kan följa. Ett sätt att utarbeta en säkerhetsstrategi ges i Coopers & Lybrand-studien: 1. Grunden. Studien har påvisat ett starkt samband mellan företagsledningens inställning till säkerhet och omfattningen av befintliga kontroller. En stark grund för säkerheten i ett företag fordrar därför: - att en formell säkerhetspolicy skapas, med principer för säkerhetsarbete och ansvarsfördelning. - att ansvariga för säkerheten utses samt tilldelas befogenheter och hjälpmedel - att ett högt säkerhetsmedvetande etableras i företaget 2. Baskontroller. Begreppet baskontroller har härletts från god praxis i näringslivet, snarare än genom analys av hot och kostnader i varje enskilt fall. Det är att använda tidigare framgångsrika metoder som standard. Man kan: - skapa miniminivåer för grundskyddet i skilda miljöer, de subjektiva bedömningar försvinner som hittils varit ett av problemen vid säkerhetsanalyser. - göra det möjligt för företag att dra nytta av andras erfarenheter. - undvika att tid och ansträngningar ägnas detaljerade analyser som inte är nödvändiga. - åstadkomma en snabb höjning av existerande säkerhetsnivåer. 2-6 3. Systemspecifika kontroller. Det grundskydd som baskontrollerna ger är i regel inte en tillräcklig kontrollnivå för alla applikationssystem. Nästa steg blir därför att analysera varje applikationssystem och därvid: - fastställa den berörda verksamhetens krav på systemet, med avseende på konfidentialitet, informationskvalitet och tillgänglighet. - bedöma om företagets grundskydd är tillräckligt för att uppfylla kontrollkraven på systemet. - välja de systemspecifika kontroller som erfordras utöver grundskyddet. 4. Förvaltning av säkerhet. Det sista steget vid byggandet av en kontrollstruktur är att införa effektiva rutiner för: - införande av kontroller, så att de tas i drift på avsett vis. - löpande administration av kontroller, så att de fungerar på ett effektivt och smidigt sätt. - löpande övervakning av kontroller, så att överträdelser kan upptäckas och följas upp. - oberoende branskning av kontroller. - hantering av ändringar i konfigurationen, så att kontrollerna inte försvagas av ändringar av nätverk, hårdvara, systemprogram och applikationer. Det finns flera sätt att utarbeta säkerhetsstrategier. Vilken metod man än väljer måste man bestämma vilka som har ansvaret, kartlägga och analysera risker, konsekvenser och skydd, samt utarbeta en åtgärdsplan där utbildning av användarna skall ingå. Beroende på kompetensen i företaget kan man använda externa konsulter eller enbart anställda. Vilket man än väljer så får deltagarna i undersökningen en bra bild av sårbarheten i företaget. Arbetet beror även på vem som äger informationen i systemen, om inget särskilt anges är det företagsledningen eller systemägaren. Säkerhetsarbetet är inte ett engångsarbete, man aldrig slå sig till ro. Man måste konstant följa upp arbetet, kontrollera skyddens funktion och att de hänger med i tidens utveckling. Man måste utarbeta reservplaner och katastrofplaner, och lämpligen även öva personalen i katastrofhantering. För att kunna bedöma befintliga eller framtida skydd, måste man ha information om de risker som föreligger. Här använder man riskanalys eller sårbarhetsanalys. En av de mer kända metoderna är SBA-Metoden. Alla metoderna bygger 2-7 på samma grunder, det som skiljer är arbetsgången samt bedömningarna. (SBA-Metoden finns beskriven i ett separat avsnitt). En grov indelningen ger följande steg: 1. Kartlägg de risker som finns i verksamheten. 2. Bedöm hur sannolikt det är att skadan inträffar. 3. Avgör vad en skada skulle kosta. 4. Undersök vilka möjligheter det finns att skydda sig mot skadan, och vad de åtgärderna skulle kosta. 5. I åtgärdsplanen väger man riskkostnad mot skadekostnad och skyddskostnad, och rekommenderar vilka åtgärder som skall vidtas. Det svåraste är troligen att bedöma sannolikheten för en risk, och kostnaden för skadan. Det viktiga är dock inte att bedöma sannolikheter och kostnader exakt i kronor, utan istället att bedöma om företaget kan acceptera risk-kostnaden. Vissa risker kan vara förknippade med en låg sannolikhet och liten kostnad, de kan företaget acceptera utan åtgärd. Andra risker kan vara av sådan typ att företaget inte kan klara en skada, oavsett om sanolikheten för skada är låg, och sådana skador måste man planera för och skydda sig mot. Däremellan kommer det svåra området, bedömer man sannolikhet och kostnad för skada rätt ? Skall risken åtgärdas ? I handlingsplanen skall man även ta med basåtgärder, dvs beprövade och erkända metoder för att höja säkerheten. Kostar åtgärderna inte stora pengar, är det rekommendabelt att använda vad andra finner lämpligt, även om man inte bedömt just den risk-kostnaden som föremål för åtgärd. 4. Säkerhetsarbetet måste följas upp. Företagsledningen beslutar om säkerhetsstrategin, och övervakar uppföljningsarbetet. Däremot bör det verkställande ansvaret för säkerheten inte ligga hos enbart ledningen, eller en enda person. Det är bättre att delegera ansvaret till flera personer som har nära kontakt med informationssystemen och användarna. Normalt utser ledningen en säkerhetsansvarig, och därefter utses en datasäkerhetsansvarig i samråd med säkerhetschefen. För att säkerhetsarbetet skall bli effektivt måste företagsledningen anslå tid så att säkerhetsarbetet kan skötas regelbundet, och inte bara på "tid som blir över". De säkerhetsinstruktioner som arbetas fram skall skrivas ned, och alla anställda skall få ett exemplar. Reglerna skall inte bara gälla existerande system, utan även framtida system (dvs systemutveckling), konsulter, underleverantörer, 2-8 m.fl. Några viktiga områden att behandla i reglerna är hur och till vem de anställda skall rapportera brister i säkerheten, hur dokument och datamedier skall makuleras, och regler för ändringar i befintliga system. Det är viktigt att användarna ges möjlighet att påverka reglernas utformning. Det finns många metoder att höja säkerheten i en organisation. En del metoder redovisas här, andra behandlas utförligare i avsnittet om tekniska säkerhetsåtgärder. Man kan klassificera utrustning och information i olika klasser, t ex öppet - skyddas för utomstående - skyddas även för en del anställda. Antalet nivåer bestäms av företagets verksamhet, liksom reglerna för handhavande. Datorhallen skall vara skyddad, vilket betyder att fönster i marknivå inte är önskvärda. Ett källarytrymme är skyddat mot intrång, dock inte mot översvämningar. Är det möjligt att ordna, så bör både elkraft- och telekommunikations-kablar anslutas på flera sidor av huset. På så sätt isoleras huset inte om någon av misstag gräver av kablaran, utan kapaciteteten reduceras. För speciellt känslig verksamhet kan man zonindela lokalerna. Då måste man även ha någon form av inpasseringskontroll mellan zonerna. Säkerhetszonerna kan även fungera som brandsäkerhetszoner. Av kostnadsskäl blir det oftast en automatisk kontroll, och man får då tänka på möjligheten att obehöriga "slinker med" när behöriga passerar. Det finns många möjligheter att bygga upp kontrollsystemet, man kan även läsa avsnittet om behörighetskontroll. En punkt att beakta är reaktionen på ett larm. Personalen måste tränas. Lokalerna kan anslutas till någon form av bevakningscentral. Rör det sig om stora värden så är det lämpligt att ha någon form av bemanning hela dygnet. 3-1 Kapitel 3. TEKNISK OCH PROGRAMVARUSÄKERHET. För att det överhuvudtaget skall vara intressant att tänka på datasäkerhet måste datorsystemet fungera, så att man har en säker funktion, funktionssäkerhet. Funktionssäkerheten är beroende av två delar, dels den tekniska funktionen (hårdvarusäkerheten), dels att programmen fungerar korrekt (programvarusäkerhet). 1. HÅRDVARUSÄKERHET. 1.1 Funktionsskydd. Funktionsskyddet utgör grunden för all datasäkerhet. Utan en fungerande utrustning, finns förmodligen inga data att skydda. I dagens värld är hoten mot datasystemen många; sabotage, obehörigt intrång, naturkatastrofer, obehörig kopiering eller sabotage från användarna. Ett av de största hoten, som dessutom hotar alla datasystem, är driftstopp pga maskinfel. Ett maskinfel kan betyda enbart driftstopp, men oftast hotas även de data man lagrat i systemet. Vid ett fel kan utrustningen ersättas med likadan, t.ex. genom en försäkring, däremot är det svårt och arbetsamt att ersätta data som man inte har kopierat. Regelbunden backup är därför den mest grundläggande och viktiga datasäkerhetsåtgärden. Backup är helt enkelt kopiering, att ta en kopia för säkerhets skull. Det är viktigt att backup-kopior, eller s.k. backuper, tas regelbundet. Hur ofta, ja det avgörs av hur ofta informationen ändras, samt hur viktig informationen är. För ett datasystem där informationen ändras dagligen verkar daglig backup skälig, i vissa fall kan informationen till och med vara så viktig att man tar kontinuerlig backup. En regelbunden och bra backup är det bästa skyddet mot maskinfel, sabotage, virus, naturkatastrofer, m.m. 1.2 Elförsörjning. Eftersom datorer använder ström, är en säker strömförsörjning ett krav. Datorerna kräver störningsfri strömförsörjning. Det vanliga elnätet håller aldrig den kvalitet man egentligen kräver för dataändamål. Både spänning och frekvens varierar med nätets belastning. Andra strömförbrukare åstadkommer störningar på elnätet, t.ex. får man en kraftig strömstöt varje gång en motor startas. Många datorer körs ändå på ström från det vanliga nätet. Det kan man göra om driften inte är så viktig att den måste fortgå ostört. I många fall är dessutom elkvaliteten tillräckligt bra för att störningarna skall bli ytterst sällsynta, t.ex. i bostadsområden. De ställen där man har 3-2 större industrier inkopplade på samma elnät, eller där elnätet är hårt belastat, kräver någon sorts anpassning av inkommande el för att kunna ge säker datordrift. Man bör observera att elverkens leveransstandard uttryckligen inte specificerar "datorkvalitet" på elförsörjningen. För att åstadkomma datorkvalitet på inkommande el, kopplar man in ett störskydd före datorerna. Störskyddet filtrerar bort spikar och brus, innehåller ett överbelastningsskydd, och jämnar ut spänningen. Figur 2.1. Störningar på elnätet. 3-3 Däremot påverkar inte ett störskydd nätfrekvensen. I de fall utrustningen kräver exakt frekvens, eller nätet är väldigt hårt belastat, måste man även koppla in en frekvensomvandlare, som håller konstant frekvens. En frekvensomvandlare är även nödvändig om man vill ansluta amerikansk utrustning, den är nämligen gjord för 60 Hz växelström istället för våra 50 Hz. Ett störskydd utgör inte heller någon säkerhet mot strömavbrott. Vill man ha säkerhet mot strömavbrott måste man koppla in en UPS (Uninterruptible Power Supply), som skyddar mot strömavbrott en viss tid. En UPS kombinerar ett störskydds filterfunktion med ett batteris lagringskapacitet. Det innebär att en UPS endast ger ström under en begränsad tid, kortare tid ju mer ström man förbrukar. UPS enheter finns i många olika storlekar. Vill man även gardera sig mot långvariga strömavbrott, t.ex. ute på landet, måste man kombinera en UPS med ett reservelverk, diesel- eller bensin-drivet. Eftersom det tar en viss tid att starta reservelverket och stabilisera elförsörjningen, krävs alltså en UPS under tiden reservelverket startar. Man kan även få problem med statisk elektricitet i en datorhall, t.ex. från heltäckningsmattor. Ett datorgolv skall skydda från sådan uppladdning, om man ändå har problem finns det särskilda elektriskt ledande mattor, som man jordar i ett hörn. På så sätt leds den statiska elektriciteten bort. 1.3 Klimatet i datorhallen. Datorsystemen förbrukar elektricitet, som till största delen omvandlas till värme. Ju större och snabbare dator, desto mer elektricitet förbrukas, och desto mer värme avges. Inne i själva datorsystemet, dvs inne i skåpen, har fabrikanten sörjt för tillräcklig kylning, vanligen med fläktar, eller i riktigt stora system med vattenkylning. Däremot måste användaren se till att luften utanför skåpen hålls tillräckligt kall, och att temperaturen inte varierar för mycket eller för snabbt. Därför behöver de flesta större datorsystem någon form av kylning i den lokal där de är installerade. När man projekterar datorkylning skall man konsultera en kunning kylinstallatör, och tänka på hur mycket utrustning man vill kyla. Kyleffekten måste stå i balans med utvecklad värmeeffekt för att kylutrustningen skall fungera klanderfritt. Kylningen kan vara central för hela fastigheten, eller lokal för enbart datorhallen. Kylanläggningar med mer än 10 kg freon måste anmälas till Naturvårdsverket. Det beror på att man vill få bättre kontroll över freonutsläppen. Därför måste kyltekniker numera vara behöriga för att få utföra servicearbeten. Ventilation med hjälp av frisk utomhusluft är inte lämpligt för många datorsystem, eftersom luften som kommer in innehåller mycket partiklar. Partiklarna sätter sig i systemen, framför allt diskdrivar med utbytbara diskpackar, 3-4 där rumsluften cirkulerar runt själva diskpacken. Sådana drivar innehåller alltid ett luftfilter, men de täpps snabbt igen av framför allt betongdamm, byggdamm, gatudamm och rök. När filtret är igensatt kommer partiklarna in i diskdriven, och åstadkommer en s.k. diskkrasch, läshuvudena tar i diskpacken, och skadorna kan vara omöjliga att reparera. Informationen skadas med säkerhet. Persondatorer använder sig inte av utbytbara diskpackar, utan bara s.k. winchestersystem. En winchesterdrive är förseglad, och släpper därför inte in partiklar från omgivningen till själva diskpacken. Däremot kan partiklar och ludd fastna i motorernas axlar, och störa driften. En ren och rökfri miljö är bra för driftsäkerheten. 1.4 Brandskydd. Det är sällan det uppstår bränder i datorer. Något vanligare, men fortfarande sällsynt, är bränder i datorhallar. Man brukar ändå ha ett mycket gott brandskydd i datorhallar. De bränder som uppstår orsakas vanligen av cigarettfimpar eller i damm. Förutom att rökning ökar risken för bränder så kan partiklarna från tobaksröken skada datorutrustningen. För att minska konsekvenserna av en brand har de flesta företag någon sorts brandlarm installerat, ofta kombinerat med en automatisk brandsläckare. Branddetektorn är vanligen en rökdetektor, men kan även vara en värmedetektor eller en flamdetektor. Vid brand sker en kemisk reaktion mellan luftens syre och det brännbara materialet. Utan syre kan ingen brand ske. De bränder vi är vana vid sker med en eldslåga, en flamma. Det är dock inte nödvändigt med en flamma för att den kemiska reaktionen skall äga rum. Särskilt elektriskt material kan brinna långsamt utan låga vid jämförelsevis låga temperaturer. Brand kan uppstå när temperaturen går över materialets flampunkt. Papper har en flampunkt på ungefär 194 grader, vilket betyder att pappret då börjar brinna, även utan en antändande låga. Mycket av den plast som finns i disketter och annat datamaterial har en flampunkt på över 110 grader. Plastmaterialen börjar dock deformeras redan vid 65 grader. Det finns flera olika släckningsmetoder. För det mesta bygger metoderna på att man kväver elden genom att hindra syretillförseln. Vatten släcker genom att brandhärden kyls av. Det är en vanlig metod att släcka bränder, eftersom vi är vana vid den, vatten är billigt och lätt att komma över, och fungerar i de flesta typer av bränder. Skumsläckare och pulversläckare hindrar syrets tillträde, och lämpar sig för sådana bränder där man inte kan använda vatten, t ex elektrisk utrustning eller kemikalier. Man skall inte använda vattensläckare för bränder i elektrisk utrustning, strömmen kan ledas i vattenstrålen och skada den som 3-5 försöker släcka. Den populäraste metoden att släcka bränder i större datorhallar är att använda ett gasformigt släckningsmedium. Det finns två olika gassläckningsmetoder, halon och koldioxid (kolsyra). Fördelen med metoderna är att gasen lätt tränger in i datorernas innersta, under datorgolvet, inte ger beläggningar, och att det är lätt att vädra ut gasen efter avslutad släckning. Pulver eller skum lämnar rester som är svåra att få bort ur datorn, och skadar ofta utrustningen. Halon släcker genom en katalytisk kemisk reaktion ,index släckning>halon som binder syret i luften. Halon släcker effektivt även i lägre koncentrationer. Förutom effektiv släckning så är halon inte giftigt, vilket betyder att människor kan vistas i ett rum där halonsläckare har utlösts. Därför kan halonsläckaren utlösas direkt när brandlarmet går. Den största nackdelen med halon är att det även påverkar ozonlagret, kraftigare än de värsta freoner. Därför kommer halon troligen att förbjudas (skrivet i nov-90) i framtiden. De företag som försöker utveckla ozonvänliga freonersättningar för kylindustrin försöker även ta fram ersättningar för halon. Vid nybyggnad av datorhallar installerar man därför idag hellre koldioxid (kolsyra). Principen är att man ersätter luften i hallen (och därmed syret) genom att släppa ut mycket koldioxid. När syret försvinner, så kvävs elden. Samtidigt kvävs även människor som vistas i lokalerna. Därför måste en koldioxidanläggning vara utrustad med ett larm, en siren, som ljuder en viss tid innan larmet utlöser släckning. Genom att släckningen är tidsfördröjd kan ändå känslig utrustning skadas. Koldioxiden kräver större anläggning för att ge hög koncentration, och har i övrigt samma goda släckegenskaper som halon. Släcker man en brand i en datorhall med vatten skadas datautrustningen av vattnet. Ett falskt larm som sprider vatten över datorutrustningen kostar stora pengar i reparation eller utbyte av utrustningen. Falsklarm brukar av någon anledning oftast ske på nätter eller helger, när anläggningen står obemannad. Vatten är i alla fall effektivt. Brandkåren använder oftast vatten, de är vana vid vatten. På många ställen kan brandkåren sakna andra möjligheter att släcka större bränder. När det gäller persondatorer bör man tänka på att inte ställa dem så att de kan utsättas för vatten (paraply över ?). Persondatorer installeras vanligen utan tanke på brandskydd eller beredskap, trots att de avger ganska stora mängder värme. Det finns flera metoder att minska riskerna för att brand skall uppstå, eller konsekvenserna ev en brand. Man kan försöka kontrollera riskerna i de lokaler man har, man kan installera larm, och man kan utforma lokalerna (byggnaden) så att spridning av elden hindras, och därmed minska konsekvenserna. De viktigaste sätten att hindra bränder är: 3-6 1. Hålla rent från brandrisker. Hålla rent, damm är mycket lättantändligt. Vid en skrivare bildas mycket pappersdamm. Därför bör skrivare placers i ett särskilt rum, som är skilt från datorhallen, och det rummet bör städas ofta och noga. Kabelrännor och andra gömmor bör städas ett par gånger per år. Papperskorgar skall tömmas ofta, så att avfallet inte hinner samlas. Pappersavfall och matrester är brännbara. 2. Rökförbud. Förbjud både anställda och besökare att röka i datorlokalerna. Fimpar i papperskorgar kan starta bränder. 3. Undvik brännbart material. Se till att brännbart material inte samlas. Det betyder att man inte lagrar stora mängder papper till skrivare i datorhallen. 4. Fungerande kylning. Se till att värmen från all utrustning verkligen vädras bort. 5. Brandövningar. Träna de anställda att släcka en brand. Många anställda har inte ens fått släcka en brand i en papperskorg. De vet inte hur brandsläckaren skall låta och reagera. 6. Minska användningen av gardiner och draperier. Svårantändliga material och färger minskar risken för att en brand får fäste och blir en katastrof. Byggnaden kan göras brandsäkrare, speciellt vid nybyggnad. Det är inte lämpligt att försöka cirkulera den varma luften från datorhallen, eftersom eld kan spridas i samma kanaler. På samma sätt skall kabelkanaler inte vara öppna mellan rum och våningar. Det skall finnas en spärr mot luftcirkulation i kabelkanaler mellan rum och våningar. Det finns flera metoder att täta kabelkanalerna. Det är lämpligt att skilja på elkabel och kommunikationskabel, eftersom man vid arbete på den ena inte kan skada den andra. Man kan installera t ex jordfelsbrytare för att bryta strömmen vid gnistbildning som inte är tillräcklig för att lösa ut vanliga säkringar. Man kan använda flamsäkra kablar. 3-7 1.5 Tillträdesskydd och kontroll. Datorsäkerhet utan tillträdesskydd kan inte ge verklig säkerhet. Det vanligaste är att låsa dörren om datorn, och det finns flera typer av lås: kodlås, lås med kortläsare, och lås med biometriska identifieringsmetoder (man mäter handens utseende eller mönstret på näthinnan). Biometriska identifieringsmetoder behandlas i kapitlet "behörighetsidentifiering". Persondatorer kan man märka genom att gravera in ägarens namn i höljet, eller måla på namnet. Man kan även låsa fast persondatorerna med kedjor eller linor för att hindra stöld. Fastlåsning av persondatorn skyddar kanske mot stöld, men skyddar inte mot stöld av informationen i datorn, på hårddisken. Däremot skyddar en låst lokal inte bara mot egendomsstöld, utan även mot informationsstöld. För företag finns även hotet om terroristattacker. Idag okända i Sverige, men terroristattacker mot datorcentraler har förekommit i USA och Italien. Man kan även tänka sig möjligheten av terrorattacker mot en viss tillverkare, och även användare av tillverkarens utrustning. Ett bra tillträdesskydd motverkar även terrorattacker. 1.6 Backupmedier och förvaring. Regelbunden backuptagning är den viktigaste grunden för god datasäkerhet. Backup är en kopia av den information som lagrats på systemet, både program och data. Informationen kopieras till ett lagringsmedium, även kallat backupmedium. För en ordinär persondator, PC, är det normala backupmediet disketter. Det är inte tillräckligt att enbart ta en backup, man måste övertyga sig om att backuperna verkligen är läsbara, dvs att de kan utnyttjas för att kopiera tillbaka informationen. Alltför många datorinstallationer har alltför sent upptäckt att deras mödosamt gjorda backuper inte går att läsa tillbaka, beroende på tekniskt fel i backupstationen, felaktiga rutiner, eller en blandning. Detta gäller inte bara persondatorer, även om det är vanligare där, utan gäller även stordatorinstallationer. Stordatoranläggningar brukar ha mer avancerad backup-utrustning, som utför fler automatiska kontroller av backupen, därför råkar sådana installationer ut för färre fel av teknisk art. Backupmedier. Olika backupmedier har olika egenskaper, och lämpar sig därför för olika typer av backuper. För persondatorer är de vanligaste backupmedierna disketter. Idag kan man även ansluta små bandstationer, som arbetar med bandkasetter. Det är speciella datakasetter, inte att förväxla med vanliga ljudkasetter, som tidigare användes med en vanlig ljudkasettbandspelare kopplad till datorn. Idag används ljudkasetter enbart till speldatorer, typ VIC-64. För äldre stordatorer och äldre minidatorer använder man 3-8 databand, s.k. halvtumsband. Det är vanliga magnetband på rulle. För modernare stordatorer och minidatorer har man ersatt magnetbanden med bandkasetter. Kasetterna rymmer mer data, och är mindre och mer lätthanterliga än databand. Vissa stordatoranläggningar har kasetter i en automat, en robot som laddar kasettbandstationen med begärd kasett utan mänskligt ingripande. Kasetterna rullar fram på skenor. Vanliga magnetband rymmer inte tillnärmelsevis så mycket som moderna kasetter. Kasetterna kan rymma 1-2 GB (gigabyte). Däremot är det lättare att spola fram till just den fil man behöver än i en kasett. Därför lämpar sig magnetband väl för data som man har regelbundet behov av, medan kasetter lämpar sig väl för säkerhetskopiering, backuptagning, där man senare troligen vill komma åt allt eller inget. Nyligen har även backuputrustning som använder vanliga videokasetter (VCR-kasetter) kommit i bruk, här gäller samma lämpliga användningsområde som för andra kasetter. Disketter för persondatorer är lämpliga när man vill återvinna delar av informationen, inte fullt så lämpliga för stora säkerhetskopieringar. Disketter för persondatorer har fördelen att de är billiga i inköp, och utrustingen för att läsa och skriva disketter är billig. Den största nackdelen är att det är krångligt och långsamt att göra en större backup med disketter. En annan nackdel är att det finns flera olika format av disketter, med samma yttre storlek. Det kan vara svårt för en användare att köpa rätt diskett. Det är betydligt bekvämare att göra backup med en kasettbandstation till persondatorn. Bandstationerna innehåller även fler hårdvarufunktioner som kontrollerar backupens kvalitet, och därför är backup via bandstation betydligt säkrare. En bra bandstation till en persondator kostar idag cirka 10-20.000 kronor, och det är väl använda pengar om man använder datorn seriöst. Inget företag som använder persondatorer bör sköta backuper enbart via disketter. Innan man köper en bandstation till persondatorn måste man undersöka om bandstationen klarar att läsa band skrivna av andra bandstationer av samma typ. Det har nämligen funnits bandstationer som inte kunnat läsa band skrivna i en annan station av samma typ och fabrikat. En sådan säkerhetskopia är nämligen totalt oanvändbar om din dator och bandstation brinner upp, men du lyckas rädda backupbanden. Kan man senare inte läsa banden, så kan man inte heller återlagra informationen. Man skall observera att samma problem kan uppträda med disketter eller bandstationer som skall kunna läsa andras band, t.ex. om läs/skrivhuvudet sitter lite snett. Då kommer informationen att skrivas felaktigt, men den egna band- eller diskettstationen kan kanske både skriva och läsa utan problem. Därför måste man kontrollera läsbarheten hos backuperna inte bara i samma station som skrev backupen, utan även i andra stationer. Detta är mycket viktigt, men förbises tyvärr ofta. Problemet kan även förekomma på bandstationer för stordatorer. Idag rekommenderas persondatoranvändare ibland att använda dubbla hårddiskar, 3-9 och använda den ena som backup. Det är en delvis utmärkt ide, om man inte vill byta data med andra. Backupen går snabbt, och skulle den ena hårddisken gå sönder, så kan man fortsätta användningen av datorn med den andra disken. Idag finns löstagbara hårddiskar, dvs man kan ta med sig sina data när man är färdig med datorn, och på så sätt minska risken för obehörig kopiering. Sitter båda hårddiskarna kvar i datorn, så har man däremot inget skydd, inte det minsta, mot t.ex. brand i lokalerna där datorn finns. Det finns även löstagbara hårddiskar, och förutsatt att man verkligen håller en kopia i andra lokaler så verkar metoden sund. Lagring av backuper. Magnetiska media, dvs disketter, ljudbandkasetter, datakasetter, och magnetband är känsliga för lagring. Man varnas ofta för att utsätta disketter och band för magnetfält, t.ex. ovanpå diskettdriven eller högtalare. Risken skall inte underskattas, men ändå orsakas fler problem av olämplig lagring. Olämplig lagring är bland annat: Hög eller kraftigt varierande temperatur, extremt fuktig eller torr luft, rök, damm, andra klibbande substanser som matlagningsos i kök. Både kasettband och databand får inte vara för hårt rullade (de blir lätt för hårt rullade vid spolning), eftersom data då "läcker" mellan lagren i bandet. Läckaget är tidsberoende, ju längre man vill spara bandet, desto viktigare blir bandspänningen. Förvaring i solsken är rena katastrofen, främst värmen är skadlig, men även ultraviolett och vanligt ljus förändrar plastens egenskaper. På tal om värme skall varnas för "kassaskåp". Man lägger gärna viktiga disketter och band i brandsäkra skåp på kontoret. Skåpen må nog vara brandsäkra, men frågan är hur varmt det blir inne i skåpet vid en brand. Plasten i disketter och band smälter vid en viss temperatur, och redan innan förändras formstabiliteten hos plasten. Har informationen på disketten flyttat på sig beroende på deformation av disketten, är det troligt att det inte går att läsa disketten. Fingeravtryck på disketten är ett stort hot mot informationen på disketter. Man skall även skydda disketter och band från joniserande ("radioaktiv") strålning. Viktig information lagrar man aldrig på enbart en kopia, man använder istället minst två kopior. Det är endast i stora datorinstallationer man lagrar backup-kopiorna i samma lokaler som datacentralen. Här har man råd med brandsäkra valv, rejäla brandlarm, brandsläckning och dygnet-runt personal. Därför är det otroligt att en brand skulle kunna få sådana konsekvenser att all information förstörs. Ändå lagrar stora datorinstallationer en extra kopia av sin information på ett annat ställe än datorinstallationen. Alla mindre installationer bör följa samma rutin, t.ex. bör du ta hem en kopia av informationen i din dator på kontoret, givetvis om inte informationen är hemlig och företaget tar hela ansvaret för datalagringen. 3-10 1.7 Backuprutiner. Det finns olika typer av backuper, med olika beteckningar. De har olika användbarhet i olika situationer. Den vanligaste typen av backup är totalbackup. Det är en backup av all information, från början till slut. En totalbackup är den mest användbara typen av backup när all information försvinner, t.ex. när en hårddisk kraschar. Då lägger man tillbaka all informationen till den nya hårddisken. När man har stora mängder data lagrade tar det ganska lång tid att ta en totalbackup. För ett stort datorsystem kan det ta många timmar att göra en totalbackup. Tidsåtgången beror givetvis på vilket backupmedium man använder, t.ex. disketter är mycket långsamma, medan kasettband är relativt snabba. För att minska tidsåtgången använder man ofta s.k. inkrementella backuper, dvs en backup enbart av det som ändrats sedan man sist gjorde backup. En inkrementell backups storlek beror på hur systemet används, om mycket data ändras ofta. I varje fall blir en inkrementell backup mindre än en totalbackup, och det går därför snabbare att ta en inkrementell backup. Innan man tar en inkrementell backup måste man ha tagit en totalbackup. Efter den första inkrementella backupen kan man ta ytterligare inkrementella backuper. Skulle hårddisken krascha, så får man då först återlagra (restore, "restora") totalbackupen. Efter det får man återlagra varje inkrementell backup, i tur och ordning, på så sätt att varje befintlig fil skrivs över om den inkrementella backupen innehåller en färskare version av filen. På så sätt fortsätter man med alla inkrementella backuper, tills hela hårddisken blivit återskapad. Det är givetvis besvärligare att återskapa en disk från en totalbackup och flera inkrementella backuper än enbart en totalbackup. Å andra sidan går det snabbare att göra en inkrementell backup än att varje gång ta totalbackuper. Man får göra en avvägning mellan hur troligt det är att man har användning för backupen när något kraschar, och hur mycket arbete man vill lägga ned på backuper. Helt klart är att saker inte kraschar så ofta, så systemet med inkrementell backup spar arbete totalt sett, däremot kräver det att man har god ordning på sina backuper, så man vet vad som är gällande totalbackup, och vilka inkrementella backuper som följer därefter. För system där ganska mycket information förändras varje dag brukar man ta en totalbackup en gång per vecka, och inkrementella backuper en gång dagligen däremellan, eller flera inkrementella backuper dagligen om det finns skäl till det. En backup är inte bättre än dess aktualitet, dvs har informationen ändrats sedan man tog backup förlorar man den ändrade informationen om något kraschar. Det kan man förhindra genom kontinuerlig backup, s.k. loggning av händelser. Kontinuerlig backup behandlas lite senare. När man avslutat en cykel av totalbackup och inkrementella backuper, kan man inte direkt återanvända band, kasetter eller disketter. Dvs man kan inte börja ta nästa 3-11 totalbackup på samma media som den förra totalbackupen var på. Vad händer då om något kraschar medan man gör nästa backup ? Då står man där med två halva backuper, och det är säkert att halvorna inte kompletterar varandra. Därför använder man lämpligen tre uppsättningar media, en för period ett, en för period två, och en för period tre. Därefter kan man börja återanvända första uppsättningen media igen. Då arbetar man på ett säkert och riktigt sätt. Sättet att arbeta på är oberoende av om man använder disketter, kasetter, eller databand. Eftersom lokalen där man har datorn kan drabbas av brand, finns det goda skäl att lagra en säkerhetskopia på annat ställe än det där datorn finns. Många små firmor har dålig datasäkerhet, eftersom alla säkerhetskopior lagras i kontoret. Det är bättre att använda fler uppsättningar media, och ta med varje backup t.ex. hem. Då har man en kopia utifall att kontoret skulle drabbas av en katastrof, och datorn på kontoret utifall hemmet drabbas av en katastrof. Är informationen mycket viktig, eller om driftavbrott är dyra, vill man ta kontinuerlig backup. Det gäller då vanligen inte hela systemet, utan bara en viss applikation. T.ex. i ett biljettbokningssystem tar man bara kopia på bokningshändelser, programmerarnas utvecklingsarbete säkerhetskopieras på normalt sätt. Säkerhetskopieringen sker på så sätt att varje händelse (t.ex. biljettbokning) kopieras till en s.k. journalfil eller loggfil. Skulle applikationen hänga sig så att man inte kan stänga filerna, får man då starta om applikationen, och filerna ser ut som de gjorde sist man startade applikationen. Därefter får man låta programmet gå igenom alla journalfiler, och på så sätt göra varje bokning igen. Därefter är databasen återskapad. Är informationen ytterst viktig kopierar man journalfilen samtidigt till två separata diskar, enligt principen att "en krasch kommer inte samtidigt", vilket för det mesta är sant. Man kan även använda sig av disk shadowing, dvs man har två diskar, varav den ena bara är en kopia av den första. Vid varje förändring av första disken förändras även den andra disken. På så sätt har man alltid en aktuell backup. 1.8 Dubblerad utrustning. För att öka driftssäkerheten i ett datorsystem dubblerar man ibland hårdvara. Antingen kan man dubblera så att man ökar kapaciteten, t.ex. genom att köpa två mindre cpu:er och koppla ihop dem, istället för att köpa en större cpu. Man har i alla fall en mindre dator i drift om den ena cpu strejkar. Alternativet är att dubblera så att man har samma kapacitet den dag något fallerar. Det betyder att man köper dubbelt av allt, och låter den dubblerade utrustningen bara stå beredd. Givetvis blir det mycket dyrare att dubblera 3-12 allt. När det gäller större installationer kostar utrustningen så mycket att det är omöjligt att dubblera själva datorerna. Däremot kan man dubblera kringutrustning, och kommunikationsutrustning. I många system idag använder man flera cpu:er, s.k. multiprocessorsystem. Användarna ser bara en dator, även om det fysiskt är flera datorer som är hopkopplade. Det ger flera fördelar, främst då ökad driftssäkerhet, eftersom troligen inte alla processorer går sönder samtidigt. Man får även fördelning av användarna, lasten. Ibland vill man inte koppla ihop enskilda datorer till en dator, utan istället låta användarna se de enskilda datorerna. Däremot kan man vilja låta alla datorer dela på informationen i systemen. Det kan man göra genom att låta datorerna utbyta information i ett nät. Då är inte all information direkt åtkomlig för en dator, saknas informationen på den diskstruktur som är kopplad till datorn måste informationen överföras i nätverket. I stället kan man koppla ihop diskarna på de enskilda datorerna till ett s.k. diskcluster. Metoden kallas clustring. Framför allt VAX, som säljs av Digital, clustras ofta numera. Clustringen har fördelen att all informationen nås av alla datorerna, även om en dator i clustret går sönder. Man når större driftsäkerhet. Samtidigt använder man mer komplicerad teknik vid clustring, den som övervakar driften måste veta än mer om tekniken i systemet. Clustring innebär inte ökade prestanda, dvs en stor dator är fortfarande snabbare på att behandla en uppgift än en binge mindre datorer. Givetvis tappar alla datorer i clustret information utifall att en disk går sönder. För att hindra att data förloras under drift kan man koppla ihop två separata diskar så att de utgör identiska kopior av varandra, s.k. disk shadowing. Går den ena disken sönder har man all information lagrad på den andra disken, och den är inkopplad så att inget avbrott behöver märkas. I framtiden kan en ny typ av datorer bli populär, parallella processorer, den består av många mindre processorer som arbetar parallellt, dvs programmet delas upp i mindre delar, varje del körs i en processor. I en sådan dator får man en verklig höjning av kapaciteten när problemet lämpar sig för att delas upp i delprogram, och driftsäkerheten ökar, eftersom datorn kan fortsätta driften även om en eller två processorer är trasiga. 3-13 2. PROGRAMSÄKERHET. 2.1 Programfunktion. Ett korrekt program ger korrekt svar på inmatning. Grunden för en säker datafunktion är att hårdvaran fungerar. En fungerande hårdvara är dock till ingen nytta om inte programmen ger rätt resultat. Att programmen inte ger rätt resultat behöver inte bero på att det är buggar i programmen, det finns många fler möjligheter. Felaktigheter i program kan bero på skrivfel vid programmeringen, logiska fel vid programkonstruktionen, fel givna eller fel uppfattade förutsättningar vid systemering eller programkonstruktion, skrivfel vid programmeringen, fel i kompilatorer eller annan systemprogramvara, och många andra möjligheter. På något sätt vill man övertyga sig om att programmen är riktiga. Man har försökt att bevisa att program är riktiga, och kommit fram till att det går, tyvärr idag enbart om programmen är korta. Idag ligger längsta programmet man kan bevisa är riktigt på ca 100 rader, även högre siffror som 1000 rader har nämnts. Idag finns i varje fall ingen praktisk metod att bevisa att ett program är riktigt, och därmed kan man inte heller automatiskt undersöka program. Idag undersöker man program mest genom att testa dem. Testet sker genom att man matar in testdata i programmet, och så ser man om svaret blev det man kunde förvänta sig. Man använder så realistiska och varierande testdata som möjligt. När man kan, använder man automatisk testning, dvs program som genererar testdata och sänder dem in i programmet som skall testas, och kontrollerar data som programmet lämnar ifrån sig. Genom automatisk testning kan man testa ett program med mer data än vid manuell testning, och därmed göra testningen mer heltäckande. Genom väl förberedd, noggrann och varierad testning kan man upptäcka många fel. Tyvärr kan man aldrig testa alla möjliga kombinationer genom hela programmet. Därför finns det inget som ett "helt felfritt program" (utom för mycket korta program, som kanske till och med kan testas för alla upptänkliga fall). Det mesta man kan säga är att noggrann testning inte har upptäckt några fel. 2.2 Programutveckling och programskrivning. För att minska felfrekvensen under programutvecklingen, dvs före testningen, använder man flera metoder. Högnivåspråk ersätter assembler, högnivåspråken ersätts av strukturerade programmeringsspråk och databashanterare, det finns till och med automatiska kodgeneratorer som genererar kompilerbar programkod från ett JSP-flöde, dvs direkt från färdig systemering till program automatiskt utan programmerare. Högnivåspråk, som exempelvis COBOL, FORTRAN, RPG, PL/1, PASCAL, m.fl. gör programskrivningen säkrare eftersom de oftast upptäcker enkla programmeringsfel, som att man jämför ett siffervärde med en bokstav. Ju bättre strukturerat ett programmeringsspråk är, desto säkrare skall det även bli mot 3-14 programstrukturfel. t.ex. PASCAL är ett strukturerat språk, som gör det svårare att skriva ostrukturerade program. Dock skall det sägas att det är ändå programmeraren som skriver, och en dålig programmerare skriver sämre PASCAL eller ADA-kod än vad en skickig programmerare kan skriva assemblerkod. Struktureringen är viktig, eftersom den mänskliga hjärnan kan överblicka små bitar bra och se dem i ett sammanhang. Däremot kan människohjärnan inte överblicka och förstå alla detaljer i något väldigt stort. Därför blir ett program som är skrivet som många små moduler säkrare, eftersom människan (=programmeraren) lättare och säkrare kan sätta sig i hur varje bit arbetar. Efter det att bitarna är riktiga, behöver man bara fundera över hur de passar ihop, vilket inte behöver vara direkt enkelt, men i alla fall enklare än att även hålla alla delarnas exakta funktion i minnet. Det blir även lättare för dem som senare skall ändra i programmet att förstå vilken del som gör vad. Man kan grovt förenklat säga att kompilatorerna stoppar de flesta stavfel, medan testningen kan upptäcka logiska fel i programmet. De logiska felen är de svåraste att upptäcka, och kan även efter noggrann avslutande och godkänd testning finnas kvar. Under programutvecklingen finns olika verktyg till programmerarens hjälp för att undersöka programmets funktion och beteende. Ett av de mer kraftfulla hjälpmedlem är en debugger, där man kan köra programmet steg för steg, titta på variabler, ändra variabelvärden, och sätta brytpunkter. Finns inte en debugger tillgänglig, måste programmeraren själv lägga in spårningsutmatning i programmet. Egna spårningsutskrifter är en av de mest grundläggande metoderna att följa programmets funktion. I vissa system får man ut minnesdumpar över datorns minne när ett allvarligt fel upptäcks, och programmet avbryts. Hos vissa maskiner är dumpen i stort sett oanvändbar, medan IBM dumpar faktiskt är till hjälp för en kunnig assemblerprogrammerare. Problemet är att minnesdumpar inte är speciellt användbara för andra än assemblerkunniga programmere. För att ett program skall vara lätt att förstå, och därmed lätt både att skriva och underhålla, finns det några enkla grundläggande regler att följa. Säker programfunktion är även en god värdesäkring. Ett odokumenterat program kan nämligen vara omöjligt att ändra i. Sådant kan hända om man anställer en programmerare som ensam arbetar med att utveckla ett program, och som efter att programmet är utvecklat slutar. Då kan det visa sig att det blir dyrare att ändra i programmet än att börja från början och skriva nytt program. Titta även i ett material om programutvecklingsmetoder, för exempel på god och dålig programmeringsstil. 3-15 * Kommenterat. Logiska och hjälpsamma kommentarer är till stor hjälp för att förstå ett program. * Strukturerat. Programmet är uppdelat i moduler med tydliga snitt. Det blir lättare att förstå vad varje del gör, och om man vill ändra programmets funktion i delar, blir det lättare att ändra bara den delen. Modulerna skall ha tydliga snitt mellan sig, så att man inte behöver läsa hela programkoden för att förstå hur enbart en viss modul fungerar. * Funktionen dokumenterad. En ordentlig programspecifikation berättar vad programmet är avsett att göra, vad det inte skall göra (nog så viktigt !), och hur det är tänkt att fungera i olika situationer. En god specifikation är viktig för att förstå programkoden. * Dokumenterat med exempel. Användaren skall slippa att lägga ned tid på att fundera över hur man skall använda programmet, slippa lägga ned tid på att gissa sig till vilka funktioner som finns i programmet. * Användarvänligt. Användarvänlighet ger säkrare funktion. Snitt mellan modulerna innebär att man vet exakt vad som går in, och vad som går ut ur en modul. Den information som går in och ut kallas parametrar. Exempel: En modul beräknar pris efter moms, dvs en höjning. Då kan man tänka sig Modul MOMS(in: INPRIS, ut: UTPRIS). Här är snittet parametrarna inpris och utpris. En rimlig gissning är att momsen är fast programmerad i modulen, eller i en modul som innehåller alla fasta konstanter som moms, dvs när momsen höjs måste modulen ändras och kompileras om. Man kan tänka sig en annan modul, t.ex. Modul MOMS(in/ut: PRIS, in: momsprocent). Den här modulen använder det ingående priset, höjer det med momsprocenten, och sänder tillbaka resultatet i samma variabel som användes för ingående pris. Här ser man att momsprocenten inte är fast programmerad i modulen, dvs när momsen höjs behöver vi inte ändra i modulens programkod, bara siffrorna i momsprocent måste ändras. Vilken uppbyggnad som är bäst kan man inte enkelt säga, eftersom det finns många aspekter på vad som är ett bra program. Allmännt kan man säga att programspråken specificerar om en parameter är in:, ut:, eller in/ut:. Därför är det lämpligt att med en kommentar ange det för varje parameter, det kan nämligen vara svårt att avgöra ibland. 3-16 2.3 Användarvänlighet. Användarvänlighet är viktigt för en säker programfunktion. Ett korrekt program som är besvärligt och ologiskt att använda kommer att ge felaktiga resultat beroende på att användarna har svårt att använda programmet rätt. Det är inte nödvändigtvis fel i programmet, men användarinterfacet, dvs den del användaren pratar med, är felkonstruerad. Det är ungefär som att konstruera en säkerhetsbil, men sedan ha konstig, svårläst och ologisk instrumentering, det är troligt att bilen räkar ut för fler olyckor än genomsnittet trots sin konstruktion, pga mänskliga misstag. Användarvänlighet är svårt att bygga in i efterhand, det måste planeras redan från början. Ett material om programutveckligsmetodik kan tänkas innehålla fler aspekter på användarvänlighet, men vi kan ge några grundläggande regler. * Vid systemering, programmering och ändring skall man ha en dialog med den blivande användaren. Det är ytterst sällan beställaren/användaren vet exakt vad de vill ha, och hur de skall uttrycka sina önskemål. Det är ännu mer sällsynt att de vet hur deras önskemål påverkar kostnaden för utvecklingsarbetet och driften. Därför måste man hålla kontinuerlig kontakt med användarna, beskriva hur långt utvecklingen kommit, vad man håller på med, och viktigast, hur resultatet ser ut att bli just vid den tidpunkten. Tänk även på att systemerare och programmerare har mycket svårt att sätta sig in i användarnas arbetssituation och den miljö där datorsystemet skall användas. Genom god kontakt kan man undvika missförstånd som leder till ett felaktigt program. * Kontrollera indata ! Man kontrollerar indata för att försäkra sig om kvalitet på indata. Det räcker inte att enbart kontrollera att indata är riktiga, man måste även fundera på vad som händer om ett tecken som inte skall förekomma i indata ändå finns där. Överhuvudtaget skall programmet klara alla tänkbara data, och det betyder alla tänkbara data som systemet kan åstadkomma, inte bara vad som är tänkbara data för applikationen. Målet är att programmet inte skall krascha för konstiga indata, och dessutom såvitt möjligt varna användaren när felaktiga data förekommer i programmet. När användaren matar in felaktiga data, skall programmet visa var det upptäckte ett fel, och ge användaren möjlighet att enbart ändra den felaktiga delen, inte hela inmatningen. Felutskrifter skall dessutom vara tydliga och begripliga, inte korta förkortningar, och ge användaren klart besked om det beror på användaren, dvs om felet lätt kan åtgärdas, eller om det är ett systemfel, t.ex. att 3-17 databasen har blivit förstörd, då kan ju givetvis inte programmet fungera. I många datorsystem används konstiga felkoder, och användaren har då en tryckt lista med felkoder och deras betydelse i klartext. Idag kostar det inte så mycket att lagra felkoderna i klartext i datorsystemet. Det blir betydligt dyrare att låta användarna slå i tabeller över felkoder. * Systemet måste vara konsekvent och logiskt uppbyggt. Det är egentligen viktigare att systemet är konsekvent än att det är logiskt, något av det mest irriterande för en användare är när man skall göra på ett sätt i en situation, och på ett annat i nästa situation. Förkortningar, koder, och kommandon skall stå för samma sak i olika lägen. Står förnamn före efternamn vid inmatning skall det även stå så vid utmatning eller sökning. * Dela upp programmet i moduler, delrutiner. En god struktur och modularitet är som tidigare nämnts den bästa grunden för ändringar, och ett användarvänligt program kan ändras så fort användarna har synpunkter på hur programmet skall fungera. Det är mycket arbetsamt att skriva ett helt nytt system - det är påtagligt mindre arbete att ändra i några befintliga rutiner ! * Sträva efter att åstadkomma ett program som både passar nybörjaren och den erfarne. Det är inte så lätt, eftersom den erfarne användaren gärna ger korta kryptiska kommandon, gärna ser korta kryptiska utskrifter eller inga utskrifter alls, allt för att programmet skall gå snabbare att använda, den erfarna användaren kan ju ändå programmet utan och innan. Nybörjaren vill å andra sidan få mycket ledning, i form av hjälptexter, menyer, utskrifter som meddelar vad programmet håller på med. Vissa program har löst detta genom att man kan sätta sin "expertnivå" i olika steg, som avgör hur mycket som skrivs ut. Andra program kan startas i två versioner, en menystyrd och en kommandostyrd. Erfarna användare kan då välja den menystyrda varianten, medan nybörjaren kan välja menyvarianten. Det krävs mycket eftertanke för att konstruera ett bra användarinterface. Man bör notera att programmets funktioner inte skall höra samman med användarinterfacet, användarintefacet bör vara en process som sänder parametrar till programmets funktionsprocess. Det finns många exempel på dåliga program. T.ex. är det ett krav att användaren skall kunna ändra sig i en inmatning, man skall kunna avbryta en texteditering utan att 3-18 införa några ändringar i ursprungsfilen. Det finns editorer som inte uppfyller det kravet. Ett annat viktigt krav är att programmet är säkert mot misstag, dvs skulle man ge ett oönskat kommando, väl att märka ett godkänt kommando för systemet, så skall inte kommandot kunna få ödesdigra konsekvenser. Man skall inte kunna ta bort en massa filer enkelt, utan att kunna få igen dem senare. Det kravet uppfyller nästan inga operativsystem idag. Programmet skall inte innehålla konstanter i programkoden, utan de skall deklareras först på ett enhetligt ställe, så att de kan ändras lätt. Vi kan återgå till exemplet med momsrutin, där momsprocenten skall anges i en deklaration "konstant momsprocent: 23.46", och därefter skall inte siffrorna 23.46 användas på något ställe i programmet, man skall istället använda den deklarerade konstanten "momsprocent". Därigenom blir det lättare att ändra i programmet, det finns enbart ett ställe, lätt att hitta, när man skall höja momsen. Har man istället använt siffrorna 23.46 direkt i programmet, måste man hitta alla ställen där momsen använts för att programmet skall bli korrekt ändrat, annars kan man råka ut för att momsen vid en typ av körning räknas som den höjda, riktiga momsen, och vid en annan typ av körning kan momsen bli den gamla ! 2.4 Operativsystem och säkerhet. Operativsystemet är ett program som hjälper användaren med de grundläggande funktioner som behövs på datorn. Funktionerna behövs för att köra färdiga applikationer, och för att utveckla nya program. En dator utan operativsystem är inte särskilt spännande, tänk dig att behöva skriva ett eget program bara för att hitta filerna på disken ! I ett fleranvändardatorsystem är dessutom operativsystemet ansvarigt för att dela upp resurser som minne, processortid, terminallinjer, diskutrymme mellan användarna, samt att övervaka funktionen hos de enskilda användarnas program, så att de inte använder en otillåten resurs. Operativsystem innehåller liksom andra program fel, s.k. buggar. Skillnaden är att när operativsystemet gör fel så finns inget annat program som övervakar funktionen, och vanligen så hänger sig eller kraschar datorsystemet då. Därför är det viktigt för operativsystemets funktion att det är välskrivet och välstrukturerat. Man bör observera att nästan alla metoder för dataskydd förutsätter att operativsystemet fungerar korrekt. Det har utveckats ett antal teorier om hur operativsystem skall skrivas. Idag arbetar man huvudsakligen för att utveckla en liten kärna, med enbart funktioner för resurstilldelning och resurskontroll, kontroll av att minnesgränser inte överskrids, m.m. Kärnan skall vara liten, och man arbetar hårt för att kontrollera funktionen, och därmed få en säker funktion. Kärnan kan använda alla 3-19 funktioner som finns i maskinen, medan användarna (övriga processer) enbart kan använda de funktioner som inte skapar säkerhetsrisker. Övriga processer är allt annat, typiskt användarprogram, kommunikation, stödprocesser, även alla andra delar av operativsystemet som inte utför resurstilldelning. Man forskar även i samordnade hårdvarufunktioner och operativsystemsfunktioner. En av bristerna i dagens system är att operativsystemet utvecklats efter hårdvaran, och därför kanske inte bästa anpassning skett. Operativsystemet och säkerheten är dessutom beroende av datorns användning. Ett system där användarna enbart kan köra en viss applikation blir mycket säkert, eftersom användarna inte kan programmera på något sätt. Ett system där användarna kan programmera blir inte alls lika säkert. Hårdvarusäkerheten är idag uppbyggd kring olika typer av instruktioner, priviligierade och opriviligierade, eller tillåtna och otillåtna. Man säger även att maskinen arbetar i två olika moder, övervaknings/supervisory/kernel och problem/användar/user mode. Uppdelningen fungerar så att de instruktioner som kan ändra systemets status, in-och-utmatning, resurstilldelning, endast kan utföras i övervakningsmod. De priviligerade instruktionerna kan endast utföras av operativsystemet. Det betyder att ett användarprogram, en applikation, måste anropa operativsystemet för att kunna läsa en fil på disk, eller skriva tecken på en terminal. Eftersom läs-och-skrivinstruktionerna inte är tillgängliga för applikationsprogrammet, måste det anropa operativsystemet. Behörighet kan då kontrolleras av operativsystemet. Datorns minne är uppdelat, en del har operativsystemet, resten delas upp på olika användare. För att en användare inte skall kunna ändra data för andra användare eller operativsystemet, finns kontroller om användaren är behörig att läsa önskat område. Man kan lägga märke till att enklare mikroprocessorer, t.ex. Intel 8086/8088 (som sitter i vanlig PC), inte har minnesskydd, dvs ett program kan läsa och skriva i hela minnet. Däremot kan de nyare mikroprocessorerna, t.ex. Intel 80286/80386/80486, skydda delar av minnet, de har även två moder att arbeta i. Därför kan man inte åstadkomma fullständig säkerhet i en processor utan minnesskydd, vad man än gör. Tyvärr verkar det inte möjligt att åstadkomma fullständig säkerhet ens i maskiner med minnesskydd och andra hårdvarumässiga skyddsfunktioner. Verkligheten visar att det alltid verkar finnas en svaghet någonstans. Några exempel följer: Känsliga data, t.ex. operativsystemets återhoppsadresser, läggs i programmets egna dataareor. Man kan komma åt lösenordslistor genom hjälpprogram etc. Parametrar till operativsystemanrop kan ändras efter att operativsystemet har kontrollerat dem. 3-20 Bieffekter kan ge nyttig information. I ett fall sökte ett program först i databasen, fick fram informationen, och först därefter kontrollerades om användaren var behörig att få informationen. Genom tidsfördröjningen mellan fråga och svar kunde en användare åtminstone få veta om det fanns någon information i databasen. 2.5 Säkerhetsprogramvara som tillägg. Ibland är säkerhetsfunktionerna inte inbyggda i operativsystemet. Då lägger man till speciella övervakningsprogram. Ett exempel är IBM's RACF-program, som används på IBM stordatorer. I IBM stordatorer används en programvara som kallas RACF (Resource Acces Control Facility) för att ge säkerhet. RACF är ett system för att skapa och lagra användaridentiter och lösenord, kontrollera resursanvändningen (terminaler, band, diskar, etc), skydda filer och program, samt rapportera systemanvändning och resursanvändning. I RACF definierar man en Security Administrator, som är ansvarig för säkerhetsuppbyggnaden i systemet. Security administratorn skapar RACF profiler för användare och profiler för data, som lagras i en RACF databas. Profilerna innehåller bl.a. uppgifter vad olika användare kan göra med data, som: Alter data, Update data, Read data, No access to data, Execute only. I användarprofilerna kan man definiera användargrupper. För att skräddarsy säkerhetssystemet till en viss installation kan man skriva egna tillägsrutiner till RACF, och det är ganska vanligt. IBM AS/400 använder en säkerhetsmodul med struktur och funktioner som liknar RACF. 4-1 Kapitel 4. BEHÖRIGHET ATT ANVÄNDA SYSTEMET. 1. Behörighetskontroll. I de allra flesta fall vill man kunna kontrollera ett datorsystems användning. Det kan endast ske genom att begränsa vad användarna kan göra, dvs spärra systemet mot annan användning än det som bestämts. Användarna kan enbart köra en applikation, ett program (applikationen kan medge att användarna kan välja mellan flera underapplikationer). Då kan användarna enbart använda datasystemet till en uppgift, t.ex. resebyråernas biljettbokningssystem. Terminalerna kan inte användas till programmering, centraldatorn är spärrad mot det. Ofta vill man inte begränsa datorsystemets användning till en enda uppgift, man kan vilja köra flera olika applikationer, eller utveckla program. Då kan man inte längre kontrollera systemets användning (om man inte står och tittar över axeln på användaren). Istället får man då kontrollera vilka personer som har tillgång till datorsystemet, dvs endast låta "betrodda" personer använda systemet. Oftast vill man kombinera kontrollen över systemanvändningen, och ge vissa användare möjlighet att göra vissa saker eller köra vissa applikationer, och ge andra användare andra möjligheter. Det finns flera olika skäl till att man vill kontrollera ett datorsystems användning. Vanligast är att man lagrar känslig information i systemet, det kan vara egna data man inte vill ha spridda. Även om man inte själv anser data i systemet känsliga, har man oftast förbundit sig att inte sprida köpt programvara, och det innebär för en stordator eller minidator att se till att användarna inte kan kopiera operativsystemet. Datorsystemet kan även vara kopplat i ett nätverk, och för att kontrollera säkerheten i nätet kan det krävas att man kontrollerar vad användarna kan göra. Ett datorsystem innebär inte bara information, hårdvaran är värd pengar, och man vill därför ha kontroll på att den inte skadas eller försvinner. Man kan inte begränsa användningssättet för ett enanvändarsystem, en persondator, användaren kan göra allt som är tekniskt möjligt. Därför inriktas persondator-säkerhet mest på kontroll av den fysiska tillgängligheten, genom att låsa in eller låsa fast utrustningen. Eftersom en användare lätt kan kopiera programvara eller data, har man uppfunnit olika metoder för att skydda mot kopiering, s.k. kopieringsskyddad programvara. För ett fleranvändarsystem vill man ge olika användare olika möjligheter att använda systemet. Det sker dels för att skydda informationen i systemet mot obehöriga, dels för att skydda systemets funktion. En användare med obegränsade 4-2 möjligheter att ändra information i systemet, t.ex. en operatör, kan utan att skada lagrade data i systemet ändra driftsparametrar så att hela eller delar av systemet inte längre fungerar, en s.k. krasch. I ett datorsystem finns olika resurser, som: lagrad information och program, skrivare, datakommunikationslinjer, terminaler, andra yttre enheter. Det finns nästan oändligt många olika sätt att använda ett datorsystem. Därför beskriver man lämpligen vad som är tillåtet att utföra, inte vad som skall vara otillåtet. Det är nämligen mycket svårt att upptäcka alla möjliga otillåtna operationer. Däremot upptäcker man oftast snabbt om något tillåtet inte kan utföras p.g.a. behörighetsbegränsningar. Alla operationer som är tillåtna i systemet (tekniskt möjliga) är inte tillåtna för alla användare. Därför måste man kunna identifiera användarna, och sätta gränser för vad en enskild användare kan göra i systemet. 2. Systemsäkerhet. Det finns två olika grundprinciper för hur man delar upp systemets resurser: 1. Listorienterad säkerhet. Man håller systemet med en lista över tillåtna användare för varje resurs. 2. Biljettorienterad säkerhet ("capabilities"). Användaren skall ha en viss biljett för att utnyttja en viss resurs, och kontroll sker varje gång en viss resurs skall användas. Valet beror på användningsområde, OS-struktur, och hårdvarukonstruktion. I många biljettorienterade system finns idag listorienterad kontroll som utvidgning för filkontroll. Ägaren till en fil kan uttryckligen specificera vilka användare som kan få använda filen, och på vilket sätt de kan använda filen. För att hålla säkerhetsnivån måste datorsystemet kunna kontrollera att en process inte adresserar otillåtna resurser, som andra processers minne, disk, input/output, nätverk, printrar, etc. För att kunna kontrollera resurserna krävs stöd i maskinvarukonstruktionen, det måste finnas särskilda maskininstruktioner som tillåter uppdelning av minnet i användarens del, där användaren kan både läsa och skriva, och operativsystemets del, där operativsystemets programvara och tabeller lagras, där användaren inte skall kunna läsa, och framför allt inte ändra. Man brukar använda uttrycket priviligierade instruktioner som namn på dessa maskininstruktioner, eftersom de är de enda instruktioner som kan använda de begränsade resurserna, och vanliga program skall inte/kan inte använda de priviligerade instruktionerna. Sådana maskininstruktioner saknas i de 4-3 tidigare persondatorernas hårdvara, t.ex. Intel 8086/8088 processorer, och därför finns ingen möjlighet till riktig säkerhet med en sådan processor. I de processorer som heter Intel 80286/80386 finns sådana instruktioner, dvs där kan man implementera ett operativsystem med säkerhetsfunktioner. Dock utnyttjas inte de maskininstruktionerna i MS-DOS, som därför är ett enanvändarsystem utan säkerhetsfunktioner vilken processor man än använder. Se även avsnittet om operativsystemsäkerhet och uppbyggnad. 3. Användaridentifiering. 3.1 Metoder för att identifiera användare. Det finns flera olika metoder för att identifiera användare, och metoderna kan även kombineras. Användaridentifiering kompletteras ibland med terminalidentifiering. I många system identifierar man bara terminalen, och inte användaren. Terminalidentifiering är en lätt metod tekniskt sett, och svår att förfalska. Terminalen är ju kopplad till en viss ingång på datorn, och den ingången har ett visst bestämt linjenummer, datorn vet med hjälp av sin terminaladresstabell vilken linje som går vart. För att kunna ändra terminalidentifieringen, måste man ha en hel del teletekniskt kunnande och verktyg, samt arbetsro. Datorsystemets adresstabeller ligger oftast väl skyddade, och det krävs en hel del arbete för att ändra i de fysiska kablarna eller i systemets adresstabell. Däremot är metoden inte med lätthet användbar när terminalerna är anslutna via terminalväxlar och nätverk. Det kan då vara svårare att få fram en entydig och svårförändrad terminaladress. När man vill identifiera användarna finns det tre grundprinciper: 1. Kontroll av något användaren känner till (lösenord). 2. Kontroll av något föremål (nyckel, magnetkodat kort) 3. Kontroll av någon egenskap användaren har (röst, näthinneavtryck) Alla tre metoderna lider av svagheter, metod 1 lider av risken att någon annan lär sig eller gissar vad den rätta användaren känner till, metod 2 har svagheten att föremålet kan stjälas eller kopieras, eller att en obehörig kan mixtra med nyckelavläsaren, och metod 3 slutligen lider av svagheten att egenskapen kan förändras tillfälligt eller 4-4 permanent, röst kan förändras vid heshet eller målbrott, fingeravtryck kan vara svåra att kontrollera om fingret måste vara i bandage. Man kan kombinera metoderna, och på så sätt minska svagheterna. Metod 2, kontroll av plastkort är en av de vanligaste metoderna på de arbetsplatser där säkerhet anses viktig. Till skillnad från ett lösenord kan man inte titta över axeln eller gissa en kod på ett plastkort. Den kompletteras ofta med kontroll av lösenord och terminalidentifiering. Kompletterar man med lösenord är det viktigt att användarna inte skriver upp lösenordet på kortet, eller på något annat som kan stjälas samtidigt som plastkortet. Metoden anses som tillförlitlig idag, men man önskar ersätta plastkort och lösenord med mer svårförfalskade egenskaper, som är mindre irriterande för användarna. Därför har mycken forskning ägnats åt metod 3, kontroll av någon egenskap hos användaren. 3.2 Biometriska identifieringsmetoder. Idag finns sex olika metoder för att kontrollera någon egenskap hos användaren. Samlingsnamnet är "biometriska metoder", och definieras som "automatiserade metoder att identifiera en person eller att verifiera dennes identitet baserat på fysiologiska eller beteendemässiga karakteristika". De sex metoderna är: * Handgeometri * Fingeravtryck * Retinaavläsning * Röstmönster * Signaturdynamik * Tangentnedslagsdynamik Metoderna kräver avancerad utrustning, ofta med kraftfulla mikroprocessorer. Trots avancerad teknik och höga kostnader är metoderna inte förfalskningssäkra. Fördelen med att identifiera en egenskap är att användaren inte behöver komma ihåg att bära med sig ett plastkort, eller komma ihåg ett lösenord, och det är omöjligt att stjäla en personlig egenskap, den måste i så fall kopieras. Det säkraste systemet, och samtidigt det äldsta, är tekniken med handgeometri. Det första systemet kom i bruk 1970. Idag finns enbart ett kommersiellt system, som uteslutande används för fysiskt skydd, dvs tillträdesskydd. Det är den 4-5 enda biometriska teknik som visat felvärden under 1 procent. Felen är dels sådana att obehöriga accepterats av systemet, dels att behöriga felaktigt nekats tillträde. Retinaavläsning avläser mönstret hos näthinnans blodkärl. Mönstret verkar vara unikt för varje individ, och metoden används även av polisen. För att avläsa mönstret, låter man en infraröd ljusstråle svepa över användarens näthinna. Ett stort problem med metoden är att övertyga användarna om ofarligheten med infraröd avläsning. Identifiering av fingeravtryck är ju en känd metod att identifiera brottslingar. Det är samtidigt största problemet med att sprida metoden, användarna kan känna sig som brottslingar, eller befara att de kommer med i polisregistren. Det är sedan länge känt att möjligheten att två människor har samma fingeravtryck är väldigt liten, metoden är på så sätt säker. De moderna automatiska systemen är inte beroende av rena eller oskadade fingrar. För att minska risken att latexavtryck eller liknande skall kunna lura systemet, kan man även använda sig av sensorer som läser av temperatur eller blodflöde i fingrarna. Röstidentifiering fungerar redan idag, fastän systemen idag är beroende av användarens humör, förkylningar, etc. Idag finns även utmärkta tekniska hjälpmedel för nästan perfekta ljudinspelningar. Däremot skall imitatörer inte kunna lura systemen, enligt fabrikanterna. Signaturdynamik mäter sättet att skriva namnteckningen. Redan idag är namnteckningen allmännt accepterad som identifiering, och man kan anta att den stora allmänheten inte skulle protestera mot en sådan identifieringsmetod. Antingen använder man en penna som är ansluten till en dator och mäter pennans rörelsemönster och trycket i pennspetsen, eller så mäter man pennans rörelser med en känslig platta. De båda metoderna kan även kombineras. Metoden verifierar inte själva namnteckningen, utan såttet att skriva den. Alla transaktioner där identiten bekräftas med en namnteckning är områden där signaturdynamik kan komma att användas i framtiden. Nära till hands ligger bankuttag och kreditkort. Tangentnedslagsdynamik utnyttjar att olika människor använder tangentbordet på olika sätt. Stanford Research Institute visade att varje människas sätt att använda tangentbordet är unikt, och följaktligen är en möjlig identifikationsmetod. Man mäter hur hårt användaren slår på tangenterna, och tidrymden mellan tangentnedslagen. Metoden är uppenbart mycket användbar inom databranschen. 4-6 4. Lösenord. 4.1 Användning av lösenord. Det billigaste och enklaste sättet är att identifiera användare med lösenord. Det kräver inte någon extra anslutning av läsare eller annan extrautrustning. Däremot krävs extra arrangemang för att skydda lösenordet. Användaren matar ju in lösenordet från tangentbordet, och det kan komma att synas precis som annan text. De flesta terminaler ekar idag inte tecknen själva, utan sänder tecknen till datorn, där datorn ekar tecknen genom att sända tillbaka dem till terminalen. Då slår givetvis datorn av teckenekning när lösenordet skrivs in. För de terminaler som automatiskt ekar tecknen, s.k. halvduplex (lokalt eko), måste datorn skriva över det sända lösenordet med skräptecken. Samtidigt som det är enkelt för användaren att mata in lösenordet, så är det lätt för en obehörig användare att sätta sig och försöka gissa lösenord. Därför måste man ha något sorts varningssystem när flera misslyckade inloggningar sker, samtidigt som de behöriga användarna måste få göra något misstag när de matar in lösenordet. Det är lätt att byta lösenord om man misstänker att obehöriga har kommit åt det. En annan metod är att ge varje användare en lista med lösenord, som enbart används en enda gång. Metoden har nackdelen att användaren knappast kan komma ihåg alla lösenorden, och därför måste skriva upp dem på papper, som kan stjälas eller försvinna. Frågan är även hur systemet skall agera när en lösenordsfråga inte besvaras. Nådde frågan fram till användaren, och svarade användaren ? Dvs, är lösenordet förbrukat eller inte ? Ett annat alternativ är att ge användaren ett långt lösenord, där enbart delar av lösenordet används. För att användaren skall ha en möjlighet att komma ihåg lösenordet utan att skriva upp det, måste man använda ord i det naturliga språket, och då blir det genast lättare att gissa sig till lösenordet. 4.2 Alternativa lösenordsmetoder. Det finns andra val av lösenord. Man föreslår ibland att använda något användaren känner till, men andra inte förväntas känna till. Då brukar förslagen vara mellannamn, släktingars namn, eller kattens namn. I dagens Sverige finns nästan alla uppgifter om släktingar på data, och uppgifterna är offentliga, så namn är säkert inget bra val. Kattens namn brukar komma fram vid diskussioner. Det är mycket svårt att komma på bra frågor som andra inte känner till svaren på. Frågor som man inte har äkta svar till, får påhittade svar, som då oftast blir enkla att gissa sig till. En helt annan metod än lösenord är att låta användaren utföra en operation, vanligen en matematisk funktion. Då sänder datorn ett slumpmässigt valt tal till användaren, som utför den matematiska operationen på talet datorn sänt över, 4-7 och svarar datorn med resultatet. Den stora svårigheten är att åstadkomma bra funktioner, som dels är lätta att utföra med huvudräkning, och som samtidigt är svåra att invertera, dvs svåra att gissa sig till när man vet datorns fråga och användarens svar. För kontakter mellan datorer i nätverk kan funktioner rekommenderas istället för lösenord, eftersom man inte behöver tänka på att funktionen skall kunna beräknas i huvudet. Det finns redan idag plastkort med inbyggda mikroprocessorer som då använder funktioner istället för rena lösenord. Bull har tagit fram ett sådant system, och flera finns under utveckling. Sådana kort är idag ganska dyra, men å andra sidan säkra. 4.3 Säkrare lösenord med dagens teknik. Det finns en del metoder att göra lösenord säkrare. Det viktigaste är att göra lösenorden svåra att gissa, och svåra att gissa även om man känner till delar av lösenordet. Ett kort lösenord är lätt att gissa, använder man bara en alfabetisk bokstav har man bara 26 olika lösenord (de flesta operativsystem accepterar inte svenska tecken i lösenord), och så många kombinationer orkar även en lat databrottsling testa. Man bör ha minst 5-6 tecken i lösenordet för att ge upphov till så många kombinationer att även en automatisk inloggningsprocedur tar för lång tid genom att prova alla möjliga kombinationer. Färre tecken ger så få kombinationer att ett program kan försöka alla tänkbara kombinationer i följd, och till slut hitta rätt lösenord. Därför kräver idag fler och fler system en minsta längd på lösenord för att acceptera dem, försöker användaren byta till ett för kort lösenord accepteras detta inte. För att ge bra säkerhet skall lösenordet vara svårt att gissa. Därför är det helt förkastligt att använda sin frus namn, barnens namn, eller hundens namn. Det är det första en databrottsling tar reda på och försöker med. Överhuvudtaget allt som andra lätt kan ta reda på om en person, kan användas som möjliga och sannolika lösenord. Såvitt möjligt bör man unvika ord med mening i, för att göra det svårare att gissa. Vet en obehörig delar av ett lösenord, är det genast mycket lättare att gissa resten, om man vet att lösenordet har en normal betydelse. Försöker en obehörig att forcera ett lösenord, och inte vill prova med namn, så är en bra start att helt enkelt ta ett lexikon över de vanligaste orden och prova dem, ett i taget. Det är förvånansvärt så bra den metoden fungerar, även utan att man känner till delar av lösenordet. I fler och fler system idag kontrolleras lösenordens ålder, ett lösenord gäller bara en bestämd tidrymd, därefter måste användaren byta lösenord, s.k. "password aging". Skälet är att lösenord blir "mindre säkra" efter en tid, de kan ha avlyssnats på ledningarna, stulits, eller på annat sätt spridits. Det är både bra och dåligt ur säkerhetssynpunkt. 4-8 Bra är att lösenorden verkligen byts regelbundet, något som de flesta användare inte gör. Dåligt är att de flesta användare tycker det är besvärligt att byta lösenord och har begränsad fantasi, därför kommer många användare att försöka med två lösenord, som de växlar mellan vid lösenordsbyten. En annan möjlighet är att användaren väljer ett långt och nytt men lättgissat lösenord. Ytterligare en möjlighet är att lösenorden blir för många, och även en säkerhetsmedveten användare drar sig då inte för att skriva upp lösenorden på papper. Speciellt användare med tekniskt ansvar brukar ha 2-3 olika konton, som bör ha olika lösenord. Kan man även ringa in till datorn, har fler och fler system idag lösenord för att komma in i modemet. Då måste användaren komma ihåg 4-6 lösenord, samt hitta på nya sådana när de skall bytas. Därför är det inte så lätt att få lösenordsbyte att fungera. För att förebygga byte till gamla lösenord, kontrollerar vissa system inte bara det gamla lösenordet, utan även ett antal av de föregående. 4.4 Loggning och lagring av lösenord. När ett ogiltigt lösenord används, bör systemet logga händelsen, så att systemansvariga kan fundera på om attacker kanske förekommer. Loggning kanske inte skall ske för första försöket, om det andra försöket var riktigt, även erfarna användare skriver ju fel ibland. Däremot finns det skäl att logga flera ogiltiga lösenord i följd, oavsett om användaren till slut kommer in eller inte. Det kan även finnas skäl att logga användarens försök att använda otillåtna filer, om systemet har sådana funktioner. Ett regelbundet studium av hur systemet används är en god grund för säkerhetsarbetet. Lösenorden måste lagras någonstans i systemet. Där kan någon obehörig komma åt lösenorden, och på så sätt äventyra systemets säkerhet. För att minska risken använder många system idag s.k. envägskryptering, vilket innebär att lösenorden krypteras med en krypteringsalgoritm som inte är omvändbar, dvs man kan inte dekryptera lösenorden till deras ursprungliga utseende. Envägskrypteringen gör att ingen, inte ens den systemansvarige, kan läsa lösenorden. Vid lösenordskontroll krypterar följaktligen datorsystemet det lösenord som användaren givit, och jämför med det krypterade lösenordet. Bl.a. unix-system använder envägskryptering, och den krypterade passwordfilen ligger öppet läsbar. 4-9 5. Aktiva kort. 5.1 Säkrare än magnetkort. Ett av de säkraste systemen idag är s.k. "smart cards", intelligenta kort, även namnet "aktiva kort" används ibland. Det är plastkort med en liten inbyggd mikroprocessor, och kan lagra lite data. Aktiva kort är i sig mycket säkrare än vanliga magnetkort, och kan även göra dataöverföring betydligt säkrare. Genom att de innehåller en mikroprocessor kan de utföra beräkningar, och beräkningarna kan användas för att verifiera identitet eller att en transaktion överförts oförändrat. Här är ett litet exempel på hur aktiva kort kan användas för att öka säkerheten inom finansvärlden, t.ex. för utbetalningsautomater (Bankomat, Minuten). Användaren stoppar idag in ett magnetkort i automaten, där magnetkortet innehåller kontonumret, och användaren knappar in sin kod (PIN) på ett tangentbord. Använder man istället ett aktivt kort, stoppar användaren sitt aktiva kort i en läsare, som kopplar kortets mikroprocessor till en liten mikrodator i läsaren. Mikrodatorn läser kontonumret från kortet. Därefter knappar användaren in sin PIN-kod, och kortet jämför inknappad kod med den kod som lagrats i kortet, för att skydda mot obehörig användning vid stöld av kortet. Därefter måste kortet bekräfta sin behörighet mot centraldatorn. I den processen används en hemlig nyckel (som lagras både i kortet och centraldatorn), en identitet för användaren (t.ex. kortnummer eller kontonummer), och ett slumptal som genereras av centraldatorn och sänds till kortet. En algoritm som lagras i kortet använder de tre begreppen och ger som resultat ett värde, och det värdet sänder kortet till centraldatorn. RES = F (nyckel, identitet, slumptal) Res är en funktion av nyckel, identitet, och slumptal. Centraldatorn kan även beräkna Res, eftersom den lagrar nyckel och identitet, samt själv tar fram slumptalet. Genom att jämföra centraldatorns beräknade Res med det värde som kortet sänt över, kan man avgöra om användaren är den rätte. En obehörig som avlyssnar linjen ser bara slumptalet och resultatet, och får därför mycket svårt att beräkna nyckel och funktion. Funktionen är dessutom en s k enkelriktad funktion. Det finns ingen omvändning av funktionen så att man från ett känt resultat kan erhålla nyckeln. 4-10 5.2 Tekniken bakom aktiva kort. Efter att användaren har identifierats med säkerhet, återstår problemet att sända data på linjen mellan centraldator och kortläsare så att ingen kan ändra på dem. Lösningen är att låta kortet beräkna en liknande funktion som för identiteten, på varje transaktion som skall sändas till centraldatorn, och beräkna en funktion för varje mottagen transaktion. Genom att jämföra funktionsvärdet med det överförda värdet kan man avgöra om den sända transaktionen har förändrats på något sätt, och då antingen begära omsändning eller vägra vidare behandling. I det här exemplet har transaktionen sänts i klartext. Det kan hända att man inte vill sända transaktionen i klartext, och då kan man kryptera transaktionen. Man kan programmera kortet så att det kan kryptera en transaktion, t.ex. med DES-algoritmen. Nackdelen är att korten inte är så snabba idag, krypteringen går långsamt. Därför brukar man begränsa krypteringen till endast vissa känsliga fält i transaktionen. Fördelen med aktiva kort är användarvänlighet, och låga kostnader i stora serier. Ett kort kostar mellan 25 och 250 kronor, och en kortläsare ungefär 500 - 15.000 kronor, kostnaden beror på kvantitet och kvalitet/funktioner. Säkerheten med aktiva kort kräver egentligen att rätt användare har kortet, i fel händer har inte säkerheten ökat påtagligt jämfört med magnetkort. Man har föreslagit att kortet skall lagra t.ex. användarens fingeravtryck, och på så sätt kunna avgöra om användaren verkligen är den rätte ägaren. Viktigast är att aktiva kort är svåra att kopiera, till skillnad från magnetkort. En magnetkortsläsare ser enbart vad den hittar på magnetspåret, och magnetspåret är mycket lätt att ändra på. Till och med de nya kreditkorten med hologram förfalskas numera. Tekniken för att åstadkomma säkerhet i aktiva kort består av flera delar. Det krävs avancerad teknik för att producera mikroprocessorn för ett aktivt kort, mycket stora summor för att utveckla egna mikroprocessorer, och fortfarande stora summor för att kopiera existerande mikroprocessorer. Kostnaden för att kopiera blir i de flesta fall större än vinsten av att knäcka systemet. Man kan inte ta reda på hur kortet är programmerat, eller vad som är lagrat i det, genom att läsa av kortets minne. Kortets minne, minneskontroller och processor sitter på ett och samma kretskort, och behöver därför ingen databuss eller adressbuss. Det finns inga anslutningar att koppla sig till eller avlyssna. Minneskontrollern skyddar mot yttre åtkomst av lagrade data. Processorn ligger skyddad i kortet, och är inplastad så att den inte kan öppnas utan att skadas. Det går inte heller att studera vad som lagrats i kortet med hjälp av ett svepelektronmikroskop, eftersom minnet är s.k. elektroniskt raderbart (EEPROM). De elektriska laddningar 4-11 som finns i kortets minne störs av elektronstrålen i mikroskopet, och man får inget resultat. Det går inte att stjäla kort från fabriken och programmera dem själv. Det beror på att det behövs en nyckel för att kunna programmera kortet, en nyckel som redan lagts in vid tillverkningen. Nyckeln kan ändras vid varje tillverkningsomgång. Slutligen måste man skydda kommunikationen mellan kort och kortläsare, annars kan en obehörig helt enkelt spela in de meddelanden som kortet sänder, och spela upp dem vid lämpligt tillfälle. Det skyddet kan man åstadkomma genom att kryptera kommunikationen mellan kort och läsare. 5-1 Kapitel 5. DATAKVALITET. 1. Datakvalitet viktigt men ofta förbisett. Datakvalitet är ett ytterst viktigt område inom datasäkerhetsarbetet, eftersom det ytterst gäller om reultaten från datorsystemet är användbara. Vi vill ju att de resultat som ett datorsystem producerar skall vara pålitliga och användbara. Utgår man från felaktiga data får man ett felaktigt resultat, det inser de flesta. Däremot inser inte alla att man får ett felaktigt resultat om man använder gamla data på ett nytt sätt, som de inte har giltighet för. Det är allvarligt, eftersom alltför många tror att det som kommer ur en dator alltid är riktigt. Så är inte fallet. Kvalitet är ett viktigt begrepp. Vad vi inte alltid tänker på är att kvalitet mäts mot någon måttstock. Man jämför sig fram till en kvalitetsklass. Det är ett relativt begrepp, som utgår från en viss användning, en viss ändamålsenlighet. Ändras användningen, kanske inte kvalitetsklassningen stämmer, vilket de flesta inser. Problemet med att bedöma datakvalitet är att man sällan kopplar ihop kvalitet och användning. Därför råkar man ut för att data används till ett annat ändamål än det ursprungliga, och att data kanske inte lämpar sig för den nya användningen. Data måste vara felfria och ändamålsorienterade. Felfrihet kan anses vara att data är oförändrade, att data inte förändras under lagringen. Ändamålsorienteringen delas upp i fem delar: - Aktualitet - Noggrannhet - Relevans - Tillgänglighet - Täckning 1.1 Aktualitet. Är de data vi skall använda tillräckligt aktuella? Kravet på aktualitet är olika i olika fall. Kravet på aktualitet beror även på konsekvenserna av att använda inaktuella data. En adresslista för direktreklam har sällan en kritisk aktualitet, kostnaden för reklam som inte kommer fram är oftast mindre än kostnaden för att få fram helt aktuella 5-2 adresser. Ett datorsystem som styr en industriell process kan ibland ha ett aktualitetskrav på delar av en sekund, och konsekvenserna av att använda för gamla data kan vara att hela processen går över styr. Historiska data har nästan obegränsad aktualitet. För att få god datakvalitet måste man ha rutiner som uppdaterar data tillräckligt ofta. Man behöver även städa bort gamla inaktuella data. 1.2 Noggrannhet. Man anger noggrannheten jämfört med ett tänkt helt korrekt värde. Två olika typer av fel påverkar noggrannheten, systematiska fel, och precisionsfel. Systematiska fel är fel som går åt samma håll och som beror på undersökningssystemet, t.ex. att mätinstrumentet är felinställt, eller att man har fel förutsättningar. Känner man till det systematiska felet kan man lätt korrigera mätvärdena, genom att lägga till eller dra ifrån det systematiska felet på mätvärdena. Precisionsfel går inte nödvändigtvis åt samma håll, de påverkas mer av slumpen. Orsaken är avläsningsfel, slumpartade variationer som påverkar värdena. Data som man matar in i ett datorsystem kan vara behäftade med olika fel, men datorsystemet inför ofta ytterligare fel. Ett exempel är att datorer inte kan lagra decimaler utan avrundningfel. Det program man matar in data i kanske har ännu större begränsningar i noggranhet än datorn själv, och kan därför införa ytterligare fel. Inmatade data kan vara för långa för programmet, som då kapar av en del av inmatade data, datanoggrannheten minskar. 1.3 Relevans Är data lämpliga för det avsedda ändamålet? Är data relevanta för det avsedda ändamålet? Det kan vara svårt att få klarhet i exakt vad data i en databas står för. Ett exempel är en databas över "kommuninnevånare". En del av de personer som finns med i databasen vistas inte i kommunen, andra både vistas, bor och arbetar i kommunen, en del personer vistas i kommunen utan att vara skrivna där. Listan har skiftande relevans för olika planeringsprocesser, trots att rubriken är så neutral. Ett annat exempel är att den statliga byråkratin använder minst 23 olika inkomstbegrepp. Det är givetvis inte relevant att samköra uppgifter med olika relevans, ur olika register. Ändå sker det alltför ofta. 5-3 1.4 Tillgänglighet. Det finns två typer av tillgänglighet, fysisk tillgänglighet, och logisk tillgänglighet. Fysisk tillgänglighet handlar om hur besvärligt det är att komma åt data, hur lång tid det tar. Långa svarstider ger en låg tillgänglighet, om data enbart finns på band måste bandet först monteras på en bandstation, vilket ger lägre tillgänglighet. Hög tillgänglighet är när data finns i det datorsystem man använder, och snabbt kan fås fram. Logisk tillgänglighet handlar om hur besvärligt det är att tolka data när man väl fått fram dem. Klartext är mer tillgänglig än koder man måste slå upp i tabeller. Samtidigt kan klartext vara mindre exakt, t.ex. en medicinsk term blir mindre väldefinierad, mindre exakt, när den översätts till vanlig svenska. 1.5 Täckning Har man fått med alla relevanta data har man god täckning. Har man inte med alla relevanta data, har man en mindre god täckning. Begreppet används främst inom statistik, där det har en särskild, väldefinierad betydelse. Utom statistiken handlar det om att inte glömma bort vissa delar av data, inte utelämna delar som borde vara med. 2. Hårddata och Mjukdata Begreppen hårddata och mjukdata används ibland. Framför allt i debattinlägg framställs mjukdata som något hotfullt. Begreppen kommer ursprungligen från samhällsvetenskapen och sociologiska studier. Definitionerna idag, inom databranschen, är ungefär: Hårddata: Uppgifter där alla kan vara överens om att det finns ett objektivt "sant" värde samt att det finns eller skulle kunna finnas en mätmetod för att få fram värdet med hög noggrannhet. Noggrannheten kan redovisas. Mjukdata: Uppgifter som grundar sig på någon eller några personers subjektiva uppfattning, och som inte kan mätas. Hårddata är oberoende av vem som lämnar dem, alla kommer fram till samma resultat. Mjukdata är beroende av vem som lämnar dem, och i vilket sammanhang uppgifterna lämnas. Vi ka ta ett exempel från den medicinska världen, där en "fraktur" räknas som hårddata, medan "mycket känslig för smärta" måste räknas som mjukdata, eftersom olika läkare kan komma till olika resultat. Mjukdata är i princip tyckanden. 5-4 Det är svårt att dra en gräns mellan hårddata och mjukdata. I dagliga livet har vi sällan problem med att handskas med mjukdata. Problemen uppstår i datorsystem, alltför många tror att data i datorsystem är exakta och sanna fakta, och därmed även kan användas vidare som sanna fakta. Mjukdata är och förblir alltid mjukdata, även om de lagras i ett datorsystem. 3. Kontroll av data. För att öka datakvaliteten kan man kontrollera data. Man kan kontrollera rimlighet, jämföra mot speciella kontrolldata, och ha felförebyggande kontroller i både inmatning och utmatning. Indata kan man rimlighetskontrollera mot kända begränsningar. Ett exempel är datum, som aldrig kan vara större än 31, men även kan kontrolleras mot månad, så att t.ex. 30:e Februari inte godkänns. Applikationen kanske bara skall lagra uppgifter om arbetsdagar, då skall kanske inte datum som infaller på Lördag/Söndag/Helgdag godkännas. Man kan kontrollera rimligheten i utdata, så t.ex. kan man fråga sig om en faktura på 50 öre skall sändas. Samtidigt skall kontrollerna inte vara obekväma när något inte stämmer. Ett enda fel i indata skall inte göra det omöjligt att mata in övriga, riktiga, data. Det är en svår balansgång mellan att hålla systemet fritt från felaktiga eller konstiga data, och å andra sidan att låta användarna mata in de data de har framför sig. Man måste alltså avgöra hur kontrollerna skall fungera från fall till fall. Att använda kontrolldata är helt enkelt att använda sig av checksummor. Checksummor används flitigt i den interna datalagringen i datorn. I många fall glömmer man bort möjligheten att använda checksummor. Ett exempel på sådana kontroller är sista sifran i vårt personnummer, det är en kontrollsiffra som man får fram genom en matematisk operation på de andra siffrorna i personnumret. På så sätt kan man upptäcka om siffror blivit omkastade eller utbytta i ett personnummer. 4. Felförebyggande åtgärder. Ett av de viktigaste sätten att förebygga felaktiga data är att göra det enkelt och logiskt för användaren att mata in rätt uppgifter. Lika viktigt är att motivera användarna att ge systemet riktiga data i rätt format. Dokumentationen måste finnas redan från början, och den skall vara begriplig, logisk, överskådlig och enkel. Lika viktig är datarepresentationen. Redan vid datainsamlingen kan fel uppstå. För små fält, konstiga koder, för få alternativ, kan vara orsaker till fel i indata. Ett system som användarna tycker är logiskt och lätt att arbeta med fungerar allmännt bättre och når bättre datakvalitet än ett 5-5 krångligt system. Utmatningen skall vara lättbegriplig. Här uppstår lätt en konflikt mellan erfarna och nya användare. En erfaren användare vill ofta ha korta och kodade utskrifter, medan en ny och oerfaren användare gärna vill ha långa och förklarande texter. Det bästa är om systemet kan göras så flexibelt att det anpassar sig efter användarens önskemål. Det är när gamla lagrade data används på nytt som de största problemen med bristande datakvalitet uppstår. Man vet inte exakt hur data definierades eller samlades in från början, och har svårt att analysera relevansen hos data. Det här gäller i synnerhet för samkörning av register. Man skall vara skeptisk till giltigheten av en samkörning. Ofta ger samkörning av dåliga data ett undermåligt resultat. Tyngdpunkten i kontrollerna skall ligga på indata, det är där man kan åstadkomma resultat lättast. Ett känt gammal uttryck är "GIGO", "Garbage In, Garbage Out"... 6-1 Kapitel 6. KRYPTERING. 1. Kryptografi. Kryptering är ett av modeorden inom datasäkerhet idag. Kryptering kan höja informationssäkerheten betydligt. Kryptering skyddar mot att informationen kommer i obehörigas händer, genom att en obehörig inte kan tolka den krypterade informationen, samt ger goda möjligheter att upptäcka förändringar i data, genom att klartexten förvanskas efter en dekryptering. I idealfallet kan en obehörig enbart dra samma slutsatser av den krypterade informationen som av ingen information alls, dvs gissa vilt. Inom ett datorsystem, dvs i själva datorn, är kryptering enbart ett tilläggsskydd till övriga tillträdesskydd som lösenord, magnetkort, m.m. Vid datakommunikation, mellan dator och terminal eller dator-dator, är kryptering ett grundskydd, det finns inte många andra metoder att skydda en lång kabel. Kryptografi betyder egentligen "gömd skrift". Man brukar dela upp kryptografiska metoder i tre kategorier: - Dolda meddelanden. Exempelvis osynligt bläck, eller att stoppa in meddelanden i annars oskyldig text. Texten KARL OCH MIA HAR ERSATT MALMHEDS kan tolkas som KOM HEM, om man läser enbart första bokstaven. Tekniken lär ha använts av en svensk krigskorrespondent som inte fick rapportera krigshändelserna. Däremot gick det bra att rapportera vilka svenskar som saknades, och reportern rapporterade om fruktansvärt många saknade svenskar innan myndigheterna upptäckte att namnen på svenskarna var kodade rapporter. - Koder. Man upprättar en kodbok, som innehåller ord eller meningar i klartext, och deras motsvarande kod. Givetvis upprättar man även en motsatt tabell, dvs från kod till klartext. Inom militären används vanligen 5-siffriga numeriska tal som koder. - Chiffer. Chiffer är den kategori som är intressantast i datasäkerhetssammanhang. Det är den kategori kryptogram som texten handlar om i fortsättningen, och istället för ordet chiffer kommer krypto att användas flitigt. En definition av chiffer har givits av Shannon: Ett chiffer är en mängd reversibla avbildningar från en mängd meddelanden till en mängd kryptogram. Till varje avbildning är en sannolikhet associerad. Principen för kryptering är att man applicerar en 6-2 avbildning på meddelandet, så att meddelandets utseende förändras. För att skyddet skall fungera är det viktigt att en obehörig användare inte känner till nyckeln. Därför måste nycklarna kunna distribueras på ett betryggande sätt. 2. Chiffer. Chiffreringsmetoderna delas upp i blockkrypton och krypton med oändlig eller expanderbar nyckel. Ett blockkrypto delar upp ett meddelande i block, och avbildar varje block på en krypteringsnyckel, vanligen av samma längd som meddelandeblocket. Ett krypto med oändlig eller expanderbar nyckel delar inte upp meddelandet i block, utan kryptot arbetar på ett tecken i taget i meddelandet, och låter resultatet bero på föregående tecken. Oändlig nyckel betyder att nyckeln är lika lång som meddelandet. 3. Exempel på chiffer. 3.1 Enkel substitution. Enkel substitution är ett blockkrypto. Man ordnar om bokstäverna i alfabetet, sedan byter man helt enkelt ut klartextbokstaven mot motsvarande ur det nya, omordnade alfabetet. Exempel: Klartext alfabet ABCDEFGHIJKLMNOPQRSTUVXYZÅÄÖ -------------------------------------------------- Krypto alfabet KTEUÖLOFNRAXCFZJBPÅIDSQÄXHMG Meddelandet KOM HEM blir krypterat till AZC FÖC 3.2 Vigenere. Ett Vigenere-chiffer är ett blockkrypto. Nyckeln består av ett visst antal bokstäver i sekvens. Antalet bokstäver kan vara så litet som ett, helst flera. Nyckelsekvensen upprepas under meddelandet, och bokstävernas ordningsnummer i de två sekvenserna adderas modulo 28. 6-3 Exempel: Nyckel: HEJ (numeriskt 749, bokstav nr 7 - 4 - 9) Klartext: KOMGENASTHEM 10 14 12 6 4 13 0 18 19 7 4 12 Nyckel: HEJHEJHEJHEJ 7 4 9 7 4 9 7 4 9 7 4 9 ------------------------------------------------------------------ Kryptogram: RSVNIXHXAOIV 17 18 21 13 8 22 7 22 0 14 8 21 ^ 19+9=28, för att få modulo 28 drar man ifrån 28, och får 0. Om nyckeln endast är en bokstav, så får man ett enkelt substitutionschiffer, ett s.k. Caesar-chiffer. Använder man en nyckel som är lika lång som meddelandet får man ett Vernam-chiffer. Vernam-chiffer är mycket motståndskraftiga mot knäckning. Nackdelen är att det uppstår problem att sända och förvara nyckeln när man sänder långa meddelanden. För att minska nyckellängden används chiffer med expanderbar nyckel. 3.3 Exempel på expanderbar nyckel. Nyckel HEJ Klartext KOMGENASTHEM Det genererade kryptot Nyckel HEJRSVYZGYMÅ används som nyckel. --------------------------- Kryptogram RSVYXGYMÅCQJ Klartext KOMGENASTHEM Klartexten används Nyckel HEJKOMGENAST som nyckel. --------------------------- Kryptogram RSVQSÅGXEHXD Expanderbar nyckel används ofta för datakryptering på kommunikationslinjer. 4. Att forcera chiffer - att knäcka chiffer. När man bedömer styrkan hos ett chiffer måste man anta att en obehörig känner till krypteringsalgoritmen, sättet att kryptera meddelandet. De vanligaste metoderna att forcera ett krypto är med statistiska metoder, och att pröva med alla tänkbara nycklar, tills man hittar en som träffar rätt. Idag använder man datorer för att pröva alla nycklar, är algoritmen bra och nyckeln väl vald tar det mycket lång tid att hitta nyckeln. De statistiska metoderna grundar sig på att alla språk innehåller redundans, eller överflödig information. Ett meddelande som har redundans har även 6-4 struktur. I naturliga språk förekommer vissa bokstäver oftare än andra, bokstaven E är vanligast i svenskan liksom i engelskan. Man räknar och gör upp tabeller över frekvenserna för enskilda bokstäver, digram (två bokstäver), och trigram (tre bokstäver). Olika språk kännetecknas av olika frekvenser. Genom att räkna frekvenser för olika kombinationer, och pyssla del kan man forcera krypto. Har även nyckeln en vettig betydelse, struktur, blir det lättare att forcera kryptot. Seriös kryptering använder därför framslumpade nycklar. En metod som används mer och mer idag är forcering genom att pröva alla tänkbara nycklar, s.k. uttömmande prövning. Det innebär att man låter en dator testa alla möjliga kombinationer av nycklar. Ett starkt krypto kräver mycket testning och tar lång tid att knäcka. Långa nycklar är ett bra sätt att öka arbetsåtgången, om man kombinerar med en bra algoritm. Idag krävs superdatorer för att knäcka bra algoritmer. En superdator kostar stora pengar att köpa och driva, därför är det idag dyrt att knäcka bra krypton. Priset på datorkraft sjunker dock, och nycklar som idag anses "säkra" (för mycket arbete att knäcka) kan i morgon vara en lätt match. Kryptering som skulle tagit 60.000 år att knäcka med de datorer som fanns 1960, kan nu knäckas på ca 16 dagar. 5. Datorer och kryptering. För att ett chiffer skall vara lämpligt för användning i datorer krävs det speciella egenskaper. Kryptering skyddar mot att informationen kommer i obehörigas händer, genom att en obehörig inte kan tolka den krypterade informationen, samt ger goda möjligheter att upptäcka förändringar i data, genom att klartexten förvanskas efter en dekryptering. Krypteringen skyddar inte mot att data förstörs eller ändras. Det gör krypteringen till ett tilläggsskydd. Nycklarna måste lagras skyddade. Kan en obehörig komma åt nycklarna så ger ju krypteringen inget skydd. Kryptering används främst för databärare, som kommunikationslinjer eller magnetband. Säker kryptering kan man få genom att förlägga krypteringen i speciella enheter, dvs utanför själva datorsystemet. Data som lagras på disk krypteras lämpligen med ett blockkrypto. Det beror på att man då kan läsa ett block var som helst i filen (random read), och dekryptera blocket utan problem. Vill man istället använda ett chiffer med oändlig eller expanderbar nyckel, en säkrare krypteringsmetod, så måste man ju dekryptera filen från början varje gång. Den metoden skulle göra databehandlingen fruktansvärt långsam. Vid datakommunikation kan flera olika typer av krypto användas. Blockkrypton gör det lättare att upprätthålla synkronitet i överföringen. I vissa fall av terminaltrafik måste man använda mycket korta block, för att inte linjens kapacitet skall sänkas påtagligt. Korta block 6-5 gör blockkryptot mycket svagt. Då kan ett chiffer med expanderbar nyckel vara att föredra. Ett chiffer med tillräckligt lång expanderbar nyckel ger ett bra skydd mot att någon tar bort eller lägger till information, genom att nyckeln hamnar ur fas och meddelandet blir meningslöst. Man kan inte heller kopiera in avlyssnad information, pga att utseendet på ett krypterat meddelande hela tiden varierar. Med ett blockkrypto kan en obehörig användare avlyssna ett krypterat block, och sedan kopiera in det sparade blocket i en datasändning. 6. Det amerikanska standardkryptot - DES. DES (Data Encryption Standard) utvecklades av IBM. Krypteringsalgoritmen publicerades 1975. DES har nu använts under den förutspådda livslängden, 10 år. Nya algoritmer kommer att ersätta DES, frågan är bara när och vilka. DES är ett blockkrypto. Varje block är 64 bitar, liksom nyckeln. Produkter som innehåller DES klassas av USA som "militärhemlighet", och får därför inte exporteras utan tillstånd, t.ex. till Sverige. Banker och försäkringsbolag brukar få exportlicens. Algoritmen är komplex och beskrivs inte i detalj, men ordnar om ingående bitar och delar upp bitarna i höger och vänsterblock som behandlas upprepade gånger. 7. Offentliga nycklar. 1976 presenterades iden med offentlig nyckleldistribution, och den blev genast uppmärksammad. Metoden är användbar för vilken krypteringsalgoritm som helst. Praktiskt fungerar det så att en användare slumpar fram sin nyckel x1, och sedan beräknar en enkelriktad funktion av x1, f(x1) = y1. Användaren skriver upp sitt y1 i en tabell, och så gör alla användare. När användaren vill kryptera ett meddelande, hämtar man mottagarens offentliga y2 ur tabellen, och beräknar funktionen f(x1,y2) som används som krypteringsnyckel. Meddelandet krypteras och sänds. Mottagaren beräknar funktionen f(x2,y1), får samma resultat som avsändaren, och kan dekryptera meddelandet. En obehörig känner visserligen till y1 och y2 ur tabellen, men inte varje användares hemliga x1 och x2, och kan därför inte få fram dekrypteringsnyckeln. Det finns även system med offentlig krypteringsnyckel. Offentliga krypteringsnycklar är knutna till en viss algoritm, till skillnad från offentlig nyckeldistribution. Alla användare skaffar sig en egen hemlig nyckel för dekryptering, d. De beräknar den enkelriktade funktionen f(d) = k, och för upp resultatet i en offenlig tabell. Avsändaren slår upp mottagarens k i tabellen, och använder k 6-6 som krypteringsnyckel. Endast mottagaren som känner till d kan dekryptera meddelandet. Observera att avsändaren inte kan få reda på mottagarens dekrypteringsnyckel, och på så sätt dekryptera andra avsändares meddelanden till mottagaren, eftersom funktionen f(d) = k är enkelriktad, dvs inte omvändbar. Det mest kända förslaget till offentlig krypteringsnyckel kallas RSA, efter upphovsmännen, och är patenterad. Båda systemen har minskat kraven på säker nyckeldistribution betydligt. Däremot kvarstår problemet att tabellerna måste skyddas mot obehöriga förändringar, och man måste kunna identifiera användaren helt säkert när tabellerna skapas eller ändras, så att en obehörig inte kan smyga in felaktig information. 8. Krypteringsprogram. Det finns många krypteringsprogram idag, främst för PC. Man skall notera att många program är skrivna utan större kunskaper i kryptering. Algoritmerna kan vara mycket svaga, dvs det kan vara lätt för en obehörig att forcera kryptot. Vill man verkligen skydda sin information krävs det att man tar reda på en del om krypteringsprogrammet innan man köper det. Man skall även tänka på hur man väljer nyckel, och hur man lagrar nyckeln. Slutligen räcker det inte att bara kryptera en fil på en PC. Ursprungsfilen finns ju kvar, bara att läsa ! Det räcker inte med att göra DELETE på filen, data i filen ligger kvar och kan återvinnas senare, t.ex. med hjälp av Norton eller PC-Tools. Med avancerad teknik kan man idag även läsa vad som fanns på disk även om man skrivit över data, eller formaterat om flera gånger. Sådana operationer är svåra och dyra, och enbart stora organisationer har de nödvändiga resurserna. 7-1 Kapitel 7. VIRUS. 1. Definition av virus. Datavirus är ett begrepp som kommit först under senare år. Här i texten kommer vi mest att använda ordet "virus" istället, eftersom det är så man normalt använder ordet nu. Virus är det begrepp som är mest spektakulärt, och som därför spridits mest i pressen. Ett datavirus är ett stycke programkod som kan kopiera in sig i ett annat program, och när det andra (ursprungligen virusfria) programmet körs, kan viruskoden kopiera sig vidare till ytterligare andra program. Viruskoden smittar, därav namnet. Det hela sker utan att användaren vet vad som sker. Utöver virus finns även andra besläktade begrepp. Vi börjar med att definera begreppen först, och förklarar närmare efter definitionen. 1. Virus. En stycke programkod som när den utförs kan modifiera ("infektera") andra program genom att ändra deras programkod, så att programmet kommer att innehålla viruskoden. Ett virus måste lagras gömt i ett annat program. När det av viruset modifierade programmet körs, kommer det ursprungliga programmet att utföra även virusprogrammets kod. Program som inte infekterar kan aldrig kallas virus. 2. Mask (även kallade bakterier). Ett självständigt program som antingen kopierar sig till andra datorer i ett nätverk, eller startar flera kopior av sig själv. En mask är inte dold i något annat program, och infekterar inte. 3. Trojansk häst. Ett program som utför en avsedd funktion, men som samtidigt utför obeskrivna och oönskade funktioner. Man kan säga att det är ett program som är gömt i ett annat program. 4. Bomb, Logisk Bomb eller Tidsinställd Bomb. En bomb är en programdel som förstör, t ex genom att radera alla filer. När det är en tidsinställd bomb sker verkan vid en bestämd tidpunkt (t ex dag, månad, klockslag, etc). För en logisk bomb sker verkan vid ett visst villkor (t ex efter att programmet körts ett visst antal gånger, borttagning av en viss användare, när ett visst program körs, etc). 7-2 Observera att definitionen inte innebär att en mask, ett virus, eller en trojansk häst behöver vara skadliga eller ha avsikten att förstöra något. Vissa är skrivna avsiktligt för att skada, andra är inte skrivna för att skada, men fungerar inte alltid som författaren tänkt, och åstadkommer skadan då. Observera även att kombinationer av de olika typerna ofta förekommer, t ex kan ett virus innehålla en logisk bomb. En mask kanske inte är avsedd att skada, men istället tar upp datorresurser så att datorn inte kan användas som var tänkt. Ett annat sätt att se saken är att ett virus är ett vanligt program som vid infektion förändras till en smittsam trojansk häst som kan innehålla en bomb. Andra termer kan förekomma. De vanligaste är de engelska uttrycken: Worm (mask), Virus (virus), Trojan Horse (trojansk häst). Om programmet skall åstadkomma skada kallas det ofta Bomb (Logic Bomb, Time Bomb). Man bör försöka att använda enbart de uttryck som angivits i definitioerna ovan, eftersom andra begrepp är löst definierade, och olika personer kan mena olika saker med samma ord. De definitioner som givits stämmer överens med vad de flesta sakkunniga anger. I den här kursen kommer nästan alltid enbart ordet "virus" att användas, även om den korrekta termen hade varit en kombination av de begrepp som finns i definitionen. Det sker eftersom det ofta kan vara svårt att veta exakt hur en ny programkod skall klassas. Då använder de flesta uttrycket virus, som därför i praktiken täcker ganska mycket. Huvudsakligen är det persondatorer som är utsatta för virus. Det beror dels på att persondatorns operativsystem och hårdvara saknar funktioner för att begränsa programmens rättigheter, dels (främst ?) på att de är vanliga. Ett virus för en viss dator kan nästan aldrig spridas till andra datorer. Vi börjar med några exempel: 1.1 Amiga. (Amiga) Ett av de mer kända virusen är Amiga-viruset. Det infekterar Amiga-datorer när de bootas (startas upp) från en infekterad diskett. Det kontrollerar varje läsning från en diskett, och om det är ett boot-block som läses, så kontrollerar virusprogrammet om boot-blocket är infekterat eller ej. Är det inte infekterat, kopieras viruskoden in i boot-blocket. Efter att ett visst antal disketter infekterats, visar programmet upp ett meddelande: 7-3 Ha Ha. Something wonderful has happened - Your AMIGA is alive!!! and even better - Some of your disks are infected by a VIRUS Another masterpiece of the Mega-Mighty SCA Viruset har nu blockerat maskinen, som måste startas om genom att bryta strömmen. Bootblocket i en Amiga är 1024 kB, och endast en liten del används för bootning. Därför fanns det gott om plats att lägga virusets programkod. Även andra programtillverkare, främst spelprogram (bl.a. Barbarian, Backlash) lagrar speciell information i bootblocket. En sådan diskett kan ej användas efter att den infekterats med Amiga-viruset, eftersom delar av spelprogrammets kod skrivits över av viruset. 1.2 Lehigh. (IBM PC) 1987 upptäcktes ett virus på Lehigh University i Pennsylvania, USA. Viruset skadade många disketter och hårddiskar på universitetet, på IBM-kompatibla pc-datorer. Viruset gömde sig i COMMAND.COM, och kontrollerade all användning av interrupt 21H. Det försökte infektera fler COMMAND.COM filer på andra diskar eller disketter. Efter fyra lyckade infektioner skrev viruset nollor i de 50 första sektorerna på disken/disketten. De första 50 sektorerna innehåller filtabell, bootblock om disketten är bootbar, eller data om disketten inte är bootbar. Därför förlorade många användare data genom virusets framfart. Viruset kunde upptäckas genom att datum för COMMAND.COM ändrades. Däremot ändrades inte storleken, viruset gömde sig i COMMAND.COM-koden. 1.3 IBM Christmas Tree Virus är vanligast förekommande i PC-världen, men förekommer även bland stordatorer. Ett sådant virus var "IBM Christmas Tree virus". Eftersom det inte infekterade andra program, utan enbart kopierade sig mellan maskiner, så skall det egentligen kallas mask. Det uppträdde först i IBM's interna datornät under December 1987. Programmet ritade upp en julgran och en liten julhälsning på skärmen. Samtidigt, utan att användaren fick veta det, sände masken kopior av sig själv via datornätet till andra användare, alla som fanns i NAMES filen. Andra maskar, BUL och ORGASM, har använt samma mekanism. Skadan var att nätet blev överlastat, och därför inte kunde användas för den överföring man byggt nätet för. 7-4 1.4 Internet-masken. (unix) Ett av de senaste, och kanske mest kända exemplet, är Internet-masken. Det har rapporterats i press och radio som ett virus, men var i verkligheten en mask (eftersom det inte modifierade annan programkod). Det uppträdde först den 2 November 1988, och spreds i det amerikanska datornätet Internet. Masken attackerade enbart vissa typer av Unix-maskiner. Masken spreds så snabbt att Internet-nätet blev hårt belastat, och även de attackerade maskinerna blev så belastade av maskens arbete med att knäcka lösenord och sända sig vidare till andra maskiner att de inte kunde utföra mycket annat arbete. Såvitt man vet åstadkom den ingen direkt skada, dvs inga data förstördes. Däremot krävdes mycket extraarbete för att eliminera masken, och nätet slutade tidvis fungera eftersom många maskiner kopplades bort. 2. Egenskaper hos virus. Det var fyra exempel på virus och maskar, det som förekommer mest idag. Rena Trojanska Hästar är inte lika vanliga. Termen virus kom till hösten 1983, när Fred Cohen lade fram en doktorsavhandling om dator-virus (det var f.ö. inte han som hittade på namnet "virus"). Virus ansågs då vara "något för de undersysselsatta akademikerna på universiteten". Intresset för virus, och framför allt för skydd mot virus, uppstår hastigt hos dem som drabbats (ungefär som intresse för backup när en disk kraschat). Ett virus kan "infektera", dvs modifiera eller förändra, programkoden hos redan existerande program, och på så sätt "bosätta" sig i det andra programmet. Det är infektionsförmågan som avgör om en programkod är ett virus. Det betyder att ett virus inte med nödvändighet behöver åstadkomma skada. Observera skillnaden mot trojansk häst. En trojansk häst är ett program med en viss användbar funktion, som utan användarens tillåtelse även utför andra funktioner än dem som programmet deklarerats utföra. Även en trojansk häst behöver inte skada. Eftersom ett virus inte skall upptäckas (förrän skadan skall ske !), är det en skillnad från en trojansk häst. En mask är ett program, vars syfte är att sprida sig ("föröka sig") i ett nät av flera datorer. Masken infekterar inte andra program (men "infektion" används i andra begrepp, "datorsystemet är infekterat"). Däremot kan kombinationer av de tre begreppen förekomma. Vi skall visa ett grovt skelett för hur ett virus fungerar. Antag att vi har ett stycke programkod, som är ett virus, och som har som kännetecken att det börjar med sekvensen "1234567". Då kan koden se ut som följande (Exemplet kommer från Cohens artiklar): 7-5 program virus := (1234567 ; subrutin infektera-exekverbar-fil := (loop: fil=slumpmässigt-vald-exe-fil; om första-raden-i-fil = 1234567 then goto loop ; sätt in viruskod i filen ; ) subrutin skada := (utför den avsedda skadan på lämpligt sätt) subrutin villkor-för-skada := (ge sant värde när villkoret för skada uppfyllts) huvud-program := (infektera-exekverbar-fil ; om villkor-för-skada = TRUE then do skada ; ) end) ; Den här programkoden kommer att leta efter en oinfekterad fil (där 12345467 saknas som första rad), ända tills programmet hittar en sådan fil. När en sådan fil hittats kommer programmet att infektera filen. Efter att en fil infekterats kontrollerar programmet om villkoret för att utföra skadan är uppfyllt. Är villkoret uppfyllt (det kan vara ett visst datum, ett visst antal infektioner, eller någon annan kombination) utförs skadan på det sätt som har programmerats. Det kan även finnas virus som utvecklas, anpassar sig till nya program, och på så sätt inte är lika hela tiden, varken till utseende eller funktion. 3. Förebygga virusinfektioner. Forskare har visat teoretiskt att man inte kan förhindra virusinfektioner i ett system där data och information kan utbytas, som t.ex. ett programmeringsbart system. Information som lagras i ett datorsystem kan tolkas som data eller programkod. Det betyder att den lagrade informationens betydelse beror på tolkningen, eller användningen. Ett exempel är ett program som skrivs i en editor, text-tecknen tolkas som data av editorn, medan när programmet sedan utförs av Basic-interpretatorn så tolkas samma tecken som förut vara data som programkod. Däremot kan vi totalt förhindra virusinfektioner eller spridning av virus om vi förhindrar datautbyte. Ett sådant system kan enbart utföra de instruktioner som programmerats in före leveransen. Samtidigt är ett sådant system inte generellt användbart för vetenskapliga eller administrativa funktioner. Slutsatsen är att systemen måste kunna modifiera data för att vara användbara. 7-6 4. Förhindra spridning. Vi kan förhindra spridning genom att isolera viruset. Dvs vi kan avstå från att dela data och program med andra, avstå från nätverk och andra bekvämligheter som gör datorer så användbara. Militära system är ofta isolerade, utan telekommunikation med omvärlden. Det skyddar mot all slags intrång. Forskarna undersöker även olika partitionsmetoder, metoder för att dela upp ett datorsystem så att virus inte sprids utanför en begränsad del. Forskarna arbetar även med metoder för flödeskontroll, kontroll av hur data flyttas i systemet. Idag är det dock svårt att förhindra spridning av virus. Den enda metoden som fungerar är isolering, och den minskar systemens användbarhet. Därför kan man säga att det idag inte finns möjligheter att förhindra en virusinfektion. Spridningen sker snabbare och lättare i PC-system än i stordatorer, beroende på att stordatorer har bättre allmänn säkerhet, samt att program inte kopieras lika mycket. 5. Upptäckt av virus. Vi tänker nu på generella möjligheter att upptäcka virus, inte på att upptäcka speciella virus i vissa datorer. Vi är ju intresserade av möjligheterna att upptäcka alla nya typer av virus i framtiden. Forskarna har visat att vi inte kan upptäcka ett virus med säkerhet. De möjligheter vi har att upptäcka virus är bl.a. att kontrollera programkod. Praktiskt är det en omöjlighet att kontrollera programkod, automatisk kontroll kan bara ske av mycket korta program, och längre program kan man inte kontrollera manuellt även om man har källkod. Det finns ingen rimlig chans att hitta alla konstigheter i ett långt program, och man har inte resurserna att kontrollera varje program. En möjlighet är att lagra en auktorisation till varje program, ett sätt att kontrollera om programmet ändrats. Auktorisationen är ett kännetecken för programmet i en viss form, ändras programmet måste även auktorisationskoden ändras, och meningen är just att endast den rättmätige programägaren skall kunna göra det, inte ett virus. Genom att kontrollera auktorisationen varje gång programmet startas kan man upptäcka förändringar, som eventuellt kan vara virus. Det betyder att man inte kan förhindra en virusinfektion, däremot kan man hindra vidare spridning, eftersom det förändrade programmet inte körs utan användarens godkännande. Problemet är att lagra auktorisationen så att ett virus inte kan förändra den. Kryptografiska checksummor kan vara en lösning. 7-7 6. Virus i Sverige. Sverige har varit ganska förskonat från virus. Det betyder att de vanliga internationella virusen kommer till Sverige, men att det hitills bara varit enstaka exemplar. Några epidemier har ändå förekommit. - Amiga-datorer drabbades främst via dataklubbskommunikationer, flera varianter har förekommit. - Den största epidemin bröt ut sommaren -88. Ett stort antal Macintosh drabbades av nVir. Det verkade vara KTH som var ursprunglig smittkälla i Sverige, men viruset kommer från USA. - Israel-viruset drabbade i oktober -88 Luleå Tekniska Högskola. Det hann få stor spridning. - Något senare drabbades flera organisationer av Israel-viruset. Förmodligen kom smittan direkt från England. - Enstaka andra virus har hittats, bl a Scores. De smittkällor som nämns i en svensk undersökning är huvudsakligen provprogram eller leveranser från seriösa firmor. Som tvåa nämns illegal kopiering, och först på tredje plats kommer spel och gratisprogram. Dock var underlaget för undersökningen litet, så man skall akta sig för alltför säkra slutsatser. 7. Backup Backuper är både ett skydd mot virus, och en källa till vidare spridning och återkommande infektioner. Det beror på att det kan ta lång tid innan man upptäcker ett virus, och då finns det säkert redan på backuperna. När man då försöker återställa systemet till ett virusfritt stadium, kan backuper vara ett hinder. Därför bör man göra backuper från originalleveransen av programmet, och vid behov använda den backupen. Löpande backuper skyddar inte påtagligt mot virus, utan mot förlust av data p.g.a. virus eller diskkrascher. 7-8 8. Ett antal exempel och beskrivningar av virus. 8.1 Pakistani virus (IBM PC) Detta virus är även känt som Brain virus, eftersom det skriver en volume label med texten "(c) Brain" om ingen label redan finns. Viruset lagrade sin kod i boot-sektorn, och skapade tre sammanhängande bad sectors, totalt 3072 bytes, samt ett antal hidden files. Viruskoden lagrades i de tre bad sectors, och i hidden files. Viruset är ett boot-virus, dvs det aktiveras enbart när en infekterad diskett bootas, och kan inte infektera hårddiskar, faktiskt inte ens 3,5-tums disketter, utan enbart 5,25" disketter. Infektion av andra disketter sker vid varje aktivitet på disketter, dvs även vid DIR. Är inte disketten infekterad, så infekteras den. Spridning kan ske även i icke-bootbara disketter. I bootblocket läggs en text in, den varierar med olika varianter på viruset. Texten är ungefär Welcome to the Dungeon (c) 1986 Basit & Amjad (pvt) Ltd. BRAIN COMPUTER SERVICES. 730 NIZAM BLOCK ALLAMA IQBAL TOWN LABORE-PAKISTAN. PHONE:430791,443248,280530. Beware of this VIRUS......Contact us for vaccination....... eller Welcome to the Dungeon (c) 1986 Brain & Amjads (pvt) Ltd VIRUS_SHOE RECORD v9.0 Dedicated to the dynamic memories of millions of virus who are no longer with us today - Thank GOODNESS!! BEWARE OF THE er VIRUS Även volume label "(c) Brain" varierar, "Bufued" och "Ashar" har förekommit. Här har vi ett virus som med lätthet kan spåras genom att undersöka bootblocket med PC-Tools eller Norton. Det verkar inte åstadkomma någon avsiktlig skada, utan skadan består i att disketten fungerar långsammare, till och med så långsamt att det blir time-out, och att diskettutrymme tas upp av de dåliga sektorerna och gömda filer. Dock vet man att minst en student fått sin doktorsavhandling förstörd. Det kan dock även ha sin orsak i felaktiga reaktioner på viruset. Viruset är lätt att bli av med, först kall-bootar man från en virusfri diskett, sedan tar man en virusfri diskett, kopierar över alla filer (med COPY-kommandot, INTE med DISKCOPY), och så formaterar man om den infekterade disketten, som nu kan användas till annat. 8.2 Macintosh viruset (Mac) Detta virus var inte skadligt, dock har vissa rapporter om filskador kommit. Viruset fanns på en leveransdiskett av grafikprogrammet "Freehand" från firman Aldus i Seattle. Viruset fanns i den plastförpackade disketten. Viruset 7-9 spreds även via två kommersiella bullentin board datorsystem. Viruset försökte kopiera sig till en annan diskett, visade därefter upp ett fredsmeddelande, och raderade därefter sig självt. Om en infekterad diskett användes efter den 2:e Mars, visades meddelandet och viruset raderade sig. 8.3 Ping - Pong viruset (Bouncing Ball virus). (IBM PC) Det har fått sitt namn av att en punkt studsar fram och tillbaka över skärmen. I England går viruset även under namnet "Italian virus". Det är ett boot-sektor-virus, lagrar kod i en bad sector, och infekterar även hårddiskar. Viruset verkar inte åstadkomma någon skada. Viruset markerar den utvalda bad sector i enbart en FAT, och det är i sig en riskfaktor. Spridning kan ske även i icke-bootbara disketter. Den studsande punkten uppträder bara om tiden (klockan i datorn) är en multipel av 30 minuter och disken samtidigt används. Det enklaste sättet att se punkten är att sätta klockan till noll (TIME 0) och trycka något tecken, vilket som helst, och därefter trycka på ENTER. Trots den studsande punkten kan man fortsätta att arbeta med maskinen. Andra sympton på infektion är att RAM minskar med 2 K, och en bad sector på disken. Slutligen gör viruset användning av disketter långsammare, eftersom det försöker infektera dem. Viruset infekterar inte 80286/80386-maskiner. Viruset finns i boot-sektorn på disketten, och därför kan man bli av med det genom att kall-boota datorn från en virusfri diskett. Därefter kopierar man filerna med COPY till en ny diskett. Den infekterade disketten kan åter användas efter att man formaterat om den. 8.4 Ett dBase virus. I Mars 1989 upptäcktes ett virus som skadar dBase-filer. Hittills har det enbart synts på ett ställe, dvs inte spridits. Symptomen på viruset var att dBase-data-filer fungerade utmärkt i en PC (maskin A), men verkade defekta i en annan maskin (B). Om man kopierade dBase COM och EXE filer till maskin B, försvann problemen med att läsa datafilerna. Orsaken var ett litet virus, som spreds till alla COM och EXE filer i ett directory, och som väntade på en operation på en .DBF-fil (datafil). Vid alla skrivningar av DBF-filer till disk bytte två bytes plats med varandra, platserna sparades som data i filen BUG.DAT (hidden). När man senare läste dessa data, bytte viruskoden återigen plats på tecknen, och allt såg bra ut. Efter 90 dagar skulle viruset förstöra FAT på disketten. Man kunde lätt bli kvitt viruset, genom att kopiera in virusfria kopior av dBase från leveransdisketterna - men då kunde man inte använda sina 7-10 datafiler, tecknen var ju bytta ! Lösningen var att ändra i virusets kod, så att det inte blev något byte av tecken. Därefter var det bara att läsa datafilerna med viruskoden (så att tecknen byttes rätt), och sedan skriva tillbaka datafilerna (eftersom viruskoden som bytte plats på tecknen tagits bort). Därefter var datafilerna läsbara för en virusfri dBase-kopia. 8.5 Alameda - Yale - Merritt - Fredag den 13:e - 1813. (IBM PC) Viruset förstör (delete) filer som körs Fredag den 13:e. Virusen innehåller strängen "sURIV " och ett nummer, t.ex. 3.00. Därför används ibland namnet sURIV-virus. Det har olika namn efter var det uppträdde, men är i princip samma virus. 1813 viruset har fått sitt namn efter att filerna växer med 1813 (ibland annan storlek) bytes. 8.6 1701 - 1704 - Blackjack viruset. (IBM PC) I detta virus är programkoden krypterad, för att försvåra upptäckt, framför allt för virus-letar-program. Kännetecknet är att COM-filer växer med 1701 eller 1704 bytes. Varje år, från Oktober till December, kommer viruset att få tecken efter tecken att falla till botten av skärmen, åtföljt av vindljud, precis som trädens löv på hösten. Det är bara som det ser ut, data förändras inte egentligen. 1701 innehåller kod för att inte infektera "äkta" IBM-maskiner, som inte fungerar. 1704 lär fungera, dvs inte infektera IBM-maskiner. (På skoj säger man att 1701 drabbade IBM, och 1704 var vad som kom ut från IBM.) 8.7 Flu-Shot 4 viruset. (IBM PC) Användarna av en bullentin board trodde att detta program var en utveckling av Flu-Shot 3. Flu-Shot 3 är ett riktigt och fungerande anti-virus-program, som därefter blivit uppdaterat till Flu-Shot +. Texterna i virus-programmet och informationen såg precis ut som i det riktiga programmet. Även om användaren inte valde att installera programmet, utan bara läste instruktionerna, spred sig viruset. Det aktiva viruset raderade ut några viktiga cluster på en hårddisk, eller disk parameter tabellen på en floppy diskett. Viruset klarade även att ta sig förbi vissa virusskyddsprogram. Observera att Flu-Shot + är ett riktigt och fungerande vaccinprogram. 7-11 8.8 nVIR. (Mac) nVIR är ett enkelt virus, som skriver meddelandet "Don't panic" eller piper ibland. Viruset är ett av de få som spridits genom programvaruleverantörer, i detta fall en beta-release av Microsoft WORD 4 (ver 4b10). Om man har Vaccine i maskinen, och den hänger sig, kan man misstänka nVIR. 8.9 En DECnet mask. (VAX / VMS) DECnet masken uppträdde den 23:e December 1988 i NASA's nätverk av VAX-datorer med VMS operativsystem, och var en julhälsning från "Father Christmas". Masken infekterar enbart VMS maskiner kopplade till DECnet, dvs inte maskiner kopplade till TCP/IP-nätet. Den gör ingen skada, utan sänder enbart ett meddelande (se texten nedan) efter midnatt på julafton, och förstör sig självt efter 00.30 på julafton 24:e). Masken syns som en inkommande fil HI.COM, och som en process kallad MAIL178DC. För att bli av med masken behövde man endast ändra en del systemparametrar. Hi, how are ya ? I had a hard time preparing all the presents. It isn't quite an easy job. I'm getting more and more letters from the children every year and it's not so easy to get the terrible Rambo-Guns, Tanks and Space Ships up here at the Northpole. But now the good part is coming. Distributing all the presents with my sleigh and the deers is real fun. When I slide down the chimneys I often find a little present offered by the children, or even a little Brandy from the father. (Yeah!) Anyhow the chimneys are getting tighter and tighter every year. I think I'll have to put my diet on again. And after Christmas I've got my big holidays :-). Now stop computing and have a good time at home !!!! Merry Christmas and a happy New Year Your Father Christmas" 8.10 Internet masken. (Unix) Masken släpptes ut den 2:e November 1988 på Internet, ett nät av många datorer av olika typer i USA. Masken upptäcktes genom att den förökade sig så fort att nätet blev hårt belastat, och att infekterade maskiner blev så hårt belastade att de knappt kunde utföra andra beräkningar. Masken attackerade enbart vissa typer av Unix-maskiner, 68020-baserade Sun under SunOS, och VAX 7xx samt 8800 under 7-12 4.2BSD. Programkoden bestod av en mindre del, som stod för infektionen, och två större kodfiler, en för Sun och en för VAX, som kopierades över från den attackerande datorn när den grundläggande infektionen gått bra. Författaren var en 23-årig student på Cornell University, Robert T. Morris. Ironiskt nog var hans far chef för National Computer Security Center, den hemliga säkerhetsorganisationen NSA's officiella del. Tre olika sätt användes för att attackera andra maskiner i nätet, 1) Sendmail bug, 2) Fingerd bug, 3) RSH/REXEC attack genom att gissa lösenord. Alternativ 1, sendmail buggen, fick mest publicitet, men den metod som gav största framgången var 2, fingerd-buggen. 1. I sendmail kunde man från en dator få en annan dator i nätet att köra sendmail i debug mode, vilket innebar att man fick mer spårningsdata, samt att inkommande mail direkt kunde köras som ett program. Masken kopplar upp en förbindelse till en annan dator, begär debug mode, och sänder över ett kort program, som startas på den andra datorn. Det lilla programmet kopierar över två filer från den urprungliga datorn, ett program för vax och ett för sun. Masken avgör om den kör i en VAX under BSD, eller en Sun, och startar rätt fil som ett program. Nu är även den andra datorn infekterad, och börjar försöka infektera andra datorer. 2. Den framgångsrikaste attacken var via fingerd. Genom fingerd kan man från en maskin se vilka som är inloggade på en annan maskin. Problemet var att fingerd använde en rutin gets för att läsa från den andra datorn i nätet. Gets använder bara en parameter, den input buffer där inlästa tecken skall lagras. Programmet hade bara plats för 512 bytes (tecken) inläst text, men gets kontrollerar inte hur många tecken som läses in, utan fortsätter till radslut ! Genom att förse fingerd med fler än 512 tecken, kunde man skriva in i programkoden, och ändra ett kommando så att masken direkt kunde kopiera över de två filerna från den ursprungliga datorn, och starta maskens programkod. För att skydda mot liknande attacker, använder man lämpligen inte gets, utan istället fgets, som använder tre parametrar, nämligen input buffer, bufferstorlek, och varifrån tecknen skall läsas. 3. Den tredje attacken var att försöka hitta "trusted hosts" i användarnas filer, för att kopiera sig dit. För att komma åt användarnas filer, var masken tvungen att gissa användarnas lösenord. Masken försökte med: användarnamn, förnamn, efternamn, förnamn+efternamn, smeknamn, och en egen lista över "populära" lösenord. Fungerar inget av 7-13 det, öppnar masken en fil med ord (för textbehandling) och försöker vartenda ord som lösenord. Masken var ganska duktig på att knäcka lösenord, eftersom de flesta inte väljer sina lösenord så bra. Man kunde inte se kommandosträngar i mask-koden, eftersom all text var XOR:ad med 81. Tabellen med lösenord lagrades med den högsta biten satt. Ungefär var 15:e gång sände masken ett meddelande till en dator i Berkeley, man trodde först det var en kontroll av spridningen till ursprungsdatorn, men det var bara en falsk ledtråd. Masken kontrollerade före en infektion om den nya datorn redan var infekterad. Även om den nya datorn svarade att den var infekterad, så sändes en ny infektion över var 10:e gång. Den som skrev masken ansåg att någon skulle kunna hindra spridningen genom att svara att den nya datorn var infekterad, och därför skulle en infektion ändå ske var 10:e gång. Det visade sig vara ett felaktigt val, masken sändes fram och tillbaka så snabbt i nätet att maskinerna infekterades för ofta, de blev överlastade, liksom nätverket mellan datorerna. Intervallet kanske skulle varit flera tusen gånger istället. Många personer arbetade hårt för att disassemblera masken, få veta hur den fungerade, och därefter hitta på en metod att stoppa spridningen. Efter att masken stoppats, försökte den amerikanska säkerhetsorganisationen NSA att stoppa spridningen av den dissasemblerade koden, genom påtryckningar om nödvändigt. 8.11 Ett Macro-virus. Varje programpaket man kan använda för att programmera kan i princip användas för att skapa virus. Det gäller inte bara programmeringsspråk som Pascal, C, eller assembler, utan även program där man kan skriva kommando-macron. Kalkyl-program (spreadsheet), databashanterare, textformaterare, och ordbehandlingsprogram kan tänkas vara användbara. Det finns idag inga säkra exempel på sådana virus, även om det finns misstankar om att de förekommit. Framför allt kalkylprogram som ofta använder kommando-macron kan vara utsatta. Exempel på sådana är Lotus, dBase, eller Framework. Observera att detta enbart är exempel, det finns andra liknade programvaror. Eftersom ett sådant virus skrivs med hjälp av programmets inbyggda programmeringsmöjligheter, kan det säkert inte upptäckas med hjälp av viruskontrollprogram. Det drabbar givetvis enbart data i det egna programmet, dvs kan inte sprida sig till andra program. Macro-virus är ganska lätta att upptäcka. Trots det krävs det en person som verkligen kan programmering i det aktuella programsystemet för att avslöja eventuella virus. Man undersöker varje kalkylsida, kontrollerar gömda rader/kolumner, och tittar på varje macro som finns. 7-14 9. Hur en diskett fungerar. En 360-kB diskett, en vanlig IBM-PC diskett, består av spår, sektorer, och cluster. Här använder vi de engelska begreppen, eftersom andra texter antingen är på engelska eller använder de termerna. Disketten har 40 spår eller cylindrar. Varje spår är uppdelat i nio sektorer där varje sektor rymmer 512 tecken. Två sektorer, ett par sektorer, kallas ett cluster. Det finns följaktligen 720 sektorer med totalt 368 640 bytes lagringsutrymme. De första 12 sektorerna (nummer 0-11) innehåller viktiga data för diskettens funktion. * Sektion 0, även känd som bootsektorn, innehåller disk parameter table (DPT), dvs antal formaterade sidor, antal sektorer per spår, antal bytes per sektor, etc. * Sektor 1 och 2 innehåller File Allocation Table (FAT). Det är kartan som visar var filer finns, och var fria sektorer finns. En lång fil delas upp i flera cluster, och cluster-kedjan skrivs ut i FAT. * Sektor 3 och 4 innehåller en duplikatkopia av FAT, utifall att den första blir skadad. * Sektor 5 till 11 innehåller filkatalogen, directory. Filnamn, storlek, datum och klockslag, samt filens attribut. * Om disketten enbart innehåller data (ej bootbar diskett), börjar data i sektor 12, medan en bootbar diskett innehåller IBMBIO.COM (MSBIO.COM) i sektor 12 och 16 cluster (32 sektorer) fram, följd av IBMDOS.COM (MSDOS.COM) i sektor 44 som tar upp 28 cluster, till sist COMMAND.COM som tar upp 24 cluster med start i sektor 160. En hårddisk innehåller mer information, och strukturen är mer komplicerad, men principerna är desamma för alla datorer. Notera speciellt att data om disketten alltid lagras i sektor 0-11, även om det är en datadiskett finns en bootsektor, även om själva bootfilerna inte finns. I praktiken betyder det att ett virus kan spridas via icke bootbara datadisketter. Det betyder att man kan sprida bootvirus om man har glömt en diskett i en maskin med hårddisk när man slår på strömmen. 7-15 När man skall boota en maskin, dvs starta datorn, finns det två olika metoder. Den viktigaste är en kall boot (cold boot), och det är vad som sker när man sätter på strömmen till maskinen, och den läser in operativsystemet. Den andra metoden är varm boot (warm boot), vilket är när man bootar om genom programvara, dvs ger bootinstruktionen från ett program. Många datorer har en speciell boot-knapp, reset-knapp, vilken gör samma funktion som en kall-boot. Däremot saknar de flesta IBM-PC och kompatibler en sådan knapp, och funktionen finns därför i programvara, de kända tangenterna Ctr-Alt-Del. Det betyder att när man trycker på Ctrl-Alt-Del så är det operativsystemets programvara som fångar upp tangentryckningen, och konstaterar att maskinen skall bootas om. Därför kan ett virus fånga upp tangettryckningen, och simulera en ombootning, och på så sätt överleva omstarten av datorn. Det är därför det ibland händer att man inte kan boota om sin PC med Ctrl-Alt-Del när den hängt sig, den har hängt sig så att operativsystemet inte fungerar alls. Därför skall man använda reset om den finns, eller bryta strömmen, för att boota om en dator. Det rapporteras ibland om virus som kan kopiera sig även till skrivskyddade disketter. Det stämmer inte, man kan inte skriva till en skrivskyddad diskett. Däremot finns det vissa maskiner där skrivskyddet är i programvara, och där kan man kringgå skyddet. Det finns även maskiner där diskettdriven inte kontrollerar fysiskt om det finns en skrivskyddslapp, utan istället sänder en ljusstråle genom hålet där skrivskyddslappen skall sitta. Kommer strålen fram, är disketten inte skrivskyddad, kommer strålen inte fram så är disketten skrivskyddad. Felet är att en del personer använder genomskinliga skrivskyddslappar, t.ex. tejp, och då upptäcker inte diskettdriven att disketten är skrivskyddad. Därför skall man enbart använda opaka, ogenomskinliga skrivskyddslappar. 10. Att hindra PC-virus från att sprida sig. Persondatorer har speciella egenskaper. Därför kan man ge speciella råd för att minska risken för att virus sprids mellan persondatorer. Vaksamhet är det första och enklaste rådet. Fundera över vad det är för program som du kopierar in. Tyvärr är det inte säkert, virus har spridits genom respektabla firmor, i program som ligger snyggt förpackade i plastfilm. Ett annat bra råd är att stänga av en maskin du får ta över. Genom att inte bara boota om genom control-alt-del, så blir du i alla fall kvitt bootvirus. Finns det en reset-knapp på datorn, kan man använda den, det gör samma effekt som en kall-boot. Några råd från olika håll: 7-16 * Använd endast program som kommer direkt från kända leverantörer. De är visserligen inte helt säkert virusfria, men leverantören kan förväntas ta ansvar och vidta åtgärder. * Kontrollera ett program verkligen kommer från rätt källa, och inte blivit förändrad under transporten. Här kan det vara av intresse att veta att många programvarubutiker i USA har krympplastmaskiner, och förpackar (shrink-wrap) om återlämnade programvaror. * Granska nya program genom att läsa alla textsträngar i programmet, ett skadligt virus skriver vanligen ut ett meddelande efter att skada skett. Genom att läsa texten innan man kör programmet kan man fånga upp viruset. Texten kan dock vara krypterad, metoden fungerar då ej. * Kontrollera om disketten innehåller några bad sectors, med hjälp av ett diskinspektionsprogram, t.ex. Norton Utilities, PC-tools, el.dyl. Finns bad sectors, sänd då tillbaka programmet till leverantören. Man skall dock komma ihåg att vissa program använder just bad sectors för att gömma kopieringsskyddet, samt att disketter faktiskt kan ha bad sectors. En ny leveransdiskett kan man dock kräva felfrihet av. En användbar metod, som dock inte hittar så många virus. * Kontrollera bootblocket, med hjälp av t.ex. Norton eller PC-tools. Metoden är mindre användbar, eftersom man måste känna till hur ett oförändrat bootblock skall se ut. * Använda någon sorts viruskontrollprogram. Ett sådant kontrollprogram ger ett meddelande på skärmen varje gång något skall skrivas till disk. Misstänker man virusaktivitet i just ett visst program, kan det vara mycket användbart. Som generell övervakning ger det ingen större säkerhet. Användaren trubbas snabbt av av alla meddelanden på skärmen, och för en användare som inte är tekniskt kunnig, så finns ingen möjlighet att verkligen veta vilka skrivningar till disk som kan vara tecken på virusaktivitet och vilka som är normala. * Använda vaccinprogram. Ett bra vaccinprogram kan inte bara ta död på ett virus, utan även förebygga infektion. Tyvärr fungerar bara vaccinprogram mot vissa virus, och det betyder att nya varianter eller helt nya virus inte omfattas av skyddet. 7-17 * Man skall inte lita för mycket på vaccinprogram, kontrollprogram, och andra automatiska kontroller. De ger lätt en känsla av säkerhet, en falsk känsla av säkerhet, eftersom de inte kan upptäcka alla virus. Det viktigaste rådet är nog att inte drabbas av panik, om man misstänker att man blivit drabbad av virus. Många stänger av datorn direkt, och förlorar därmed de data de arbetade med. Andra formaterar om hårddisken direkt, lägger in originalkopior av program. Metoden kan användas, om man samtidigt kan bli av med alla data man lagrat i maskinen. Vill man ha data kvar, fungerar kanske inte metoden, eftersom viruset kan ligga även i data. Samtidigt försvinner spåren efter viruset, och man kan inte säga hur viruset kom in, eller vad det var för ett virus. Det allra bästa är om man tar kontakt med någon expert, för att få veta vilka motåtgärder man skall ta. Problemet är att det är svårt att veta vem som egentligen är en kunnig expert. 11. Vaccinprogram. Ett vaccinprogram är ett program som antingen förhindrar nya virusinfektioner, eller som botar en pågående virusinfektion. Utvecklingen av vaccin håller ungefär takten med utvecklingen av virus. Eftersom virus är olika, och dessutom kan utvecklas i varianter, finns det inget vaccinprogram som är effektivt mot alla varianter av virus, och som med säkerhet fungerar även mot nya virus. Några av de mest kända vaccinen är: (PC) Flu-Shot +, Scanv (Virusscan), Alert, F-prot, (Mac) GateKeeper, Vaccine, Virus Detective, Interferon (Atari) Vkiller Notera att bara för att ett vaccinprogram nämnts här i texten finns ingen garanti för att vaccinet fungerar eller är bra. Problemet med vaccin är just att veta om de överhuvudtaget fungerar, och att veta om de är effektiva. Alltför många vaccin är inte särskilt effektiva. Användaren måste vara så kunnig att hon kan bedöma hur vaccinet bör fungera, för att rätt kunna tolka de olika meddelanden vaccinet kan lämna. Vaccin mot ett visst specifikt virus har sitt berättigande. Vaccin som skall skydda mot virus skall användas med viss försiktighet, eftersom de kan ge en okunnig användare en falsk trygghetskänsla. Kapitel 8 SÅRBARHETSANALYS. SBA-metoden är en metod för analys av datorserade informationssystem. Metoden består av ett antal olika delar som kan användas - ensamma eller i kombination med varann - på det sätt som är lämpligt med hänsyn till den användande organisationens storlek och verksamhet samt tidigare erfarenhet av ADB-säkerhetsarbete. Sårbarhetsanalys innebär att man analyserar hur sårbar verksamheten är, och är därför i princip tillämpbar på alla olika verksamheter, inte bara data. Här kommer vi enbart att behandla sårbarhetsanalys för datorsystem. SBA-metoden är en metod för att analysera hur sårbart ett datorsystem är, och vilka konsekvenser sårbarheten kan få för företagets eller myndighetens verksamhet. Metoden utarbetades av Sårbarhetsberedningen och Riksdataförbundet under 1982. Metoden skulle vara enkel och praktisk, användbar för både myndigheter och företag. Därigenom skulle företag och myndigheter kunna öka säkerheten i sina datorsystem. Genom bättre säkerhet hos samhällets stora, viktiga datorsystem, skulle samhällets totala sårbarhet minska. SBA-metoden skulle vara ett steg mot ett robustare samhälle. Metoden utvecklades med deltagare från många olika myndigheter och företag. Alla typer av myndigheter och företag kan ha nytta av att använda metoden, även privata datorinstallationer kan man gärna granska med SBA-metoden. Det mest sansade med SBA-metoden är att den inte enbart är till för att avgöra risker, utan även ställa riskerna i relation till kostnader. Det man slutligen eftersträvar är ju inte absolut säkerhet, utan en nivå där skador inte kostar så mycket att verksamheten går över styr. Man skall komma ihåg att i all verksamhet finns det risker, och det viktiga är att ha kontroll över riskerna och kostnaderna. SBA-metoden består av flera delar, där varje del fyller en viss funktion. Det betyder att vid en sårbarhetsanalys så är kanske inte alla delar tillämpliga, och även de delar som är tillämpliga kan behöva justeras. Metoden är till för att man skall arbeta strukturerat sätt. Varje steg i metoden skall ta en viss rekommenderad tid, normalt mellan 1-4 timmar. Tar det längre tid är det ett tecken på att det finns sårbarhetsproblem. Givetvis beror tiden som går åt på hur stort och komplicerat systemet är. SBA-metoden är avsedd att med en rimlig resursinsats på kort tid får fram ett underlag för att välja rätt skyddsåtgärder, i rätt tid, och till rätt kostnad. Undersökningen skall kunna ske utan en stor stab av experter. Kännetecknade för metoden är att utgångspunkten är tre sårbarhetsbegrepp: Försening, avbrott, förlust Obehöring användning Bristande kvalitet 8-2 De tre sårbarhetsbegreppen täcker in i stort sett alla möjligheter, och de frågor som ställs i metoden kan inte besvaras med ett medelsvar ("mitt emellan"), utan deltagarna måste ta ställning till frågan och svaret. Vi skall här beskriva de olika delarna, först genom en lista över delarna, sedan en närmare presentation. De mest grundläggande delarna beskrivs ganska utförligt, medan de delar som behandlar projektbedömning, utveckling, och nyckelpersonal behandlas ganska kortfattat. De i SBA-metoden ingående delarna och deras samband kan beskrivas med hjälp av nedanstående lista: SBA Information. En kort bekrivning av SBA som metod för sårbarhetsanalys av datoriserade informationssystem. SBA Start. Verkställande ledningens underlag för grov bedömning av verksamheten med avseende på datoriserad informationsbehandling. SBA Beroende. En metod att översiktligt analysera och dokumentera en verksamhets beroende av datoriserade informationssystem. SBA System. En metod för översiktligt bedöma ett eller flera datoriserade informationssystems inverkan på verksamhetens totala sårbarhet. SBA Scenario. En metod för att på en kort tid bedöma en ADB-verksamhets - eller ett enskilt systems - sårbarhet, och ge underlag till en handlingsplan för att höja säkerheten. SBA Plan. Olika sätt att dokumentera handlingsplaner för att minska ADB-verksamhetens sårbarhet. SBA Rapport. Olika sätt att inom en ADB-verksamhet löpande följa den relativa sårbarhetsnivåns förändring. SBA Projekt. En metod att bedöma ett ADB-projekts möjlighet att nå sitt mål i rätt tid, till rätt kostnad och till rätt kvalitet. SBA Utveckling. Ett konkret förslag till hur kontroll- och säkerhetsanalysen kan genomföras och dokumenteras vid utveckling av ADB-system. 8-3 SBA Nyckelpersonal. En metod för analys och dokumentation av nyckelfunktioner inom datordrift. SBA Revision. Information om externa och interna revisorers medverkan vid användning av SBA-metoden. 1. SBA Start. Innan man sätter igång med en fullständig sårbarhetsanalys, gör man en start-undersökning. Den ger en grov bedömning av företagets beroende av datorbaserade informationssystem samt en grov bedömning av sårbarheten. Med detta underlag kan den verkställande ledningen besluta om man skall fortsätta med en fullständig sårbarhetsanalys. Det är viktigt att den verkställande ledningen är medveten om vilka riskerna är, och vilka kostnader som är förknippade med riskerna. Det är ju den verkställande ledningen som har ansvaret för företaget, och vilka resurser som skall satsas på olika områden. 1.1 Genomförande. Man sänder ut ett kortfattat frågeformulär till de funktioner eller avdelningar man önskar undersöka. Formuläret innehåller bara tre frågor. De ifyllda formulären samlas in, och man undersöker vilka svar man fått. Man kan komma fram till två handlingsalternativ, varav det ena är att det inte finns något skäl till ytterligare undersökning eller åtgärd, och det andra är att skäl till åtgärder eller fördjupad analys finns. Alternativ A: Alla har svarat. Alla markeringar finns i fälten "Försumbar" eller "Lindrig". Det verkar inte finnas skäl till åtgärder eller ytterligare undersökning. Alternativ B: En eller flera deltagare har inte svarat. En eller flera markeringar finns i fälten "Allvarlig" eller "Katastrofal". Om inte markeringen eller det uteblivna svaret bara beror på missförstånd, så har man identifierat ett sårbarhetsproblem. Det finns anledning till åtgärder eller djupare analys. Fråga 1. Vad blir konsekvenserna inom Ditt ansvarsområde om tillgängligheten till datoriserad information upphör, dvs försenas avsevärt, avbryts helt eller delvis, alternativt förloras ? Tänkbara orsaker kan variera högst avsevärt. 8-4 Alla orsaker har det gemensamt att de ställer din verksamhet utan datorstöd för en kortare eller längre tid. Konsekvens Storlek på konsekvens för företaget Försumbar Lindrig Allvarlig Katastrofal Ökade kostnader Minskad intäkt Sämre arbetsmiljö Marknadsstörning Brott mot avtal och lagar Minskad goodwill Övrigt, ........ Fråga 2. Vad blir konsekvensen inom Ditt ansvarsområde om den information som skapas, lagras och behandlas skulle - avsiktligt eller oavsiktligt - spridas till obehöriga ? På annat sätt användas otillbörligt - bedrägeri, förfalskning ? Konsekvens Storlek på konsekvens för företaget Försumbar Lindrig Allvarlig Katastrofal Ökade kostnader Minskad intäkt Sämre arbetsmiljö Marknadsstörning Brott mot avtal och lagar Minskad goodwill Övrigt, ........ Fråga 3. Vad blir konsekvensen inom Ditt ansvarsområde om kvalitetsförändringar i informationsbehandlingen skulle uppstå som gav ofullständig, oriktig, eller inaktuell information ? Förändringar uppstår i de flesta fall som följd av oavsiktliga misstag men kan också orsakas av avsiktliga ingrepp. Beslut som fattas kan därigenom komma att fattas på felaktiga underlag. Konsekvens Storlek på konsekvens för företaget Försumbar Lindrig Allvarlig Katastrofal Ökade kostnader Minskad intäkt Sämre arbetsmiljö Marknadsstörning Brott mot avtal och lagar Minskad goodwill Övrigt, ........ 8-5 2. SBA Beroende. När man kommit fram till att en verksamhet är utsatt för datasårbarhet, så måste man även ta reda på var i verksamheten som sårbarheten finns, samt avgöra vilket eller vilka informationssystem som är sårbara. Bara för att man vet att sårbarhet föreligger, behöver det inte betyda att man känner till var eller vilka system som är sårbara. Den kunskapen är nödvändig för fortsatt analys. Granskar man fel system så kommer man till fel slutsatser. SBA Beroende är en metod för att kartlägga var och i vilka system som sårbarhet finns. Om det är uppenbart var och i vilka system som sårbarhet finns, behöver man givetvis inte analysera med SBA Beroende. Då kan man fortsätta med SBA System eller SBA Scenario. 2.1 Genomförande. Målet med SBA Beroende är att bryta ned huvudsystemet i delsystem, och därefter analysera varje system för sig, med avseende på sårbarhet. Därefter kan man avgöra vilka system som ger upphov till sårbarheten, och gradera var sårbarheten är som störst. Sedan kan man använda SBA System eller SBA Scenario för att sårbarhetsanalysera de system som identifierats. Vid genomförandet bör flera personer delta: - Funktionschef - Ansvariga för delverksamheter - Ansvarig för informationssystemet - AU-koordinatör eller liknade Man kan använda metoden översiktligt eller detaljerat. Små enkla eller lätt överskådliga system kan analyseras översiktligt, medan komplicerade eller stora system studeras bättre med detaljerad användning. Skillnaden mellan överskådlig och detaljerad användning är bara att man vid detaljerad användning gör en fylligare dokumentation och delar upp systemen i fler detaljer. Man väljer en huvudverksamhet och delar upp den i delverksamheter. Man skall ta med alla delverksamheter som kan bidra till sårbarhet eller som är viktiga. De verksamheter som inte ger upphov till sårbarhet kan utelämnas. Man anger vilka avdelningar eller sektioner som berörs av en delverksamhet, och därmed vet man även vilka avdelningschefer som berörs. 8-6 Berörda avdelningschefer skall givetvis vara med i analysarbetet. Varje avdelning ger en kort beskrivning av vilka negativa konsekvenser som verksamheten kan drabbas av, för tre olika sårbarhetsbegrepp: - Försening, avbrott, eller förlust av data, dvs brister i informationstillgängligheten. - Obehörig användning, dvs avslöjande, förändring eller förstörelse av data. - Bristande informationskvalitet, dvs bristande riktighet, aktualitet, fullständighet, eller läsbarhet av data. Man anger även hur stort datorberoendet är, och det betyder att systemen skall studeras, även om de inte verkar använda datorstöd. Man kan använda en fyrgradig skala: - Försumbart - Ganska litet - Ganska stort - Stort Efter att delverksamheter och avdelningar identifierats gör ADB-avdelningen en genomgång av vilka datoriserade informationssystem som används av respektive verksamhet. Alla datoriserade områden ingår, som exempelvis kontorsinformationssystem, ordbehandling, administrativ databehandling, eller produktionsstödsystem. Slutligen väljer den verksamhetsansvarige ut det eller de informationssystem som skall ges en fullständig sårbarhetsanalys. 8-7 Fig. Ifyllt analysdokument. 8-8 3. SBA System. Man använder SBA System för att grovt bedöma vilka konsekvenser som uppstår vid olika störningar, betydelse för verksamheten, för att rangordna informationssystemens betydelse för sårbarheten, och för att bedöma om skyddsåtgärder (vidtagna eller planerade) kan ge tillräckligt skydd. Man får veta vilka system som är sårbarast i verksamheten. SBA System kan användas efter att man identifierat var och i vilka system sårbarhet finns, för att finna ut hur verksamheten kan påverkas. Metoden kan användas i existerande verksamheter eller system, liksom för system under utveckling. 3.1 Genomförande. SBA System bygger på en gruppdiskussion, där man har deltagare från olika verksamhetsfunktioner. Man kan säga att det är nödvändigt med representanter för både systemägare och användare. Gruppens exakta sammansättning beror på det informationssystem som analyseras. Följande kategorier brukar normalt alltid finnas med: - Systemägare. - Användarrepresentanter. Helst från chefsnivå. - ADB-avdelningen. - Revisorsfunktionen och/eller ADB-säkerhetsansvarig. Man använder sig av ett antal sårbarhetsbegrepp, som kan ge upphov till negativa konsekvenser. De sårbarhetsbegrepp som används är: Sårbarhetsbegrepp: 1. Försening, avbrott, förlust - försening, t ex flera dagars försening för viss produktion medan övrig verksamhet fungerar normalt - kort avbrott, t ex mindre än ett dygn - medellångt avbrott, t ex ett dygn till en vecka - långt avbrott, t ex mer än en vecka - förlust, t ex indata måste registreras på nytt 8-9 2. Obehöring användning - avslöjande, t ex för konkurrenter - förändring, t ex för egen vinning (bedrägeri) 3. Bristande kvalitet - oriktig information, t ex felaktiga uppgifter - inaktuell information, t ex gammal information - ofullständig information, t ex poster saknas - undermålig form, t ex oläsbara utdata, dålig bildskärmslayout För varje verksamhet gäller olika negativa konsekvenser. Så egentligen skall man göra upp en egen lista över negativa konsekvenser, och använda den. Nu har man upptäckt att framför allt statliga myndigheter har svårt att uttrycka negativa konsekvenser i ekonomiska termer, så därför har man specificerat en lista med exempel på negativa konsekvenser. Negativa konsekvenser: 1. Ökade kostnader extra kostnader förlust av material böter efter försenade leveranser räntekostnader lönekostnader (t ex övertid) hyreskostnader för maskiner, lokaler, etc extra arbetskraft väntetidsersättning advokat- och rättegångskostnader 2. Minskade intäkter felaktig offertbehandling felaktig/försenad leverans felaktig/försenad fakturering reklamation 3. Försämrad arbetsmiljö stress personalomsättning minskad motivation hos personalen 8-10 4. Marknadsstörningar sänkt servicegrad minskad marknadsandel minskad efterfrågan 5. Brott mot avtal och lagar datalagen bokföringslagen brottsbalken sekretesslagen offentlighetsprincipen förvaltningslagen 6. Minskad goodwill internt mot egna anställda i massmedia; press, radio/TV externt gentemot banker allmänheten myndigheter underleverantörer leverantörer kunder 7. Övrigt ökade väntetider sänkt produktkvalitet materialbrist i produktion Genom att göra en uppskattning av konsekvenserna av störningar kan man få en bedömning av systemets känslighet. Konsekvenserna behöver inte bedömas speciellt noga, vanligen räcker en skala med fyra steg. De två sista graderna, "Allvarlig" eller "Katastrofal" är ett tecken på att man skall fortsätta analysen, medan "Försumbar" eller "Lindrig" kan klara sig utan vidare analys eller åtgärder. Storlek av konsekvenserna Försumbar Lindrig Allvarlig Katastrofal 8-11 Själva analysen sker i tre steg, för varje informationssystem som skall undersökas. A. Användarna och systemägaren går igenom listan över negativa konskvenser, och tänker igenom vilken eller vilka som kan gälla för det studerade systemet. Även andra tänkbara konsekvenser skall tas med. Detta är en förberedelse för de följande stegen. B. Arbetsgruppen går igenom listan med sårbarhetsbegrepp, med hjälp av SBA System Analysblankett. För varje sårbarhetsbegrepp listas de konsekvenser som kan uppstå, och storleken av konsekvenserna bedöms enligt listan "Storlek av konsekvenserna". För de flesta verksamheter skall bedömningen om möjligt ske i ekonomiska termer. Dock skall man komma ihåg att även andra mått på konsekvenser finns, t ex i ett medicinskt system är felaktig medicinering ett korrekt begrepp att ha med. C. Har gruppen bedömt storleken av konsekvenserna som "Allvarlig" eller "Katastrofal" bör man göra en lista över de skyddsåtgärder som är installerade eller planerade. Gruppen bedömer om åtgärderna utgör tillräckligt skydd. Man markerar resultatet i kolumnen "Tillräcklig skyddsnivå" med ett "Ja" eller "Nej". Svarar gruppen "Nej" bör en motivering lämnas, av utrymmesskäl lämpligen på separat papper. Arbetet ger två möjliga resultat. Det första är att man direkt förstår vilka skyddsåtgärder som skall sättas in, man avlutar då analysen och sätter istället igång arbetet med en handlingsplan (SBA Plan). Det andra resultatet är att man inte vet vilka åtgärder som krävs. En fortsatt analys enligt SBA Scenario skall ge det beslutsunderlag som krävs. 8-12 Fig. Analysdokument, SBA System. 8-13 4. SBA Scenario. Många företag har dålig datasäkerhet eftersom de inte känner till sårbarheten hos systemen, de har inte tid att utreda, de anser sig inte ha råd att utreda. Man använder metoden SBA Scenario för att på kort tid och med rimlig resursinsats få ett underlag för att välja rätt skyddsåtgärder, i rätt tid, och till rätt kostnad. Därefter kan man skapa en handlingsplan för att minska sårbarheten. Ett scenario beskriver en framtida, tänkbar händelse, och dess konsekvenser. Beskrivningen sker i fri form, och utförs lämpligen av en grupp. Det finns sju steg, och för varje steg finns en blankett. Metoden kan användas på många skilda områden. De huvudsakliga områden metoden används inom är: - Operativa verksamheter. Man kan studera både befintliga och planerade informationssystem. Efter att man genomfört en första studie, förstagångsstudie, kan man lätt och snabbt göra kompletterande uppföljningsstudier. - Systemutvecklingsprojekt. Man kan behöva undersöka sårbarheten under ett utvecklingsarbete. Särskilt system som skall arbeta med speciellt känsliga, värdefulla, eller hemliga data lämpar sig för analys. Då kan man redan innan systemet är färdigutvecklat avgöra var sårbarheten är störst, och hur den skall minskas. - Strategi för informationsbehandling. SBA Scenario används för att beskriva hur ett företags strategi för informationsbehandling kan påverkas av sårbarhet i framtiden. Strategin kan kompletteras för att minska sårbarheten. - Informationsteknisk infrastruktur. Många företag har idag inte bara en dator, utan flera, i nätverk. Det kan även vara terminaler. Företagets gemensamma resurser kallas den informationstekniska infrastrukturen.Man kan även bedöma den sårbarhet som beror på den informationstekniska infrastrukturen. Sammansättningen av arbetsgrupperna beror på hur man väljer scenario. För en studie av operativa verksamheter skall gruppen innehålla personer med erfarenhet och kompetens. I övrigt kan det vara lämpligt att ha med representanter för systemägare, användare, ADB-avdelning, utvecklingsavdeling, och revision eller ADB-samordnare. Det är bra om någon ansvarig är utsedd av företagsledningen. Man skall observera att en riktigt utförd studie ger en god kunskap om företagets sårbarhet, vilket kan påverka valet av medlemmar 8-14 till arbetsgruppen. Resultatet av studien kan vara känsligt, och skall kanske behandlas konfidentiellt. De sju stegen i metoden är följande: 1. Beskriv tänkbara händelser med negativa konskvenser för datoriserade informationssystem. Använd fri form för beskrivningen. 2. Beskriv hur användarna drabbas av händelserna. 3. Beskriv hur ADB-avdelningen (datordriften) drabbas. 4. Beskriv brister och svagheter i kontrollrutiner eller skyddsåtgärder, samt hur de bristerna påverkar konsekvenserna. 5. Beskriv de konsekvenser av händelserna som verksamheterna upplever. Även utanför de drabbade verksamheterna kan negativa konsekvenser uppstå. 6. Analysera sannolikheten för att händelserna skall inträffa. Bedöm kostnaden för skada, och den årliga riskkostnaden. 7. Rekommendationer angående brister som bör åtgärdas. Handlingsplanen för att minska sårbarheten grundas på rekommendationerna. Man bör ha flera arbetsgrupper (2-5) som producerar scenarier, och varje arbetsgrupp producerar flera scenarier per informationssystem, ett lämpligt antal kan vara kring fem. Arbetsgrupperna bör arbeta parallellt, så att de inte får inspiration av varandra. I mindre företag kan det räcka att studera ett par informationssystem, medan i ett mycket stort företag bör man öka antalet, upp till 5. SBA Scenario innehåller en lista över tänkbara händelser, som kan vara grund för varje scenario. Man skall se till att minst ett scenario från varje grupp behandlar de grundläggande säkerhetsbegreppen; Försening, Obehörig användning, Bristande Informationskvalitet. Det bästa sättet att förbereda SBA Scenario är att gå igenom Start, Beroende, och System. Hoppar man över någon eller några av de förberedande metoderna, så är det viktigt att ledningen är engagerad, att man vet vilka områden i verksamheten som är mest datorberoende, samt att man vet vilka informationssystem som används i det området. Man skall notera att SBA Scenario enbart ger bedömningsunderlag för de verksamheter och informationssystem som man valt ut. 8-15 4.1 Genomförande. Studien genomförs under två långa dagar, kl 8-20 första dagen och kl 8-17 andra dagen. Alternativt kan man använda två och en halv dag istället. Man bör ha en ansvarig handledare, utsedd av företagsledningen, som instruerar deltagarna hur arbetet skall ske. Aktivitetsbeskrivning Tid i timmar 1. Välkommen etc. 0,25 2. ADB-Säkerhet. 1,5-2 Kort utbildning av deltagarna i grundläggande ADB-säkerhet, så att alla har en gemensam kunskap. 3. Informationssystemen. 1 En kort presentation av de utvalda informationssystemen. 4. SBA Scenario. 0,75 Kort presentation av scenariotekniken, så att alla deltagare har samma utgångspunkt för arbetet. 5. Grupparbete, blankett 1. 3 Varje grupp arbetar separat med utvalt informationssystem. Först gör man ett scenario, eventuellt gör man först en övningsuppgift. Därefter väljer man övriga scenarier att arbeta med. 6. Redovisning och avstämning. 1-1,5 Grupperna redovisar sina scenarier för varandra. Man kontrollerar att alla områden finns behandlade, och att alla tänkbara scenarie-typer finns med. 7. Grupparbete, blankett 2, 3, 4. 2,5 Man beskriver hur användare och ADB-avdelning drabbas av händelserna i scenarierna. Beskriv brister som påverkar. 8. Redovisning och avstämning. 0,5-1 Grupperna redovisar sina scenarier för varandra. Har grupperna behandlat likartade händelser, men kommit till olika bedömning av konsekvenserna, så bör detta diskuteras. Någon måste ha gjort fel bedömning. 8-16 9. Konsekvensanalys, riskbedömning. 0,5 Deltagarna får en genomgång av riktlinjerna för konsekvensanalysen av handledaren. Företagets egna riktlinjer används, om sådana finns. 10. Grupparbete, blankett 5 och 6. 2,5 Man gör en konsekvensanalys och riskbedömning för varje scenario. 11. Redovisning och avstämning. 1 Grupperna redovisar sina scenarier för varandra. Har grupperna behandlat likartade händelser, men kommit till olika bedömning av konsekvenserna, så bör detta diskuteras. 12. Grupparbete, blankett 7. 2 Gruppen sammanfattar sina rekommendationer, och ger förslag på åtgärder. 13. Redovisning. 1 Grupperna redovisar sina rekommendationer. Man kan försöka angelägenhetsgradera rekommendationerna. 14. Avslutande diskussion och sammanfattning. 1 8-17 8-18 8-19 8-20 8-21 8-22 8-23 8-24 4.2 Hotbildsmatris. En hotbildsmatris kan användas för att få fram material för ett scenario. Den kan användas ensam, eller i kombination med en lista över negativa konsekvenser. Användningen är enkel; man väljer en rad i varje kolumn, från vänster till höger, och kan sedan använda händelsen i ett scenario. 8-25 Fig Hotbildsmatris. 8-26 4.3 Riskbedömning. För att kunna bedöma en risk krävs att man känner till sannolikheten (även kallad frekvens) för en oönskad händelse, samt att man känner till skadekostnaden när en sådan inträffar. Det är svårt att ta reda på alla tänkbara skadehändelser, och lika svårt att ta reda på sannolikhet eller skadekostnad. Just dessa beräkningar är sådana som ett försäkringsbolag gör. Därför använder SBA Scenario en enklare metod att bedöma riskerna. Man uttrycker sannolikhet och skadekostnad utan direkt översättning till kronor i enkla, ungefärliga termer. När det gäller skadekostnad är inte enbart den totala kosnaden i kronor som är intressant, utan även hur stora kostnader som företaget kan bära. Sannolikhet - Osannolik. Risken är praktiskt taget obefintlig. - Mindre sannolik. Risken är mycket liten. - Möjlig. Rimlig chans att händelsen inträffar. - Sannolik. Mycket möjligt att händelsen inträffar. Skadekostnad - Försumbar. Obetydlig inverkan på verksamheten. - Lindrig. Man kan få viss påverkan av verksamheten. - Allvarlig. Förlusten besvärande för verksamheten. - Katastrofal. Företaget kan gå i konkurs eller lida avsevärda bakslag. För att åskådliggöra skadekostnader och frekvenser använder man med fördel en bild där man lagt in de fyra alternativen för skadekostnad respektive frekvens. 8-27 Fig Skadekostnad - Frekvens. I figuren har man markerat siffrorna 1, 2 och 3. Det är riskkostnadsgrupper, enligt följande beskrivning: 1. Händelsen faller utanför de gränser som kan accepteras. Händelsen skall åtgärdas, för riskminskning till acceptabel nivå. 2. Händelsen bör bli föremål för särskild bedömning. Det är inte absolut klart att åtgärd måste ske. 3. Händelsen föranleder ingen åtgärd. 5. SBA Plan. Efter analys av sårbarhet sammanställer man underlaget och arbetar fram en handlingsplan för de åtgärder som kan vidtas. Handlingsplanen skall ta hänsyn till behov (den sårbarhetsnivå som önskas), brister, årgärdernas skyddseffekt, kostnad för åtgärder, tekniska möjligheter, 8-28 resurstillgång, och tidsplan. En handlingsplan kan gälla i 12-18 månader, därefter bör man revidera handlingsplanen. Beslutsgruppen måste innehålla personer med god kunskap om åtgärder, eller ha tillgång till god dokumentation. I annat fall kan externa specialister krävas. För att kunna utarbeta en användbar handlingsplan måste man ha tillräckliga fakta om verksamheten, fakta som man fått fram genom analyser av verksamheten. Det finns många olika sätt att få fram de fakta som krävs för att utarbeta en handlingsplan. SBA Plan varierar metoden efter tre olika startpunkter. - Scenario-alternativet. En SBA Scenario-analys har utförts. - Förenklat alternativ. Användningen av datoriserade informationssystem är så liten att en mindre grupp kan utföra sårbarhetsanalysen, och fatta beslut om åtgärder. - Generellt alternativ. Man har konstaterat ett behov av ADB-säkerhet, med hjälp av SBA-metoden. Företaget har tid, resurser, och möjlighet att i ett projekt arbeta fram en detaljerad och långsiktig handlingsplan. 5.1 Scenario-alternativet. Handlingsplanen utarbetas av en grupp som består av de personer som har anvar för ADB-verksamheten. Följande kategorier bör vara representerade: Systemägarna, ADB-chefen, ADB-säkerhetsansvarig, revisor, och någon som har varit med om att utarbeta scenarierna. Det är viktigt att handlingsplanen utarbetas inom kort tid efter att scenarierna har tagits fram. Handlingsplanen utarbetas i tre steg: 1. Beslutsgruppen går igenom och prioriterar de rekommendationer som föreslagits i scenarierna. Man kan lägga till nya åtgärder, samt utesluta andra åtgärder. 2. De prioriterade åtgärderna kompletteras med ekonomiska och tekniska bedömningar, för att avgöra vad som är tekniskt möjligt, och vad som är ekonomiskt möjligt. Här kan man behöva hjälp av externa specialister. 3. Beslutsgruppen granskar ännu en gång den omarbetade åtgärdslistan, och därefter utarbetas ett förslag till handlingsplan. Företagsledningen bör godkänna handlingsplanenen. 8-29 Handlingsplanens innehåll. Följande rubriker bör finnas i handlingsplanen. 1. Sammanfattning. Man bör täcka in de viktigaste resultateten av scenariestudien, och de viktigaste punkterna i handlingsplanen. 2. Sammandrag av scenariestudien. Man täcker in de viktigaste punkterna i scenariestudien. Exempel är de utvalda informationssystemen, kort beskrivning av scenarierna, de funna bristerna, konsekvensanalys och riskbedömning, rekommandationer. 3. Bedömning. En lista som visar vilka scenarier som bedömts som viktigast för sårbarheten, och de brister som finns. 4. Förslag till åtgärder. Beslutsgruppens förslag till åtgärder, en lista ordnad efter prioritet. Man bör försöka strukturera åtgärderna, t ex efter skyddets funktion (förebyggande - begränsande - rapporterande), skyddets placering (kapitalskydd - funktionsskydd - datakvalitetsskydd), eller företagets organisation. 5. Resursåtgång, kostnader och kalkyl. För varje åtgärd måste det finnas en kalkyl. Man kan använda företagets vanliga investeringskalkyl, där minskningen i riskkostnader kan tas som intäkt. Det kan även vara så att man bedömt att en åtgärd måste ske, oavsett kostnad. För det mesta räcker en grov uppskattning av kostnaden. 6. Prioritering, tidsplan och anvar. En prioritering av åtgärderna, och för varje skyddsåtgärd anges: När utveckling eller anskaffning skall ske. När införande eller test skall ske. När åtgärden skall träda i kraft. När uppföljning av åtgärden skall ske. 5.2 Förenklat alternativ. Det är huvudsakligen i små företag som man kan använda förenklat alternativ. I små organisationer har man tillräcklig kunskap för att veta var sårbarhet finns, och vilka system som berörs. Då kan man direkt sätta igång med handlingsplanen, utan att använda de inledande SBA-stegen. 8-30 Beslutsgruppen bör inte omfatta mer än sex personer, och personer i företagsledningen bör ingå. Man skall försöka få en sådan kompetens att utomstående experter inte behöver ingå. Gruppen bör inte arbeta mer än en dag, normalt ungefär fyra timmar. Förutsättningarna för att förenklat alternativ skall kunna användas är flera: - Verksamheten är av begränsad omfattning, vad man kallar ett litet eller medelstort företag. - Verställande ledningen består av ett litet antal personer, som känner till företagets totala verksamhet. - Beslutsgruppen har en god kännedom om informationssystemens funktion, och installerade skyddsåtgärder. - Det är enkelt att avgöra vilka allvarliga konsekvenser som kan uppstå till följd av försening/avbrott/förlust - obehöring användning - bristande kvalitet. - Gruppen skall med högst sex personer få tillräcklig kännedom och kompetens om verksamheten. Är inte alla förutsättningarna uppfyllda, eller företagets informationssystem är komplicerade eller känsliga, så analyseras sårbarheten bättre med den fullständiga SBA-metoden. Handlingsplanen. I SBA Plan, Förenklat alternativ, används en blankett som kombinerar sårbarhetsanalys och handlingsplan. Blanketten innehåller 6 kolumner, med olika rubriker. De olika kolumnerna används enligt: - Kolumn 1. Delar/funktioner i verksamheten som störs. Här går man igenom alla datoriserade områden, dvs även persondatorer, ordbehandling, produktionsstyrningsystem, övervakningssystem, m.m. som kan drabbas av försening/avbrott/förlust - obehörig användning - bristande kvalitet. - Kolumn 2. Vilka ADB-system stödjer den störda verksamheten. Fyll i de informationssystem som används i verksamheten. - Kolumn 3. Allvarliga/katastrofala konsekvenser. En grov bedömning av de konsekvenser som kan anses allvarliga eller katastrofala. - Kolumn 4. I dagsläget installerade skyddsåtgärder. Ange vilka skyddsåtgärder som finns, och en grov bedömning av deras effekt, enligt Bra - Acceptabelt 8-31 - Känsligt för påverkan - Dåligt. - Kolumn 5. Förslag till förbättringar eller nya skyddsåtgärder. I kolumnerna 1-4 gör man en kartläggning av nuvarande situation. Därefter fortsätter man med att ange vilka skyddsåtgärder som behövs för att minska skaderiskerna, och vilka som behövs för att avvärja katastrofala konsekvenser. - Kolumn 6. Aktiviteter, handlingsplan, beslutsunderlag. Man graderar handlingsförslagen efter prioritet. 5.3 Generellt alternativ. Metoden lämpar sig för att göra en noggrann och detaljerad handlingsplan, på lång sikt. Arbetet sker i projektform, och ansluter sig till SIS/RAS-modellen. Det är mest större företag som har den tid och de resurser som krävs för en sådan utredning. Efter avslutat projekt måste man följa upp resultatet. SBA Plan beskriver fem etapper: Problembeskrivning. Undersökning av vilka brister som finns i företaget, och vad orsakerna är. Brister och konsekvenser dokumenteras, och företagsledningen fastställer om åtgärder skall ske. Kan det egna företaget åtgärda bristerna, eller ligger de på utomstående verksamheter ? Målbeskrivning. Beskrivning av vilka säkerhetsmål som skall uppnås, och vilken ordning. Det är ett misstag att beskriva vilket skydd som skall införas istället för vilka säkerhetsmål man vill uppnå. Man beskriver även de risker som man accepterar, och motiverar varför. De långsiktiga målen kan tillsammans med en metodbeskrivning utgöra en säkerhetspolicy för företaget. En sådan policy måste göras känd inom företaget. Metodbeskrivning. Metodbeskrivningen utgör riktlinjer för säkerhetsarbetet inom företaget. För att säkerhetsarbetet skall fungera måste man beskriva hur åtgärderna skall fungera på lång sikt. Här tar man även upp hur ansvar delegeras, vilken kontroll och rapportering av utförda åtgärder som skall ske. Beskrivningen över säkerhetsarbetet skall göras känd i företaget. 8-32 Åtgärdsförslag. Flera funktioner kan beröras av de åtgärder som behöver vidtas för att målen skall uppnås. Med ledning av vad man vill uppnå, vilken kompetens man har, och vilken budget man har lämnar funktionerna förslag på åtgärder. Införandeplan. Åtgärdsförlagen sammanfattas i en införandeplan som företagsledningen skall godkänna. På längre sikt bör planen omarbetas varje år. Man skall även beskriva hur åtgärdernas effekt kan kontrolleras. 6. SBA Rapport. Det är svårt att mäta ADB-säkerhet. SBA Rapport är översiktlig, subjektiv metod, som gör att man arbetar enhetligt och strukturerat. Därigenom är det möjligt att följa säkerhetsutvecklingen i företaget, och ge revisorn underlag för förvaltningsrevisionen. Metoden används en gång om året. Genom regelbunden användning får man en beskrivning av hur sårbarhetsläget förändrats under tiden. För att göra jämförelser möjliga bör man inte byta metod. Företagsledningen hålls genom rapporterna informerad om säkerhetsläget, och kan därigenom uppfylla sitt företagsledningsansvar. SBA Rapport omfattar tre olika metoder för beskrivningen. 1. En generell, verbal beskrivning av sårbarheten. 2. En uppföljning av upprättad handlingsplan. 3. En systematisk och strukturerad bedömning, grundad på ett subjektivt siffermaterial. 6.1 Alternativ 1: Generell beskrivning. Säkerhetsläget beskrivs med ord. Beskrivningen utarbetas av den ADB-ansvarige i organisationen. Det är viktigt att övriga berörda kan acceptera bedömningarna, så man bör arbeta i samförstånd. Den struktur som valts för att beskriva säkerheten skall inte förändras, för att man skall kunna jämföra rapporterna från flera år. Sammanfattning. De viktigaste förändringarna i sårbarhetsläget och därmed ändrade krav sammanfattas på ungefär en sida. 8-33 Installerade skyddsåtgärder. De installerade skyddsåtgärderna beskrivs, och deras effektivitet bedöms. Det finns många möjligheter till struktur i beskrivningen. Ett exempel är: - Med hänsyn till skyddets funktion. Förebyggande skydd - Begränsande skydd - Rapporterande skydd. - Med hänsyn till var skyddet placeras. Kapitalskydd - Funktionsskydd - Datakvalitetsskydd. - Med hänsyn till företagets organisation. Struktur - Organisation - Befogenhet - Kontroll av förändringar Sårbarhetsfaktorer. Beskrivningen koncentreras på de viktigaste informationssystemen. De risker som finns kvar efter installerat skydd bedöms. Analys. Hur och varför har sårbarhetsläget förändrats, vad är orsakerna till förändringen. Var förändringarna förutsedda eller inte. Har åtgärder vidtagits eller ej. Planerade säkerhetsåtgärder. Här sammanfattas de säkerhetsåtgärder som planeras under perioden. Man anger även målen för åtgärderna, och de förändringar som väntas. Metodbeskrivning. En kort beskrivning av det sätt som sårbarhetsredovisningen utarbetats, och av vem eller vilka. 6.2 Alternativ 2: Uppföljning av handlingsplan. Har man regelbundet arbetat fram handlingsplaner, kan sårbarhetsredovisningen utföras som en en kontroll av fastställda handlingsplaner. De som utformat handlingsplanen bör fortsätta med uppföljningen, tillsammans med systemägaren. Det är viktigt att gruppen kan enas om en bedömning. Följande avsnitt ingår: Avvikelser från plan. En sammanfattning av hur väl handlingsplanerna följts, och orsakerna till avvikelser. Vad planen omfattar. Kort redovisning av de informationssystem som handlingsplanerna berör, samt hur och när handlingsplanerna utarbetats. 8-34 Vad planen inte omfattar. De informationssystem som inte granskats, och som inte planeras granskas, redovisas. Vad som gjorts. Handlingsplanernas detaljer gås igenom punkt för punkt. Man anger om åtgärder vidtagits, effekten, och avvikelser från planen i effekt och genomförande. Vad som planeras utföras. En kort beskrivning över planerade åtgärder för den kommande tidsperioden. Vilka som gjort uppföljningen. Vilka funktioner som varit med om uppföljningen, och planerat fortsatt verksamhet. 6.3 Alternativ 3: Siffermetoden. Resultatet av metoden är en verbal beskrivningen, en subjektiv och inte så djupgående bedömning av hot och skydd. Arbetet sker i en grupp som bedömer skyddsåtgärdernas effekt på några utvalda hot och informationssystem. Sammanfattningen utformas av ADB-ansvarig eller liknande. Bedömningen av ett informationssystem kan ta några timmar. Sammanfattning. En sammanfattning av sårbarhetens utveckling, och vilka viktiga punkter som skall åtgärdas. Redovisning av omfattning. Redovisning av de informationssystem som granskats. Redovisning av hot. De hot som ingått i undersökningen förtecknas, och man anger hur hoten har rangordnats. Man anger hot som inte bedömts vara aktuella. Övergripande analys. Analys av hur de totala sårbarheten har utvecklats, och vad som är orsaken till förändringar. Analys av system. Man analyserar förändringar för varje informationssystem , allvarliga hot, och åtgärder som kan minska sårbarheten. En grov ekonomisk bedömning bör vara med. Förslag till åtgärder. Här anges förslag till åtgärder, i prioritetsordning och med ekonomisk bedömning, liksom en uppskattning av skyddseffekten. 8-35 Företaget måste ha gjort en förteckning över hot, och en bedömning av vilka hot som är viktiga eller mindre viktiga för verksamheten. Sårbarhetsbedömning sker därefter för viktiga informationssystem. I SBA Rapport finns en förteckning över hot, som är mindre detaljerad än den i SBA Scenario. Det räcker att använda följande gradering av hoten: - Hotet är mycket aktuellt. - Hotet är aktuellt. - Hotet är mindre aktuellt. - Hotet är ej aktuellt. Bedömning. Hotets Typ av skydd Skyddets konsekvens mot hotet effekt 1 = försumbar 1 = förebyggande 1 = bra 2 = lindrig 2 = begränsande 2 = acceptabel 3 = allvarlig 3 = rapporterande 3 = känsligt 4 = katastrofal 4 = saknas 4 = dåligt Bedömningsmatris. Faktorerna ovan används i bedömningen, och om skydd saknas sätter man faktorn för skyddets effekt till 4, samma som "dåligt". Man multiplicerar faktorerna för Konskvens, Typ av skydd, och Skyddets effekt. Värdet kan användas som mått i analysarbetet, men det är inte ett absolut värde med stor noggrannhet, utan bara ett relativt värde. Analysen bör koncentreras på enskilda hot. Hoten kommenteras enligt tabellen nedan: Hotet bedöms Hotet kommenteras om som hotvärdet är större eller lika med Mycket aktuellt 8 Aktuellt 16 Mindre aktuellt 24 7. SBA Projekt. SBA Projekt är en metod att identifiera och bedöma ett projekts risker redan på ett tidigt stadium. Metoden avgör vilka förutsättningar som finns för att systemutvecklingsprojektet skall kunna utföras i rätt tid, till rätt kostnad, och med rätt kvalitet. 8-36 För det mesta arbetar man med utveckling av nya datorsystem i projektform. Då får projektet en viss mängd resurser, som kan vara av olika slag: ekonomiska, personella, tekniska, m.m. För att projektet skall kunna lyckas, krävs tillräckliga resurser. Genom att korrekt bedöma riskerna kan man bättre anpassa resurserna, eller konstatera att man inte har tillräckliga resurser för att genomföra projektet. Givetvis gäller samma för större förändringar i gamla befintliga system. SBA Projekt kan användas under flera olika stadier av systemutvecklingsprocessen. Vanligen används metoden när man kommit till målstudien i SIS/RAS-modellen, eller när man genomfört en detaljerad förstudie. Ursrungsmetoden utvecklades vid Harvard Business School, och har för SBA-metoden vidareutvecklats, blivit mera omfattande och generellare. Vanligen använder man metoden för att få svar på: - Fastställa ledning och bemanning för projektet. - Undersök om projektets arbetsformer är de rätta. - Fastställa hur mycket stöd projektet kräver från ledning och ADB-avdelning. - Utbilda projektgruppen i riskbedömning. - Skapa diskussion och medvetenhet om problem som kan uppstå i utvecklingsarbetet. De fem områden omfattas av undersökningen är följande: 1. Projektets storlek. Har projektet en rimlig storlek i förhållande till tidigare projekterfarenhet ? 2. Verksamhetens ADB-mognad. Vilken erfarenhet av ADB finns där det nya systemet skall användas ? 3. Teknologi. Hur väl förtrogen är det egna företaget och leverantörerna med den teknologi man väljer för det nya systemet ? 4. Projektorganisation. Hur ograniseras och hur bemannas projektet ? 5. Projektmiljö. Vilken är projektets yttre miljö ? För varje område finns ett antal frågor med flera svarsalternativ. De olika svarsalternativen har tilldelats en riskfaktor, och frågorna har olika vikt. Riskvärdet 8-37 beräknas som svarsalternativets riskfaktor multiplicerat med frågans vikt. Det bästa alternativet skall vanligen ge riskfaktor noll. Man kan inte svara på frågorna med en medelbedömning, på så sätt måste deltagarna ta ställning till frågan. De flesta frågorna kan användas för alla företag. Det finns dock vissa företagsspecifika frågor, och därför behöver frågeförmuläret anpassas före användningen. Efter att man fått erfarenhet av metoden kan man även ändra riskfaktorer eller vikter. Om man under undersökningen finner att deltagarna inte kan svara på frågorna, antyder det att deltagarna inte har tillräcklig information. Man vidtar då åtgärder för att öka deltagarnas kunskap istället för att lägga ned mer tid på undersökningen, som inte skall ta mer än 2-4 timmar. I undersökningsgruppen skall finnas representanter för ADB-avdelningen, användare, och så många projetmedlemmar som är möjligt. 7.1 Genomförande. Man kan jäföra riskerna mellan olika projekt genom att man beräknar ett riskvärde. Önskar man inte jämföra med andra projekt, så behöver man inte beräkna riskvärden. Det räcker med att diskutera och belysa de olika frågeställningarna. Använder man riskvärden så beräknas projektets totala riskvärde, och varje områdes riskvärde. Man bedömer både projektets totala riskvärde, och varje enskilt områdes riskvärde. Varje enskild fråga som givit ett riskvärde på över 12 % diskuteras. Den riskbedömning som man får fram ligger till grund för att avgöra om projektet kan genomföras öförändrat, bör övervägas och analyseras, eller om projektet bör stoppas eller förändras kraftigt. Man skall komma ihåg att även om riskvärdena kan jämföras, så ger metoden inga exakta och absoluta värden. Materialet som ingår i SBA-metoden innehåller 16 sidor frågeformulär. De formulären finns inte med här. För en fullständig information om metoden bör man använda pärmen SBA-metoden. 8. SBA Utveckling. SBA Utveckling är en metod för att förstärka kontrollfunktionerna i ett utvecklingsprojekt samt förbättra dokumentationen. Vanligen underskattar utvecklingsgrupper problemen med kontroll i datorsystemen. Det gäller analys, konstruktion, och dokumentation. 8-38 Syfte. 1. Att definiera de aktiviteter och den dokumentation som krävs för att man skall få god kontroll och säkerhet. 2. Att beskriva kontroll- och säkerhetsaktiviteternas plats i systemutvecklingsprocessen. 3. Att fungera som utgångspunkt för företags- och myndighetsspecifika anvisningar. Målgrupper och användningsområden. 1. Metodansvariga inom systemutvecklingsområdet, som underlag för egen systemutveckling. 2. ADB-säkerhetsansvariga, som underlag för utbildning i kontroll och säkerhet. 3. Organisationsutredare, systemerare, programmerare, driftsansvariga, och revisorer. Revisorerna skall granska bolagets årsredovisning, räkenskaperna, och förvaltningen. Det finns lagbestämmelser om hur revision skall ske, och vad den skall omfatta. För att kunna bedöma tillförlitligheten i posterna i resultat- och balansräkningarna måste revisorn kunna bedöma kontrollerna i de system som hanterar bokföringsinformationen. Revisorn måste därför kunna bedöma både de manuella och de datoriserade rutinerna. Det finns riktlinjer för ansvarsfördelning och kontrollmetoder för den interna kontrollen. Lagbestämmelser såsom bokföringslagen och datalagen reglerar den externa kontrollen. Några av de viktigaste krav som finns är avstämbarhet, åtkomstregler, personalens rättssäkerhet vid felaktigheter (kan saken utredas och spåras), driftskrav, krav på informationens kvalitet i registret. De rekommendationer som ges i SBA Utveckling har utformats efter SIS/RAS utvecklingsmodell. Metoden är en bas för arbetet, och varje företag anpassar rekommendationerna efter egna förutsättningar. I SBA Utveckling ges för varje etapp i SIS/RAS-modellen rekommendationer om hur säkerhet och kontroller kan ingå i utvecklingarbetet, och en lista över punkter som man bör kontrollera. Det finns även en lista över olika kontrolltekniker. För en utförligare beskrivning hänvisas till materialet i pärmen SBA-metoden. 8-39 9. SBA Nyckelpersonal. SBA Nyckelpersonal är en metod för att avgöra vilka nyckelfunktioner olika personer i företaget har, och vilka som kan tjänstgöra som reserver för varandra vid frånvaro. På så sätt kan man minska driftsstörningar i systemet, t ex vid sjukdom. Det är oavsiktliga störningar. Kompetensbrist kan även vara en oavsiktlig störning. Metoden kan användas på flera nivåer: övergripande, funktionell, eller detaljnivå. Genom underlaget kan man besluta om hur en högre säkerhet kan åstadkommas när det gäller nyckelpersoner. Metoden bygger på en modell som introducerades av IBM 1973, Component Failure Imapct Analysis. En anpassning har skett för analys av nyckelfunktionerna inom ADB-verksamheten. Man använder en blankett där raderna anger funktioner, arbetsuppgifter, grupp, eller personer. I kolumnerna anges övriga delar, som system, rutiner, och tillämpningar. I matrisen av rutor markerar man med olika tecken om det finns eller inte finns reserver till en uppgift, om en uppgift utförs på flera ställen, vilka funktioner som ingår i olika system eller rutiner. Det viktigaste är att konstruera en användbar matris, som kan ge ett bra underlag för bedömningen. Några typexempel är: Funktion <===> System eller rutin Arbetsuppgift <===> Rutin eller tillämpning Funktion, arbetsuppgift <===> Kompetens eller uppgift Person eller funktion <===> Tekniska hjälpmedel Man kan även notera andra uppgifter på underlaget. För att inte få ett för stort och komplicerat material är blanketten begränsad till antal rader och kolumner. Däremot kan man använda flera blanketter för att undersöka olika delområden. Efter undersökningen upprättas en lista över de noteringar som gjorts, och de förslag till åtgärder som tagits fram. Dokumentationen bör beskriva problem och frågeställningar före undersökningen, motivering till valet av matris, tidpunkt och deltagare vid kartläggningen, samt förslag till åtgärder. 8-40 10. Att skaffa SBA-metoden. SBA-Metoden består av en pärm med instruktioner och exempel, samt av en kompletterande pärm SBA Handledare, för den person som skall vara handledare vid genomförandet. Pärmarna kan köpas från: DF Förlags AB (Dataföreningens förlag, tel. 08-24 85 55) Box 294 101 25 STOCKHOLM Utbildningsproduktion AB Box 16 099 200 25 MALMÖ 9-1 Kapitel 9. DATALAGEN, DATAINSPEKTIONEN, OCH UPPHOVSRÄTTSLAGEN. 1. Lagstiftningen. De viktigaste lagarna som reglerar datoranvändning är datalagen, och upphovsrättslagen. Datalagen är till för att skydda den enskildes integritet. Upphovsrättslagen är till för att skydda upphovsmännen, i detta fall programvaruleverantören, från otillbörlig kopiering. Datalagen tillkom 1973. Det innebär att Sverige var ett av pionjärländerna att skapa särskilda datalagar. Den har ändrats ett antal gånger, bl a 1988 och 1989. Datainspektionen är den myndighet som skall se till att lagen följs. En av Datainspektionens huvuduppgifter är att vara allmännhetens "dataombudsman". Syftet med datalagen är att hindra att hanteringen av ADB-förda personregister medför otillbörligt intrång i den personliga integriteten. Datalagen förutsätter att registrering av personuppgifter skall få förekomma. Men lagen kräver att vissa regler iakttas. Datainspektionen har till uppgift att övervaka att lagens regler efterlevs. Inspektionen prövar också frågor om tillstånd och utfärdar licens enligt datalagen samt lämnar råd och upplysningar till myndigheter, organisationer och enskilda. Allmännt kan man väl säga att lagstiftningen inte helt håller takt med utvecklingen. Främst märks väl detta på alla problem med kopiering av programvara. Ett annat problem är om elektroniska signaturer kan få samma bindande status som namnteckningar på papper. Givetvis finns det stora skillnader mellan lagstiftningen i olika länder. Nu är problemen inte så enkla, databehandlingen har ju egentligen bara ersatt manuell behandling, så man kan med rätta fråga sig varför annorlunda lagar skall tillämpas. Å andra sidan visar det sig att databehandlingen ger helt nya möjligheter, som inte fanns tidigare. Samtidigt är många av databrotten idag beroende av bristande säkerhet, ett fenomen som alltid uppträder vid ny teknik. Flygplan och bilar är idag oerhört mycket säkrare än i början av utvecklingen. De flesta databrott har möjliggjorts genom slapphet i säkerhetsrutiner, eller ren okunnighet om vilka säkerhetsåtgärder som krävs (har säljaren vetat/informerat tillräckligt ?). Säkerhet kostar pengar, oavsett om det är datasäkerhet, eller inbrottssäkerhet. Riksbanken har inte haft några inbrott på lång tid, och det beror förhoppningsvis på att det förefallit dyrare och svårare att lyckas, än vad vinsten skulle varit, och att andra lättare objekt funnits. Det är på samma sätt med datorsystem, man kan inte åstadkomma absolut säkerhet, endast ett visst mått. När det gäller programkopiering har man viss förståelse för de kommersiella firmorna, de måste få tjäna pengar. Å andra sidan är ett program information. Det är till skada för 9-2 samhällets utveckling att information inte får spridas fritt. Många firmor vill få copyright på det som programmet gör. Det är inte bra, för andra måste kunna få använda samma funktioner, nyskrivna, i andra program. Firmor försöker få copyright på layout på bildskärmen i program, användarinterfacet. Om en bilfabrikant kunde få copyright på en bra instrumentbräda som är lätt att avläsa för föraren, skulle ingen annan fabrikant kunna använda samma ide, och de andra bilarna skulle bli osäkrare. Det skulle nog ingen vinna på i längden. Därför finns det flera tunga argument som talar mot alltför många copyright, att alltför många copyright kan försena utvecklingen. 2. Datalagens väsentligaste regler. Några centrala begrepp i datalagen är licensplikt och tillståndsplikt. Varje personregister skall ha en registeransvarig, och den som är registeransvarig skall ha en licens (för att ha personregister). Innehåller personregistret "känsliga uppgifter" (t.ex. uppgifter om sjukdomar, brott och straff, politisk eller religiös uppfattning, eller register som skall innehålla omdömen och värderingar (s.k. mjukdata)), krävs förutom en licens ett tillstånd. Licensen utfärdas efter anmälan till Datainspektionen. Kostnaden är (okt -89) 400 kronor. Förutsatt att registret inte kan tänkas innehålla "känsliga uppgifter" är det inga problem att få licens. Det finns vissa undantag från både licens- och tillstånds-plikten. Ett viktigt undantag är register som beslutas av riksdagen eller regeringen, de kräver inte tillstånd men väl licens. Personregister uteslutande för personligt bruk, dvs registret används inte i yrkesmässig verksamhet, kräver varken tillstånd eller licens. Man kan utgå från att alla andra typer av register kräver minst en licens. Tillstånd att inrätta och föra personregister som skall omfatta uppgifter om personer som saknar en naturlig anknytning till den registeransvarige får ges endast om särskilda skäl finns. Dock krävs inte tillstånd för: * Föreningar eller sammanslutningar att inrätta och föra personregister som innehåller uppgifter om medlemmarnas politiska uppfattning, religiösa tro, eller övertygelse i övrigt som utgör grunden för medlemsskapet i sammanslutningen. * Register för vård och behandlingsändamål hos myndigheter inom hälso- och sjukvården, socialtjänsten, och privatpraktiserande läkare eller tandläkare. 9-3 Generellt kräver alla andra register med känsliga data tillstånd. Tillstånd för register som innehåller uppgifter utan naturlig anknytning får endast ges om det finns "särskilda skäl". Exempel är statistik- eller forskningsändamål, marknadsföring under kortare tid. Observera att Datainspektionen har en ganska sträng tolkning av vad som är ett personregister. Så utgör en textmassa med personnamn i (exempelvis brev skrivna i ordbehandlare) inte ett personregister. Däremot är troligen en förteckning över personer, skriven i en ordbehandlare, ett personregister. Att titta på information på en bildskärm omfattas inte av datalagen, medan när man skriver ut skärmbilden på en skrivare, blir det bearbetning, och kan omfattas av datalagen. Därför bör företag utgå från att de behöver en licens hos Datainspektionen, så fort de köper en dator. Privatpersoner bör observera att även om datalagen inte kräver licens eller tillstånd för personliga register, så gäller de flesta av datalagens övriga bestämmelser, som exempelvis skyldighet att sända utdrag, även privata register ! Tillståndet innehåller en föreskrift om ändamålet med registret. Anser datainspektionen att det behövs ytterligare föreskrifter, kan sådana knytas till tillståndet. Det krävs att den registeransvarige utan dröjsmål rättar oriktig uppgift i registret. Om oriktiga eller missvisande upgifter i ett personregister har orsakat skada för den registrerade, kan den registeransvarige bli skadeståndsskyldig. Man får inte lämna ut uppgifter ur register om det finns skäl att anta att uppgifterna skall ADB-behandlas utan nödvändig licens eller tillstånd. Det krävs medgivande av Datainspektionen för att få lämna ut personuppgifter till utlandet, ett undantag är att medgivande inte behövs för stater som undertecknat Europarådskonventionen om skydd för enskilda vid databehandling. Den som felaktigt lämnar ut personuppgift kan dömas till böter eller fängelse. Personuppgifter skall gallras bort ur registret, då uppgiften inte längre behövs med hänsyn till ändamålet med registret. De som arbetar med uppgifterna i registret har tystnadsplikt. 3. Insyn i personregister. Man har rätt att få veta vilka uppgifter ett personregister innehåller om sig själv, ett utdrag. Svaret skall komma så snart det kan ske, Datainspektionen rekommenderar senast inom fyra veckor. Utdraget skall vara begripligt, används koder så skall de förklaras. Man har rätt till ett utdrag om året, utan kostnad. Anser den registeransvarige att det behövs personnummer för att kunna lämna utdrag, måste man uppge personnummer. Undantag från rätten till insyn gäller 9-4 uppgifter som inte får lämnas ut till den registrerade enligt sekretessbestämmelser, och inte register som lämnats över till arkivmyndighet för förvaring. Lämnar man osanna uppgifter om enskild i registerutdrag kan man dömas till böter eller fängelse. Vill man ha ett registerutdrag, skriver man till den myndighet eller det företag man är intresserad av, och ber dem sända ett registerutdrag enligt datalagen, och man anger sitt namn, personnummer, postadress. Så skall ett svar komma på posten, till den adress man är mantalsskriven på. Inga speciella blanketter behövs. 3.1 Datainspektionen. Datainspektionen är en statlig myndighet som har till uppgift att se till att bestämmelserna i datalagen, kreditupplysningslagen, och inkassolagen följs. Datainspektionens arbetsuppgifter: * Ge tillstånd och utövar tillsyn enligt datalagen, kreditupplysningslagen, och inkassolagen * Utfärda licens enligt datalagen * Ta hand om allmännhetens klagomål inom de tre lagarnas område. * Utöva tillsyn enligt lagen om ADB vid taxeringsrevision m.m. * Ge råd och upplysningar till allmänheten och dem som berörs av lagarna. Datainspektionen har kravet att vara självfinansierande. Det har lett till att det inte finns mycket kostnadsfri information. Så kostar det t ex 12 kronor att få en kortfattad broschyr om datalagens föreskrifter, dvs licensplikten för personregister. Det som finns, gratis, är en broschyr som innehåller de flesta större personregister, om man vill kräva utdrag från dem. Adressen till Datainspektionen finns i referensdelen. Ordförklaringar. Avbildning Matematiskt uttryck som beskriver att man gjort något med det man hade från början. T.ex. om man beslutar sig för att multiplicera alla tal med 2, så är 4 "avbildningen av 2", 6 är avbildningen av 3, osv. Avstämma (eng) reconcile jämföra data från olika bearbetningssteg för att upptäcka icke önskvärda avvikelser. Begränsande skydd (eng) damage limiting protection metod eller åtgärd för att verkningarna av en störning eller omfattningen av en skada. Behandlingshistorik (eng) journal, log underlag (bl a logg) som gör det möjligt att i efterhand ta reda på vad som skett i databehandlingen vid en givna tidpunkter. Behörighetskontroll (eng) authorization check kontoll av behörighet att använda utrustning, data, och program i datorsystemet. Beta-release Testversion av program. Normalt arbetar man med interna testversioner tills programmet är rimligt felfritt, då sänder man ut en beta- version till utvalda platser. Avsikten är att de utvalda får vara först med ny programvara, medan leverantören får felrapporter från användarna, och kan korrigera felen innan en slutgiltig leveransversion når försäljnings- marknaden. En beta-release är följaktligen inte normal försäljningsversion. Cracker En obehörig person som avsiktligt försöker ta sig in i datorsystem (läs: försöker bryta sig in). Cracker kan ha olika motivering till sitt arbete: spioneri, programvarustöld, datastöld, nyfikenhet, tillfredsställelse att knäcka spärrarna, krascha systemet. Cracking är brottsligt. Observera att Cracker och Hacker är två olika ord, med olika betydelse. (Se Hacker). Datakvalitet (eng) data quality datas egenskaper i fråga om dels objektiv felfrihet, dels aktualitet, noggrannhet, täckning, relevans och tillgänglighet (dvs åtkomlighet och begriplighet i visst sammanhang) som gör data tjänliga för sitt syfte. Page 2 Datakvalitetsskydd (eng) data quality protection metod eller åtgärd för att motverka sådana förändringar av data som gör dem olämpliga för sitt syfte. Dataskydd (eng) data security metod eller åtgärd för att skydda data och datorprogram mot obehörig åtkomst, förändring eller förstörelse. Driftstörning (eng) operations disturbance icke önskvärd avvikelse från avsedd funktion eller avsett behandlingsförlopp. Driftuppföljning (eng) operations follow-up registrering, rapportering och analys av hur driften fungerar under en viss period. Driftövervakning (eng) operations monitoring verksamhet för att upptäcka driftstörningar Enkelriktad funktion En funktion som inte är reversibel. Det betyder att man inte kan beräkna ursprungsvärdet, när man känner resultatet. Ett exempel på icke-enkelriktade funktioner är vanliga logaritmer. Man kan beräkna logaritmen för ett tal, och känner man logaritmen kan man beräkna ursprungstalet, funktionen är reversibel. Formatkontroll (eng) format check kontroll av att data är arrangerade enligt givna regler. Fullständighetskontroll (eng) completeness check kontroll av att alla transaktioner behandlas en och endast en gång genom hela systemet. Funktionsskydd (eng) function protection metod eller åtgärd för att skydda verksamheten mot bristande tillförlitlighet i t.ex programvara, maskinvara eller driftrutiner. Förebyggande skydd (eng) preventive protection metod eller åtgärd för att hindra att en störning eller skada inträffar. Hacker En person som är skicklig i programmering och framför allt avlusning av sina egna och andras program. Beteckningen kommer från att han kan "yxa till" program väldigt snabbt. Beteckningen kan paradoxalt nog användas i både positiv och negativ beteckning. Observera att Hacker och Cracker är två olika Page 3 ord, med olika betydelse. (Se Cracker). Kapitalskydd, egendomsskydd (eng) asset protection metod eller åtgärd för att skydda egendom, huvudsakligen fysiska objekt, t.ex lokaler, utrustning, datamedier och datorprogram. Katastrofplanering (eng) emergency planning planering som skall göra det möjligt att bemästra katastrofsituationer. Kontrollpunkt (eng) checkpoint ställe i datorprogrammet där data lagras för återstart. Krasch Systemet fungerar inte längre, beroende på fel någonstans i programvaran. Logisk kontroll (eng) consistency check kontroll av att data som beror av varandra har förenliga värden enligt dataelementens definitioner. Lösenord (eng) password en personlig kod för att få tillträde till ett datorsystem. Mask Ett program som förökar sig genom kopiering mellan datorer kopplade i ett nätverk. Maskarna brukar vara oskadliga, men förbrukar system- resurser (datortid, nätverkskapacitet, disk- utrymme) så att datorerna eller nätverket kan bli oanvändbart för de uppgifter det är avsett. Minnesskydd (eng) storage protection begränsning av åtkomsten till ett minne eller till en eller flera minnesplatser genom att skrivning, läsning, eller bådadera förhindras. Nonsenssumma (eng) hash total summa enbart avsedd för kontrolländamål, kontrollsumma exempel: summan av anställningsnummer Paritetskontroll (eng) parity check redundanskontroll som består i kontroll av att antalet nollor eller ettor i en grupp binärtecken är udda eller jämnt enligt en given regel. Rapporterande skydd (eng) reporting protection metod eller åtgärd för att upptäcka och registrera att en störning eller skada har inträffat. Page 4 Redundanskontroll (eng) redundancy check kontrollteknik som grundas på att extra (redundanta) data systematiskt tillfogas för ändamålet. exempel: paritetskontroll, kontrollsiffror, kontrollsummor och nonsenssummor. Rekonstruera (eng) reconstruct återbilda en datamängd, rekonstruera en datamängd. Reservrutin (eng) backup procedure metod eller åtgärd för att fortsätta verksamheten vid avbrott och störningar i ordinarie rutiner. Reversibel Omvändbar. Riktighetskontroll (eng) correctness check kontroll av att alla transaktioner antar riktiga värden. Rimlighetskontroll (eng) reasonableness check kontroll av att data, inmatade eller beräknade, uppfyller givna rimlighetskrav. Sekvenskontroll (eng) sequence check kontroll av att data är ordnade på föreskrivet sätt. Sårbarhetsanalys Säkerhetsanalys Säkerhetsanalys Sårbarhetsanalys Tillträdesskydd (eng) protection against unauthorized admittance metod eller åtgärd för att förhindra obehörigt tillträde till lokaler. Trojansk häst Ett program som dels gör något användaren önskar, dels (i hemlighet) gör något användaren inte vet om. Virus Program som kan "infektera" andra program genom att modifera dem så att ursprungsprogrammet innehåller en kopia av viruset. Genom att infektera andra program, kan viruset spridas genom ett datorsystem eller nätverk. Återstarta (eng) restart återuppta bearbetning utgående från data som lagras vid kontrollpunkt. Återställande skydd (eng) recovery protection Page 5 metod eller åtgärd för att återgå till normal drift efter en störning eller skada. Engelsk - Svensk ordlista. Worm Mask Virus Virus Trojan Horse Trojansk häst Downtime Stilleståndstid Uptime Driftsstid Crash Systemkrasch, krasch Password Lösenord User Användare Userid Användarid Account Konto Directory Filkatalog Backup Säkerhetskopia Restore Återlagra Incremental Inkrementell Boot dator PIN Number (nummerkod till ett magnetkort) EEPROM Elecronically Erasable PROM PROM Programmable Read Only Memory checksum kontrollsumma