V našem předchozím materiálu na téma cloud jsme , jak chránit IT zdroje v veřejném cloudu a proč tradiční antivirové programy nejsou úplně vhodné pro tyto účely. V tomto příspěvku budeme pokračovat v tématu cloudové bezpečnosti a probereme evoluci WAF a to, co je lepší zvolit: hardware, software nebo cloud.

Co je to WAF
Více než 75 % útoků hackerů je zaměřeno na zranitelnosti webových aplikací a stránek: takové útoky jsou obvykle neviditelné pro infrastrukturu IT zabezpečení a bezpečnostní služby. Zranitelnosti webových aplikací nesou s sebou rizika kompromitace a podvodů s účty a osobními údaji uživatelů, hesly, čísly kreditních karet. Kromě toho zranitelnosti na webu slouží jako vstupní bod pro útočníky do firemní sítě.
Web Application Firewall (WAF) představuje ochrannou bariéru, která blokuje útoky na webové aplikace: SQL injekce, meziwebové skriptování, vzdálené vykonávání kódu, bruteforce a obcházení autorizace (auth bypass). Zahrnuje i útoky využívající zero-day zranitelnosti. Firewally aplikací zajišťují ochranu tím, že monitorují obsah webových stránek, včetně HTML, DHTML a CSS, a filtrují potenciálně škodlivé požadavky přes HTTP/HTTPS.
Jaká byla první řešení?
První pokusy o vytvoření Web Application Firewallu byly podniknuty již na začátku 90. let. Je známo alespoň o třech inženýrech, kteří v této oblasti pracovali. První je profesor informatiky Gene Spafford z Purdue University. Ten popsal architekturu aplikačního firewallu s proxy a v roce 1991 ji publikoval v knize .
Druhým a třetím byli specialisté na IT zabezpečení William Cheswick a Marcus Ranum z Bell Labs. Vyvinuli jeden z prvních prototypů aplikačních firewallů. Jeho distribucí se zabývala společnost DEC — produkt byl vydán pod názvem SEAL (Secure External Access Link).
Ale SEAL nebyl plnohodnotným WAF řešením. Byla to klasická síťová firewall s rozšířenou funkčností — možností blokovat útoky na FTP a RSH. Z tohoto důvodu je prvním WAF řešením dnes považován produkt společnosti Perfecto Technologies (později Sanctum). V roce 1999 jej systému AppShield. V té době se Perfecto Technologies zabývaly vývojem řešení pro kybernetickou bezpečnost pro e-commerce a cílovou skupinou jejich nového produktu se staly online obchody. AppShield byl schopen analyzovat HTTP požadavky a blokovat útoky na základě dynamických politik kybernetické bezpečnosti.
Zhruba ve stejné době jako AppShield (v roce 2002) se objevil první WAF s otevřeným zdrojovým kódem. Stal se jím . Byl vytvářen s cílem popularizace WAF technologií a je dosud podporován IT komunitou (zde je jeho ). ModSecurity blokuje útoky na aplikace na základě standardního souboru regulárních výrazů (signature) – nástrojů pro kontrolu požadavků podle vzoru – .
Nakonec se vývojářům podařilo dosáhnout svého cíle – na trhu se začaly objevovat nové WAF řešení, včetně těch, která byla postavena na bázi ModSecurity.
Tři generace – už historie
Je obvyklé vymezit tři generace WAF systémů, které se vyvíjely s rozvojem technologií.
První generace. Funguje na základě regulárních výrazů (nebo gramatiky). Patří sem ModSecurity. Dodavatel systému zkoumá typy útoků na aplikace a vytváří vzory, které popisují legitimní a potenciálně škodlivé požadavky. WAF porovnává tyto seznamy a rozhoduje, co dělat v konkrétní situaci – blokovat provoz nebo ne.
Příkladem detekce na základě regulárních výrazů je již zmíněný projekt s otevřeným zdrojovým kódem. Dalším příkladem je , který je také open-source. Systémy s regulárními výrazy mají řadu nevýhod, zejména pokud jde o detekci nové zranitelnosti, správce musí manuálně vytvářet dodatečná pravidla. V případě rozsáhlé IT infrastruktury může být pravidel několik tisíc. Spravovat takové množství regulárních výrazů je poměrně složité, nemluvě o tom, že jejich kontrola může snižovat výkon sítě.
Regulární výrazy mají také poměrně vysokou míru falešně pozitivních výsledků. Známý lingvista Noam Chomsky navrhl klasifikaci gramatik, kterou rozdělil do čtyř podmínek složitosti. Podle této klasifikace lze regulárními výrazy popsat pouze pravidla firewallu, která neumožňují odchylky od šablony. To znamená, že útočníci mohou snadno 'oblafnout' WAF první generace. Jednou z metod boje proti tomu je přidávat do požadavků na aplikace speciální znaky, které nenarušují logiku škodlivých dat, ale narušují pravidlo pro rozpoznávání.

Druhá generace. Aby se vyřešily problémy spojené s výkonem a přesností WAF, byly vyvinuty firewally aplikací druhé generace. Ty se obohatily o parsery, které se zaměřují na identifikaci specifických typů útoků (na HTML, JS atd.). Tyto parsery pracují se speciálními tokeny, které popisují požadavky (např. proměnná, řetězec, neznámý, číslo). Potenciálně škodlivé sekvence tokenů jsou vyčleněny na samostatný seznam, který je pravidelně kontrolován systémem WAF. Tento přístup poprvé představil na konferenci Black Hat 2012 ve formě C/C++ , která umožňuje detekci SQL injekcí.
Ve srovnání s WAF první generace mohou specializované parsery pracovat rychleji. Nicméně nevyřešily problémy spojené s ručním nastavením systému při vzniku nových škodlivých útoků.

Třetí generace. Evoluce v logice detekce třetí generace spočívá v použití metod strojového učení, které umožňují co nejvíce přiblížit gramatiku detekce k reálné gramatice SQL/HTML/JS chráněných systémů. Tato logika detekce je schopna adaptovat Turingův stroj k pokrytí rekurzivně enumerovaných gramatik. Přičemž dříve byla úloha vytvoření adaptivního Turingova stroje neřešitelná, dokud nebyly publikovány první výzkumy neuronových Turingových strojů.
Strojové učení poskytuje jedinečnou příležitost přizpůsobit jakoukoli gramatiku tak, aby pokryla jakýkoli typ útoku, bez nutnosti ručně vytvářet seznamy signatur, jak to bylo požadováno při detekci první generace, a bez vývoje nových tokenizátorů/parserů pro nové typy útoků, jako jsou Memcached, Redis, Cassandra, SSRF, jak to vyžadovala metodologie druhé generace.
Kombinací všech tří generací logiky detekce můžeme nakreslit nový diagram, na kterém je červeným obrysem označena třetí generace detekce (obr. 3). Tato generace zahrnuje jedno z řešení, které implementujeme v cloudu společně s "Onsec", vývojářem platformy adaptivní ochrany webových aplikací a API Valarm.
Nyní logika detekce využívá zpětnou vazbu z aplikace pro seberegulaci. V rámci strojového učení se tento zpětnovazební cyklus nazývá „posilování“. Obvykle existuje jeden nebo více typů takového posilování:
- Analýza chování odpovědi aplikace (pasivní)
- Skenování/fazzer (aktivní)
- Soubory zpráv/procedury-odchytávače/pasti (po skutečnosti)
- Ručně (určuje supervizor)
V důsledku toho logika detekce třetí generace také řeší důležitý problém přesnosti. Nyní je možné nejen vyhnout se falešným poplachům a falešným negativům, ale také odhalit povolené skutečně negativní výsledky, jako je detekce použití příkazového prvku SQL v ovládacím panelu, načítání šablon webových stránek, AJAXové dotazy související s chybami JavaScriptu a další.

![]()

Dále se podíváme na technologické možnosti různých variant implementace WAF.
Hardware, software nebo cloud — co vybrat?
Jednou z variant implementace aplikačních firewalů je "hardwarové" řešení. Tato zařízení představují specializovaná počítačová zařízení, která společnost instaluje lokálně ve svém datovém centru. Ale v tomto případě je nutné zakoupit vlastní hardware a platit integrátorům za jeho nastavení a ladění (pokud nemá společnost vlastní IT oddělení). Přitom jakékoli zařízení se stává zastaralým a selhává, a tak musí zadavatelé počítat s rozpočtem na obnovu hardwaru.
Další variantou nasazení WAF je softwarová implementace. Řešení se instaluje jako doplněk pro nějaký software (například ModSecurity se nastavuje nad Apache) a běží na jednom serveru s ním. Obecně lze tato řešení nasadit jak na fyzickém serveru, tak v cloudu. Jejich nevýhodou jsou omezené možnosti škálovatelnosti a podpory ze strany dodavatele.
Třetí variantou je nastavení WAF v cloudu. Taková řešení poskytují cloudoví poskytovatelé jako službu na předplatném. Společnosti nemusí pořizovat a nastavovat specializovaný hardware, tyto úkoly přebírá poskytovatel služby. Důležitým bodem je, že moderní cloudový WAF neznamená migraci prostředků na platformu poskytovatele. Web může být nasazen kdekoli, dokonce i on-premise.
Proč se nyní stále častěji díváme směrem k cloudovému WAF, řekneme dále.
Co může WAF v cloudu
Z hlediska technologických možností:
- O aktualizace se stará poskytovatel. WAF je poskytován na předplatném, proto se o aktuálnost aktualizací a licencí stará poskytovatel služby. Aktualizace se týkají nejen softwaru, ale i hardwaru. Poskytovatel upgraduje serverový park a stará se o jeho údržbu. Také odpovídá za vyvažování zátěže a zálohování. Pokud dojde k poruše v chodu serveru WAF, provoz je okamžitě přesměrován na jiný stroj. Racionální rozdělení provozu umožňuje vyhnout se situacím, kdy firewall přechází do režimu fail open – nezvládá zátěž a přestává filtrovat požadavky.
- Virtuální patching. Virtuální záplaty omezují přístup k kompromitovaným částem aplikace do doby, než vývojář uzavře zranitelnost. Výsledkem je, že zákazník cloudového poskytovatele má možnost klidně počkat, až dodavatel určitého softwaru zveřejní oficiální „záplaty“. Umožnit to co nejrychleji je prioritou pro poskytovatele softwaru. Například v platformě „Valarm“ odpovídá za virtuální patching samostatný programový modul. Správce může přidávat vlastní regulární výrazy pro blokování škodlivých požadavků. Systém umožňuje označovat některé požadavky příznakem „Důvěrná data“. V takovém případě se jejich parametry maskují a samotné požadavky za žádných okolností neopouštějí pracovní zónu firewallu.
- Vestavěný skener perimetru a zranitelností. To umožňuje samostatně určovat síťové hranice IT infrastruktury pomocí dat DNS dotazů a protokolu WHOIS. Poté WAF automaticky analyzuje služby a aplikace fungující uvnitř perimetru (provádí skenování portů). Firewall dokáže odhalit všechny běžné typy zranitelností — SQLi, XSS, XXE a další — a identifikovat chyby v konfiguraci softwaru, například neoprávněný přístup k repository Git a BitBucket a anonymní přístupy k Elasticsearch, Redis, MongoDB.
- Útoky jsou monitorovány zdroji cloudu. Obvykle mají cloudoví poskytovatelé velké objemy výpočetní síly. To umožňuje analýzu hrozeb s vysokou přesností a rychlostí. V cloudu se nasazuje cluster filtrujících uzlů, přes které prochází veškerý provoz. Tyto uzly blokují útoky na webové aplikace a posílají statistiky do Centra analytiky. To používá algoritmy strojového učení, aby aktualizovalo blokovací pravidla pro všechny chráněné aplikace. Realizace takového schématu je uvedena na obrázku 4. Takto přizpůsobená bezpečnostní pravidla minimalizují počet falešných poplachů firewallu.

Nyní se trochu zaměříme na zvláštnosti cloudových WAF z hlediska organizačních aspektů a správy:
- Přechod k OpEx. V případě cloudových WAF bude cena implementace nulová, protože veškerý hardware a licence již byly zaplaceny poskytovatelem, úhrada za službu se provádí na základě předplatného.
- Různé tarifní plány. Uživatel cloudového servisu může rychle připojit nebo odpojit další možnosti. Správa funkcí se realizuje z jediné řídicího panelu, který je také chráněn. Přístup k němu je zajištěn pomocí HTTPS, navíc je k dispozici mechanismus dvoufaktorové autentizace založený na protokolu TOTP (Time-based One-Time Password Algorithm).
- Připojení přes DNS. Můžete si sami změnit DNS a nastavit směrování v síti. Pro řešení těchto úloh není třeba zaměstnávat a školit jednotlivé specialisty. Obvykle vám s nastavením může pomoci technická podpora poskytovatele.
Technologie WAF prošly evolucí od jednoduchých síťových firewallů s empirickými pravidly k komplexním ochraným systémům s algoritmy strojového učení. Dnes mají aplikační firewally široké spektrum funkcí, které byly obtížně realizovatelné v 90. letech. V mnoha ohledech se nová funkčnost stala možnou díky cloudovým technologiím. WAF řešení a jejich komponenty se stále vyvíjejí. Stejně jako ostatní oblasti IT bezpečnosti.
Text připravil Alexandr Karpuzikov, manažer pro rozvoj produktů IT bezpečnosti cloudového poskytovatele #CloudMTS.
Zdroj: habr.com
