[ON] Уязвимость в протоколе RADIUS, позволяющая подделать ответ при аутентификации

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Уязвимость в протоколе RADIUS, позволяющая подделать ответ при аутентификации

Сообщение rssbot »

Группа исследователей из нескольких американских университетов и компаний Cloudflare и Microsoft разработала новую технику атаки на протокол RADIUS, применяемый операторами связи, облачными сервисами и VPN-провайдерами для аутентификации, авторизации и аккаунтинга пользователей. Атака, которая получила кодовое имя Blast-RADIUS, даёт возможность подделать ответ RADIUS-сервера при прохождении аутентификации и организовать подключение абонента без знания пароля доступа.


Для эксплуатации уязвимости (CVE-2024-3596) атакующий должен иметь возможность перехвата транзитного трафика и проведения полноценной MITM-атаки, позволяющей читать, перехватывать, блокировать и изменять входящие и исходящие транзитные UDP-пакеты, отправляемые точками доступа для запроса аутентификации клиентов (Access-Request) и возвращаемые RADIUS-сервером с подтверждением или отклонением операции. Перехватив запрос аутентификации атакующий может направить фиктивный ответ, указав в этом ответе иной тип результата (например, Access-Accept вместо Access-Reject). Атакующий также потенциально может перехватить ответ Access-Challenge, используемый при двухфакторной аутентификации, и заменить его на ответ Access-Accept для обхода прохождения дополнительного этапа проверки.
Изображение


Атака основана на том, что протокол RADIUS использует в качестве транспорта UDP и верифицирует целостность передаваемых сообщений при помощи алгоритма MD5. Для верификации сообщений, передаваемых между сервером доступа и RADIUS-сервером, применяется секретный ключ, известный точке доступа и RADIUS-серверу, но неизвестный атакующему.
В ответ на запрос аутентификации RADIUS-сервер генерирует MD5-хэш, при помощи которого сервер доступа может удостовериться, что сообщение отправлено авторизированным сервером. MD5-хэш охватывает присланное в запросе случайное значение, идентификатор запроса, возвращаемые атрибуты и секретный ключ.


Атакующий в ходе MITM-атаки может перехватить переданный в запросе идентификатор и случайное значение, а также может предсказать код операции, размер и атрибуты. Задача сводится к формированию корректного проверочного хэша, который бы соответствовал изменённому результату операции и проходил проверку через хэширование с использованием секретного ключа. Алгоритм MD5 подвержен дифференциальной атаке поиска второго прообраза (не является стойким к подбору коллизий), что позволяет атакующему, манипулируя с не имеющим значения добавочным заполнением, подобрать сочетание данных с нужными параметрами, MD5-хэш которого будет совпадать с MD5-хэшем исходного ответа, и отправить фиктивный ответ с кодом успешного прохождения аутентификации (Access-Accept) вместо сообщения с информацией об ошибке.
Изображение


Так как при обработке пакетов с запросом доступа (Access-Request) не применяется аутентификация и проверка целостности, в ходе атаки в исходный запрос от сервера доступа атакующий может подставить дополнительный атрибут "Proxy-State", который будет отражён RADIUS-сервером в своём ответе. Содержимое "Proxy-State" подбирается с учётом коллизии так, что значение проверочного MD5-хэша в реальном и поддельном ответах будут идентичны. При проведении эксперимента поиск коллизии в MD5 для совершения атаки занял 3-6 минут, что больше чем типовой таймаут в 30-60 секунд, но время поиска коллизии может быть сокращено за счёт использования более мощного оборудования, привлечения GPU и распараллеливания операций.











В качестве основной меры для защиты от уязвимости предлагается задействовать протокол EAP (Extensible Authentication Protocol, RFC 3579), в котором для дополнительной верификации сообщений используется атрибут Message-Authenticator. Для защиты от атаки также можно использовать расширения протокола (RadSec), включающие передачу RADIUS-сообщений через шифрованные каналы на базе TLS или DTLS. Кроме того, можно сократить до минимума значения таймаутов получения ответа и заблокировать ответы с атрибутом Proxy-State. Передача RADIUS-сообщений поверх TCP усложняет атаку, но не исключает её проведение.


Код для проведения атаки пока не опубликован в открытом доступе, но проекту hashclash переданы изменения, улучшающие подбор коллизий в MD5 с учётом специфики атаки. В RADIUS-сервере FreeRADIUS проблема устранена в выпусках 3.0.27 и 3.2.5 через включение обязательного применения атрибута Message-Authenticator и добавление настройки для ограничения обработки пакетов с атрибутом Proxy-State.


Источник: https://www.opennet.ru/opennews/art.shtml?num=61517
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 10.07.2024 17:16, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали: