Подделка запросов на стороне сервера в рейтинге OWASP

Подделка запросов на стороне сервера в рейтинге OWASP

На 10 месте редакции рейтинга OWASP, расположилась уязвимость вектора A10:2021 – Server-Side Request Forgery (SSRF) что в переводе означает - подделка запросов на стороне сервера.

SSRF – уязвимость, которая дает злоумышленнику следующие «возможности»:

  • заставить целевой сервер отправлять запросы к произвольным внешним или внутренним ресурсам;

  • нарушить работу служб;

  • выполнить произвольный код на целевом сервере.

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

Признаки возникновения SSRF

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

Как обезопасить систему от эксплуатации уязвимости SSRF

Предотвратить SSRF можно, выполнив рекомендации по внедрению некоторых или всех следующих мер защиты.

На сетевом уровне рекомендуется:

  1. разделить ресурсы и удаленный доступ к ним на разные подсети.

  2. на межсетевом экране:

  • применить правило по умолчанию «запретить всё», в исключениях оставить трафик, который служит для функционирования системы;

  • использовать для разрешающих правил межсетевого ограничения по времени «жизненного цикла» приложений, таким образом контролируя сетевой трафик;

  • вести журналирование событий безопасности и сбоев мониторинга;

  • регистрировать и анализировать пропущенные и заблокированные сетевые пакеты (А09:2021 Сбои регистрации и мониторинга безопасности);

  • вести и периодически актуализировать список запрещенных серверов, и блокировать обращения к ним.

На прикладном уровне рекомендуется:

  1. Проверять и контролировать данные, которые вводит пользователь на наличие вредоносных URL-адресов или подозрительных символов.

  2. Использовать только определенные порты, пункты назначения и схемы URL (http, https, ftp и т.д.).

  3. Не отправлять необработанные ответы на запросы пользователей к веб-приложению.

  4. Отключить перенаправления на HTTP.

  5. Следить за согласованностью URL-адресов, чтобы избежать таких атак, как повторная привязка DNS и TOCTOU (время проверки, время использования).

  6. Не полагаться на запрещающий список запросов или регулярных выражений, так как у злоумышленников в распоряжении есть списки полезной нагрузки, инструменты и навыки обхода таких списков.

Дополнительные меры, для уменьшения рисков эксплуатации:

  1. Не разворачивать дополнительные службы, связанные с безопасностью, на внешних ресурсах (к примеру OpenID). Управлять трафиком в системе лучше локально.

  2. В независимых системах, для интерфейсов с созданными и управляемыми группами пользователей используйте сетевое шифрование трафика (например, VPN или TLS).

Примеры использования уязвимости SSRF

ПРИМЕР № 1. Сканирование портов внутренних серверов. Стандартная процедура для определения «слабостей» системы. Если сетевая архитектура несегментированная, злоумышленник может через уязвимый сервер произвести сканирование портов устройств в сети и составить карту внутренних сетей. По результатам подключения или по времени, затраченному на подключение/отклонение соединений с полезной нагрузкой SSRF он определяет открыты или закрыты порты на внутренних серверах.

ПРИМЕР № 2. Раскрытие конфиденциальных данных. Эксплуатируя уязвимость злоумышленник получает доступ к локальным файлам или внутренним службам на сервере приложений для получения конфиденциальной информации, такой как file:///etc/passwd и httр://localhost:28017/.

ПРИМЕР № 3. Доступ к хранилищу метаданных облачных сервисов. Большинство облачных провайдеров использует хранилища метаданных (они включает в себя несколько категорий информации, таких как идентификатор, имя хоста, связанные группы безопасности и др.). Метаданные экземпляра доступны из любого приложения, запущенного на экземпляре EC2, по локальному адресу ссылки, например  httр://169.254.169.254/.

Получив и прочитав метаданные, злоумышленник получает и доступ к конфиденциальной информации.

ПРИМЕР № 4. Компрометация внутренних служб. Злоумышленник может использовать внутренние службы системы для проведения дальнейших атак, таких как удаленное выполнение кода (RCE) или отказ в обслуживании (DoS).

Заключение

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

OWASP веб-приложения защита ПО проблемы ИБ рейтинг OWASP 2021 уязвимости ИБ целостность данных
Alt text

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!

rcngroup

Компания «Рубикон» — IT-предприятие, основное направление деятельности которого – информационная безопасность. Мы занимаемся решением задач по аудиту, созданию и оптимизации IT-инфраструктур.