Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

I vårt tidligere materiale om skytemaer har vi fortalte, hvordan beskytte IT-ressurser i den offentlige skyen og hvorfor tradisjonelle antivirus ikke er helt egnet for disse formålene. I dette innlegget vil vi fortsette temaet skysikkerhet og snakke om utviklingen av WAF og hva som er bedre å velge: maskinvare, programvare eller sky. 

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Hva er WAF

Mer enn 75 % av hackerangrepene er rettet mot sårbarheter i nettapplikasjoner og nettsteder: slike angrep er vanligvis usynlige for informasjonssikkerhetsinfrastruktur og informasjonssikkerhetstjenester. Sårbarheter i nettapplikasjoner medfører i sin tur risiko for kompromittering og svindel av brukerkontoer og personlige data, passord og kredittkortnumre. I tillegg fungerer sårbarheter på nettstedet som et inngangspunkt for angripere til bedriftsnettverket.

Web Application Firewall (WAF) er en beskyttende skjerm som blokkerer angrep på nettapplikasjoner: SQL-injeksjon, cross-site scripting, ekstern kjøring av kode, brute force og autorisasjonsbypass. Inkludert angrep som utnytter zero-day sårbarheter. Applikasjonsbrannmurer gir beskyttelse ved å overvåke innhold på nettsider, inkludert HTML, DHTML og CSS, og filtrere potensielt skadelige HTTP/HTTPS-forespørsler.

Hva var de første avgjørelsene?

De første forsøkene på å lage en nettapplikasjonsbrannmur ble gjort tidlig på 90-tallet. Minst tre ingeniører er kjent for å ha jobbet i dette feltet. Den første er professor i informatikk Gene Spafford fra Purdue University. Han beskrev arkitekturen til en proxy-applikasjonsbrannmur og publiserte den i 1991 i boken "UNIX-sikkerhet i praksis".

Den andre og tredje var informasjonssikkerhetsspesialistene William Cheswick og Marcus Ranum fra Bell Labs. De utviklet en av de første applikasjonsbrannmurprototypene. Det ble distribuert av DEC - produktet ble utgitt under navnet SEAL (Secure External Access Link).

Men SEAL var ikke en fullverdig WAF-løsning. Det var en klassisk nettverksbrannmur med avansert funksjonalitet – muligheten til å blokkere angrep på FTP og RSH. Av denne grunn anses den første WAF-løsningen i dag for å være produktet av Perfecto Technologies (senere Sanctum). I 1999 presentert AppShield-systemet. På den tiden utviklet Perfecto Technologies informasjonssikkerhetsløsninger for e-handel, og nettbutikker ble målgruppen for deres nye produkt. AppShield var i stand til å analysere HTTP-forespørsler og blokkerte angrep basert på dynamisk informasjonssikkerhetspolicy.

Omtrent samtidig som AppShield (i 2002), dukket den første åpen kildekode WAF opp. Han ble ModSecurity. Det ble opprettet med sikte på å popularisere WAF-teknologier og støttes fortsatt av IT-fellesskapet (her er det repository på GitHub). ModSecurity blokkerer angrep på applikasjoner basert på et standard sett med regulære uttrykk (signaturer) - verktøy for å sjekke forespørsler basert på mønstre - OWASP kjerneregelsett.

Som et resultat klarte utviklerne å nå målet sitt - nye WAF-løsninger begynte å dukke opp på markedet, inkludert de som er bygget på grunnlag av ModSecurity.

Tre generasjoner er allerede historie

Det er vanlig å skille mellom tre generasjoner WAF-systemer, som har utviklet seg med utviklingen av teknologi.

Første generasjon. Fungerer med regulære uttrykk (eller grammatikk). Dette inkluderer ModSecurity. Systemleverandøren studerer typene angrep på applikasjoner og genererer mønstre som beskriver legitime og potensielt ondsinnede forespørsler. WAF sjekker disse listene og bestemmer hva som skal gjøres i en bestemt situasjon – blokkere trafikk eller ikke.

Et eksempel på deteksjon basert på regulære uttrykk er det allerede nevnte prosjektet Kjerneregelsett åpen kilde. Et annet eksempel - Naxsi, som også er åpen kildekode. Systemer med regulære uttrykk har en rekke ulemper, spesielt når en ny sårbarhet oppdages, må administratoren lage tilleggsregler manuelt. Ved en storskala IT-infrastruktur kan det være flere tusen regler. Å administrere så mange regulære uttrykk er ganske vanskelig, for ikke å nevne det faktum at å sjekke dem kan redusere nettverksytelsen.

Regulære uttrykk har også en ganske høy falsk positiv rate. Den berømte lingvisten Noam Chomsky foreslo en klassifisering av grammatikk der han delte dem inn i fire betingede nivåer av kompleksitet. I følge denne klassifiseringen kan regulære uttrykk kun beskrive brannmurregler som ikke innebærer avvik fra mønsteret. Dette betyr at angripere enkelt kan «lure» første generasjon WAF. En metode for å bekjempe dette er å legge til spesialtegn i applikasjonsforespørsler som ikke påvirker logikken til de ondsinnede dataene, men som bryter med signaturregelen.

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Andre generasjon. For å omgå ytelses- og nøyaktighetsproblemene til WAF-er, ble andre generasjons applikasjonsbrannmurer utviklet. De har nå parsere som er ansvarlige for å identifisere strengt definerte typer angrep (på HTML, JS, etc.). Disse parserne fungerer med spesielle tokens som beskriver spørringer (for eksempel variabel, streng, ukjent, tall). Potensielt ondsinnede tokensekvenser plasseres i en egen liste, som WAF-systemet jevnlig sjekker mot. Denne tilnærmingen ble først vist på Black Hat 2012-konferansen i form av C/C++ libinjection-biblioteker, som lar deg oppdage SQL-injeksjoner.

Sammenlignet med førstegenerasjons WAF-er, kan spesialiserte parsere være raskere. Imidlertid løste de ikke vanskelighetene forbundet med å manuelt konfigurere systemet når nye ondsinnede angrep dukker opp.

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Tredje generasjon. Utviklingen i tredjegenerasjons deteksjonslogikk består av bruk av maskinlæringsmetoder som gjør det mulig å bringe deteksjonsgrammatikken så nært som mulig til den virkelige SQL/HTML/JS-grammatikken til de beskyttede systemene. Denne deteksjonslogikken er i stand til å tilpasse en Turing-maskin til å dekke rekursivt tallrike grammatikker. Dessuten var tidligere oppgaven med å lage en tilpasningsdyktig Turing-maskin uløselig inntil de første studiene av nevrale Turing-maskiner ble publisert.

Maskinlæring gir den unike muligheten til å tilpasse enhver grammatikk for å dekke enhver type angrep uten å manuelt lage signaturlister som kreves i førstegenerasjonsdeteksjon, og uten å utvikle nye tokenizere/parsere for nye angrepstyper som Memcached, Redis, Cassandra, SSRF-injeksjoner , som kreves av andre generasjons metodikk.

Ved å kombinere alle tre generasjonene med deteksjonslogikk, kan vi tegne et nytt diagram der tredje generasjon deteksjon er representert med den røde omrisset (Figur 3). Denne generasjonen inkluderer en av løsningene som vi implementerer i skyen sammen med Onsek, utvikleren av plattformen for adaptiv beskyttelse av webapplikasjoner og Wallarm API.

Deteksjonslogikken bruker nå tilbakemelding fra applikasjonen for å selvinnstille seg selv. I maskinlæring kalles denne tilbakemeldingssløyfen "forsterkning". Vanligvis er det en eller flere typer slik armering:

  • Analyse av applikasjonsresponsatferd (passiv)
  • Skann/fuzzer (aktiv)
  • Rapporter filer/avskjæringsprosedyrer/feller (i ettertid)
  • Manual (definert av veileder)

Som et resultat tar tredjegenerasjons deteksjonslogikk også opp det viktige spørsmålet om nøyaktighet. Det er nå mulig ikke bare å unngå falske positiver og falske negativer, men også å oppdage gyldige sanne negativer, for eksempel gjenkjenning av SQL-kommandoelementbruk i kontrollpanelet, innlasting av nettsidemaler, AJAX-forespørsler relatert til JavaScript-feil og andre.

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Deretter vil vi vurdere de teknologiske egenskapene til ulike WAF-implementeringsalternativer.

Maskinvare, programvare eller sky – hva skal du velge?

Et av alternativene for å implementere applikasjonsbrannmurer er en maskinvareløsning. Slike systemer er spesialiserte dataenheter som et selskap installerer lokalt i datasenteret sitt. Men i dette tilfellet må du kjøpe ditt eget utstyr og betale penger til integratorer for å sette det opp og feilsøke det (hvis selskapet ikke har sin egen IT-avdeling). Samtidig blir alt utstyr utdatert og ubrukelig, så kundene blir tvunget til å budsjettere med maskinvareoppgraderinger.

Et annet alternativ for å distribuere en WAF er en programvareimplementering. Løsningen er installert som et tillegg for noe programvare (for eksempel er ModSecurity konfigurert på toppen av Apache) og kjører på samme server med den. Som regel kan slike løsninger distribueres både på en fysisk server og i skyen. Ulempen deres er begrenset skalerbarhet og leverandørstøtte.

Det tredje alternativet er å sette opp en WAF fra skyen. Slike løsninger leveres av skyleverandører som en abonnementstjeneste. Selskapet trenger ikke å kjøpe og konfigurere spesialisert maskinvare; disse oppgavene faller på skuldrene til tjenesteleverandøren. Et viktig poeng er at en moderne sky WAF ikke innebærer migrering av ressurser til leverandørens plattform. Nettstedet kan distribueres hvor som helst, selv på stedet.

Vi vil forklare videre hvorfor folk nå i økende grad ser mot sky WAF.

Hva WAF kan gjøre i skyen

Når det gjelder teknologiske evner:

  • Leverandøren er ansvarlig for oppdateringer. WAF leveres med abonnement, så tjenesteleverandøren overvåker relevansen av oppdateringer og lisenser. Oppdateringer gjelder ikke bare programvare, men også maskinvare. Leverandøren oppgraderer serverparken og vedlikeholder den. Den er også ansvarlig for lastbalansering og redundans. Hvis WAF-serveren svikter, omdirigeres trafikken umiddelbart til en annen maskin. Rasjonell fordeling av trafikk lar deg unngå situasjoner når brannmuren går inn i feil åpen modus - den kan ikke takle belastningen og slutter å filtrere forespørsler.
  • Virtuell patching. Virtuelle patcher begrenser tilgangen til kompromitterte deler av applikasjonen til utvikleren lukker sårbarheten. Som et resultat får kunden til skyleverandøren muligheten til å rolig vente til leverandøren av denne eller den programvaren publiserer offisielle "patcher". Å gjøre dette så raskt som mulig er en prioritet for programvareleverandøren. For eksempel, i Wallarm-plattformen, er en egen programvaremodul ansvarlig for virtuell patching. Administratoren kan legge til tilpassede regulære uttrykk for å blokkere ondsinnede forespørsler. Systemet gjør det mulig å merke noen forespørsler med flagget "Konfidensielle data". Da blir parameterne deres maskert, og de blir under ingen omstendigheter overført utenfor brannmurens arbeidsområde.
  • Innebygd perimeter og sårbarhetsskanner. Dette lar deg uavhengig bestemme nettverksgrensene til IT-infrastrukturen ved hjelp av data fra DNS-spørringer og WHOIS-protokollen. Etterpå analyserer WAF automatisk tjenester som kjører innenfor perimeteren (utfører portskanning). Brannmuren er i stand til å oppdage alle vanlige typer sårbarheter - SQLi, XSS, XXE, etc. - og identifisere feil i programvarekonfigurasjon, for eksempel uautorisert tilgang til Git- og BitBucket-lagre og anonyme anrop til Elasticsearch, Redis, MongoDB.
  • Angrep overvåkes av skyressurser. Som regel har skyleverandører store mengder datakraft. Dette lar deg analysere trusler med høy nøyaktighet og hastighet. En klynge med filternoder er utplassert i skyen, som all trafikk går gjennom. Disse nodene blokkerer angrep på nettapplikasjoner og sender statistikk til Analytics Center. Den bruker maskinlæringsalgoritmer for å oppdatere blokkeringsregler for alle beskyttede applikasjoner. Implementeringen av et slikt opplegg er vist i fig. 4. Slike skreddersydde sikkerhetsregler minimerer antallet falske brannmuralarmer.

Utviklingen av nettapplikasjonsbrannmur: fra brannmurer til skybaserte beskyttelsessystemer med maskinlæring

Nå litt om funksjonene til sky WAF-er når det gjelder organisatoriske problemer og ledelse:

  • Overgang til OpEx. Når det gjelder sky-WAF-er, vil kostnadene ved implementering være null, siden all maskinvare og lisenser allerede er betalt av leverandøren; betaling for tjenesten skjer med abonnement.
  • Ulike tariffplaner. Skytjenestebrukeren kan raskt aktivere eller deaktivere tilleggsalternativer. Funksjoner administreres fra ett enkelt kontrollpanel, som også er sikkert. Den er tilgjengelig via HTTPS, pluss at det er en tofaktorautentiseringsmekanisme basert på TOTP-protokollen (Time-based One-Time Password Algorithm).
  • Tilkobling via DNS. Du kan endre DNS selv og konfigurere nettverksruting. For å løse disse problemene er det ikke nødvendig å rekruttere og trene individuelle spesialister. Som regel kan leverandørens tekniske støtte hjelpe til med oppsett.

WAF-teknologier har utviklet seg fra enkle brannmurer med tommelfingerregler til komplekse beskyttelsessystemer med maskinlæringsalgoritmer. Applikasjonsbrannmurer tilbyr nå et bredt spekter av funksjoner som var vanskelige å implementere på 90-tallet. På mange måter ble fremveksten av ny funksjonalitet mulig takket være skyteknologier. WAF-løsninger og deres komponenter fortsetter å utvikle seg. Akkurat som andre områder innen informasjonssikkerhet.

Teksten ble utarbeidet av Alexander Karpuzikov, produktutviklingssjef for informasjonssikkerhet hos skyleverandøren #CloudMTS.

Kilde: www.habr.com

Legg til en kommentar