Tulva-pohjaiset palvelunestohyökkäykset ja niiltä suojautuminen, TCP & HTTP-protokollat
Lempinen, Rasmus (2018)
Lempinen, Rasmus
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-02-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201801091049
https://urn.fi/URN:NBN:fi:tty-201801091049
Tiivistelmä
Palvelunestohyökkäykset ovat suuri ja yleinen uhka niin yrityksille, internetin palveluntarjoajille kuin hallituksillekin. Hyvin tehty ja onnistunut palvelunestohyökkäys voi aiheuttaa uhrilleen jopa useiden miljoonien rahalliset tappiot. Tämän takia on tärkeää olla tietoinen siitä, millaisia uhkia on olemassa palvelunestohyökkäysten muodossa, ja miten niitä voidaan torjua. Tässä työssä on keskitytty kertomaan tulva-pohjaisista palvelunestohyökkäyksistä, jotka hyödyntävät TCP- ja HTTP-protokollia.
Kuljetuskerroksen TCP-protokollalla tapahtuva TCP SYN -tulva on yksi yleisimmistä palvelunestohyökkäyksistä. TCP SYN -tulva käyttää hyväkseen TCP-protokollan kolminkertaista kättelyä, jossa asiakas aloittaa yhteyden lähettämällä palvelimelle SYN-paketin. Palvelin vastaa SYN-ACK-viestillä, johon se odottaa asiakkaalta ACK-kuittausta. Tätä ACK-kuittausta ei kuitenkaan koskaan lähetetä, kun tavoitteena on toteuttaa TCP SYN -tulva. Tästä seurauksena on suuri määrä keskeneräisiä yhteyspyyntöjä, jotka voivat kuluttaa palvelimen kaikki resurssit loppuun, jolloin oikeiden käyttäjien palveleminen estyy.
Sovelluskerroksella tapahtuva HTTP GET -tulva puolestaan hyökkää verkkopalvelimeen tai -sovellukseen. HTTP-tulvat vaativat vähemmän kaistanleveyttä kuin muut hyökkäykset. HTTP GET -tulvassa hyökkääjä pyrkii sitomaan mahdollisimman paljon palvelimen tai sovelluksen resursseja jokaiseen lähettämäänsä pyyntöön, mistä seuraa oikeiden käyttäjien palvelemisen hidastuminen tai estyminen.
Molempaa esiteltyä hyökkäystyyppiä vastaan on olemassa tehokkaita puolustusmekanismeja. TCP SYN -tulvaa vastaan voi käyttää esimerkiksi SYN-välimuistia tai SYN-evästeitä, jotka perustuvat palvelimen resurssien allokoinnin rajoittamiseen. HTTP-tulvia vastaan on olemassa esimerkiksi SeVen-niminen algoritmi, joka on erityisen tehokas juurikin HTTP GET -tulvaa vastaan. SeVen perustuu puskureihin sijoitettuihin pyyntöihin ja useisiin näiden käsittelyyn liittyviin muuttujiin.
Kuljetuskerroksen TCP-protokollalla tapahtuva TCP SYN -tulva on yksi yleisimmistä palvelunestohyökkäyksistä. TCP SYN -tulva käyttää hyväkseen TCP-protokollan kolminkertaista kättelyä, jossa asiakas aloittaa yhteyden lähettämällä palvelimelle SYN-paketin. Palvelin vastaa SYN-ACK-viestillä, johon se odottaa asiakkaalta ACK-kuittausta. Tätä ACK-kuittausta ei kuitenkaan koskaan lähetetä, kun tavoitteena on toteuttaa TCP SYN -tulva. Tästä seurauksena on suuri määrä keskeneräisiä yhteyspyyntöjä, jotka voivat kuluttaa palvelimen kaikki resurssit loppuun, jolloin oikeiden käyttäjien palveleminen estyy.
Sovelluskerroksella tapahtuva HTTP GET -tulva puolestaan hyökkää verkkopalvelimeen tai -sovellukseen. HTTP-tulvat vaativat vähemmän kaistanleveyttä kuin muut hyökkäykset. HTTP GET -tulvassa hyökkääjä pyrkii sitomaan mahdollisimman paljon palvelimen tai sovelluksen resursseja jokaiseen lähettämäänsä pyyntöön, mistä seuraa oikeiden käyttäjien palvelemisen hidastuminen tai estyminen.
Molempaa esiteltyä hyökkäystyyppiä vastaan on olemassa tehokkaita puolustusmekanismeja. TCP SYN -tulvaa vastaan voi käyttää esimerkiksi SYN-välimuistia tai SYN-evästeitä, jotka perustuvat palvelimen resurssien allokoinnin rajoittamiseen. HTTP-tulvia vastaan on olemassa esimerkiksi SeVen-niminen algoritmi, joka on erityisen tehokas juurikin HTTP GET -tulvaa vastaan. SeVen perustuu puskureihin sijoitettuihin pyyntöihin ja useisiin näiden käsittelyyn liittyviin muuttujiin.
Kokoelmat
- Kandidaatintutkielmat [8344]