U našem prethodnom materijalu o temama oblaka, mi
Šta je WAF?
Više od 75% hakerskih napada cilja na ranjivosti u web aplikacijama i web stranicama: takvi napadi su obično nevidljivi za infrastrukturu i usluge sigurnosti informacija. Ranjivosti u web aplikacijama nose, zauzvrat, rizike kompromitovanja i prevare korisničkih naloga i ličnih podataka, lozinki, brojeva kreditnih kartica. Osim toga, ranjivosti na web stranici služe kao ulazna tačka za napadače u korporativnu mrežu.
Vatrozid za web aplikacije (WAF) je zaštitni zid koji blokira napade na web aplikacije: SQL injekciju, skriptovanje na više lokacija, udaljeno izvršavanje koda, grubu silu i zaobilaženje autorizacije (auth bypass). Uključujući napade koji koriste ranjivosti nultog dana. Zaštitni zidovi aplikacija pružaju zaštitu praćenjem sadržaja web stranica, uključujući HTML, DHTML i CSS, i filtriranjem potencijalno zlonamjernih HTTP/HTTPS zahtjeva.
Koje su bile prve odluke?
Prvi pokušaji da se napravi zaštitni zid za web aplikacije napravljeni su početkom 90-ih. Poznato je da su najmanje tri inženjera radila u ovoj oblasti. Prvi je profesor informatike Jean Spafford sa Univerziteta Purdue. Opisao je arhitekturu firewall aplikacije za proxy i 1991. objavio je u knjizi
Drugi i treći bili su stručnjaci za informacijsku sigurnost William Cheswick i Marcus Ranum iz Bell Labsa. Razvili su jedan od prvih prototipa zaštitnih zidova aplikacija. Distribuirao ga je DEC - proizvod je objavljen pod imenom SEAL (Secure External Access Link).
Ali SEAL nije bio potpuno WAF rješenje. Bio je to klasični mrežni firewall sa proširenom funkcionalnošću – mogućnošću blokiranja napada na FTP i RSH. Iz tog razloga, Perfecto Technologies (kasnije Sanctum) se danas smatra prvim WAF rješenjem. Godine 1999. ona
Otprilike u isto vrijeme kada i AppShield (2002. godine), pojavio se prvi WAF otvorenog koda. Postali su
Kao rezultat toga, programeri su uspjeli postići svoj cilj - na tržištu su se počela pojavljivati nova WAF rješenja, uključujući i ona izgrađena na bazi ModSecurity.
Tri generacije su istorija
Uobičajeno je razlikovati tri generacije WAF sistema koji su evoluirali razvojem tehnologije.
Prva generacija. Radi s regularnim izrazima (ili gramatikama). Uključuje ModSecurity. Provajder sistema proučava tipove napada na aplikacije i generiše obrasce koji opisuju legitimne i potencijalno zlonamerne zahteve. WAF konsultuje ove liste i odlučuje šta da uradi u određenoj situaciji - da blokira saobraćaj ili ne.
Primjer detekcije zasnovane na regularnom izrazu je već spomenuti projekat
Regularni izrazi također imaju prilično visoku stopu lažnih pozitivnih rezultata. Poznati lingvista Noam Chomsky predložio je klasifikaciju gramatika, u kojoj ih je podijelio na četiri uslovna nivoa složenosti. Prema ovoj klasifikaciji, regularni izrazi mogu opisati samo pravila zaštitnog zida koja ne podrazumijevaju odstupanja od obrasca. To znači da napadači mogu lako "prevariti" WAF-ove prve generacije. Jedan od načina za borbu protiv ovoga je dodavanje posebnih znakova zahtjevima aplikacije koji ne utječu na logiku zlonamjernih podataka, ali krše pravilo potpisa.
Druga generacija. Druga generacija zaštitnih zidova aplikacija razvijena je da zaobiđe probleme performansi i tačnosti WAF-ova. U njima su se pojavili parseri koji su odgovorni za identifikaciju strogo definisanih tipova napada (na HTML, JS, itd.). Ovi parseri rade sa posebnim tokenima koji opisuju zahtjeve (na primjer, varijabla, string, nepoznato, broj). Potencijalno zlonamjerni nizovi tokena stavljaju se u posebnu listu, koju WAF sistem redovno provjerava. Po prvi put je ovaj pristup prikazan na konferenciji Black Hat 2012 u formi C/C++
U poređenju sa WAF-ovima prve generacije, specijalizovani parseri mogu raditi brže. Međutim, nisu riješili poteškoće povezane s ručnim konfiguriranjem sistema kada se pojave novi zlonamjerni napadi.
Treća generacija. Evolucija u logici detekcije treće generacije je upotreba metoda mašinskog učenja koje omogućavaju da se gramatika detekcije što više približi stvarnoj SQL/HTML/JS gramatici zaštićenih sistema. Ova logika detekcije može prilagoditi Turingovu mašinu da pokrije rekurzivno nabrojive gramatike. Štaviše, ranije je zadatak stvaranja prilagodljive Turingove mašine bio nerešiv sve dok nisu objavljene prve studije neuronskih Turing mašina.
Strojno učenje pruža jedinstvenu mogućnost prilagođavanja bilo koje gramatike da pokrije bilo koju vrstu napada, bez ručnog kreiranja lista potpisa kako je potrebno za detekciju prve generacije i bez razvoja novih tokenizatora/parsera za nove tipove napada kao što su Memcached, Redis, Cassandra, SSRF implementacije , kako to zahtijeva druga generacija metodologije.
Kombinujući sve tri generacije detekcijske logike, možemo nacrtati novi dijagram u kojem je treća generacija detekcije predstavljena crvenim obrisom (slika 3). Ovoj generaciji pripada jedno od rješenja koje implementiramo u oblaku zajedno sa Onsec-om, programerom adaptivne sigurnosne platforme za web aplikacije i Wallarm API-ja.
Logika otkrivanja sada koristi povratne informacije iz aplikacije za pokretanje. U mašinskom učenju, ova povratna sprega se naziva "pojačanje". Obično postoji jedna ili više vrsta takvog ojačanja:
- Analizirajte ponašanje odgovora aplikacije (pasivno)
- Scan/Fuzzer (aktivan)
- Datoteke izvještaja / procedure presretača / kuke (post factum)
- Ručno (određuje supervizor)
Kao rezultat toga, logika detekcije treće generacije također rješava važno pitanje tačnosti. Sada je moguće ne samo izbjeći lažne pozitivne i lažne negativne, već i otkriti valjane istinite negativne, kao što je otkrivanje upotrebe SQL naredbenog elementa na kontrolnoj ploči, učitavanje predložaka web stranica, AJAX zahtjeva povezanih s JavaScript greškama i drugi.
Zatim razmatramo tehnološke mogućnosti različitih opcija implementacije WAF-a.
Hardver, softver ili oblak - šta odabrati?
Jedna od opcija za implementaciju zaštitnih zidova aplikacija je „gvozdeno“ rešenje. Takvi sistemi su specijalizovani računarski uređaji koje kompanija instalira lokalno u svom data centru. Ali u ovom slučaju morate kupiti sopstvenu opremu i platiti novac integratorima za konfiguraciju i otklanjanje grešaka (ako kompanija nema svoj IT odjel). Istovremeno, svaka oprema postaje zastarjela i neupotrebljiva, tako da su kupci prisiljeni izdvajati budžet za nadogradnju hardvera.
Druga opcija implementacije WAF-a je implementacija softvera. Rješenje se instalira kao dodatak za neki softver (na primjer, ModSecurity je konfigurisan na vrhu Apache-a) i radi na istom serveru sa njim. U pravilu se takva rješenja mogu implementirati i na fizičkom serveru i u oblaku. Njihov nedostatak je ograničena skalabilnost i podrška dobavljača.
Treća opcija je postavljanje WAF-a iz oblaka. Takva rješenja pružaju cloud provajderi kao pretplatnički servis. Kompanija ne mora kupovati i konfigurirati specijalizirani hardver, ovi zadaci padaju na ramena pružatelja usluga. Važna stvar - moderni WAF u oblaku ne podrazumijeva migraciju resursa na platformu provajdera. Stranica se može postaviti bilo gdje, čak i na licu mjesta.
Zašto sada sve više gledaju na cloud WAF, reći ćemo dalje.
Šta WAF može učiniti u oblaku
U pogledu tehnoloških mogućnosti:
- Provajder je odgovoran za ažuriranja.. WAF se pruža na osnovu pretplate, tako da provajder servisa prati relevantnost ažuriranja i licenci. Ažuriranja se ne odnose samo na softver, već i na hardver. Provajder nadograđuje serverski park i održava ga. Također je odgovoran za balansiranje opterećenja i redundantnost. Ako WAF server ne uspije, promet se odmah preusmjerava na drugu mašinu. Racionalna distribucija saobraćaja omogućava vam da izbegnete situacije kada firewall uđe u režim otvaranja bez greške - ne može da se nosi sa opterećenjem i prestaje da filtrira zahteve.
- Virtuelno zakrpanje. Virtuelne zakrpe ograničavaju pristup ugroženim dijelovima aplikacije sve dok programer ne zatvori ranjivost. Kao rezultat toga, kupac provajdera u oblaku dobija priliku da mirno čeka dok dobavljač ovog ili onog softvera ne objavi službene zakrpe. Da ovo uradite što je brže moguće je prioritet za dobavljača softvera. Na primjer, u Valarm platformi, poseban softverski modul je odgovoran za virtualno zakrpe. Administrator može dodati prilagođene regularne izraze da blokira zlonamjerne zahtjeve. Sistem omogućava označavanje nekih zahtjeva oznakom "Povjerljivi podaci". Tada se njihovi parametri maskiraju i ni pod kojim okolnostima se ne prenose izvan radnog područja zaštitnog zida.
- Ugrađeni skener perimetra i ranjivosti. Ovo vam omogućava da samostalno odredite mrežne granice IT infrastrukture koristeći podatke iz DNS upita i WHOIS protokola. Nakon što WAF automatski analizira usluge i servise koji rade unutar perimetra (izvršava skeniranje portova). Firewall je u stanju da otkrije sve uobičajene vrste ranjivosti - SQLi, XSS, XXE, itd. - i otkrije greške u konfiguraciji softvera, na primjer, neovlašteni pristup Git i BitBucket repozitorijumima i anonimne pozive na Elasticsearch, Redis, MongoDB.
- Napadi se prate pomoću cloud resursa. Po pravilu, provajderi u oblaku imaju velike količine računarske snage. Ovo vam omogućava da analizirate pretnje sa velikom preciznošću i brzinom. Grupa filterskih čvorova je raspoređena u oblaku kroz koji prolazi sav promet. Ovi čvorovi blokiraju napade na web aplikacije i šalju statistiku u Analytics centar. Koristi algoritme strojnog učenja za ažuriranje pravila blokiranja za sve zaštićene aplikacije. Implementacija takve šeme prikazana je na Sl. 4. Takva prilagođena sigurnosna pravila minimiziraju broj lažnih pozitivnih zaštitnog zida.
Sada malo o karakteristikama WAF-ova u oblaku u smislu organizacijskih pitanja i upravljanja:
- Prelazak na OpEx. U slučaju Cloud WAF-ova, trošak implementacije će biti nula, budući da je provajder već platio sav hardver i licence, usluga se plaća pretplatom.
- Različiti tarifni planovi. Korisnik usluge u oblaku može brzo omogućiti ili onemogućiti dodatne opcije. Funkcijama se upravlja sa jedne kontrolne table, koja je takođe zaštićena. Pristupa mu se preko HTTPS-a, plus postoji dvofaktorski mehanizam autentifikacije zasnovan na TOTP protokolu (Time-based One-Time Password Algoritam).
- DNS veza. Možete sami promijeniti DNS i konfigurirati mrežno rutiranje. Za rješavanje ovih problema nije potrebno zapošljavati i obučavati pojedinačne stručnjake. U pravilu, tehnička podrška provajdera može pomoći u konfiguraciji.
WAF tehnologije su evoluirale od jednostavnih zaštitnih zidova sa praktičnim pravilima do složenih sistema zaštite sa algoritmima mašinskog učenja. Sada zaštitni zidovi aplikacija imaju širok spektar funkcija koje je bilo teško implementirati 90-ih. Na mnogo načina, pojava novih funkcionalnosti postala je moguća zahvaljujući cloud tehnologijama. WAF rješenja i njihove komponente nastavljaju da se razvijaju. Baš kao i druge oblasti informacione sigurnosti.
Tekst je pripremio Aleksandar Karpuzikov, menadžer razvoja IS proizvoda kompanije #CloudMTS cloud provajdera.
izvor: www.habr.com