Pull to refresh

Краш-тест для CMS

Reading time4 min
Views947
Идея создания модуля Проактивной защиты (Web Application Firewall) пришла в голову очень давно. Но реализовать его удалось только в версии 8.0 этой весной. И сразу возникли идеи, а не проверить ли систему защиты и не устроить ли открытый конкурс.

Меня многие спрашивали — зачем нам это нужно? На что я могу только ответить, что цель всей системы защиты и всего конкурса — сделать наш продукт лучше, дать больше уверенности клиентам и разработчикам. А сделать это можно только на практике.

Почему-то на ум приходит аналогия с автомобилями. В первых автомобилях вообще не думали о безопасности водителя и пассажиров. Потом появились пассивные системы безопасности, т.е. которые защищали людей уже в момент аварии. Это например подушки безопасности в машине. И уже как следующий шаг — появились системы активной защиты — ABS, системы курсовой устойчивости ESP, EBD и т.п. Эти системы уже помогают водителю избежать аварии, подруливают за него, выводят из заноса, спасают жизнь…

Получается, что мы системой «Проактивной защиты» помогаем избегать проблемных ситуаций даже в тех случаях, когда ситуация не находилась под контролем. Но как и в автомобилях, проверить надежность систем можно только устраивая Краш-тест.

И такая возможность подвернулась. В последние выходные в Санкт-Петербурге проходил фестиваль хакеров (именно так это называется) Chaos Construction 2009.

image

Вместе с компанией Positive Technologies, нашими давними партнерами, мы организовали конкурс, участникам которого было необходимо суметь обойти систему «Проактивной защиты» сайта и воспользоваться заранее подготовленными уязвимостями разных типов.

Т.е. мы сознательно создали сайт с четырьмя страницами на каждой из которых создали уязвимости разных типов: SQL-Injection, Cross-Site Scripting (XSS), Path Traversal и Local File Including.

После этого мы включили нашу систему «Проактивной защиты» (Web Application Firewall), которая входит в продукт начиная с версии 8.0 и, если так можно сказать, экранировали страницы с ошибками.

Подобный тест повторяет ситуацию наличия ошибок, допущенных веб-разработчиками при создании сайта, и проверяет успешное экранирование их системой защиты.

Мы все очень хотели знать результат теста и понимать, удастся ли кому-то найти пути обхода и на сколько это будет сложно.

В течение двух суток сервер был доступен для конкурсантов. Было зарегистрировано и отражено более 25000 атак. В конкурсе участвовали хакеры, которые присутствовали на фестивале CC9 и работали с сайтом через Интернет. Всего в конкурсе участвовало около 600 человек.

С Марселем Низамутдиновым, нашим специалистом по информационной безопасности, мы обсуждали ход конкурса. Я приведу комментарий, который дал Марсель:

«В течение всего конкурса мы наблюдали со стороны, как активно участники пытались обойти „Проактивную защиту“, постепенно увеличивая сложность вариантов. Единственный и уникальный вариант обхода был найден высококлассным специалистом, сумевшим использовать недостатки Internet Explorer. Предложенный им вариант обходил не только наш WAF, но и все известные нам фильтры других профессиональных разработчиков. Точнее, наш уже не обходит :) Я очень доволен результатами конкурса. Мы смогли проверить систему „Проактивной защиты“ в очень сложных условиях. По результатам конкурса мы усовершенствовали алгоритмы продукта и обеспечили больший уровень защищенности для наших клиентов. Мы будем продолжать исследование вопросов информационной безопасности и совершенствовать систему защиты продукта».

Действительно, по результатам конкурса, мы выдали 3 приза.

I место занял Владимир Воронцов (псевдоним d0znp). Он первым нашел сложный и интересный вариант обхода фильтра «Проактивной защиты», который работает исключительно в Internet Explorer и использует его недостатки.

Как мне прокомментировали коллеги из Positive Technologies, Владимир Воронцов – эксперт в области информационной безопасности, профессионально занимается анализом защищенности Web-приложений, автор множества статей в различных тематических журналах по информационной безопасности, поддерживает проект onsec.ru.

Приз за первое место – коммуникатор HTC T4242 Cruise Touch II. Приз выдан победителю лично в нашем московском офисе. Победитель отказался фотографироваться по известным ему причинам.

Сам он так прокомментировал конкурс: «Приятно, что разработчики уделяют такое внимание вопросу безопасности своих продуктов и оперативно устраняют риски. Хотелось бы пожелать другим разработчикам веб-приложений держаться такого же курса в отношениях с исследователями информационной безопасности».

II место занял участник с псевдонимом insa, обнаруживший небольшую опечатку в коде фильтра «Проактивной защиты».

III место за проявленный энтузиазм в конкурсе занял участник ParanoidChaos.

Призы за второе и третье место – лицензии на продукт «1С-Битрикс: Управление сайтом» (редакция «Стандарт»).

Как уже сказал Марсель, выявленные возможности обхода «Проактивной защиты» учтены и в фильтр Web Application Firewall внесены соответствующие изменения. Мы закрыли метод, которым победитель использовал особеннности IE и обновление к фильтру уже поступило в систему обновлений SiteUpdate.

Я приведу еще комментарий Дмитрий Евтеев, эксперта по информационной безопасности отдела консалтинга и аудита компании Positive Technologies: «На СС присутствовал один из разработчиков сканера безопасности web-приложений w3af, который вместе с другими участниками пытался провести атаку. Многие из участников конкурса по обходу фильтра WAF работали почти непрерывно! На конкурсе проведено отличное стресс-тестирование как проактивной защиты с WAF, так и всей платформы „1С-Битрикс“. Результаты конкурса являются ожидаемыми и совпадают с полученными в ходе сертификации модуля проактивной защиты. Мы предполагали, что участники смогут продемонстрировать эксплуатацию уязвимости Cross-Site Scripting, поскольку полное блокирование этого типа атак приводит к большому количеству ложных срабатываний. Критические уязвимости использовать никому не удалось».

Я считаю, что со сложной задачей мы справились очень хорошо! Думаю, что мы будем продолжать прикладывать усилия в направлении безопасности. Возможно примем участие в этом или аналогичных международных конкурсах, чтобы проверить продукт и себя в будущем.

Пользуясь случаем я так же обращу внимание разработчиков на то, что несмотря на наш оптимизм, «Проактивная защита» не экранирует голову. Вы должны по прежнему стараться писать безопасные приложения, думать над создаваемыми решениями. И так же как системы курсовой устойчивости в автомобилях, Проактивная защита не гарантируют уход от столкновения с деревом, это только эффективный инструмент помощи вам в ежедневной работе. Удачи всем!

Еще пара фотографий с фестиваля. Но странно, их оказалось в сети мало и почти все без лиц.

image

image
Tags:
Hubs:
Total votes 22: ↑13 and ↓9+4
Comments16

Articles