MÅ«su iepriekÅ”ÄjÄ materiÄlÄ par mÄkoÅu tÄmÄm mÄs
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Ä
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
Aptuveni tajÄ paÅ”Ä laikÄ, kad AppShield (2002. gadÄ), parÄdÄ«jÄs pirmais atvÄrtÄ pirmkoda WAF. ViÅÅ” kļuva
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
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.
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Ä
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.
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Ä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.
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