Säkerhet. - det är dags att bli paranoid! Föreläsning 9. OS Föreläsning 9, Säkerhet



Relevanta dokument
Säkerhet. Vad är det vi pratar om??

Datasäkerhet. Informationsteknologi sommarkurs 5p, Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare.

SÄKERHET KUNSKAPER OM SÄKERHET OCH FÖRMÅGA ATT IDENTIFIERA OCH MOTARBETA ATTACKER

256bit Security AB Offentligt dokument

Krypteringteknologier. Sidorna ( ) i boken

Många företag och myndigheter sköter sina betalningar till Plusoch

Nätsäkerhetsverktyg utöver kryptobaserade metoder

Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

IT policy för elever vid

Datasäkerhet. Hur ska vi göra för att skydda våra datorer mot virus och andra hot?

Virus och andra elakartade program

Instruktion: Trådlöst utbildningsnät orebro-utbildning

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Introduktion till protokoll för nätverkssäkerhet

Instruktion: Trådlöst nätverk för privata enheter

Föreläsning 3. Datorkunskap 50p Marcus Weiderstål Bromma Gymnasium

Metoder för sekretess, integritet och autenticering

SkeKraft Bredband Installationsguide

Säkerhetsbrister & intrång

Grundläggande säkerhet för PC, mobil och läsplatta. Joakim von Braun Säkerhetsrådgivare von Braun Security Consultants Senior Net Danderyd

Säkerhetsanalys. The Dribble Corporation - Krav. The Dribble Corporation - Mål. The Dribble Corporation Produkt: Dribbles. Vill börja sälja över nätet

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Surfa säkrare. Goda råd om säkerhet på Internet. Information från Post- och telestyrelsen

Installera SoS2000. Kapitel 2 Installation Innehåll

Autentisering och Code-Based Access Control

Policy för användande av IT

Stockholm Skolwebb. Information kring säkerhet och e-legitimation för Stockholm Skolwebb. skolwebb.stockholm.se

Memeo Instant Backup Snabbguide. Steg 1: Skapa ett gratis Memeo-konto. Steg 2: Anslut din lagringsenhet till datorn

Grundfrågor för kryptosystem

Föreläsning 2. Operativsystem och programmering

FC-kurs Röbäcks skolområde, åk 5-6

ANVÄNDARHANDBOK. Advance Online

Viktigt! Läs igenom hela anvisningen innan du påbörjar inloggningen för första gången.

FC-kurs Röbäcks skolområde femmor och sexor

Välkommen som användare av medietekniks och informatiks publika studentserver

Föreläsning 3. Programmering, C och programmeringsmiljö

Om du misstänker att värdens privata nyckel har manipulerats kan du skapa en ny genom att utföra följande steg:

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

Installera din WordPress med 9 enkla steg

Användarhandledning för The Secure Channel

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Det finns bättre sätt än att sluta använda Internet.

Att Säkra Internet Backbone

Kort-kort om utdelade användarkonton och datormiljön på NADA

DATA CIRKEL VÅREN 2014

Innehåll Ökad säkerhet i internetbanken för företag och företagare... 3 Mobilt BankID... 3 Så här skaffar du mobilt BankID...

Regler för användning av skoldatanätet i Vaxholms stad.

om trådlösa nätverk 1 I Om trådlösa nätverk

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Installation av Virtual Skipper Online

Användarmanual för Pagero Kryptering

Protokollbeskrivning av OKI

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

ANVÄNDARHANDBOK Advance Online

Tekniska lösningar som stödjer GDPR

Antivirus: Identifierar och inaktiverar proaktivt mer känd och till och med okänd skadlig kod än många andra säkerhetsprodukter.

3 Skadliga program 26 Virus... Förord...3 Lättläst it...7 Bokens uppbyggnad och nivåer...8 Bokens innehåll på olika nivåer...9

Lathund. Skolverkets behörighetssystem för e-tjänster. Rollen rektor

DOKUMENTNAMN: IT-användarpolicy SKAPAT DEN: TYP AV DOKUMENT: Policy SENAST ÄNDRAT DEN:

Spårbarhet i digitala system. Biografi. Spårbarhet. Osynlig övervakning och de spår vi lämnar efter oss

Uppdatering till Windows 8.1 steg för steg-guide

Ämnesintroduktion. Varför incidenthantering? Vårt mål? Incidenthantering - Datautvinning

Compose Connect. Hosted Exchange

Kryptering. Krypteringsmetoder

Datasäkerhet. Petter Ericson

Det går att fixa på egen hand! Licens för 3 datorer ingår Kompatibel med Windows XP & Vista (Alla Versioner)

via webbgränssnittet. Du har även tystnadsplikt gällande dina identifikationsuppgifter.

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

LEOcoin 3 & Atomic wallet

Säkerhet på Internet. Sammanställt av Bengt-Göran Carlzon

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

En felsökningsguide för rcloud Office tjänsterna och lite manualer.

Kapitel 10 , 11 o 12: Nätdrift, Säkerhet

EBITS Totalförsvarets Forskningsinstitut David Lindahl Erik Westring

Startanvisning för Bornets Internet

Internethistoria - Situation

ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online.

Nej, Latitude ON Flash är för närvarande endast tillgängligt på följande Dell datorer: Dell Latitude E4200 Dell Latitude E4300

Din manual NOKIA

Manual - Phonera Online Backup

Datasäkerhet Källa: Bl.a. Symantec Nordic AB och Bearbetat av Robert Axelsson

Uppdatering till Windows 8.1 steg för steg-guide

Laboration 2 Datorverktyg vid LiU

10 TIPS FÖR ATT SÄKRA DIN HEMSIDA. Hur du gör för skydda dig mot att din hemsida ska hackas.

Så delar du filer. utan att bli övervakad LAJKA-GUIDE

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Sockets. Processkommunikation Sammanfattning. Sockets. Domän, typ och protokoll

Snabbguide Kom igång med Mina bilder i tv:n

Hämta hem 2005 års installationspaket från Skatteverkets hemsida:

Instruktion: Trådlöst nätverk för privata

Anvia Online Backup 1(8) Installationsguide

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Modul 3 Föreläsningsinnehåll

Appendix E Intervjuanteckningar

DIG IN TO Nätverkssäkerhet

Transkript:

Säkerhet - det är dags att bli paranoid! Föreläsning 9!1

Säkerhet i ett OS-perspektiv - hur attackerar man Varför vägrar jag ta emot labbrapporter via mail speciellt under Windows? Varför har inga UNIX-systemadministratörer med. i sin sökväg? Varför bör man inte använda gets()? Kan man alltid skydda sig?! Vad vill man skydda och hur? Inloggning - intrång Virus hur fungerar de Finns det verkligen säkra system? Kap: 9.1-9.5, (9.6 sedan OS Föreläsning tidigare), 9, Säkerhet 9.7!2

Introduktion - vet man inte vilka frågor man ska ställa får man inga svar! Vem är inkräktaren? Vad vill han/hon uppnå? Vad vill jag skydda? Var skyddar man sig? Vad är kostnaden för ett misslyckande?!3

Säkerhet Kan beskrivas som ett krig mellan en (okänd) inkräktare och den som är ansvarig för säkerheten i systemet Inkräktaren behöver bara lyckas en gång den som sköter försvaret måste klara 100% av attackerna! Försvararen måste vara kunnigare och listigare än inkräktaren!!4

Att skydda sig mot det kända går kanske - men att skydda sig mot det okända är svårt Känn din fiende Att skydda sig mot en attack går om man förstår vad angriparen: Kan göra Var attacken kan komma Hur han/hon kan åstadkomma det Försvaret underlättas ytterligare om man vet: Vem är inkräktaren Vad som är sannolikast att han/hon gör Dessutom måste man ha självkännedom Vad är det farligaste angriparen kan göra? Var finns mina svagheter/blottor?!5

Vad vill man skydda/förhindra i sitt datorsystem? Det finns i huvudsak 5 saker att skydda sig mot: Att en inkräktare kommer åt hemlig data Att en inkräktare modifierar/ändrar din data Att en inkräktare tar bort data Denial of service Att en inkräktare använder ditt system för att attackera andra system!6

Vem är inkräktaren? Crackers (det media kallar hackers) Personer med legal tillgång till systemet (ex. anställda) Före detta anställda Konkurrenter Spioner Kriminella Extremister Dessa har ofta olika syften med och drivkrafter bakom sina attacker!7

Vad/vilka nivåer skyddar man? Hårdvara ex. fysisk access Nät och modem Tillgång till systemet - ex. inloggning Filer/data! Man upprättar flera försvarslinjer! Det är ingen idé att satsa allt försvar på huvudentrén om bakdörren står vidöppen!!8

Mer att fundera över Vad kostar det: Om inkräktaren lyckas med sin attack? Att upprätta sitt försvar? Dvs. skyddsnivån måste anpassas till det man vill skydda Hur: Förbereder jag mig för att upptäcka en attack? Upptäcker jag en attack som pågår eller genomförts? Kan man gillra fällor? Om mitt försvar misslyckas: Hur återhämtar man sig från en attack som lyckats?!9

Om att gillra fällor Att gillra fällor kan ge fördelar som hjälper oss i vårt försvar: Inkräktaren attackerar där vi vill att han/hon ska attackera och där vi är förberedda Vi kan få kännedom om Hur inkräktaren attackerar Vem det är Vad han/hon vill åstadkomma Exempel på en typisk fälla: Lämna ett känt säkerhetshål synbarligen öppet men bevaka det noga och se till att en eventuell skada kan begränsas!10

Om hemlighetsmakeri Hemlighetsmakeri kring försvaret Kan möjligen fördröja men inte förhinda attacker Att bygga sin säkerhet på hemlighetsmakeri ingjuter oftast i falsk säkerhet Om man kan lita på sina skyddsmekanismer även om de blir kända så kan de kallas säkra Men man behöver inte skylta med de åtgärder man vidtar!!11

Grunderna - för en gångs skull följer vi boken (Tanenbaum) slaviskt Kryptering Användarautenticiering Attacker inifrån Attacker utifrån Pålitliga system och dolda kanaler!12

Kryptering K E = krypteringsnyckel K D = dekrypteringsnyckel Klartext = P E Kryptotext C = E(P, K E ) D D(C, K D ) = P E = krypteringsalgoritm D = dekrypteringsalgoritm Mål med kryptering: Om en angripare kommer över kryptotexten skall det vara så svårt och ta så lång tid att forcera (dekryptera/dechiffrera) kryptotexten att klartexten inte längre kommer att ha något värde för angriparen!13

Kryptosystem Symmetriska system Krypterings- och dekrypteringsnycklarna är samma Public-key Krypterings- och dekrypteringsnycklarna är olika Kryptotexten är mycket svår att forcera utan kännedom om dekrypteringsnyckeln Användning: Välj ett nyckelpar. Publicera krypteringsnyckeln så att andra kan skicka krypterade meddelanden till dig. Den/de som känner dekrypteringsnyckeln är de (enda) som kan dekryptera meddelandet Ex: RSA Envägsfunktioner: y = f(x) : givet y (och f) är det mycket svårt att beräkna x!14

Digitala signaturer - ett exempel på autenticering Används för att signera och därmed kunna autenticera dokument Förutsätter public-key kryptering där E(D(x)) = x (normalt krävs bara D(E(x)) = x) Signering: 1. Beräkna ett hash-värde H för dokumentet med t.ex. MD5 (message digest) eller SHA (secure hash algorithm) 2. Ägaren/skaparen av dokumentet signerar dokumentet genom att (de)kryptera H med sin privata (de)krypteringsnyckel S = D(H) Autenticering: 1. Beräkna hash-värdet H för dokumentet utan signaturen 2. Kryptera signaturen med den publika nyckeln dvs. beräkna E(S) 3. Om E(S) = H är signaturen autentisk!15

Användarautenticering Lösenord i UNIX Engångslösenord Attacken Motåtgärder!16

Autenticering av användare - inloggning med lösenord i UNIX Lösenordet används som nyckel för att kryptera ett fixt datablock Datablocket är det samma för alla användare Krypteringen kan vara envägs (utan möjlighet till dekryptering) Lösenordsfilen innehåller par av <användarnamn, krypterat datablock> Vid inloggning letar man fram användarnamnet och kontrollerar att det krypterade datablocket i lösenordsfilen är identiskt med det som genererades vid inloggningen genom krypteringen med det lösenord användaren gav För att göra det svårare för utomstående att gissa lösenord kan lösenorden saltas För varje användare generas ett slumptal som lagras i lösenordsfilen i klartext Vid inloggning konkateneras lösenordet med slumptalet innan krypteringen av det fixa datablocket beräknas <användarnamn, slumptal, E(lösenordslumptal)>!17

Engångslösenord - en variant baserad på ännu en idé från Lamport Använd en envägsfunktion y = f(x) där y och x har samma längd Användaren väljer ett hemligt lösenord s Välj antalet engångslösenord n som s kan användas till P i = engångslösenord i Låt P i-1 = f(p i ), dvs nästa lösenord i serien är mycket svårt att beräkna givet det föregående P 0 = f n+1 (s)!18

Engångslösenord - forts. Servern initierar lösenordsfilen med P 0 och ordningsnumret för nästa lösenord, dvs. i=1 <användarnamn, P i-1, i> När användaren loggar in: Frågar servern användaren efter lösenord i och sparar i+1 i lösenordsfilen Användaren svarar då med P i = f n-i+1 (s) som beräknas lokalt Servern beräknar f(p i ) från lösenordet användaren gav och jämför med P i-1 Servern sparar P i i lösenordsfilen Även om trafiken mellan användare och server kan avlyssnas kan inkräktaren inte beräkna nästa lösenord!!!!19

Attacken: Att bryta sig in genom att skaffa sig tillgång till lösenord och användarnamn Observation Användarnamn är ofta enkla att gissa De flesta användare väljer lösenord som är enkla att komma ihåg och därmed ofta enkla att gissa Attackera genom att utgå från tabeller med troliga användarnamn och lösenord och låt ett program testa att logga in. Notera alla lyckade inloggningsförsök. Hur hittar man datorer att attackera? Internet: gör motsvarande men pinga (grupper av) IP-adresser. När man hittat en adress med en dator bakom testar man telnet/ssh mot den!20

Förstärk skalskyddet - Att försvåra att bryta sig in genom att skaffa sig tillgång till användarnamn och lösenord Försvåra för inkräktare att gissa/testa lösenord/användarnamn genom att: Inte visa hur många tecken som matas in för lösenordet på skärmen vid inloggning! Skicka aldrig lösenord/användarnamn i klartext över ett nät som kan avlyssnas av andra Inte avbryta en inloggning förrän lösenordet givits även om användarnamnet inte finns Ställa krav på kvalitet på lösenord: längd, gemena och versaler, specialtecken, inte ord Ha exponentiell back-off eller liknande vid misslyckade inloggningsförsök Brandvägg som filterar bort telnet/ssh från icke-kända adresser Svara inte på ping Logga alla inloggningsförsök, lyckade och misslyckade, för att kunna identifiera/ upptäcka attacker Lägg ut fällor!21

Attacker inifrån Trojanska hästar Att sno lösenord Logiska bomber Bakdörrar Buffer overflow!22

Trojansk häst - varför systemadministratören inte har. i sin sökväg Ett program som gör något man inte tror det ska göra Lägger till en ny användare, raderar filer, skickar data till någon annan Hur får man användaren att köra det? Dölj det som senaste nyheten Lägg det med ett namn som kan vara en felstavning av ett vanligt kommando i ett directory i PATH la istället för ls Lägg det med samma namn som ett vanligt program/kommando i ditt hemdirectory be sedan systemadministratören titta på din konstiga fil... Program får samma rättigheter som den användare som exekverar dem (ex. superuser) om de inte setuid:ats Ex. den trojanska hästen ls!23

Att sno lösenord - login spoofing 1. Skriv ett program som ser ut som ett inloggningsprogram (kan t.ex vara telnet, SSH) 2. Fråga efter användarnamn och lösenord 3. Skicka användarnamn och lösenord till det ställe du vill lagra det på 4. Säg att lösenordet var fel 5. Starta det korrekta inloggningsprogrammet!24

Logiska bomber En anställd eller någon som får ha tillgång till systemen döljer en bit kod i ett system som: Inte gör något så länge det får sitt regelbundna lösenord, t.ex att den anställde finns på lönelistan Om den inte får sitt dagliga lösenord vaknar efter en viss tid och börjar mer eller mindre öppet förstöra Målet kan vara att: Idka utpressning Inte bli avskedad Eller bli återanställd som välavlönad konsult!25

Bakdörrar Inkräktaren/angriparen döljer kod som kringgår normala säkerhetkontroller Ex. Användarnamn ZZZZZ loggas in utan kontroll av lösenord!26

Buffer overflow - eller varför man inte bör använda gets() (välj hellre fgets()) Lokala variabler main() returadress Lokala variabler gets() Lokala variabler Inkräktarmain() program returadress! Lokala variabler Program (text) Program (text) Attack: Skriv över returadress och lokala variabler med nytt program! setuid!? Hur hitta programmet med problem testa med lång inmatning ger det core-dump?!27

Attacker utifrån Worms maskar Virus Virusskydd Att återhämta sig!28

Maskar (första stora attacken ) - program som kopierar sig själva från site till site Mask worm Program som bryter sig in på en dator Kopierar sig självt till datorn Kan vara ganska harmlöst men också orsaka stor skada The Morris internet-worm 1988 doktorand från Cornell Två delar: Grappling hook tar sig till nytt system Main program Attack genom rsh testade login finger bug sendmail bug Startade om på vart 7:e redan infekterat system sänkte Internet Motåtgärd Computer Emergency Response Team!29

Virus - program som infekterar andra program Virus: Program som kopierar in sig självt i andra program Infekterar ofta flera program på en dator Sprids t.ex genom att åka med program som flyttar Exempel på vad virus kan göra: Bara ligga dolt Förstöra filer Modifiera data Spionera Göra systemet/datorn obrukbart genom denial of service Förstöra BIOS!30

Olika typer av virus - klassificering på hur de fungerar och var de infekterar Kompanjonvirus Virus som infekterar exekverbar kod Minnesresidenta virus Boot sektor virus Device driver virus Makrovirus Källkodsvirus! Ett virus kan höra hemma i flera olika kategorier!31

Kompanjonvirus Program som körs istället för det som användaren ville köra (Trojansk häst) Infekterar inte kod Ex: Skriv eget ls kommando På MS-DOS & Windows Om man vill köra programmet prog letar OS först efter prog.com sedan prog.exe De flesta program har extension.exe Viruset döps alltså till prog.com och gör först det viruset skall göra innan det (ev.) exekverar prog.exe!32

Virus som infekterar exekverbara filer Exekverbar Virus Start Exekverbar kod Exekverbar adress kod Virus kod Header Header Header Header Viruset lägger normalt sett bara till sin kod till det infekterade programmets (skriver inte över något) Det infekterade programmet fungerar oftast synbart helt normalt men exekverar viruset varje gång det körs (sk. parasitiskt virus) Söker av filträdet för att hitta exekverbara filer att infektera (mycket disktrafik...) Virusets kod är ofta liten 44 bytes räcker för att infektera varje fil i ett MS-DOS dirctory Viruset försöker oftast se till att: Modifieringsdatum för det infekterade programmet inte ändras (Storleken på det infekterade programmet inte ändras)!33

Minnesresidenta virus Lägger sig resident i minnet Nästlar sig oftast in i kärnan och Tar kontroll över TRAP eller avbrottsvektorn Kan då inspektera t.ex varje systemanrop och enkelt hitta exekverbara filer att infektera när det ser ett exec() anrop Utmärkt bas för att spioner och skapa oreda!34

Bootsektor virus Kopiera bootsektorn till en ledig sektor och skriv in viruset självt på bootsektorn Ryms inte hela viruset i bootsektorn gömmer man resten i sektorer som läggs till listan över dåliga sektorer Viruset kommer att startas varje gång datorn bootas och BIOS exekverar det som ligger på bootsektorn Flyttar sig oftast till minnet blir minnesresident genom att ta kontroll över avbrottsvektorn Problemet är att se till att viruset inte tappar kontrollen över avbrottsvektorn då nya avbrottsrutiner installeras när det riktiga bootsektorprogrammet körs!35

Drivrutinsvirus Sprids genom infekterade drivrutiner Laddas självmant in i kärnan av OS:et Slipper krånglet med att hålla kontrollen över avbrottsvektorn under bootsekvensen!36

Makrovirus Virus som ligger som makron i t.ex Word- eller Excel-dokument Enklare att skriva än de flesta andra typer av virus (även en amatör klarar det) Sprids oftast via attachment till mail Är ganska portabla dvs inte direkt operativsystemsberoende!37

Källkodsvirus Infekterar källkodsfiler Ex för C-kod: Skapa en ny headerfil t.ex. virus.h med virusprogrammet i Leta rätt på C-kodsfiler att infektera I C-kodsfilerna läggs följande till #include <virus.h> eller #include virus.h run_virus();!38

Mobil/portabel kod Mobil kod är kod som frivilligt och med avsikt kan flyttas från en dator till en annan för exekvering/ interpretering Kan naturligtvis användas för att sprida virus/göra skada Ex. på mobil/portabel kod: Java applets Agentteknik Postscript!39

Hur virus skapas och sprids Skaparen infekterar ett program/diskett eller liknande genom att plantera viruset med ett dropper program Viruset kan sedan spridas genom att Följa med infekterade program, disketter Aktivt leta efter filer, nätanslutna datorer etc. att infektera Sprida sig genom att maila ut sig (attachements) Få program att fungera så konstigt att användaren ber systemadministratören provköra programmet, förhoppningsvis som super-user... Viruset placeras lämpligen ut anonymt på t.ex. ett Internet kafé så det inte kan spåras tillbaka till sin skapare!40

Metoder för att få stor spridning och undgå upptäckt av ett virus Viruset försöker dölja sig väl Ändra inte modifieringsdatum på infekterade filer Lägg om möjligt viruset i outnyttjade hål i filerna så att dess storlek inte ändar sig Polymorfiska virus kan ändra utseendet, men inte funktionen, på sin kod genom mutationer Viruset kan kompaktera och ev. kryptera delar av sig självt eller det infekterade programmet (utom kompakterings och dekrypteringsdelarna) Spridning Viruset infekterar inte redan infekterade system/filer Viruset bör undvika att spridas för fort Viruset bör inte göra något aktivt, mer än att sprida sig, på en viss tid (inkubationstid)!41

Motåtgärderna Att undvika att bli smittad Att återhämta sig Antivirusprogramvara Att hantera portabel kod!42

Att undgå virus - bäst är att aldrig bli smittad!!!! Välj ett OS med hög inbyggd säkerhet Uppdatera kontinuerligt ditt OS med patchar som täpper till säkerhetshålen Installera bara orginalprogramvara köpt från pålitliga tillverkare Installera ett bra antivirusprogram Öppna inte attachement i mail Gör regelbundna incrementella backuper och spara backuper över lång tid!43

Att återhämta sig efter en virusattack - att vara paranoid lönar sig Varje infekterad del måste bort!!! 1. Stäng ner datorn helt och det omedelbart!!! 2. Boota om datorn från en orginal CD-ROM eller liknande som är garanterat fri från virus (som alltid varit skrivskyddad) 3. A) Spara alla filer som inte kan ha infekterats till ett externt media eller B) (osäkrare metod) försök låta ett anti-virusprogram rensa undan viruset och identifiera säkra filer 4. Formatera om hela hårddisken med ett virusfritt formateringsprogram (fdisk formaterar inte första spåret...) 5. Installera om ett virusfritt OS 6. Återställ de filer som man litar på Ev. Om man vet exakt när viruset kom in kan man gå tillbaka i gamla backuper och återställa filer!44

Antivirusprogram - virus scanner Virus scanner Letar efter kända virus och kod som liknar viruskod Använder databaser med virussignaturer (10-tusentals) Kan aldrig hitta alla virus eller varna för dem Nya virus kommer till Tidskrävande Användaren skulle bli tokig på alla varningar Tips: Uppdatera databaserna!45

Antivirusprogram - integritetskontroll och betendekontroller Integritetskontroll Kontrollerar att inga virus finns på hårddisken Beräknar en checksumma för varje virusfri fil Checksummorna krypteras och sparas på fil Checksummorna kan kontrolleras Nästa gång integritetskontrollprogrammet körs Varje gång ett program startas Beteendekontroll Fånga alla systemanrop och försök se om något misstänkt pågår Kan leda till Core-War mellan beteendekontrollprogrammet och virus!46

Att hantera mobil kod Sandboxing för kompilerade applets Varje applet får en liten adressrymd som den inte får exekvera eller referera data utanför Alla systemanrop appleten gör fångas och kontrolleras av en referens monitor Interpretering Låt interpretatorn kontrollera vad appleten gör Digitala signaturer Bara applets som kommer med en digital signatur från någon man litar på får köras eller köras utan kontroller!47

Programspråkssäkerhet - JAVA Java undviker många potentiellt farliga programspråkskonstruktioner som Explicita pekare Möjlighet att blanda alla datatyper och casts Ingen användarkontrollerd minnesallokering Kontrollerar vektor- och matrisgränser vid run-time Java byte code kontrolleras av JVM JDK 1.2 låter varje användare sätta egna säkerhetspolicys baserade på En applets ursprung Appletens signatur!48

Vad som är kvar Pålitliga system finns det? Design för säkerhet Var fortsätter den intresserade?!49

Pålitliga system - motstridiga viljor Inför N st. säkerhetsklasser där 1 är lägsta säkerhetsklassen och N den högsta Att bevara hemligheter (Bell-LaPadula) Information får inte spridas (skrivas) från en högre säkerhetsklass till en lägre Information får bara samlas (läsas) från lägre säkerhetsklasser Att garantera integritet/korrekthet hos information (Biba) Information får bara spridas (skrivas) från en högre säkerhetsklass till en lägre Information får inte samlas (läsas) från lägre säkerhetsklasser Att bevara hemligheter och att bara sprida korrekt information kräver sins emellan oförenliga policys...!50

Hemliga kanaler - finns det verkligen helt vattentäta system? Information kan nästan alltid spridas dolt Processer kan kommunicera t.ex via att signalera genom: Att användning av en resurs indikerar 1 och ickeanvändning indikerar 0 Ex: CPU, lås på filer Information överlagras i något där det inte syns så enkelt (steganografi dold skrift) Överlagring av text i en bild Ex: www.cs.vu.nl/~ast/!51

Design för säkerhet Enkel design! Small is beautiful! Publik systemdesign Default ingen access Ge inte någon tillgång till sådant denne inte behöver Kontrollera nuvarande rättigheter Vid t.ex varje skrivning/läsning på en öppen fil Ge varje process så lite rättigheter som möjligt Ha enkla och uniforma skyddsmekanismer inbyggda i de mest basala nivåerna i systemet Ha säkerhetsmekansimer/policys som användaren förstår, accepterar och därmed använder!!52

Några explicita designval Undvik active content Gör det möjligt att skrivskydda spår på hårddiskar Sätt mekaniska switchar för att skydda ROM t.ex BIOS!53

Skalskydd Brandvägg Autenticerad inloggning Intrusion Detection System Dator med säkert OS Antivirusprogram Kryptering av data Backuper Monitorering av aktivitet Fällor Fysiskt åtkomstskydd!54

För den som vill lära sig mer Källor att starta från Orange book (US defence) Common Criteria (ISO-standard) CERT Se listan på referenslitteratur Kryptering Säkerhet i nätverk Säkerhet i operativsystem Hur crackers attackerar Kurser ICT/DSV Kurser i internationella masterprogram på ICT/ECS Doktorandkurser på ICT/ECS Kryptering på CSC!55

Nästa föreläsning Föreläsning Distribuerade system!56