Verkkosovellusten palomuuri

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 19.5.2021 tarkistetusta versiosta . tarkastukset vaativat 7 muokkausta .

Verkkosovellusten palomuuri ( englanniksi  Web-sovellusten palomuuri , WAF)  on joukko näyttöjä ja suodattimia, jotka on suunniteltu havaitsemaan ja estämään verkkohyökkäyksiä verkkosovelluksia vastaan . WAF:t kuuluvat OSI-mallin [1] sovelluskerrokseen .

Itse sovelluksen kehittäjät voivat suojata verkkosovelluksen ilman WAF:ia. Tämä vaatii lisäkehityskustannuksia. Esimerkiksi tietoturvaosaston sisältö . WAF on omaksunut kyvyn suojautua kaikilta tunnetuilta tietohyökkäyksiltä, ​​minkä ansiosta voit siirtää suojaustoiminnon sille. Näin kehittäjät voivat keskittyä sovelluksen liiketoimintalogiikan toteuttamiseen , mikä antaa heille enemmän aikaa korjata haavoittuvuuksia [2] .

Kuvaus

Verkkosovellusten palomuuria käytetään peittokuvasuojana. Tämä tarkoittaa, että se istuu pääverkkosovelluksen edessä ja analysoi saapuvaa ja lähtevää liikennettä. Reaaliajassa hän päättää myöntää tai estää pääsyn [1] .

WAF:ssa voidaan tukea mitä tahansa suojausmallia: positiivista, negatiivista tai niiden yhdistelmiä. Nykyaikaiset WAF:it ovat PCI DSS :ssä kuvattujen vaatimusten alaisia . He tarkastavat myös HTTP/HTTPS-pyynnöt ja tiedonsiirtoprotokollan vastaukset suojauspolitiikan mukaisesti [3] . Lisäksi OWASP -avoin projekti kerää tietoa kompromisseista kaikkialta maailmasta ja muodostaa verkkosovellusten hyökkäysvektorien luokituksen - OWASP Top Ten [4] . WAF:t on suunniteltu vastaamaan onnistuneesti tässä luokituksessa kuvattuihin uhkiin [3] .

On huomattava, että WAF:t eivät ole ehdoton tapa suojata tietoa. Ne sisältyvät yleensä verkkosovellusten yleiseen turvajärjestelmään yhdessä muiden elementtien kanssa, esimerkiksi elementtien kanssa, jotka ratkaisevat muiden protokollien kuin HTTP / HTTPS:n, tapaustenhallintajärjestelmien, petostentorjuntapalvelujen ongelmia [5] .

Hyökkäysvektorit

Injektiot

SQL-injektiot ovat pitkään olleet onnistuneiden hyökkäysten päävektori [6] . Erilaisten tietojen käsittelyyn - poistamiseen, muuttamiseen, lisäämiseen - sovellus käyttää tietokantaa . Kun sovellus käyttää tietokantaa, se luo kyselytekstin, jonka hyökkääjä voi huijata [7] . Tämän seurauksena esimerkiksi tietoja voidaan vuotaa, poistaa tai kirjoittaa. Suojauksen vuoksi käyttäjältä saadut tiedot tarkistetaan huolellisesti, käytetään mustia tai valkoisia merkkijonojen luetteloita, pyyntöteksti on pakotettu [8] .

Istuntotallennushaavoittuvuuksien hyödyntäminen

Käyttäjien erottamiseksi, kun käyttäjä on valtuutettu sivustolle, asetetaan istuntoeväste tai myönnetään valtuutustunnus, jonka selain tallentaa ja lähettää palvelimelle joka kerta varmistaakseen, että tämä on oikea käyttäjä. Hyökkääjä voi saada tämän avaimen ja käyttää tiliä [9] . Suojauksen vuoksi tarkistetaan avaimen ohella asiaan liittyvät tiedot, kuten IP-osoite, selain. Istuntoavaimelle annetaan myös suhteellisen lyhyt käyttöikä [10] .

XSS (Cross Site Scripting)

Tämäntyyppinen hyökkäys koostuu siitä, että hyökkääjä välittää Java-Script- tai Html - koodin käyttäjän selaimeen, jossa tämä koodi suoritetaan [7] . Siten hyökkääjä voi saada evästeitä tai tietoja, jotka on syötetty tartunnan saaneen sivun muotoon. Suojauksen vuoksi tulo- ja lähtötiedot on pakotettu. Säännöllisiä lausekkeita käytetään kenttien vahvistamiseen [11] .

Luottamuksellisten tietojen paljastaminen

Tämäntyyppinen hyökkäys on suunniteltu varastamaan arkaluontoisia tietoja. Useimmiten tämä tapahtuu silloin, kun ne siirretään asiakkaalta palvelimelle suojaamattoman HTTP- tai FTP-protokollan kautta. Matkalla palvelimelle jossain solmussa, saatuaan pääsyn siihen, hyökkääjä voi lukea avoimen, suojaamattoman pyynnön, joka sisältää luottamuksellisia käyttäjätietoja [12] . Tällaisten tietojen siirtämiseen käytetään suojattuja HTTPS- ja TLS-siirtoprotokollia. Lisäksi, jos tällaisia ​​tietoja on tarpeen tallentaa, ne tallennetaan salatussa muodossa [12] .

Pääsynhallinnan haavoittuvuuksien hyödyntäminen

Pääsynhallinnan haavoittuvuudet liittyvät riittämättömään perusteelliseen tiettyjen tietojen käyttöoikeuksien tarkistamiseen. Jos sinulla on oikeuksia, hyökkääjä voi päästä käsiksi tietoihin, jotka on suljettu näiden oikeuksien vuoksi [13] .

Esimerkiksi, jos hyökkääjän tunnus on 1 ja hän voi nähdä luettelon viesteistään linkin avulla

mysite.com/messages?id=1

sitten riittämättömällä oikeuksien tarkistuksella, korvataan id-arvo 2:lla 

mysite.com/messages?id=2

palvelin lähettää viestejä käyttäjältä, jonka tunnus on 2. Valkoisia listoja käytetään suojana pääsyn tarkistamiseen. Vaikka jotkin WAF:t suorittavat tällaisia ​​vahvistustoimintoja, nämä toiminnot suoritetaan pääasiassa palvelimella [14] .

Ulkoisten XML-entiteettien käyttäminen

Vuoden 2017 OWASP-raportissa sellainen hyökkäysvektori kuin XML External Entities (XXE) [15] oli yksi suurimmista mahdollisista riskeistä verkkosovelluksille . Tällaisten hyökkäysten mahdollisuus syntyy, kun sovellus sallii käyttäjän käyttää XML-dokumentteja tiedonsiirtoon, jonka sisällön jäsentää huonosti konfiguroitu jäsentäjä. Tämän seurauksena hyökkääjä voi välittää XML-muodossa viittauksen ulkoiseen kokonaisuuteen, mikä voi johtaa tietojen katoamiseen tai muihin ei-toivottuihin vaikutuksiin palvelimessa [16] [17] . Suojauksena käytetään huolellisesti määritettyä XML-serialisaattoria tai se korvataan toisella, esimerkiksi JSONilla. Tai ulkoisten XML-olioiden tuki on poistettu käytöstä [18] .

Brute force -hyökkäykset

Raakavoimahyökkäykset ovat eräänlainen hyökkäys verkkosovellusta vastaan, jossa hyökkääjä yrittää päästä käsiksi verkkosovellukseen tai tietoihin raa'alla voimalla (tilit, salasanat, istuntotiedot).

Esimerkiksi lajittelemalla salasanaparametrin arvoa hyökkääjä voi määrittää onnistuneen valtuutuksen vastauskoodin [19] perusteella :

GET /vulnerabilities/brute/?username=admin&password=123456&Login=Kirjaudu

On huomattava, että joitain tavallisia hyökkäyksiä voidaan torjua sisällyttämällä kaikkiin nykyaikaisiin selaimiin asianmukaiset otsikot ja liput. Esimerkiksi X-XSS-Protection-otsikko tai HTTPonly-lippu Set-Cookie [20] [21] -otsikossa .

Puolustusmenetelmät

Allekirjoitusanalyysi

WAF:t käyttävät aktiivisesti allekirjoitusanalyysiä liikenteen suodattamiseen. Toteutuksessaan allekirjoitusmenetelmä käyttää vertailuun haitallisen liikenteen sanakirjaa [22] . Jos saapuvasta liikenteestä löytyi osa pyynnöstä (allekirjoituksesta), joka vastaa haitallista liikennettä, WAF:t estävät tämän pyynnön. Esimerkki allekirjoituksista [23] .

Mainesuodatin IP-osoitteille

Menetelmä perustuu IP-osoitteiden ja verkkotunnusten valkoisiin ja mustiin listoihin. Näihin listoihin viitaten WAF:t arvioivat saapuvat pyynnöt [2] .

Jotkut suositut estoluettelot:

Käyttäytymisanalyysi

Käyttäytymisanalyysi perustuu koneoppimiseen. Tämän avulla voit havaita käyttäytymisen poikkeavuuksia syvällä ymmärryksen tasoilla. Tällainen mekanismi voidaan kouluttaa sekä opettajan kanssa että ilman opettajaa pääsytunnisteisiin. Saapuvat parametrit voivat olla pääsytunnisteita, kuten HTTP-parametreja, resurssin tunniste (URL, URN), istuntotunniste [1] . Siten allokoidaan kelvollisten pääsytunnisteiden matemaattinen vertailumalli. Jos tämä malli ei täsmää, seuraava pyyntö estetään [5] . Tämän avulla voit heijastaa sekä tunnetut hyökkäykset että nollapäivän hyökkäykset [2] .

Lisäominaisuudet

DoS-suojaus

Tietojen suojaamisen lisäksi WAF:t voivat tarjota toimintoja sen saatavuudesta ja torjua DoS-hyökkäyksiä. Kun hyökkäys havaitaan, liikennekuormaan osallistuvia käyttäjiä rajoitetaan tai estetään. WAF:t voivat myös ottaa käyttöön captchan palvelimen vastauksessa, mikä estää automaattiset pyynnöt ja mahdollistaa todellisten käyttäjien [5] .

Haavoittuvuusskannerit

Mukana toimitetuilla WAF:eilla voi olla oma haavoittuvuusskanneri. Skanneri kiinnittää sovelluskehittäjien huomion puutteisiin, jotka voidaan myöhemmin korjata tai vastuu niistä voidaan siirtää WAF:lle. Tämän analyysin aikana skanneri voi luoda pyyntöjä tietyillä parametriarvoilla, jotka mahdollistavat löydetyn haavoittuvuuden hyödyntämisen. Tietäen verkkosovelluksen heikot kohdat, WAF:t luovat virtuaalisia korjaustiedostoja, jotka sulkevat tällaiset paikat [24] .

Tarviketyypit

WAF tarjoaa useita erilaisia ​​tarvikkeita.

Kaikissa näissä tapauksissa WAF:t voidaan ottaa käyttöön jollakin seuraavista vaihtoehdoista: läpinäkyvä silta , läpinäkyvä tai käänteinen välityspalvelin [25] .

Market

Internetissä olevien verkkosovellusten määrän kasvaessa niiden pätevän suojan tarve kasvaa [26] . Tämä on tekijä yritysten kehityksessä tähän suuntaan. Monet yritykset ovat mukana alan kehittämisessä. Suorita avointa markkinoiden, teknologioiden ja uhkien analytiikkaa. Koska tietoturvaperiaatteet ja -standardit on kehitetty verkkosuojauksen kehittämisen aikana, eri yritysten WAF-tuotteet ovat toiminnaltaan samanlaisia ​​ja eroavat toisistaan ​​vain graafisessa kuoressa [3] .

Suosituimmat ratkaisut:


WAF avoin lähdekoodi:

Muistiinpanot

  1. ↑ 1 2 3 WAF (Web Application Firewall) -suojausjärjestelmät . Anti-Malware.com. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  2. ↑ 1 2 3 Aleksanteri Antipov. Kuinka verkkosivustot suojaavat tai miksi WAF:ia tarvitaan? . www.securitylab.ru Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  3. ↑ 1 2 3 Yleiskatsaus verkkosovellusten tietoturvamarkkinoihin (WAF) Venäjällä ja muualla maailmassa . Anti-Malware.ru (12. elokuuta 2015). Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  4. Luokka:OWASP Top Ten Project - OWASP (downlink) . www.owasp.org. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 1. joulukuuta 2019. 
  5. ↑ 1 2 3 Laatikoiden verkkosovellusten suojaus. Verkkosovellusten palomuurin sisäosat . Anti-Malware.ru (5. lokakuuta 2015). Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  6. OWASP Top10 2017  // OWASP. Arkistoitu alkuperäisestä 26. heinäkuuta 2018.
  7. ↑ 12 Michael Cross . Web-sovellusten suojauksen kehittäjän opas. ISBN 1-59749-061-X .
  8. PHP: SQL Injection - Manuaalinen . www.php.net. Haettu 12. joulukuuta 2019. Arkistoitu alkuperäisestä 18. joulukuuta 2019.
  9. Katy Anton, Jim Manico, Jim Bird. 10 kriittistä tietoturva-aluetta, jotka ohjelmistokehittäjien on oltava tietoisia  // https://www.owasp.org  : opas verkkosovellusten suojaamiseen. — 2018. Arkistoitu 12. joulukuuta 2019.
  10. Mikä on ja miten estää viallinen todennus ja istunnonhallinta | OWASP Top 10 (A2)  (englanniksi) . hdivsecurity.com. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  11. Cross Site Scripting Prevention OWASP Cheat Sheet Series . cheatsheetseries.owasp.org. Haettu 12. joulukuuta 2019. Arkistoitu alkuperäisestä 19. joulukuuta 2019.
  12. ↑ 1 2 Top 10-2017 A3-Sensitive Data Exposure - OWASP . www.owasp.org. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 19. syyskuuta 2019.
  13. Top 10-2017 A5-Broken Access Control - OWASP . www.owasp.org. Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 23. joulukuuta 2019.
  14. Luokka:OWASP:n parhaat käytännöt: Verkkosovellusten palomuurien käyttö / versio 1.0.5 - OWASP . www.owasp.org. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 7. marraskuuta 2016.
  15. Top 10-2017 Top 10 - OWASP . www.owasp.org. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 6. marraskuuta 2019.
  16. Carrie Roberts. Käytännön XML-ulkoisen kokonaisuuden haavoittuvuuden koulutusmoduuli. – 2013.
  17. XML External Entity (XXE) -käsittely - OWASP . www.owasp.org. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 8. toukokuuta 2013.
  18. XXE (Xml eXternal Entity) - Kansalliskirjasto. N. E. Bauman . en.bmstu.wiki. Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  19. Puolustaminen raakoja hyökkäyksiä vastaan ​​. waf.pentestit.ru. Haettu 15. marraskuuta 2020. Arkistoitu alkuperäisestä 18. marraskuuta 2020.
  20. Suojausotsikot - OWASP . www.owasp.org. Haettu 15. joulukuuta 2019. Arkistoitu alkuperäisestä 15. joulukuuta 2019.
  21. HttpOnly - OWASP . www.owasp.org. Haettu 15. joulukuuta 2019. Arkistoitu alkuperäisestä 26. joulukuuta 2008.
  22. S. I. Makarenko. Tietoturva: oppikirja yliopisto-opiskelijoille.
  23. Nemesida WAF rules.bin . rlinfo.nemesida-security.com. Haettu 12. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  24. Virtuaalinen korjaus | Nemesida WAF (14. syyskuuta 2017). Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  25. Verkkosivustojen suojaamiseen tarkoitettujen palomuurien vertailu (Web Application Firewall - WAF) . Anti-Malware.ru (3. lokakuuta 2017). Haettu 11. joulukuuta 2019. Arkistoitu alkuperäisestä 11. joulukuuta 2019.
  26. ↑ Digital 2019 : Maailmanlaajuinen Internetin käyttö kiihtyy  . Olemme sosiaalisia (30.1.2019). Haettu 12. joulukuuta 2019. Arkistoitu alkuperäisestä 14. joulukuuta 2019.