Бизнесу важно любой ценой сократить time to market цифровых продуктов. Нет времени объяснять защищать — выпускаем новый релиз. Так зачастую бывает с веб-приложениями. При их разработке или развитии вопросы безопасности отодвигаются на второй план. Это приводит к уязвимостям в коде, слабым параметрам аутентификации пользователей, недостаткам контроля доступа и т.д. И целого поста на Хабре не хватит, чтобы рассказать обо всех проблемах.
Уязвимости — это рабочая неизбежность, ведь задача бизнеса — выпустить новый функционал веб-приложений в заданные сроки, когда нет места идеальному результату без временных ограничений.
Сегодня мы — облачный провайдер #CloudMTS и коллеги из BI.ZONE — хотим поговорить об основных «мишенях» злоумышленников и грамотном подходе к внедрению WAF.
Первым делом очертим список основных целей, которые преследуют злоумышленники в атаках на веб-приложения, а заодно взвесим риски атак для бизнеса.
Для предотвращения действий злоумышленников компании внедряют решения класса Web Application Firewall (WAF). Но достаточно ли этого сегодня, чтобы спать спокойно? Давайте попробуем ответить на этот вопрос в технической части нашей статьи.
Знай врага своего
Первый вопрос, который мы задаем клиентам: «Знаете ли вы, из чего состоит ваш веб-ресурс: какая бизнес-логика в нем заложена, какие компоненты используются при разработке?». Как правило, сходу ответить на него могут далеко не все, хотя это важно сразу по нескольким причинам.
Обратите внимание: в этом случае веб-приложение запущено от имени привилегированного пользователя, поэтому злоумышленник может выполнить любую произвольную команду, в том числе на создание или удаление пользователей, перезагрузку сервера, изменение конфигурации и многое другое. К сожалению, по информации от наших коллег из отдела по тестированию на проникновение, подобные случаи возникают повсюду.
Это только один из векторов, который позволит киберпреступнику обосноваться внутри инфраструктуры и планировать дальнейшее развитие атаки. Причем, как правило, после успешного проникновения в инфраструктуру злоумышленник не сразу приступает к агрессивным действиям, а некоторое время выжидает и тщательно маскируется, что существенно усложняет задачу выявления подобной вредоносной активности.
Такие уязвимости желательно обнаруживать на этапе аудита с помощью различных инструментов и методов: статистического и динамического анализа исходного кода, фаззинг-тестирования, выявления аномалий в архитектуре и логике веб-приложения. Увы, нередко этот момент упускается из-за отсутствия времени или средств.
Некоторые инструменты, которыми пользуются злоумышленники, сегодня доступны даже школьнику. Например, сканеры уязвимостей. Они способны на базовом уровне рассказать, из чего состоит ваш веб-сайт (заголовки HTTP, включая CSP, список плагинов, тем и скриптов и т.д.). После «прощупывания» злоумышленник может заняться вашим ресурсом более предметно и глубоко. Например, он понял, что внутри веб-приложения используется реляционная БД SQL. Значит, надо попытаться в нее проникнуть и извлечь из нее информацию. Если используется JSON-схема с некоторой вложенностью, злоумышленник будет пытаться усложнить ее, тем самым мешая WAF’у сериализовать эту схему. Например, он может применить различные кодировки (base64 и т.п.), «завернуть» что-то в XML или HEX.
В этом и кроется главная сложность эксплуатации WAF: тонкая настройка детектов, пополнение сигнатурной базы, модификация механизмов динамического анализа поведения и т.д. Даже поставив такой мощный инструмент, вы все равно не избавитесь от ложных срабатываний. Аналитика ошибок — это долгий и трудоемкий процесс, который требует выделенных специалистов для работы с решением.
Но вопрос поддержки WAF не заканчивается на управлении политиками защиты. Поскольку WAF стоит в разрыв трафика, он становится «бутылочным горлышком» и может существенно повлиять на показатели доступности защищаемого веб-приложения. Определенная часть работ в рамках эксплуатации WAF включает в себя инженерные задачи: тюнинг инсталляции для повышения пропускной способности, настройка механизмов отказоустойчивости, организация мониторинга доступности, масштабирование и многое другое. В условиях высокого спроса на специалистов по кибербезопасности найти людей под эти задачи будет весьма проблематично. Ведь вам нужен специалист, сочетающий в себе навыки и ИТ-инженера, и специалиста по безопасности веб-приложений! Самый правильный вариант — вырастить такого спеца внутри коллектива, но он далеко не всем подходит.
Denial of Inventory отличается от классической DDoS-атаки: вычислительные мощности могут быть не утилизированы на 100%, но легитимные пользователи все равно не смогут воспользоваться ключевой функциональностью веб-приложения.
Также в некоторых случаях бот-активности могут приводить к репутационному ущербу. Ярким примером такой атаки является кейс Nvidia. В первые минуты после старта продаж ботами были выкуплены все доступные экземпляры видеокарты GeForce RTX 3080 по низким ценам. Результат — репутационный ущерб компании и отток клиентов.
Основная сложность ботов заключается в том, что они быстро подстраиваются под любые меры защиты. Классический подход, который работает с остальными атаками — увидели атаку, заблокировали, отдали код 403 — не подходит. Бот сразу может понять, по каким маркерам выявляется вредоносное поведение, и перестроиться. И мы снова приходим к тому, что необходимо постоянно анализировать результаты работы механизмов защиты WAF и вносить в них коррективы:
Threat Intelligence: целогомира WAF мало
Ни один WAF без базы знаний о новейших угрозах не сможет поддерживать актуальные политики защиты. Есть несколько путей их получения:
WAF может быть реализован по-разному. Кому-то подходит программно-аппаратное исполнение, а для другого этот вариант — долго, дорого и неудобно. В этом случае можно рассмотреть облачную реализацию WAF и подключить соответствующий сервис «на стороне».
Возможно ли отдать функцию защиты веб-приложений с помощью WAF стороннему сервис-провайдеру? Наш проектный опыт показывает, что это более чем реально. При этом веб-приложение необязательно куда-то переносить — оно может располагаться в любой инфраструктуре.
Как правило, WAF как облачный сервис достаточно прост в подключении. Необходимо выполнить пару базовых настроек с веб-приложением — переключить трафик через A-запись на DNS-сервере и передать нам SSL-сертификат. После этого входной точкой для трафика станут узлы фильтрации WAF, расположенные в облаке #CloudMTS.
В Москве у нас развернута высокопроизводительная сеть фильтрации WAF на технологиях BI.ZONE WAF.
Схема прохождения трафика
Авторы статьи – Александр Карпузиков (руководитель по развитию продуктов ИБ облачного бизнеса МТС) и Алешин Вячеслав (руководитель направления разработки облачных продуктов кибербезопасности в компании BI.ZONE).
Облачный WAF Premium — это специализированный аутсорсинг 24x7 для защиты веб-приложений от атак и взлома. Оставьте заявку, чтобы протестировать бесплатно.
Уязвимости — это рабочая неизбежность, ведь задача бизнеса — выпустить новый функционал веб-приложений в заданные сроки, когда нет места идеальному результату без временных ограничений.
Сегодня мы — облачный провайдер #CloudMTS и коллеги из BI.ZONE — хотим поговорить об основных «мишенях» злоумышленников и грамотном подходе к внедрению WAF.
Куда целятся киберпреступники
Первым делом очертим список основных целей, которые преследуют злоумышленники в атаках на веб-приложения, а заодно взвесим риски атак для бизнеса.
Для предотвращения действий злоумышленников компании внедряют решения класса Web Application Firewall (WAF). Но достаточно ли этого сегодня, чтобы спать спокойно? Давайте попробуем ответить на этот вопрос в технической части нашей статьи.
Подводные камни защиты веб-приложений: что ждет вас после внедрения WAF
Знай врага своего
Первый вопрос, который мы задаем клиентам: «Знаете ли вы, из чего состоит ваш веб-ресурс: какая бизнес-логика в нем заложена, какие компоненты используются при разработке?». Как правило, сходу ответить на него могут далеко не все, хотя это важно сразу по нескольким причинам.
- Атаки всегда связаны со спецификой веб-приложения и его бизнес-функциональностью.
Обратите внимание: в этом случае веб-приложение запущено от имени привилегированного пользователя, поэтому злоумышленник может выполнить любую произвольную команду, в том числе на создание или удаление пользователей, перезагрузку сервера, изменение конфигурации и многое другое. К сожалению, по информации от наших коллег из отдела по тестированию на проникновение, подобные случаи возникают повсюду.
Это только один из векторов, который позволит киберпреступнику обосноваться внутри инфраструктуры и планировать дальнейшее развитие атаки. Причем, как правило, после успешного проникновения в инфраструктуру злоумышленник не сразу приступает к агрессивным действиям, а некоторое время выжидает и тщательно маскируется, что существенно усложняет задачу выявления подобной вредоносной активности.
Такие уязвимости желательно обнаруживать на этапе аудита с помощью различных инструментов и методов: статистического и динамического анализа исходного кода, фаззинг-тестирования, выявления аномалий в архитектуре и логике веб-приложения. Увы, нередко этот момент упускается из-за отсутствия времени или средств.
- Развитие новых векторов атак коррелирует с развитием технологий.
Некоторые инструменты, которыми пользуются злоумышленники, сегодня доступны даже школьнику. Например, сканеры уязвимостей. Они способны на базовом уровне рассказать, из чего состоит ваш веб-сайт (заголовки HTTP, включая CSP, список плагинов, тем и скриптов и т.д.). После «прощупывания» злоумышленник может заняться вашим ресурсом более предметно и глубоко. Например, он понял, что внутри веб-приложения используется реляционная БД SQL. Значит, надо попытаться в нее проникнуть и извлечь из нее информацию. Если используется JSON-схема с некоторой вложенностью, злоумышленник будет пытаться усложнить ее, тем самым мешая WAF’у сериализовать эту схему. Например, он может применить различные кодировки (base64 и т.п.), «завернуть» что-то в XML или HEX.
- Классический WAF работает по принципу поиска чего-то «нелегитимного» в запросе.
В этом и кроется главная сложность эксплуатации WAF: тонкая настройка детектов, пополнение сигнатурной базы, модификация механизмов динамического анализа поведения и т.д. Даже поставив такой мощный инструмент, вы все равно не избавитесь от ложных срабатываний. Аналитика ошибок — это долгий и трудоемкий процесс, который требует выделенных специалистов для работы с решением.
Но вопрос поддержки WAF не заканчивается на управлении политиками защиты. Поскольку WAF стоит в разрыв трафика, он становится «бутылочным горлышком» и может существенно повлиять на показатели доступности защищаемого веб-приложения. Определенная часть работ в рамках эксплуатации WAF включает в себя инженерные задачи: тюнинг инсталляции для повышения пропускной способности, настройка механизмов отказоустойчивости, организация мониторинга доступности, масштабирование и многое другое. В условиях высокого спроса на специалистов по кибербезопасности найти людей под эти задачи будет весьма проблематично. Ведь вам нужен специалист, сочетающий в себе навыки и ИТ-инженера, и специалиста по безопасности веб-приложений! Самый правильный вариант — вырастить такого спеца внутри коллектива, но он далеко не всем подходит.
- Наши клиенты достаточно часто приходят с проблемой бот-активности.
Denial of Inventory отличается от классической DDoS-атаки: вычислительные мощности могут быть не утилизированы на 100%, но легитимные пользователи все равно не смогут воспользоваться ключевой функциональностью веб-приложения.
Также в некоторых случаях бот-активности могут приводить к репутационному ущербу. Ярким примером такой атаки является кейс Nvidia. В первые минуты после старта продаж ботами были выкуплены все доступные экземпляры видеокарты GeForce RTX 3080 по низким ценам. Результат — репутационный ущерб компании и отток клиентов.
Основная сложность ботов заключается в том, что они быстро подстраиваются под любые меры защиты. Классический подход, который работает с остальными атаками — увидели атаку, заблокировали, отдали код 403 — не подходит. Бот сразу может понять, по каким маркерам выявляется вредоносное поведение, и перестроиться. И мы снова приходим к тому, что необходимо постоянно анализировать результаты работы механизмов защиты WAF и вносить в них коррективы:
- по специфике проверки, которая производится на стороне пользователя/бота;
- направленные на блокировку (нужно ли блокировать и отдавать 403; или нужно снижать интенсивность запросов; или перенаправлять бота на поддельную страницу, чтобы он получал бессмысленный не релевантный для него контент).
- всем знакомая CAPTCHA v2 «с пешеходными переходами и поиском светофоров»;
- Checkbox Captcha, сгенерированная с помощью Javascript на стороне клиента;
- JavaScript Challenge, который предоставляет пользователю вместе с контентом сайта JS-скрипт и позволяет в дальнейшем отфильтровать бота и реального пользователя.
Threat Intelligence: целого
Ни один WAF без базы знаний о новейших угрозах не сможет поддерживать актуальные политики защиты. Есть несколько путей их получения:
- Интеграция со сторонней платформой Threat Intelligence или open source базами, содержащими актуальные фиды — индикаторы компрометации и атак, тактики и техники, информация о кампаниях и т.д).
- Сокрытие в инфраструктуре ханипотов (honeypot) — заведомо уязвимых машин, провоцирующих злоумышленника на атаку. Они могут быть использованы как для сбора IP-адресов и других метрик, так и для реагирования на инциденты кибербезопасности.
- Формирование собственной базы по итогам различных проектов по анализу защищенности, пентестам или расследованию киберинцидентов.
WAF может быть реализован по-разному. Кому-то подходит программно-аппаратное исполнение, а для другого этот вариант — долго, дорого и неудобно. В этом случае можно рассмотреть облачную реализацию WAF и подключить соответствующий сервис «на стороне».
WAF как сервис из облака #CloudMTS
Возможно ли отдать функцию защиты веб-приложений с помощью WAF стороннему сервис-провайдеру? Наш проектный опыт показывает, что это более чем реально. При этом веб-приложение необязательно куда-то переносить — оно может располагаться в любой инфраструктуре.
Как правило, WAF как облачный сервис достаточно прост в подключении. Необходимо выполнить пару базовых настроек с веб-приложением — переключить трафик через A-запись на DNS-сервере и передать нам SSL-сертификат. После этого входной точкой для трафика станут узлы фильтрации WAF, расположенные в облаке #CloudMTS.
В Москве у нас развернута высокопроизводительная сеть фильтрации WAF на технологиях BI.ZONE WAF.
Схема прохождения трафика
- Трафик пользователей, поступающий заказчику из интернета и направленный на защищаемое веб-приложение, проходит через узлы фильтрации WAF Premium.
- Входящие запросы проверяются в соответствии с настроенной политикой защиты. Если они содержат в себе следы веб-атаки или вредоносной ботнет-активности, трафик помечается как зловредный и блокируется еще до того, как достигнет веб-приложения
Авторы статьи – Александр Карпузиков (руководитель по развитию продуктов ИБ облачного бизнеса МТС) и Алешин Вячеслав (руководитель направления разработки облачных продуктов кибербезопасности в компании BI.ZONE).
Облачный WAF Premium — это специализированный аутсорсинг 24x7 для защиты веб-приложений от атак и взлома. Оставьте заявку, чтобы протестировать бесплатно.