V našom predchádzajúcom materiáli o cloudových témach sme , ako chrániť IT zdroje v verejnom cloude a prečo tradičné antivírusy nie sú úplne vhodné na tieto účely. V tomto príspevku budeme pokračovať v téme cloudovej bezpečnosti a porozprávame sa o evolúcii WAF a o tom, čo je lepšie zvoliť: hardvér, softvér alebo cloud.

Čo je WAF
Viac ako 75 % hackerov útokov je zameraných na zraniteľnosti webových aplikácií a stránok: takéto útoky sú zvyčajne nezaznamenané infraštruktúrou a službami bezpečnosti informácií. Zraniteľnosti webových aplikácií pritom nesú riziká kompromitovania účtov a podvodov s osobnými údajmi používateľov, heslami a číslami kreditných kariet. Okrem toho zraniteľnosti na webovej stránke slúžia ako vstupný bod pre útočníkov do firemnej siete.
Web Application Firewall (WAF) je ochranná bariéra, ktorá blokuje útoky na webové aplikácie: SQL injekcie, cross-site scripting, vzdialené vykonávanie kódu, bruteforce a obchádzanie autorizácie (auth bypass). Zahŕňa aj útoky využívajúce zero-day zraniteľnosti. Aplikačné firewally poskytujú ochranu monitorovaním obsahu webových stránok, vrátane HTML, DHTML a CSS, a filtrovaním potenciálne škodlivých požiadaviek cez HTTP/HTTPS.
Aké boli prvé riešenia?
Prvé pokusy vytvoriť Web Application Firewall sa uskutočnili už na začiatku 90-tych rokov. Je známe o minimálne troch inžinieroch, ktorí pracovali v tejto oblasti. Prvý — profesor počítačových vied Gene Spafford z Purdue University. Ten popísal architektúru aplikačného firewallu s proxy a v roku 1991 ju publikoval v knihe .
Druhými a tretími boli špecialisti na bezpečnosť informácií William Cheswick a Marcus Ranum z Bell Labs. Vyvinuli jeden z prvých prototypov aplikačných firewallov. Jeho distribúciu zabezpečovala spoločnosť DEC — produkt vydala pod názvom SEAL (Secure External Access Link).
Ale SEAL nebol plnohodnotným WAF riešením. Predstavoval klasický sieťový firewall s rozšírenou funkčnosťou — schopnosťou blokovať útoky na FTP a RSH. Z tohto dôvodu sa prvým WAF riešením dnes považuje produkt spoločnosti Perfecto Technologies (neskôr Sanctum). V roku 1999 vytvorila. systém AppShield. V tom čase sa Perfecto Technologies zaoberali vývojom IT riešení pre e-commerce a cieľovou skupinou ich nového produktu sa stali online obchody. AppShield vedel analyzovať HTTP požiadavky a blokoval útoky na základe dynamických IT politík.
Približne v rovnakom čase s AppShield (v roku 2002) sa objavil prvý WAF s otvoreným zdrojovým kódom. Stal sa ním . Bol vytvorený s cieľom popularizácie WAF technológií a je podporovaný IT komunitou dodnes (tu je jeho ). ModSecurity blokuje útoky na aplikácie na základe štandardnej sady regulárnych výrazov (sigantúr) — nástrojov na overovanie požiadaviek podľa vzoru — .
Nakoniec sa vývojárom podarilo dosiahnuť svoj cieľ — na trhu sa začali objavovať nové WAF riešenia, vrátane tých postavených na základe ModSecurity.
Tri generácie — už história
Zvyčajne sa rozlišujú tri generácie WAF systémov, ktoré sa vyvíjali s technologickým pokrokom.
Prvá generácia. Pracuje s regulárnymi výrazmi (alebo gramatikami). Patrí sem ModSecurity. Poskytovateľ systému študuje typy útokov na aplikácie a vytvára vzory, ktoré opisujú legitímne a potenciálne škodlivé požiadavky. WAF sa porovnáva s týmito zoznamami a rozhoduje, čo robiť v konkrétnej situácii — blokovať prevádzku alebo nie.
Príklad detekcie na základe regulárnych výrazov je už spomenutý projekt s otvoreným zdrojovým kódom. Ďalší príklad je , ktorý je taktiež open source. Systémy s regulárnymi výrazmi majú niekoľko nedostatkov, najmä pri odhaľovaní novej zraniteľnosti musí administrátor vytvoriť ďalšie pravidlá manuálne. V prípade rozšírenej IT infraštruktúry môže byť pravidiel niekoľko tisíc. Spravovať takéto množstvo regulárnych výrazov je pomerne náročné, nehovoriac o tom, že ich overovanie môže znižovať výkon siete.
Regulárne výrazy majú tiež pomerne vysokú mieru falošných pozitív. Slávny lingvista Noam Chomsky navrhol klasifikáciu gramatík, v ktorej ich rozdelil na štyri podmienené úrovne zložitosti. Podľa tejto klasifikácie je možné regulárnymi výrazmi opísať iba pravidlá firewallu, ktoré nepredpokladajú odchýlky od vzoru. To znamená, že útočníci môžu ľahko "očiť" WAF prvej generácie. Jednou z metód boja proti tomu je pridať do požiadaviek na aplikácie špeciálne znaky, ktoré neovplyvňujú logiku škodlivých údajov, ale narušujú podpisové pravidlo.

Druhá generácia. Aby sa prekonali problémy spojené s výkonom a presnosťou WAF, boli vyvinuté firewally aplikácií druhej generácie. Tieto firewally majú parséry, ktoré sú zodpovedné za odhaľovanie prísne definovaných typov útokov (na HTML, JS atď.). Tieto parséry pracujú so špeciálnymi tokenmi, ktoré popisujú požiadavky (napríklad variable, string, unknown, number). Potenciálne škodlivé sekvencie tokenov sú umiestnené do samostatného zoznamu, s ktorým sa WAF systém pravidelne porovnáva. Tento prístup bol prvýkrát predstavený na konferencii Black Hat 2012 vo forme C/C++ , ktorá umožňuje identifikovať SQL injekcie.
V porovnaní s WAF prvej generácie môžu špecializované parséry pracovať rýchlejšie. Avšak nevyriešili ťažkosti spojené s ručným nastavením systému pri vzniku nových škodlivých útokov.

Tretia generácia. Evolúcia v logike detekcie tretej generácie spočíva v aplikácii metód strojového učenia, ktoré umožňujú maximálne priblížiť gramatiku detekcie k skutočnej gramatike SQL/HTML/JS chránených systémov. Táto logika detekcie je schopná prispôsobiť Turingovu mašinu na pokrytie rekurzívne uvedených gramatík. Predtým bola úloha vytvoriť prispôsobiteľnú Turingovu mašinu neriešiteľná, kým neboli publikované prvé výskumy neurónových strojov Turinga.
Strojové učenie poskytuje jedinečnú príležitosť prispôsobiť akúkoľvek gramatiku tak, aby pokryla akýkoľvek typ útokov bez toho, aby bolo potrebné manuálne vytvárať zoznamy podpisov, ako to bolo potrebné pri detekcii prvej generácie, a bez vývoja nových tokenizátorov/parzrov pre nové typy útokov, ako sú vkládania Memcached, Redis, Cassandra, SSRF, ako to požadovala metodológia druhej generácie.
Kombinovaním všetkých troch generácií logiky detekcie môžeme nakresliť novú diagramu, na ktorej je červeným obrysom zobrazená tretia generácia detekcie (obrázok 3). K tejto generácii patrí jedno z riešení, ktoré realizujeme v cloude spoločne s „Onsec“, vývojárom platformy adaptívnej ochrany webových aplikácií a API Valarm.
Teraz sa v logike detekcie využíva spätná väzba z aplikácie na sebadoladenie. V rámci strojového učenia sa tento cyklus spätnej väzby nazýva „posilnenie“. Zvyčajne existuje jeden alebo viac typov tohto posilnenia:
- Analýza správania odpovede aplikácie (pasívne)
- Skenovanie/fazzer (aktívne)
- Súbory správ/niky/semenište (pôdne)
- Ručné (určené supervízorom)
Výsledkom je, že logika detekcie tretej generácie tiež rieši dôležitý problém presnosti. Teraz je možné nielen vyhnúť sa falošným poplachom a falošným negatívom, ale aj odhaliť platné skutočne negatívne výsledky, ako je odhalenie použitia príkazového prvku SQL v ovládacom paneli, načítanie šablón webových stránok, AJAX požiadavky súvisiace s chybami JavaScriptu a iné.

![]()

Ďalej preskúmame technologické možnosti rôznych variantov implementácie WAF.
Hardvér, softvér alebo cloud — čo si vybrať?
Jednou z možností implementácie aplikačných firewallov je „hardvérové“ riešenie. Tieto systémy sú špecializované výpočtové zariadenia, ktoré spoločnosť inštaluje lokálne vo svojom dátovom centre. V takom prípade však musí zakúpiť vlastný hardvér a platiť integrátorom za jeho nastavenie a ladenie (ak spoločnosť nemá vlastné IT oddelenie). Navyše, akékoľvek zariadenie zastaráva a stáva sa nepoužiteľným, preto musia zákazníci plánovať rozpočet na aktualizáciu hardvéru.
Iný spôsob nasadenia WAF je softvérová implementácia. Riešenie sa inštaluje ako doplnok pre nejaký softvér (napríklad ModSecurity sa konfiguruje nad Apache) a funguje na jednom serveri s ním. Zvyčajne je možné takéto riešenia nasadiť ako na fyzickom serveri, tak aj v cloude. Ich nevýhodou sú obmedzené možnosti škálovateľnosti a podpora zo strany dodávateľa.
Tretia možnosť je nastavenie WAF z cloudu. Takéto riešenia poskytujú cloudoví poskytovatelia ako službu na predplatné. Spoločnosti nemusia kupovať a nastavovať špecializovaný hardvér, tieto úlohy spočívajú na pleciach poskytovateľa služby. Dôležitým bodom je, že moderný cloudový WAF nepredpokladá migráciu zdrojov na platformu poskytovateľa. Webová stránka môže byť nasadená kdekoľvek, dokonca aj on-premise.
Prečo sa teraz čoraz viac pozerá na cloudový WAF, povieme ďalej.
Čo môže WAF v cloude
Z technologického hľadiska:
- O aktualizácie sa stará poskytovateľ. WAF sa poskytuje na predplatné, preto dodávateľ služby sleduje aktuálnosť aktualizácií a licencií. Aktualizácie sa týkajú nielen softvéru, ale aj hardvéru. Poskytovateľ aktualizuje serverový park a venuje sa jeho údržbe. Rovnako zodpovedá za vyváženie záťaže a zálohovanie. Ak dôjde k poruche servera WAF, traffic sa okamžite presmeruje na iný stroj. Racionálne rozdelenie trafficu zabraňuje situáciám, keď firewall prechádza do režimu fail open — nezvláda záťaž a prestáva filtrovať požiadavky.
- Virtuálne patchovanie. Virtuálne záplaty obmedzujú prístup k kompromitovaným častiam aplikácie až do uzavretia zraniteľnosti vývojárom. Výsledkom je, že zákazník cloudového poskytovateľa má možnosť pokojne počkať, kým dodávateľ daného softvéru zverejní oficiálne "záplaty". Urobiť to čo najrýchlejšie je prioritou dodávateľa softvéru. Napríklad na platforme "Valarm" zodpovedá za virtuálne záplaty samostatný softvérový modul. Administrátor môže pridávať vlastné regulárne výrazy na blokovanie škodlivých požiadaviek. Systém umožňuje označiť niektoré požiadavky ako "Dôverné údaje". V takom prípade sa ich parametre maskujú a samy o sebe za žiadnych okolností nie sú prenášané za hranice pracovnej zóny firewalla.
- Zabudovaný skener perimetra a zraniteľností. To umožňuje samostatne určovať sieťové hranice IT infraštruktúry pomocou dát DNS požiadaviek a protokolu WHOIS. Po WAF automaticky analyzuje služby a servisy fungujúce v rámci perimetra (vykonáva skenovanie portov). Firewall je schopný odhaľovať všetky rozšírené typy zraniteľností — SQLi, XSS, XXE a ďalšie — a odhaľovať chyby v konfigurácii softvéru, napríklad neoprávnený prístup k repozitárom Git a BitBucket a anonymné požiadavky na Elasticsearch, Redis, MongoDB.
- Útoky sú monitorované zdrojmi cloudu. Zvyčajne majú cloudoví poskytovatelia veľké objemy výpočtových výkonov. To umožňuje analyzovať hrozby s vysokou presnosťou a rýchlosťou. V cloude sa nasadí klaster filtrujúcich uzlov, ktorými prechádza celý trafik. Tieto uzly blokujú útoky na webové aplikácie a posielajú štatistiku do Centra analytiky. To využíva algoritmy strojového učenia na aktualizáciu pravidiel blokovania pre všetky chránené aplikácie. Realizácia takejto schémy je znázornená na obr. 4. Podobné prispôsobené pravidlá zabezpečenia minimalizujú počet falošných poplachov firewallu.

Teraz trochu o zvláštnostiach cloudových WAF z hľadiska organizačných otázok a správy:
- Prechod na OpEx. V prípade cloudových WAF bude cena implementácie rovná nule, pretože všetok hardvér a licencie už zaplatil poskytovateľ a platba za službu sa vykonáva na základe predplatného.
- Rôzne tarifné plány. Používateľ cloudovej služby môže okamžite pripojiť alebo odpojiť ďalšie možnosti. Správa funkcií sa realizuje z jedinej ovládacej panely, ktorá je taktiež chránená. Prístup k nej sa realizuje cez HTTPS, navyše existuje dvojfaktorová autentifikácia na báze protokolu TOTP (Time-based One-Time Password Algorithm).
- Pripojenie cez DNS. Môžete si sami zmeniť DNS a nastaviť smerovanie v sieti. Riešenie týchto úloh nevyžaduje školenie a zamestnávanie samostatných odborníkov. Zvyčajne s nastavením môže pomôcť technická podpora providera.
Technológie WAF prešli evolúciou od jednoduchých sieťových ochranných systémov s empirickými pravidlami po komplexné ochranné systémy s algoritmami strojového učenia. Teraz aplikácie firewally disponujú širokým spektrom funkcií, ktoré boli v 90. rokoch ťažko realizovateľné. V mnohom sa nové funkčnosti stali možné vďaka cloudovým technológiam. WAF riešenia a ich komponenty pokračujú vo vývoji, rovnako ako aj ostatné oblasti informačnej bezpečnosti.
Text pripravil Alexander Karpuzikov, produktový manažér v oblasti informačnej bezpečnosti cloudového providera #CloudMTS.
Zdroj: habr.com
