Раскрыты технические подробности уязвимости SynLapse (CVE-2022-29972) в Azure Synapse Analytics. Её обнаружила исследователь Orca Security, а на исправление у Microsoft ушло около трёх месяцев. Оценка CVSS — 7,8. Уязвимость позволяла обходить разделение клиентов, получать учётные данные других арендаторов, управлять их рабочими пространствами и выполнять код на целевых машинах.
Разберём, что такое Synapse, в чём была ошибка и какие выводы стоит сделать для облачных систем.
Что такое Azure Synapse
Azure Synapse Analytics — облачная платформа для аналитики и работы с данными. Она объединяет хранилище, интеграцию данных, Spark-кластеры и средства визуализации. Клиенты загружают данные, запускают запросы и строят отчёты.
Сервис мультитенантный: инфраструктура общая, но данные и рабочие пространства клиентов должны быть изолированы. Нарушение этой изоляции — одна из самых серьёзных категорий облачных уязвимостей.
# проверить, какие ресурсы Azure доступны в подписке (Azure CLI)
az login
az synapse workspace list --output table
az synapse workspace show --name myworkspace --resource-group myrg
Суть уязвимости
SynLapse позволяла злоумышленнику выйти за пределы своего арендатора. По описанию исследователей, эксплуатация давала доступ к учётным данным других клиентов и возможность управлять их рабочими пространствами Synapse.
Далее — выполнение кода на машинах клиентов в сервисе аналитики. Это цепочка, в которой одна ошибка изоляции усиливается другими недостатками конфигурации.
# пример проверки ролей и доступа в Synapse
az synapse role assignment list --workspace-name myworkspace --output table
az role assignment list --scope /subscriptions/ --output table | head -30
Microsoft выпустила исправления и рекомендации. Публикация деталей задержалась более чем на месяц, чтобы клиенты успели обновиться.
Почему это важно
Облачные сервисы обещают изоляцию: ваши данные не видны другим. Если граница нарушена, последствия выходят за пределы одного аккаунта. Злоумышленник может украсть данные, изменить конфигурацию или использовать ресурсы для дальнейших атак.
Для регулируемых отраслей это ещё и вопрос compliance: утечка между арендаторами может нарушить требования к обработке данных.
# проверить журналы активности Azure
az monitor activity-log list --max-events 20 --output table
# посмотреть, кто имеет доступ к workspace
az synapse workspace show --name myworkspace --resource-group myrg --query "identity"
Как защититься
- Обновите сервисы и клиентские инструменты до рекомендованных версий.
- Проверьте журналы на подозрительную активность за период до патча.
- Ограничьте роли: не давайте лишних прав на workspace.
- Включите управляемые удостоверения и избегайте долгоживущих секретов.
- Настройте сетевые ограничения и приватные конечные точки.
- Ротируйте учётные данные, которые могли быть скомпрометированы.
- Включите аудит и оповещения об аномалиях.
# пример ограничения сети для Synapse
az synapse workspace update --name myworkspace --resource-group myrg \
--public-network-access Disabled
# проверить приватные конечные точки
az network private-endpoint list --output table | head -20
Если вы не используете публичный доступ, отключите его. Это снижает поверхность атаки и упрощает аудит.
Ротация секретов
Любая уязвимость, связанная с доступом к учётным данным, требует ротации. Смените пароли, ключи и токены, которые могли быть доступны. Не ограничивайтесь сменой пароля администратора.
# посмотреть секреты в Key Vault (пример)
az keyvault secret list --vault-name myvault --output table
# создать новую версию секрета
az keyvault secret set --vault-name myvault --name db-password --value 'new-secret'
После ротации проверьте, что приложения используют новые значения, а старые отозваны.
Мониторинг и обнаружение
Ищите необычные входы, изменения ролей, создание новых ресурсов и обращения к хранилищам. Для Synapse важны журналы запросов и доступа к данным.
# включить диагностику (пример)
az monitor diagnostic-settings create --name synapse-diag \
--resource /subscriptions//resourceGroups/myrg/providers/Microsoft.Synapse/workspaces/myworkspace \
--logs '[{"category":"SynapseSqlOperational","enabled":true}]' \
--workspace /subscriptions//resourceGroups/myrg/providers/Microsoft.OperationalInsights/workspaces/mylog
Без централизованных журналов вы не сможете восстановить картину инцидента.
Контекст: уязвимости облачной изоляции
SynLapse — не единичный случай. Исследователи регулярно находят способы обойти границы арендаторов в облаках. Причина в сложности: десятки сервисов, общие компоненты, разные модели доступа.
Провайдеры исправляют такие ошибки, но клиентам тоже нужно строить защиту в глубину: сегментация, минимальные права, шифрование, аудит.
# проверить, включено ли шифрование и управление ключами
az synapse workspace show --name myworkspace --resource-group myrg --query "encryption"
# список политик Azure Policy
az policy assignment list --output table | head -20
Что делать, если вы подозреваете эксплуатацию
- Изолируйте workspace: ограничьте сетевой доступ.
- Сохраните журналы до изменения конфигурации.
- Смените все секреты, связанные с workspace.
- Проверьте, не созданы ли новые пользователи и ресурсы.
- Обратитесь в поддержку Microsoft с инцидентом.
- Уведомите службу безопасности и, при необходимости, регулятора.
# сохранить журналы активности за период
az monitor activity-log list --start-time 2022-06-01 --end-time 2022-07-01 \
--output json > activity-log.json
# проверить изменения ролей
az role assignment list --all --output json > roles.json
Не удаляйте ресурсы до сбора доказательств. Это усложнит расследование.
Уроки для архитектуры
Не полагайтесь только на изоляцию провайдера. Шифруйте чувствительные данные своими ключами, ограничивайте доступ по сети и применяйте принцип минимальных привилегий. Даже если граница арендатора будет нарушена, ущерб окажется меньше.
Для аналитических платформ важно разделять среды: разработка, тест, продакшн. Ошибка в тестовой среде не должна открывать доступ к боевым данным.
# пример разделения по resource groups и подпискам
az group list --output table
az account list --output table
Итог
SynLapse (CVE-2022-29972) позволяла обходить изоляцию арендаторов в Azure Synapse, получать учётные данные и выполнять код. Microsoft выпустила исправления, но клиентам стоит проверить журналы, ротировать секреты и ограничить доступ. Облачная безопасность — это совместная ответственность: провайдер закрывает платформу, клиент защищает конфигурацию и данные.