Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

U našem prethodnom materijalu o temama oblaka, mi rekao jekako zaštititi IT resurse u javnom oblaku i zašto tradicionalni antivirusni programi nisu baš prikladni za te svrhe. U ovom postu ćemo nastaviti temu sigurnosti u oblaku i govoriti o evoluciji WAF-a i šta je bolje izabrati: hardver, softver ili oblak. 

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

Š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 "UNIX sigurnost u praksi".

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 predstavljen AppShield sistem. U to vrijeme, Perfecto Technologies je razvijao rješenja za informacijsku sigurnost za e-trgovinu, a online trgovine su postale ciljna publika njihovog novog proizvoda. AppShield je mogao analizirati HTTP zahtjeve i blokirane napade na osnovu dinamičkih politika sajber sigurnosti.

Otprilike u isto vrijeme kada i AppShield (2002. godine), pojavio se prvi WAF otvorenog koda. Postali su Mod Security. Stvoren je da popularizira WAF tehnologije i još uvijek ga podržava IT zajednica (ovdje je njegov spremište na GitHubu). ModSecurity blokira napade na aplikacije zasnovane na standardnom skupu regularnih izraza (potpisa) - alati za provjeru zahtjeva u odnosu na obrazac - OWASP osnovni skup pravila.

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 Osnovni skup pravila open source. Drugi primjer - Naxsi, koji je također open source. Sistemi sa regularnim izrazima imaju brojne nedostatke, a posebno, kada se otkrije nova ranjivost, administrator mora ručno kreirati dodatna pravila. U slučaju velike IT infrastrukture, može postojati nekoliko hiljada pravila. Upravljanje tolikim brojem regularnih izraza je prilično teško, a da ne spominjemo da njihova provjera može usporiti performanse mreže.

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.

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

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++ biblioteke libinjekcija, koji vam omogućava da otkrijete SQL injekcije.

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.

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

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.

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

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.

Evolucija zaštitnog zida za veb aplikacije: od zaštitnih zidova do sistema zaštite zasnovanih na oblaku sa mašinskim učenjem

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

Dodajte komentar