Ամպային թեմաներով մեր նախորդ նյութում մենք
Ինչ է WAF-ը
Հաքերային հարձակումների ավելի քան 75%-ն ուղղված է վեբ հավելվածների և կայքերի խոցելիությանը. նման հարձակումները սովորաբար անտեսանելի են տեղեկատվական անվտանգության ենթակառուցվածքի և տեղեկատվական անվտանգության ծառայությունների համար: Վեբ հավելվածների խոցելիությունները իրենց հերթին պարունակում են օգտատերերի հաշիվների և անձնական տվյալների, գաղտնաբառերի և վարկային քարտերի համարների փոխզիջման և խարդախության ռիսկեր: Բացի այդ, կայքի խոցելիությունը ծառայում է որպես մուտքի կետ հարձակվողների համար կորպորատիվ ցանց:
Web Application Firewall-ը (WAF) պաշտպանիչ էկրան է, որն արգելափակում է վեբ հավելվածների վրա հարձակումները՝ SQL ներարկում, միջկայքի սկրիպտավորում, կոդի հեռավոր կատարում, կոպիտ ուժ և թույլտվության շրջանցում: Ներառյալ հարձակումները, որոնք օգտագործում են զրոյական օրվա խոցելիությունը: Հավելվածի firewalls-ն ապահովում է պաշտպանություն՝ վերահսկելով վեբ էջի բովանդակությունը, ներառյալ HTML, DHTML և CSS, և զտելով հնարավոր վնասակար HTTP/HTTPS հարցումները:
Որո՞նք էին առաջին որոշումները:
Web Application Firewall ստեղծելու առաջին փորձերը կատարվել են դեռևս 90-ականների սկզբին: Հայտնի է, որ առնվազն երեք ինժեներ աշխատել են այս ոլորտում: Առաջինը համակարգչային գիտության պրոֆեսոր Ջին Սփաֆֆորդն է Փրդյու համալսարանից: Նա նկարագրեց պրոքսի հավելվածի firewall-ի ճարտարապետությունը և հրապարակեց այն 1991 թվականին գրքում
Երկրորդ և երրորդը տեղեկատվական անվտանգության մասնագետներ Ուիլյամ Չեսվիկն ու Մարկուս Ռանումն էին Bell Labs-ից։ Նրանք մշակեցին առաջին հավելվածի firewall-ի նախատիպերից մեկը: Այն տարածվել է DEC-ի կողմից. ապրանքը թողարկվել է SEAL (Secure External Access Link) անունով:
Բայց SEAL-ը WAF-ի լիարժեք լուծում չէր: Դա դասական ցանցային firewall էր՝ առաջադեմ ֆունկցիոնալությամբ՝ FTP-ի և RSH-ի վրա հարձակումները արգելափակելու ունակությամբ: Այդ իսկ պատճառով, այսօր WAF-ի առաջին լուծումը համարվում է Perfecto Technologies-ի (հետագայում՝ Sanctum) արտադրանքը: 1999 թվականին նա
Մոտավորապես նույն ժամանակ, երբ AppShield-ը (2002 թվականին) հայտնվեց առաջին բաց կոդով WAF-ը։ Նա դարձավ
Արդյունքում ծրագրավորողներին հաջողվեց հասնել իրենց նպատակին՝ շուկայում սկսեցին հայտնվել նոր WAF լուծումներ, այդ թվում՝ ModSecurity-ի հիման վրա կառուցվածները։
Երեք սերունդ արդեն պատմություն է
Ընդունված է տարբերակել WAF համակարգերի երեք սերունդ, որոնք զարգացել են տեխնոլոգիայի զարգացման հետ մեկտեղ։
Առաջին սերունդը. Աշխատում է կանոնավոր արտահայտություններով (կամ քերականությամբ): Սա ներառում է ModSecurity-ը: Համակարգի մատակարարն ուսումնասիրում է հավելվածների վրա հարձակումների տեսակները և ստեղծում օրինական և պոտենցիալ վնասակար հարցումներ նկարագրող օրինաչափություններ: WAF-ը ստուգում է այս ցուցակները և որոշում, թե ինչ անել կոնկրետ իրավիճակում՝ արգելափակել երթևեկությունը, թե ոչ:
Կանոնավոր արտահայտությունների վրա հիմնված հայտնաբերման օրինակ է արդեն նշված նախագիծը
Կանոնավոր արտահայտությունները նույնպես ունեն բավականին բարձր կեղծ դրական ցուցանիշ: Հայտնի լեզվաբան Նոամ Չոմսկին առաջարկել է քերականությունների դասակարգում, որտեղ նա դրանք բաժանել է բարդության չորս պայմանական մակարդակների։ Ըստ այս դասակարգման, կանոնավոր արտահայտությունները կարող են նկարագրել միայն firewall կանոնները, որոնք չեն ներառում շեղումներ օրինաչափությունից: Սա նշանակում է, որ հարձակվողները հեշտությամբ կարող են «խաբել» առաջին սերնդի WAF-ին։ Դրա դեմ պայքարելու եղանակներից մեկը հավելվածի հարցումներին հատուկ նիշեր ավելացնելն է, որոնք չեն ազդում վնասակար տվյալների տրամաբանության վրա, բայց խախտում են ստորագրության կանոնը:
Երկրորդ սերունդ. WAF-ների աշխատանքի և ճշգրտության խնդիրները շրջանցելու համար մշակվել են երկրորդ սերնդի հավելվածների firewalls: Նրանք այժմ ունեն վերլուծիչներ, որոնք պատասխանատու են հարձակումների խիստ սահմանված տեսակների նույնականացման համար (HTML, JS և այլն): Այս վերլուծիչները աշխատում են հատուկ նշաններով, որոնք նկարագրում են հարցումները (օրինակ՝ փոփոխական, տող, անհայտ, համար): Պոտենցիալ վնասակար նշանների հաջորդականությունները տեղադրվում են առանձին ցուցակում, որը WAF համակարգը պարբերաբար ստուգում է: Այս մոտեցումն առաջին անգամ ցուցադրվել է Black Hat 2012 կոնֆերանսում՝ C/C++-ի տեսքով
Առաջին սերնդի WAF-ների համեմատ, մասնագիտացված վերլուծիչները կարող են ավելի արագ գործել: Այնուամենայնիվ, նրանք չլուծեցին համակարգի ձեռքով կազմաձևման հետ կապված դժվարությունները, երբ հայտնվում են նոր վնասակար հարձակումներ:
Երրորդ սերունդ. Երրորդ սերնդի հայտնաբերման տրամաբանության էվոլյուցիան բաղկացած է մեքենայական ուսուցման մեթոդների օգտագործումից, որոնք հնարավորություն են տալիս հայտնաբերման քերականությունը հնարավորինս մոտեցնել պաշտպանված համակարգերի իրական SQL/HTML/JS քերականությանը: Հայտնաբերման այս տրամաբանությունը կարող է հարմարեցնել Թյուրինգի մեքենան՝ ծածկելու ռեկուրսիվ թվով քերականություններ: Ավելին, նախկինում հարմարվող Թյուրինգ մեքենայի ստեղծման խնդիրն անլուծելի էր, քանի դեռ չեն հրապարակվել նյարդային Թյուրինգ մեքենաների առաջին ուսումնասիրությունները։
Մեքենայական ուսուցումը եզակի հնարավորություն է տալիս հարմարեցնելու ցանկացած քերականություն՝ ծածկելու ցանկացած տիպի հարձակում՝ առանց ձեռքով ստեղծելու ստորագրությունների ցուցակներ, ինչպես պահանջվում է առաջին սերնդի հայտնաբերման ժամանակ, և առանց մշակելու նոր նշաններ/վերլուծիչներ նոր հարձակման տեսակների համար, ինչպիսիք են Memcached, Redis, Cassandra, SSRF ներարկումները: , ինչպես պահանջում է երկրորդ սերնդի մեթոդաբանությունը։
Միավորելով հայտնաբերման տրամաբանության բոլոր երեք սերունդները՝ մենք կարող ենք գծել նոր դիագրամ, որում հայտնաբերման երրորդ սերունդը ներկայացված է կարմիր ուրվագիծով (Նկար 3): Այս սերունդը ներառում է լուծումներից մեկը, որը մենք իրականացնում ենք ամպի մեջ՝ վեբ հավելվածների և Wallarm API-ի հարմարվողական պաշտպանության հարթակի մշակողի՝ Onsek-ի հետ միասին։
Հայտնաբերման տրամաբանությունն այժմ օգտագործում է հավելվածի հետադարձ կապը՝ ինքն իրեն կարգաբերելու համար: Մեքենայի ուսուցման մեջ այս հետադարձ կապը կոչվում է «ուժեղացում»: Սովորաբար, նման ամրացման մեկ կամ մի քանի տեսակներ կան.
- Դիմումների արձագանքման վարքագծի վերլուծություն (պասիվ)
- Սկան/ֆուզեր (ակտիվ)
- Հաղորդել ֆայլերի / գաղտնալսման ընթացակարգերի / թակարդների մասին (փաստից հետո)
- Ձեռնարկ (սահմանված է ղեկավարի կողմից)
Արդյունքում, երրորդ սերնդի հայտնաբերման տրամաբանությունը նույնպես անդրադառնում է ճշգրտության կարևոր խնդրին: Այժմ հնարավոր է ոչ միայն խուսափել կեղծ պոզիտիվներից և կեղծ բացասականներից, այլ նաև հայտնաբերել վավեր իրական բացասականները, ինչպիսիք են SQL հրամանի տարրերի օգտագործումը Control Panel-ում, վեբ էջի ձևանմուշների բեռնումը, AJAX հարցումները՝ կապված JavaScript-ի սխալների հետ և այլն:
Հաջորդիվ մենք կդիտարկենք WAF-ի իրականացման տարբեր տարբերակների տեխնոլոգիական հնարավորությունները:
Սարքավորում, ծրագրաշար կամ ամպ. ի՞նչ ընտրել:
Ծրագրային firewalls-ի ներդրման տարբերակներից մեկը ապարատային լուծումն է: Նման համակարգերը մասնագիտացված հաշվողական սարքեր են, որոնք ընկերությունը տեղակայում է իր տվյալների կենտրոնում: Բայց այս դեպքում դուք պետք է գնեք ձեր սեփական սարքավորումը և գումար վճարեք ինտեգրատորներին այն տեղադրելու և վրիպազերծելու համար (եթե ընկերությունը չունի իր սեփական ՏՏ բաժինը): Միևնույն ժամանակ, ցանկացած սարքավորում դառնում է հնացած և անօգտագործելի, ուստի հաճախորդները ստիպված են բյուջե ծախսել ապարատային արդիականացման համար:
WAF-ի տեղադրման մեկ այլ տարբերակ ծրագրային ապահովման իրականացումն է: Լուծումը տեղադրվում է որպես հավելում որոշ ծրագրերի համար (օրինակ՝ ModSecurity-ը կազմաձևված է Apache-ի վերևում) և աշխատում է դրա հետ նույն սերվերի վրա։ Որպես կանոն, նման լուծումները կարող են տեղակայվել ինչպես ֆիզիկական սերվերի, այնպես էլ ամպի վրա: Նրանց թերությունը սահմանափակ մասշտաբայնությունն է և վաճառողի աջակցությունը:
Երրորդ տարբերակը WAF-ի ստեղծումն է ամպից: Նման լուծումները տրամադրվում են ամպային պրովայդերների կողմից՝ որպես բաժանորդային ծառայություն։ Ընկերությունը կարիք չունի գնելու և կարգավորելու մասնագիտացված սարքավորում, այդ առաջադրանքները ընկնում են ծառայություններ մատուցողի ուսերին: Կարևոր կետն այն է, որ ժամանակակից ամպային WAF-ը չի ենթադրում ռեսուրսների տեղափոխում մատակարարի հարթակ: Կայքը կարող է տեղակայվել ցանկացած վայրում, նույնիսկ սեփական տարածքում:
Մենք կբացատրենք, թե ինչու են մարդիկ այժմ ավելի ու ավելի են նայում դեպի ամպային WAF:
Ինչ կարող է անել WAF-ը ամպի մեջ
Տեխնոլոգիական հնարավորությունների առումով.
- Մատակարարը պատասխանատու է թարմացումների համար. WAF-ը տրամադրվում է բաժանորդագրության միջոցով, ուստի ծառայության մատակարարը վերահսկում է թարմացումների և արտոնագրերի համապատասխանությունը: Թարմացումները վերաբերում են ոչ միայն ծրագրային ապահովմանը, այլև ապարատային: Պրովայդերը թարմացնում է սերվերի պարկը և պահպանում այն: Այն նաև պատասխանատու է բեռի հավասարակշռման և ավելորդության համար: Եթե WAF սերվերը ձախողվի, երթևեկությունը անմիջապես վերահղվում է մեկ այլ մեքենա: Երթևեկության ռացիոնալ բաշխումը թույլ է տալիս խուսափել իրավիճակներից, երբ firewall-ը մտնում է անհաջող բաց ռեժիմ. այն չի կարող հաղթահարել բեռը և դադարեցնում է հարցումների զտումը:
- Վիրտուալ կարկատում. Վիրտուալ patches-ը սահմանափակում է մուտքը հավելվածի վտանգված մասեր, մինչև մշակողը չփակի խոցելիությունը: Արդյունքում՝ ամպային մատակարարի հաճախորդը հնարավորություն է ստանում հանգիստ սպասել մինչև այս կամ այն ծրագրաշարի մատակարարը պաշտոնական «կարկատաններ» հրապարակի։ Դա հնարավորինս արագ անելը առաջնահերթություն է ծրագրային ապահովման մատակարարի համար: Օրինակ, Wallarm հարթակում առանձին ծրագրային մոդուլը պատասխանատու է վիրտուալ կարկատման համար։ Ադմինիստրատորը կարող է ավելացնել սովորական սովորական արտահայտություններ՝ վնասակար հարցումները արգելափակելու համար: Համակարգը հնարավորություն է տալիս որոշ հարցումներ նշել «Գաղտնի տվյալներ» դրոշով: Այնուհետև դրանց պարամետրերը դիմակավորված են, և ոչ մի դեպքում դրանք չեն փոխանցվում firewall-ի աշխատանքային տարածքից դուրս:
- Ներկառուցված պարագծային և խոցելիության սկաներ. Սա թույլ է տալիս ինքնուրույն որոշել ՏՏ ենթակառուցվածքի ցանցային սահմանները՝ օգտագործելով DNS հարցումների և WHOIS արձանագրության տվյալները: Այնուհետև WAF-ը ավտոմատ կերպով վերլուծում է պարագծի ներսում աշխատող ծառայությունները (կատարում է նավահանգիստների սկանավորում): Firewall-ն ի վիճակի է հայտնաբերել խոցելիության բոլոր տեսակները՝ SQLi, XSS, XXE և այլն, և բացահայտել ծրագրաշարի կազմաձևման սխալները, օրինակ՝ չարտոնված մուտք դեպի Git և BitBucket պահեստներ և անանուն զանգեր դեպի Elasticsearch, Redis, MongoDB:
- Հարձակումները վերահսկվում են ամպային ռեսուրսների միջոցով. Որպես կանոն, ամպային մատակարարներն ունեն մեծ քանակությամբ հաշվողական հզորություն: Սա թույլ է տալիս վերլուծել սպառնալիքները բարձր ճշգրտությամբ և արագությամբ: Զտիչ հանգույցների կլաստերը տեղակայված է ամպի մեջ, որի միջով անցնում է ամբողջ տրաֆիկը: Այս հանգույցները արգելափակում են հարձակումները վեբ հավելվածների վրա և վիճակագրություն ուղարկում Վերլուծության կենտրոն: Այն օգտագործում է մեքենայական ուսուցման ալգորիթմներ՝ բոլոր պաշտպանված հավելվածների արգելափակման կանոնները թարմացնելու համար: Նման սխեմայի իրականացումը ներկայացված է Նկ. 4. Նման հարմարեցված անվտանգության կանոնները նվազագույնի են հասցնում կեղծ firewall ահազանգերի քանակը:
Այժմ մի փոքր ամպային WAF-ների առանձնահատկությունների մասին՝ կազմակերպչական խնդիրների և կառավարման առումով.
- Անցում OpEx. Ամպային WAF-ների դեպքում ներդրման արժեքը կկազմի զրո, քանի որ բոլոր սարքավորումները և լիցենզիաները արդեն վճարվել են մատակարարի կողմից, ծառայության վճարումը կատարվում է բաժանորդագրությամբ:
- Տարբեր սակագնային պլաններ. Ամպային ծառայության օգտվողը կարող է արագ միացնել կամ անջատել լրացուցիչ ընտրանքները: Գործառույթները կառավարվում են մեկ կառավարման վահանակից, որը նույնպես ապահով է: Այն հասանելի է HTTPS-ի միջոցով, ինչպես նաև կա երկու գործոն նույնականացման մեխանիզմ՝ հիմնված TOTP (Time-based One-Time Password Algorithm) արձանագրության վրա:
- Միացում DNS-ի միջոցով. Դուք կարող եք ինքներդ փոխել DNS-ը և կարգավորել ցանցի երթուղին: Այս խնդիրները լուծելու համար կարիք չկա հավաքագրել և պատրաստել առանձին մասնագետներ։ Որպես կանոն, մատակարարի տեխնիկական աջակցությունը կարող է օգնել տեղադրման հարցում:
WAF տեխնոլոգիաները զարգացել են պարզ firewalls-ից՝ հիմնական կանոններով մինչև բարդ պաշտպանության համակարգեր՝ մեքենայական ուսուցման ալգորիթմներով: Հավելվածների firewalls-ն այժմ առաջարկում է գործառույթների լայն շրջանակ, որոնք դժվար էր իրականացնել 90-ականներին: Շատ առումներով նոր ֆունկցիոնալության ի հայտ գալը հնարավոր դարձավ ամպային տեխնոլոգիաների շնորհիվ։ WAF լուծումները և դրանց բաղադրիչները շարունակում են զարգանալ: Ինչպես տեղեկատվական անվտանգության մյուս ոլորտները:
Տեքստը պատրաստել է Ալեքսանդր Կարպուզիկովը՝ #CloudMTS ամպային մատակարարի տեղեկատվական անվտանգության արտադրանքի մշակման մենեջեր։
Source: www.habr.com