Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

În materialul nostru anterior despre tema cloud-ului, am despre, cum să protejăm resursele IT în cloud-ul public și de ce antivirusurile tradiționale nu sunt tocmai potrivite în acest scop. În această postare, vom continua tema securității cloud și vom discuta despre evoluția WAF și despre ce este mai bine să alegem: hardware, software sau cloud. 

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

Ce este WAF

Peste 75% din atacurile hackerilor vizează vulnerabilitățile aplicațiilor web și site-urilor: aceste atacuri sunt, în general, invizibile pentru infrastructura de securitate IT și serviciile de securitate. Vulnerabilitățile aplicațiilor web implică, la rândul lor, riscuri de compromitere și fraudă a conturilor și datelor personale ale utilizatorilor, parolelor, numerelor de carduri de credit. În plus, vulnerabilitățile de pe un site web servesc ca punct de intrare pentru atacatori în rețeaua corporativă.

Web Application Firewall (WAF) reprezintă un scut de protecție care blochează atacurile asupra aplicațiilor web: SQL injection, cross-site scripting, execuția de cod la distanță, brute force și ocolirea autentificării (auth bypass). Inclusiv atacuri care utilizează vulnerabilități zero-day. Firewall-urile pentru aplicații asigură protecția, monitorizând conținutul paginilor web, inclusiv HTML, DHTML și CSS, și filtrând cererile potențial dăunătoare prin HTTP/HTTPS.

Care au fost primele soluții?

Primele încercări de a crea un Web Application Firewall au fost făcute încă la începutul anilor '90. Se știe despre cel puțin trei ingineri care au lucrat în acest domeniu. Primul este profesorul de științe computerizate Gene Spafford de la Universitatea Purdue. El a descris arhitectura firewall-ului de aplicații cu proxy și a publicat-o în 1991 în cartea sa „Securitatea UNIX în practică”.

Al doilea și al treilea erau specialiști în securitate IT, William Cheswick și Marcus Ranum de la Bell Labs. Ei au dezvoltat unul dintre primele prototipuri de firewall-uri pentru aplicații. Distribuția acestuia a fost realizată de compania DEC — produsul fiind lansat sub denumirea SEAL (Secure External Access Link).

Dar SEAL nu a fost o soluție WAF completă. A fost un firewall clasic de rețea cu funcționalitate extinsă — capacitatea de a bloca atacuri asupra FTP și RSH. Din această cauză, prima soluție WAF este considerată astăzi a fi produsul companiei Perfecto Technologies (ulterior Sanctum). În 1999, compania a lansat această soluție. a prezentat sistemul AppShield. În aceeași perioadă, Perfecto Technologies se ocupa cu dezvoltarea soluțiilor de securitate pentru e-commerce, iar publicul țintă al noului lor produs au fost magazinele online. AppShield putea analiza cererile HTTP și bloca atacurile pe baza politicilor de securitate dinamice.

Aproape în același timp cu AppShield (în 2002) a apărut primul WAF cu sursă deschisă. Acesta a fost ModSecurity. A fost creat cu scopul de a populariza tehnologiile WAF și este încă susținut de comunitatea IT (iată-l repository-ul de pe GitHub). ModSecurity blochează atacurile asupra aplicațiilor, bazându-se pe un set standard de expresii regulate (semnături) — instrumente pentru a verifica cererile conform unui model — OWASP Core Rule Set.

În cele din urmă, dezvoltatorii au reușit să își atingă scopul — pe piață au început să apară noi soluții WAF, inclusiv cele bazate pe ModSecurity.

Trei generații — deja o istorie

Este acceptat să se distingă trei generații de sisteme WAF, care au evoluat pe măsură ce tehnologiile au avansat.

Prima generație. Lucrează cu expresii regulate (sau gramatici). Acesta include ModSecurity. Furnizorul sistemului studiază tipurile de atacuri asupra aplicațiilor și formează modele care descriu cererile legitime și cele potențial malițioase. WAF se compară cu aceste liste și decide ce trebuie făcut în situația specifică — să blocheze traficul sau nu.

Un exemplu de detectare pe baza expresiilor regulate este deja menționat proiectul Core Rule Set cu sursă deschisă. Un alt exemplu este Naxsi, care este, de asemenea, open-source. Sistemele cu expresii regulate au o serie de dezavantaje, în special, când se descoperă o nouă vulnerabilitate, administratorul trebuie să creeze reguli suplimentare manual. În cazul unei infrastructuri IT extinse, regulile pot număra câteva mii. Gestionarea unui astfel de număr de expresii regulate este destul de complicată, fără a mai vorbi despre faptul că verificarea lor poate reduce performanța rețelei.

De asemenea, expresiile regulate au un nivel destul de ridicat de false alarme. Celebrul lingvist Noam Chomsky a propus o clasificare a gramaticilor, în care le-a împărțit în patru niveluri condiționate de complexitate. Conform acestei clasificări, expresiile regulate pot descrie doar regulile firewall-ului care nu presupun deviații de la șablon. Aceasta înseamnă că atacatorii pot „înșela” cu ușurință WAF-ul de primă generație. Una dintre metodele de combatere a acestui lucru este de a adăuga caractere speciale în cererile către aplicații, care nu afectează logica datelor malițioase, dar încalcă regula de semnătură.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

A doua generație. Pentru a depăși problemele legate de performanță și acuratețe ale WAF-ului, au fost dezvoltate firewall-uri de aplicație de a doua generație. Acestea au introdus parseri care sunt responsabili pentru detectarea unor tipuri stricte de atacuri (pe HTML, JS etc.). Acești parseri operează cu tokeni speciali, care descriu cererile (de exemplu, variable, string, unknown, number). Secvențele potențial malițioase de tokeni sunt listate separat, cu care sistemul WAF se compară în mod regulat. Acest tip de abordare a fost prezentat pentru prima dată la conferința Black Hat 2012 sub forma unei biblioteci C/C++ libinjection, care permite detectarea injecțiilor SQL.

Comparativ cu WAF-ul de primă generație, parserii specializați pot funcționa mai repede. Cu toate acestea, ei nu au rezolvat dificultățile legate de configurarea manuală a sistemului la apariția unor noi atacuri malițioase.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

A treia generație. Evoluția logicii de detectare a treizei generații constă în aplicarea de metode de învățare automată, care permit adaptarea gramaticii de detectare la gramaticile reale SQL/HTML/JS ale sistemelor protejate. Această logică de detectare este capabilă să adapteze mașina Turing pentru a acoperi gramaticile enumerate recursiv. De altfel, înainte, problema creării unei mașini Turing adaptabile era nerezolvabilă, până când au fost publicate primele cercetări despre mașinile neuronale Turing.

Învățarea automată oferă o oportunitate unică de a adapta orice gramatică pentru a acoperi orice tip de atac, fără a crea liste de semnături manual, așa cum era necesar în detectarea primei generații, și fără a dezvolta noi tokenizatori/parsers pentru noi tipuri de atacuri, cum ar fi atacurile prin Memcached, Redis, Cassandra, SSRF, așa cum cerea metodologia celei de-a doua generații.

Îmbinând toate cele trei generații de logică de detectare, putem desena un nou diagramă, în care conturul roșu reprezintă a treia generație de detectare (fig. 3). La această generație aparține una dintre soluțiile pe care le implementăm în cloud împreună cu «Onsec», dezvoltatorul platformei de protecție adaptivă a aplicațiilor web și API-urilor Valarm.

Acum, în logica de detectare se folosește feedback-ul de la aplicație pentru auto-configurare. În cadrul învățării automate, acest ciclu de feedback se numește «învățare prin întărire». În general, există unul sau mai multe tipuri de astfel de întăriri:

  • Analiza comportamentului răspunsului aplicației (pasiv)
  • Scanare/fuzzer (activ)
  • Fișiere de rapoarte/proceduri interceptoare/capcane (post factum)
  • Manual (definit de supervizor)

Ca rezultat, logica de detectare a celei de-a treia generații abordează de asemenea o problemă importantă a preciziei. Acum este posibil nu doar să evităm alertele false și falsurile negative, ci și să detectăm rezultate clar negative, cum ar fi detectarea utilizării elementului de comandă SQL în panoul de control, încărcarea șabloanelor paginilor web, cererile AJAX legate de erorile JavaScript și altele.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

Să examinăm acum capacitățile tehnologice ale diferitelor opțiuni de implementare WAF.

Hardware, software sau cloud — ce să alegem?

Una dintre opțiunile de implementare a firewall-urilor pentru aplicații este soluția «hardware». Aceste sisteme sunt dispozitive de calcul specializate, pe care compania le instalează local în centrul său de date. Dar în acest caz, trebuie să achiziționezi propriul echipament și să plătești integratorilor pentru configurarea și testarea lui (dacă compania nu are un departament IT propriu). În plus, orice echipament devine învechit și se strică, astfel încât clienții sunt nevoiți să aloce un buget pentru actualizarea hardware-ului.

O altă opțiune de implementare a WAF-ului este soluția software. Această soluție este instalată ca o extensie pentru un anumit software (de exemplu, ModSecurity se configurează peste Apache) și funcționează pe același server cu acesta. De obicei, astfel de soluții pot fi implementate atât pe servere fizice, cât și în cloud. Dezavantajul lor constă în capacitățile limitate de scalabilitate și suport din partea furnizorului.

A treia opțiune este configurarea WAF-ului din cloud. Astfel de soluții sunt oferite de furnizorii de cloud ca un serviciu pe bază de abonament. Companiile nu trebuie să achiziționeze și să configureze hardware specializat, aceste sarcini fiind preluate de furnizorul de servicii. Un aspect important este că un WAF modern în cloud nu implică migrarea resurselor pe platforma furnizorului. Site-ul poate fi implementat oriunde, chiar și on-premise.

De ce tot mai multe organizații se îndreaptă acum către WAF-ul din cloud, vom explica mai departe.

Ce poate face WAF-ul în cloud

Din punct de vedere al capacităților tehnologice:

  • Actualizările sunt responsabilitatea furnizorului. WAF-ul este furnizat pe bază de abonament, prin urmare, furnizorul serviciului monitorizează actualitatea actualizărilor și licențelor. Actualizările vizează nu doar software-ul, ci și hardware-ul. Furnizorul îmbunătățește parcul de servere și se ocupă de întreținerea acestuia. De asemenea, el este responsabil pentru echilibrarea încărcării și rezervare. Dacă apare o defecțiune a serverului WAF, traficul este redirecționat imediat către o altă mașină. Distribuția rațională a traficului ajută la evitarea situațiilor în care firewall-ul intră în modul fail open — nu face față sarcinii și încetează filtrarea cererilor.
  • Patch virtual. Patch-urile virtuale limitează accesul la părțile compromise ale aplicației până când vulnerabilitatea este reparată de dezvoltator. Ca urmare, clientul furnizorului de cloud are posibilitatea să aștepte liniștit până când furnizorul software-ului respectiv publică „patch-urile” oficiale. A face acest lucru cât mai rapid posibil este o prioritate pentru furnizorul software-ului. De exemplu, pe platforma „Valarm”, patchingul virtual este gestionat de un modul software separat. Administratorul poate adăuga expresii regulate personalizate pentru a bloca solicitările malițioase. Sistemul permite marcarea unor solicitări cu eticheta „Date Confidențiale”. Atunci, parametrii lor sunt mascați, iar acestea nu sunt transmise în niciun caz dincolo de zona de lucru a firewall-ului.
  • Scanner perimetral și de vulnerabilitate integrat. Aceasta permite determinarea autonomă a granițelor rețelei IT, folosind datele cererilor DNS și ale protocolului WHOIS. După aceea, WAF analizează automat serviciile și aplicațiile care funcționează în interiorul perimetrului (realizând un scanare a porturilor). Firewall-ul este capabil să descopere toate tipurile comune de vulnerabilități — SQLi, XSS, XXE etc. — și să identifice erorile de configurare a software-ului, de exemplu, accesul neautorizat la depozitele Git și BitBucket și solicitări anonime către Elasticsearch, Redis, MongoDB.
  • Atacurile sunt monitorizate de resursele cloud. În general, furnizorii de cloud dispun de volume mari de putere de calcul. Aceasta permite analiza amenințărilor cu o precizie și o viteză mari. În cloud este desfășurat un cluster de noduri de filtrare, prin care trece tot traficul. Aceste noduri blochează atacurile asupra aplicațiilor web și trimit statistici către Centru de Analiză. Acesta utilizează algoritmi de învățare automată pentru a actualiza regulile de blocare pentru toate aplicațiile protejate. Implementarea unei astfel de scheme este ilustată în figura 4. Aceste reguli de securitate adaptate minimizează numărul de alarme false ale firewall-ului.

Evoluția Firewall-ului de aplicație web: de la firewall-uri de rețea la sisteme de protecție în cloud cu învățare automată.

Acum puțin despre specificitățile WAF-urilor cloud din perspectiva aspectelor organizaționale și a gestionării:

  • Trecerea la OpEx. În cazul WAF-urilor cloud, costul de implementare va fi zero, deoarece tot hardware-ul și licențele au fost deja plătite de furnizor, plata serviciului fiind efectuată pe bază de abonament.
  • Planuri tarifare diferite. Utilizatorul serviciului cloud poate activa sau dezactiva rapid opțiuni suplimentare. Managementul funcțiilor se realizează dintr-un panou de control unic, care este de asemenea protejat. Accesul la acesta se face prin HTTPS, plus că există un mecanism de autentificare cu doi factori bazat pe protocolul TOTP (Time-based One-Time Password Algorithm).
  • Conectare prin DNS. Este posibil să schimbi singur DNS-ul și să configurezi rutarea în rețea. Pentru a rezolva aceste sarcini, nu este nevoie să angajezi și să instruiești specialiști separați. De obicei, asistența tehnică a furnizorului poate oferi ajutor cu configurarea.

Tehnologiile WAF au evoluat de la simple firewall-uri cu reguli empirice la sisteme complexe de protecție cu algoritmi de învățare automată. Acum, firewall-urile aplicațiilor dispun de o gamă largă de funcții care erau greu de realizat în anii '90. În mare parte, apariția noii funcționalități a devenit posibilă datorită tehnologiilor cloud. Soluțiile WAF și componentele lor continuă să evolueze. La fel ca și alte domenii în securitatea informațională.

Textul a fost redactat de Alexandr Karpuzikov, manager de dezvoltare a produselor în securitatea informațională al furnizorului cloud #CloudMTS.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster