Полторы недели назад Код Безопасности неожиданно объявил о выпуске межсетевого экрана для web приложений (web application firewall) «Континент WAF». А на прошлой неделе на вебинаре КБ раскрыли подробности нового продукта и сказали, что он уже доступен для продажи и тестирования.
Как так? Без предварительных анонсов и спойлеров? Без упоминания в прошлогодних планах? Просто взяли и выпустили технологически сложный продукт. Ответ вы узнаете чуть позже, а пока кратко пройдемся по истории.
С 2003 года, а может быть и ранее в РФ наиболее популярным вариантом защиты web приложений был опенсорсный modsecurity. Несмотря на сложности в настройке, он был и, пожалуй, остается одним из наиболее эффективных решений. Но корпоративным заказчикам было неудобно с ним работать. В связи с этим стало появляться много коммерческих продуктов которые взяли за основу modsecurity, сигнатуры или работали по схожему принципу.
Примерно в 2008 году на рынке корпоративного ИБ РФ начало продвигаться западное решение в области специализированных межсетевых экранов для защиты web приложений - imperva securesphere web application firewall. Позже продвигались и другие западные решения Fortigate Web, Barracuda WAF , Cisco ACE, но это были скорее разовые проекты.
Временем серьезной популярности WAF в РФ можно считать с 2011 года, когда Imperva получили сертификат ФСТЭК на свое решение и его можно было внедрять ещё и в гос. органах. С этого момента популярность WAF только увеличивалась, что не удивительно, ведь область применения – все компании имеющие важные web приложения (их количество стремится к 100% со временем) сочетались с гибкой ценовой политикой (по стоимости доступны были не только крупным, но и средним компаниям. по стоимости сравнимы с IPS). Но кризис 2014 серьезно подкосил imperva в РФ. Цены выросли в несколько раз (что существенно сокращало область применения до крупных корпораций), потом задержки с поставками, потом санкции и т.п.
Параллельно с этим, примерно в 2013 -2014 году с резкой критикой существующих WAF решений выступили многие российские исследователи / пентестеры. Закончилось это появлением собственных решений сначала wallarm, потом positive technologies application firewall и solidlab WAF. В отличие от западных вендоров, которые черпали идеи в открытых сообществах типа OWASP, наши разработчики опирались на собственный опыт пентестов , bugbounty и соревнований CTF. Это позволило им создать WAF нового поколения.
Wallarm изначально был больше применим для малого бизнеса и западных компаний (ведь безопасники крупных российских компаний не спешили доверять облакам). PT AF наоборот позиционировался для крупных компаний и гос. Solidwall же не был особо известен на корпоративном рынке ИБ, по крайне мере я не слышал о нем до сего дня. А чтобы помочь донести WAF до средних компаний, Infowatch включили wallarm в состав своей группы решений под названием attack killer.
В конце 2016 года событий, связанных с WAF в РФ стало ещё больше: появились новые требования ФСТЭК к межсетевым экранам, в том числе WAF были вынесены в отдельный тип, появились обязательные требования к наличию WAF у лицензиатов ФСТЭК , в конце 2016 года Pentest.IT выпустили Nemesida WAF (бюджетный облачный WAF с планами по сертификации в ФСТЭК).
И вот на прошлой неделе Континент WAF. Расскажу самое интересное с вебинара:
· Планируют получить сертификат ФСТЭК по 4 классу по новым требованиям уже этим летом
· Запускаться будет на стандартных платформах Континент 400, 1000, 3000 (система управления на континент 100)
· Производительность планируют в 1000 RPS для Континент 1000 (для сравнения, у PT AF в линейке решений 5000, 40000, 100000 RPS)
· В функциях кроме стандартных сигнатур для WEB и фильтрации HTTP есть ещё и автоматическое профилирование приложения, и анализ профилирование поведения пользователя – а это уже рядом с Imperva
· Решение сделали не самостоятельно, а в партнерстве с Solidlab(думаю партнерство аналогичное тому как КБ раньше работали с ESET и Agnitum)
Что нас ждет дальше? Бум разработки WAF от отечественных производителей (Searchinform windows actual firewall?) или на этом успокоимся?
PS:
Отдельно связался с solidlab и попросил немного рассказать про их решение:
· SolidWall "WAF" и "Континент" WAF это два параллельно живущих решения
· Продукт построен на платформе Linux и имеет собственную уникальную архитектуру и набор функциональных модулей за исключением системы захвата трафика на основе NGinx (активный режим) или Suricata (пассивный режим), а также сигнатурного анализатора ModSecurity (сделано для обеспечения совместимости с открытым форматом сигнатур)
· Про сигнатуры... Ответов на этот вопрос много. Дело в том, что наш WAF состоит из целого набора модулей, которые работают на различных уровнях абстракции веб-приложения и на основе различных методах. Пройдемся по порядку: Первый уровень абстракции - это уровень протокола HTTP. На этом уровне осуществляется протокольная валидация, которая позволяет исключить атаки на уровень парсера веб-сервера, фреймворка или избежать неприятных вещей типа Http Parameter Contamination (HPC). Соответственно, понятие сигнатуры тут - это правила в терминах RFC о протоколе HTTP. Есть базовый набор правил, который по желанию можно расширить: запретить определенные заголовки или, например, HPP, если приложение не использует одноименные параметры. Как видно, на этом уровне сплетаются два способа задания правильного и нежелательного: black-listing и модель нормального поведения. Второй уровень абстракции - это атаки, синтаксиса входных параметров в домене веб-приложения. Здесь также мы используем два варианта описания: black-listing для обнаружения injection-атак и автоматическое или ручное формирование синтаксических моделей параметров веб-приложения. Для модуля black-listing'а синтаксических атак на самом нижнем уровне используется mod_security, который обвешан различными дополнениями: интеллектуально подавление ложных срабатываний, автоматическое обновление через подписки от TrustWave или ручное создание собственных сигнатур. На самом деле, основной упор делается на модуль автоматического вывода синтаксических форм параметров веб-приложений, так как такой подход позволяет избежать injection-атак в подавляющем большинстве случаев by design. Остаются только различные сложные варианты типа File Upload. Третий уровень абстракции - это все, что связано с семантикой параметров: время жизни сессий, атаки на авторизацию и аутентификацию, манипуляции с CSRF-токеном, переборные атаки, нарушение последовательностей действий и т.п. Здесь сигнатурой опять же является мета-правило более высокого порядка, которое формулируется в терминах не синтаксиса параметров, но действий и их атрибутов. Это если кратко. Технологически, конечно, все намного сложнее.
· Про основу - у нас почти все написано на Питоне и есть модули на Си. целевая система – Ubuntu. Соответственно для модулей на Си есть Питоновские обертки. Идея нашего слоеной модульности в т.ч. чтобы избежать лаборатории с выпуском новых сигнатур для блеклистинга эксплойтов ибо известно, что это во-первых, операционно дорого, а во вторых плохо работает в мире веба потому ставка на позитивные модели для каждый бизнес-действий
Пару слов про Nemesida от Pentest.IT
· WAF наша собственная разработка, выполнен в виде модуля для nginx
· Сигнатуры:
* анализ security trackers;
* отдел аудита и тестирования на проникновение, собственные исследования;
* собственная лаборатория lab.pentestit.ru с количеством участников
15.000 со всего мира и "чистыми" логами атак по 50-60 Гб в день в
первые две недели запуска;
* защищаемые сайты;
* анализ security trackers;
* отдел аудита и тестирования на проникновение, собственные исследования;
* собственная лаборатория lab.pentestit.ru с количеством участников
15.000 со всего мира и "чистыми" логами атак по 50-60 Гб в день в
первые две недели запуска;
* защищаемые сайты;
· Сертификацией ФТСЭК активно занимаемся в данный момент