Archive for the 'virtualisering' kategorien

VMware raske veien Versus Slow Sti Brannmurer

30 august 2010

Mange av oss jobber nå med virtuelle brannmurer. Jeg gjorde et tidligere innlegg om styrker og svakheter av sikkerhet innen den virtuelle verden , men i dag vil jeg snakke om brannmursystemer muligheter med VMware. Det har vært mye spenning om VMwares relativt ny VMsafe API . Spesielt er alle desperat å opprette / distribuere raske veien brannmurer. Men er alle raske veien implementasjoner skapt like? Er det trygghet bekymringer med å gå med en rask bane løsning? La oss dykke i og se.

Fordeling av VMsafe

Med utgivelsen av VMsafe sikkerhets-API, har VMware forbedret de tilgjengelige alternativene for å implementere sikkerhet innen en vSphere miljø ved å tillate leverandører å plugge rett i hypervisoren i ring 0. VMsafe består av tre komponenter:

  • VDDK - Disk blokk inspeksjon. API har blitt offentlig utgitt.
  • vCompute - CPU og minne API. Har ikke blitt offentliggjort. Ukjent som tredjemann har tilgang til, hvis noen.
  • vNetwork - API å overvåke / filter mellom vNIC og vSwitch. Har ikke blitt offentliggjort. Til vidt jeg vet, bare Altor Networks & Reflex Systems har tilgang (to leverandører som bistått i utviklingen av API).

Spesielt ønsker jeg å tale til vNetwork API. Ved kontroll nett trafikkflyten innenfor en ESX host, er det to mulige implementering, "slow path" og "rask sti".

Slow Sti

Slow banen er det enkleste gjennomføringen og den vi har brukt i årevis. Effektivt dette er bare en VM gjest, lik alle andre VM gjest, kjører på ESX host. Vanligvis hver gjest er koblet til en unik vSwitch, og hver av disse vSwitches er koblet til en unik vNIC på brannmuren. Dette ligner på en arv brannmur oppsett, men implementert nesten. Fordelen med å gjennomføre i sakte sti er at du kan kjøre en full blåse OS med noen biblioteker eller tjenester som kreves for å støtte brannmuren.

Rask Sti

Fast bane er effektivt en ring 0 driver som plugges direkte inn i hypervisoren kjernen. Dette gjør at en tredjepartsleverandør for å utnytte hypervisor for innsetting mellom hver vNIC / vSwitch tilkobling. Fordi en rask sti sjåfør kjører i kernel sammenheng, legger det minimal overhead til systemet. Resultatet er kode innen raske veien er betydelig raskere enn samme kode blir utført innen treg sti (derav VMware navnekonvensjon for hver sammenheng). Belastning på ESX host er minimert, slik at sluttresultatet er at du kan kjøre langt flere virtuelle gjester.

Rask Vs Slow

Så det høres ut som du ønsker å gjøre alt innenfor raske veien, men det er en rekke problemstillinger. Fast bane er en kernel driver plugge inn i en minimert hypervisor, ikke en full blås operativsystem. Dette begrenser bibliotekene og tjenestene brannmuren har tilgjengelig for å kontrollere trafikkflyt. Videre er vi plugge inn en kernel driver så det må være forsikringer om at det ikke bloat den hypervisor, øke angrepsflaten eller forstyrre andre hypervisor funksjoner. VMware utfører en kode gjennomgang på alle raske veien sjåfører før utgivelse. Så hvis jeg kunne teoretisk implementere all min kode i rask sti, vil jeg trenge VMware godkjenning før hver patch eller funksjon release.

Med dette i bakhodet, er en leverandør som hevder "raske veien" støtte faktisk kommer til å ende opp med å implementere en del av koden sin så fort sti, en del som langsom bane, og deretter opprette en kobling mellom de to. Hvor mye belastning på systemet vil avhenge av hvor mye av denne koden er implementert i raske veien og hvor mye av det er kjørt i sakte banen.

Mulige raske veien Utplasseringer

For eksempel kan en leverandør velge å skrive en rask sti driver som bare tunneler alle pakker tilbake til en langsom vei implementert brannmur. Den langsomme veien kode avgjør deretter om trafikken skal videreformidles eller droppet, med bestått pakker blir sendt tilbake til den raske veien koden for innsetting i hypervisoren kontroll kanalen. Selv om dette ville være den enkleste metoden for distribusjon raske veien, og uten tvil den tryggeste og mest sikre, ville det gi minst ytelse fordeler. System last ville sannsynligvis ikke være mye bedre enn en full treg sti gjennomføring. Jeg ser dette alternativet som meget attraktive for arv brannmurforhandlere, da det ville kreve minst mulig endring av eksisterende kode mens de fortsatt å kunne hevde "fast sti support".

Et annet alternativ ville være å bruke den langsomme veien plass til administrative funksjoner med den raske veien driveren fungerer som brannmur motoren. Så for eksempel brannmuren administrator vil skape politikken med et grensesnitt som kjører på en langsom sti VM, som da ville presse politikken ned til en rask sti driver. I dette oppsettet den raske veien sjåføren har en kopi av politikken slik at trafikk-kontroll kan iverksettes umiddelbart. Resultatet er raskere trafikk håndtering med minimal system belastning. Handelen off er bulkier kode i ring 0.

Det er også mulig å implementere en blanding av de to. For eksempel kan jeg bruke den raske veien sjåføren å gjennomføre brannmur policy, men da passere alle "akseptert" pakker tilbake til den langsomme veien system for inntrenging sjekking, er virus scanning, eller hva som trengs. Akseptable pakkene blir deretter sendes tilbake til den raske veien driveren for innsetting. Så i dette oppsettet alle "droppet" pakker håndteres via raske veien, mens aksepterte pakker samhandle med en langsom bane komponent.

Som en side notat, må du holde de ovennevnte info i tankene når de vurderer alle vNetwork implementeringer, ikke bare brannmurer. Den vNetwork API kan også brukes for håndhevelse, QoS, samling av nettverk statistikk, etc. For eksempel den aller første vNetwork implementeringen var faktisk VMwares Lab Manager. Dette verktøyet brukes for selvbetjening klargjøring og ikke inneholder en brannmur komponent (dette er implementert via VShield).

Oppsummering

Mens en VMware produkt som integreres med VMsafe kan strengt tatt være en "slow sti" gjennomføring, er det svært usannsynlig at et produkt kan betraktes bare en "rask sti" gjennomføring. Eventuelle raske veien produkt er mest sannsynlig kommer til å bli en hybrid. Det er bare et spørsmål om hvor mye kode finnes i "raske veien" plass versus "langsomme banen" plass. Når et produkt hevder rask sti-støtte, må du grave litt dypere for å analysere gjennomføringen for å identifisere noen reell ytelse fordeler.

Er Virtualisert Systems Mer eller mindre sikker?

18 mai 2010

Jeg har hatt ovenfor spørsmålet nok ganger at jeg følte det verd et blogginnlegg. Mens noen få år tilbake svaret kan ha blitt "mindre sikker", i dag er svaret "begge". Jeg vet, høres ut som Chris være uforpliktende, men det svaret egentlig ikke beskrive mest nøyaktig den nåværende tilstanden av teknologien.

Virtualisering forandrer alt

Jeg har hørt noen folk bemerke at virtualisering er i ferd med å påvirke industrien på samme måte at Internett gjorde på 90-tallet. For å være ærlig, tror jeg det er fortjent i den mening. På begynnelsen av 90-tallet de fleste folk kjørte IPX, AppleTalk, NetBUI og en mengde andre protokoller på lukkede nettverk. Ved slutten av 90-tallet ble de fleste folk kjører IP utelukkende med tilkobling til hele verden. Måten vi gjorde forretninger, samt måten vi brukt sikkerhet, fullstendig forandret i løpet at 10 år. Både nettverksadministrasjon og sikkerhet ferdigheter som var cutting edge i 1990 var alle, men ubrukelige innen 1999.

Virtualisering er i ferd med å rampen opp til å ha samme innvirkning på bransjen. Virtualiseringsdistribuering krever en fullstendig gjennomtenkning av hvordan du søker sikkerhet. Tilbake på 1990-tallet, fikk admins som rett og slett koblet til Internett, uten hensyn til hvordan dette ville påvirke deres nettverk, brent big time. Vi er kø for å se et lignende utfall som folk vedta virtualisering.

Hva gjør Virtualisering mindre sikker

Achilles hæl av virtualisering er i selve programvaren. Vi håper vi kan stole på programvaren for å holde gjest systemene fra hverandre, samt vert og / eller hypervisor. Det er to store problemer med denne forventningen:

  1. Ingen programvare er feilfri
  2. Software kan være feilkonfigurert

For noen år tilbake kjerner Forskning viste at de kunne bryte ut av en gjest og få full kontroll over host OS . Mens en hypervisor er ment å begrense den type eksponering, har vi faktisk sett tilfeller der selv hypervisoren har blitt forbigått . Vi har selv sett tilfeller var programvaren blir utnyttbare bare når det kjøres i et virtualisert miljø . Disse lenkene viser et lite tverrsnitt av virtualisering problemene som har blitt oppdaget de siste årene. Google kan gi deg en mer komplett liste hvis du er interessert.

Så en forsvarlig sikkerhet faglig kommer til å være forsiktig med blindt å stole programvare for å være sikre. Problemet er leverandørene ikke alltid tar den samme tilnærmingen. Ta VMware med sin ESX (snart ESXi) produktet som et eksempel. Mange av oss var forbløffet når en VMware representant annonsert på CanSecWest at det var teoretisk umulig å angripe ESX hypervisor . Når vi bare anta noe er ubrytelige, er noen mer kreative kommer til å finne ut en måte å slå gjennom .

En av mine største bekymringer med ESX / ESXi er at VMware har utviklet det å være modulært (via VMSafe ). På pluss-siden, betyr dette at eksterne leverandører kan lage produkter for å bidra til å forbedre hypervisor funksjonalitet og sikkerhet. På nedsiden Dette øker sjansene for dårlig kode bli introdusert som kan kompromittere sikkerheten.

Vi har sett et godt eksempel på dette i det siste. Marcus Ranum skapte Gauntlet brannmur, som den gang var en av de mest sikre og sparke rumpe sikkerhet enheter tilgjengelig. Når tre brev byråer ønsket den beste sikkerheten, vendte de til Gauntlet. Marcus solgt Gauntlet til Network Associates (senere ble McAfee) som straks begynte å legge på funksjoner. Det var ikke lenge før en jevn rekke sårbarheter ble oppdaget, hver introdusert av disse nye "funksjoner". Derfra produktet mistet sin trygghet cred og skled ut av radar.

Nå er det absolutt mulig å legge til funksjoner og holde ting sikkert. Den FreeBSD folk er et utmerket eksempel på hvordan du gjør dette riktig. For å sikre sikkerheten de opprettholde en meget streng auditeringsprosess . Er den perfekt? Absolutt ikke, men deres auditeringsprosess har satt standarden for sikker programvare gjennomføring. Med litt hell VMware vil gjøre lignende, men jeg har ikke hørt noen buzz om dette blir tilfelle.

Komme Your Head Rett

OK, så vi kan ikke blindt stoler på virtualisering programvare for å holde angriperne i sjakk. Vi kan imidlertid fortsatt ta forholdsregler for å minimere virkningen hvis det verste skjer. En av de største skritt du kan ta er å nøye vurdere hvilke servere blir vertskap, og hva andre gjest systemer er tillatt å kjøre på samme boks. Sikkerhetssonen Begrepet brukes av nettverk arkitekter er like aktuelt her.

En sikkerhetssone er rett og slett en samling av systemer som deler den samme relative nivå av risiko. For eksempel Web, og SMTP-servere er vanligvis alt ligger på en DMZ, fordi de alle deler tilsvarende risiko fra direkte angrep. På den interne delen av nettverket, er stasjonære vanligvis plassert i en annen sikkerhetssone enn servere. Dette er fordi serverne har liten eller ingen tilgang til Internett mens stasjonære er som regel lov til å kommunisere direkte. Dette plasserer skrivebordene høyere risiko for angrep enn servere.

Vi kan bruke den samme logikken når implementere virtualisering. En DMZ server og en intern server bør ikke være gjester på den samme maskinvaren (både CPU og disk array). Gjør du det kan gi en angriper å lage en alternativ rute til nettverket vårt. Snarere enn å måtte passere gjennom en brannmur, NIDS, nips, etc. enheter som har vært utplassert på ledningen, kan en angriper kan få tilgang til interne ressurser via virtualisering programvaren. Er det en enkel angrep? Ikke fra det vi har sett så langt. Funksjonell utnytter har blitt oppdaget imidlertid så hvorfor introdusere unødig risiko hvis vi ikke må.

Forresten, bør de samme sikkerhetssone regler skal anvendes til virtualiserte nettverk gear. For eksempel er det en dårlig idé å bruke de samme fysiske bryteren til VLAN DMZ og det interne nettverket. Jeg har sett et par kunder får whacked den måten.

Hva gjør Virtualisering More Secure

Heldigvis, fra et sikkerhetsperspektiv, er virtualisering ikke alle dårlige nyheter. Faktisk er det noen veldig kule sikkerhetsrutiner kan du søke i et virtualisert miljø som du bare ikke kan klare seg uten det. Dette var en av grunnene til at vi begynte å bruke virtualisering innen Honeynet så tidlig som 2000.

En av de største sikkerhetsproblemene vi står overfor i dag er kjernen nivå rootkits . Hva gjør dette stamme av malware så lumske det blir effektivt selve operativsystemet til malware. Dette gjør påvisning ekstremt vanskelig, som alle sikkerhetskontroller må passere gjennom kjernen. Hvis kjernen i seg selv er kompromittert, kan vi ikke stole på kjernen til nøyaktig rapport sikkerhetsinformasjon. Vi ender opp med å måtte nedleggelse systemet, montere harddisken på en kjent for å være ren OS, og utfører våre rettsmedisinske sjekker derfra. Å selvfølgelig problemet med denne prosessen er at den ikke skalere godt. Hvis vi har dusinvis eller hundrevis av servere, det er rett og slett ikke nok tid på en dag for å sjekke dem alle riktig.

Som nevnt tidligere, er VMware nå tillater tredjeparts leverandører tilgang til hypervisoren API via VMSafe. Dette tillater tilgang til privilegert tilstand informasjon, for eksempel minne og nettverkstrafikk, på hver av gjesten OSS. Ved å plugge inn i hypervisor, noen ekstremt kule sikkerhetsalternativer blitt mulig.

For eksempel la oss si en gjest OS er angrepet av en kjerne nivå rootkit. Ved å analysere gjest minnet, kan rootkit bli oppdaget fra utsiden av det virtuelle operativsystemet. Når du utfører kontrollene via hypervisor, er det langt mindre sjanse for at en rootkit kan stealth sine aktiviteter og gå ubemerket. Som nevnt tidligere, er det ingen tilsvarende alternativ med et ikke-virtualisert system.

API plug skaper også nye muligheter for å håndtere kryptert trafikk. Når ende til ende kryptering er ansatt (som en VPN), nettverk basert kontroller av applikasjonslaget er lett forbigått. Din eneste reelle alternativet var å kjøre agenten programvare på endepunktet, kunne så sikkerheten skal gjennomføres etter dekryptering prosessen. Selvfølgelig problemet her er at hvis agenten blir angrepet, alle spill off. Igjen, ved å plugge inn i hypervisoren er vi i en bedre posisjon til mer trygt granske disse dataene.

Vi er bare å begynne å se nye produkter som utnytter VMSafe API pluggen . Siden alle produktene er relativt nye, er juryen fortsatt ute på hvor effektive de kan være. Tilbudene kjøre gambit fra å erstatte host basert brannmur og IDS beskyttelse til fullstendige retningslinjer håndheving. Det vil være interessant å se hvordan dette produktet nisje rister ut over neste år.

Oppsummering

Så som jeg nevnte i begynnelsen av dette innlegget, har virtualisering evnen til å gjøre miljøet mer eller mindre sikker, avhengig av hvordan du distribuerer det. Hvis du bare begynne å kjøre alt på en enkelt boks, er du sannsynligvis kommer til å få whacked. Hvis du utvide beste praksis som er utviklet gjennom årene inn i virtualisering riket, samt utnytter noen av de nye sikkerhetsfunksjonene som blir frigitt, kan du faktisk lage en bedre totale sikkerheten holdning.