Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Meie eelmises pilveteemalises materjalis me rääkinud, kuidas kaitsta IT-ressursse avalikus pilves ja miks traditsioonilised viirusetõrjed nendel eesmärkidel täielikult ei sobi. Selles postituses jätkame pilveturbe teemat ja räägime WAF-i arengust ja sellest, mida on parem valida: riistvara, tarkvara või pilv. 

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Mis on WAF

Rohkem kui 75% häkkerite rünnakutest on suunatud veebirakenduste ja veebisaitide haavatavustele: sellised rünnakud on infoturbe infrastruktuurile ja infoturbeteenustele tavaliselt nähtamatud. Veebirakenduste haavatavused toovad omakorda kaasa kasutajakontode ning isikuandmete, paroolide ja krediitkaardinumbrite ohtu sattumise ja pettuse. Lisaks on veebisaidi haavatavused ründajatele ettevõtte võrku sisenemiseks.

Veebirakenduste tulemüür (WAF) on kaitseekraan, mis blokeerib rünnakud veebirakendustele: SQL-i süstimine, saitidevaheline skriptimine, koodi kaugkäivitamine, toore jõud ja autoriseerimisest möödaviimine. Sealhulgas rünnakud, mis kasutavad ära nullpäeva turvaauke. Rakenduste tulemüürid pakuvad kaitset, jälgides veebilehe sisu, sealhulgas HTML-i, DHTML-i ja CSS-i, ning filtreerides potentsiaalselt pahatahtlikke HTTP/HTTPS-i päringuid.

Millised olid esimesed otsused?

Esimesed katsed luua veebirakenduste tulemüüri tehti 90ndate alguses. Teadaolevalt on sellel alal töötanud vähemalt kolm inseneri. Esimene neist on Purdue ülikooli arvutiteaduse professor Gene Spafford. Ta kirjeldas puhverserveri rakenduse tulemüüri arhitektuuri ja avaldas selle 1991. aastal raamatus "UNIX-i turvalisus praktikas".

Teine ja kolmas olid infoturbe spetsialistid William Cheswick ja Marcus Ranum ettevõttest Bell Labs. Nad töötasid välja ühe esimese rakenduse tulemüüri prototüübi. Seda levitas DEC – toode lasti välja SEAL (Secure External Access Link) nime all.

Kuid SEAL ei olnud täisväärtuslik WAF-lahendus. See oli klassikaline võrgutulemüür, millel oli täiustatud funktsionaalsus – võimalus blokeerida rünnakuid FTP ja RSH vastu. Sel põhjusel peetakse täna esimest WAF-lahendust Perfecto Technologiesi (hiljem Sanctum) tooteks. Aastal 1999 ta esitatakse AppShieldi süsteem. Sel ajal arendas Perfecto Technologies e-kaubanduse infoturbelahendusi ning nende uue toote sihtrühmaks said veebipoed. AppShield suutis dünaamiliste infoturbepoliitikate alusel analüüsida HTTP-päringuid ja blokeeritud rünnakuid.

Umbes samal ajal kui AppShield (2002. aastal), ilmus esimene avatud lähtekoodiga WAF. Temast sai ModSecurity. See loodi eesmärgiga populariseerida WAF-tehnoloogiaid ja seda toetab siiani IT-kogukond (siin see on hoidla GitHubis). ModSecurity blokeerib rünnakud rakenduste vastu, mis põhinevad standardsel regulaaravaldiste (signatuuride) komplektil - tööriistad mustritel põhinevate päringute kontrollimiseks - OWASP põhireeglite komplekt.

Selle tulemusena õnnestus arendajatel oma eesmärk saavutada – turule hakkasid ilmuma uued WAF-lahendused, sealhulgas need, mis on ehitatud ModSecurity baasil.

Kolm põlvkonda on juba ajalugu

WAF-süsteemidel on tavaks eristada kolme põlvkonda, mis on arenenud koos tehnoloogia arenguga.

Esimene põlvkond. Töötab regulaaravaldistega (või grammatikatega). See hõlmab ModSecurity. Süsteemi pakkuja uurib rakenduste vastu suunatud rünnakute tüüpe ja loob mustreid, mis kirjeldavad õigustatud ja potentsiaalselt pahatahtlikke päringuid. WAF kontrollib neid loendeid ja otsustab, mida konkreetses olukorras teha – kas liiklust blokeerida või mitte.

Regulaaravaldiste põhjal tuvastamise näide on juba mainitud projekt Põhireeglite komplekt avatud lähtekoodiga. Veel üks näide - Naxsi, mis on samuti avatud lähtekoodiga. Regulaaravaldistega süsteemidel on mitmeid puudusi, eelkõige peab administraator uue haavatavuse avastamisel lisareeglid käsitsi looma. Suuremahulise IT-taristu puhul võib reegleid olla mitu tuhat. Nii paljude regulaaravaldiste haldamine on üsna keeruline, rääkimata sellest, et nende kontrollimine võib võrgu jõudlust vähendada.

Regulaaravaldistel on ka üsna kõrge valepositiivsuse määr. Kuulus keeleteadlane Noam Chomsky pakkus välja grammatika klassifikatsiooni, milles ta jagas need nelja tingimusliku keerukuse astmesse. Selle klassifikatsiooni kohaselt saavad regulaaravaldised kirjeldada ainult tulemüürireegleid, mis ei sisalda mustrist kõrvalekaldeid. See tähendab, et ründajad saavad esimese põlvkonna WAF-i hõlpsalt "narliks ​​teha". Üks viis selle vastu võitlemiseks on lisada rakenduspäringutele erimärke, mis ei mõjuta pahatahtlike andmete loogikat, kuid rikuvad allkirjareeglit.

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Teine põlvkond. WAF-ide jõudluse ja täpsuse probleemidest kõrvalehoidmiseks töötati välja teise põlvkonna rakenduste tulemüürid. Neil on nüüd parserid, mis vastutavad rangelt määratletud rünnakutüüpide tuvastamise eest (HTML, JS jne). Need parserid töötavad spetsiaalsete žetoonidega, mis kirjeldavad päringuid (nt muutuja, string, tundmatu, arv). Potentsiaalselt pahatahtlikud märgijadad paigutatakse eraldi nimekirja, mida WAF-süsteem regulaarselt kontrollib. Seda lähenemist näidati esmakordselt Black Hat 2012 konverentsil C/C++ kujul libinjektsiooni raamatukogud, mis võimaldab tuvastada SQL-i süsti.

Võrreldes esimese põlvkonna WAF-idega võivad spetsiaalsed parserid olla kiiremad. Kuid need ei lahendanud raskusi, mis on seotud süsteemi käsitsi konfigureerimisega uute pahatahtlike rünnakute ilmnemisel.

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Kolmas põlvkond. Kolmanda põlvkonna tuvastamisloogika areng seisneb masinõppemeetodite kasutamises, mis võimaldavad tuua tuvastamise grammatika võimalikult lähedale kaitstud süsteemide tegelikule SQL/HTML/JS grammatikale. See tuvastamisloogika on võimeline kohandama Turingi masinat rekursiivselt loendatavate grammatikate katmiseks. Veelgi enam, varem oli kohandatava Turingi masina loomise ülesanne lahendamatu, kuni avaldati esimesed neuronaalsete Turingi masinate uuringud.

Masinõpe annab ainulaadse võimaluse kohandada mis tahes grammatikat mis tahes tüüpi rünnakute katmiseks ilma esimese põlvkonna tuvastamisel käsitsi allkirjade loendeid loomata ja uute rünnakutüüpide jaoks, nagu Memcached, Redis, Cassandra, SSRF-i süstid, uusi tokenisaatoreid/parsereid välja töötamata. , nagu nõuab teise põlvkonna metoodika.

Kombineerides kõik kolm tuvastusloogika põlvkonda, saame joonistada uue diagrammi, millel kolmanda põlvkonna tuvastamist tähistab punane piirjoon (joonis 3). See põlvkond sisaldab ühte lahendust, mida me koos veebirakenduste adaptiivse kaitse platvormi ja Wallarm API arendaja Onsekiga pilves juurutame.

Tuvastamisloogika kasutab nüüd enda häälestamiseks rakenduse tagasisidet. Masinõppes nimetatakse seda tagasisideahelat "tugevdamiseks". Tavaliselt on sellist tugevdust üks või mitu tüüpi:

  • Rakenduse reageerimiskäitumise analüüs (passiivne)
  • Skannimine/fuzzer (aktiivne)
  • Teatage failidest / pealtkuulamisprotseduuridest / lõksudest (pärast fakti)
  • Käsiraamat (määratleb juhendaja)

Sellest tulenevalt käsitleb kolmanda põlvkonna tuvastamisloogika ka olulist täpsuse küsimust. Nüüd on võimalik mitte ainult vältida valepositiivseid ja valenegatiivseid tulemusi, vaid tuvastada ka kehtivaid tõelisi negatiivseid, nagu SQL-i käsuelemendi kasutamise tuvastamine juhtpaneelil, veebilehe malli laadimine, JavaScripti vigadega seotud AJAX-i päringud ja muud.

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Järgmisena käsitleme erinevate WAF-i rakendusvõimaluste tehnoloogilisi võimalusi.

Riistvara, tarkvara või pilv – mida valida?

Üks rakenduste tulemüüride juurutamise võimalustest on riistvaralahendus. Sellised süsteemid on spetsiaalsed arvutusseadmed, mille ettevõte paigaldab kohapeal oma andmekeskusesse. Kuid sellisel juhul peate ostma oma seadme ja maksma integraatoritele raha nende seadistamise ja silumise eest (kui ettevõttel pole oma IT-osakonda). Samal ajal vananevad kõik seadmed ja muutuvad kasutuskõlbmatuks, nii et kliendid on sunnitud riistvarauuenduste jaoks eelarvesse määrama.

Teine võimalus WAF-i juurutamiseks on tarkvara juurutamine. Lahendus installitakse mõne tarkvara lisana (näiteks ModSecurity on seadistatud Apache peale) ja töötab sellega samas serveris. Selliseid lahendusi saab reeglina juurutada nii füüsilises serveris kui ka pilves. Nende puuduseks on piiratud mastaapsus ja müüja tugi.

Kolmas võimalus on WAF-i seadistamine pilvest. Selliseid lahendusi pakuvad pilvepakkujad tellimisteenusena. Ettevõte ei pea spetsiaalset riistvara ostma ja seadistama, need ülesanded jäävad teenusepakkuja õlule. Oluline punkt on see, et kaasaegne pilve-WAF ei tähenda ressursside migreerimist teenusepakkuja platvormile. Saiti saab juurutada kõikjal, isegi kohapeal.

Selgitame lähemalt, miks inimesed otsivad üha enam pilve WAF-i.

Mida WAF saab pilves teha

Tehnoloogiliste võimaluste osas:

  • Pakkuja vastutab värskenduste eest. WAF-i pakutakse tellimuse alusel, seega jälgib teenusepakkuja värskenduste ja litsentside asjakohasust. Uuendused ei puuduta ainult tarkvara, vaid ka riistvara. Pakkuja uuendab serveriparki ja hooldab seda. Samuti vastutab see koormuse tasakaalustamise ja koondamise eest. Kui WAF-server ebaõnnestub, suunatakse liiklus kohe teise masinasse. Liikluse ratsionaalne jaotus võimaldab vältida olukordi, kus tulemüür läheb tõrke avatud režiimi - see ei tule koormusega toime ja peatab päringute filtreerimise.
  • Virtuaalne lappimine. Virtuaalsed paigad piiravad juurdepääsu rakenduse ohustatud osadele, kuni arendaja haavatavuse sulgeb. Selle tulemusel avaneb pilveteenuse pakkuja kliendil võimalus rahulikult oodata, kuni selle või teise tarkvara tarnija avaldab ametlikud “plaastrid”. Selle võimalikult kiire tegemine on tarkvara tarnija prioriteet. Näiteks Wallarmi platvormis vastutab virtuaalse lapimise eest eraldi tarkvaramoodul. Administraator saab pahatahtlike päringute blokeerimiseks lisada kohandatud regulaaravaldisi. Süsteem võimaldab märkida mõned päringud lipuga “Konfidentsiaalsed andmed”. Seejärel varjatakse nende parameetrid ja neid ei edastata mingil juhul tulemüüri tööpiirkonnast väljapoole.
  • Sisseehitatud perimeetri ja haavatavuse skanner. See võimaldab iseseisvalt määrata IT-infrastruktuuri võrgupiire, kasutades DNS-päringute andmeid ja WHOIS-protokolli. Seejärel analüüsib WAF automaatselt perimeetri sees töötavaid teenuseid (teostab pordi skannimist). Tulemüür on võimeline tuvastama kõiki levinumaid turvaauke – SQLi, XSS, XXE jne – ning tuvastama tarkvara konfiguratsiooni vigu, näiteks volitamata juurdepääsu Giti ja BitBucketi hoidlatele ning anonüümseid kõnesid Elasticsearchile, Redisele, MongoDB-le.
  • Rünnakuid jälgivad pilveressursid. Reeglina on pilveteenuse pakkujatel palju arvutusvõimsust. See võimaldab teil ohte suure täpsuse ja kiirusega analüüsida. Pilves on juurutatud filtrisõlmede klaster, mida kogu liiklus läbib. Need sõlmed blokeerivad rünnakud veebirakenduste vastu ja saadavad statistikat Analyticsi keskusesse. See kasutab kõigi kaitstud rakenduste blokeerimisreeglite värskendamiseks masinõppe algoritme. Sellise skeemi rakendamine on näidatud joonisel fig. 4. Sellised kohandatud turvareeglid vähendavad tulemüüri valehäirete arvu.

Veebirakenduste tulemüüri areng: tulemüüridest pilvepõhiste masinõppega kaitsesüsteemideni

Nüüd natuke pilve-WAF-ide funktsioonide kohta organisatsiooniliste küsimuste ja juhtimise osas:

  • Üleminek OpExile. Pilve-WAF-ide puhul on juurutamise maksumus null, kuna pakkuja on kogu riistvara ja litsentside eest juba tasunud, teenuse eest tasutakse tellimisega.
  • Erinevad tariifiplaanid. Pilveteenuse kasutaja saab lisavõimalusi kiiresti lubada või keelata. Funktsioone hallatakse ühest juhtpaneelist, mis on samuti turvaline. Sellele pääseb juurde HTTPS-i kaudu, lisaks on olemas kahefaktoriline autentimismehhanism, mis põhineb TOTP-protokollil (Time-based One-Time Password Algorithm).
  • Ühendus DNS-i kaudu. Saate ise DNS-i muuta ja võrgu marsruutimist konfigureerida. Nende probleemide lahendamiseks ei ole vaja värvata ja koolitada üksikuid spetsialiste. Reeglina saab seadistamisel abiks olla teenusepakkuja tehniline tugi.

WAF-tehnoloogiad on arenenud lihtsatest rusikareeglitega tulemüüridest keerukate masinõppealgoritmidega kaitsesüsteemideni. Rakenduste tulemüürid pakuvad nüüd laia valikut funktsioone, mida 90ndatel oli raske rakendada. Uute funktsionaalsuste tekkimine sai paljuski võimalikuks tänu pilvetehnoloogiatele. WAF-lahendused ja nende komponendid arenevad edasi. Nii nagu teisedki infoturbe valdkonnad.

Teksti koostas Aleksander Karpuzikov, pilvepakkuja #CloudMTS infoturbe tootearendusjuht.

Allikas: www.habr.com

Lisa kommentaar