Meie eelmisel materjalis pilveteemal rääkisime , kuidas kaitsta IT-ressursse avalikus pilves ja miks traditsioonilised viirusetõrjesüsteemid ei sobi nende eesmärkide saavutamiseks. Käesolevas postituses jätkame pilvekaitse teemat ning arutame WAF-i arengut ja milline on parem valik: riistvara, tarkvara või pilv.

Mis on WAF
Üle 75% häkkerite rünnakutest on suunatud veebirakenduste ja -lehtede haavatavustele: sellised rünnakud jäävad tavaliselt märkamatuks küberturbe infrastruktuuri ja teenuste jaoks. Veebirakenduste haavatavused toovad omakorda kaasa riske, mis seonduvad kontode ja isikuandmete, paroolide ning krediitkaartide numbrite kompromiteerimise ja pettuse riskiga. Lisaks on veebilehe haavatavused sissetungijate sissepääsu punktiks ettevõtte sisevõrku.
Veebirakenduse tõkkesein (WAF) on kaitsekiht, mis blokeerib rünnakud veebirakendustele: SQL-i süstimise, ülekandekirjutamise, kaugkäitamise koodi, bruteforce'i ja autoriseerimise ümbermineku. Sealhulgas rünnakud, mis kasutavad zero-day haavatavusi. Rakenduse tulemüürid tagavad kaitse, jälgides veebilehtede sisu, sealhulgas HTML, DHTML ja CSS, ning filtreerides potentsiaalselt kahjulikke päringuid HTTP/HTTPS protokollide kaudu.
Millised olid esimesed lahendused?
Esimesed katsed luua veebirakenduse tõkkesein tehti juba 90. aastate alguses. Teada on vähemalt kolme inseneri, kes töötasid sellel alal. Esimene neist on arvutiteaduste professor Gene Spafford Purdue ülikoolist. Ta kirjeldas rakenduste tulemüüri arhitektuuri proksiga ja avaldas selle 1991. aastal raamatus .
Teised kaks olid küberturbe spetsialistid William Cheswick ja Marcus Ranum Bell Labs-ist. Nad arendasid välja ühe esimesi rakenduste tulemüüri prototüüpe. Selle levitamisega tegeles ettevõte DEC — toode toodi turule nimega SEAL (Secure External Access Link).
Kuid SEAL ei olnud täielik WAF-lahendus. See oli klassikaline võrgu tulemüür, millel oli laiendatud funktsionaalsus — rünnakute blokeerimise võimalus FTP ja RSH suhtes. Seetõttu peetakse esimeseks WAF-lahenduseks tänapäeval Perfecto Technologies tooteid (hiljem Sanctum). 1999. aastal toodi see turule. AppShield süsteem. Sel ajal tegeles Perfecto Technologies e-kaubanduse jaoks küberjulgeoleku lahenduste arendamisega, ning nende uue toote sihtgrupiks said veebipoed. AppShield suutis analüüsida HTTP-päringuid ja blokeerida rünnakuid dünaamiliste küberpoliitikate alusel.
Umbes sama ajal kui AppShield (2002. aastal) ilmus esimene avatud koodiga WAF. Selleks sai . Selle eesmärk oli populariseerida WAF-tehnoloogiaid ja seda toetab IT-kommuun siiani (siin on selle ). ModSecurity blokib rünnakuid rakendustele, tuginedes standardsetele regulaarsete väljendite (signatuuride) komplektidele - tööriistadele päringute kontrollimiseks mustri järgi - .
Lõpptulemuseks oli see, et arendajatel õnnestus oma eesmärke saavutada - turule ilmusid uued WAF-lahendused, sealhulgas need, mis põhinevad ModSecurity-l.
Kolm põlvkonda - juba ajalugu
Tavaliselt eristatakse kolme põlvkonna WAF-süsteeme, mis on arenenud tehnoloogia arenguga.
Esimene põlvkond. Töötab regulaarsete väljendite (või grammatikatega). Selle hulka kuulub ModSecurity. Süsteemide pakkujad uurivad rakendustele suunatud rünnakute tüüpe ning moodustavad mustrid, mis kirjeldavad seaduslikke ja potentsiaalselt kahjulikke päringuid. WAF võrdleb nende loenditega ja otsustab, mida teha konkreetses olukorras - blokeerida liiklus või mitte.
Regulaarsete väljendite alusel avastamise näitena on juba mainitud projekt avatud lähtekoodiga. Teine näide on , mis on samuti avatud lähtekoodiga. Regulaarsetel väljenditel põhinevatel süsteemidel on mitmeid puudusi, sealhulgas tuleb uue haavatavuse avastamisel administraatoril käsitsi luua täiendavaid reegleid. Suurte IT-infrastruktuuride puhul võib reegleid olla mitu tuhat. Sellise hulga regulaarsete väljendite haldamine on üsna keeruline, rääkimata sellest, et nende kontrollimine võib vähendada võrgu jõudlust.
Samuti on regulaarsetel väljendel suhteliselt kõrge valehäirete tase. Kuulus lingvist Noam Chomsky pakkus välja grammatikate klassifitseerimise, jagades need neljaks tinglikuks keerukuse tasemeks. Selle klassifitseerimise kohaselt saab regulaarsete väljenditega kirjeldada ainult tulemüüri reegleid, mis ei eelda mustrist kõrvalekaldeid. See tähendab, et kurjategijad saavad hõlpsasti petta esimese põlvkonna WAF-i. Üks meetod selle vastu võitlemiseks on lisada rakendustele esitatavatesse päringutesse erilisi sümboleid, mis ei mõjuta pahatahtlike andmete loogikat, kuid rikuvad signatuurireeglit.

Teine põlvkond. Probleemide lahendamiseks, mis on seotud WAF-i jõudluse ja täpsusega, loodi teise põlvkonna rakenduste tulemüüre. Nendes on olemas parsereid, mille ülesanne on tuvastada kindlaid ründe tüüpe (nt HTML, JS jne). Need parserid töötavad spetsiaalsete tokenitega, mis kirjeldavad päringuid (nt variable, string, unknown, number). Potentsiaalselt kahjulikud tokenite jadasid kantakse eraldi nimekirja, millega WAF-süsteem regulaarselt võrreldakse. Esmakordselt esitati see lähenemine konverentsil Black Hat 2012 kujul C/C++ , mis võimaldab tuvastada SQL-sisestusi.
Võrreldes esimese põlvkonna WAF-iga suudavad spetsialiseeritud parserid töötada kiiremini. Siiski ei lahendanud nad süsteemi manuaalse seadistamisega seotud raskusi, kui ilmnevad uued pahatahtlikud rünnakud.

Kolmas põlvkond. Kolmanda põlvkonna avastamise loogika evolutsioon seisneb masinõppe meetodite rakendamises, mis võimaldavad viia avastamisgrammatika võimalikult lähedale SQL/HTML/JS kaitstava süsteemi tegelikule grammatikale. See avastamisloogika suudab kohandada Turingi masinat, et hõlmata rekursiivselt loetletud grammasid. Lisaks oli varem kohandatava Turingi masina loomise ülesanne lahendamata, kuni avaldati esimesed uuringud närvivõrkude Turingi masinatest.
Masinõpe pakub ainulaadset võimalust kohandada mis tahes grammatikat, et katta igasuguseid rünnakuteid ilma allkirjade loomiseta käsitsi, nagu oli vajalik esimese põlvkonna tuvastamisel, ja ilma uute tokeniseerijate/parsersite arendamiseta uute rünnakute jaoks, nagu näiteks Memcached, Redis, Cassandra, SSRF, nagu nõudis teise põlvkonna metodoloogia.
Kombineerides kõik kolm tuvastamise loogika põlvkonda, saame joonistada uue diagrammi, kus punase kontuuriga on esindatud kolmas põlvkond (joonis 3). Selle põlvkonnaga seondub üks lahendus, mida me rakendame pilves koostöös "Onsec", veebirakenduste ja API kohandatud kaitseplatvormi arendaja Valarm.
Nüüd kasutatakse tuvastamise loogikas tagasisidet rakendusest automaatse seadistamise jaoks. Masinõppe raames nimetatakse seda tagasiside tsüklit "kinnitamiseks". Üldiselt on olemas üks või mitu sellise kinnitamise tüüpi:
- Rakenduse vastuse käitumise analüüs (passiivne)
- Skaneerimine/fazzer (aktiivne)
- Aruandefailid/ülekandeprotseduurid/lõksud (pärast fakti)
- Käsitsi (määratud superviisori poolt)
Seega lahendab kolmanda põlvkonna tuvastamise loogika ka olulise täpsuse probleemi. Nüüd on võimalik mitte ainult vältida valehäireid ja valeotsuseid, vaid ka tuvastada lubatud tõeliselt negatiivseid tulemusi, nagu käskude elemendi SQL kasutamise tuvastamine juhtpaneelis, veebilehe malli üleslaadimine, AJAX-i päringud, mis on seotud JavaScripti vigadega jne.

![]()

Edasi liikumiseks vaatame erinevate WAF-i rakendamisvõimaluste tehnoloogilisi võimalusi.
Riistvara, tarkvara või pilv - mida valida?
Üks rakenduste tulemüüride rakendamise võimalusi on "riistvara" lahendus. Sellised süsteemid on spetsialiseeritud arvutus seadmed, mille ettevõte paigaldab kohapeal oma andmekeskuses. Kuid sel juhul tuleb osta oma varustust ja maksta integratoritele selle seadistamise ja häälestamise eest (kui ettevõttel puudub oma IT-osakond). Samuti vananeb iga seadmed ja muutuvad kasutuskõlbmatuks, seega peavad kliendid arvestama eelarvega riistvara värskendamiseks.
Teine WAF-i juurutamise variant on tarkvaraline lahendus. See lahendus installitakse mõne rakenduse (näiteks ModSecurity, mis konfigureeritakse Apache'i peale) täienduseks ja töötab koos selle serveriga. Tüüpiliselt saab selliseid lahendusi juurutada nii füüsilisel serveril kui ka pilves. Nende miinus on piiratud skaleerimisvõimalused ja teenusepakkuja tugi.
Kolmas variant on WAF-i seadistamine pilvest. Sellised lahendused pakuvad pilveteenuse pakkujad tellimusena. Ettevõttel ei ole vaja osta ja seadistada spetsialiseeritud riistvara; need ülesanded lasuvad teenusepakkujal. Oluline punkt on see, et kaasaegne pilve WAF ei eelda ressursside migreerimist teenuse pakkuja platvormile. Veebisait võib olla juurutatud igas kohas, isegi kohaliku infrastruktuuri põhjal.
Miks pöördutakse praegu üha enam pilve WAF-i poole, räägime edasi.
Mida suudab WAF pilves
Tehniliste võimaluste aspektist:
- Uuenduste eest vastutab teenusepakkuja. WAF-i pakutakse tellimuse alusel, seega jälgib teenusepakkuja, et uuendused ja litsentsid oleksid ajakohased. Uuendused puudutavad mitte ainult tarkvara, vaid ka riistvara. Teenusepakkuja uuendab serveriparki ja tegeleb selle hooldusega. Samuti vastutab ta koormuse tasakaalustamise ja varukoopiate eest. Kui WAF-serveris tekib rikete olukord, suunatakse liiklus kohe teisele masinale. Ratsonaalne liikluse jaotamine aitab vältida olukordi, kus tulemüür siseneb fail open režiimi — ei suuda koormusega toime tulla ja lõpetab päringute filtreerimise.
- Virtuaalne patchimine. Virtuaalsed plaastrid piiravad juurdepääsu kompromiteeritud rakenduse osadele kuni arendaja haavatavuse sulgemiseni. Selle tulemuseks on see, et kliendil on võimalus rahulikult oodata, kuni tarkvaratootja avaldab ametlikud "plaastrid". Kiireim võimalik rakendamine on tarkvaratootja prioriteet. Näiteks Valami platvormil vastutab virtuaalse plaastrimise eest eraldi tarkvaramoodul. Administraator saab lisada kohandatud regulaarsed avaldised pahatahtlike päringute blokeerimiseks. Süsteem võimaldab märkida mõningaid päringuid "Confidential Data" lipuga. Siis nende parameetreid maskitakse, ja need ei tohi mingil juhul ületada tulemüüri tööala.
- Sisseehitatud perimeetri ja haavatavuste skanner. See võimaldab iseseisvalt määratleda IT-infrastruktuuri võrgu piire, kasutades DNS-päringute ja WHOIS-protokolli andmeid. Pärast seda analüüsib WAF automaatselt perimeetri sees töötavaid teenuseid ja teenuseid (sooritab sadamate skaneerimise). Tulemüür suudab tuvastada kõiki levinud haavatavusi - SQLi, XSS, XXE jne. - ning tuvastada tarkvara konfiguratsiooni vigu, näiteks volitamata juurdepääs Git ja BitBucket varadele ning anonüümsed pöördumised Elasticsearchi, Redis, MongoDB poole.
- Rünnakud jälgitakse pilve ressursside poolt. Tõenäoliselt on pilveteenuse pakkujatel suur hulga arvutusvõimet. See võimaldab ohte analüüsida suure täpsuse ja kiirusiga. Pilves paigutatakse filtrite sõlmede klaster, mille kaudu kogu liiklus läbib. Need sõlmed blokeerivad rünnakud veebirakendustele ja saadavad statistikat analüütikakeskusesse. See kasutab masinõppe algoritme, et värskendada blokeerimise reegleid kõigi kaitstud rakenduste jaoks. Sellise skeemi rakendamine on näidatud joonisel 4. Kohandatud turbereeglid vähendavad valehäirete arvu tulemüüri puhul.

Nüüd natuke pilve WAFide omadustest organisatsiooniliste aspektide ja haldamise kontekstis:
- Üleminek OpEx. Pilve WAFide puhul on rakendamise kulud null, kuna kogu riistvara ja litsentsid on juba teenusepakkuja poolt makstud, teenuse maksmine toimub tellimuse alusel.
- Erinevad hinnaplaanid. Pilveteenuse kasutaja saab kiiresti lisafunktsioone lisada või eemaldada. Funktsioonide haldamine toimub ühest juhtpaneelist, mis on samuti kaitstud. Juurdepääs sellele toimub HTTPS protokolli kaudu ning olemas on ka kahes üleastumise autentimise mehhanism, mis põhineb TOTP-l (Ajavahemikule tuginev ühekordne salasõna algoritm).
- Ühendamine DNS-i kaudu. DNS-i saab iseseisvalt muuta ja võrgu suunamist seadistada. Nende ülesannete täitmiseks ei ole vaja spetsialiste koolitada. Tüüpiliselt saavad tehnilise toe töötajad pakkujast siin aidata.
WAF-tehnoloogiad on arenenud lihtsatest võrgu ekraanidest, millel on empiirilised reeglid, keerukate kaitsesüsteemide poole, millel on masinõppe algoritmid. Praegu omavad rakenduste tulemüürid laia funktsioonide spektrit, mis oli 90-ndatel raske saavutada. Oluliselt on uute funktsioonide ilmumine saanud võimalikuks tänu pilvetehnoloogiatele. WAF-lahendused ja nende komponendid jätkavad arengut. Nii nagu teised valdkonnad ka infoturbe valdkonnas.
Teksti koostas Aleksandr Karpuzikov, pilveteenuse turvatoote arendusjuht #CloudMTS.
Allikas: habr.com
