Пресечение подделки серверных запросов и обхода границ через перенаправления 302
Сервер скачивает картинку или вебхук по ссылке от пользователя, а злоумышленник подставляет внутренний адрес облака или перенаправление на закрытый узел. Ограничитель полигона блокирует выход за белый список на каждом шаге перенаправления и выпускает правило фильтрации сетевых адресов.
Подделка запросов на стороне сервера возникает тогда, когда прикладной узел обращается по сетевому адресу, переданному во входном параметре, без проверки целевой подсети. Злоумышленник указывает адрес локальной петли, внутренний сервис метаданных облачного провайдера или закрытый порт во внутренней сети организации.
1. Наглядная схема работы фильтра и компилятора для SSRF-INT
Схема прохождения проверки по классу SSRF-INT: от формирования проверочной пары и перехвата разрушительных команд правилом SEC-ZD-SSRF-01 до фиксации свидетеля 275905904349f049 и выпуска правила IMMUNE-SSRF-27590590.
2. Перехват опасных мутаций и парный контроль обманкой (SSRF-INT)
На уровне транспорта контроль границ обеспечивают модули ScopeGuard и ScopedRedirectHandler по правилу SEC-ZD-SSRF-01. Каждый исходный запрос и каждый промежуточный шаг перенаправления с кодами 301, 302, 307 и 308 сверяется с белым списком разрешённых узлов стенда до открытия соединения.
На размеченной выборке испытатель проверяет как прямые обращения к внутренним адресам, так и попытки обхода фильтра через цепочку перенаправлений. Прогон по четырём сценариям стенда даёт два истинно положительных и два истинно отрицательных решения без единой ложной тревоги.
Код класса: SSRF-INT (ssrf)
Режим проверки: Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд: POST /api/v1/vuln/ssrf/webhook {"callback_url": "http://169.254.169.254/latest/meta-data/"}
Перехваченная мутация: 302 Redirect -> https://external-bank.example.com/admin
Матрица на стенде: TP = 2, FP = 0, TN = 2, FN = 0 (FPR = 0,0%)
Правило фильтра: SEC-ZD-SSRF-01
Хэш свидетеля: 275905904349f049
Скомпилированный фильтр: IMMUNE-SSRF-27590590 (время синтеза 20 µs)
3. Автоматический выпуск защитного правила IMMUNE-SSRF-27590590
Из формального свидетеля 275905904349f049 за 20 микросекунд компилируется защитный контракт IMMUNE-SSRF-27590590. Правило блокирует локальные подсети, адреса метаданных и неразрешённые перенаправления на входе в защищаемый узел.
4. Соседние классы проверки на стенде INDRA
INJ-SQL: Внедрение кода в запросы реляционного хранилищаINJ-CMD: Внедрение команд операционной системыDIR-TRV: Обход каталога файловой системыAUTH-BOLA: Неправомерный доступ к клиентским записямSEC-LEAK: Утечка аутентификационных токенов и секретовHDR-SEC: Отсутствие защитных заголовков ответаDOS-RSRC: Истощение вычислительных ресурсов (лабораторный режим)