Web Application Firewalls / Иван Новиков (ONsec)
description
Transcript of Web Application Firewalls / Иван Новиков (ONsec)
HOWTO: Web Applica/on Firewalls
Проблематика и обзор решений
Иван Новиков
понедельник, 22 апреля 13 г.
Что такое?• WAF -‐ Web Applica/on Firewall• Средства обнаружения и блокировки атак на веб-‐приложения
• Атаки на приложение -‐ эксплуатация ошибок с целью получения НСД
• АТАКА != УЯЗВИМОСТЬ
понедельник, 22 апреля 13 г.
Кто атакует?• Автоматические сканеры из бот-‐сетей• Школьники (script-‐kiddies)• Злоумышленники (сбор бот-‐сетей, перепродажа трафика)
• «Киллеры» на заказ• Аудиторы-‐«антикиллеры» на заказ от вас
понедельник, 22 апреля 13 г.
Как атакуют?• Уязвимости движков и компонент–WordPress (/mthumb)– PhpMyAdmin (unserialize)– TinyMCE (file upload)– JQuery (DOM-‐based XSS)
понедельник, 22 апреля 13 г.
Как атакуют?• Уязвимости веб-‐приложений• XSS• SQL injec/on• Local File Inclusion (LFI/RFI)• ...
понедельник, 22 апреля 13 г.
Что делать?• Не закрывать глаза• Не бояться• Разбираться в проблеме• Понимать методы борьбы и решения• Применять их
понедельник, 22 апреля 13 г.
Как бороться?• Блокировать атаки с помощью WAF• Проверять атаки на предмет реального наличия уязвимостей
• Выявлять уязвимости• Устранять уязвимости• Не допускать аналогичных в дальнейшем
понедельник, 22 апреля 13 г.
Как работает WAF?• Пропустить все запросы через себя• Анализировать содержимое запрос• Блокировать запрос при наличии атаки• Пропустить запрос на бэкэнд, если атака не обнаружена
понедельник, 22 апреля 13 г.
Как работает Web App Firewall?
Сервер приложенийWAF
КлиентHTTP запрос
Хакервектор атаки
понедельник, 22 апреля 13 г.
Как ошибается WAF?
Сервер приложенийWAF
КлиентHTTP запрос
Хакервектор атаки
Пропускхакера
Блок клиента
понедельник, 22 апреля 13 г.
Мифы о WAF• WAF блокирует уязвимости!
• Есть WAF => Firewall не нужен!
• Есть Firewall => WAF не нужен!
• WAF защищает все мои сервисы: почту, базу, LDAP
• Приложение нельзя взломать через WAF
• Приложение все-‐равно взломают, WAF не нужен!
понедельник, 22 апреля 13 г.
Мифы о WAF• Можно настроить WAF, чтобы он вообще
НИКОГДА не ошибался
• WAF никак не скажется на производительности фронтэндов
• WAF можно не настраивать, «для начала» поставим как есть, а там посмотрим «как пойдет»
• WAF что-‐то «блокирует» и «хорошо», смотреть логи необязательно
• У меня ASP.NET, там встроенный WAF!понедельник, 22 апреля 13 г.
Бесплатные WAF?• mod_security -‐ Apache, Nginx, IIS• Naxsi -‐ nginx• IronBee• PHPIDS
понедельник, 22 апреля 13 г.
Бесплатные WAF• Плюсы– Открытый код– Установка на свое железо
• Минусы– Не работают без настройки– Не настраиваются без специалиста– Нет поддержки
понедельник, 22 апреля 13 г.
Платные WAF• ModSecurity from Trustwave consul/ng• Imperva• Barracuda• SRA WAF (Dell)
понедельник, 22 апреля 13 г.
Платные WAF• Плюсы– Поддержка
• Минусы– Готовое железо–Масштабирование– Производительность– Закрытый код
понедельник, 22 апреля 13 г.
Обзор mod_security• Один из первых (если не самый первый) общедоступный WAF -‐ пионер
• Можно купить коммерческие правила (16 тыс. +) – $200/год за сервер, $180/год при покупке лицензии на 3 года
– $135/год за сервер при покупке лицензий на 100 серверов на 3 года
понедельник, 22 апреля 13 г.
Обзор mod_security• Опыт внедрения от клиента:– Было 4 фронтэнда без mod_security– Стало 13 фрондэндов с mod_security– $2470/год на лицензии– $20k+/год на консалтинг– Через год от решения отказались из-‐за жалоб клиентов -‐ false posi/ves. Не успевали править
понедельник, 22 апреля 13 г.
Обзор mod_security• Новый продукт, полностью бесплатный, доступны
исходные коды
• Первый под nginx (сейчас есть mod_security nginx)
• Черные и белые списки:
– Черные списки -‐ сигнатуры атак
– Белые списки -‐ не искать атаку здесь
• Режим «обучения» по трафику клиентов -‐ добавляет в белые списки
понедельник, 22 апреля 13 г.
Обзор naxsi• Можно внедрить в цикл тестирования веб-‐проекта с целью снизить ложные срабатывания за счет «обучения» на заведомо легитимном трафике
• Можно купить платные правила mod_security и портировать их под naxsi самостоятельно -‐ HACK!
понедельник, 22 апреля 13 г.
Обзор naxsi• Рассчет на базовые правила и отключения их по принципу -‐ жалуется -‐ отключить все может привести к пропуску атак
• Обучение на основе количества срабатываний -‐ если срабатываний много, значит они «ложные»
• Консалтинговые услуги не оказываются, придется разбираться самим
понедельник, 22 апреля 13 г.
Насколько эффективны WAF против хакеров?
• Конкурс по обходу mod_security проводился в 2011 году: h�p://blog.spiderlabs.com/2011/07/modsecurity-‐sql-‐injec/on-‐challenge-‐lessons-‐learned.html
• Минимальное время, за которое WAF сломали эксперты -‐ 10 часов, среднее -‐ 72 часа, минимальное кол-‐во запросов -‐ 118
понедельник, 22 апреля 13 г.
Насколько эффективны WAF против хакеров?
• Вместе с хорошо настроенным WAF у вас есть 10 часов от момента срабатывания до момента исправления уязвимости
• Без WAF - 1-2 минуты
• С плохо настроенным - 5-10 минут
понедельник, 22 апреля 13 г.
Выводы• Серебрянной пули не бывает• Поставьте, настройте, проверьте, ПРОЧУВСТВУЙТЕ• Своевременное детектирование дает время на устранение уязвимости, около 10 часов
понедельник, 22 апреля 13 г.
Общие проблемы• Производительность WAF линейно падает с ростом числа
правил (сигнатур), 16000 !!!
• Много лишних правил по-‐умолчанию или много трудозатрат на их устранение
• Сигнатуры не выдерживают обфускации и обходятся в конечном счете
• Новые атаки обнаружатся только после получения новых сигнатур
понедельник, 22 апреля 13 г.
Нам нужна ваша помощь!• Для прототипа нового решения необходим «живой» трафик
• Если вы подключены к Qrator, и готовы учавствовать в открытом тестировании, оставьте заявку: beta-‐[email protected] или @ONsec_Lab twi
понедельник, 22 апреля 13 г.