Vigilante: End-to-End Containment of Internet Worms OS Seminar, DIKU efterår 2005. Præsentation af Troels Larsen.

Slides:



Advertisements
Lignende præsentationer
Parameteroverførsel i OIM Mellem portal og serviceprovider.
Advertisements

NemID og Fællesskema 2014 v/Signe Hansen Blegmand
Første gang du logger på, skal du bestille ny adgangskode her
Klik på Aktivér redigering på meddelelseslinjen.
Videregående pc-vejledning Modul Sik: Sikkerhed Lidt om antivirusprogrammer mm. 60+Bornholm.
Next Generation Operations Management AutoNOC 2. AutoNOC 2 Business fordele.
1 Problemkompleksitet 2 Problemers kompleksitet En ineffektiv algoritme: køretiden vokser eksponentielt med input- størrelsen Et problem, der ikke kan.
Moderne genteknologi Celler som fabrikker.
Klik på Aktivér redigering i meddelelseslinjen, Hvis videoerne i kurset ikke afspilles, skal du måske hente QuickTime eller blot skifte til PowerPoint.
Bekæmpelse af orme-angreb med Network Virus Wall.
REGISTRERINGSDATABASEN
– Sådan virker det! Dit elektroniske postsystem Ved Arne Crown Rasmussen
Agenda  Opnåede resultater  Logging af backendkald  Analyse af logs  Implementering af caching  Demo af prototype  Videre arbejde i praksis  Logging.
Firewalls & netsikkerhed Henrik Størner,
Beskyt din computer og dine data!
Computerens anatomi! Hvad skal du vide før du køber din egen?
IT Arkitektur og Sikkerhed IT Enterprise Arkitektur.
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Hvordan bruger jeg First Class konferencerne ?
Præsenteret af: Peter Bøhme Projektleder på Office XP
V/ Heine M. Jensen –
1. Ordreside: Køretøjerside: Brugereside: Timesedlerside: Beskederside: Oversigtskortside: Themeside: 19.
Microsoft® Lync™ 2010 Kursus i svargruppeprogrammet
System Center Suiten - helhedsbilledet
Introduktion til Microsoft CRM Christian Cletus Bjørn Eilertsen.
Arkitektur - Sikkerhed
IT – sikkerhed Fysisk sikkerhed Logisk sikkerhed
FORTROLIGT. Må kun distribueres til partnere med aftale om hemmeligholdelse. Microsoft giver ingen garantier, hverken udtrykkeligt eller stiltiende. ©
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Mød Microsoft – for udviklere & arkitekter Visual Studio, Express og Team System Niels Hilmar Madsen Microsoft
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
OTA - et skoleprojekt ved E. Sjørlund, ES-DATA Projekt : News: news://news.the- coffeeshop.dk/coffeeshop.ota.
Microsoft Dynamics – synergi mellem forretningsområder Susanne Christoph Dynamics Sales Lead
Indledende Programmering Uge 5 - Efterår 2006 Om at udvikle korrekte og pålidelige programmer Susanne Lindros.
© 2013 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf Side 1 Simon Otto Nielsen Diplomingeniør i informations og kommunikationsteknologi.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
ALEPH GUI & XML Arkitektur XML/XSL XSL editor. eLib seminar 18.–19. november 2004 SERVER KLIENT GUI, Job manager, Print Dæmon PrintFile (Udskrifter) XML.
Uddannelse, marts 2007 Søren Vallø Business Development Manager.
Secret Key kryptering – teknikker og problemer INTRODUKTION TIL KRYPTERING.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
Indhold 1.Hvad er MATRIX Mobil 2.Menu Valg 3.Installation 4.Adgang.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Program for fremlæggelse
Hvad kan borgerne på sundhed.dk?
BlueDoc 2.0 (C) 2003 TMA Components Web-integreret Intranet søgemaskine.
Introduktion til Lync Windows Store-appen
1 Kommunikation i og fra gruppen MÅL: At gruppen og dens medlemmer bliver bevidste om deres måde at kommunikere på, samt dens betydning for gruppesamarbejdet.
1. Database-systemer, introduktion
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Netværk og interprocess- kommunikation - Et eksamensoplæg!
 Beskedsendelse  Worstcase antagelser  Kryptografi scenarier ◦ Nøgler & certifikater.
Produkt præsentation Christian Cletus Bjørn Eilertsen.
Distribuerte Objekter Våren 2010 Professor II Eric Jul F4 –
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Operativsystemer, processor og tråde. Disposition Operativsystem Kerne funktionalitet Presser og adresserum Tråde.
Deadlock Definition deadlock (baglås) er en tilstand som en mængde af processer kan være i en mængde processer er i deadlock hvis alle processerne står.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Hjemmet som et Distribueret System Jonas Thomsen Ph.d. studerende Center for Pervasive Computing.
Netteknik 1 (AMU 44947) Netteknik 1
IT-sikkerhed år 2016 virus ǀ hacking ǀ trojans ǀ phishing ǀ spam ǀ DOS-angreb ǀ cookies ǀ svindel.
Vi præsenterer AntiVirus Business Edition og Internet Security Business Edition beskyttelse mod nye trusler, databeskyttelse, identitetsbeskyttelse,
Effektiv vækst - Workshop
servicemedarbejdere har ikke det fulde overblik over
Anvendelse.
Arbejd Overalt - Workshop
Problem med at følge de konstant voksende datamængder
Tre lags arkitektur.
Post Danmark eKommunikation – Post-let
F-Secure Teknik – derfor
Præsentationens transcript:

Vigilante: End-to-End Containment of Internet Worms OS Seminar, DIKU efterår Præsentation af Troels Larsen.

Generelt om ormebekæmpelse Ormebekæmpelse skal –automatiseres, fordi orme spreder sig hurtigere end mennesker kan reagere. –være præcis. Dvs., de må ikke forårsage netværksudfald ved at blokere harmløs traffik. –være svær at omgå.

Beslægtet arbejde Nyligt arbejde bekæmper orme på netværksniveau. Disse teknikker –blokerer/begrænser videresendelse af pakker fra hosts, som udviser unormal opførsel. –har ikke adgang til information om, hvilke sårbarheder en given orm vil udnytte. Disse teknikker har begræsninger. De kan –ikke håndtere orme, som har normale trafikmønstre.  systemet kan omgåes (3. krav). –have falske positive (netværksudfald).  systemet er ikke præcist (2. krav).

Overblik over Vigilante Vigilante foreslår et automatisk end-to-end system. –Dermed har systemet information om, hvilke sårbarheder en orm vil udnytte. –Instrumenteret software hos hosts detekterer orme (detektions- maskiner). –Ved detektion genererer og distribuerer hosts self-certifying alerts (SCAs). –SCAs er bevis på en sårbarhed. kan let verificeres af sårbare hosts. fjerner behov for tillid mellem hosts.

Overblik over Vigilante SCAs verificeres før distribution og ved modtagelse fra netværket. –Ved at reproducere infektionsprocessen i en sandkasse. Advaret hosts genererer automatisk filtre, som blokerer beskeder, før de når den sårbare service. –Filtre har lavt overhead, ingen falske positive og Kan blokere ormevarianter.

Resten af præsentationen Hovedpunkter i Vigilante: –SCA-generering, -verificering og –distribution. –Filter-generering. Desuden: –Eksperimentelle resultater på virkelige orme. –Fremtidige optimeringer.

SCA typer Arbitrary Execution Control (AEC) –omdirigering af programudførelsen til et vilkårligt sted i servicens adresserum. Arbitrary Code Execution (ACE) –kode-indsprøjtnings sårbarheder. Arbitrary Function Argument (AFA) –data-indsprøjtnings sårbarheder.

Eksempel på en SCA SCAs har et fælles format: –identifikation af den sårbare service og af SCA-typen. –verifikationsinformation (til hjælp for verificeringsprocessen). –sekvens af beskeder, som skal sendes til servicen. SCA for Slammer: Service: Microsoft SQL Server Alert type: Arbitrary Execution Control Verfication information: Address offset 97 of message 0 Number of messages: 1 Message: 0 to endpoint UDP:1434 Message data: 04,41,41,41,41,42,..... (376 bytes, 1. byte = 0x04).

SCA verificering Verificering i en virtuel maskine (VM). Verificerings-setup: –Hosts har en verifikationsmanager. –Netværksservices er instrumenteret. Ved at loade biblioteker indeholdende en Verified funktion. –Kritiske funktioner er wrapped: Dvs., hvis argumentet til en kritisk funktion matcher en referenceværdi fra manageren, kaldes Verified. –Uden for VM: SCA-verifier virker som interface til VMen og omvendt firewall. Verificering er: –hurtig, –simpel og ensartet (tillader forskellige detektionsmaskiner), –og har ingen falske positive (succes  sårbarhed findes).

SCA verificering For at verificere: –SCA-verifier sender SCAen til manageren. –Manageren identificerer servicen og ændrer ormebeskedens bytestreng ved det angivet offset, til: adressen af Verified for AEC. koden for call Verified for ACE. referenceværdien for AFA. –Succes hvis Verified udføres. Ellers mislykket efter timeout.

SCA generering Hosts logger beskeder fra netværket. Når et ormeangreb detekteres –generes en kandidat-SCA ved at søge loggen igennem; –hvis kandidaten kan verificeres, distribueres den. SCAs har en generel udformning. –Muliggør mange forskellige detektion-maskiner (forskellighed  færre falske negative). –Vigilante beskriver to detektion-maskiner: non-executable pages (lavt overhead+dækning), dynamic dataflow analysis (højt overhead+dækning).

SCA generering Non-executable pages. –Kan generere AEC og ACE. –Idé: Når en orm forsøger at eksekvere en beskyttet side, kastes en undtagelse. Detektoren fanger undtagelsen og forsøger at generere en SCA til distribution.

SCA generering Dynamic dataflow analysis. –Kan også generere AFA. –Idé: Marker data modtaget fra netværket som beskidt og følg den ved en simpel algoritme: –Når beskidt (ren) data flyttes, bliver destinationen også beskidt (ren). –Detektions-maskinen blokerer farlig brug af beskidt data: Hvis beskidt data er ved at blive loadet ind i PCen, signaleres en mulig AEC. Hvis beskidt data er ved at blive eksekveret, signaleres en mulig ACE. Hvis en kritisk funktions argumenet er beskidt, signaleres en mulig AFA. –Problemer ved dynamic dataflow analysis: En (lille) falsk positiv ratio. En ringe performance i software. –Vigilantes løsninger: Verificering før distribution. Samarbejdende detektions-maskiner spreder byrden.

SCA distribution Generelle krav til SCA distribution. –Hurtig. –Skalerbar. –Pålidelige og sikker. Vigilante bruger et sikkert overlay; dvs. hver host har –et certifikat signeret af en betroet autoritet binder et public/private nøglepar til et host_id. –et betydeligt antal naboer, som forbindes til ved autentificering og kryptering. SCAs distribueres ved flooding til naboerne.

SCA distribution Kompromiterede hosts kan søge at forhindre distribution med DoS-angreb. Vigilante har tre modforanstaltninger. –Kun verificerede SCAs videresendes. –Blokerede eller duplicate SCAs videresendes ikke. –Naboloft. Problemer med verificering-før-distribution. –Nogle hosts er ikke i stand til at verificere en given SCA. Med flooding er sandsynligheden dog stor for, at en verificérkyndig host modtager SCAen. –Verificering medfører forsinkelse. Dog ikke meget.

SCA distribution Orme kan spredes hurtigere, hvis de har viden om et netværks topologi. –Derfor må viden om overlay’ets topologi skal holdes hemmeligt. Vigilante gemmer denne viden med brug af super-peers. –Super-peers kører kun overlay-kode og VMs med sårbar service til hurtig verificering. –Hver host forbindes til et lavt antal super-peers (fx. 2).

Filtre Hosts skal forsvare sig ved succesfuld SCA verificering. –Mulighed: at stoppe servicen eller brug af detektions-maskiner. Vigilantes tilgang: blokering af ormetrafik ved filtre. –Fordel: servicen ændres ikke og kan fortsat fungere under angreb. Krav til filtrene –genereres automatisk, –have ingen falske positive, –være effektive og introducere lavt overhead.

Filtre Hosts genererer filtre ved at analysere eksekveringsstien for ormen. –Alle instruktioner instrumenteres for at opbygge en dataflow-graf. Idéen er at stoppe eksekvering ved samme betingelser som for detektering. –Fx., filter-genereringen for en ACE stopper, når programmet er ved at overgive kontrollen til kode fra ormbeskeden. Filtrene har ingen falske positive, men måske falske negative (de er for specifikke). Vigilantes løsning: færre falske negative med to filtre. –Et specifikt filter uden falske positive. –Og et generelt filter, som måske har falske positive, men matcher flere beskeder for at blokere ormevarianter.

Filtre Beskeder matches først mod det generelle. –Hvis ingen match, gives beskeden til programmet. Ellers matches beskeden mod det specifikke. –Hvis match, droppes beskeden. –Ellers sendes den til en detektions-maskine, som endeligt afgør om beskeden er harmløs. Hvis beskeden ikke er harmløs, droppes beskeden og detektions-maskinen genererer en passende SCA.

Eksperimentelle resultater Tre virkelige orme blev evalueret: –Slammer opnår kontrol gennem en UDP pakke. Mens SQL-serveren kopierer en bytestreng fra pakken, overskrives en returadresse på stakken. –CodeRed sender en GET-besked. Mens IIS-serveren processerer beskeden, overskrives en adresse til en exception handler. –Blaster er en to-besked orm. Mens der kopieres et felt i den anden besked, overskrives en returadresse på stakken. Service # inficeret pc’er Infektions- hastighed Slammer Microsoft SQL Servere ,5 s CodeRed Microsoft IIS Servere min Blaster Microsoft Windows RPC service min

Eksperimentelle resultater SCA-generering: –Tidstagning: fra modtagelse af sidste ormebesked til detektoren har genereret en SCA. verificering medregnes ikke. –Detektorer: non-executetable pages og dynamic dataflow analysis.

Eksperimentelle resultater SCA-verificering: –verificering i en Virtual PC 2004 virtuel maskine. –før enhver SCA-verificering gemmes VMs tilstand til disken. –efter verificering skabes en ny VM fra disken; den gamle skrottes. Verificeringen er hurtig fordi: –en VM holdes kørende. overhead lavt: CPU-forbrung < 1%; memory-forbrug ca. 84MB. –hvis VMs generes fra disken ad hoc bruges yderligere 4s.

Eksperimentelle resultater SCA distribution – setup: –Simulering for at evaluere på stor skala (½mio. hosts). –S hosts er modtagelige (de kører den sårbare software). –p af de S hosts er detektorer; resten af S blot sårbare. –Ved modtagelse af en ormebesked: En sårbar host bliver inficeret. En detektor genererer og distribuerer en SCA. –Specielle forhold: Netværk-congestion indregnes; forårsaget af ormeudbrudet. Inficerede hosts laver DoS-angreb på nabohosts ved kontinuerligt at sende falske SCAer. –Initielt er 10 hosts inficerede.

Eksperimentelle resultater SCA distribution – resultater: –Til forsøget er brugt parameterværdierne vist i tabellen. –Forsøget viser, at: med få detektorer (p=0,001) inficereres max 5 % af den sårbare befolkning. med betydelige stigninger i Tv,  og antallet af initielt inficerede hosts (og med DoS-angreb) forbliver Vigilante effektiv  S Tg (ms) Tv (ms) Slammer 0, CodeRed 0, Blaster 0,

Eksperimentelle resultater Filtre: –Øverste figur viser filter- genereringstider. Filtrene er effektive: Det specifikke har ingen falske positive og blokerer også en del variationer af angrebet. –Nederste figur viser overheadet i et forsøg, hvor netværksbeskeder indfanges og filtreres og hvor der samtidig også er angreb.

Fremtidige optimeringer Ad hoc VM-generering forbundet med stort overhead. Da orme spredes hurtigt, holdes en VM derfor kørende. –Teknikker til at starte VMs med lav forsinkelse undersøges. Filtrene kan omgåes ved pakkefragmentering. –Velkendte modtræk mod fragmentering vil implementeres.