Подделка запросов на стороне сервера в рейтинге 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-инфраструктур.