Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

I vores tidligere materiale om cloud-emner har vi fortalt, hvordan man beskytter it-ressourcer i den offentlige sky, og hvorfor traditionelle antivirus ikke er helt egnede til disse formål. I dette indlæg vil vi fortsætte emnet skysikkerhed og tale om udviklingen af ​​WAF og hvad der er bedre at vælge: hardware, software eller sky. 

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Hvad er WAF

Mere end 75 % af hackerangreb er rettet mod sårbarheder i webapplikationer og websteder: sådanne angreb er normalt usynlige for informationssikkerhedsinfrastruktur og informationssikkerhedstjenester. Sårbarheder i webapplikationer medfører til gengæld risici for kompromittering og svindel af brugerkonti og personlige data, adgangskoder og kreditkortnumre. Derudover fungerer sårbarheder på webstedet som et indgangspunkt for angribere til virksomhedens netværk.

Web Application Firewall (WAF) er en beskyttende skærm, der blokerer angreb på webapplikationer: SQL-injektion, cross-site scripting, fjernudførelse af kode, brute force og autorisationsbypass. Herunder angreb, der udnytter zero-day sårbarheder. Applikationsfirewalls giver beskyttelse ved at overvåge websideindhold, herunder HTML, DHTML og CSS, og filtrere potentielt ondsindede HTTP/HTTPS-anmodninger.

Hvad var de første beslutninger?

De første forsøg på at oprette en webapplikationsfirewall blev gjort tilbage i begyndelsen af ​​90'erne. Mindst tre ingeniører vides at have arbejdet inden for dette felt. Den første er professor i datalogi Gene Spafford fra Purdue University. Han beskrev arkitekturen af ​​en proxy-applikations firewall og udgav den i 1991 i bogen "UNIX-sikkerhed i praksis".

Den anden og tredje var informationssikkerhedsspecialisterne William Cheswick og Marcus Ranum fra Bell Labs. De udviklede en af ​​de første applikations firewall-prototyper. Det blev distribueret af DEC - produktet blev udgivet under navnet SEAL (Secure External Access Link).

Men SEAL var ikke en fuldgyldig WAF-løsning. Det var en klassisk netværksfirewall med avanceret funktionalitet – evnen til at blokere angreb på FTP og RSH. Af denne grund anses den første WAF-løsning i dag for at være produktet af Perfecto Technologies (senere Sanctum). I 1999 fremlagde AppShield system. På det tidspunkt udviklede Perfecto Technologies informationssikkerhedsløsninger til e-handel, og onlinebutikker blev målgruppen for deres nye produkt. AppShield var i stand til at analysere HTTP-anmodninger og blokerede angreb baseret på dynamiske informationssikkerhedspolitikker.

Omtrent samtidig med AppShield (i 2002) dukkede den første open source WAF op. Han blev ModSecurity. Det blev skabt med det formål at popularisere WAF-teknologier og understøttes stadig af it-samfundet (her er det repository på GitHub). ModSecurity blokerer angreb på applikationer baseret på et standardsæt af regulære udtryk (signaturer) - værktøjer til at kontrollere anmodninger baseret på mønstre - OWASP kerneregelsæt.

Som et resultat lykkedes det udviklerne at nå deres mål - nye WAF-løsninger begyndte at dukke op på markedet, inklusive dem, der er bygget på basis af ModSecurity.

Tre generationer er allerede historie

Det er sædvanligt at skelne mellem tre generationer af WAF-systemer, som har udviklet sig med udviklingen af ​​teknologi.

Første generation. Arbejder med regulære udtryk (eller grammatikker). Dette inkluderer ModSecurity. Systemudbyderen studerer typer af angreb på applikationer og genererer mønstre, der beskriver legitime og potentielt ondsindede anmodninger. WAF tjekker disse lister og beslutter, hvad der skal gøres i en bestemt situation - for at blokere trafik eller ej.

Et eksempel på detektion baseret på regulære udtryk er det allerede nævnte projekt Kerneregelsæt åben kildekode. Et andet eksempel - Naxsi, som også er open source. Systemer med regulære udtryk har en række ulemper, især når en ny sårbarhed opdages, skal administratoren oprette yderligere regler manuelt. Hvis der er tale om en storstilet it-infrastruktur, kan der være flere tusinde regler. Det er ret svært at administrere så mange regulære udtryk, for ikke at nævne det faktum, at kontrol af dem kan reducere netværkets ydeevne.

Regulære udtryk har også en ret høj falsk positiv rate. Den berømte sprogforsker Noam Chomsky foreslog en klassificering af grammatikker, hvor han inddelte dem i fire betingede kompleksitetsniveauer. Ifølge denne klassifikation kan regulære udtryk kun beskrive firewall-regler, der ikke involverer afvigelser fra mønsteret. Det betyder, at angribere nemt kan "narre" den første generation af WAF. En metode til at bekæmpe dette er at tilføje specialtegn til applikationsanmodninger, der ikke påvirker logikken i de ondsindede data, men overtræder signaturreglen.

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Anden generation. For at omgå problemerne med ydeevne og nøjagtighed af WAF'er blev anden generations applikationsfirewalls udviklet. De har nu parsere, der er ansvarlige for at identificere strengt definerede typer angreb (på HTML, JS osv.). Disse parsere arbejder med specielle tokens, der beskriver forespørgsler (for eksempel variabel, streng, ukendt, nummer). Potentielt ondsindede token-sekvenser placeres i en separat liste, som WAF-systemet jævnligt tjekker op imod. Denne tilgang blev første gang vist på Black Hat 2012-konferencen i form af C/C++ libinjection biblioteker, som giver dig mulighed for at detektere SQL-injektioner.

Sammenlignet med førstegenerations WAF'er kan specialiserede parsere være hurtigere. De løste dog ikke vanskelighederne forbundet med manuel konfiguration af systemet, når nye ondsindede angreb dukker op.

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Tredje generation. Udviklingen i tredje generations detektionslogik består af brugen af ​​maskinlæringsmetoder, der gør det muligt at bringe detektionsgrammatikken så tæt som muligt på den rigtige SQL/HTML/JS-grammatik i de beskyttede systemer. Denne detektionslogik er i stand til at tilpasse en Turing-maskine til at dække rekursivt talrige grammatikker. Desuden var opgaven med at skabe en tilpasningsdygtig Turing-maskine uløselig, indtil de første undersøgelser af neurale Turing-maskiner blev offentliggjort.

Maskinlæring giver den unikke evne til at tilpasse enhver grammatik til at dække enhver type angreb uden manuelt at oprette signaturlister som krævet i førstegenerationsdetektion og uden at udvikle nye tokenizere/parsere til nye angrebstyper såsom Memcached, Redis, Cassandra, SSRF-injektioner , som krævet af anden generations metodologi.

Ved at kombinere alle tre generationer af detektionslogik kan vi tegne et nyt diagram, hvor tredje generation af detektion er repræsenteret af den røde kontur (figur 3). Denne generation inkluderer en af ​​de løsninger, som vi implementerer i skyen sammen med Onsek, udvikleren af ​​platformen til adaptiv beskyttelse af webapplikationer og Wallarm API.

Detektionslogikken bruger nu feedback fra applikationen til at selvindstille sig selv. I maskinlæring kaldes denne feedback-løkke "forstærkning". Typisk er der en eller flere typer af en sådan forstærkning:

  • Analyse af applikationsresponsadfærd (passiv)
  • Scan/fuzzer (aktiv)
  • Rapportér filer/aflytningsprocedurer/fælder (efter kendsgerningen)
  • Manual (defineret af supervisor)

Som et resultat heraf løser tredje generations detektionslogik også det vigtige spørgsmål om nøjagtighed. Det er nu muligt ikke kun at undgå falske positiver og falske negativer, men også at opdage gyldige sande negativer, såsom registrering af SQL-kommandoelementbrug i Kontrolpanel, indlæsning af websideskabeloner, AJAX-anmodninger relateret til JavaScript-fejl og andre.

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Dernæst vil vi overveje de teknologiske muligheder for forskellige WAF-implementeringsmuligheder.

Hardware, software eller cloud - hvad skal du vælge?

En af mulighederne for at implementere applikationsfirewalls er en hardwareløsning. Sådanne systemer er specialiserede computerenheder, som en virksomhed installerer lokalt i sit datacenter. Men i dette tilfælde skal du købe dit eget udstyr og betale penge til integratorer for at sætte det op og fejlfinde det (hvis virksomheden ikke har sin egen it-afdeling). Samtidig bliver alt udstyr forældet og bliver ubrugeligt, så kunderne er tvunget til at budgettere med hardwareopgraderinger.

En anden mulighed for at implementere en WAF er en softwareimplementering. Løsningen er installeret som en tilføjelse til noget software (for eksempel er ModSecurity konfigureret oven på Apache) og kører på den samme server med den. Sådanne løsninger kan som regel implementeres både på en fysisk server og i skyen. Deres ulempe er begrænset skalerbarhed og leverandørsupport.

Den tredje mulighed er at opsætte en WAF fra skyen. Sådanne løsninger leveres af cloud-udbydere som en abonnementstjeneste. Virksomheden behøver ikke at købe og konfigurere specialiseret hardware; disse opgaver falder på tjenesteudbyderens skuldre. En vigtig pointe er, at en moderne cloud WAF ikke indebærer migrering af ressourcer til udbyderens platform. Webstedet kan implementeres hvor som helst, selv on-premise.

Vi vil forklare yderligere, hvorfor folk nu i stigende grad søger mod cloud WAF.

Hvad WAF kan gøre i skyen

Med hensyn til teknologiske muligheder:

  • Udbyderen er ansvarlig for opdateringer. WAF leveres via abonnement, så tjenesteudbyderen overvåger relevansen af ​​opdateringer og licenser. Opdateringer vedrører ikke kun software, men også hardware. Udbyderen opgraderer serverparken og vedligeholder den. Det er også ansvarlig for belastningsbalancering og redundans. Hvis WAF-serveren fejler, omdirigeres trafikken straks til en anden maskine. Rationel fordeling af trafik giver dig mulighed for at undgå situationer, når firewallen går ind i fail open mode - den kan ikke klare belastningen og stopper med at filtrere anmodninger.
  • Virtuel patching. Virtuelle patches begrænser adgangen til kompromitterede dele af applikationen, indtil udvikleren lukker sårbarheden. Som følge heraf får kunden hos cloududbyderen mulighed for roligt at vente, indtil leverandøren af ​​denne eller hin software udgiver officielle “patches”. At gøre dette så hurtigt som muligt er en prioritet for softwareleverandøren. For eksempel i Wallarm-platformen er et separat softwaremodul ansvarlig for virtuel patching. Administratoren kan tilføje tilpassede regulære udtryk for at blokere ondsindede anmodninger. Systemet gør det muligt at markere nogle anmodninger med flaget "Fortrolige data". Derefter maskeres deres parametre, og de bliver under ingen omstændigheder transmitteret uden for firewallens arbejdsområde.
  • Indbygget perimeter- og sårbarhedsscanner. Dette giver dig mulighed for selvstændigt at bestemme netværksgrænserne for it-infrastrukturen ved hjælp af data fra DNS-forespørgsler og WHOIS-protokollen. Bagefter analyserer WAF automatisk tjenester, der kører inden for perimeteren (udfører portscanning). Firewallen er i stand til at detektere alle almindelige typer af sårbarheder - SQLi, XSS, XXE osv. - og identificere fejl i softwarekonfigurationen, for eksempel uautoriseret adgang til Git og BitBucket repositories og anonyme opkald til Elasticsearch, Redis, MongoDB.
  • Angreb overvåges af cloud-ressourcer. Som regel har cloud-udbydere store mængder computerkraft. Dette giver dig mulighed for at analysere trusler med høj nøjagtighed og hastighed. En klynge af filterknudepunkter er installeret i skyen, som al trafik passerer igennem. Disse noder blokerer angreb på webapplikationer og sender statistik til Analytics Center. Den bruger maskinlæringsalgoritmer til at opdatere blokeringsregler for alle beskyttede applikationer. Implementeringen af ​​en sådan ordning er vist i fig. 4. Sådanne skræddersyede sikkerhedsregler minimerer antallet af falske firewallalarmer.

Udviklingen af ​​webapplikationsfirewall: fra firewalls til skybaserede beskyttelsessystemer med maskinlæring

Nu lidt om funktionerne i cloud WAF'er med hensyn til organisatoriske spørgsmål og ledelse:

  • Overgang til OpEx. I tilfælde af cloud WAF'er vil implementeringsomkostningerne være nul, da al hardware og licenser allerede er betalt af udbyderen; betaling for tjenesten sker via abonnement.
  • Forskellige takstplaner. Cloud-tjenestebrugeren kan hurtigt aktivere eller deaktivere yderligere muligheder. Funktioner styres fra et enkelt kontrolpanel, som også er sikkert. Den tilgås via HTTPS, plus der er en to-faktor autentificeringsmekanisme baseret på TOTP (Time-based One-Time Password Algorithm) protokollen.
  • Forbindelse via DNS. Du kan selv ændre DNS og konfigurere netværksrouting. For at løse disse problemer er der ikke behov for at rekruttere og uddanne individuelle specialister. Som regel kan udbyderens tekniske support hjælpe med opsætning.

WAF-teknologier har udviklet sig fra simple firewalls med tommelfingerregler til komplekse beskyttelsessystemer med maskinlæringsalgoritmer. Applikationsfirewalls tilbyder nu en lang række funktioner, som var svære at implementere i 90'erne. På mange måder blev fremkomsten af ​​ny funktionalitet mulig takket være cloud-teknologier. WAF-løsninger og deres komponenter fortsætter med at udvikle sig. Ligesom andre områder af informationssikkerhed.

Teksten er udarbejdet af Alexander Karpuzikov, produktudviklingschef for informationssikkerhed hos cloud-udbyderen #CloudMTS.

Kilde: www.habr.com

Tilføj en kommentar