cryptography and network security
DESCRIPTION
Cryptography and Network Security. Fourth Edition by William Stallings Lecture slides by Lawrie Brown. Brannvegger. Hensikten med å ha en sterk posisjon er å gjøre styrkene i praksis uangripelig — On War, Carl Von Clausewitz. Introduksjon. Vi har sett en evolusjon i informasjonssystemer - PowerPoint PPT PresentationTRANSCRIPT
1
Cryptography and Network Security
Fourth Edition
by William Stallings
Lecture slides by Lawrie Brown
2
Brannvegger
Hensikten med å ha en sterk posisjon er å gjøre styrkene i praksis uangripelig
—On War, Carl Von Clausewitz
3
Introduksjon
• Vi har sett en evolusjon i informasjonssystemer• Alle kan være på nett • Og alle kan ha gjensidig forbindelse på Internett • Det har vært et uavbrutt sikkerhetsproblem
– Det er ikke lett å sikre systemer i en organisasjon
• Man må satse på en så liten skade som mulig • En brannvegg er vanligvis en del av et
sikkerhetssystem
4
Hva er en brannvegg?
• Et punkt som gir mulighet for kontroll og overvåkning
• Samkjører nettverk med forskjellige rettigheter og tilgang
• Legger restriksjoner på nettverkstjenester– Bare autorisert trafikk er tillatt
• Gir mulighet for auditing og kontroll av brukere og tjenester– Kan implementere alarmer for unormal atferd
• Er i utgangspunket immun for inntrengning• Gir sikkerhet for et angitt område
5
Begrensninger i en brannmur
• Kan ikke gi beskyttelse for de som omgår brannmuren– Dvs fysisk inntrengere, modembruk, organisasjoner
som man stoler på, tjenester som man stoler på (SSL/SSH)
• Gir ikke beskyttelse mot interne trusler– Dvs utilfredse og hevngjerrige ansatte
• Gir ikke beskyttelse mot overføring av virusinfiserte programmer eller filer– Dette skyldes det store antall og forskjeller i viruser
for ulike OS
6
Brannmur – pakkefiltrering
7
Brannvegger – Pakkefiltrering
• Den enkleste av alle komponenter • Grunnlaget for alle brannmursystemer • Undersøker hver IP-pakke og gir
tillatelse eller nekter ut fra gitte regler • Ut fra dette kan man begrense aksess til
gitte servicer eller porter• Mulige standard-policier:
– Det som ikke er tillatt er forbudt – Det som ikke er forbudt er tillatt
8
ACK• Den mest brukte protokollen TCP/IP har det som heter ACK pakker. • Disse pakkene fungerer som kvitteringspakker for at alt var OK med
datapakken. • En enkel illustrasjon kan være slik. • Du sender en pakke til en annen datamaskin og venter på at mottaker skal
bekrefte at alt er OK. • Det mottakeren gjør når den mottar pakken din er å sjekke om den er
korrekt (d.v.s. om det har oppstått feil underveis el.l.) og sender en ACK pakke tilbake.
• ACK pakken betyr "alt greit med pakken, jeg er klar til å motta neste pakke". • Hvis du aldri får den ACK pakken sender maskinen din den på nytt etter en
liten stund. • På denne måten blir det sikret at dataene kommer intakt frem til mottaker.
Som du sikkert forstår så resulterer dette i trafikk begge veier. • Når du laster ned data fra en server må du også sende tilbake ACK pakker • Selvfølgelig er ikke ACK pakkene så store som selve datapakkene noe som
gjør at du ikke merker de før du bruker linjen 100%.
9
Brannmur– Pakkefilter
10
Angrep på pakkefiltere
• IP address spoofing– Fake (etterligne) kildeadresser slik at de blir godtatt– Legger på filter på rutere som egentlig skal blokkere
• Angrep på ruterkildene– Den som angriper setter opp en rute som avviker fra
hoved(standard)-ruten– Blokkerer pakker fra hoved(kilde)-ruteren
• Svært små angrep– Deler opp headeren over flere små pakker– Enten forkastes eller så settes sammen før en reell
sjekk av pakkene
11
Brannmurer – Strategisk Pakkefiltrering
• Undersøker hver IP-pakke ut fra sammenhengen den er i– Beholder ruten (route) mellom klient og server– Sjekker gyldigheten til hvor hver pakke hører
til
• Det er best å oppdage falske pakker ut fra den konteksten de hører til
12
Applikasjonsnivå-brannmurer (eller Proxy- brannmurer)
• Applikasjonsnivå-brannmurer er i hovedsak maskiner som kjører proxy-servere som tillater ingen trafikk direkte mellom nettverkene.
• Applikasjonsnivå-brannmurer utfører grundig overvåking og logging av trafikken som passerer mellom nettverkene.
• Brannmurer på applikasjonsnivå kan brukes til adresseoversettere, fordi trafikk kommer inn på den ene siden, går ut på den andre etter å passert en applikasjon som maskerer avsender til opprinnelig aktør.
• En slik applikasjon kan i noen tlfeller redusere ytelse og kan gjøre brannmuren mindre transparant.
• Tidlige slike brannmurer (f.eks. basert på "TIS firewall toolkit") var ikke særlig transparante.
• Moderne applikasjons-brannmurer er ofte helt transparante. • Slike brannmurer kan gi mer detaljert loggrapporter og kan
implementere mer konservative sikkerhetsmodeller enn brannmurer på nettverksnivå.
13
Applikasjonsnivå-brannmurer
• Benytter en applikasjons-spesifikk gateway / proxy
• Har full aksess til protokoller– Bruker anmoder om en viss tjeneste fra proxy – proxy godkjenner forespørselen som riktig – Deretter iverksettes forespørselen og returnerer
svaret til brukeren • Man trenger atskilte proxies for hver tjeneste
– Noen tjenester gir alltid support til proxying – Andre er mer problematiske – Spesifikke tjenester er normalt ikke støttet
14
Brannmur – Applikasjons-nivå
15
Brannvegger - nettverksnivå gateway
• Nettverksnivå-brannmur tar i hovedsak sine beslutninger basert på avsender, mottaker og portnummer i de enkelte IP-pakkene.
• En enkel ruter er den tradisjonelle nettverksnivå-brannmur siden den ikke kan ta avanserte beslutninger om hva en pakke faktisk er ment for eller hvor den faktisk kommer ifra.
• Moderne nettverks-brannmurer har blitt mer og mer avansert, og kan nå vedlikeholde intern informasjon om tilstanden til forbindelser som går igjennom dem, innholdet til noen av datastrømmene og så videre.
• En viktig ting med denne typen brannmur er at den ruter trafikk direkte gjennom seg, så den må ha en valid IP adresseblokk.
• Brannmurer på nettverksnivå er gjerne svært raske og svært transparante.
16
Brannvegger – nettverksnivå (forts)
• SOCKS er en åpen standard for en type "circuit-level" proxybrannmur og er tilgjengelig i RFC1928
• Teknisk sett så fungerer det slik at klienten (A) isteden for å koble seg direkte til et annet punkt (B) kobler seg til systemet proxyserveren kjører på (C)
• For (B) vil det se ut som forbindelsen kommer fra proxyserveren (C) og den vil aldri se (A), og heller ikke få mulighet til å snakke direkte med (A), alt vil gå igjennom (C).
17
Nettverksnivå brannmurer - gateway (forts)
18
Brannvegger – nettverksnivå (forts)
• Relayer (sender videre) til TCP-forbindelser• Sikkerheten avgjøres og begrenses av hvilke
slike forbindelser som er tillatt• Når en tjeneste er brukt og godkjent en gang vil
en slik tjeneste bli relayet uten å undersøke innholdet mer
• Typisk brukt på indre brukere slik at de får tilgang ut av det lokale nettverket
• SOCKS er vanligvis brukt til dette
19
Bastion Host
• Gir høy sikkerhet for host system • Potensielt utsatt for fiendtlige
elementer/angripere • Er derfor sikret for å kunne motstå angrep • Kan gi støtte til 2 eller flere nettforbindelser• Kan bli gitt tillit (trust) slik at man kan ha tiltrodd
deling mellom to nettverksforbindelser• Bruker nettverks/applikasjons-nivå gateways • Kan også gi ekstern forbindelse til tjenester
20
Brannmur konfigurering
21
Dual-homed gateway
• Applikasjon-brannmur: I dette eksemplet (se neste ark) er det en applikasjonsnivåbrannmur kalt "dual homed gateway".
• En "dual homed gateway" er en særlig sikret maskin som kjører proxy-programvare.
• Den har to nettverksgrensesnitt - en til hvert nettverk, og blokkerer all trafikk som går igjennom den.
22
Dual-homed gateway (forts)
23
Screened subnet firewall system
• Eksempel på nettverksnivå-brannmur: • I dette eksemplet står en brannmur kalt
"screened subnet firewall" (kontrollert subnett-brannmur).
• I dette tilfellet er det et helt subnett som beskyttes av en brannmur som opererer på nettverksnivå.
• Det er lik "a screened host" - untatt at det er et nettverk av "screened hosts".
24
Screened subnet firewall system(forts)
25
Screened subnet firewall system(forts)
26
Tilgangskontroll
• Vi antar at et system har identifisert en bruker • Så avgjøres hvilke ressurser brukeren kan ha
tilgang til• Vanlige modeller for tilgang er:
– subjekt – aktivt system (brukere, prosesser, programmer)
– objekt – passivt system (filer eller ressurser) – tilgangsrettighet – måten man kan få tilgang på til et
objekt
27
Tiltrodde (trusted) datasystemer
• Informasjonsikkerhet er av stadig større viktighet • Man har ulike grader på hvor viktig informasjonen er
– Kfr militær klassifisering: konfidensiell, hemmelig o.s.v.
• subjekter (brukere eller programmer) har forskjellige rettigheter med tanke på å ha tilgang til ressurser
• Det er forskjellige måter å øke konfidensialitet i et system for å påtvinge visse rettigheter
• Dette kaller vi multinivå-sikkerhet– Subjekter har maksimum og gyldig sikkerhetsnivå – Objekter har et gitt sikkerhetsnivå ut fra gitte bestemmelser
28
Bell LaPadula (BLP) modell
• En av de mest berømte sikkerhetsmodellene• Blir implementert som en pålagt policy i et
system • Har to nøkkel policier: • no read up (enkel sikkerhetsegenskap)
– En bruker kan bare ha rett til å lese/skrive til et objekt bare hvis en bruker har read/write til et objekt eller objekter under
• no write down (*-egenskap)– En bruker kan bare skrive til et objekt hvis det
gjeldende sikkerhetsnivå til brukeren er bestemt av objektets sikkerhetsnivå
29
Vurdering av datasystemer
• Offentlige myndigheter kan vurdere datasystemer mot gitte standarder:– IPSEC og felles gitte kriterier
• Definerer et antall nivå for vurdering som øker med graden av sikkerhetskrav
• Utgir lister med vurderte produkter– Tenkt brukt til offentlige formål (Datatilsynet)– Men brukes overalt