Tavalyi anyagunkban a felhőkörnyezet védelméről beszéltünk, , arról, hogyan védhetők az IT-erőforrások a nyilvános felhőben, és miért nem mindig alkalmasak a hagyományos víruskeresők erre a célra. E posztban folytatjuk a felhőbiztonság témáját, és beszélünk a WAF fejlődéséről, valamint arról, hogy mi a jobb választás: hardver, szoftver vagy felhő.

Mi az a WAF?
A hackertámadások több mint 75%-a a webalkalmazások és webhelyek sebezhetőségeire irányul: ezek a támadások általában észrevétlenek maradnak az információbiztonsági infrastruktúrák és szolgáltatások előtt. A webalkalmazások sebezhetőségei a felhasználói fiókok, személyes adatok, jelszavak és bankkártyaszámok kompromittálásának és csalásának kockázatait hordozzák. Emellett a weboldalon lévő sebezhetőségek a vállalati hálózatokba való betörés kapujaként szolgálnak.
A Web Application Firewall (WAF) egy olyan védőfal, amely blokkolja a webalkalmazásokra irányuló támadásokat: SQL injekciók, keresztoldali szkriptek, távoli kódvégrehajtás, brute force támadások és azonosítási áthidalás. Ide tartoznak a zero-day sebezhetőségeket kihasználó támadások is. Az alkalmazás tűzfalak védelmet nyújtanak azáltal, hogy figyelik a weboldalak tartalmát, beleértve a HTML-t, DHTML-t és CSS-t, és kiszűrik a potenciálisan rosszindulatú HTTP/HTTPS kéréseket.
Milyenek voltak az első megoldások?
Az első kísérletek a Web Application Firewall létrehozására még az 1990-es évek elején kezdődtek. Legalább három mérnök dolgozott ezen a területen. Az első a Purdue Egyetem számítástechnika professzora, Gene Spafford. Ő írta le az alkalmazás tűzfal architektúráját proxy-val, és 1991-ben publikálta egy könyvében, .
A második és harmadik mérnök William Cheswick és Marcus Ranum voltak a Bell Labs-tól. Ők dolgozták ki az egyik első alkalmazástűzfal prototípusát, amelynek elterjesztéséért a DEC vállalat felelt — a terméket SEAL (Secure External Access Link) néven adták ki.
A SEAL azonban nem volt teljes értékű WAF megoldás. Ez egy klasszikus hálózati tűzfal volt, kiterjesztett funkcionalitással — az FTP és RSH támadások blokkolásának lehetőségével. Ezért az első WAF megoldásnak ma a Perfecto Technologies (később Sanctum) terméke számít. 1999-ben ők AppShield rendszer. Ekkor a Perfecto Technologies informatikai biztonsági megoldásokat fejlesztett e-kereskedelem számára, és új termékük célközönsége az online boltok lettek. Az AppShield képes volt elemzi a HTTP-kéréseket és blokkolta a támadásokat dinamikus biztonsági politikák alapján.
Körülbelül egyidőben az AppShield-del (2002-ben) megjelent az első nyílt forráskódú WAF. Ez pedig . Célja a WAF-technológiák népszerűsítése volt, és a mai napig támogatja az IT közösség (itt a ). A ModSecurity blokkolja az alkalmazásokra irányuló támadásokat egy standard reguláris kifejezés készlet (aláírások) alapján - eszközök a kérések minták szerinti ellenőrzéséhez - .
Végül a fejlesztők elérték a céljukat - új WAF megoldások kezdtek megjelenni a piacon, beleértve a ModSecurity alapúakat is.
Három generáció - már történelem
Három WAF rendszer generációt szoktak megkülönböztetni, amelyek a technológia fejlődésével együtt fejlődtek.
Első generáció. Reguláris kifejezésekkel (vagy nyelvekkel) működik. Ide tartozik a ModSecurity. A rendszer szolgáltatója tanulmányozza az alkalmazások elleni támadások típusait és kidolgozza a mintákat, amelyek a legális és potenciálisan káros kéréseket írják le. A WAF ezeket a listákat ellenőrzi és dönt, hogy az adott helyzetben mit tegyen - blokkolja a forgalmat vagy sem.
A reguláris kifejezéseken alapuló észlelés példája a már említett projekt nyílt forráskódú. Egy másik példa a , amely szintén nyílt forráskódú. A reguláris kifejezésekkel működő rendszereknek számos hátrányuk van, különösen, ha új sebezhetőséget kell észlelni, az adminisztrátorának manuálisan kell új szabályokat létrehoznia. Egy nagy IT-infrastruktúra esetén a szabályok száma több ezer lehet. Az ilyen mennyiségű reguláris kifejezés kezelése elég nehézkes, nem beszélve arról, hogy a vizsgálatuk csökkentheti a hálózat teljesítményét.
A reguláris kifejezések meglehetősen magas hamis pozitív aránnyal rendelkeznek. A híres nyelvész Noam Chomsky egy négy szintű grammatikai osztályozást javasolt, amely lehetővé teszi a grammatikák kategorizálását a bonyolultságuk szerint. Ezen osztályozás szerint a reguláris kifejezésekkel csak olyan tűzfal-szabályok írhatók le, amelyek nem tartalmaznak eltéréseket a sablonoktól. Ez azt jelenti, hogy a támadók könnyen „meghackelhetik” az első generációs WAF-okat. Az egyik módszer ennek ellenállására az alkalmazásokra irányuló lezárásokba olyan speciális karakterek beillesztése, amelyek nem befolyásolják a rosszindulatú adatok logikáját, de megsértik a mintareglistát.

Második generáció. A WAF teljesítmény- és pontossági problémáinak kiküszöbölésére második generációs alkalmazástűzfalakat fejlesztettek ki. Ezekben olyan elemzők jelentek meg, amelyek a szigorúan meghatározott támadási típusok (például HTML, JS stb.) azonosításáért felelnek. Ezek az elemzők különféle tokenekkel dolgoznak, amelyek a kéréseket írják le (például változó, karakterlánc, ismeretlen, szám). A potenciálisan káros token-sorozatok külön listára kerülnek, amelyet a WAF rendszer rendszeresen ellenőriz. Először ezt a megközelítést a Black Hat 2012-es konferenciáján mutatták be C/C++ könyvtár formájában, amely lehetővé teszi az SQL-injekciók észlelését.
Az első generációs WAF-hoz képest a speciális elemzők gyorsabban működhetnek. Azonban nem oldották meg a rendszerek manuális konfigurálásával kapcsolatos problémákat új rosszindulatú támadások megjelenésekor.

Harmadik generáció. A harmadik generációs észlelés logikájának evolúciója a gépi tanulási módszerek alkalmazásában rejlik, amelyek közelítik az észlelési grammatikát a védett rendszerek valódi SQL/HTML/JS grammatikájához. Ez a detektálási logika képes alkalmazni a Turing-gépet a rekurzívan felsorolható grammatikák lefedésére. Korábban a Turing-gép alkalmazásának feladata megoldhatatlan volt, amíg meg nem jelentek az első kutatások a neuronális Turing-gépekről.
A gépi tanulás egyedülálló lehetőséget biztosít arra, hogy bármilyen nyelvtant az összes lehetséges támadástípushoz alkalmazzunk, anélkül, hogy kézzel jelölőlistákat kellene kidolgozni, mint az első generációs észlelésnél, és anélkül, hogy új tokenizálókat/elemzőket kellene kifejlesztenünk új támadástípusokhoz, mint például a Memcached, Redis, Cassandra, SSRF, ahogyan azt a második generációs módszertan megkövetelte.
Az összes három generációs észlelési logika egyesítésével új diagramot rajzolhatunk, ahol a harmadik generációs észlelést piros keret jelzi (3. ábra). Ehhez a generációhoz tartozik egy megoldás is, amelyet közösen valósítunk meg a felhőben az 'OnSec'-kel, a Valarm alkalmazásvédelmi platform fejlesztőjével.
Most az észlelési logikában az alkalmazás visszajelzései önbeállítást segítenek. A gépi tanulás keretein belül ezt a visszajelzési ciklust 'megerősítésnek' nevezzük. Általában egy vagy több ilyen megerősítési típus létezik:
- Az alkalmazás válaszának viselkedésének elemzése (passzív)
- Szkennelés/fázis (aktív)
- Jelentésfájlok/elfogó eljárások/csapdák (utólagos)
- Kézi (szupervizor határozza meg)
Ennek eredményeként a harmadik generációs észlelés logikája egy fontos pontossági problémát is megold. Most már elkerülhetők a hamis pozitív és hamis negatív eredmények, és lehetséges valós hamis negatív eredmények észlelése, mint például az SQL parancselem használatának észlelése a vezérlőpulton, weboldal sablonok betöltése, JavaScript hibákkal kapcsolatos AJAX lekérések és egyebek.

![]()

Tovább vizsgáljuk a különböző WAF megvalósítási lehetőségek technológiai képességeit.
Hardver, szoftver vagy felhő – mit válasszunk?
Az alkalmazás tűzfalak megvalósításának egyik lehetősége a 'hardver' megoldás. Ezek a rendszerek speciális számítógépes eszközök, amelyeket a vállalat helyben telepít a saját adatközpontjában. De ebben az esetben saját hardver beszerzésére és az integrátoroknak a telepítésért és beállításért fizetésre is szükség van (ha a vállalatnak nincs saját IT-osztálya). Ezen kívül bármilyen hardware elavul és tönkremegy, ezért a megrendelők kénytelenek költségvetést tervezni a hardverfrissítésre.
A másik WAF telepítési lehetőség a szoftveres megoldás. A megoldás kiegészítőként települ egy adott szoftverhez (például a ModSecurity az Apache fölé konfigurálható), és egy szerveren működik vele. Általában az ilyen megoldásokat lehet telepíteni fizikai szerverre és felhőbe is. Hátrányuk a korlátozott skálázhatóság és a szolgáltató általi támogatás hiánya.
A harmadik lehetőség a WAF felhőből történő konfigurálása. Az ilyen megoldásokat felhőszolgáltatók kínálják előfizetés formájában. A vállalatnak nem kell megvásárolnia és konfigurálnia a speciális hardvert, ezeket a feladatokat a szolgáltató végzi. Fontos tényező, hogy a modern felhő WAF nem jelenti a források migrálását a szolgáltató platformjára. A weboldal bárhol elérhető, akár helyben is.
Miért figyelnek egyre többen a felhő WAF-ra, azt a továbbiakban bemutatjuk.
Mit tud a WAF a felhőben
Technológiai szempontból:
- A frissítésekért a szolgáltató felelős. A WAF előfizetés alapján érhető el, ezért a frissítések és licencek érvényességének nyomon követése a szolgáltató feladata. A frissítések nemcsak a szoftveres, hanem a hardveres megoldásokra is vonatkoznak. A szolgáltató frissíti a szerverparkot, és annak karbantartásával is foglalkozik. Ő felelős a terheléselosztásért és a tartalékokért. Ha a WAF szerver leáll, a forgalmat azonnal átirányítják egy másik gépre. A forgalom racionális elosztása segít elkerülni a helyzeteket, amikor a tűzfal a fail open módban működik — nem képes kezelni a terhelést és leállítja a kérések szűrését.
- Virtuális javítás. A virtuális javítások korlátozzák a hozzáférést a kompromittált alkalmazásrészekhez, amíg a fejlesztő be nem zárja a sebezhetőséget. Ennek eredményeként a felhőszolgáltató megrendelője nyugodtan várhat arra, hogy a szoftverszolgáltató hivatalosan közzétegye a „javításokat”. A lehető leggyorsabb megvalósítás a szoftverszolgáltató prioritása. Például a „Valarm” platformon a virtuális javításokért egy külön programmodul felelős. Az adminisztrátor személyre szabható reguláris kifejezéseket adhat hozzá a káros kérések blokkolásához. A rendszer lehetővé teszi, hogy néhány kérést „Titkos adatok” jelzővel lássanak el. Ekkor a paramétereik elrejtésre kerülnek, és azok semmilyen körülmények között nem kerülnek a tűzfal munkaterületén kívülre.
- Beépített perem- és sebezhetőségvizsgáló. Ez lehetővé teszi a felhasználók számára, hogy önállóan meghatározzák az IT-infrastruktúra hálózati határait a DNS-kérések és a WHOIS protokoll adatai segítségével. Ezt követően a WAF automatikusan elemzi a peremen belül működő szolgáltatásokat és rendszereket (portvizsgálatot végez). A tűzfal képes észlelni minden elterjedt sebezhetőséget — SQLi, XSS, XXE és mások — és azonosítani a szoftver konfigurálásában lévő hibákat, például a Git és a BitBucket tárolóihoz való jogosulatlan hozzáférést, valamint az anonim hívásokat az Elasticsearch, Redis, MongoDB rendszerekhez.
- A támadások felhőforrásokkal vannak nyomon követve. Általában a felhőszolgáltatók magas számítási kapacitással rendelkeznek. Ez lehetővé teszi a fenyegetések elemzését nagy pontossággal és sebességgel. A felhőben szűrőcsomópontok klasztere kerül telepítésre, amelyeken keresztül az összes forgalom átmegy. Ezek a csomópontok blokkolják a webalkalmazások ellen irányuló támadásokat, és statisztikát küldenek az Analitikai Központba. Ez gépi tanulási algoritmusokat használ annak érdekében, hogy frissítse a blokkolási szabályokat minden védett alkalmazásra. Az ilyen típusú alkalmazott biztonsági szabályok minimalizálják a tűzfal álriasztásainak számát.

Most pedig egy kicsit a felhő WAF-ok sajátosságairól, az irányítás és a szervezési szempontok szerint:
- Átállás az OpEx-re. A felhő WAF-ok esetében a bevezetési költség nulla, mivel minden hardvert és engedélyt már a szolgáltató kifizetett, a szolgáltatás díját előfizetéssel kell megfizetni.
- Különböző díjcsomagok. A felhőszolgáltatás felhasználója gyorsan csatlakozhat vagy lecsatlakozhat a további opciókhoz. A funkciók irányítása egy egységes, biztonságos vezérlőpultból történik, amely HTTPS-en keresztül érhető el, emellett kétfaktoros hitelesítési mechanizmus is rendelkezésre áll, amely a TOTP (Időalapú Egyszeri Jelszó Algoritmus) protokollon alapul.
- Csatlakozás DNS-en keresztül. Ön is módosíthatja a DNS-t, és beállíthatja a hálózati irányítást. E feladatok elvégzéséhez nem szükséges külön szakértőket felvenni vagy kiképezni. Általában a szolgáltató műszaki támogatása segíthet a beállításban.
A WAF-technológiák fejlődése a hagyományos tűzfalaktól a gépi tanuláson alapuló komplex védelmi rendszerekig terjed. A mai alkalmazás tűzfalak széles funkcionalitással rendelkeznek, amelyeket a '90-es években nehezen lehetett volna megvalósítani. Nagymértékben az új funkciók megjelenését a felhőtechnológiák tették lehetővé. A WAF-megoldások és azok összetevői folyamatosan fejlődnek, ahogy az informatikai biztonság más területei is.
A szöveget Alexander Karpuzikov, a #CloudMTS felhőszolgáltató IT biztonsági termékeinek fejlesztési menedzsere készítette.
Forrás: habr.com
