Palvelunestohyökkäyksiltä suojautuminen – tekninen näkökulma

marko ruotsalainen

Marko Ruotsalainen

Senior Security Consultant

January 31, 2013 at 10:30

Viime aikoina on uutisoitu runsaasti palvelunestohyökkäyksistä. Julkaisemme niihin varautumisesta lyhyen artikkelin, joka on laadittu hallinnollisesta näkökulmasta. Artikkeli on ladattavissa piakkoin Julkaisut-sivuiltamme. Artikkeli ei pureudu kovin syvälle teknisen tason suojautumisessa, vaan paneutuu enemmän hyökkäyksiä vastaan valmistautumiseen. Tästä blogikirjoituksesta voit lukea palvelunestohyökkäyksien taustaa ja saada vinkkejä hyökkäyksiltä suojautumiseen.

Mitä palvelunestohyökkäykset ovat?

Palvelunestohyökkäyksiä voidaan karkeasti ryhmitellä sen perusteella kohdistuvatko ne verkko- vai sovellustasolle ja tulevatko hyökkäykset keskitetystä vai hajautetusta lähteestä. Yhdestä lähteestä tulevia hyökkäyksiä kutsutaan Dos-hyökkäyksiksi (Denial-Of-Service) ja hajautettuja hyökkäyksiä DDoS-hyökkäyksiksi (Distributed Denial-Of-Service). Näistä hyökkäystyypeistä helpommin hallittavissa oleva on yhdestä lähteestä tuleva hyökkäys. Nykyään suositaan hajautettuja hyökkäyksiä, joka tekee niiden torjumisesta vaikeampaa.

Palvelunestohyökkäyksen varsinainen sisältö voi vaihdella, mutta kaikki tähtäävät loppujen lopuksi siihen, että hyökkäyksen kohde ei enää pysty vastaamaan normaaliin liikenteeseen. Tällöin kohteen tarjoamaa palvelua ei voida hyökkäyksen aikana käyttää. Seuraukset voivat olla laidasta laitaan, ärsyttävästä kiusanteosta taloudellisiin tappioihin tai jopa hengenvaaraan.

Eri hyökkäyskeinot

Yleisimmät hyökkäykset lähettävät suuria määriä ICMP-paketteja tai TCP SYN -paketteja. Näillä saadaan kohdejärjestelmä käsittelemään pakettien sisältöä ja kuluttamaan resursseja. Kohteella käytettävissä olevan kaistan voi myös täyttää satunnaisella datalla. Lisäksi hyvin usein tehdään myös oikeaoppisia kyselyjä, jotka käytännössä varaavat kohdejärjestelmän kaikki resurssit.

Muita palvelunestohyökkäyksiä ovat esimerkiksi sovellustason hyökkäykset tai palvelinten ominaisuuksia hyväksikäyttävät hyökkäykset. Sovelluksessa voi myös olla toimintoja jotka varaavat paljon resursseja järjestelmästä, esimerkiksi raskaat tietokantakyselyt. Tällöin hyökkääjän ei tarvitse itse nähdä paljoa vaivaa hyökkäyksen toteuttamiseen, vaan hän suorittaa näitä raskaita toimintoja tarpeeksi monta estääkseen järjestelmän normaalin toiminnan. Hyökkääjä on myös voinut etsiä Internetistä avoimia nimipalvelimia, joita hän voi käyttää hyväksi saadakseen pienemmillä väärennetyillä pyynnöillä suuremman määrän paluuliikennettä kohteeseen.

Käyttöjärjestelmistä ja ohjelmistoista voi aika ajoin myös löytyä haavoittuvuuksia, joita hyväksikäyttämällä saadaan koko järjestelmä tai palvelinsovellus kaatumaan. Pahimmassa tapauksessa hyökkääjä voi saada jopa fyysisen laitteen käyttökelvottomaan kuntoon, esimerkiksi päivittämällä laitteen firmwaren väärin. Tällöin laitteen palauttaminen takaisin normaalitilaan voi osoittautua haasteelliseksi.

Tämänkaltaisten hyökkäyksien vaikutuksia voidaan yrittää torjua tiettyyn pisteeseen asti, mutta kun hyökkäysliikennettä tulee tarpeeksi palvelun käyttö valitettavasti estyy.

Lisää hyökkäysten torjunnasta

Järjestelmien ja palvelinsovellusten päivitykset kannattaa pitää ajan tasalla, sekä yleinen tietoturva hyvällä mallilla. Sovelluksen pullonkaulat ja tietoturvaongelmat olisi hyvä selvittää suorituskykytestauksilla ja tietoturva-auditoinneilla.

Käyttöjärjestelmien TCP/IP-pinojen asetuksia on mahdollista optimoida ja säätää niin, että käyttöjärjestelmä pystyy käsittelemään liikennettä tehokkaammin. Kuormantasaajilla, palvelimilla ja kaistaa lisäämällä voidaan tiettyyn pisteeseen asti kasvattaa sovelluksen mahdollisuuksia käsitellä liikennettä.

Tietyissä tilanteissa palomuuri voi osoittautua pullonkaulaksi. Tyypillisesti palomuurin odotetaan ylläpitävän tilataulua käynnissä olevista yhteyksistä, joka auttaa estämään ei-toivottua liikennettä. Tilataulun ylläpitäminen raskaasti liikennöidyn palvelun yhteydessä voi kuitenkin käydä liian raskaaksi, joten tällöin suositeltavaa on asettaa palvelun eniten liikennöidyt portit palomuurilla tilattomiksi. Kun tilataulu täyttyy, pääsy palveluun estetään.

Palomuuri voi vastaavasti osoittautua myös hyvin hyödylliseksi yksittäisen hyökkäyksen estämisessä, joka tapahtuu säännöstöä muuttamalla. Reitittimet ja jotkut palomuurit kykenevät myös liikenteen määrän rajoittamiseen, liikenteen muokkaamiseen ja muihin mahdollisesti hyödyttäviin asioihin. Yksittäisiä hyökkäyksiä voidaan IP-tasolla estää tai laajemman hyökkäyksen päällä ollessa sallia esimerkiksi pelkästään suomalaiset IP-osoitteet.

Verkko-operaattori on myös avainasemassa liikenteen rajoittamisessa ja estämisessä, koska sillä on parempi näkymä verkkoliikenteeseen ja huomattavasti suurempi kaista käytettävissä. Kontaktirajapinta pitää heidän suuntaansa täten olla kunnossa jo ennen hyökkäystä. Toimenpiteitä joita operaattori voi tehdä, on lisätä käytössä olevaa kaistaa, estää liikennettä eri tekniikoin ja esimerkiksi ohjata DNS-kyselyt “mustaan aukkoon”. Jos palvelua vastaan hyökätään pelkkää IP-osoitetta käyttäen, IP-osoitteen vaihtaminen voi myös auttaa, jos tämänkaltainen varajärjestely on etukäteen mietittynä. Osaavat hyökkääjät tosin yleensä havaitsevat muutoksen nopeasti.

Jos verkko-operaattori kokee että kohteeseen tuleva liikenne vaarantaa muidenkin asiakkaiden palvelut, kaikki liikenne kohteen IP-osoitteeseen voidaan reitittää “mustaan aukkoon”. Tällöin liikenne ei enää kulje kohteeseen asti, mutta myöskään muut asiakkaat eivät vaarannu.

Joissain tapauksissa hyökkäysliikenteestä on mahdollista havaita tiettyjä ominaispiirteitä, joita ei normaaliliikenteessä ole. Tällaisessa tilanteessa saattaa olla mahdollista luoda sormenjälkisääntöjä, joilla voidaan estää säännöt täyttävän liikenteen pääsy kohteeseen. Yleensä tällaiset ominaiset piirteet syntyvät hyökkäystyökalun toimesta.

Palvelun luonteesta riippuen kuormantasaus voidaan myös hajauttaa ympäri maailmaa useisiin eri konesaleihin, joiden palvelin- ja verkkokapasiteetti on korkea. Tällöin puhutaan niin kutsutuista suurkapasiteettipalveluista, jotka käyttävät anycast-tekniikkaa. Monesti tämän tason palveluntarjoajat ovat myös erikoistuneita hajautettujen palvelunestohyökkäysten torjumisessa ja pystyvät käsittelemään useiden kymmenien gigabittien hyökkäyksiä.

Artikkelin kirjoittamiseen on osallistunut useita Nixun teknisiä asiantuntijoita.