Бұлтты тақырыптар бойынша өткен материалымызда біз
WAF дегеніміз не
Хакерлік шабуылдардың 75%-дан астамы веб-қосымшалар мен веб-сайттардың осалдықтарына бағытталған: мұндай шабуылдар әдетте ақпараттық қауіпсіздік инфрақұрылымы мен ақпараттық қауіпсіздік қызметтеріне көрінбейді. Веб-қосымшалардағы осалдықтар, өз кезегінде, пайдаланушы тіркелгілері мен жеке деректерін, құпия сөздерді және несие картасы нөмірлерін бұзу және алаяқтық қаупін тудырады. Сонымен қатар, веб-сайттағы осалдықтар шабуылдаушылар үшін корпоративтік желіге кіру нүктесі ретінде қызмет етеді.
Web Application Firewall (WAF) – веб-қосымшаларға шабуылдарды блоктайтын қорғаныс экраны: SQL инъекциясы, сайттар аралық сценарийлер, қашықтан кодты орындау, қатал күш және авторизацияны айналып өту. Соның ішінде нөлдік күндік осалдықтарды пайдаланатын шабуылдар. Қолданбалардың брандмауэрлері HTML, DHTML және CSS қоса, веб-бет мазмұнын бақылау және ықтимал зиянды HTTP/HTTPS сұрауларын сүзу арқылы қорғауды қамтамасыз етеді.
Алғашқы шешімдер қандай болды?
Веб қолданбаларының брандмауэрін жасаудың алғашқы әрекеттері 90-шы жылдардың басында жасалды. Бұл салада кем дегенде үш инженер жұмыс істегені белгілі. Біріншісі - Пердю университетінің информатика профессоры Джин Спаффорд. Ол прокси қолданбасының брандмауэрінің архитектурасын сипаттап, оны 1991 жылы кітапта жариялады
Екінші және үшінші болып Bell Labs компаниясының ақпараттық қауіпсіздік мамандары Уильям Чесвик пен Маркус Ранум болды. Олар бірінші қолданбалы желіаралық қалқан прототиптерінің бірін жасады. Оны DEC таратқан – өнім SEAL (Secure External Access Link) атауымен шығарылды.
Бірақ SEAL толыққанды WAF шешімі емес еді. Бұл кеңейтілген функционалдығы бар классикалық желілік брандмауэр болды - FTP және RSH шабуылдарын блоктау мүмкіндігі. Осы себепті бүгінгі күні бірінші WAF шешімі Perfecto Technologies (кейінірек Sanctum) өнімі болып саналады. 1999 жылы ол
AppShield-пен бір уақытта (2002 жылы) бірінші ашық бастапқы WAF пайда болды. Ол болды
Нәтижесінде әзірлеушілер өз мақсаттарына қол жеткізе алды - нарықта жаңа WAF шешімдері пайда бола бастады, соның ішінде ModSecurity негізінде жасалған.
Үш ұрпақ қазірдің өзінде тарих
Технологияның дамуымен бірге дамыған WAF жүйелерінің үш буынын ажырату әдетке айналған.
Бірінші ұрпақ. Тұрақты тіркестермен (немесе грамматикамен) жұмыс істейді. Бұған ModSecurity кіреді. Жүйе провайдері қолданбаларға жасалған шабуыл түрлерін зерттейді және заңды және ықтимал зиянды сұрауларды сипаттайтын үлгілерді жасайды. WAF бұл тізімдерді тексереді және белгілі бір жағдайда не істеу керектігін шешеді - трафикті блоктау немесе блоктау.
Тұрақты өрнектерге негізделген анықтаудың мысалы бұрын айтылған жоба болып табылады
Тұрақты өрнектер де өте жоғары жалған оң көрсеткішке ие. Атақты лингвист Ноам Хомский грамматикалардың классификациясын ұсынды, онда ол күрделіліктің төрт шартты деңгейіне бөледі. Бұл классификацияға сәйкес тұрақты өрнектер үлгіден ауытқуларды қамтымайтын брандмауэр ережелерін ғана сипаттай алады. Бұл шабуылдаушылар WAF бірінші буынын оңай «алдай» алатынын білдіреді. Мұнымен күресудің бір әдісі - зиянды деректердің логикасына әсер етпейтін, бірақ қолтаңба ережесін бұзатын қолданба сұрауларына арнайы таңбаларды қосу.
Екінші буын. WAFs өнімділігі мен дәлдігі мәселелерін айналып өту үшін екінші буын қолданбалы желіаралық қалқандар әзірленді. Енді оларда қатаң анықталған шабуыл түрлерін (HTML, JS, т.б.) анықтауға жауапты талдаушылар бар. Бұл талдаушылар сұрауларды сипаттайтын арнайы таңбалауыштармен жұмыс істейді (мысалы, айнымалы, жол, белгісіз, сан). Ықтимал зиянды таңбалауыш тізбектері WAF жүйесі жүйелі түрде тексеретін бөлек тізімге орналастырылады. Бұл тәсіл алғаш рет Black Hat 2012 конференциясында C/C++ түрінде көрсетілді
Бірінші буындағы 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