Уязвимости SSO: уроки инцидента Storm-0558 и защита ключей подписи

Источник: www.trustwave.com
Уязвимость в системах SSO выявлена в инциденте Storm-0558
Недавний инцидент с обозначением Storm-0558 продемонстрировал критические уязвимости, связанные с системами единого входа (SSO), в частности в области управления ключами подписи. Этот инцидент затрагивает не только Microsoft, но и все организации, использующие аналогичные механизмы аутентификации и авторизации.
Суть инцидента: компрометация ключей подписи пользователей Microsoft
Злоумышленникам удалось получить доступ к ключу подписи, предназначенному для учетных записей пользователей Microsoft. Именно на этом этапе возникла серьезная проблема — скомпрометированный ключ позволил им выдавать токены, принимаемые корпоративными службами Azure Active Directory (Azure AD). Причина кроется в том, что в Azure AD отсутствует четкое разделение ключей пользователя и ключей предприятия. В результате один украденный ключ открывал возможность обойти защитные меры и получить доступ к таким конфиденциальным ресурсам, как Outlook Web Access.
Механизм уязвимости и эксплуатируемые методы
Токены авторизации, такие как OAuth и OpenID Connect, базируются на криптографических подписях с использованием открытого ключа поставщика удостоверений. Если
закрытый ключ не защищен должным образом — например, не изолирован или не удалён из системы после использования — злоумышленники могут создавать поддельные токены.
В данном случае атакующие манипулировали заявленными данными (claims) внутри токена, выдавая себя за легитимных пользователей и получая несанкционированный доступ к системам. Это опасно для любой организации с подобными системами аутентификации.
Особенную угрозу представляет использование одного и того же набора ключей в мультитенантных средах, где множество клиентов разделяют инфраструктуру. В таких случаях компрометация одного ключа может поставить под угрозу безопасность всех клиентов.
Для получения закрытых ключей злоумышленники применяют различные способы, включая:
- использование слабых секретов в кодах аутентификации сообщений на основе HMAC;
- извлечение ключей из дампов памяти;
- проведение атак, подобных JKU injection, когда вредоносный URL-адрес используется для получения открытого ключа.
Кроме того, изменения параметров токенов, таких как замена "alg" на "none" или подмена поля "kid", позволяют обходить механизмы проверки подлинности.
Параллели с инцидентом SolarWinds
Опыт взлома SolarWinds показывает, насколько критично может быть использование украденных сертификатов для генерации действительных токенов доступа к важнейшим системам. Эти инциденты наглядно демонстрируют необходимость ответственного управления криптографическими ключами.
Рекомендации по снижению рисков
Для повышения устойчивости систем аутентификации и минимизации угроз, связанные с управлением ключами, эксперты рекомендуют следующие меры:
- Использование менеджеров секретов и HSM: аппаратные модули безопасности (Hardware Security Module) обеспечивают надежное хранение закрытых ключей и контролируют доступ к ним.
- Регулярная и автоматизированная ротация ключей: периодическая замена ключей снижает риск длительного использования скомпрометированных данных.
- Исключение устаревших ключей из среды: особенно важно в мультитенантных системах следить, чтобы все части инфраструктуры принимали только актуальные ключи.
- Интеграция тестирования безопасности: использование CI/CD для внедрения проверок, проведение регулярных penetration testing и написание сценариев для анализа реакции серверов на попытки манипуляции токенами повышают уровень защиты.
- Уникальные ключи и URL-адреса для каждого клиента: недопущение ситуаций, когда одинаковые наборы ключей используются несколькими клиентами, снижает риски межклиентских атак.
Вывод
Инцидент Storm-0558 — это наглядный пример того, как один скомпрометированный ключ подписи может привести к масштабным нарушениям безопасности и потере конфиденциальных данных. Для предотвращения подобных ситуаций организациям необходимо внедрять комплексный и структурированный подход к управлению ключами, строго разделять ключи между клиентами и использовать современные технологии защиты.
Только таким образом можно обеспечить надежную защиту критически важных систем и снизить риски, присущие современным мультитенантным и облачным средам.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



