Janne Klaper

Palvelunestohyökkäyksen menetelmät

Johdanto

Hakkereiden yksi käytetyimmistä hyökkäysmenetelmistä on palvelunestohyökkäys (denial-of-service- eli DoS hyökkäys) sen helpon toteutuksen ja vaikean, ellei jopa mahdottoman, estämisen takia. DoS hyökkäyksen tarkoitus on häiritä Internetissä toimivaa palvelua keskustelemasta sen oikeiden asiakkaiden kanssa [1]. Häiritseminen on yksinkertaisimmillaan monien pyyntöpakettien lähettämistä palvelua ylläpitävälle palvelimelle, jolloin palvelin ylikuormittuu. Nämä pyynnöt ovat kuitenkin täysin normaalia liikennettä, jonka takia on vaikea päätellä onko hyökkäys käynnissä vai onko palvelimella vain suuri määrä käyttäjiä. Ylikuormittuessaan palvelin ei pysty vastaamaan oikeille käyttäjilleen tai vastaaminen kestää kauan. Tällöin hyökkääjä on saanut häirittyä palvelun ylläpitäjää antamasta palvelua asiakkailleen. Erityisen haitallista tämä on verkkokaupoille, joiden pitäisi pystyä tarjoamaan palveluitaan asiakkaille Internetin välityksellä.

Hajautettu palvelunestohyökkäys

Isoihin palvelimiin tai klustereihin hyökkääminen DoS hyökkäyksellä on kuitenkin toivotonta, koska yksi tietokone ei pysty tekemään tarpeeksi pyyntöjä, jotta nämä isot palvelimet ylikuormittuisivat. Tästä syystä DoS hyökkäykselle on kehitetty hieman laajemman mittakaavan versio eli hajautettu palvelunestohyökkäys (distributed deanial-of-service- eli DDoS hyökkäys). DDoS hyökkäys tehdään siis samoin kuin DoS hyökkäys, mutta useamman tietokoneen avulla. Hyökkäyksessä käytettävissä koneissa on hakkerin troijan hevonen eli ohjelma jonka avulla hakkeri saa tietokoneen käyttöönsä. Näistä saastuneista koneista muodostuneista verkoista käytetään nimitystä bottiverkko (botnet). Kun tämä bottiverkko on tarpeeksi suuri, voi hyökkääjä suorittaa DDoS hyökkäyksen isompiakin palvelimia vastaan.

File:Stachledraht DDos Attack.svg

Kuva 1: DDoS hyökkäyksen toiminta periaate [2].

Kuten kuvasta yksi nähdään, hajautetun palvelunestohyökkäyksen suorittava hyökkääjä ei hallitse suoraan bottiverkon koneita. Hyökkääjä ottaa bottiverkon koneisiin yhteyden niin sanottujen käsittelijä koneiden kautta. Näin hyökkääjä saa suojattua omaa yksityisyyttään, koska uhrikoneissa näkyy vain käsittelijöiden ottama yhteys koneeseen. Käsittelijäkoneet voivat myös sijaita, missä päin maailmaa tahansa, joten ilman kansainvälistä yhteistyötä viranomaisten on erittäin hankalaa saada selville hyökkääjän todellista sijaintia. Koneiden hallintaan hakkereilla on olemassa hyvin hienostuneita client-server ohjelmia ja näistä tunnetuimpia ovat Trinoo, Tribe Flood Network, Stacheldraht, TFN2K, Shaft ja Mstream [3].

Palvelunestohyökkäysten menetelmät

Alkujaan DoS hyökkäys oli vain tulvahyökkäystä, jossa hyökkääjä yksinkertaisesti lähetti enemmän liikennettä, mitä uhrikone pystyi käsittelemään [3]. Tämä kuitenkin vaati hyökkääjältä nopeamman nettiyhteyden, kuin mitä kohteella oli [3]. Vaikka nykyään puolustusmekanismit nettihyökkäyksiä vastaan ovat kehittyneet, näinkin alkeellisen hyökkäyksen estäminen täysin on vaikeaa [3]. Puolustusmenetelmien kehittyessä myös DoS hyökkäyksien menetelmiä on kehitelty ajan mittaan. Erilaisia DoS hyökkäysmenetelmiä on monia ja niitä keksitään lisää sitä mukaan, kun ohjelmista tai protokollista löydetään haavoittuvuuksia. Seuraavaksi esitellään yleisimpiä DoS hyökkäysmenetelmiä.

Ping of Death hyökkäys hyödyntää Berkeleyn TCP/IP pinoa [3]. Tässä hyökkäyksessä oli yksinkertaisesti kyse ping pakettien, jotka olivat suurempia kuin 65535 bittiä, lähettämisestä uhrille [3]. 65535 bittiä on suurin sallittu IP-paketin koko, joka pystyttiin luomaan hyödyntämällä TCP/IP protokollan pakettien jakamista [9]. Vuonna 1996 hakkerit alkoivat hyödyntää tätä ominaisuutta hyökkäyksissään lähettämällä paloiteltuja IP-paketteja uhrille, joka kokosi paketit yhteen [9]. Pakettien kokoaminen tarkoitti kuitenkin sitä, että uhri sai käsiinsä IP-paketin, joka oli sallittua kokoa suurempi [9]. Monet käyttöjärjestelmät eivät ymmärtäneet näin suurta IP-pakettia, joka johti siihen, että uhri käynnistyi uudestaan tai kaatui [4][9]. 1997 käyttöjärjestelmien kehittäjät tekivät korjauksia tätä hyökkäystä vastaan estääkseen vastaavat hyökkäykset, mutta tästä huolimatta monet nettisivut edelleen hylkäävät kaikki ping eli ICMP (Internet Control Message Protocol) viestit palomuurissaan [9].


SYN hyökkäyksessä hyödynnetään TCP protokollan kolmen kättelyn yhteydenmuodostamista, joka tehdään SYN ja ACK viestien avulla [3][4]. Yhteyttä muodostaessa yhteyden avaaja lähettää SYN viestin, johon se odottaa saavansa SYN ACK (synchronize acknowledge) vastauksen [3][10]. Yhteyden avaajan saatua SYN ACK vastaus lähetetään vielä ACK vastaus kohteelle, jolloin saadaan yhteys muodostettua [10]. SYN hyökkäyksessä hyökkääjä kuitenkin lähettää uhrilleen SYN viestejä, joissa IP osoite on väärennetty, jolloin uhri jää odottamaan ACK viestiä, jota ei koskaan saavu [2][3][10]. Tätä lähetystä jatketaan niin kauan, että uhrin puskuri täyttyy hyökkääjän SYN viesteistä [3]. Tällöin uhri ei pysty vastaamaan muille, koska sen yhteysjono on täynnä puoliavonaisia TCP yhteyksiä [3][4]. Avoinaisten yhteyksien jono kuitenkin tyhjennetään ajoittain, koska normaalisti vastaus SYN ACK viestiin tulee muutamien millisekuntien viiveellä [10].

Teardrop hyökkäyksessä käytetään IP:n paketin osittamisalgoritmia, jotta voitaisiin lähettää uhrille korruptoituneita IP paketteja [3]. Normaalisti IP paketti saattaa rikkoutua osiin matkallaan kohteeseen, jossa alkuperäinen paketti kootaan saaduista paloista [4]. Teardrop hyökkäyksessä uhrille lähetetään vain korruptoituneita paketteja ja kun uhri yrittää koota näistä väärin rakennetuista paloista alkuperäistä pakettia se saattaa kaatua [4].

Smurf hyökkäyksessä hyökkääjä lähettää ping kyselyn kolmannen osapuolen broadcast-osoitteeseen, jossa lähettäjäksi on väärennetty uhriksi joutuneen IP-osoite [3]. Tällöin kaikki samassa verkossa olevat laitteet vastaanottavat tämän kyselyn ja lähettävät vastauksen uhrikoneeseen [3][5]. Tämä on erittäin tehokas tapa toteuttaa palvelunestohyökkäys, koska tässä hyökkäyksessä uhrin oma aliverkko toteuttaa hyökkääjän suorittaman hyökkäyksen hajautettuna [4].

Palvelunestohyökkäykset maailmalla ja työkaluja hyökkäysten suorittamiseen

Operaatio takaisinmaksu (Operation Payback) on yksi laajoista viimeaikaisista palvelunestohyökkäyksistä, joka ulottui oletettavasti myös Suomeen [6]. Tämän hyökkäyksen suoritti nettiaktivistien ryhmittymä Anonymous, jonka tavoitteena oli suorittaa palvelunestohyökkäys Airplex Softwarea vastaan [7]. Airplex Software oli aikaisemmin palkattu tekemään palvelunestohyökkäyksiä torrent-sivustoja vastaan muutamien elokuvastudioiden toimesta, mutta juuri ennen hyökkäyksen alkamista Airplex Software oli ottanut nettisivunsa alas itse, jolloin kohteeksi valittiin muutamia tekijänoikeus- ja lakitoimistojen nettisivuja [7]. Itse palvelunestohyökkäys aloitettiin syyskuussa 2010, jolloin ensimmäisinä kohteina olivat Motion Picture Association of America (MPAA) ja International Federation of the Phonographic Industry [7]. Suomessa tämän hyökkäyksen kohteeksi joutui TTVK:n (Tekijänoikeuden tiedotus- ja valvontakeskus) antipiracy.fi-sivusto [6]. Tässä operaatiossa palvelunestohyökkäys suoritettiin muunnellulla Low Orbit Ion Cannon (LOIC) ohjelmalla, joka on vapaan lähdekoodin verkkotestiohjelma [6][7][8]. Suurimman osan tämän ohjelman aiheuttamasta liikenteestä pystyttiin kuitenkin poistamaan hyvillä palomuurisäännöillä [8].

Joulukuussa 2010 operaatio takaisinmaksun henkilöt jatkoivat palvelunestohyökkäysten tekemistä kohteinaan muun muassa PayPal, the Swiss bank PostFinance, the Swedish Prosecution, MasterCard ja Visa [7]. Tämän operaation nimeksi annettiin "Operation Avenge Assange" [7]. Nämä hyökkäykset tehtiin, koska Amazon, PayPal, BankAmerica, PostFinance, MasterCard ja Visa lopettivat yhteistyön tai jäädyttivät Wikileaksin lahjoitukset [7]. Suurin syy yhteistyön lopettamiseen oli luultavasti poliittinen painostus sen jälkeen, kun Wikileaks julkaisi 250000 luottamuksellista Yhdysvaltojen diplomaattisia sähkettä [7][12]. Hyökkäysten johdosta esimerkiksi PayPalin blogi oli alhaalla yli kahdeksan tuntia [11].

Nykyään on siis kohtalaisen helppoa suorittaa palvelunestohyökkäys monien valmiiden ohjelmien avulla. Valmiita ohjelmia on tarjolla monia ja osa näistä on jopa avointa lähdekoodia. Näitä ohjelmia on muun muassa juuri mainittu LOIC:lla ja hiljattain uutisissa olleella THC-SSL-DOS-työkalulla [13]. Näistä jälkimmäinen on THC (The Hackers Choice) hakkeriryhmän 2011 lokakuun aikana julkaisema työkalu palvelunestohyökkäyksien suorittamiseen [13]. Tämä työkalu hyödyntää ssl/tls-protokollan uudelleenneuvotteluominaisuutta (SLL Renegotiation) avaamalla salatun (SLL) yhteyden uhrikoneeseen ja tämän jälkeen suorittaa useita uudelleenneuvotteluja [13]. Hyökkäyksessä tarvitsee muodostaa vain yksi yhteys uhriin, mutta se vastaa tilannetta, jossa uhriin otetaan useita salattuja yhteyksiä ja usemmiten tämä kuluttaa enemmän uhrin resursseja [13][14]. Tämän hyökkäyksen saa kuitenkin estettyä ottamalla SSL uudelleenneuvottelun pois päältä tai rajoittamalla uudelleenneuvotteluiden määrää [14].

Päätelmät / yhteenveto

Palvelunestohyökkäyksiä on siis monia erilaisia ja jokaisella on oma tarkoituksensa. Palvelunestohyökkäysten estäminen on erittäin hankala tehtävä, eikä sitä aivan täysin voida tehdäkään. Palvelunestohyökkäyksen Internet liikenne on täysin normaalia liikenettä sillä erolla, että liikennemäärä on kasvanut. Näistä hyökkäyksistä voidaan kuitenkin muodostaa sormenjälkiä ja jakaa näitä eteenpäin, jolloin tietoturvaohjelmistot voivat huomata poikkeavan liikenteen ja tunnistaa sen hyökkäykseksi. Viranomaisten kansainvälinen ja aktiivinen yhteistyö on ainoa tapa, jolla tätä voidaan hillittyä. Nykyinen yhteistyö eri viranomaisten välillä antaa kuitenkin hyökkääjille paljon liikkumatilaa ja taitava hyökkääjä osaa peittää jälkensä, jolloin kiinnijääminen on hankalampaa.

Lähteet

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmis
Tyyppi Ydin
Luokitus Uhkat
Mitä Saatavuus
Miltä Tahallinen uhka
Missä Useita
Kuka Titu-ammattilainen
Milloin Muu
Miksi Muu
Print version |  PDF  | History: r10 < r9 < r8 < r7 | 
Topic revision: r10 - 01 Dec 2011 - 22:42:17 - JanneKlaper?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback