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