Web Application Firewalls / Иван Новиков (ONsec)

26
HOWTO: Web Applica/on Firewalls Проблематика и обзор решений Иван Новиков понедельник, 22 апреля 13 г.

description

 

Transcript of Web Application Firewalls / Иван Новиков (ONsec)

Page 1: Web Application Firewalls / Иван Новиков (ONsec)

HOWTO:  Web  Applica/on  Firewalls  

Проблематика  и  обзор  решений

Иван  Новиков

понедельник, 22 апреля 13 г.

Page 2: Web Application Firewalls / Иван Новиков (ONsec)

Что  такое?• WAF  -­‐  Web  Applica/on  Firewall• Средства  обнаружения  и  блокировки  атак  на  веб-­‐приложения

• Атаки  на  приложение  -­‐  эксплуатация  ошибок  с  целью  получения  НСД

• АТАКА  !=  УЯЗВИМОСТЬ

понедельник, 22 апреля 13 г.

Page 3: Web Application Firewalls / Иван Новиков (ONsec)

Кто  атакует?• Автоматические  сканеры  из  бот-­‐сетей• Школьники  (script-­‐kiddies)• Злоумышленники  (сбор  бот-­‐сетей,  перепродажа  трафика)

• «Киллеры»  на  заказ• Аудиторы-­‐«антикиллеры»  на  заказ  от  вас

понедельник, 22 апреля 13 г.

Page 4: Web Application Firewalls / Иван Новиков (ONsec)

Как  атакуют?• Уязвимости  движков  и  компонент–WordPress  (/mthumb)– PhpMyAdmin  (unserialize)– TinyMCE  (file  upload)– JQuery  (DOM-­‐based  XSS)

понедельник, 22 апреля 13 г.

Page 5: Web Application Firewalls / Иван Новиков (ONsec)

Как  атакуют?• Уязвимости  веб-­‐приложений• XSS• SQL  injec/on• Local  File  Inclusion  (LFI/RFI)• ...

понедельник, 22 апреля 13 г.

Page 6: Web Application Firewalls / Иван Новиков (ONsec)

Что  делать?• Не  закрывать  глаза• Не  бояться• Разбираться  в  проблеме• Понимать  методы  борьбы  и  решения• Применять  их

понедельник, 22 апреля 13 г.

Page 7: Web Application Firewalls / Иван Новиков (ONsec)

Как  бороться?• Блокировать  атаки  с  помощью  WAF• Проверять  атаки  на  предмет  реального  наличия  уязвимостей

• Выявлять  уязвимости• Устранять  уязвимости• Не  допускать  аналогичных  в  дальнейшем

понедельник, 22 апреля 13 г.

Page 8: Web Application Firewalls / Иван Новиков (ONsec)

Как  работает  WAF?• Пропустить  все  запросы  через  себя• Анализировать  содержимое  запрос• Блокировать  запрос  при  наличии  атаки• Пропустить  запрос  на  бэкэнд,  если  атака  не  обнаружена

понедельник, 22 апреля 13 г.

Page 9: Web Application Firewalls / Иван Новиков (ONsec)

Как  работает  Web  App  Firewall?

Сервер приложенийWAF

КлиентHTTP запрос

Хакервектор атаки

понедельник, 22 апреля 13 г.

Page 10: Web Application Firewalls / Иван Новиков (ONsec)

Как  ошибается  WAF?

Сервер приложенийWAF

КлиентHTTP запрос

Хакервектор атаки

Пропускхакера

Блок клиента

понедельник, 22 апреля 13 г.

Page 11: Web Application Firewalls / Иван Новиков (ONsec)

Мифы  о  WAF• WAF  блокирует  уязвимости!

• Есть  WAF  =>  Firewall  не  нужен!

• Есть  Firewall  =>  WAF  не  нужен!

• WAF  защищает  все  мои  сервисы:  почту,  базу,  LDAP

• Приложение  нельзя  взломать  через  WAF

• Приложение  все-­‐равно  взломают,  WAF  не  нужен!

понедельник, 22 апреля 13 г.

Page 12: Web Application Firewalls / Иван Новиков (ONsec)

Мифы  о  WAF• Можно  настроить  WAF,  чтобы  он  вообще  

НИКОГДА  не  ошибался

• WAF  никак  не  скажется  на  производительности  фронтэндов

• WAF  можно  не  настраивать,  «для  начала»  поставим  как  есть,  а  там  посмотрим  «как  пойдет»

• WAF  что-­‐то  «блокирует»  и  «хорошо»,  смотреть  логи  необязательно

• У  меня  ASP.NET,  там  встроенный  WAF!понедельник, 22 апреля 13 г.

Page 13: Web Application Firewalls / Иван Новиков (ONsec)

Бесплатные  WAF?• mod_security  -­‐  Apache,  Nginx,  IIS• Naxsi  -­‐  nginx• IronBee• PHPIDS

понедельник, 22 апреля 13 г.

Page 14: Web Application Firewalls / Иван Новиков (ONsec)

Бесплатные  WAF• Плюсы– Открытый  код– Установка  на  свое  железо

• Минусы– Не  работают  без  настройки– Не  настраиваются  без  специалиста– Нет  поддержки

понедельник, 22 апреля 13 г.

Page 15: Web Application Firewalls / Иван Новиков (ONsec)

Платные  WAF• ModSecurity  from  Trustwave  consul/ng• Imperva• Barracuda• SRA  WAF  (Dell)

понедельник, 22 апреля 13 г.

Page 16: Web Application Firewalls / Иван Новиков (ONsec)

Платные  WAF• Плюсы– Поддержка

• Минусы– Готовое  железо–Масштабирование– Производительность– Закрытый  код

понедельник, 22 апреля 13 г.

Page 17: Web Application Firewalls / Иван Новиков (ONsec)

Обзор  mod_security• Один  из  первых  (если  не  самый  первый)  общедоступный  WAF  -­‐  пионер

•  Можно  купить  коммерческие  правила  (16  тыс.  +)  – $200/год  за  сервер,  $180/год  при  покупке  лицензии  на  3  года

– $135/год  за  сервер  при  покупке  лицензий  на  100  серверов  на  3  года

понедельник, 22 апреля 13 г.

Page 18: Web Application Firewalls / Иван Новиков (ONsec)

Обзор  mod_security• Опыт  внедрения  от  клиента:– Было  4  фронтэнда  без  mod_security– Стало  13  фрондэндов  с  mod_security– $2470/год  на  лицензии– $20k+/год  на  консалтинг– Через  год  от  решения  отказались  из-­‐за  жалоб  клиентов  -­‐  false  posi/ves.  Не  успевали  править

понедельник, 22 апреля 13 г.

Page 19: Web Application Firewalls / Иван Новиков (ONsec)

Обзор  mod_security• Новый  продукт,  полностью  бесплатный,  доступны  

исходные  коды

• Первый  под  nginx  (сейчас  есть  mod_security  nginx)

• Черные  и  белые  списки:

– Черные  списки  -­‐  сигнатуры  атак

– Белые  списки  -­‐  не  искать  атаку  здесь

• Режим  «обучения»  по  трафику  клиентов  -­‐  добавляет  в  белые  списки

понедельник, 22 апреля 13 г.

Page 20: Web Application Firewalls / Иван Новиков (ONsec)

Обзор  naxsi• Можно  внедрить  в  цикл  тестирования  веб-­‐проекта  с  целью  снизить  ложные  срабатывания  за  счет  «обучения»  на  заведомо  легитимном  трафике  

• Можно  купить  платные  правила  mod_security  и  портировать  их  под  naxsi  самостоятельно  -­‐  HACK!

понедельник, 22 апреля 13 г.

Page 21: Web Application Firewalls / Иван Новиков (ONsec)

Обзор  naxsi• Рассчет  на  базовые  правила  и  отключения  их  по  принципу  -­‐  жалуется  -­‐  отключить  все  может  привести  к  пропуску  атак

• Обучение  на  основе  количества  срабатываний  -­‐  если  срабатываний  много,  значит  они  «ложные»

• Консалтинговые  услуги  не  оказываются,  придется  разбираться  самим

понедельник, 22 апреля 13 г.

Page 22: Web Application Firewalls / Иван Новиков (ONsec)

Насколько  эффективны  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)

Насколько эффективны WAF против хакеров?

• Вместе с хорошо настроенным WAF у вас есть 10 часов от момента срабатывания до момента исправления уязвимости

• Без WAF - 1-2 минуты

• С плохо настроенным - 5-10 минут

понедельник, 22 апреля 13 г.

Page 24: Web Application Firewalls / Иван Новиков (ONsec)

Выводы• Серебрянной  пули  не  бывает• Поставьте,  настройте,  проверьте,  ПРОЧУВСТВУЙТЕ• Своевременное  детектирование  дает  время  на  устранение  уязвимости,  около  10  часов

понедельник, 22 апреля 13 г.

Page 25: Web Application Firewalls / Иван Новиков (ONsec)

Общие  проблемы• Производительность  WAF  линейно  падает  с  ростом  числа  

правил  (сигнатур),  16000  !!!

• Много  лишних  правил  по-­‐умолчанию  или  много  трудозатрат  на  их  устранение

• Сигнатуры  не  выдерживают  обфускации  и  обходятся  в  конечном  счете

• Новые  атаки  обнаружатся  только  после  получения  новых  сигнатур

понедельник, 22 апреля 13 г.

Page 26: Web Application Firewalls / Иван Новиков (ONsec)

Нам  нужна  ваша  помощь!• Для  прототипа  нового  решения  необходим  «живой»  трафик

• Если  вы  подключены  к  Qrator,  и  готовы  учавствовать  в  открытом  тестировании,  оставьте  заявку:  beta-­‐[email protected]  или  @ONsec_Lab  twi

понедельник, 22 апреля 13 г.