Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Бұлтты тақырыптар бойынша өткен материалымызда біз деді, жалпыға қолжетімді бұлтта АТ ресурстарын қалай қорғауға болады және неге дәстүрлі антивирустар бұл мақсаттарға мүлдем сәйкес келмейді. Бұл постта біз бұлттық қауіпсіздік тақырыбын жалғастырамыз және WAF эволюциясы және нені таңдаған дұрыс: аппараттық құрал, бағдарламалық жасақтама немесе бұлт туралы сөйлесеміз. 

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

WAF дегеніміз не

Хакерлік шабуылдардың 75%-дан астамы веб-қосымшалар мен веб-сайттардың осалдықтарына бағытталған: мұндай шабуылдар әдетте ақпараттық қауіпсіздік инфрақұрылымы мен ақпараттық қауіпсіздік қызметтеріне көрінбейді. Веб-қосымшалардағы осалдықтар, өз кезегінде, пайдаланушы тіркелгілері мен жеке деректерін, құпия сөздерді және несие картасы нөмірлерін бұзу және алаяқтық қаупін тудырады. Сонымен қатар, веб-сайттағы осалдықтар шабуылдаушылар үшін корпоративтік желіге кіру нүктесі ретінде қызмет етеді.

Web Application Firewall (WAF) – веб-қосымшаларға шабуылдарды блоктайтын қорғаныс экраны: SQL инъекциясы, сайттар аралық сценарийлер, қашықтан кодты орындау, қатал күш және авторизацияны айналып өту. Соның ішінде нөлдік күндік осалдықтарды пайдаланатын шабуылдар. Қолданбалардың брандмауэрлері HTML, DHTML және CSS қоса, веб-бет мазмұнын бақылау және ықтимал зиянды HTTP/HTTPS сұрауларын сүзу арқылы қорғауды қамтамасыз етеді.

Алғашқы шешімдер қандай болды?

Веб қолданбаларының брандмауэрін жасаудың алғашқы әрекеттері 90-шы жылдардың басында жасалды. Бұл салада кем дегенде үш инженер жұмыс істегені белгілі. Біріншісі - Пердю университетінің информатика профессоры Джин Спаффорд. Ол прокси қолданбасының брандмауэрінің архитектурасын сипаттап, оны 1991 жылы кітапта жариялады «UNIX қауіпсіздігі практикада».

Екінші және үшінші болып Bell Labs компаниясының ақпараттық қауіпсіздік мамандары Уильям Чесвик пен Маркус Ранум болды. Олар бірінші қолданбалы желіаралық қалқан прототиптерінің бірін жасады. Оны DEC таратқан – өнім SEAL (Secure External Access Link) атауымен шығарылды.

Бірақ SEAL толыққанды WAF шешімі емес еді. Бұл кеңейтілген функционалдығы бар классикалық желілік брандмауэр болды - FTP және RSH шабуылдарын блоктау мүмкіндігі. Осы себепті бүгінгі күні бірінші WAF шешімі Perfecto Technologies (кейінірек Sanctum) өнімі болып саналады. 1999 жылы ол ұсынылған AppShield жүйесі. Ол кезде Perfecto Technologies электрондық коммерция үшін ақпараттық қауіпсіздік шешімдерін әзірледі, ал интернет-дүкендер олардың жаңа өнімінің мақсатты аудиториясы болды. AppShield динамикалық ақпараттық қауіпсіздік саясаттары негізінде HTTP сұрауларын және блокталған шабуылдарды талдай алды.

AppShield-пен бір уақытта (2002 жылы) бірінші ашық бастапқы WAF пайда болды. Ол болды Қауіпсіздік. Ол WAF технологияларын танымал ету мақсатында жасалған және оны әлі де IT қауымдастығы қолдап келеді (міне GitHub репозиторийі). ModSecurity қалыпты өрнектердің (қолтаңбалардың) стандартты жиынына негізделген қолданбаларға шабуылдарды блоктайды - үлгілерге негізделген сұрауларды тексеру құралдары - OWASP негізгі ережелер жинағы.

Нәтижесінде әзірлеушілер өз мақсаттарына қол жеткізе алды - нарықта жаңа WAF шешімдері пайда бола бастады, соның ішінде ModSecurity негізінде жасалған.

Үш ұрпақ қазірдің өзінде тарих

Технологияның дамуымен бірге дамыған WAF жүйелерінің үш буынын ажырату әдетке айналған.

Бірінші ұрпақ. Тұрақты тіркестермен (немесе грамматикамен) жұмыс істейді. Бұған ModSecurity кіреді. Жүйе провайдері қолданбаларға жасалған шабуыл түрлерін зерттейді және заңды және ықтимал зиянды сұрауларды сипаттайтын үлгілерді жасайды. WAF бұл тізімдерді тексереді және белгілі бір жағдайда не істеу керектігін шешеді - трафикті блоктау немесе блоктау.

Тұрақты өрнектерге негізделген анықтаудың мысалы бұрын айтылған жоба болып табылады Негізгі ережелер жинағы ашық дереккөз. Тағы бір мысал - Накси, ол да ашық көз болып табылады. Тұрақты өрнектері бар жүйелердің бірқатар кемшіліктері бар, атап айтқанда, жаңа осалдық анықталғанда, әкімші қосымша ережелерді қолмен жасауы керек. Кең ауқымды АТ инфрақұрылымы жағдайында бірнеше мың ережелер болуы мүмкін. Көптеген тұрақты өрнектерді басқару өте қиын, оларды тексеру желі өнімділігін төмендетуі мүмкін екенін айтпағанда.

Тұрақты өрнектер де өте жоғары жалған оң көрсеткішке ие. Атақты лингвист Ноам Хомский грамматикалардың классификациясын ұсынды, онда ол күрделіліктің төрт шартты деңгейіне бөледі. Бұл классификацияға сәйкес тұрақты өрнектер үлгіден ауытқуларды қамтымайтын брандмауэр ережелерін ғана сипаттай алады. Бұл шабуылдаушылар WAF бірінші буынын оңай «алдай» алатынын білдіреді. Мұнымен күресудің бір әдісі - зиянды деректердің логикасына әсер етпейтін, бірақ қолтаңба ережесін бұзатын қолданба сұрауларына арнайы таңбаларды қосу.

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Екінші буын. WAFs өнімділігі мен дәлдігі мәселелерін айналып өту үшін екінші буын қолданбалы желіаралық қалқандар әзірленді. Енді оларда қатаң анықталған шабуыл түрлерін (HTML, JS, т.б.) анықтауға жауапты талдаушылар бар. Бұл талдаушылар сұрауларды сипаттайтын арнайы таңбалауыштармен жұмыс істейді (мысалы, айнымалы, жол, белгісіз, сан). Ықтимал зиянды таңбалауыш тізбектері WAF жүйесі жүйелі түрде тексеретін бөлек тізімге орналастырылады. Бұл тәсіл алғаш рет Black Hat 2012 конференциясында C/C++ түрінде көрсетілді libinjection кітапханалары, бұл SQL инъекцияларын анықтауға мүмкіндік береді.

Бірінші буындағы WAF-мен салыстырғанда мамандандырылған талдаушылар жылдамырақ болуы мүмкін. Дегенмен, олар жаңа зиянды шабуылдар пайда болған кезде жүйені қолмен конфигурациялауға байланысты қиындықтарды шеше алмады.

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Үшінші ұрпақ. Үшінші буынды анықтау логикасының эволюциясы анықтау грамматикасын қорғалған жүйелердің нақты SQL/HTML/JS грамматикасына барынша жақындатуға мүмкіндік беретін машиналық оқыту әдістерін пайдаланудан тұрады. Бұл анықтау логикасы Тьюринг машинасын рекурсивті есептелетін грамматикаларды қамтуға бейімдей алады. Оның үстіне, бұрын бейімделгіш Тьюринг машинасын жасау міндеті нейрондық Тьюринг машиналарының алғашқы зерттеулері жарияланғанға дейін шешілмейтін.

Машиналық оқыту бірінші буынды анықтау кезінде талап етілетін қолтаңба тізімдерін қолмен жасамай және Memcached, Redis, Cassandra, SSRF инъекциялары сияқты жаңа шабуыл түрлеріне арналған жаңа таңбалауыштарды/талдауыштарды жасамай-ақ кез келген грамматиканы шабуылдың кез келген түрін қамтуға бейімдеудің бірегей мүмкіндігін береді. , екінші буын әдістемесі талап еткендей.

Анықтау логикасының барлық үш буынын біріктіру арқылы біз анықтаудың үшінші буыны қызыл контурмен бейнеленген жаңа диаграмманы сала аламыз (3-сурет). Бұл буын веб-қосымшаларды және Wallarm API-ны бейімдеуге арналған платформаны әзірлеуші ​​Onsek-пен бірге бұлтта енгізіп жатқан шешімдердің бірін қамтиды.

Анықтау логикасы енді өзін-өзі реттеу үшін қолданбадан кері байланысты пайдаланады. Машиналық оқытуда бұл кері байланыс циклі «күшейту» деп аталады. Әдетте мұндай арматураның бір немесе бірнеше түрі бар:

  • Қолданбаның жауап әрекетін талдау (пассивті)
  • Сканерлеу/қабылдау (белсенді)
  • Файлдар/ұстау процедуралары/тұзақтары туралы хабарлау (фактіден кейін)
  • Нұсқаулық (жетекші анықтайды)

Нәтижесінде үшінші буынды анықтау логикасы маңызды дәлдік мәселесін де қарастырады. Енді жалған позитивтер мен жалған негативтерді болдырмауға ғана емес, сонымен қатар басқару тақтасында SQL пәрмен элементін пайдалануды анықтау, веб-бет үлгісін жүктеу, JavaScript қателеріне қатысты AJAX сұраулары және т.б. сияқты жарамды шынайы негативтерді анықтауға болады.

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Әрі қарай, біз әртүрлі WAF енгізу нұсқаларының технологиялық мүмкіндіктерін қарастырамыз.

Аппараттық, бағдарламалық жасақтама немесе бұлт - не таңдау керек?

Қолданбалы брандмауэрлерді іске асыру нұсқаларының бірі аппараттық шешім болып табылады. Мұндай жүйелер компания өзінің деректер орталығында жергілікті түрде орнататын арнайы есептеу құрылғылары болып табылады. Бірақ бұл жағдайда сіз өзіңіздің жабдықты сатып алып, оны орнату және жөндеу үшін интеграторларға ақша төлеуіңіз керек (егер компанияның жеке АТ бөлімі болмаса). Бұл ретте кез келген жабдық ескіріп, жарамсыз болып қалады, сондықтан тұтынушылар аппараттық құралдарды жаңартуға бюджетті жұмсауға мәжбүр.

WAF қолданудың тағы бір нұсқасы бағдарламалық жасақтаманы іске асыру болып табылады. Шешім кейбір бағдарламалық жасақтама үшін қондырма ретінде орнатылады (мысалы, ModSecurity Apache жоғарғы жағында конфигурацияланған) және онымен бір серверде жұмыс істейді. Әдетте, мұндай шешімдер физикалық серверде де, бұлтта да орналастырылуы мүмкін. Олардың кемшілігі шектеулі ауқымдылық және жеткізушілердің қолдауы болып табылады.

Үшінші нұсқа - бұлттан WAF орнату. Мұндай шешімдерді бұлттық провайдерлер жазылым қызметі ретінде ұсынады. Компанияға мамандандырылған жабдықты сатып алу және конфигурациялау қажет емес, бұл міндеттер қызмет провайдерінің мойнына жүктеледі. Маңызды мәселе - заманауи WAF бұлттық бұлт ресурстарды провайдердің платформасына көшіруді білдірмейді. Сайтты кез келген жерде, тіпті жергілікті жерде де орналастыруға болады.

Біз неліктен адамдар қазір бұлтты WAF-қа көбірек қарайтынын түсіндіреміз.

WAF бұлтта не істей алады

Технологиялық мүмкіндіктер бойынша:

  • Провайдер жаңартуларға жауапты. WAF жазылым арқылы қамтамасыз етіледі, сондықтан қызмет провайдері жаңартулар мен лицензиялардың өзектілігін бақылайды. Жаңартулар тек бағдарламалық жасақтамаға ғана емес, сонымен қатар аппараттық құралға да қатысты. Провайдер сервер паркін жаңартады және оған қызмет көрсетеді. Ол сондай-ақ жүктемені теңестіру және резервтеу үшін жауап береді. WAF сервері сәтсіз болса, трафик бірден басқа құрылғыға қайта бағытталады. Трафикті ұтымды бөлу желіаралық қалқан сәтсіз ашық режимге кіретін жағдайларды болдырмауға мүмкіндік береді - ол жүктемені көтере алмайды және сұрауларды сүзуді тоқтатады.
  • Виртуалды түзету. Виртуалды патчтар әзірлеуші ​​осалдықты жапқанша қолданбаның бұзылған бөліктеріне кіруді шектейді. Нәтижесінде бұлттық провайдердің тұтынушысы осы немесе басқа бағдарламалық жасақтаманың жеткізушісі ресми «патчтарды» жариялағанша тыныштықпен күту мүмкіндігіне ие болады. Мұны мүмкіндігінше жылдам орындау бағдарламалық құрал жеткізушісі үшін басымдық болып табылады. Мысалы, Wallarm платформасында виртуалды түзетуге жеке бағдарламалық модуль жауап береді. Әкімші зиянды сұрауларды блоктау үшін реттелетін тұрақты өрнектерді қоса алады. Жүйе кейбір сұрауларды «Құпия деректер» жалаушасымен белгілеуге мүмкіндік береді. Содан кейін олардың параметрлері маскирленеді және ешқандай жағдайда желіаралық қалқан жұмыс аймағынан тыс тасымалданбайды.
  • Кірістірілген периметрі және осалдық сканері. Бұл DNS сұрауларынан және WHOIS хаттамасынан алынған деректерді пайдалана отырып, АТ инфрақұрылымының желілік шекараларын дербес анықтауға мүмкіндік береді. Содан кейін WAF периметр ішінде жұмыс істейтін қызметтерді автоматты түрде талдайды (портты сканерлеуді орындайды). Брандмауэр осалдықтардың барлық кең таралған түрлерін - SQLi, XSS, XXE және т.б. анықтауға және бағдарламалық жасақтама конфигурациясындағы қателерді анықтауға қабілетті, мысалы, Git және BitBucket репозитарийлеріне рұқсатсыз кіру және Elasticsearch, Redis, MongoDB қызметтеріне анонимді қоңыраулар.
  • Шабуылдар бұлттық ресурстар арқылы бақыланады. Әдетте, бұлттық провайдерлер үлкен көлемдегі есептеу қуатына ие. Бұл қауіптерді жоғары дәлдікпен және жылдамдықпен талдауға мүмкіндік береді. Сүзгі түйіндерінің кластері бұлтта орналастырылған, ол арқылы барлық трафик өтеді. Бұл түйіндер веб-қосымшаларға шабуылдарды блоктайды және статистиканы талдау орталығына жібереді. Ол барлық қорғалған қолданбалар үшін блоктау ережелерін жаңарту үшін машиналық оқыту алгоритмдерін пайдаланады. Мұндай схеманың орындалуы күріште көрсетілген. 4. Мұндай бейімделген қауіпсіздік ережелері жалған желіаралық қалқан дабылдарының санын азайтады.

Веб-қосымшалардың брандмауэрінің эволюциясы: брандмауэрлерден машиналық оқытумен бұлтқа негізделген қорғау жүйелеріне дейін

Енді ұйымдастырушылық мәселелер мен басқару тұрғысынан бұлттық WAF мүмкіндіктері туралы аздап:

  • OpEx жүйесіне көшу. Бұлтты WAF жағдайында енгізу құны нөлге тең болады, өйткені барлық аппараттық құралдар мен лицензияларды провайдер төлеп қойған; қызмет үшін төлем жазылым арқылы жүзеге асырылады.
  • Әртүрлі тарифтік жоспарлар. Бұлттық қызмет пайдаланушысы қосымша опцияларды жылдам қосуы немесе өшіруі мүмкін. Функциялар бір басқару тақтасынан басқарылады, ол да қауіпсіз. Оған HTTPS арқылы қол жеткізуге болады, сонымен қатар TOTP (Уақытқа негізделген бір реттік құпия сөз алгоритмі) протоколына негізделген екі факторлы аутентификация механизмі бар.
  • DNS арқылы қосылу. DNS-ті өзіңіз өзгертіп, желі маршрутын конфигурациялай аласыз. Бұл мәселелерді шешу үшін жеке мамандарды тарту мен оқытудың қажеті жоқ. Әдетте, провайдердің техникалық қолдауы орнатуға көмектеседі.

WAF технологиялары қарапайым ережелері бар желіаралық қалқандардан машиналық оқыту алгоритмдері бар күрделі қорғаныс жүйелеріне дейін дамыды. Қолданбалардың брандмауэрлері қазір 90-шы жылдары жүзеге асыру қиын болған мүмкіндіктердің кең ауқымын ұсынады. Көптеген жолдармен жаңа функционалдылықтың пайда болуы бұлтты технологиялардың арқасында мүмкін болды. WAF шешімдері және олардың құрамдас бөліктері дамуды жалғастыруда. Ақпараттық қауіпсіздіктің басқа салалары сияқты.

Мәтінді #CloudMTS бұлтты провайдерінің ақпараттық қауіпсіздік өнімдерін әзірлеу жөніндегі менеджері Александр Карпузиков дайындады.

Ақпарат көзі: www.habr.com

пікір қалдыру