Лабораторная проверка ограничений вычислительной ёмкости и выпуск квот
В одном запросе сервер просят обработать десять миллионов вложенных элементов, из-за чего кончается память и система зависает. Чтобы не нагружать рабочие узлы, этот класс отключён при обычном обходе и запускается только в лабораторном режиме, где фильтр перехватывает лавинные параметры и выпускает жёсткую квоту.
Истощение вычислительных ресурсов возникает там, где обработчик принимает массивы неограниченной длины, глубоко вложенные структуры или сложные регулярные выражения без предварительной проверки верхних порогов до выделения памяти. Один специально сформированный запрос способен занять все рабочие потоки или вызвать аварийную остановку процесса по нехватке памяти.
1. Наглядная схема работы фильтра и компилятора для DOS-RSRC
Схема прохождения проверки по классу DOS-RSRC: от формирования проверочной пары и перехвата разрушительных команд правилом SEC-ZD-DOS-01 до фиксации свидетеля cf88675b91a40e12 и выпуска правила IMMUNE-DOS-CF88675B.
2. Перехват опасных мутаций и парный контроль обманкой (DOS-RSRC)
Поскольку активная генерация нагрузочных запросов по своей природе создаёт нагрузку на проверяемый узел, класс DOS-RSRC вынесен из семи классов штатного автосканера в отдельный лабораторный режим (LAB_ONLY). При обычном автоматическом обходе он отключён, а на изолированном стенде правило SEC-ZD-DOS-01 перехватывает лавинные параметры до передачи в сокет.
В ходе лабораторной проверки фильтр доказывает отсутствие входного порога по размерности параметров и глубине вложенности, фиксируя квитанцию перехвата в журнале по ГОСТ Р 34.11-2012 без доведения целевой службы до отказа.
Код класса: DOS-RSRC (dos_resource)
Режим проверки: Изолированный лабораторный режим (LAB_ONLY)
Проверочный зонд: POST /api/v1/lab/dos/render {"items": 10000000, "depth": 512}
Перехваченная мутация: Unbounded allocation > 64 MB; recursion depth > 32
Матрица на стенде: Лабораторная блокировка SEC-ZD-DOS-01
Правило фильтра: SEC-ZD-DOS-01
Хэш свидетеля: cf88675b91a40e12
Скомпилированный фильтр: IMMUNE-DOS-CF88675B (время синтеза 15 µs)
3. Автоматический выпуск защитного правила IMMUNE-DOS-CF88675B
Компилятор формирует защитный контракт IMMUNE-DOS-CF88675B, устанавливающий предельный размер тела запроса, максимальное число элементов списка и допустимую глубину вложенности на входе перехватчика mcp-sentinel.
4. Соседние классы проверки на стенде INDRA
INJ-SQL: Внедрение кода в запросы реляционного хранилищаINJ-CMD: Внедрение команд операционной системыDIR-TRV: Обход каталога файловой системыAUTH-BOLA: Неправомерный доступ к клиентским записямSSRF-INT: Подделка серверных запросов и обход через перенаправленияSEC-LEAK: Утечка аутентификационных токенов и секретовHDR-SEC: Отсутствие защитных заголовков ответа