A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

Tavalyi anyagunkban a felhőkörnyezet védelméről beszéltünk, 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ő. 

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

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 UNIX biztonsága a gyakorlatban..

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 bemutatta 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 ModSecurity. 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 GitHub adattárhoz). 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 - OWASP Core Rule Set.

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 Core Rule Set nyílt forráskódú. Egy másik példa a Naxsi, 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.

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

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++ libinjectionkö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.

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

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.

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

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.

A Web Application Firewall evolution: from network firewalls to cloud protection systems with machine learning

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

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster