47
Pertti Salo 2007 Tietoliikenteen seminaari 27.4.2997 Tampereen teknillinen yliopisto DDoS-työkalujen analysointi Internetin palvelunestohyökkäykset ja niiden estäminen

Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Tietoliikenteen seminaari 27.4.2997Tampereen teknillinen yliopisto

DDoS-työkalujen analysointi

Internetin palvelunestohyökkäykset ja niiden

estäminen

Page 2: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

DDoS-liikenne

• DDoS-hyökkäyksen aikana eri puolilla verkkoa havaitaan erilaista liikennettä.

• Uhrin verkossa havaitaan suuri määrä hyökkäysliikennettä tai häiriöitä erilaisten palvelimien toiminnassa, mutta komento- ja kontrolliliikenteeseen ei päästä käsiksi.

• Hyökkäysliikennettä kaappaamalla ja analysoimalla hyökkäys voidaan karakterisoida, agentit voidaan identifioida ja tarvittavat vastatoimet suunnitella.

• Lisäksi mahdollisia oikeustoimia varten on hyvä olla näyttöä tapahtuneesta. • Agentteja sisältävässä verkossa havaitaan ja voidaan kaapata sekä

komento- ja kontrolliliikenne agenttien ja käsittelijän välillä että DoS-liikenne uhria kohti.

• Suurin osa verkoista kuuluu tähän kategoriaan ja näiden verkkojen ylläpitäjien/vastetiimin tulee huolehtia kaapattujen koneiden tunnistamisesta, puhdistamisesta ja paikkaamisesta.

Page 3: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Käsittelijän sisältävä verkko

• Käsittelijän sisältävässä verkossa havaitaan ja voidaan kaapata komento- ja kontrolliliikenne agenttien ja käsittelijän välillä.

• agenttien kokonaiskuvasta saadaan enemmän tietoa, koska käsittelijä keskustelee useissa eri verkoissa olevien agenttien kanssa.

• Nyt molemmat osat komento- ja kontrolliliikenteestä on mahdollista kaapata; hyökkääjän komennot käsittelijälle sekä käsittelijän viestit agenteille.

Page 4: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Page 5: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Ponnahduslauta

• Ponnahduslaudan sisältävässä verkossa havaitaan osa komento- ja kontrolliliikenteestä. Käsittelijöiden ja agenttien väliseen liikenteeseen ei päästä käsiksi. Monitoroimalla ponnahduslaudan verkossa voidaan saada selville lisää käsittelijöitä, agentteja ja ponnahduslautoja. Parhaassa tapauksessa hyökkääjän sijaintikin voidaan saada selvitettyä.

Page 6: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Tietojärjestelmään tunkeutuminen

• Tietojärjestelmään tunkeutumiseen kuuluu seuraavat vaiheet :

1. Tiedonkeruuvaihe2. Suunnitteluvaihe3. Skannausvaihe4. Murtautumisvaihe5. Ylläpitäjän oikeuksien hankkiminen6. Hyväksikäyttövaihe7. Jälkien peittäminen

Page 7: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Skannaus

• Skannauksella (scanning) tarkoitetaan verkon kautta suoritettavaa tiedustelutoimenpidettä.

• Skannaukset voidaan jakaa verkko-, portti- ja haavoittuvuusskannauksiin.

Page 8: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Verkkoskannaus

• Verkkoskannauksilla pyritään kartoittamaan kohdeverkon rakennetta ja hyökkääjälle saavutettavissa olevia kohteita.

• Verkkoskannaukset ovat usein ensimmäinen tiedustelutoimenpide kohdistetuissa hyökkäyksissä.

• Verkkoskannauksia voidaan tehdä esimerkiksi lähettämällä verkon eri osoitteisiin ICMP-viestejä.

Page 9: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Porttiskannaus

• Porttiskannauksilla tehdään lisätiedusteluja kun saavutettavissa olevat kohteet on löydetty. Porttiskannereilla kartoitetaan kohteen tarjoamia palveluita tutkimalla,onko palvelun käyttämä portti avoinna. Porttiskannauksessa kohteen avoimet TCP- jaUDP-portit selvitetään lähettämällä kohdeportteihin kyselyitä ja tutkimalla vasteita.

Page 10: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Haavoittuvuusskannaus• Haavoittuvuusskannauksilla etsitään kohdejärjestelmistä julkisesti

tunnettuja haavoittuvuuksia. Haavoittuvuusskannerilla yritetään selvittää kohdejärjestelmän ja sen sovellusten versiotietoja, joita verrataan haavoittuvuusskannerin tietokannassa oleviin haavoittuvien ohjelmistojen versiotietoihin.

• Haavoittuvuusskanneri voi sisältää myös murto-ohjelmia, joita käyttämällä voidaan päätellä kohteen haavoittuvuus.

• Heikkojen asetusten hyväksikäyttö:Sovellukset ja käyttöjärjestelmät asennetaan usein oletusasetuksin, joita ei ole valittu turvallisuuden mukaan vaan oletusarvoisesti usein määritelty mahdollisimman salliviksi, mutta samalla myös turvattomiksi helppokäyttöisyyden takaamiseksi.

Page 11: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Haavoittuvuuden etsintä

• Haavoittuvien koneiden etsintävaiheessa (skannaus) hyökkääjä lähettää muutamia paketteja nähdäkseen, onko kone hereillä ja sisältäisikö se mahdollisesti jonkun haavoittuvuuden.

• Hyökkääjän etsii koneita, joilla on laajakaistayhteys, hyvät resurssit ja jotka ovat huonosti ylläpidettyjä.

Page 12: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Skannaus• IRC DDoS -bottien tai matojen suorittaessa

skannausta, skannattavan IP-osoitteen tai Iposoiteavaruuden valinta voi perustua esimerkiksi seuraaviin vaihtoehtoihin:

• 1. valitse satunnaiset 32 bittiä• 2. valitse satunnaiset 8/16 ensimmäistä bittiä, ja

iteroi sen jälkeen kaikki mahdolliset IPosoitteet• 3. hyökkääjän määrittelemä osumalista IP-

osoiteavaruuksia• 4. kaapatusta koneesta löytyvät tiedot,

esimerkiksi verkko-ohjelmien lokitiedoista löytyvät IPosoitteet

Page 13: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Page 14: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Page 15: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Page 16: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Agenttiverkoston hallinta

Kun agenttiverkosto on luotu, hyökkääjä kommunikoi

agenttiverkoston kanssa many-to-many –tyyppisten kommunikointityökalujen kanssa. Kommunikoinnilla on kaksi tarkoitusta; välittäähyökkäyksen aloitus- ja lopetuskomennot sekä

muut hyökkäykseen liittyvät yksityiskohdat sekäkerätä hyökkäykseen liittyvää statistiikkaa.

Page 17: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Oletusasetukset• Tietoturvallisesti heikot asetukset sallivat esimerkiksi kirjautumisen

järjestelmään tai pääsyn järjestelmän levyjakoon ilman todennusta.

• Yhdeksi WWW-palvelinten vakavimmaksi haavoittuvuudeksi luokitellaan oletusarvoisesti palvelinohjelmiston mukana asennettavat esittely- ja testiohjelmat. Monet tietoturvaominaisuudet ovat käyttäjän tietämättä pois päältä, mikä johtaa käyttäjän turvallisuuden väärään luottamukseen.

• Slapper-madon leviämisen mahdollistavista syistä tehty tutkimus osoitti käytännön kautta kuinka vakavan tietoturvaongelman aiheuttavat käyttöjärjestelmän asennuksen yhteydessä asennettavat ylimääräiset palvelut, mitkä oletusarvoisesti myös aktivoituvat käyttöjärjestelmän käynnistyksen yhteydessä.

• Ylläpitäjän täysin tietämättä, asennetut ja aktivoidut palvelut jäävät luonnollisesti ylläpitämättä eikä niitä konfiguroida turvalliseksi.

Page 18: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Ohjelmistohaavoittuvuuksien hyväksikäyttö

• Kun ohjelmiston ohjelmointivirheet johtavat sen tietoturvan heikentymiseen puhutaan ohjelmistohaavoittuvuudesta.

• Hyökkääjä voi käyttää ohjelmistohaavoittuvuuksia hyväksi niin tietojärjestelmiin tunkeutumisessa kuin haittaohjelma- tai palveluestohyökkäyksissä.

• Suurin osa viimeaikoina julkaistuista vakavista ohjelmistohaavoittuvuuksista on ollut erilaisia puskuriylivuotohaavoittuvuuksia.

Page 19: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Toimintaprosessit

• Tietoturva kehittyy ja järjestelmät pidetään tietoturvallisina seuraavaa toimintaprosessia noudattamalla:

• 1. Ohjelmoijat tekevät virheitä ja tuottavat haavoittuvuuksia sisältäviä ohjelmistoja.

• 2. Alan asiantuntijat löytävät jatkuvasti ohjelmistoista haavoittuvuuksia ja ilmoittavat niistä valmistajalle.

• 3. Valmistaja tekee ohjelmistoon korjausversion, haavoittuvuus ja korjaus julkaistaan.

• 4. Järjestelmän ylläpito asentaa välittömästi korjausversion.

Page 20: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Haavoittuvuudet• Käytännössä edellä esitetty teoreettinen malli ei kuitenkaan toimi,

vaan hyökkääjällä on useita mahdollisuuksia ohjelmistohaavoittuvuuksien hyväksikäyttöön:

• hyökkääjät voivat käyttää julkaisemattomia haavoittuvuuksia ja haavoittuvuudet julkaistaan monesti ennen kuin niihin on edes saatavilla korjausversio (ohjelmiston korjaus ja erityisesti korjatun version testaaminen vie monesti jopa kuukausia).

• Vaikka haavoittuvuus on julkinen ja korjaus on saatavilla, ei haavoittuvuuksia paikata saman tien. Käytännössä korjaukset asennetaan sitten, kun ylläpito muilta kiireiltä sen ehtii tekemään, usein vasta kuukausien päästä.

Page 21: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Julkaistut DDoS-työkaluanalyysit

• Ensimmäiset DDoS-työkaluanalyysit, Trinoo [Ditb], Tribe Flood Network (TFN) [Ditc] ja Stacheldraht [Ditd] julkaistiin vuonna 1999 ja vuoden 2000 alussa David Dittrichin toimesta.

• Myöhemmin Dittrich on julkaissut lisää analyysejä, esim. Shaft [DLD00], yhdessä Sven Dietrichin ja Neil Longin kanssa.

• Analyysit tarjoavat yksityiskohtaisen kuvauksen hyökkäystyökaluista ja hyökkäyksien kulusta, helpottaen DDoS-hyökkäyksiin vastaamista.

• Analyysien sivutuotteena ovat olleet hyökkäyksien sormenjäljet verkko- ja konekohtaisille skannereille.

Page 22: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

DDoS-analyysi

• Termi haittaohjelman jälki (’malware artifact’) tarkoittaa haittaohjelmaan assosioituja ajettavia ohjelmia, lähdekoodeja, skriptejä, lokitiedostoja, kirjastoja tai muita tunkeutumisen yhteydessä käytettyjä tiedostoja.

• Näihin kuuluvat esimerkiksi kaapatulta koneelta löytynyt DDoS-hyökkäys-työkalu sekä hyökkäykseen osallistuvalta koneelta mahdollisesti löytyvä lista agenteista ja/tai käsittelijöistä.

• Hyökkääjä voi käytää anti-forensics -tekniikoita, kuten kryptausta, kehittyneitä rootkittejä yms.

Page 23: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Analyysin aloittaminen

• Ennen DDoS-analyysin aloittamista on syytä huomioida seuraavat kaksi asiaa:

• 1. Säilytä todisteet ja vältä niiden muuttamista. Dominigue Brezinski ja Tom Killalea ovat kirjoittaneet RFC3227:n (The Guidelines for Evidence Collection and Archiving [BK02]) määritelläkseen järjestyksen ja metodit joilla jokainen onnistuu keräämään ja säilyttämään todisteet. Kun todisteet hyökkäyksestä on oikein kerätty ja talletettu voidaan niitä tarvittaessa käyttää oikeudenkäynnissä hyökkääjää vastaan.

• 2. Ole varovainen analysointia suorittaessasi. Hyökkäystyökalun toiminta voi olla ennalta arvaamatonta, joten analysointia tulee suorittaa eristetyssä testiympäristössä.

Page 24: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Analyysin osat

• Analyysi voidaan jaotella seuraaviin osiin: 1) selvitä tarkoitus ja toiminta,

• 2) etsi sisäisiä sormenjälkiä,

• 3) etsi ulkoisia sormenjälkiä,

• 4) etsi verkkoliikenteen sormenjälkiä ja

• 5) kirjoita ja julkaise analyysi.

Page 25: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Tarkoitus ja toiminta

• Hyökkäystyökalun tarkoitus ja toiminta on hyvä saada selville työkalun luokittelemiseksi, vasteen priorisoimiseksi sekä työpanosten kohdistamiseksi.

• Onko siis kyseessä skannaus-ohjelma, hyökkäystyökalupakkien komponentti vai etähyväksikäyttö-ohjelma?

• Entäpä rootkit-komponentti tai järjestelmän lokien puhdistaja?

• Jos kyseessä on varsinainen DDoS-työkalu, oletko tekemisissä käsittelijän, agentin tai IRC DDoS -botin kanssa.

Page 26: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Sisäiset sormenjäljet

• Sisäiset sormenjäljet voivat olla jälkiä tiedostojärjestelmässä, haittaohjelman luomia verkkoyhteyksiä, verkkokortin promiscuos-tila, taustalle luotuja prosesseja tai jälkiä järjestelmän lokitiedoissa.

• Pinta-analyysin (’surface analysis’) avulla haittaohjelman tarkoitus ja toiminta koetetaan saada selville järjestelmään installoituja tiedostoja tutkimalla. Esimerkiksi haittaohjelman käyttämät merkkijonot ja käytetyt tiedostopäätteet voivat olla hyödyllistä tietoa tarkempia tutkimuksia vaativia tiedostoja rajattaessa. Pinta-analyysiin voidaan käyttää esimerkiksi file-komentoa Unix- ja Linux-käyttöjärjestelmissä.

• Tiedostojärjestelmään jääneiden jälkien etsimiseen voi käyttää esimerkiksi ls- ja lsof-komentoja tai Sleuthkit-työkalupakkia Unix- ja Linux-käyttöjärjestelmissä ja esimerkiksi Fport-ohjelmaa Windowsissa.

Page 27: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Mitä tiedostojärjestelmästä tulisi etsiä?

1. Mistä hakemistosta/hakemistoista jäljet löytyivät?

2. Mitä tiedostonimiä käytettiin? 3. Milloin kyseiset tiedostot luotiin tai niitä

muokattiin? 4. Mitkä ovat haittaohjelman komponenttien

tarkistussummat? 5. Jos haittaohjelma on yhä aktiivinen, mitkä ovat

avoimet tiedostokahvat?

Page 28: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Verkkoyhteydet

• Haittaohjelman luomia verkkoyhteyksiä voidaan etsiä esimerkiksi netstat- ja lsof-komennolla Unix- ja Linux-käyttöjärjestelmissä.

• Verkkoyhteyksiä tutkimalla ponnahduslaudalla voidaan saada tieto edellisestä ponnahduslaudasta tai jopa hyökkääjästä.

• Agentilla ja käsittelijällä taasen voidaan selvittää tieto viimeisestä ponnahduslaudasta tai hyökkääjästä.

Page 29: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Protokollat

• Käsittelijät kontrolloivat agentteja,

käyttäen usein eri protokollaa, kuin mikä on käytössä hyökkääjän ja käsittelijän välillä.

• On arvioitu, että tämä on tehty yhteyden paljastumisen välttämiseksi.

• Lähde:http://staff.washington.edu/dittrich/ 26.4.2007

Page 30: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Raakasoketit

• Seuraavassa esimerkissä havaittuja epäilyttäviä raakasoketteja, kuuntelevaa porttia sekä kahta avointa yhteyttä syvemmin tutkimalla havaittiin kyseessä olevan kaapattu SSH demoni.

• # netstat -an –inet • Active Internet connections (servers and established) • Proto Recv-Q Send-Q Local Address Foreign Address State • tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN • tcp 0 0 10.10.10.3:2222 10.10.10.10:32965 ESTABLISHED • tcp 0 0 10.10.10.3:2222 0.0.0.0:* LISTEN • tcp 0 0 10.10.10.3:22 10.10.10.2:33354 ESTABLISHED • tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN • raw 0 0 0.0.0.0:1 0.0.0.0:* 7 • raw 0 0 0.0.0.0:6 0.0.0.0:* 7 • Ensimmäinen lihavoitu rivi ilmaisee ohjelman työhakemiston, joka tässä tapauksessa

on piilotettu hakemisto. Kyseinen hakemisto voi hyvällä onnella sisältää listan agenteista, mikäli suoritamme analysointia käsittelijällä. Toinen lihavoitu rivi ilmaisee ohjelman aukaiseman kuunteluportin, jota hyvin suurella todennäköisyydellä käytetään takaporttina. Kolmas lihavoitu rivi ilmaisee verkkoliikenteen kaappaamiseen tarkoitetun raakasoketin (’raw-socket’) aukaisun.

Page 31: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Verkkokortti

• Eräs epäilyttävä merkki on verkkokortin asettaminen promiscuos-moodiin.

• Tämä moodi sallii ohjelman nähdä kaikki LAN-segmentissä (Local Area Network) kulkevat paketit, ja sitä voidaan käyttää muiden käyttäjien kommunikoinnin kaappaamiseen.

• Unix- ja Linux-käyttöjärjestelmissä verkkokortin tilan tarkistamiseen voidaan käyttää esimerkiksi ifconfig-komentoa.

Page 32: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Sisäiset sormenjäljet

• Sisäisiin sormenjälkiin kuuluvat lisäksi haittaohjelman luomat prosessit sekä järjestelmän lokitiedostoihin kirjautuvat tiedot.

• Unix- ja Linux-käyttöjärjestelmissä voi käyttää esimerkiksi ps-, pstree- ja top-komentoja prosessien tutkimiseen sekä syslog-demonia lokitiedostojen generoimiseen.

Page 33: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Ulkoiset sormenjäljet

• Haittaohjelman ulkoisia sormenjälkiä etsiessä tutkitaan, mitkä TCP- ja UDP-portit ovat avoinna yhteydenottoja varten, koska kyseiset ohjelmat sisältävät yleensä takaportin hyökkääjän toimia varten.

• Ulkoisten sormenjälkien etsimiseen voidaan käyttää Unix- ja Linux-käyttöjärjestelmissä esimerkiksi nmap-komentoa tai Nessus-ohjelmaa [Ness].

• Ulkoisia sormenjälkiä kannattaa verrata sisäisiin sormenjälkiin ja käyttää yhdessä niiden kanssa tarkemman ja luotettavamman kokonaiskuvan luomiseksi.

Page 34: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Esimerkki: Windows-koneessa havaittu Power bot nmap-komennolla skannattuna.

• Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap/) • Interesting ports on XXXXXXXXXXXX (192.168.1.225): • (The 65522 ports scanned but not shown below are in state: closed) • Port State Service • 21/tcp open ftp • 23/tcp open telnet • 25/tcp open smtp • 80/tcp open http • 100/tcp open newacct • 135/tcp open loc-srv • 139/tcp open netbios-ssn • 443/tcp open https • 445/tcp open microsoft-ds • 1025/tcp open listen • 1026/tcp open nterm • 4836/tcp open unknown • 12624/tcp open unknown • Lihavoitu rivi kertoo koneessa olevasta avoimesta TCP-portista (12624), jota hyökkääjä käyttää takaporttina.

Epäilyttäviä kuuntelevia portteja löydettäessä tulee olla erittäin huolellinen, mikäli niiden toimintaa halutaan testata. Haittaohjelma saattaa esimerkiksi ilmoittaa testaajan toimista hyökkääjälle.

Page 35: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Verkkoliikenteen sormenjäljet• Verkkoliikenteen sormenjälkiä tutkiessa tulisi kaikki ”saastuneen”

koneen sisään ja ulos menevät paketit kaapata mahdollisimman lähellä kyseistä konetta (esimerkiksi samassa LANissa olevalla koneella).

• Analyysin kannattaa aloittaa korkean tason statistiikkaa keräämällä hyökkäyksen yleiskuvan muodostamiseksi. Tähän tarkoituksen löytyy Unix- ja Linux-käyttöjärjestelmissä esimerkiksi tcpdstat-komento [Tcpd], joka muodostaa edellä mainitun statistiikan tcpdump-muotoisesta (esimerkiksi ethereal-, tcpdump-, ja snort-ohjelmat) pakettitiedostosta.

• Seuraavassa vaiheessa varsinainen hyökkäysliikenne kannattaa suodattaa pois ja keskittyä komento- ja kontrolliliikenteen analysoimiseen. Suodatukseen voi käyttää esimerkiksi ngrep-komentoa tai Zombie Zapper -ohjelmaa Unix- ja Linux-käyttöjärjestelmissä. Myös snort [Snor] on mahdollinen työkalu tässä vaiheessa.

Page 36: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Komento- ja kontrolliliikenne

• Komento- ja kontrolliliikenteestä kannattaa yrittää selvittää seuraavia asioita: 1. Mitkä protokollat ja portit ovat käytössä? 2. Onko salasanalla suojattua tai kryptattua liikennettä ja tiedostoja? 3. Mitkä ovat mahdolliset salasanat ja kryptausavaimet ja mistä ne voi löytää? 4. Kuinka agentit identifioidaan käsittelijään (ja päinvastoin) ja löytyykö kokonainen lista niistä?

Page 37: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Agentti ja käsittelijä

” There was also what appeared to be testing of the impact on the local network itself with, among others, UDP packet flooding against the broadcast address, followed by ICMP flooding”

Lähde:http://staff.washington.edu/dittrich/26.4.2007

Page 38: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Kaapatun koneen kommunikointi

• Seuraavissa esimerkeissä on kuvattu Trinoon kommunikointia ngrep-komenolla kaapattuna. T tarkoittaa TCP-komentotulkkia käsittelijälle ja U tarkoittaa UDP komento- ja kontrollikanavaa käsittelijän ja agentin välillä. Hyökkääjän käyttämä IP-osoite on 192.168.100.1, käsittelijän 10.0.0.1 ja agentin 192.168.0.1.

• # ngrep -x ".*" tcp port 27665 or udp port 31335 or udp port 27444 • interface: eth0 (192.168.0.200/255.255.255.0) • filter: ip and ( tcp port 27665 or udp port 31335 or udp port 27444 ) • match: .* • T 192.168.100.1:1074 -> 10.0.0.1:27665 [AP] • 62 65 74 61 61 6c 6d 6f 73 74 64 6f 6e 65 0d 0a betaalmostdone.. • T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] • 74 72 69 6e 6f 6f 20 76 31 2e 30 37 64 32 2b 66 trinoo v1.07d2+f • 33 2b 63 2e 2e 5b 72 70 6d 38 64 2f 63 62 34 53 3+c..[rpm8d/cb4S • 78 2f 5d 0a 0a 0a x/]... • T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] 29 • 74 72 69 6e 6f 6f 3e 20 trinoo>

• Yllä oleva esimerkki sisältää hyökkääjän kirjautumisen käsittelijälle käyttäen salasanaa betaalmostdone, Trinoon versiotiedot sekä käsittelijän komentotulkin hyökkääjälle (trinoo>).

Page 39: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Hyökkäysverkon salaus

• Both the master and daemons are password protected to prevent system administrators (or other hacker groups) from being able to take control of the trinoo network. These passwords are crypt() style passwords.

• http://staff.washington.edu/dittrich/ 25.4.2007

Page 40: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Hyökkääjä -Käsittelijä -Agentti• U 10.0.0.1:1025 -> 192.168.0.1:27444 • 62 62 62 20 6c 34 34 61 64 73 6c 20 31 30 30 30 bbb l44adsl 1000 • T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] • 6d 74 69 6d 65 72 3a 20 53 65 74 74 69 6e 67 20 mtimer: Setting • 74 69 6d 65 72 20 6f 6e 20 62 63 61 73 74 20 74 timer on bcast t • 6f 20 31 30 30 30 2e 0a o 1000.. • T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] • 74 72 69 6e 6f 6f 3e 20 trinoo> • T 192.168.100.1:1074 -> 10.0.0.1:27665 [AP] • 6d 73 69 7a 65 20 33 32 30 30 30 0d 0a msize 32000.. • U 10.0.0.1:1025 -> 192.168.0.1:27444 • 72 73 7a 20 33 32 30 30 30 rsz 32000

Toinen esimerkki sisältää salasanan agentilla (144adsl), hyökkääjänkäsittelijälle antaman komennon (msize 32000) sekä kyseisen komennonvälittämisen agentille (rsz 32000).

Page 41: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Hyökkäyskomento• T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] • 74 72 69 6e 6f 6f 3e 20 trinoo> • T 192.168.100.1:1074 -> 10.0.0.1:27665 [AP] • 64 6f 73 20 32 31 36 2e 31 36 30 2e 58 58 2e 59 dos 216.160.XX.Y • 59 0d 0a Y.. • T 10.0.0.1:27665 -> 192.168.100.1:1074 [AP] • 44 6f 53 3a 20 50 61 63 6b 65 74 69 6e 67 20 32 DoS: Packeting 2 • 31 36 2e 31 36 30 2e 58 58 2e 59 59 2e 0a 16.160.XX.YY.. • U 10.0.0.1:1025 -> 192.168.0.1:27444 • 61 61 61 20 6c 34 34 61 64 73 6c 20 32 31 36 2e aaa l44adsl 216. • 31 36 30 2e 58 58 2e 59 59 160.XX.YY

• Kolmas esimerkki sisältää hyökkääjän antaman hyökkäyskomennon (dos 216.160.xx.yy) sekä tämän komennon välittämisen agentille (aaa 144adsl 216.160.xx.yy).

Page 42: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Mitä puolustetaan ?

”One needs to defend the hosts, the local net, and the backbone infrastructure.

Certain ingress and egress filtering can

minimize the impact of denial of service

attacks that use spoofed IP source

addresses by eliminating illegitimate IP

source or destination addresses.”Lähde: http://staff.washington.edu/dittrich/26.4.2007

Page 43: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Jäljitys ja tunnistus

”Track floods and identify their source in order to

shut them down one way or another,or minimize

the impact. Identifying the source of a

spoofed IP address requires the collusion of the

intermediate hosts in the path between the

actual source and the victim suffering from the

denial of service attack.”Lähde:http://staff.washington.edu/dittrich/26.4.2007

Page 44: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

DDoS-analyysin julkaisu

• DDoS-analyysin julkaisuun liittyy tiedottamispolitiikan valinta; täydellinen tiedottaminen vs. osittainen salassapito. Salassa pitämällä hyökkääjä ei saa selville, että hyökkäys on havaittu ja että hänen käyttämänsä työkalu on paljastunut. Toiset hyökkääjät eivät myöskään saa tietoa, kuinka hyökkäys toteutetaan. Tiedottamalla taasen ohjelmistojen haavoittuvuudet paikataan ja parempia ohjelmia kehitetään. Käyttäjät saavat myös tietoa haavoittuvuudesta ja asentavat paikkauksen. Näin toimimalla verkoista yleisesti saadaan myös turvallisempia.

• DDoS-analyysia julkaistessasi tulee muutamien asioiden julkaisemista miettiä kunnolla. Kaapattujen omien koneiden IP-osoitteet kannattaa pitää salassa. Ne on parasta anonymoida, mutta aikaleimat ja hyökkäyskoneiden IP-osoitteet kannattaa jättää alkuperäisiksi.

• Hyökkäys-, komento- ja kontrolliliikenteen analysoinnilla selville saadut kaapattujen ulkopuolisten koneiden IP-osoitteet kannattaa myös pitää salassa, jottei tarjota muille hyökkääjille tietoa hyväksikäytetyistä koneista. Uhrikoneiden IP-osoitteet kannattaa myös pitää salassa, mutta tiedot voi kuitenkin tarjota heille. Epäiltyjen osallisten nimiä ei kannata julkistaa, koska seurauksena voi olla kostotoimia. Lisäksi pahimmassa tapauksessa voi saada herjaussyytteen, mikäli ei pystykään todistamaan epäilyjä.

Page 45: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

THE CASE OF THE HIRED HACKEREntrepreneur and Hacker Arrested for Online Sabotage

http://staff.washington.edu/dittrich/26.4.2007

• Our "Entrepreneur" launched two online sports apparel businesses specializing in “retro” or “throwback” sports jerseys. These jerseys are a booming, multi-billion dollar industry, crowded with competitors, and in the early going he was selling only a couple shirts a day.

• Then he allegedly came up with a plan to jumpstart sales. Did it involve expanding his inventory? Overhauling his web sites? Launching a marketing blitz? Our Entrepreneur took another tack entirely. He went out and hired a hacker.

• Why? Because he figured that his own sales would take off if he disabled the web sites of his major competitors. Using an online instant messaging service, he recruited a 16-year-old New Jersey hacker and gave him a list of 10 sites to attack. The agreed-upon payment for his services? A watch and several pairs of knock-off designer sneakers.

• The attacks began. From his home computer, the Hacker infected as many as 2,000 unprotected computers across the country with “bots”—software programs that allowed him to remotely control the PCs. He then rigged these computers to bombard the competitor sites with data requests. The attacks—known as distributed denial of service, or “DDoS,” attacks—quickly overloaded the sites’ servers and knocked many of them offline for days. The Hacker launched the attacks repeatedly for five straight months. One company was hit more than 30 times and suffered $600,000 in total losses.

• But the damage didn’t stop there. The attacks also brought down the companies that hosted the sites’ servers and at least 1,000 other unrelated businesses as far away as Europe. Overall, the attacks caused at least $2.5 million in damage.

Page 46: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

Yhteenveto

• Julkaistujen DDoS-analyysien, erityisesti niissä julkaistujen tunnusmerkkien, avulla verkkojen ylläpitäjät voivat tarkistaa omien verkkojensa tilan ja aloittaa toimet rämettyneiden koneiden puhdistamiseksi.

• Lisäksi yhteistyössä muiden ylläpitäjien kanssa isojakin agenttiverkkoja saatetaan pystyä identifioimaan ja sulkemaan suhteellisen nopeasti.

• Ongelman saattavat muodostaa kotikoneiden armeija, mikäli kotikäyttäjät eivät huolehdi koneidensa suojauksesta. DDoS-analyysien pitäisikin olla riittävän selkeitä ja yksityiskohtaisia, jotta kotikäyttäjät pystyisivät niiden avulla puhdistamaan mahdollisesti rämettyneen koneensa.

Page 47: Internetin PalvelunestohyöKkäYkset Ja Niiden EstäMinen

Pertti Salo 2007

LÄHTEET

Palvelunestohyökkäyksen havaitseminen ja

torjuminen .Seminaariraportti.

Tampereen teknillinen yliopisto.Tietoliikennetekniikan laitos

Seminaari, Tietoliikenteen turvallisuus(8306400 → TLT-3700)

Kevätlukukausi 2005. Jukka Koskinen (toim.) versio 1 20.2.2006

Luku 6 DDoS-työkalujen analysointi.

Arsi Heinonen Verkkohyökkäysinformaation keskitetty analysointi

Teknillinen korkeakoulu. Sähkö- ja tietoliikennetekniikan osasto

Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi diplomi-insinöörin tutkintoa

Espoo. 2003.

Internetlähteet:

http://staff.washington.edu/dittrich: David Dittrich Homepage