Web Application Firewall

Давление на современном рынке конкуренции в различных сферах деятельности создало очень восприимчивую к окружающей среде web-инфраструктуру. Современные архитектуры развертывания web-приложений достаточно сложны и требуют интеграции многих гетерогенных технологий, создавая потенциал для многочисленных уязвимостей. Ускоренные циклы разработки и постоянные обновления web-приложений еще больше усугубляют ситуацию. В таких условиях бизнес-риски компаний слишком велики, чтобы игнорировать данную проблему, так как уязвимости в web-приложениях подвергают критически важные бизнес-операции и конфиденциальные данные опасности. Значительные финансовые потери могут возникнуть в результате непредвиденных задержек в бизнес-процесах, кражи интеллектуальной собственности, и потери доверия клиентов, а также репутации бренда. Во многих случаях, безопасность web-приложений также является юридическим требованием, например, таким как соблюдение Payment Card Industry Data Security (PCI DSS) стандарта безопасности данных.

Бесплатная консультация

Сегодня размещение традиционных брандмауэров, Next Generation Firewalls (NGFW) или Intrusion Prevention Systems (IPS) по периметру сети или, по крайней мере, в качестве шлюзов для доверенных сегментов сети, является недостаточным фактором для обеспечения полноценной защиты сетевой инфраструктуры. Атаки на web-ресурсы, которые манипулируют программным обеспечением для достижения вредоносных целей, как правило, проходят одновременно с сессиями легитимных пользователей и, по большей степени используют стандартные HTTP (80) и HTTPS (443) порты. Блокирование всего трафика на уровне порта не является вариантом выхода из данного положения, так как доступ к web-приложениям будет полностью закрыт извне или изнутри. Именно такая дилемма сетевой безопасности является отличной возможностью для поиска хакерами уязвимостей на уровне web-приложений.

Современные тенденции развития web-сервисов указывают на отсутствие единых стандартов безопасного программирования web-приложений, что приводит к ошибкам в разработке ПО и появлению серьезных уязвимостей в web-сервисах, использующих эти приложения. Положение осложняется тем, что уязвимое web-приложение может быть легко скомпрометировано без использования специализированных средств, только с помощью браузера. Защита уязвимых web-приложений может осуществляться либо путем устранения уязвимостей в web-приложении либо с использованием специализированных средств защиты web-приложений — Web Application Firewall (WAF).

Web Application Firewall (WAF, межсетевой экран для веб-приложений) представляет собой устройство безопасности (аппаратное или виртуальное), основной задачей которого является защита web-порталов и web-приложений путем проверки XML/SOAP семантики потокового трафика, а также проверки HTTP/HTTPS трафика с целью выявления различных атак на уровне приложений. Межсетевой экран для веб-приложений действует как прокси-сервер, но благодаря способности анализировать HTTPS трафик (путем импорта сертификата безопасности целевого сервера), также может выполнять и другие функции, такие как терминация SSL трафика и балансировка нагрузки сервера. Кроме того WAF поддерживает кластеризацию, а также выполняет акселерацию web-приложений.

Web Application Firewall (WAF) поддерживает два основных режима развертывания:

  • Gateway (bridge mode, transparent proxy, reverse proxy);
  •  Monitor (режим сетевого мониторинга через SPAN порт).
Gateway

Рис. 1. Типичная схема развертывания WAF в режиме Gateway

Monitor

Рис. 2. Типичная схема развертывания WAF в режиме Monitor

Межсетевой экран для веб-приложений (WAF) функционирует на основе двух общепринятых моделей безопасности:
• Negative — отрицательная модель или черный список (отрицает то, что является заведомо установленным). Для предоставления базовой защиты, аналогичной IPS, но с более высоким уровнем оценки безопасности приложений, WAF может использовать как общеизвестные сигнатуры для предотвращения наиболее распространенных атак, так и специфические сигнатуры для атак, использующих уязвимости отдельных web-приложений. Например: отрицать определенный потенциально опасный HTTP запрос GET и разрешить все остальное;
• Positive — положительная модель или белый список (разрешает только то, что является заведомо установленным). Для улучшенной защиты, в дополнение к сигнатурам, используется еще один тип логики: правила, которые определяют, что явно разрешено. Например: разрешить только HTTP GET запросы для определенного URL и запретить все остальное.

Ключевые возможности WAF:

  • Поддержка всех применимых к web-приложениям PCI DSS Requirements*, связанных с компонентами системы в среде обработки данных по платежным картам;
  •  Оперативная реакция (определяется активной политикой и/или набором правил) на угрозы и атаки, определенные, как минимум, в OWASP Top 10**;
  •  Проверка входящего HTTP/HTTPS трафика и запросов к web-приложениям и принятие защитных мер на основе активных политик и правил (разрешить, блокировать, предупредить);
  •  Поддержка и соблюдение корректного функционирования положительной и отрицательной модели безопасности;
  • Изучение и проверка web-контента, созданного с помощью Hypertext Markup Language (HTML), Dynamic HTML (DHTML), Cascading Style Sheets (CSS) и основных протоколов доставки web-контента, таких как Hypertext Transport Protocol (HTTP) и Transport Protocol Hypertext over SSL (HTTPS);
  •  Предотвращение утечки данных — проверка исходящего HTTP/HTTPS трафика и запросов к web-приложениям и принятие защитных мер на основе активных политик и правил, а также своевременная запись произошедших событий в журнал событий;
  •  Анализ сообщений web-сервисов, в особенности публичных. Как правило, включает себя проверку Simple Object Access Protocol (SOAP) и eXtensible Markup Language (XML), а также Remote Procedure Call (RPC) ориентированные модели взаимодействия с web-сервисами, основанные на базе HTTP;
  •  Проверка любого протокола или конструкции данных (проприетарных или стандартизированных), которые используются для передачи данных в/из web-приложения.
  •  Защита от угроз, направленных непосредственно на WAF;
  •  Терминация SSL и/или TLS (расшифровка и проверка трафика перед отправкой к web-приложению).

    Attacks

    Рис. 3. Основные виды атак на сервер web-приложений

 

Недостатки IPS в контексте защиты web-ресурсов

Устройства IPS предназначены для обнаружения и блокировки атак, с которыми не могут справиться обычные межсетевые экраны. Данные системы анализируют содержимое пакетов и сравнивают их с сигнатурами известных атак. Помимо этого, системы IPS могут оценивать и блокировать аномалии протоколов прикладного уровня. Общее число уязвимостей web-приложений и их вариаций на несколько порядков выше, чем суммарное количество сигнатур в базах данных современных систем IPS. Поэтому системы IPS, функционирующие по принципу сравнения пакетов с известными сигнатурами, не являются эффективным решением для борьбы с web-атаками. Для надежной защиты web-приложений требуется глубокое понимание их структуры, включая URL-параметры, cookie, формы ввода данных и др. К сожалению, современные системы IPS не в состоянии в полном объеме анализировать структуру web-приложений и, соответственно, обеспечивать их надежную защиту.

Недостатки NGFW в контексте защиты web-ресурсов

Критическим различием между NGFW и WAF является направленность данных устройств: NGFW, прежде всего, ориентирован на контроль внешних приложений по отношению к предприятию (например, peer-to-peer и Facebook), в то время как WAF обеспечивает защиту ориентированных на пользователя web-приложений размещенных на внутренних серверах предприятия.
NGFW не контролируют HTTP/HTTPS сессии вообще либо контролирует их частично. Он блокирует только известные типы атак и, в основном, использует «blacklist» подход к обеспечению web-защиты, а также не компенсирует уязвимости плохо спроектированных web-приложений. Для защиты большинства web-приложений NGFW вполне достаточно. Но для приложений, требующих усиленной защиты и постоянного мониторинга, WAF обеспечивает более надежный набор элементов управления, которые могут блокировать как известные типы атак, так и атаки против которых еще не разработаны защитные механизмы (Zero-Day Attacks).
NGFW не оснащаются WAF, так как это обусловлено необходимостью выделения большого количества вычислительной мощности для корректной работы последнего. Более того, существует ограниченный набор компаний, которым WAF необходим (в основном это финансовая сфера деятельности). Поэтому, на данный момент, WAF остается автономной и независимой технологией с уникальной и узконаправленной функциональностью и высоким потенциалом развития в ближайшем будущем.

Difference

Рис. 4. Сравнение WAF, IPS и NGFW в контексте защиты web-ресурсов

 

* PCI DSS Requirements:

• Обеспечить функционирование межсетевых экранов для защиты данных держателей платежных карт;
• Не использовать пароли и другие системные параметры, заданные производителем по умолчанию;
• Обеспечить безопасное хранение данных держателей карт;
• Обеспечить шифрование данных держателей карт при их передаче через сети общего пользования;
• Защищать все системы от вредоносного ПО и регулярно обновлять антивирусное ПО;
• Разрабатывать и поддерживать безопасные системы и приложения;
• Ограничить доступ к данным держателей карт в соответствии со служебной необходимостью;
• Определять и подтверждать доступ к системным компонентам;
• Ограничить физический доступ к данным держателей карт;
• Контролировать и отслеживать любой доступ к сетевым ресурсам и данным держателей карт;
• Регулярно выполнять тестирование систем и процессов обеспечения безопасности;
• Разрабатывать и поддерживать политику информационной безопасности для всего персонала организации.

** OWASP Top 10:

• A1: уязвимости к внедрению кода (всякого рода инъекции, в т.ч. SQL, LDAP и т.д.)
• A2: уязвимости XSS (Cross Site Scripting);
• A3: уязвимости, возникающие вследствие некорректной реализации механизма аутентификации и управления сеансами web-приложения;
• A4: уязвимости, позволяющие осуществлять неконтролируемый доступ к внутренним объектам web-приложения напрямую. Возможность обхода каталогов (Path Traversal);
• A5: уязвимости CSRF (Cross Site Request Forgery);
• A6: уязвимости, возникающие вследствие неправильной конфигурации web-приложения и его окружения;
• A7: уязвимости, связанные с некорректной реализацией криптографических методов защиты информации для хранения критичных данных на стороне сервера;
• A8: уязвимости механизма авторизации web-приложений (возможность прямого доступа к ресурсам по URL);
• A9: недостаточная защищенность транспортного протокола;
• A10: уязвимости, позволяющие использовать web-приложение для перенаправления пользователей на любой сайт (Open Redirects).