Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Ankstesnėje medžiagoje debesų temomis mes pasakojo, kaip apsaugoti IT išteklius viešajame debesyje ir kodėl tradicinės antivirusinės priemonės nėra visiškai tinkamos šiems tikslams. Šiame įraše tęsime debesų saugumo temą ir kalbėsime apie WAF evoliuciją ir ką geriau rinktis: aparatinę, programinę įrangą ar debesį. 

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Kas yra WAF

Daugiau nei 75% įsilaužėlių atakų yra nukreiptos į žiniatinklio programų ir svetainių pažeidžiamumą: informacijos saugumo infrastruktūrai ir informacijos saugos tarnyboms tokios atakos dažniausiai nepastebimos. Žiniatinklio programų pažeidžiamumas savo ruožtu kelia pavojų, kad bus pažeistos vartotojų paskyros ir asmeniniai duomenys, slaptažodžiai ir kredito kortelių numeriai. Be to, svetainės pažeidžiamumas yra užpuolikų patekimo į įmonės tinklą taškas.

Žiniatinklio programų ugniasienė (WAF) yra apsauginis ekranas, blokuojantis žiniatinklio programų atakas: SQL įpurškimą, scenarijų sudarymą įvairiose svetainėse, nuotolinį kodo vykdymą, brutalią jėgą ir leidimo apeiti. Įskaitant atakas, kurios išnaudoja nulinės dienos pažeidžiamumą. Programų ugniasienės užtikrina apsaugą stebėdamos tinklalapio turinį, įskaitant HTML, DHTML ir CSS, ir filtruodamos galimai kenkėjiškas HTTP/HTTPS užklausas.

Kokie buvo pirmieji sprendimai?

Pirmieji bandymai sukurti žiniatinklio programų užkardą buvo atlikti 90-ųjų pradžioje. Žinoma, kad šioje srityje dirbo mažiausiai trys inžinieriai. Pirmasis yra kompiuterių mokslų profesorius Gene Spaffordas iš Purdue universiteto. Jis aprašė tarpinio serverio programos ugniasienės architektūrą ir paskelbė ją 1991 m. knygoje „UNIX saugumas praktikoje“.

Antrasis ir trečiasis buvo informacijos saugumo specialistai Williamas Cheswickas ir Marcusas Ranumas iš „Bell Labs“. Jie sukūrė vieną iš pirmųjų programų ugniasienės prototipų. Jį platino DEC – produktas buvo išleistas SEAL (Secure External Access Link) pavadinimu.

Tačiau SEAL nebuvo visavertis WAF sprendimas. Tai buvo klasikinė tinklo ugniasienė su pažangiomis funkcijomis – galimybe blokuoti atakas prieš FTP ir RSH. Dėl šios priežasties pirmasis WAF sprendimas šiandien laikomas Perfecto Technologies (vėliau Sanctum) gaminiu. 1999 metais ji pateiktas AppShield sistema. Tuo metu „Perfecto Technologies“ kūrė informacijos saugumo sprendimus elektroninei prekybai, o internetinės parduotuvės tapo tiksline jų naujo produkto auditorija. „AppShield“ galėjo analizuoti HTTP užklausas ir užblokuotas atakas remdamasi dinamine informacijos saugos politika.

Maždaug tuo pačiu metu kaip ir AppShield (2002 m.) pasirodė pirmasis atvirojo kodo WAF. Jis tapo ModSecurity. Jis buvo sukurtas siekiant populiarinti WAF technologijas ir vis dar palaikomas IT bendruomenės (čia ji yra „GitHub“ saugykla). „ModSecurity“ blokuoja atakas prieš programas, pagrįstas standartiniu reguliariųjų išraiškų (parašų) rinkiniu - įrankiai, skirti patikrinti užklausas pagal šablonus - OWASP pagrindinių taisyklių rinkinys.

Dėl to kūrėjams pavyko pasiekti užsibrėžtą tikslą – rinkoje pradėjo atsirasti naujų WAF sprendimų, tarp jų ir sukurtų ModSecurity pagrindu.

Trys kartos jau yra istorija

Įprasta išskirti tris WAF sistemų kartas, kurios išsivystė tobulėjant technologijoms.

Pirmoji karta. Veikia su reguliariosiomis išraiškomis (arba gramatikomis). Tai apima „ModSecurity“. Sistemos teikėjas tiria programų atakų tipus ir generuoja modelius, apibūdinančius teisėtas ir galimai kenkėjiškas užklausas. WAF patikrina šiuos sąrašus ir nusprendžia, ką daryti konkrečioje situacijoje – blokuoti eismą ar ne.

Aptikimo pagal reguliariąsias išraiškas pavyzdys yra jau minėtas projektas Pagrindinių taisyklių rinkinys atviro kodo. Kitas pavyzdys - Naxsi, kuris taip pat yra atvirojo kodo. Sistemos su reguliariosiomis išraiškomis turi nemažai trūkumų, ypač aptikus naują pažeidžiamumą administratorius turi sukurti papildomas taisykles rankiniu būdu. Didelio masto IT infrastruktūros atveju gali būti keli tūkstančiai taisyklių. Suvaldyti tiek daug reguliarių išraiškų yra gana sunku, jau nekalbant apie tai, kad jų patikrinimas gali sumažinti tinklo našumą.

Įprastos išraiškos taip pat turi gana aukštą klaidingų teigiamų rezultatų rodiklį. Garsus kalbininkas Noamas Chomskis pasiūlė gramatikų klasifikaciją, kurioje jis suskirstė jas į keturis sąlyginius sudėtingumo lygius. Pagal šią klasifikaciją reguliariosios išraiškos gali apibūdinti tik ugniasienės taisykles, kurios neapima nukrypimų nuo šablono. Tai reiškia, kad užpuolikai gali nesunkiai „apgauti“ pirmosios kartos WAF. Vienas iš būdų, kaip su tuo kovoti, yra pridėti specialių simbolių į programų užklausas, kurios neturi įtakos kenkėjiškų duomenų logikai, bet pažeidžia parašo taisyklę.

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Antroji karta. Siekiant išvengti WAF našumo ir tikslumo problemų, buvo sukurtos antrosios kartos taikomųjų programų ugniasienės. Dabar jie turi analizatorius, kurie yra atsakingi už griežtai apibrėžtų atakų tipų (HTML, JS ir kt.) identifikavimą. Šie analizatoriai veikia su specialiais žetonais, apibūdinančiais užklausas (pavyzdžiui, kintamąjį, eilutę, nežinomą, skaičių). Galimai kenkėjiškų žetonų sekos yra įtrauktos į atskirą sąrašą, kurį WAF sistema reguliariai tikrina. Šis metodas pirmą kartą buvo parodytas „Black Hat 2012“ konferencijoje C/C++ forma libinjekcijos bibliotekos, kuri leidžia aptikti SQL injekcijas.

Palyginti su pirmosios kartos WAF, specializuoti analizatoriai gali būti greitesni. Tačiau jie neišsprendė sunkumų, susijusių su rankiniu sistemos konfigūravimu, kai atsiranda naujų kenkėjiškų atakų.

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Trečioji karta. Trečiosios kartos aptikimo logikos raidą sudaro mašininio mokymosi metodų naudojimas, leidžiantis aptikimo gramatiką kuo labiau priartinti prie tikrosios saugomų sistemų SQL/HTML/JS gramatikos. Ši aptikimo logika gali pritaikyti Tiuringo mašiną, kad ji apimtų rekursyviai suskaičiuojamas gramatikas. Be to, anksčiau užduotis sukurti pritaikomą Tiuringo mašiną buvo neišsprendžiama, kol nebuvo paskelbti pirmieji neuroninių Tiuringo mašinų tyrimai.

Mašininis mokymasis suteikia unikalią galimybę pritaikyti bet kokią gramatiką, kad ji apimtų bet kokio tipo atakas, neautomatiniu būdu nekuriant parašų sąrašų, kaip reikalaujama pirmosios kartos aptikimui, ir nekuriant naujų žetonų / analizatorių, skirtų naujiems atakų tipams, pvz., Memcached, Redis, Cassandra, SSRF injekcijoms. , kaip reikalauja antros kartos metodika.

Sujungę visas tris aptikimo logikos kartas, galime nubraižyti naują diagramą, kurioje trečioji aptikimo karta pavaizduota raudonu kontūru (3 pav.). Ši karta apima vieną iš sprendimų, kuriuos diegiame debesyje kartu su Onsek, adaptyvios žiniatinklio programų apsaugos platformos ir Wallarm API kūrėju.

Dabar aptikimo logika naudoja grįžtamąjį ryšį iš programos, kad pati sureguliuotų save. Mašininiame mokyme ši grįžtamojo ryšio kilpa vadinama „pastiprinimu“. Paprastai yra vienas ar keli tokio sutvirtinimo tipai:

  • Programos atsako elgesio analizė (pasyvi)
  • Nuskaitymas / „fuzzer“ (aktyvus)
  • Pranešti apie failus / gaudyklių procedūras / spąstus (po fakto)
  • Vadovas (apibrėžia prižiūrėtojas)

Todėl trečiosios kartos aptikimo logika taip pat sprendžia svarbų tikslumo klausimą. Dabar galima ne tik išvengti klaidingų teigiamų ir klaidingų neigiamų, bet ir aptikti galiojančius tikrus neigiamus dalykus, tokius kaip SQL komandos elemento naudojimo aptikimas Valdymo skydelyje, tinklalapio šablono įkėlimas, AJAX užklausos, susijusios su JavaScript klaidomis ir kt.

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Toliau apsvarstysime įvairių WAF diegimo variantų technologines galimybes.

Techninė įranga, programinė įranga ar debesis – ką pasirinkti?

Viena iš programų ugniasienių diegimo parinkčių yra aparatinės įrangos sprendimas. Tokios sistemos yra specializuoti skaičiavimo įrenginiai, kuriuos įmonė įdiegia vietoje savo duomenų centre. Bet tokiu atveju jūs turite įsigyti savo įrangą ir mokėti pinigus integratoriams už jos nustatymą ir derinimą (jei įmonė neturi savo IT skyriaus). Tuo pačiu metu bet kokia įranga pasensta ir tampa nebetinkama naudoti, todėl klientai yra priversti skirti lėšų techninės įrangos atnaujinimams.

Kitas WAF diegimo variantas yra programinės įrangos diegimas. Sprendimas yra įdiegtas kaip kai kurios programinės įrangos priedas (pavyzdžiui, „ModSecurity“ sukonfigūruotas „Apache“ viršuje) ir veikia tame pačiame serveryje su juo. Paprastai tokius sprendimus galima įdiegti tiek fiziniame serveryje, tiek debesyje. Jų trūkumas yra ribotas mastelio keitimas ir pardavėjo palaikymas.

Trečia galimybė yra WAF nustatymas iš debesies. Tokius sprendimus debesų tiekėjai teikia kaip prenumeruojamą paslaugą. Įmonei nereikia pirkti ir konfigūruoti specializuotos techninės įrangos, šios užduotys gula ant paslaugų teikėjo pečių. Svarbus dalykas yra tai, kad šiuolaikinis debesies WAF nereiškia išteklių perkėlimo į teikėjo platformą. Svetainę galima įdiegti bet kur, net ir vietoje.

Toliau paaiškinsime, kodėl žmonės dabar vis labiau žiūri į debesų WAF.

Ką WAF gali padaryti debesyje

Kalbant apie technologines galimybes:

  • Teikėjas yra atsakingas už atnaujinimus. WAF teikiama prenumeratos būdu, todėl paslaugų teikėjas stebi atnaujinimų ir licencijų aktualumą. Atnaujinimai susiję ne tik su programine įranga, bet ir su technine įranga. Teikėjas atnaujina serverių parką ir jį prižiūri. Ji taip pat atsakinga už apkrovos balansavimą ir atleidimą. Jei WAF serveris sugenda, srautas nedelsiant nukreipiamas į kitą įrenginį. Racionalus srauto paskirstymas leidžia išvengti situacijų, kai ugniasienė pereina į nesėkmingo atidarymo režimą – ji negali susidoroti su apkrova ir nustoja filtruoti užklausas.
  • Virtualus pataisymas. Virtualios pataisos riboja prieigą prie pažeistų programos dalių, kol kūrėjas uždaro pažeidžiamumą. Dėl to debesų paslaugų teikėjo klientas gauna galimybę ramiai palaukti, kol tos ar kitos programinės įrangos tiekėjas paskelbs oficialius „lopus“. Tai padaryti kuo greičiau yra programinės įrangos tiekėjo prioritetas. Pavyzdžiui, Wallarm platformoje už virtualų pataisymą atsakingas atskiras programinės įrangos modulis. Administratorius gali pridėti pasirinktinių reguliariųjų posakių, kad blokuotų kenkėjiškas užklausas. Sistema suteikia galimybę kai kurias užklausas pažymėti žyma „Konfidencialūs duomenys“. Tada jų parametrai užmaskuojami ir jokiu būdu neperduodami už užkardos darbo zonos.
  • Integruotas perimetro ir pažeidžiamumo skaitytuvas. Tai leidžia savarankiškai nustatyti IT infrastruktūros tinklo ribas naudojant DNS užklausų duomenis ir WHOIS protokolą. Vėliau WAF automatiškai analizuoja perimetro viduje veikiančias paslaugas (atlieka prievadų nuskaitymą). Ugniasienė gali aptikti visų tipų pažeidžiamumą – SQLi, XSS, XXE ir kt. – ir nustatyti programinės įrangos konfigūracijos klaidas, pavyzdžiui, neteisėtą prieigą prie Git ir BitBucket saugyklų bei anoniminius Elasticsearch, Redis, MongoDB iškvietimus.
  • Atakas stebi debesų ištekliai. Paprastai debesų paslaugų teikėjai turi didelę skaičiavimo galią. Tai leidžia labai tiksliai ir greitai analizuoti grėsmes. Debesyje yra įdiegta filtrų mazgų grupė, per kurią praeina visas srautas. Šie mazgai blokuoja žiniatinklio programų atakas ir siunčia statistiką į „Analytics“ centrą. Jis naudoja mašininio mokymosi algoritmus, kad atnaujintų visų apsaugotų programų blokavimo taisykles. Tokios schemos įgyvendinimas parodytas fig. 4. Tokios specialiai pritaikytos saugumo taisyklės sumažina klaidingų ugniasienės pavojaus signalų skaičių.

Žiniatinklio programų ugniasienės evoliucija: nuo ugniasienių iki debesies pagrindu veikiančių apsaugos sistemų su mašininiu mokymusi

Dabar šiek tiek apie debesies WAF ypatybes, susijusias su organizaciniais klausimais ir valdymu:

  • Perėjimas prie OpEx. Debesijos WAF atveju diegimo kaina bus lygi nuliui, nes teikėjas jau sumokėjo už visą techninę įrangą ir licencijas, o už paslaugą mokama prenumeruojant.
  • Skirtingi tarifų planai. Debesijos paslaugos vartotojas gali greitai įjungti arba išjungti papildomas parinktis. Funkcijos valdomos iš vieno valdymo pulto, kuris taip pat yra saugus. Jis pasiekiamas per HTTPS, be to, yra dviejų veiksnių autentifikavimo mechanizmas, pagrįstas TOTP (Time-based One-Time Password Algorithm) protokolu.
  • Ryšys per DNS. Galite patys pakeisti DNS ir sukonfigūruoti tinklo maršrutą. Norint išspręsti šias problemas, nereikia samdyti ir rengti atskirų specialistų. Paprastai teikėjo techninė pagalba gali padėti atlikti sąranką.

WAF technologijos išsivystė nuo paprastų ugniasienių su nykščio taisyklėmis iki sudėtingų apsaugos sistemų su mašininio mokymosi algoritmais. Dabar taikomųjų programų ugniasienės siūlo daugybę funkcijų, kurias 90-aisiais buvo sunku įdiegti. Daugeliu atžvilgių naujų funkcijų atsiradimas tapo įmanomas debesų technologijų dėka. WAF sprendimai ir jų komponentai toliau tobulinami. Kaip ir kitose informacijos saugumo srityse.

Tekstą parengė Aleksandras Karpuzikovas, debesų tiekėjo #CloudMTS informacijos saugos produktų kūrimo vadovas.

Šaltinis: www.habr.com

Добавить комментарий