TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

MÅ«su iepriekŔējā materiālā par mākoņu tēmām mēs stāstÄ«ja, kā aizsargāt IT resursus publiskajā mākonÄ« un kāpēc tradicionālie antivÄ«rusi Å”iem mērÄ·iem nav pilnÄ«bā piemēroti. Å ajā ierakstā mēs turpināsim tēmu par mākoņa droŔību un runāsim par WAF evolÅ«ciju un to, ko labāk izvēlēties: aparatÅ«ru, programmatÅ«ru vai mākonis. 

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

Kas ir WAF

Vairāk nekā 75% hakeru uzbrukumu ir vērsti pret tÄ«mekļa lietojumprogrammu un vietņu ievainojamÄ«bu: Ŕādi uzbrukumi informācijas droŔības infrastruktÅ«rai un informācijas droŔības dienestiem parasti ir neredzami. TÄ«mekļa lietojumprogrammu ievainojamÄ«bas savukārt rada apdraudējumu un lietotāju kontu un personas datu, paroļu un kredÄ«tkarÅ”u numuru krāpÅ”anas risku. Turklāt vietnes ievainojamÄ«bas kalpo kā ieejas punkts uzbrucējiem korporatÄ«vajā tÄ«klā.

TÄ«mekļa lietojumprogrammu ugunsmÅ«ris (WAF) ir aizsargekrāns, kas bloķē uzbrukumus tÄ«mekļa lietojumprogrammām: SQL ievadÄ«Å”anu, starpvietņu skriptÄ“Å”anu, attālu koda izpildi, brutālu spēku un autorizācijas apieÅ”anu. Tostarp uzbrukumi, kas izmanto nulles dienas ievainojamÄ«bas. Lietojumprogrammu ugunsmÅ«ri nodroÅ”ina aizsardzÄ«bu, uzraugot tÄ«mekļa lapu saturu, tostarp HTML, DHTML un CSS, un filtrējot potenciāli ļaunprātÄ«gus HTTP/HTTPS pieprasÄ«jumus.

Kādi bija pirmie lēmumi?

Pirmie mēģinājumi izveidot tÄ«mekļa lietojumprogrammu ugunsmÅ«ri tika veikti 90. gadu sākumā. Zināms, ka Å”ajā jomā strādājuÅ”i vismaz trÄ«s inženieri. Pirmais ir datorzinātņu profesors Džīns Spafords no PurdjÅ« universitātes. ViņŔ aprakstÄ«ja starpniekservera lietojumprogrammu ugunsmÅ«ra arhitektÅ«ru un publicēja to 1991. gadā grāmatā "UNIX droŔība praksē".

Otrais un treÅ”ais bija informācijas droŔības speciālisti Viljams Česviks un Markuss Ranums no Bell Labs. Viņi izstrādāja vienu no pirmajiem lietojumprogrammu ugunsmÅ«ra prototipiem. To izplatÄ«ja DEC ā€“ produkts tika izlaists ar nosaukumu SEAL (Secure External Access Link).

Taču SEAL nebija pilnvērtÄ«gs WAF risinājums. Tas bija klasisks tÄ«kla ugunsmÅ«ris ar uzlabotu funkcionalitāti ā€“ iespēju bloķēt uzbrukumus FTP un RSH. Å Ä« iemesla dēļ pirmais WAF risinājums mÅ«sdienās tiek uzskatÄ«ts par Perfecto Technologies (vēlāk Sanctum) produktu. 1999. gadā viņa uzrādÄ«ts AppShield sistēma. Tolaik Perfecto Technologies izstrādāja informācijas droŔības risinājumus e-komercijai, un interneta veikali kļuva par viņu jaunā produkta mērÄ·auditoriju. AppShield spēja analizēt HTTP pieprasÄ«jumus un bloķētus uzbrukumus, pamatojoties uz dinamiskām informācijas droŔības politikām.

Aptuveni tajā paŔā laikā, kad AppShield (2002. gadā), parādÄ«jās pirmais atvērtā pirmkoda WAF. ViņŔ kļuva ModSecurity. Tas tika izveidots ar mērÄ·i popularizēt WAF tehnoloÄ£ijas, un to joprojām atbalsta IT kopiena (Å”eit tas ir krātuve vietnē GitHub). ModSecurity bloķē uzbrukumus lietojumprogrammām, pamatojoties uz standarta regulāro izteiksmju (parakstu) kopu - rÄ«ki pieprasÄ«jumu pārbaudei, pamatojoties uz modeļiem - OWASP pamatnoteikumu komplekts.

Rezultātā izstrādātājiem izdevās sasniegt savu mērÄ·i ā€“ tirgÅ« sāka parādÄ«ties jauni WAF risinājumi, tostarp tie, kas veidoti uz ModSecurity bāzes.

Trīs paaudzes jau ir vēsture

Ir pieņemts izŔķirt trÄ«s WAF sistēmu paaudzes, kas attÄ«stÄ«juŔās lÄ«dz ar tehnoloÄ£iju attÄ«stÄ«bu.

Pirmā paaudze. Darbojas ar regulārām izteiksmēm (vai gramatikām). Tas ietver ModSecurity. Sistēmas nodroÅ”inātājs pēta uzbrukumu veidus lietojumprogrammām un Ä£enerē modeļus, kas apraksta likumÄ«gus un potenciāli ļaunprātÄ«gus pieprasÄ«jumus. WAF pārbauda Å”os sarakstus un izlemj, kā rÄ«koties konkrētajā situācijā ā€“ bloķēt satiksmi vai nē.

AtklāŔanas piemērs, pamatojoties uz regulārām izteiksmēm, ir jau minētais projekts Pamatnoteikumu komplekts atvērtais avots. Vēl viens piemērs - Naxsi, kas arÄ« ir atvērtais avots. Sistēmām ar regulārām izteiksmēm ir vairāki trÅ«kumi, jo Ä«paÅ”i, atklājot jaunu ievainojamÄ«bu, administratoram ir manuāli jāizveido papildu noteikumi. Liela mēroga IT infrastruktÅ«ras gadÄ«jumā var bÅ«t vairāki tÅ«kstoÅ”i noteikumu. Tik daudz regulāro izteiksmju pārvaldÄ«ba ir diezgan sarežģīta, nemaz nerunājot par to, ka to pārbaude var samazināt tÄ«kla veiktspēju.

Regulārām izteiksmēm ir arÄ« diezgan augsts viltus pozitÄ«vu rezultātu rādÄ«tājs. Slavenais valodnieks Noams Čomskis ierosināja gramatiku klasifikāciju, kurā viņŔ tās sadalÄ«ja četros nosacÄ«tos sarežģītÄ«bas lÄ«meņos. Saskaņā ar Å”o klasifikāciju regulārās izteiksmes var aprakstÄ«t tikai ugunsmÅ«ra noteikumus, kas neietver novirzes no modeļa. Tas nozÄ«mē, ka uzbrucēji var viegli "apmānÄ«t" pirmās paaudzes WAF. Viena no metodēm, kā to apkarot, ir lietojumprogrammu pieprasÄ«jumiem pievienot Ä«paÅ”as rakstzÄ«mes, kas neietekmē ļaunprātÄ«go datu loÄ£iku, bet pārkāpj paraksta noteikumu.

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

Otrā paaudze. Lai apietu WAF veiktspējas un precizitātes problēmas, tika izstrādāti otrās paaudzes lietojumprogrammu ugunsmÅ«ri. Tagad tiem ir parsētāji, kas ir atbildÄ«gi par stingri noteiktu uzbrukumu veidu identificÄ“Å”anu (HTML, JS utt.). Å ie parsētāji darbojas ar Ä«paÅ”iem marÄ·ieriem, kas apraksta vaicājumus (piemēram, mainÄ«gais, virkne, nezināmais, skaitlis). Potenciāli ļaunprātÄ«gas marÄ·ieru secÄ«bas tiek ievietotas atseviŔķā sarakstā, kuru WAF sistēma regulāri pārbauda. Å Ä« pieeja pirmo reizi tika parādÄ«ta Black Hat 2012 konferencē C/C++ formātā libinjekcijas bibliotēkas, kas ļauj noteikt SQL injekcijas.

SalÄ«dzinot ar pirmās paaudzes WAF, specializētie parsētāji var bÅ«t ātrāki. Tomēr tie neatrisināja grÅ«tÄ«bas, kas saistÄ«tas ar manuālu sistēmas konfigurÄ“Å”anu, kad parādās jauni ļaunprātÄ«gi uzbrukumi.

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

TreŔā paaudze. TreŔās paaudzes noteikÅ”anas loÄ£ikas attÄ«stÄ«ba sastāv no maŔīnmācÄ«Å”anās metožu izmantoÅ”anas, kas ļauj tuvināt noteikÅ”anas gramatiku pēc iespējas tuvāk aizsargāto sistēmu reālajai SQL/HTML/JS gramatikai. Å Ä« noteikÅ”anas loÄ£ika spēj pielāgot TjÅ«ringa maŔīnu, lai aptvertu rekursÄ«vi uzskaitāmas gramatikas. Turklāt iepriekÅ” adaptējamas TjÅ«ringa maŔīnas izveides uzdevums bija neatrisināms, lÄ«dz tika publicēti pirmie neironu TjÅ«ringa maŔīnu pētÄ«jumi.

MaŔīnmācÄ«ba nodroÅ”ina unikālu iespēju pielāgot jebkuru gramatiku, lai aptvertu jebkura veida uzbrukumus, manuāli neveidojot parakstu sarakstus, kas nepiecieÅ”ami pirmās paaudzes noteikÅ”anai, un neizstrādājot jaunus marÄ·ierus/parsētājus jauniem uzbrukuma veidiem, piemēram, Memcached, Redis, Cassandra, SSRF injekcijām. , kā to prasa otrās paaudzes metodoloÄ£ija.

Apvienojot visas trÄ«s noteikÅ”anas loÄ£ikas paaudzes, mēs varam uzzÄ«mēt jaunu diagrammu, kurā treŔās paaudzes noteikÅ”ana ir attēlota ar sarkanu kontÅ«ru (3. attēls). Å Ä« paaudze ietver vienu no risinājumiem, ko mēs ievieÅ”am mākonÄ« kopā ar Onsek, tÄ«mekļa lietojumprogrammu adaptÄ«vās aizsardzÄ«bas platformas un Wallarm API izstrādātāju.

AtklāŔanas loÄ£ika tagad izmanto atgriezenisko saiti no lietojumprogrammas, lai sevi noregulētu. MaŔīnmācÄ«bā Å”o atgriezenisko saiti sauc par ā€œpastiprināŔanuā€. Parasti ir viens vai vairāki Ŕāda pastiprinājuma veidi:

  • Lietojumprogrammas reakcijas uzvedÄ«bas analÄ«ze (pasÄ«va)
  • Skenēt/izplÅ«dinātājs (aktÄ«vs)
  • ZiņoÅ”ana par failiem/pārtvērēja procedÅ«rām/slazdiem (pēc fakta)
  • Rokasgrāmata (noteicis vadÄ«tājs)

Rezultātā treŔās paaudzes noteikÅ”anas loÄ£ika pievērÅ”as arÄ« svarÄ«gajam precizitātes jautājumam. Tagad ir iespējams ne tikai izvairÄ«ties no viltus pozitÄ«viem un viltus negatÄ«viem, bet arÄ« noteikt derÄ«gus patiesus negatÄ«vus, piemēram, SQL komandas elementu lietojuma noteikÅ”anu vadÄ«bas panelÄ«, tÄ«mekļa lapas veidņu ielādi, AJAX pieprasÄ«jumus, kas saistÄ«ti ar JavaScript kļūdām un citus.

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

Tālāk apskatÄ«sim dažādu WAF ievieÅ”anas iespēju tehnoloÄ£iskās iespējas.

AparatÅ«ra, programmatÅ«ra vai mākonis ā€” ko izvēlēties?

Viena no lietojumprogrammu ugunsmÅ«ru ievieÅ”anas iespējām ir aparatÅ«ras risinājums. Šādas sistēmas ir specializētas skaitļoÅ”anas ierÄ«ces, kuras uzņēmums instalē lokāli savā datu centrā. Bet Å”ajā gadÄ«jumā jums ir jāiegādājas savs aprÄ«kojums un jāmaksā nauda integratoriem par tā iestatÄ«Å”anu un atkļūdoÅ”anu (ja uzņēmumam nav sava IT nodaļas). Tajā paŔā laikā jebkura iekārta kļūst novecojusi un kļūst nelietojama, tāpēc klienti ir spiesti ieplānot budžetu aparatÅ«ras jauninājumiem.

Vēl viena WAF izvietoÅ”anas iespēja ir programmatÅ«ras ievieÅ”ana. Risinājums tiek instalēts kā papildinājums kādai programmatÅ«rai (piemēram, ModSecurity ir konfigurēts Apache augÅ”pusē) un darbojas tajā paŔā serverÄ«, kurā ir tas. Parasti Ŕādus risinājumus var izvietot gan fiziskajā serverÄ«, gan mākonÄ«. To trÅ«kums ir ierobežota mērogojamÄ«ba un pārdevēja atbalsts.

TreŔā iespēja ir WAF iestatÄ«Å”ana no mākoņa. Šādus risinājumus mākoņpakalpojumu sniedzēji nodroÅ”ina kā abonÄ“Å”anas pakalpojumu. Uzņēmumam nav jāiegādājas un jākonfigurē specializēta aparatÅ«ra, Å”ie uzdevumi gulstas uz pakalpojumu sniedzēja pleciem. SvarÄ«gi ir tas, ka mÅ«sdienu mākoņa WAF nenozÄ«mē resursu migrāciju uz pakalpojumu sniedzēja platformu. Vietni var izvietot jebkur, pat uz vietas.

Mēs sīkāk paskaidrosim, kāpēc cilvēki tagad arvien vairāk meklē mākoņa WAF.

Ko WAF var darīt mākonī

Runājot par tehnoloģiskajām iespējām:

  • Pakalpojumu sniedzējs ir atbildÄ«gs par atjauninājumiem. WAF tiek nodroÅ”ināts ar abonementu, tāpēc pakalpojumu sniedzējs uzrauga atjauninājumu un licenču atbilstÄ«bu. Atjauninājumi attiecas ne tikai uz programmatÅ«ru, bet arÄ« uz aparatÅ«ru. Pakalpojumu sniedzējs atjaunina serveru parku un uztur to. Tas ir arÄ« atbildÄ«gs par slodzes lÄ«dzsvaroÅ”anu un atlaiÅ”anu. Ja WAF serveris neizdodas, trafiks nekavējoties tiek novirzÄ«ts uz citu iekārtu. Racionāla trafika sadale ļauj izvairÄ«ties no situācijām, kad ugunsmÅ«ris pāriet fail open režīmā ā€“ tas netiek galā ar slodzi un pārtrauc pieprasÄ«jumu filtrÄ“Å”anu.
  • Virtuālā ielāpÄ“Å”ana. Virtuālie ielāpi ierobežo piekļuvi apdraudētajām lietojumprogrammas daļām, lÄ«dz izstrādātājs aizver ievainojamÄ«bu. Rezultātā mākoņpakalpojumu sniedzēja klients iegÅ«st iespēju mierÄ«gi gaidÄ«t, kamēr Ŕīs vai citas programmatÅ«ras piegādātājs publicēs oficiālus ā€œielāpusā€. ProgrammatÅ«ras piegādātāja prioritāte ir to izdarÄ«t pēc iespējas ātrāk. Piemēram, Wallarm platformā par virtuālo ielāpu ir atbildÄ«gs atseviŔķs programmatÅ«ras modulis. Administrators var pievienot pielāgotas regulārās izteiksmes, lai bloķētu ļaunprātÄ«gus pieprasÄ«jumus. Sistēma dod iespēju dažus pieprasÄ«jumus atzÄ«mēt ar karogu ā€œKonfidenciāli datiā€. Pēc tam to parametri tiek maskēti un nekādā gadÄ«jumā netiek pārraidÄ«ti ārpus ugunsmÅ«ra darba zonas.
  • IebÅ«vēts perimetra un ievainojamÄ«bas skeneris. Tas ļauj neatkarÄ«gi noteikt IT infrastruktÅ«ras tÄ«kla robežas, izmantojot datus no DNS vaicājumiem un WHOIS protokolu. Pēc tam WAF automātiski analizē pakalpojumus, kas darbojas perimetrā (veic portu skenÄ“Å”anu). UgunsmÅ«ris spēj atklāt visus izplatÄ«tākos ievainojamÄ«bu veidus ā€“ SQLi, XSS, XXE u.c. ā€“ un identificēt kļūdas programmatÅ«ras konfigurācijā, piemēram, nesankcionētu piekļuvi Git un BitBucket krātuvēm un anonÄ«mus zvanus uz Elasticsearch, Redis, MongoDB.
  • Uzbrukumus uzrauga mākoņa resursi. Parasti mākoņa pakalpojumu sniedzējiem ir liela skaitļoÅ”anas jauda. Tas ļauj analizēt draudus ar augstu precizitāti un ātrumu. MākonÄ« ir izvietots filtru mezglu kopums, caur kuru iet visa satiksme. Å ie mezgli bloķē uzbrukumus tÄ«mekļa lietojumprogrammām un nosÅ«ta statistiku uz Analytics centru. Tas izmanto maŔīnmācÄ«Å”anās algoritmus, lai atjauninātu bloÄ·Ä“Å”anas noteikumus visām aizsargātajām lietojumprogrammām. Šādas shēmas ievieÅ”ana ir parādÄ«ta attēlā. 4. Šādi pielāgoti droŔības noteikumi samazina viltus ugunsmÅ«ra trauksmju skaitu.

TÄ«mekļa lietojumprogrammu ugunsmÅ«ra attÄ«stÄ«ba: no ugunsmÅ«riem lÄ«dz mākonÄ« balstÄ«tām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anos

Tagad nedaudz par mākoņa WAF funkcijām organizatorisku jautājumu un pārvaldības ziņā:

  • Pāreja uz OpEx. Mākoņa WAF gadÄ«jumā ievieÅ”anas izmaksas bÅ«s nulle, jo pakalpojumu sniedzējs jau ir samaksājis par visu aparatÅ«ru un licencēm; samaksa par pakalpojumu tiek veikta abonējot.
  • Dažādi tarifu plāni. Mākoņpakalpojuma lietotājs var ātri iespējot vai atspējot papildu opcijas. Funkcijas tiek pārvaldÄ«tas no viena vadÄ«bas paneļa, kas arÄ« ir droÅ”s. Tam var piekļūt, izmantojot HTTPS, kā arÄ« ir divu faktoru autentifikācijas mehānisms, kura pamatā ir TOTP (Time-based One-Time Password Algorithm) protokols.
  • Savienojums caur DNS. Varat pats mainÄ«t DNS un konfigurēt tÄ«kla marÅ”rutÄ“Å”anu. Lai atrisinātu Ŕīs problēmas, nav nepiecieÅ”ams piesaistÄ«t un apmācÄ«t atseviŔķus speciālistus. Parasti pakalpojumu sniedzēja tehniskais atbalsts var palÄ«dzēt iestatÄ«Å”anā.

WAF tehnoloÄ£ijas ir attÄ«stÄ«juŔās no vienkārÅ”iem ugunsmÅ«riem ar Ä«kŔķa noteikumiem lÄ«dz sarežģītām aizsardzÄ«bas sistēmām ar maŔīnmācÄ«Å”anās algoritmiem. Lietojumprogrammu ugunsmÅ«ri tagad piedāvā plaÅ”u funkciju klāstu, kuras 90. gados bija grÅ«ti ieviest. Daudzos veidos jaunas funkcionalitātes parādÄ«Å”anās kļuva iespējama, pateicoties mākoņtehnoloÄ£ijām. WAF risinājumi un to komponenti turpina attÄ«stÄ«ties. Tāpat kā citās informācijas droŔības jomās.

Tekstu sagatavoja Aleksandrs Karpuzikovs, mākoņpakalpojuma sniedzēja #CloudMTS informācijas droŔības produktu attÄ«stÄ«bas vadÄ«tājs.

Avots: www.habr.com

Pievieno komentāru