БЕЗОПАСНОСТЬ ВЕБ-ПРИЛОЖЕНИЙ 101 ИЛИ ВВЕДЕНИЕ ДЛЯ НЕ ИБ-СПЕЦИАЛИСТОВ ДЕНИС БЕЗКОРОВАЙНЫЙ, CISSP, CISA, CCSK О ЧЕМ ПОЙДЕТ РЕЧЬ От чего стоит защищаться Аудит безопасности веб-приложения — что выбрать? Системы активной защиты веб-приложений Мониторинг безопасности и выявление атак DISCLAIMER Сканирование ВСЕХ IPv4-адресов занимает 5 минут ОТ ЧЕГО СТОИТ ЗАЩИЩАТЬСЯ Массовые взломы Автоматизированные сканеры Уязвимые конфигурации Бот-трафик Цель – заражение пользователей или захват площадок Точечные целевые атаки Выбор цели и ручное управление атакой Цель – кража данных или финансовая выгода DDOS Прямое вымогательство Конкурентные преимущества АТАКИ ПРИКЛАДНОГО УРОВНЯ XSS SQLi CSRF RFI и др. OWASP Top-10 Атаки на SSL Переборы паролей пользователей Атаки на администраторов 1. 2. 3. WhiteHat Security Website Security Statistics Report 2015 Accunetix Web Application Vulnerability Report 2015 HPE Security Research Cyber Risk Report 2016 АТАКИ НА ДОСТУПНОСТЬ Канальные и сетевые атаки (L2-L3) – забивают канал до оборудования Атаки на протоколы и оборудование (L4) – выводят из строя роутеры, серверы, балансировщики Атаки прикладного уровня – парализуют веб-приложение Атаки на DNS-инфраструктуру АУДИТ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ Hack yourself first Даже если вы используете коробочные продукты Статический (SAST) Как проводить Своя команда – нужны экспертиза, навыки, время (+конфликт интересов) Аудит безопасности Динамический (DAST) Аутсорсеры, проектная или постоянная работа Совмещение – внутренний и внешний аудит Bug Bounty IAST СТАТИЧЕСКИЙ АНАЛИЗ БЕЗОПАСНОСТИ ПРИЛОЖЕНИЯ (SAST) Тестирование «изнутри наружу» - анализ исходных кодов приложения с помощью паттернов и алгоритмов, детектирующих потенциальные уязвимости. Плюсы Возможность встроить безопасность в SDLC на раннем этапе Нет необходимости наличия работающей системы (тестирование модулей) Позволяет находить сложные уязвимости (non-reflected) и бэкдоры разработчиков Минусы Большое количество ложных срабатываний (при автоматическом тестировании) Сложность внедрения и эксплуатации *** Стоимость $$$$ Тип Предотвращение Разные инструменты часто дают разные результаты Зависимость от языков и фреймворков ДИНАМИЧЕСКИЙ АНАЛИЗ БЕЗОПАСНОСТИ (DAST) Тестирование «снаружи внутрь» – тестирование безопасности открытых интерфейсов веб-приложения Плюсы Паритет со злоумышленником – те же возможности и тот же процесс Наглядность результатов Относительная простота и масштабируемость Независимость от разработчиков Минусы Сложно встраивать в SDLC Сложность внедрения и эксплуатации ** Неполный охват уязвимостей Стоимость $$ Необходимость в тестовой среде Тип Обнаружение ЧТО ВЫБРАТЬ? SAST Если есть возможность влиять на разработчиков приложения и устранять найденные уязвимости на уровне кода Если есть возможность генерации и применения виртуальных патчей для WAF DAST Реализует базовый уровень безопасности, высокая вероятность обнаружить легко доступные злоумышленникам уязвимости SAST + DAST Для любых критичных приложений СИСТЕМЫ АКТИВНОЙ ЗАЩИТЫ ВЕБ-ПРИЛОЖЕНИЙ Web Application Firewall Защита от атак прикладного уровня Обнаружение и блокирование бот-трафика Парсеры контента Сканеры уязвимостей Рекламный фрод Защита от DDOS-атак ВАРИАНТЫ РАЗМЕЩЕНИЯ WAF Надстройка над существующим приложением/сервером Отдельное аппаратное/виртуальное устройство Облачный сервис НАДСТРОЙКА НАД СУЩЕСТВУЮЩИМ ПРИЛОЖЕНИЕМ/СЕРВЕРОМ Плюсы Легко подключить с базовыми правилами Бесплатно или очень дешево Минусы Ограниченный функционал (наборы правил) Часто использует мощности защищаемого приложения Сложность внедрения и эксплуатации * Стоимость $ Тип Предотвращение WAF КАК ОТДЕЛЬНОЕ АППАРАТНОЕ/ВИРТУАЛЬНОЕ УСТРОЙСТВО Плюсы Более обширный функционал Отдельное устройство (мощности) Минусы Сложно масштабировать и использовать в динамических веб-инфраструктурах Стоимость Сложность внедрения и эксплуатации **** Стоимость $$$$ Тип Предотвращение WAF КАК ОБЛАЧНЫЙ СЕРВИС Плюсы Просто подключается, подходит для всех типов размещения веб-приложений Все плюсы облачного сервиса Минусы Все минусы облачного сервиса Ограниченный функционал (часто нет возможности расширения правил) Зависимость от внешнего сервиса (требования к SLA поставщика) Сложность внедрения и эксплуатации ** Стоимость $$ Тип Предотвращение ВАРИАНТЫ ОРГАНИЗАЦИИ ЗАЩИТЫ ЗАКАЗЧИКОМ Защита от DDOS «Сделай сам» Защита от провайдера связи или хостера Специализированные аппаратные комплексы Специализированный облачный сервис ЗАЩИТА ОТ DDOS-АТАК – ОТВЕТСТВЕННОСТЬ И ВОЗМОЖНОСТИ Сеть/каналы Оборудование (серверы/балансиров щики) Веб-приложения Провайдер доступа к площадке заказчика Ответственен, может защитить (доп.услуга, SLA) Зависит от возможностей провайдера Провайдер почти всегда «не понимает» L7 Заказчик (используя «железо») «Железо» не поможет Anti-DDOS решения защищают остальное оборудование Обычно на апплаенсе присутствует WAF и защита от L7 атак Заказчик (используя внешний сервис) Облачный сервис абсорбирует атаку Облачный сервис закрывает оборудование Зависит от провайдера, но большинство защищают DNS Только внешний отказоустойчивый DNS-сервис (или прокси) МОНИТОРИНГ И ВЫЯВЛЕНИЕ АТАК НА ВЕБ-ПРИЛОЖЕНИЯ (L7) Log Management, SIEM Логи веб-серверов, балансировщиков Логи приложения (аутентификация, действия пользователей в приложении) События атак от Web Application Firewall Правила и сигнатуры vs Анализ нормы и аномалий МОНИТОРИНГ И ВЫЯВЛЕНИЕ АТАК НА ВЕБ-ПРИЛОЖЕНИЯ (L7) Ошибки аутентификации (атаки перебора паролей) Ошибки приложения, падения производительности Подозрительные клиенты (идентификация, геолокация, возможности клиента) Подозрительное поведение тайминг действий, скорость запросов длина сессии или кол-во хитов в сессии нестандартные точки входа в приложение ПЛАНЫ РЕАГИРОВАНИЯ И КОММУНИКАЦИЙ Телефоны ИТ-персонала, хостера, датацентра Каналы общения с клиентами и медиа Информирование клиентов Резервные площадки (автоматическое переключение), резервные провайдеры Восстановление ПРАКТИЧЕСКИЕ ШАГИ К БЕЗОПАСНОСТИ ВЕБПРИЛОЖЕНИЙ Мониторинг событий безопасности Динамический анализ веб-приложения Защита от вредоносного трафика Статический анализ приложения (кода) Secure Software Development Lifecycle ВМЕСТО ЗАКЛЮЧЕНИЯ Plan Еще одна инфраструктура – инфраструктура безопасности Безопасность – часть жизненного цикла приложения Безопасность – это процесс, а не продукт Act Do Check