Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

I vores tidligere materiale om cloud-emner fortalt, hvordan man beskytter it-ressourcer i offentlige skyer, og hvorfor traditionelle antivirusløsninger ikke helt er egnet til disse formål. I dette indlæg fortsætter vi emnet cloud-sikkerhed og taler om udviklingen af WAF og hvad der er bedst at vælge: hardware, software eller cloud. 

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Hvad er WAF

Over 75% af hackerangreb er rettet mod sårbarheder i webapplikationer og hjemmesider: sådanne angreb er som regel usynlige for informationssikkerheds-infrastruktur og -tjenester. Sårbarheder i webapplikationer bærer i sig risici for kompromittering og bedrageri af kontoer og personlige data for brugere, adgangskoder, kreditkortnumre. Desuden fungerer sårbarheder på en hjemmeside som en indgang for kriminelle til det corporate netværk.

Web Application Firewall (WAF) fungerer som en beskyttelsesbarriere, der blokerer angreb på webapplikationer: SQL-injektioner, cross-site scripting, fjernekodeudførelse, brute force og omgåelse af autorisation (auth bypass). Dette inkluderer angreb, der bruger zero-day sårbarheder. Applikationsfirewalls giver beskyttelse ved at overvåge indholdet af websider, inklusive HTML, DHTML og CSS, og filtrere potentielt skadelige anmodninger via HTTP/HTTPS.

Hvordan så de første løsninger ud?

De første forsøg på at skabe en Web Application Firewall blev gjort allerede i begyndelsen af 90'erne. Der er kendt til mindst tre ingeniører, der arbejdede inden for dette område. Den første var professor i datalogi, Gene Spafford fra Purdue University. Han beskrev arkitekturen af en applikationsfirewall med proxy og offentliggjorde den i 1991 i en bog «Praktisk UNIX-sikkerhed».

De to andre var informationssikkerhedsspecialisterne William Cheswick og Marcus Ranum fra Bell Labs. De udviklede en af de første prototyper af applikationsfirewalls. Den blev distribueret af virksomheden DEC - produktet blev lanceret under navnet SEAL (Secure External Access Link).

Men SEAL var ikke en fuldgyldig WAF-løsning. Det var en klassisk netværksfirewall med udvidet funktionalitet - muligheden for at blokere angreb mod FTP og RSH. Af denne grund betragtes virksomhedens Perfecto Technologies produkt (senere Sanctum) som den første WAF-løsning. I 1999 blev det præsenterede AppShield-systemen. På det tidspunkt arbejdede Perfecto Technologies på udviklingen af sikkerhedsløsninger til e-commerce, og målgruppen for deres nye produkt blev onlinebutikker. AppShield kunne analysere HTTP-anmodninger og blokere angreb baseret på dynamiske sikkerhedspolitikker.

Omkring samme tid som AppShield (i 2002) kom den første open source WAF. Den blev ModSecurityskabt med det formål at popularisere WAF-teknologierne og understøttes stadig af IT-samfundet (her er dens repository på GitHub). ModSecurity blokerer angreb på applikationer baseret på et standard sæt af regulære udtryk (signaturer) — værktøjer til at kontrollere anmodninger mod mønstre — OWASP Core Rule Set.

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

Tre generationer — allerede historie

Det er almindeligt at opdele WAF-systemer i tre generationer, der har udviklet sig i takt med teknologiens fremdrift.

Første generation. Arbejder med regulære udtryk (eller grammatikker). ModSecurity hører til denne kategori. Leverandøren af systemet studerer typer af angreb på applikationer og danner mønstre, der beskriver legitime og potentielt skadelige anmodninger. WAF sammenligner med disse lister og beslutter, hvad der skal gøres i den specifikke situation — om der skal blokeres for trafikken eller ej.

Et eksempel på opdagelse baseret på regulære udtryk er det allerede nævnte projekt Core Rule Set med open source. Et andet eksempel er Naxsi, som også er open source. Systemer med regulære udtryk har en række ulemper, især når det gælder opdagelsen af nye sårbarheder, da administratoren skal oprette ekstra regler manuelt. I tilfældet med en stor IT-infrastruktur kan der være flere tusinde regler. At håndtere så mange regulære udtryk er ret udfordrende, for ikke at nævne at deres kontrol kan reducere netværkets ydeevne.

Regulære udtryk har også et ret højt niveau af falske positiver. Den berømte lingvist Noam Chomsky foreslog en klassifikation af grammatikker, hvor han delte dem op i fire betingede niveauer af kompleksitet. Ifølge denne klassifikation kan regulære udtryk kun beskrive firewall-regler, der ikke forudsætter afvigelser fra skabelonen. Det betyder, at angribere nemt kan "narre" WAF i første generation. En af metoderne til at bekæmpe dette er at tilføje specielle tegn i anmodninger til applikationer, der ikke påvirker logikken af de ondsindede data, men som bryder signaturreglen.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Anden generation. For at overvinde problemerne med ydeevne og nøjagtighed i WAF blev der udviklet applikationsfirewalls i anden generation. De omfatter parsere, der er ansvarlige for at identificere bestemte typer angreb (på HTML, JS osv.). Disse parsere arbejder med særlige tokens, der beskriver anmodninger (f.eks. variable, string, unknown, number). Potentielt ondsindede sekvenser af tokens føres til en separat liste, som WAF-systemet regelmæssigt krydstjekker. For første gang blev denne tilgang vist på Black Hat konferencen i 2012 i form af C/C++ biblioteket libinjection, som gør det muligt at opdage SQL-injektioner.

Sammenlignet med WAF i første generation kan specialiserede parsere arbejde hurtigere. Dog har de ikke løst problemerne relateret til manuel konfiguration af systemet, når nye ondsindede angreb opstår.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Tredje generation. Evolutionen i detektionslogik i tredje generation består i anvendelsen af metoder til maskinlæring, der gør det muligt at nærme sig detektorens grammatik til den faktiske grammatik for SQL/HTML/JS de beskyttede systemer. Denne detektionslogik er i stand til at tilpasse Turing-maskinen til at dække rekursivt opregnede grammatikker. Tidligere var opgaven med at skabe en tilpasningsdygtig Turing-maskine uoverkommelig, indtil de første undersøgelser af neurale Turing-maskiner blev offentliggjort.

Maskinlæring giver en unik mulighed for at tilpasse enhver grammatik til at dække enhver type angreb uden at skulle oprette signaturlister manuelt, som det var nødvendigt ved det første generations detektion, og uden at udvikle nye tokenizere/parsers til nye typer angreb såsom Memcached, Redis, Cassandra, SSRF, som krævet af anden generations metodologi.

Ved at samle alle tre generationer af detektionslogik kan vi lave et nyt diagram, hvor den røde omrids repræsenterer tredje generation af detektion (figur 3). Denne generation omfatter en af de løsninger, vi implementerer i skyen i samarbejde med "Onsec", udvikleren af Valarms adaptive beskyttelsesplatform for webapplikationer og API'er.

Nu anvendes feedback fra applikationen i detektionslogikken til selvjustering. Inden for maskinlæring kaldes denne feedbacksløkke "forstærkning". Generelt findes der én eller flere typer forstærkning:

  • Analyse af applikationens responshandling (passiv)
  • Scanning/fuzzer (aktiv)
  • Rapportfiler/interceptor-procedurer/fælder (post factum)
  • Manuel (defineret af supervisor)

Som et resultat adresserer den tredje generations detektionslogik også et vigtigt problem med nøjagtighed. Det er nu muligt ikke blot at undgå falske positiver og falske negativer, men også at detektere accepterede reelt negative resultater, såsom opdagelse af brug af SQL-kommandoelement i kontrolpanelet, indlæsning af webside-skabeloner, AJAX-forespørgsler relateret til JavaScript-fejl, og andre.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Lad os se nærmere på de teknologiske muligheder for forskellige implementeringsmuligheder for WAF.

Hardware, software eller sky — hvad skal man vælge?

En af implementeringsmulighederne for applikationsfirewalls er en "hardware" løsning. Sådanne systemer er specialiserede computerapparater, som virksomheden installerer lokalt i sit datacenter. Men i dette tilfælde skal man købe eget udstyr og betale integratorer for opsætning og justering (hvis virksomheden ikke har sin egen IT-afdeling). Desuden forældes al hardware, så kunderne tvunget til at afsætte budget til opgradering af udstyret.

En anden måde at implementere WAF på er gennem softwareløsninger. Løsningen installeres som et supplement til et bestemt software (for eksempel ModSecurity konfigureres ovenpå Apache) og arbejder på samme server. Som regel kan sådanne løsninger implementeres både på en fysisk server og i skyen. Deres ulempe er de begrænsede muligheder for skalerbarhed og støtte fra leverandøren.

Den tredje mulighed er at konfigurere WAF fra skyen. Sådanne løsninger tilbydes af cloud-udbydere som en abonnementstjeneste. Virksomheden behøver ikke at købe og konfigurere specialiseret hardware; disse opgaver ligger hos tjenesteudbyderen. En vigtig pointe er, at moderne cloud WAF ikke indebærer migration af ressourcer til udbyderens platform. Webstedet kan være implementeret hvor som helst, også on-premise.

Hvorfor ser man i stigende grad mod cloud WAF, vil vi beskrive efterfølgende.

Hvad kan WAF i skyen

Fra et teknologisk perspektiv:

  • Udbyderen står for opdateringerne.. WAF leveres som abonnement, hvilket betyder, at udbyderen holder øje med aktualiteten af opdateringer og licenser. Opdateringer vedrører ikke kun softwaren, men også hardware. Udbyderen opgraderer serverparken og står for dens vedligeholdelse. De er også ansvarlige for belastningsbalancering og redundans. Hvis der opstår fejl på WAF-serveren, omdirigeres trafikken straks til en anden maskine. En fornuftig trafikfordeling gør det muligt at undgå situationer, hvor firewallen går ind i fail open-tilstand — ikke kan klare belastningen og stopper med at filtrere anmodninger.
  • Virtuel patching. Virtuelle patches begrænser adgangen til kompromitterede dele af applikationen, indtil udvikleren lukker sikkerhedsfejlen. Som følge heraf får kunderne hos cloud-udbyderen mulighed for roligt at vente på, at softwareleverandøren offentliggør officielle "patches". At gøre dette så hurtigt som muligt er en prioritet for softwareleverandør. For eksempel i platformen "Valarm" er der et separat programmodul, der er ansvarligt for virtuel patching. Administratoren kan tilføje tilpassede regulære udtryk for at blokere ondsindede forespørgsler. Systemet giver mulighed for at markere visse forespørgsler med flaget "Fortrolige data". Så maskeres deres parametre, og de overføres under ingen omstændigheder uden for firewallens arbejdszone.
  • Indbygget perimeter- og sårbarhedsscanner. Dette giver mulighed for selv at definere netværksgrænserne for IT-infrastrukturen ved at bruge data fra DNS-forespørgsler og WHOIS-protokollen. Derefter analyserer WAF automatisk de tjenester og funktioner, der kører inden for perimeteret (udfører portscanning). Firewallen er i stand til at opdage alle almindelige typer af sårbarheder — SQLi, XSS, XXE osv. — og identificere fejl i softwarekonfigurationen, eksempelvis uautoriseret adgang til Git- og BitBucket-repositorier og anonyme forespørgsler til Elasticsearch, Redis, MongoDB.
  • Angreb overvåges af cloudressourcer. Som regel har cloud-udbydere store mængder beregningskraft. Dette gør det muligt at analysere trusler med høj præcision og hastighed. I skyen implementeres et klynge af filtreringsnoder, gennem hvilke al trafik passerer. Disse noder blokerer angreb på webapplikationer og sender statistikker til analytisk center. Det bruger maskinlæringsalgoritmer til at opdatere blokkeringsreglerne for alle beskyttede applikationer. Implementeringen af en sådan ordning er angivet i fig. 4. Sådanne tilpassede sikkerhedsregler minimerer antallet af falske alarmer fra firewallen.

Evolutionen af Web Application Firewall: fra netværksfirewalls til skybaserede beskyttelsessystemer med maskinlæring.

Nu lidt om egenskaberne ved cloud WAF med hensyn til organisatoriske aspekter og ledelse:

  • Overgang til OpEx. I tilfældet med cloud WAF vil omkostningerne ved implementeringen være nul, da alle hardware og licenser allerede er betalt af udbyderen, og betalingen for tjenesten foretages via abonnement.
  • Forskellige hostingplaner. Brugeren af skytjenesten kan hurtigt tilslutte eller frakoble ekstra funktioner. Administration af funktionerne sker fra et samlet kontrolpanel, som også er beskyttet. Adgang til dette panel sker via HTTPS, plus der er et to-faktor autentificeringssystem baseret på TOTP (Time-based One-Time Password Algorithm).
  • Tilslutning via DNS. Du kan selv ændre DNS og konfigurere netværksruten. Til at løse disse opgaver behøver du ikke at ansætte eller uddanne særlige specialister. Som regel kan teknisk support fra udbyderen hjælpe med konfigurationen.

WAF-teknologierne har udviklet sig fra simple netværksfirewalls med empiriske regler til komplekse beskyttelsessystemer med machine learning-algoritmer. I dag besidder applikationsfirewalls et bredt spektrum af funktioner, der var svære at implementere i 90'erne. Meget af den nye funktionalitet er blevet muliggjort af cloud-teknologier. WAF-løsninger og deres komponenter fortsætter med at udvikle sig, ligesom andre områder inden for informationssikkerhed.

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

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster