Förra gången Kryptering Grunder Kryptografiska verktygslådan Symmetriska algoritmer Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang Multilevel Security Multilateral Security 3/10-03 Distribuerade system - Jonny Pettersson, UmU 1 Dagens föreläsning Nätverkssäkerhet Attacker Brandväggar Illvilliga program Intrusion Detection Systems Säkerhetsprotokoll IPsec SSL Kerberos 3/10-03 Distribuerade system - Jonny Pettersson, UmU 2 De vanligaste attackerna Juni 2000 (Andersson) 1. Stack overflow i BIND 2. CGI program i web-server 3. Stack overflow i RPC 4. Bug i MS IIS 5. Bug i sendmail 6. Stack overflow i Sun Solaris OS 7. Attack mot NFS 8. Gissa användare och lösenord 9. IMAP och POP 10. Svag autenticering i SNMP 3/10-03 Distribuerade system - Jonny Pettersson, UmU 3 1
Förändrade kompetenser Användarna Systemadministratörerna Outsourcing 3/10-03 Distribuerade system - Jonny Pettersson, UmU 4 Hot i nätverk OS Många tjänster och många tjänster default på Attacker i LAN Sniffa lösenord NFS Attacker i Internet SYN Flooding Smurfing DDOS Spam och adressförfalskning Kombinerade attacker Routing-attacker 3/10-03 Distribuerade system - Jonny Pettersson, UmU 5 Försvar mot nätattacker Configuration Management Väldigt viktigt det görs korrekt Kryptering IPsec VPN Brandväggar 3/10-03 Distribuerade system - Jonny Pettersson, UmU 6 2
Brandväggar - Vad är det? Information system Gatekeeper function Computing resources (processor, memory, I/O) Data Processes Software Internal security controls Access channel Opponent Human Software En gatekeeper Ett skydd mot ej önskad trafik men också en begränsning för önskad trafik 3/10-03 Distribuerade system - Jonny Pettersson, UmU 7 Brandväggar - Nivå? En brandvägg filtrerar på något/några/alla protokollnivåer Applikation TCP/UDP IP Ethernet fråga x svar y src port x dest port y src IP x dest IP y protocol z src addr xxxx dest addr yyyy 3/10-03 Distribuerade system - Jonny Pettersson, UmU 8 Brandväggar - HTTP Regel: Tillåt TCP från alla IP till S på port 80 HTTP-server S på port 80 3/10-03 Distribuerade system - Jonny Pettersson, UmU 9 3
Brandväggar - FTP Har du fil x? Ja, finns på port y FTP-server S på port 21 Hit med fil x Fil x Dynamisk server på port y 3/10-03 Distribuerade system - Jonny Pettersson, UmU 10 Brandväggar och protokoll Regel: Tillåt TCP från alla IP till S på port 21 Har du fil x? Finns på port y FTP-server S på port 21 Hit med fil x Dynamisk server på port y 3/10-03 Distribuerade system - Jonny Pettersson, UmU 11 Brandväggar och protokoll (2) Regel: Tillåt TCP från alla IP till S på port 21 K Har du fil x? Finns på port y Hit med fil x Fil x FTP-server S på port 21 Dynamisk server på port y Sensmoral: Brandväggar måste känna till protokoll Ny dynamisk regel: "Tillåt TCP från K till S på port y 3/10-03 Distribuerade system - Jonny Pettersson, UmU 12 4
Brandväggar - Proxy Dynamisk brandväggskonfiguration Kan hantera protokoll som använder dynamisk porttilldelning Ingen säkerhet på applikationsnivå Öppna portar kan användas för något annat En proxy En gateway på applikationsnivån En klient ser den som en server En server ser den som en klient Säkerhet på applikationsnivån, bryter kommunikationslänken 3/10-03 Distribuerade system - Jonny Pettersson, UmU 13 Brandväggar - Firewall vs Proxy På transportnivån Packetfiltrerande router På applikationsnivån Proxy server För utgående trafik Relay host För inkommande trafik Oftast kallar man båda typerna för proxy 3/10-03 Distribuerade system - Jonny Pettersson, UmU 14 Brandväggar - Proxy-exempel K Fil x? Port z Skicka fil Fil x Proxy P på port 21, och dynamiskt på port z Fil x? Port y Skicka fil Fil x FTP-server S på port 21 Dynamisk server på port y 3/10-03 Distribuerade system - Jonny Pettersson, UmU 15 5
Brandväggar - Proxy (2) Endast applikationsdata passerar igenom Dynamiska portar kan inte användas för bus en känner till den äkta proxyn (Varför?) Exempel: HTTP utan proxy GET /fil.html HTTP-server S på port 80 3/10-03 Distribuerade system - Jonny Pettersson, UmU 16 Brandväggar - Proxy (3) Exempel: HTTP med proxy GET http://s.com/fil.html GET /fil.html HTTP-proxy GET http://t.com/kalle GET /kalle GET http://t.com/olle GET /olle HTTP-server S på port 80 HTTP-server T på port 80 En-till-många eller många-till-många kommunikation Därför måste klienten känna till proxyn 3/10-03 Distribuerade system - Jonny Pettersson, UmU 17 Brandväggar - Designmål 1. Brandväggen ska alltid vara uppe när nätverket är uppe 2. Brandväggen ska vara liten och enkel för rigorös kontroll 3. All trafik mellan in och ut måste passera brandväggen 4. Endast godkänd trafik ska släppas igenom - bestäms av säkerhetspolicyn 5. Brandväggen måste själv vara immun 6. Minimalt med tjänster, endast de nödvändiga 3/10-03 Distribuerade system - Jonny Pettersson, UmU 18 6
Brandväggar - Default behavior Två skolor: Allt som inte uttryckligen är förbjudet är tillåtet Allt som inte uttryckligen är tillåtet är förbjudet 3/10-03 Distribuerade system - Jonny Pettersson, UmU 19 Brandväggar - Olika tekniker För all trafik in och ut Servicekontroll Riktningskontroll Accesskontroll Uppförande- (behavior) kontroll Bastion Host En maskin som som innehåller en eller flera proxies En kritisk punkt i försvaret 3/10-03 Distribuerade system - Jonny Pettersson, UmU 20 Brandväggar - Konfigurering Proxyn sitter antingen i brandväggen eller i en DMZ (DeMilitarized Zone) Yttre nät Skyddat nät Brandvägg DMZ 3/10-03 Distribuerade system - Jonny Pettersson, UmU 21 7
Brandväggar - Konfigurering (2) Internet Packetfiltering router Webb servers Application servers Data First firewall layer Second firewall layer with load balancing Third firewall layer (e) A secure firewall system according to Wineasy Backend system 3/10-03 Distribuerade system - Jonny Pettersson, UmU 22 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) 3/10-03 Distribuerade system - Jonny Pettersson, UmU 23 Brandväggar - Begränsningar 1. Kan endast skydda mot attacker som går genom brandväggen 2. Skyddar endast mot externa hot 3. Webb-ifierade applikationer 4. Kan ej skydda mot malicious programs och virusinfekterade filer 3/10-03 Distribuerade system - Jonny Pettersson, UmU 24 8
Illvilliga program Bacteria Malicious programs Independent Needs host program Worms Viruses Trapdoors Logic bombs Replicate Non-replicate Trojan horses 3/10-03 Distribuerade system - Jonny Pettersson, UmU 25 Försvar mot illvilliga program Immunisering Scanners Checksummor Anti-virusprogram 3/10-03 Distribuerade system - Jonny Pettersson, UmU 26 Intrusion Detection Systems - IDS Det räcker inte med brandväggar All trafik går inte genom brandväggen Skyddar ej från hot inifrån Är ej immuna mot attacker Kan ej skydda mot tunnlade attacker IDS analyserar beteenden och mönster inom datorsystemet 3/10-03 Distribuerade system - Jonny Pettersson, UmU 27 9
IDS - Vad de gör? Letar efter tecken på intrång missbruk av resurser Görs genom att analysera information som samlas in från många ställen Assisteras av vulnerability assessment systems kollar efter fel i system och konfigureringsfel som kan utgöra säkerhetsrisker 3/10-03 Distribuerade system - Jonny Pettersson, UmU 28 IDS - Möjliga tjänster Övervakning och analys av användare och system Kontroll av systemets konfiguration och dess svagheter Integritetskontroll av kritiska filer och system Kollar efter mönster som liknar kända attacker Statistisk analys för att hitta onormala aktiviteter Kontrollerar loggar för att titta efter tecken på brott mot säkerhetspolicyn Automatisk installation av patchar Fällor för angripare 3/10-03 Distribuerade system - Jonny Pettersson, UmU 29 IDS - Metoder Passiva Kontroll av konfiguration, passwords o dyl Aktiva Kopiera kända attacker och kolla systemets respons Regelbundna kontroller Security baseline Differentialanalys 3/10-03 Distribuerade system - Jonny Pettersson, UmU 30 10
IDS - Begränsningar Svåra att ställa in Vad är ett onormalt beteende och vad är ett normalt False positives Alarm i rätt tid Finns det någon som lyssnar efter alarm Diagnos? - Vad ska man göra? Statiska (regelstyrda) eller AI 3/10-03 Distribuerade system - Jonny Pettersson, UmU 31 Nätverkssäkerhet - Nivå HTTP FTP SMTP TCP IP/IPSec HTTP FTP SMTP SSL or TLS TCP IP (a) Network level (b) Transport level Kerberos UDP S/MIME PGP SMTP TCP IP SET HTTP (c) Application level 3/10-03 Distribuerade system - Jonny Pettersson, UmU 32 IPSec Ramverk för krypterad IP Kryptering på IP-nivå Applikation TCP IP Applikation TCP IPSec Applikation TCP IP IPSec 3/10-03 Distribuerade system - Jonny Pettersson, UmU 33 11
IPSec - VPN Överallt Istället för SSL, SSH, kryptering i applikation Bland annat för VPN (Virtual Private Network) 3/10-03 Distribuerade system - Jonny Pettersson, UmU 34 IPSec - Består av vad? Inte en standard - utan en uppsättning standards Bland annat: IP Authentication Header(AH) Integritet och autenticering av data Encapsulation Security Payload (ESP) Konfidentialitet, integritet och autenticering av data Internet Key Exchange (IKE) Nyckelhantering Internet Security Association and Key Management Protocol (ISKMP) Procedurer för att sätta upp/riva ned säkerhetskopplingar Algoritmer för autenticering och kryptering 3/10-03 Distribuerade system - Jonny Pettersson, UmU 35 IPSec - Implementation Hur kan man implementera IPSec? IPSec aware IPSec aware Antingen i värddatorn (host:en) eller i routern (secure gateway) Transprort och/eller tunnling 3/10-03 Distribuerade system - Jonny Pettersson, UmU 36 12
IPSec - Operation modes Transport: Modifiera IP-Paket IP HDR UDP/TCP + DATA IP HDR IPSec HDR UDP/TCP + DATA Encrypted Tunnling: Paketera IP-paket IP HDR UDP/TCP + DATA New IP HDR IPSec HDR IP HDR UDP/TCP + DATA Encrypted 3/10-03 Distribuerade system - Jonny Pettersson, UmU 37 IPSec - Slutord Implementerat på IP Måste kunna IPv4 och IPv6 Nyckeldistribution - Ej hårt specat Manuellt Automatiskt (Publika nycklar) Kerberos-style Mer info RFC 2401 - RFC 2411 och RFC 2451 3/10-03 Distribuerade system - Jonny Pettersson, UmU 38 SSL - Secure Socket Layer Ett protokoll utvecklat av Netscape för kommunikation mellan två parter Applikation TCP IP Applikation SSL TCP IP Skapar en ny gränsyta för programmeraren. Lägger på ett nytt socketlager på existerande, uppkopplade, sockets 3/10-03 Distribuerade system - Jonny Pettersson, UmU 39 13
SSL SSL utnyttjar asymmetrisk kryptering för att överföra en symmetrisk sessionsnyckel Antingen klienten eller servern, eller båda, eller ingen, kan ha ett certifikat Ett servercertifikat försäkrar klienten att den talar med rätt server Ett klientcertifikat försäkrar servern att den talar med rätt klient SSL utan certifikat skyddar mot avlyssning, men ej mot impersonation 3/10-03 Distribuerade system - Jonny Pettersson, UmU 40 SSL - Centrala begrepp SSL connection En uppkoppling mellan två parter Varje SSL connection är associerad till en SSL session SSL session Mellan en klient och en server Definierar en uppsättning säkerhetsparametrar Dessa parametrar kan delas av många SSL connections 3/10-03 Distribuerade system - Jonny Pettersson, UmU 41 SSL - Protokoll SSL består av fyra olika protokoll ordnade i två lager SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol HTTP SSL Record Protocol TCP IP 3/10-03 Distribuerade system - Jonny Pettersson, UmU 42 14
SSL - Change Cipher och Alert SSL Change Cipher Spec Protocol Består av endast ett meddelande, en byte med värdet 1 SSL Alert Protocol Används för att skicka larm till motparten Tvåbytes Allvarlighet - warning eller fatal (avbryter) Typ av alarm 3/10-03 Distribuerade system - Jonny Pettersson, UmU 43 SSL Handshake Protocol Används före något data kan skickas Autenticering av klient och server Förhandling om vilka nycklar och vilka krypteringsoch MAC-algoritmer som ska användas Protokollet består av ett antal meddelanden med tre fält Typ (1 byte) Längd (3 byte) Innehåll(> 0 byte) 3/10-03 Distribuerade system - Jonny Pettersson, UmU 44 SSL Handshake Protocol (2) ClientHello ServerHello Establish protocol version, session ID, cipher suite, compression method, exchange random values Certificate Certificate Request ServerHelloDone Optionally send server certificate and request client certificate Client Certificate Certificate Verify Server Send client certificate response if requested Change Cipher Spec Finished Change cipher suite and finish handshake Change Cipher Spec Finished 3/10-03 Distribuerade system - Jonny Pettersson, UmU 45 15
SSL Record Protocol Application data abcdefghi Fragment/combine Record protocol units Compress Compressed units Hash MAC Encrypt Encrypted Transmit abc def ghi TCP packet SSL Record Format Header med innehållstyp, versionsnummer och innehållslängd Krypterat innehåll inkl MAC 3/10-03 Distribuerade system - Jonny Pettersson, UmU 46 SSL och säkerhet SSL ger skydd mot avlyssning SSL ger inget skydd på servern SSL borde ge autenticering, men gör inte alltid det Vid e-handel med kreditkort är det banken som ger säkerheten 3/10-03 Distribuerade system - Jonny Pettersson, UmU 47 SSL - Slutord Hur får man tag på SSL? RSA (kommersiellt): www.rsasecurity.com/standards/ssl/developers.html OpenSSL (fritt): www.openssl.org HTTP + SSL = HTTPS Exakt samma protokoll, men ett nytt transportlager Slutligen: SSL -> TLS SSL befinner sig nu i v3.0 TLS (Transport Layer Security) v3.1 (RFC 3546) Ej helt kompatibla 3/10-03 Distribuerade system - Jonny Pettersson, UmU 48 16
Kerberos Kerberos är ett identifieringssystem Bygger på Needham-Schroeders nyckeldistribution för symmetriska nycklar Skapades på MIT på 80-talet web.mit.edu/kerberos/www Koden är öppen Finns i många kommersiella produkter 3/10-03 Distribuerade system - Jonny Pettersson, UmU 49 Kerberos - Frågor Hur kan en dator försäkra sig om att den kommunicerar med en viss dator? Hur kan en dator försäkra sig om att den kommunicerar med en viss användare på en annan dator? Hur vet användaren att den kommunicerar med rätt dator? 3/10-03 Distribuerade system - Jonny Pettersson, UmU 50 Kerberos - Distribuerad autent. Distribuerad autenticering à la Kerberos: X 1. Request for TGS ticket 2. Ticket for TGS 6 3. Request for Server ticket 4. Ticket for Server 5. Request for service 6. Authenticate Server (optional) 1 2 3 4 5 Authetication service Ticket granting service Server Key Distribution Centre 3/10-03 Distribuerade system - Jonny Pettersson, UmU 51 17
Kerberos - Ticket request X 1 Authetication service en skickar Vem den är (användarid) Vem den vill ha ticket till Nonce (tidsstämpel och skydd mot replay) 3/10-03 Distribuerade system - Jonny Pettersson, UmU 52 Kerberos - Ticket response X 2 Authetication service Sessionsnyckel K C,TGS för att kommunicera med TGS + nonce, alltsammans krypterat med K C,AS, en nyckel som klienten känner till genom sitt password! En ticket T C,TGS som används för att bevisa för TGS att klienten är den som den säger att den är. Krypterat med K AS,TGS, en nyckel som AS och TGS känner 3/10-03 Distribuerade system - Jonny Pettersson, UmU 53 Kerberos - En biljett Vad innehåller en biljett? Namnetpåservern Namnetpåklienten Adressen till klienten Tidsstämpel Giltighetstid Sessionsnyckel 3/10-03 Distribuerade system - Jonny Pettersson, UmU 54 18
Kerberos - Server ticket request X 3 Ticket granting service en skickar En authenticator (namn, adress, tid) krypterad med K C,TGS Vem den vill ha ticket till (S) Biljetten, T C,TGS, krypterad med K AS,TGS Nonce 3/10-03 Distribuerade system - Jonny Pettersson, UmU 55 Kerberos - Server ticket X 4 Ticket granting service TGS returnerar, om authenticatorn stämmer Sessionsnyckel K C,S för att kommunicera med S + nonce, alltsammans krypterat med K C,TGS En ticket T C,S som används för att bevisa för S att klienten är den som den säger att den är. Krypterat med K TGS,S, en nyckel som TGS och S känner 3/10-03 Distribuerade system - Jonny Pettersson, UmU 56 Kerberos - Request for service X 5 Ticket granting service en skickar Authenticator krypterad med K C,S Biljetten, T C,S, krypterad med K TGS,S Nu kan S vara säker på att C är C 3/10-03 Distribuerade system - Jonny Pettersson, UmU 57 19
Kerberos - Mutal authentication 5 X 6 Server en skickar Authenticator krypterad med K C,S Biljetten, T C,S, krypterad med K TGS,S Timestamp Servern svarar med timestamp+1, krypterat med K C,S Nu vet C att S är S 3/10-03 Distribuerade system - Jonny Pettersson, UmU 58 Kerberos - Fördelar Inga lösenord skickas i nätet! Kryptografiskt skydd mot spoofing Ticket-system - Tidsbegränsad åtkomst Tidsangivelser i meddelanden - Skydd mot återuppspelning Ömsesidig autenticering 3/10-03 Distribuerade system - Jonny Pettersson, UmU 59 Kerberos - Nackdelar Kräver att TGS alltid finns tillgänglig Kräver att servrarna litar på varandra Tidssystemet har brister Man kanknäckalösenordetoff-line Skalar dåligt Är en allt-eller-inget-lösning 3/10-03 Distribuerade system - Jonny Pettersson, UmU 60 20
Sammanfattning Nätverkssäkerhet Attacker Brandväggar Illvilliga program Intrusion Detection Systems Säkerhetsprotokoll IPsec SSL Kerberos 3/10-03 Distribuerade system - Jonny Pettersson, UmU 61 Nästa gång Nätverkssäkerhet Säkerhetsprotokoll 3/10-03 Distribuerade system - Jonny Pettersson, UmU 62 21