DDOS on lyhenne sanoista Distributed Denial-Of-Service. Se on eräänlainen tietoverkkorikollisuus, jossa yksi tai useampi osapuoli yrittää keskeyttää palvelimen tai verkkosivuston liikenteen. Ollakseen tehokkaita ne eivät käytä hyökkäämiseen vain yhtä tietokonetta, vaan usein koko verkkoa.
Tämä ei kuitenkaan koske vain hyökkääjän koneita – on olemassa erilaisia haittaohjelmia ja viruksia, jotka voivat vaikuttaa tavallisten käyttäjien tietokoneisiin ja muuttaa sen osaksi hyökkäystä. Edes IoT-laitteet eivät ole turvallisia – jos kotonasi on älylaite, sitä voitaisiin teoriassa käyttää tällaiseen hyökkäykseen.
Kuinka se toimii?
Yksinkertaisin tapa selittää DDOS-hyökkäykset on verrata niitä liikenneruuhkiin. Normaali liikenne katkeaa, koska kymmeniä (tai satoja, tuhansia jne.) odottamattomia autoja sulautuu päätielle päästämättä muita autoja.
Syntyvä tukos estää normaaleja kuljettajia pääsemästä tavoitteeseensa – DDOS-tapahtumassa se olisi heidän etsimä palvelin tai verkkosivusto.
On olemassa erilaisia hyökkäyksiä, jotka kohdistuvat normaalin asiakas-palvelin-viestinnän eri osiin.
Sovelluskerroksen hyökkäykset yritä tyhjentää kohteen resurssit pakottamalla se lataamaan tiedostoja tai tietokantakyselyitä toistuvasti – tämä hidastaa sivustoa ja voi äärimmäisissä tapauksissa aiheuttaa ongelmia palvelimen kanssa ylikuumentamalla sitä tai lisäämällä virtaa käyttää. Näitä hyökkäyksiä vastaan on vaikea puolustautua, koska niitä on vaikea havaita – ei ole helppoa sanoa, johtuuko käyttöpiikki aidon liikenteen lisääntymisestä vai haitallisesta hyökkäyksestä.
HTTP-tulvahyökkäykset tehdään päivittämällä selainsivu kerta toisensa jälkeen – paitsi miljoonia kertoja. Tämä pyyntöjen tulva palvelimelle johtaa usein siihen, että se ylikuormitetaan eikä enää vastaa (aito)pyyntöihin. Puolustukseen kuuluu varapalvelimet ja riittävä kapasiteetti pyyntöjen ylivuotojen käsittelemiseksi. Esimerkiksi Facebookia vastaan tällainen hyökkäys ei läheskään varmasti toimisi, koska sen infrastruktuuri on niin vahva, että se pystyy käsittelemään sen kaltaisia hyökkäyksiä.
Protokollahyökkäykset yritä tyhjentää palvelin kuluttamalla kaiken kapasiteetin, joka esimerkiksi verkkosovelluksissa on – eli toistamalla pyyntöjä sivuston tai palvelun elementille. Jos teet niin, verkkosovellus lakkaa vastaamasta. Usein käytetään suodattimia, jotka estävät toistuvat pyynnöt samoista IP-osoitteista estääkseen hyökkäykset ja pitääkseen palvelun käynnissä normaaleille käyttäjille.
SYN tulvahyökkäykset tehdään pohjimmiltaan pyytämällä palvelinta toistuvasti noutamaan elementti, mutta sitten olemaan vahvistamatta sen vastaanottamista. Tämä tarkoittaa, että palvelin pitää kiinni elementeistä ja odottaa kuittia, jota ei koskaan tule – kunnes se ei lopulta kestä enempää ja alkaa pudottaa niitä poimiakseen lisää.
Volumetriset hyökkäykset yritä keinotekoisesti luoda ruuhkaa varaamalla erityisesti kaikki palvelimen kaistanleveys. Tämä on samanlainen kuin HTTP Flood -hyökkäykset, paitsi että toistuvien pyyntöjen sijaan lähetetään tietoja kohtaan palvelimelle, mikä pitää sen liian kiireisenä vastaamaan normaaliin liikenteeseen. Bottiverkkoja käytetään yleensä näiden hyökkäysten suorittamiseen – ne käyttävät usein myös DNS-vahvistusta.
Vinkki: DNS-vahvistus toimii kuin megafoni – pienempi pyyntö tai datapaketti esitetään paljon suurempana kuin se on. Se voi olla, että hyökkääjä pyytää kaikkea, mitä palvelimella on tarjota, ja pyytää sitten sitä toistamaan kaikki mitä hyökkääjä pyysi – suhteellisen pieni ja yksinkertainen pyyntö vie paljon resursseja.
Kuinka puolustautua DDOS-hyökkäyksiä vastaan?
Ensimmäinen askel näiden hyökkäysten torjumiseksi on varmistaa, että niitä todella tapahtuu. Niiden havaitseminen ei ole aina helppoa, koska liikennepiikit voivat olla normaalia käyttäytymistä aikavyöhykkeiden, lehdistötiedotteiden ja muiden vuoksi. Saadakseen hyökkäyksensä toimimaan DDOS-hyökkääjät yrittävät piilottaa käyttäytymisensä normaalissa liikenteessä mahdollisimman paljon.
Muita rutiineja DDOS-hyökkäysten lieventämiseksi ovat mustat aukot, nopeuden rajoittaminen ja palomuurit. Mustat aukot ovat melko äärimmäinen toimenpide – ne eivät yritä erottaa aitoa liikennettä hyökkäyksestä, vaan ne ohjaavat jokaisen pyynnön pois palvelimelta ja sitten hylkäävät sen. Tämä voidaan tehdä esimerkiksi odotetun hyökkäyksen valmistelussa.
Nopeusrajoitus on hieman vähemmän karkea käyttäjille – se asettaa keinotekoisen rajan sille, kuinka monta pyyntöä palvelin hyväksyy. Tämä raja riittää normaalin liikenteen läpikulkuun, mutta liian monet pyynnöt ohjataan automaattisesti uudelleen ja hylätään – tällä tavalla palvelinta ei voida ylikuormittaa. Se on myös tehokas tapa estää raa'an voiman salasanojen murtoyritykset – vaikkapa viiden yrityksen jälkeen IP-osoite on yksinkertaisesti lukittu.
Palomuurit eivät ole hyödyllisiä vain oman tietokoneen suojaamiseen, vaan myös verkkoliikenteen palvelimen puolelle. Erityisesti verkkosovellusten palomuurit asetetaan Internetin ja palvelimen välille – ne suojaavat useilta erilaisilta hyökkäyksiltä. Hyvät palomuurit pystyvät myös nopeasti määrittämään mukautettuja vastauksia hyökkäyksiin niiden tapahtuessa.
Vinkki: Jos haluat suojata sivustoasi tai palvelintasi joltakin DDOS-hyökkäykseltä, tarvitset erilaisia ratkaisuja (todennäköisimmin myös palomuurin). Paras tapa tehdä tämä on kysyä kyberturvallisuuskonsulttia ja pyytää häntä laatimaan tarpeisiisi sopiva räätälöity suunnitelma. Ei ole olemassa yhtä ja kaikille sopivaa ratkaisua!