Закрытие критической уязвимости модуля landing в CMS 1С-Битрикс с помощью PT AF PRO
Детали поведения PT AF PRO для уязвимости в «1С-Битрикс»
Экплойты для атаки на «1С-Битрикс» используют цепочку уязвимостей. Уязвимость позволяет ввести систему в состояние гонки (race condition) и загрузить в нее произвольный файл: для этого необходимо отправлять специально сформированные запросы с высокой частотой и нетипичным для CMS набором параметров. Существует несколько векторов атаки, каждый из которых нацелен на эксплуатацию этого недостатка.
В штатной поставке PT AF PRO на эксплуатацию уязвимости срабатывает несколько правил:
- Rate limit — правило детектирует атаку из-за большого количества запросов за короткий промежуток времени.
- HTTP limits — эксплойт использует механизм, генерирующий большой набор параметров, чтобы как можно дольше удерживать общий ресурс. Количество параметров в запросе превышает порог срабатывания правила.
- JSON limits — в одном из сценариев атаки предусмотрена эксплуатация уязвимости через REST API. Правило обнаруживает превышение количества элементов JSON.
- Path Traversal — срабатывает, только если глубина декодирования параметров менее 4 и выставлена вручную.
- CSRF — существующий эксплойт не содержит код, который работает с CSRF-токенами. Однако в реальных сценариях такой код, скорее всего, будет использоваться.
Рекомендации
Рекомендации направлены на точечное выявление маркеров атаки, что может быть полезно для пользовательских сценариев реагирования. Это также позволит идентифицировать атаку даже в том случае, если лимиты срабатывания правил HTTP limits и JSON limits увеличены вручную.
PT подготовили пользовательское правило, которое точечно закрывает уязвимость. Рекомендуется его применить для защиты, если:
- в параметрах системных правил PT AF PRO установлены специфические значения, которые превышают пороги срабатывания при эксплуатации уязвимости;
- есть необходимость точечно детектировать инцидент и отправлять данные о нем во внешние системы управления событиями;
- есть необходимость расписать пользовательские сценарии агрегации событий безопасности или пользовательские действия в ответ на инцидент.
В остальных случаях рекомендуется увеличить значение параметра «Рекурсивное декодирование» для правила «Предварительно декодировать параметры HTTP» (опция depth — значение 4).
Чтобы облегчить точечное реагирование, в следующем релизе пакета экспертизы будет выпущено системное правило.
По вопросам, связанным с решениями Positive Technologies: pt@mont.ru