3 June Säkerhet 2 zAutenticering zNyckelhantering zSäker kommunikation på olika nivåer zBrandväggar zIntrång (”Hackning”)
3 June Autentisering zAnvändaridentifiering yKunskap - Något man känner till yTillhörighet - Något man har yEgenskap - Något man är zFör säkrare ykombinera 2 eller 3 Säkrare
3 June Autentisering Syfte: Bob vill att Alice ska “bevisa” sin identitet för honom Protokoll ap1.0: Alice säger “Jag är Alice”
3 June Autentisering: nytt försök Protokoll ap2.0: Alice säger “Jag är Alice” och skickar sin IP-adress för att bevisa detta.
3 June Autentisering: försök 3 Protokoll ap3.0: Alice säger “Jag är Alice” och skickar sitt hemliga lösenord som bevis.
3 June Autentisering:... Protokoll ap3.1: Alice säger “Jag är Alice” och skickar sitt hemliga lösenord krypterat. I am Alice encrypt(password)
3 June Autentisering:... Syfte: avvärj ‘playback attack’ Vad kan gå fel, vilka nackdelar finns det? Figure 7.11 goes here Nonce: ett tal (R) som bara används en enda gång ap4.0: Bob skickar ett nonce, R, till Alice, som måste returnera R krypterat med en gemensam nyckel
3 June Figure 7.12 goes here Autentisering: ap5.0 ap4.0 kräver gemensam (delad) symmetrisk nyckel yproblem: Bob och Alice måste komma överens om en nyckel ykan vi använda public key cryptography? ap5.0: använd nonce och public key cryptography
3 June Figure 7.14 goes here ap5.0: säkerhetshål Man (woman) in the middle attack: Trudy låtsas vara Alice (för Bob) och låtsas var Bob (för Alice) Need “certified” public keys
3 June Distribution av symmetriska nycklar zTänk om det finns flera miljoner av användare och flera tusen servrar zn 2 symmetriska nycklar r Bättre att använda en central tjänst m KDC - Key Distribution Center m Alla har en nyckel till KDC’n m KDC’n känner alla m KDC’n tilldelar en nyckel till varje par som vill kommunicera
3 June Public Key - Digitala Certifikat zCetification Authority (CA) signerar certifikat zCertifikat = ett signerat meddelande som säger “Jag, CA’n, garanterar att är Pelles publika nyckel” zOm alla har ett certifikat, en privat nyckel och CA’s publika nyckel så kan autentisering ske
3 June Nycklar - CA zVad är en CA? yEn tredje part som man “litar” på yExempel är statliga myndigheter, finansiella institut och företag som jobbar med detta, tex VeriSign r Viktigt att få tag på CA’s publika nyckel på ett säkert sätt r Kedjor av CA’s m PKI - Public Key Infrastructure
3 June Säker kommunikation - Nivå
3 June Säker skapar slumpmässig symmetrisk privat nyckel, K S. krypterar meddelandet med K S krypterar också K S med Bob’s publika nyckel. skickar både K S (m) och e B (K S ) till Bob. Alice vill skicka ett hemligt epost-meddelande, m, till Bob.
3 June Säker (forts.) Alice vill ha authentisering av sändaren (sig själv) och förhindra att meddelandet ändras (message integrity). Alice signerar sitt meddelande digitalt. Skickar både meddelandet (i klartext) och digital signatur.
3 June Säker (forts 2.) Alice vill ha allt: secrecy, sender authentication, message integrity. Obs: Alice använder både sin privata nyckel och Bob’s publika nyckel.
3 June Pretty good privacy (PGP) zInternet krypteringsmetod, har blivit de-facto standard. zAnvänder symmetric key cryptography, public key cryptography, hash function, and digital signature som föregående bild visar. zTillhandahåller säkerhet, autentisering av avsändaren, integritet. zUppfinnaren, Phil Zimmerman, var under tre år föremål för en utredning av FBI. ---BEGIN PGP SIGNED MESSAGE--- Hash: SHA1 Bob:My husband is out of town tonight.Passionately yours, Alice ---BEGIN PGP SIGNATURE--- Version: PGP 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJ hFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- A PGP signed message:
3 June SSL - Secure Socket Layer zEtt protokoll utvecklat av Netscape för kommunikation mellan två parter Applikation SSL TCP Applikation TCP IP Skapar en ny gränsyta för programmeraren. Lägger på ett nytt socketlager på existerande, uppkopplade, sockets
3 June SSL zSSL utnyttjar asymmetrisk kryptering för att överföra en symmetrisk sessionsnyckel zAntingen klienten eller servern, eller båda, eller ingen, kan ha ett certifikat zEtt servercertifikat försäkrar klienten att den talar med rätt server zEtt klientcertifikat försäkrar servern att den talar med rätt klient zSSL utan certifikat skyddar mot avlyssning, men ej mot “impersonation”
3 June SSL - Protokoll zSSL består av fyra olika protokoll ordnade i två lager
3 June SSL - Slutord zHur får man tag på SSL? yRSA (kommersiellt): xwww.rsasecurity.com/standards/ssl/developers.html yOpenSSL (fritt): xwww2.psy.uq.edu.au/~ftp/Crypto/ zHTTP + SSL = HTTPS yExakt samma protokoll, men ett nytt transportlager zSlutligen: SSL -> TLS ySSL befinner sig nu i v3.0 yTLS (Transport Layer Security) v3.1 (RFC 2246) yEj helt kompatibla
3 June IPSec zRamverk för krypterad IP zKryptering på IP-nivå yÖverallt, istället för SSL, SSH, kryptering i applikation… zBland annat för VPN (Virtual Private Network)
3 June IPSec - Består av vad? zInte en standard - utan en uppsättning standards zBland annat: yIP Authentication Header(AH) xIntegritet och autenticering av data yEncapsulation Security Payload (ESP) xKonfidentialitet, integritet och autenticering av data yInternet Key Exchange (IKE) xNyckelhantering yInternet Security Association and Key Management Protocol (ISKMP) xProcedurer för att sätta upp/riva ned säkerhetskopplingar yAlgoritmer för autenticering och kryptering
3 June IPSec - Implementation zHur kan man implementera IPSec? yAntingen i värddatorn (host:en) eller i routern (secure gateway) yTransport och/eller tunnling
3 June IPSec - Operation modes zTransport: Modifiera IP-Paket z Tunnling: Paketera IP-paket
3 June Brandväggar zEn “gatekeeper” zEtt skydd mot ej önskad trafik zmen också en begränsning för önskad trafik
3 June Brandväggar - Nivå? zEn brandvägg filtrerar på något/några/alla protokollnivåer zPå transportnivån yPacketfiltrerande router zPå applikationsnivån yProxy server xFör utgående trafik yRelay host xFör inkommande trafik yOftast kallar man båda typerna för proxy
3 June Brandväggar - Proxy zEn proxy yEn gateway på applikationsnivån xEn klient ser den som en server xEn server ser den som en klient ySäkerhet på applikationsnivån, bryter kommunikationslänken
3 June Brandväggar Möjligheter 1.Single point of defense - Förenklar 2.Ett bra övervakningsställe - Loggar och larm 3.VPN - Virtual Private Network (4. Plattform för annat, tex nätverksövervakning, adressöversättning) Begränsningar 1.Kan endast skydda mot attacker som går genom brandväggen 2.Skyddar endast mot externa hot 3.Kan ej skydda mot “malicious programs” och virusinfekterade filer
3 June Varför kan man inte göra ett helt säkert system ? zSystemet består inte bara av maskinvara och program - hela säkerhetsbiten zSystem måste kunna kommunicera zSystem är felkonfigurerade zSäkerhetspatchar införs inte zMänniskor är inte felfria
3 June Intrång - mål, metoder, skydd zVem ? yFrån industrispioner till ’Script Kiddies’ yAnställda zVarför ? yFör att få tag på information yFör att få tag på resurser, t.ex. för en chatserver, film yFör att föra fram något budskap (web-hacking) yFör att störa en verksamhet (Denial of Service) zVad ? Maskiner och mjukvara zHur ? zMotmedel ? zExempel på svagheter i system
3 June Hotanalys - Lyckad attack 1. Identifiera mål och samla information 2. Analysera informationen och hitta en svaghet 3. Uppnå tillräcklig access till målet 4. Utför attacken 5. Sudda ut spåren och undvik vedergällning zDet räcker oftast att stoppa ett steg
3 June Vad: Typer av mål för intrång zPersondatorer och arbetsstationer yWin 95/95, ME, NT, 2000, Unix zServrar yFTP, WEB zTelefonsystemet zBrandväggar zNätverksswitchar, routrar zVPN
3 June Hur gör man ? zFlera sätt: yTa sig in på maskinen via nätverket eller ett modem yFörsöka infiltrera målsystemet med hjälp av virus, trojaner, backdoors - installera en server yTa över en fjärrkontroll yRootkits yWeb-hacking kan öppna en dörr in till ett system (en klient) ySSL y - för att överföra virus, även webb-sidor yIRC yNapster
3 June Hur man hittar sitt mål zManuellt eller med automatiserade script zFootprinting ySkapa en bild av organisationens säkerhetsprofil ySamla information, inte bara via internet yAnnonser, webbsidor, personalkataloger y’Social Engineering’ yTänk på vilken information som finns tillgänglig zEnumeration yIdentifiera domännamn och nätverk yWhois
3 June Hur forts. zDNS ynslookup - för att få ut information ur någon DNS med hjälp av zone transfer ySam Spade yaxfr, axffrcat för Windows ydig yBegränsa Zone Transfer zMail Exchange (MX) - ofta ligger mailservern på samma maskin som brandväggen yhost zStrukturen hos nätverket yTraceroute
3 June Scanning zKnacka på dörren för att se vem som är hemma zPing sweeps yfping/gping - väntar inte på svar, mycket snabbare än ping ynmap har bland annat möjlighet till ping-sweep yWindows: pinger, Ping Sweep yTCP ping scan - provar med TCP ACK istället (troligare att de kommer igenom en brandvägg) yhping - mer styrmöjligheter yicmpquery - vilket ICMP-paket som helst kan skickas yKonfigurera brandväggen - behöver alla ping förmedlas in till lokala nätverket ? yMan kan använda ICMP som en tunnel till ett system innanför brandväggen - en öppen kanal!
3 June Port Scanning zTCP connect - three way handshake zTCP SYN - en halv förbindelse zTCP FIN - systemet skall svara med RST zTCP ACK - är brandväggen ’stateful’ eller inte ? zUDP scan - stängd port svarar med ’ICMP port ureachable’. Vissa brandväggar svarar inte - bättre. zExempel: yStrobe, udp_scan, netcat/nc yNetwork Mapper (nmap) - mycket användbart yWindows: SuperScan zSpeciella program för detektion zBrandväggen kan logga försök. Stäng tjänster !
3 June Active Stack Fingerprinting zVilka versioner av protokollager finns i stacken ? zOlika programvaruleverantörer tolkar RFC olika zEn lyssnande port behövs yFIN probe - olika svar beroende på tillverkare yBogus Flag Probe - Linux sätter den rätt y’Don’t fragment bit’ yTCP initial window size yACK value - seq no eller seq no + 1 yType Of Service - TOS yTCP options yosv osv … zNmap, Queso
3 June Passive Stack Fingerprinting zLyssnar på nätverkstrafiken yTTL yWindow size yDF - don’t fragment yTOS zStarta en sniffer (Ethereal t.ex) zKoppla upp en förbindelse (Telnet ex) zAnalysera paketen, med Siphon t.ex zAutomatiska system - Scotty (grafisk, lab 3 …) zStack Fingerprinting är svårt att förhindra yVissa parametrar kan ändras för att dölja typen av OS/Stack, men det kan påverka den normala driften
3 June Enumeration zAktiva intrångsförsök i syfte att hitta oskyddade användarkonton eller resurser zNätverksresurser zAnvändare och användargrupper zTillämpningar zWindows 2000: yNull session - Stäng av NetBIOS ! yBlockera port och 445 (TCP+UDP) ySNMP yenum - Enumerating users yAD - Active Directory - ldp yStäng TCP port 389 och 3268, kontrollera åtkomst till AD
3 June Enumeration forts. zBanner Grabbing - avslöjar OS och version yTelnet yNetcat yHTTP zUNIX: yShowmount yFinger - ganska ofarlig info, dock kan man se vem som är inloggad (root ?) yStoppa fingerd ySMTP - vrfy och expn yTFTP för att hämta password-filen yrpcinfo - enumeration of RPC apps
3 June Windows 2000 zSäkrare än NT 4.0 zPublika standarder istf egna zInternet Information Server (IIS) har problem y”Translate: f” - hämta vilken.asp-fil som helst genom att utnyttja korrupta GET-kommandon yStäng av IIS (aktiverad by default), eller patcha zZone transfers zNetBIOS Over TCP/IP kan deaktiveras zKom ihåg port 445 också (ta bort fildelning) zsid2user/user2sid zPriviledge Escalation
3 June Windows 2000 forts zSAM-filen (Security Accounts Manager) - alla users ykan hämtas ykan modifieras ytomt admin-lösenord
3 June Kernel Rootkits z”Vanliga” rootkits (trojaner etc) är passe’ zModifiera själva systemet i stället (the kernel) zKnark for Linux t.ex. zLoadable Kernel Module kan laddas in i kärnan under drift (ingen omkompilering) zSedan kan man inte lita på någonting: yModulen kan gömma sig själv från listning yKan gömma filer/filsystem yExec-redirection yGömma nätförbindelser yÄndra UID och GID på en process (till root t.ex) y”fjärr-exekvera” kommadon zCD med statiskt länkade program (gör den innan du blir ’root- kitted’) zBevara timestamps
3 June Network devices zHitta dem på samma sätt som andra system yPort scanning yEnumeration yBanner grabbing zBack Doors yDefault user/password yCisco, 3Com, Bay zKonfigurera om switchen till ’shared media’ yLyssna på alla paket …
3 June Brandväggar zApplication proxies – säkra, restriktiva, långsamma z(stateful) Packet filtering gateways zEn väldesignad, -konfigurerad, -underhållen brandvägg är nästan ogenomtränglig zMånga hackers vet detta och går runt brandväggen zIdentifiera typen av brandvägg ySniffing yBanner grabbing zScanning genom brandväggen zACL:s
3 June Denial of Service zOlika typer: yBandbredd yResurser (minne t.ex) yMjukvarufel (kan inte hantera felaktiga indata) zRouting, DNS attacks zAmplifying network zSYN flood yÖka köstorleken yMinska timeoutperiod yOS:et kan deteketera zFragmentation overlap zBuffer overflow zDDoS (se
3 June Webben, mail... zCookies - kan avlyssnas och spelas upp zActiveX ’Safe for scripting’ -patchar hjälper inte helt zJava - säkert språk, osäkra implementationer zIE Frame Vulnerability yen frame kan läsa en annan, inklusive filsystemet zSSL - bug i Netscape < 4.73 z - Outlook Express/Active X yinstallera och starta vilket program som helst via ’preview’ zWorms - ILOVEYOU etc y - via Vbscript som attachment - läser adressboken och mailar sig vidare zAttachments - kan innehålla macros, scripts, websidor...