Наша работа - Ваша уверенность
Подделка запросов на стороне сервера в рейтинге 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 и http://localhost:28017/.

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

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

Заключение

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

Связанные материалы

Поиск
Мы в соцсетях
Рассказываем об информационной безопасности и актуальных ИТ-решениях, делимся своими кейсами и новостями ИТ: Telegram-канал компании «Рубикон»
Дзен-канал компании «Рубикон»
Услуги

Подпишитесь на получение новостей

Чтобы первыми узнавать о наших новых решениях, событиях в мире информационных технологий и информационной безопасности, а так же получать персональные предложения именно для вас.

Наш сайт использует файлы cookies, чтобы улучшить работу и повысить эффективность сайта. Продолжая работу с сайтом, вы соглашаетесь с использованием нами cookies и политикой конфиденциальности.

Принять