Группа ИБ-специалистов и ученых (из Cloudflare, Microsoft, BastionZero, Калифорнийского университета в Сан-Диего и Амстердамского университета) привлекла внимание к уязвимости (CVE-2024-3596) в протоколе RADIUS, который существует и используется больше 30 лет. Атака Blast-RADIUS позволяет злоумышленникам компрометировать сети и устройства с помощью MitM-атак и коллизий MD5.

Протокол RADIUS (Remote Authentication Dial-In User Service) был разработан еще в 1991 году и известен еще со времен dial-up. С тех самых пор он остается фактическим стандартом для облегченной аутентификации и поддерживается практически во всех коммутаторах, маршрутизаторах, точках доступа и VPN-концентраторах, выпущенных за последние десятилетия. Так, RADIUS остается важным компонентом для управления взаимодействием клиент-сервер и используется для обеспечения:

  • VPN-доступа;
  • DSL и оптоволоконных соединений, предлагаемых интернет-провайдерами,
  • работы Wi-Fi и аутентификация 802.1X;
  • роуминга в сетях 2G и 3G;
  • DNN-аутентификации в сетях 5G;
  • аутентификации через частные APN для подключения мобильных устройств к корпоративным сетям;
  • аутентификации на устройствах управления КИИ;
  • Eduroam и OpenRoaming Wi-Fi.

RADIUS обеспечивает бесперебойное взаимодействие между клиентами (как правило, роутерами, коммутаторами и другими устройствами, предоставляющими доступ к сети) и центральным сервером RADIUS, который выступает в роли гейткипера для аутентификации пользователей и политик доступа. Задача RADIUS — обеспечить централизованное управление аутентификацией, авторизацией и учетом удаленных входов в систему. Иногда речь идет о десятках тысяч устройств в одной сети.

Атака Blast-RADIUS эксплуатирует уязвимость протокола и коллизии MD5, позволяя злоумышленникам, имеющим доступ к трафику RADIUS, манипулировать ответами сервера и добавлять произвольные атрибуты, что дает возможность получить права администратора на устройствах RADIUS без применения брутфорса или кражи учетных данных. Атака затрагивает все режимы аутентификации RADIUS/UDP, кроме тех, которые используют EAP (Extensible Authentication Protocol).

«Атака Blast-RADIUS позволяет злоумышленнику, находящемуся между клиентом и сервером RADIUS, подделать настоящее accept-сообщение протокола в ответ на неудачный запрос аутентификации, — объясняют исследователи. — Это может дать злоумышленнику доступ к сетевым устройствам и сервисам без необходимости угадывать или взламывать пароли или shared-секреты. В итоге атакующий не получает учетные данные пользователя. Злоумышленник, использующий нашу атаку, имеет возможность повысить свои привилегии от частичного доступа к сети до входа на любое устройство, использующее RADIUS для аутентификации, или присвоить себе произвольные сетевые права».

Схема атаки

Дело в том, что протокол RADIUS использует хешированные MD5 запросы и ответы при выполнении аутентификации на устройстве. PoC-эксплоит, разработанный специалистами, вычисляет хеш-коллизию MD5 с выбранным префиксом, необходимую для подделки корректного ответа Access-Accept, обозначающего успешный запрос на аутентификацию. Затем этот поддельный MD5-хеш внедряется в сетевое соединение с помощью man-in-the-middle атаки, что позволяет злоумышленнику войти в систему.

Эксплуатация проблемы и подделка хеша MD5 занимает от 3 до 6 минут, то есть дольше, чем 30-60-секундные тайм-ауты, обычно используемые в RADIUS. Однако каждый шаг коллизионного алгоритма, применяемого в атаке, может быть эффективно распараллелен, а также поддается аппаратной оптимизации. То есть злоумышленник с хорошими ресурсами может осуществить атаку с помощью GPU, FPGA и другого современного и быстрого оборудования, чтобы добиться более быстрого времени выполнения, повысив его в десятки или даже сотни раз.

Поскольку эта атака не компрометирует учетные данные конечного пользователя, для защиты от нее сами пользователи не могут сделать ничего. Однако производителям и системным администраторам, которые создают RADIUS-устройства и управляют ими, рекомендуется следовать уже доступным рекомендациям.

Для защиты от Blast-RADIUS сетевые операторы могут перейти на RADIUS over TLS (RADSEC), мультихоповые развертывания RADIUS и изолировать трафик RADIUS от интернета с помощью VLAN с ограниченным доступом или туннелирования TLS/IPsec.

По мнению исследователей, в долгосрочной перспективе единственным способом обезопасить RADIUS является передача данных по TLS или DTLS, что позволит обеспечить должную безопасность, включая конфиденциальность пользовательских данных в запросах и целостность ответов Access-Accept и Access-Reject.

Хотя рабочая группа IETF уже разрабатывает новую спецификацию, которая будет направлена именно на это, подобные масштабные изменения занимают месяцы или годы. Так, некоторые имплементации RADIUS (например, от Microsoft) пока вообще не поддерживают TLS.

«Учитывая огромное количество усилий, приложенных к обеспечению безопасности таких протоколов, удивительно, что такой вездесущий протокол, как RADIUS, получил так мало внимания криптоаналитиков за прошедшие годы. TLS может быть харизматичной мегафауной (этим термином обозначают животных, снискавших популярность в социальной среде и часто использующихся для получения общественной поддержки, например, экологических инициатив, прим. ред.) в исследованиях криптографических протоколов, но для того, чтобы действительно защитить инфраструктуру, нужно проанализировать и защитить всю вселенную корпоративной безопасности, которую академические криптографы практически не видят и не понимают», — заключают специалисты.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии