Web Application Firewalls / Иван Новиков (ONsec)
description
Transcript of Web Application Firewalls / Иван Новиков (ONsec)
![Page 1: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/1.jpg)
HOWTO: Web Applica/on Firewalls
Проблематика и обзор решений
Иван Новиков
понедельник, 22 апреля 13 г.
![Page 2: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/2.jpg)
Что такое?• WAF -‐ Web Applica/on Firewall• Средства обнаружения и блокировки атак на веб-‐приложения
• Атаки на приложение -‐ эксплуатация ошибок с целью получения НСД
• АТАКА != УЯЗВИМОСТЬ
понедельник, 22 апреля 13 г.
![Page 3: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/3.jpg)
Кто атакует?• Автоматические сканеры из бот-‐сетей• Школьники (script-‐kiddies)• Злоумышленники (сбор бот-‐сетей, перепродажа трафика)
• «Киллеры» на заказ• Аудиторы-‐«антикиллеры» на заказ от вас
понедельник, 22 апреля 13 г.
![Page 4: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/4.jpg)
Как атакуют?• Уязвимости движков и компонент–WordPress (/mthumb)– PhpMyAdmin (unserialize)– TinyMCE (file upload)– JQuery (DOM-‐based XSS)
понедельник, 22 апреля 13 г.
![Page 5: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/5.jpg)
Как атакуют?• Уязвимости веб-‐приложений• XSS• SQL injec/on• Local File Inclusion (LFI/RFI)• ...
понедельник, 22 апреля 13 г.
![Page 6: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/6.jpg)
Что делать?• Не закрывать глаза• Не бояться• Разбираться в проблеме• Понимать методы борьбы и решения• Применять их
понедельник, 22 апреля 13 г.
![Page 7: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/7.jpg)
Как бороться?• Блокировать атаки с помощью WAF• Проверять атаки на предмет реального наличия уязвимостей
• Выявлять уязвимости• Устранять уязвимости• Не допускать аналогичных в дальнейшем
понедельник, 22 апреля 13 г.
![Page 8: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/8.jpg)
Как работает WAF?• Пропустить все запросы через себя• Анализировать содержимое запрос• Блокировать запрос при наличии атаки• Пропустить запрос на бэкэнд, если атака не обнаружена
понедельник, 22 апреля 13 г.
![Page 9: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/9.jpg)
Как работает Web App Firewall?
Сервер приложенийWAF
КлиентHTTP запрос
Хакервектор атаки
понедельник, 22 апреля 13 г.
![Page 10: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/10.jpg)
Как ошибается WAF?
Сервер приложенийWAF
КлиентHTTP запрос
Хакервектор атаки
Пропускхакера
Блок клиента
понедельник, 22 апреля 13 г.
![Page 11: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/11.jpg)
Мифы о WAF• WAF блокирует уязвимости!
• Есть WAF => Firewall не нужен!
• Есть Firewall => WAF не нужен!
• WAF защищает все мои сервисы: почту, базу, LDAP
• Приложение нельзя взломать через WAF
• Приложение все-‐равно взломают, WAF не нужен!
понедельник, 22 апреля 13 г.
![Page 12: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/12.jpg)
Мифы о WAF• Можно настроить WAF, чтобы он вообще
НИКОГДА не ошибался
• WAF никак не скажется на производительности фронтэндов
• WAF можно не настраивать, «для начала» поставим как есть, а там посмотрим «как пойдет»
• WAF что-‐то «блокирует» и «хорошо», смотреть логи необязательно
• У меня ASP.NET, там встроенный WAF!понедельник, 22 апреля 13 г.
![Page 13: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/13.jpg)
Бесплатные WAF?• mod_security -‐ Apache, Nginx, IIS• Naxsi -‐ nginx• IronBee• PHPIDS
понедельник, 22 апреля 13 г.
![Page 14: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/14.jpg)
Бесплатные WAF• Плюсы– Открытый код– Установка на свое железо
• Минусы– Не работают без настройки– Не настраиваются без специалиста– Нет поддержки
понедельник, 22 апреля 13 г.
![Page 15: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/15.jpg)
Платные WAF• ModSecurity from Trustwave consul/ng• Imperva• Barracuda• SRA WAF (Dell)
понедельник, 22 апреля 13 г.
![Page 16: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/16.jpg)
Платные WAF• Плюсы– Поддержка
• Минусы– Готовое железо–Масштабирование– Производительность– Закрытый код
понедельник, 22 апреля 13 г.
![Page 17: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/17.jpg)
Обзор mod_security• Один из первых (если не самый первый) общедоступный WAF -‐ пионер
• Можно купить коммерческие правила (16 тыс. +) – $200/год за сервер, $180/год при покупке лицензии на 3 года
– $135/год за сервер при покупке лицензий на 100 серверов на 3 года
понедельник, 22 апреля 13 г.
![Page 18: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/18.jpg)
Обзор mod_security• Опыт внедрения от клиента:– Было 4 фронтэнда без mod_security– Стало 13 фрондэндов с mod_security– $2470/год на лицензии– $20k+/год на консалтинг– Через год от решения отказались из-‐за жалоб клиентов -‐ false posi/ves. Не успевали править
понедельник, 22 апреля 13 г.
![Page 19: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/19.jpg)
Обзор mod_security• Новый продукт, полностью бесплатный, доступны
исходные коды
• Первый под nginx (сейчас есть mod_security nginx)
• Черные и белые списки:
– Черные списки -‐ сигнатуры атак
– Белые списки -‐ не искать атаку здесь
• Режим «обучения» по трафику клиентов -‐ добавляет в белые списки
понедельник, 22 апреля 13 г.
![Page 20: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/20.jpg)
Обзор naxsi• Можно внедрить в цикл тестирования веб-‐проекта с целью снизить ложные срабатывания за счет «обучения» на заведомо легитимном трафике
• Можно купить платные правила mod_security и портировать их под naxsi самостоятельно -‐ HACK!
понедельник, 22 апреля 13 г.
![Page 21: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/21.jpg)
Обзор naxsi• Рассчет на базовые правила и отключения их по принципу -‐ жалуется -‐ отключить все может привести к пропуску атак
• Обучение на основе количества срабатываний -‐ если срабатываний много, значит они «ложные»
• Консалтинговые услуги не оказываются, придется разбираться самим
понедельник, 22 апреля 13 г.
![Page 22: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/22.jpg)
Насколько эффективны 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 г.
![Page 23: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/23.jpg)
Насколько эффективны WAF против хакеров?
• Вместе с хорошо настроенным WAF у вас есть 10 часов от момента срабатывания до момента исправления уязвимости
• Без WAF - 1-2 минуты
• С плохо настроенным - 5-10 минут
понедельник, 22 апреля 13 г.
![Page 24: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/24.jpg)
Выводы• Серебрянной пули не бывает• Поставьте, настройте, проверьте, ПРОЧУВСТВУЙТЕ• Своевременное детектирование дает время на устранение уязвимости, около 10 часов
понедельник, 22 апреля 13 г.
![Page 25: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/25.jpg)
Общие проблемы• Производительность WAF линейно падает с ростом числа
правил (сигнатур), 16000 !!!
• Много лишних правил по-‐умолчанию или много трудозатрат на их устранение
• Сигнатуры не выдерживают обфускации и обходятся в конечном счете
• Новые атаки обнаружатся только после получения новых сигнатур
понедельник, 22 апреля 13 г.
![Page 26: Web Application Firewalls / Иван Новиков (ONsec)](https://reader036.fdocuments.in/reader036/viewer/2022081720/548794b6b4af9f910d8b540f/html5/thumbnails/26.jpg)
Нам нужна ваша помощь!• Для прототипа нового решения необходим «живой» трафик
• Если вы подключены к Qrator, и готовы учавствовать в открытом тестировании, оставьте заявку: beta-‐[email protected] или @ONsec_Lab twi
понедельник, 22 апреля 13 г.