In ons vorige materiaal over de cloud hebben we , hoe IT-resources in de publieke cloud te beschermen en waarom traditionele antivirussoftware niet helemaal geschikt is voor deze doeleinden. In dit bericht zullen we het onderwerp cloudbeveiliging voortzetten en het hebben over de evolutie van WAF en wat je beter kunt kiezen: hardware, software of de cloud.Ā

Wat is WAF
Meer dan 75% van de aanvallen door hackers zijn gericht op kwetsbaarheden in webapplicaties en websites: deze aanvallen zijn doorgaans onopgemerkt door infrastructuur en services voor informatiebeveiliging. Kwetsbaarheden in webapplicaties brengen op hun beurt de risico's met zich mee van compromittering en fraude van gebruikersaccounts en persoonlijke gegevens, zoals wachtwoorden en creditcardnummers. Bovendien dienen kwetsbaarheden op een website als toegangspunt voor kwaadwillenden tot het bedrijfsnetwerk.
Een Web Application Firewall (WAF) is een beschermingsscherm dat aanvallen op webapplicaties blokkeert: SQL-injecties, cross-site scripting, remote code execution, brute force en authentificatie omzeiling. Dit omvat ook aanvallen waarbij zero-day kwetsbaarheden worden gebruikt. Applicatiefirewalls bieden bescherming door de inhoud van webpagina's te monitoren, inclusief HTML, DHTML en CSS, en potentiƫle kwaadaardige verzoeken via HTTP/HTTPS te filteren.
Hoe zagen de eerste oplossingen eruit?
De eerste pogingen om een Web Application Firewall te creƫren werden al in het begin van de jaren '90 ondernomen. Er is bekend dat er ten minste drie ingenieurs op dit gebied hebben gewerkt. De eerste was professor computerwetenschappen Gene Spafford van de Purdue University. Hij beschreef de architectuur van een applicatiefirewall met proxy en publiceerde deze in 1991 in het boek .
De tweede en derde waren veiligheidspecialisten William Cheswick en Marcus Ranum van Bell Labs. Zij ontwikkelden een van de eerste prototypes van applicatiefirewalls. Het werd verspreid door het bedrijf DEC ā het product werd uitgebracht onder de naam SEAL (Secure External Access Link).
Maar SEAL was geen volwaardig WAF-oplossing. Het was een klassieke netwerkfirewall met uitgebreide functionaliteit ā de mogelijkheid om aanvallen op FTP en RSH te blokkeren. Om deze reden wordt het eerste WAF-oplossing vandaag de dag beschouwd als het product van Perfecto Technologies (later Sanctum). In 1999 bracht het bedrijf AppShield-systeem. Tegelijkertijd was Perfecto Technologies bezig met de ontwikkeling van beveiligingsoplossingen voor e-commerce en werd de doelmarkt voor hun nieuwe product online winkels. AppShield kon HTTP-verzoeken analyseren en aanvallen blokkeren op basis van dynamische beveiligingsbeleid.
Ongeveer gelijktijdig met AppShield (in 2002) verscheen de eerste open-source WAF. Dit was . Het werd ontwikkeld met het doel WAF-technologieƫn te populariseren en wordt tot op de dag van vandaag ondersteund door de IT-gemeenschap (hier is het ). ModSecurity blokkeert aanvallen op toepassingen op basis van een standaardset van reguliere expressies (signaturen) - tools voor het controleren van verzoeken op patroon - .
Uiteindelijk zijn de ontwikkelaars erin geslaagd hun doel te bereiken - er begonnen nieuwe WAF-oplossingen op de markt te verschijnen, waaronder die gebaseerd op ModSecurity.
Drie generaties - al geschiedenis
Het wordt algemeen aanvaard om drie generaties WAF-systemen te onderscheiden, die zijn geƫvolueerd naarmate de technologie zich ontwikkelde.
De eerste generatie. Werkt met reguliere expressies (of grammatica's). Dit omvat ModSecurity. De leverancier van het systeem bestudeert de soorten aanvallen op toepassingen en vormt patronen die legitieme en mogelijk schadelijke verzoeken beschrijven. De WAF vergelijkt deze lijsten en beslist wat te doen in een specifieke situatie - verkeer blokkeren of niet.
Een voorbeeld van detectie op basis van reguliere expressies is het al genoemde project met open broncode. Een ander voorbeeld is , dat ook open-source is. Systemen met reguliere expressies hebben verschillende nadelen, vooral wanneer een nieuwe kwetsbaarheid wordt ontdekt en de beheerder handmatig extra regels moet aanmaken. Bij grootschalige IT-infrastructuren kunnen er duizenden regels zijn. Het beheren van zoveel reguliere expressies is behoorlijk ingewikkeld, om nog maar te zwijgen van het feit dat het controleren daarvan de netwerkprestaties kan verminderen.
Reguliere expressies hebben ook een vrij hoog niveau van valse positieven. De beroemde linguĆÆst Noam Chomsky heeft een classificatie van grammatica's voorgesteld, waarin hij ze verdeelde in vier hypothetische niveaus van complexiteit. Volgens deze classificatie kunnen reguliere expressies alleen de firewallregels beschrijven die geen afwijkingen van het sjabloon toelaten. Dit betekent dat aanvallers gemakkelijk de WAF van de eerste generatie kunnen 'misleiden'. Een van de methoden om dit tegen te gaan, is door speciale tekens aan aanvragen naar de toepassingen toe te voegen, die geen invloed hebben op de logica van de schadelijke gegevens, maar het handtekeningregel verstoren.

Tweede generatie. Om de problemen met betrekking tot de prestaties en nauwkeurigheid van WAF aan te pakken, zijn er applicatiefirewalls van de tweede generatie ontwikkeld. Deze hebben parsers die verantwoordelijk zijn voor het identificeren van strikt bepaalde typen aanvallen (op HTML, JS, enz.). Deze parsers werken met speciale tokens die aanvragen beschrijven (bijvoorbeeld variable, string, unknown, number). Potentieel schadelijke tokenreeksen worden in een aparte lijst geplaatst, waarmee het WAF-systeem regelmatig wordt vergeleken. Deze benadering werd voor het eerst gepresenteerd op de Black Hat-conferentie in 2012 in de vorm van C/C++Ā , die in staat is om SQL-injecties te detecteren.
In vergelijking met WAF van de eerste generatie kunnen gespecialiseerde parsers sneller werken. Echter, ze hebben de moeilijkheden met betrekking tot de handmatige configuratie van het systeem bij de opkomst van nieuwe schadelijke aanvallen niet opgelost.

Derde generatie. De evolutie in de detectielogica van de derde generatie ligt in de toepassing van machine learning-methoden, waardoor de detectiegrammatica zo dicht mogelijk kan worden gebracht bij de werkelijke grammatica van SQL/HTML/JS die wordt beschermd. Deze detectielogica is in staat om de Turing-machine aan te passen om recursief opsombare grammatica's te dekken. Bovendien was de taak om een aanpasbare Turing-machine te creƫren eerder onoplosbaar, totdat de eerste onderzoeken naar neurale Turing-machines werden gepubliceerd.
Machine learning biedt een unieke kans om elke grammatica aan te passen om type aanvallen te dekken zonder handmatig handtekeninglijsten te maken, zoals nodig was bij de detectie van de eerste generatie, en zonder nieuwe tokenizers/parsers te ontwikkelen voor nieuwe aanvalstypen, zoals Memcached, Redis, Cassandra, en SSRF, zoals vereist door de methodologie van de tweede generatie.
Door alle drie generaties van detectielogica samen te voegen, kunnen we een nieuwe diagram tekenen, waarbij de derde generatie detectie met een rode omtrek is weergegeven (fig. 3). Deze generatie omvat een van de oplossingen die we in de cloud implementeren samen met 'Onsek', de ontwikkelaar van het Valarm platform voor adaptieve bescherming van webapplicaties en API's.
Nu maakt de detectielogica gebruik van feedback van de applicatie voor zelfafstelling. In het kader van machine learning wordt deze feedbackcyclus 'versterking' genoemd. Meestal zijn er een of meerdere types van dergelijke versterking:
- Analyse van het applicatieantwoordgedrag (passief)
- Scannen/fazzer (actief)
- Rapportbestanden/interceptieprocedures/vallen (post factum)
- Handmatig (bepaald door de supervisor)
Als resultaat lost de logica van de derde generatie ook een belangrijk probleem van precisie op. Het is nu mogelijk om niet alleen valse positieven en valse negatieven te vermijden, maar ook om legitieme ware negatieve resultaten te detecteren, zoals het ontdekken van het gebruik van SQL-commando-elementen in het controlepaneel, het uploaden van webpagina-sjablonen, en AJAX-aanvragen gerelateerd aan JavaScript-fouten, en anderen.

![]()

Laten we de technologische mogelijkheden van verschillende implementatieopties van WAF bekijken.
Hardware, software of cloud ā wat te kiezen?
Een van de implementatie-opties voor applicatiefirewalls is een 'hardware'-oplossing. Dergelijke systemen zijn gespecialiseerde rekentoestellen die een bedrijf lokaal in zijn datacentrum installeert. Maar in dit geval moet de eigen apparatuur worden aangeschaft en moeten er kosten worden gemaakt voor integrators voor de installatie en configuratie (als het bedrijf geen eigen IT-afdeling heeft). Daarnaast veroudert en raakt elke apparatuur uiteindelijk verouderd, waardoor klanten gedwongen zijn om een budget voor hardware-upgrades in te calculeren.
Een andere implementatieoptie voor WAF is de softwarematige uitvoering. De oplossing wordt geĆÆnstalleerd als een aanvulling voor een bepaalde software (bijvoorbeeld ModSecurity is geconfigureerd bovenop Apache) en werkt op dezelfde server. Dergelijke oplossingen kunnen doorgaans zowel op een fysieke server als in de cloud worden geĆÆmplementeerd. Hun nadeel is de beperkte schaalbaarheid en ondersteuning van de leverancier.
De derde optie is het configureren van WAF vanuit de cloud. Dergelijke oplossingen worden aangeboden door cloudproviders als een abonnementsdienst. Bedrijven hoeven geen gespecialiseerde hardware aan te schaffen en te configureren, deze taken liggen bij de dienstverlener. Een belangrijk punt is dat een moderne cloud WAF geen migratie van middelen naar het platform van de provider vereist. De website kan op elke locatie worden geĆÆmplementeerd, zelfs on-premise.
Waarom steeds meer mensen kiezen voor cloud WAF, dat zullen we hierna uitleggen.
Wat kan WAF in de cloud
Vanuit technologisch oogpunt:
- De provider is verantwoordelijk voor updates. WAF wordt aangeboden op basis van een abonnement, daarom zorgt de dienstverlener voor de actualiteit van updates en licenties. Updates hebben betrekking op zowel de software als de hardware. De provider upgrade de serverpark en onderhoudt deze. Hij is ook verantwoordelijk voor de load balancing en redundantie. Als er een storing optreedt bij de WAF-server, wordt het verkeer onmiddellijk omgeleid naar een andere machine. Een rationele verdeling van het verkeer voorkomt situaties waarin de firewall in de fail open modus gaat ā het kan de belasting niet aan en stopt met het filteren van verzoeken.
- Virtueel patchen. Virtuele patches beperken de toegang tot gecompromitteerde delen van de applicatie totdat de ontwikkelaar de kwetsbaarheid heeft opgelost. Hierdoor kan de klant van de cloudprovider in alle rust wachten totdat de leverancier van de betreffende software officiƫle 'patches' publiceert. Het zo snel mogelijk doen hiervan is een prioriteit voor de softwareleverancier. Bijvoorbeeld, in het platform 'Valarm' is een aparte softwaremodule verantwoordelijk voor virtueel patchen. De beheerder kan aangepaste reguliere expressies toevoegen om kwaadaardige verzoeken te blokkeren. Het systeem geeft de mogelijkheid om bepaalde verzoeken te markeren met de tag 'Vertrouwelijke gegevens'. Dan worden hun parameters gemaskeerd en worden deze onder geen enkele voorwaarde buiten de werkzone van de firewall verzonden.
- Ingebouwde perimeter- en kwetsbaarheidsscanner. Dit maakt het mogelijk om zelf de netwerkgrenzen van de IT-infrastructuur te bepalen, gebruikmakend van gegevens uit DNS-verzoeken en het WHOIS-protocol. Daarna analyseert de WAF automatisch de services die binnen de perimeter draaien (uitvoertpoortscanning). De firewall kan alle veelvoorkomende typen kwetsbaarheden detecteren - SQLi, XSS, XXE, enz. - en fouten in de configuratie van software identificeren, zoals ongeautoriseerde toegang tot Git- en BitBucket-repositories en anonieme verzoeken naar Elasticsearch, Redis en MongoDB.
- Aanvallen worden gemonitord door cloudbronnen. Cloudproviders beschikken doorgaans over aanzienlijke rekenkracht. Dit maakt een hoge precisie en snelheid bij het analyseren van bedreigingen mogelijk. In de cloud wordt een cluster van filterknooppunten ontplooid, waar al het verkeer doorheen gaat. Deze knooppunten blokkeren aanvallen op webapplicaties en sturen statistieken naar het Analytics Center. Dit maakt gebruik van machine learning-algoritmen om de blokkeringregels voor alle beschermde applicaties bij te werken. De uitvoering van een dergelijk schema is aangegeven in fig. 4. Dergelijke aangepaste beveiligingsregels minimaliseren het aantal valse positieven van de firewall.

Laten we nu kijken naar de kenmerken van cloud WAF vanuit organisatorisch perspectief en beheer:
- Overgang naar OpEx. In het geval van cloud WAF is de implementatiekosten gelijk aan nul, aangezien de provider alle hardware en licenties al heeft betaald; de service wordt op abonnementsbasis afgerekend.
- Diverse abonnements. Gebruikers van de clouddienst kunnen snel extra opties in- of uitschakelen. Het beheer van functies gebeurt vanuit een enkel beheerpaneel, dat ook beveiligd is. Toegang tot dit paneel verloopt via HTTPS, en er is ook een tweefactorauthenticatiemechanisme op basis van het TOTP-protocol (Time-based One-Time Password Algorithm).
- DNS-verbinding. U kunt zelf de DNS wijzigen en de routering in het netwerk instellen. Voor deze taken is het niet nodig om afzonderlijke specialisten in te huren of op te leiden. Veelal kan de technische ondersteuning van de provider hierbij helpen.
WAF-technologieƫn hebben een evolutie doorgemaakt van eenvoudige netwerkkaders met empirische regels tot complexe beschermingssystemen met algoritmen voor machine learning. Tegenwoordig beschikken applicatiefirewalls over een breed scala aan functies die in de jaren '90 moeilijk te realiseren waren. Veel van de nieuwe functionaliteit werd mogelijk dankzij cloudtechnologieƫn. WAF-oplossingen en hun componenten blijven zich ontwikkelen. Net als andere gebieden van informatiebeveiliging.
De tekst is voorbereid door Alexander Karpuziikov, productontwikkelingsmanager van de cloudprovider #CloudMTS.
Bron: habr.com
