290 likes | 377 Views
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
E N D
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 • 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
Hva er en brannvegg? • Et punkt som gir mulighet for kontroll ogovervå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
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
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
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%.
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
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
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å.
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
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.
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).
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
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
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.
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".
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
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
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å
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