ИБ. Обзор защищенности российских web сайтов


Пару недель назад обновилась до версии 1 достаточно интересная утилита wafw00f. Она позволяет определить каким межсетевым экраном уровня приложения (web application firewall или WAF) защищен web сайт. Поддерживается 112 WAF.

Принцип работы достаточно простой, работает быстро:
·         Отправляем нормальный http запрос
·         Отправляем несколько заведомо подозрительных http запросов, которые WAF (если присутствует) обязан заблокировать
·         По реакции (код ошибки, заголовки, изменение версии web сервера) web сервера / WAF пытаемся определить какое средство защиты используется.

Необходимость применения WAF для защиты важных web ресурсов уже давно осознаны, в БДУ ФСТЭК России есть много угроз для web, справится с которыми поможет только WAF, в системе сертификации есть отдельный класс МЭ уровня приложений и даже 3 сертифицированных решения типа Г.

Было интересно посмотреть какая сейчас статистика использования WAF для защиты российских ресурсов. Для TOP 450 российских сайтов по версии Яндекса получилась следующая картинка.   


Применение WAF в РФ
Количество
%
Не используют WAF
391
86,89%
Используют неизвестный WAF или межсетевой экран / IPS с функцией защиты web
37
8,22%
Cloudflare WAF
21
4,67%
CacheWall WAF
1
0,22%

Выводы. Более 85% ресурсов не защищены WAF. Показатель плачевный.
Около 8 процентов используют средства защиты, которое не удалось утилита не смогла определить (возможно PT AF или Континент WAF), что в общем то хорошо, так как злоумышленникам сложнее обойти средства защиты, о которых ничего не известно.    


Комментарии

r_clark написал(а)…
Как по мне, Ваша статистика взята из ни откуда. Во-первых: что по Вашему мнению означает неизвестный WAF? Это тот, которого нет в списке проверяемых приложением wafw00f? Что же, уверяю, что никто не поставит какой-то другой продукт, ведь их не так то много, да и в основном сисадмин поставит тот, который в топ 5 будет. Во-вторых: чем подтверждается корректность работы опенсорс программы которую Вы нашли на Хабе ?)
Вот к примеру разберем пример работы... В файле, где заключена вся логика можно увидеть не принцип определения WAF. wafdetections = dict() и plugin_dict = load_plugins() - 265-267 строчки определяют подгружение дополнительного модуля, где заключена логика определения конкретного WAF, а следующий цикл непосредственно проходится по всем файлам. Когда мы перейдем в эту библиотеку, мы увидим список теж самых продуктов, которые они поддерживают. Возьмем к примеру открытый для использования продукт modsecurity spiderlabs. Он имеет возможность установки из исходных кодов как и все открытые продукты, а это значит, что я как угодно могу изменять содержимое ядра программы. А что делает wafw00f при проверке modsecurity WAF? Не нужно быть гением, что бы понять что с 1 по 22 строчки кода программа проверяет заголовок и тело ответа на наличие слова ModSecurity, предварительно выполняя ряд атак из родительского класса... Туда уже ссылку бросать не буду). Соответственно, стоит мне только поменять содержимое текста которое возвращает ModSecurity при определении атаки (а это возможно), как тут же wafw00f его не обнаружит. В лучшем случае скажет что просто что-то есть.
Сергей Борисов написал(а)…
Как раз таки понятно откуда эта статистика. Методика очевидна из текста статьи: 1. скачиваем перечень top 500 сайтов. 2. скриптом запускаем утилиту wafw00f . 3. Считаем статистику. Любой может повторить.

Другое дело, что возможно у утилиты большая погрешность в обнаружении наличия WAF вообще и в точном определении версии WAF. Такие же претензии можно предъявить ко многим fingerprinting тулзам.

Было бы интересно увидеть полезные факты, например если вы точно знаете что на top сайте есть WAF, а утилита не обнаружила.
r_clark написал(а)…
Как раз таки принцип работы этой программки и влечет за собой ту неверную статистику о которой я Вам говорю )
Факты на лицо - я указал даже строчки, в которых функционал программы показан.
Это то же самое, что я бы написал какой нить скрипт для проверки на безопасность и выложил бы на ГитХаб. Вы бы скачали его и протестировали, а затем выложили статистику согласно результатов работы моей программы. Но мой вопрос заключается в достоверности статистики... Я хочу лишь сказать, что прежде чем представлять такую статистику, Вы должны привести какие-то факты... От лучших практик и исследователей. Вы же к примеру в свою очередь, когда говорили о том, что WAFs доказали свою ценность ссылались на свои же статьи. С этой программой сценарий примерно такой же )

Популярные сообщения из этого блога

СКЗИ. НПА. Некоторые вопросы применения криптографии

Модель угроз безопасности клиента финансовой организации

КИИ. Категорирование объектов, часть 3