Совместимость с S3 не гарантирует безопасность уровня S3

Исследователи Wiz обнаружили серьезные пробелы в безопасности S3-совместимых объектных хранилищ. Даже крупные neocloud-провайдеры не реализуют защитные механизмы, которые AWS предоставляет по умолчанию.

Совместимость с S3 не гарантирует безопасность уровня S3

Совместимость с Amazon S3 стала де-факто стандартом для объектных хранилищ, но это не означает, что все они обеспечивают одинаковый уровень безопасности. Исследователи из компании Wiz проверили шесть популярных neocloud-провайдеров и обнаружили, что большинство из них не реализуют ключевые защитные функции, доступные в AWS. Это создает ложное чувство безопасности у разработчиков, которые полагаются на стандартные API, но не получают ожидаемой защиты.

Neocloud-провайдеры отстают от AWS в безопасности

Wiz, известная компания в области облачной безопасности, проанализировала объектные хранилища шести популярных neocloud-провайдеров: Cloudflare R2, Backblaze B2, Wasabi, MinIO, Scaleway и DigitalOcean Spaces. Исследователи сравнили реализацию защитных механизмов с теми, что предоставляет Amazon S3. Результаты оказались неожиданными: ни один из провайдеров не поддерживает все функции безопасности, доступные в AWS.

Например, только два из шести провайдеров поддерживают версионирование объектов, которое позволяет восстанавливать данные после случайного удаления или шифрования. Шифрование на стороне сервера с ключами, управляемыми клиентом (SSE-C), отсутствует у большинства, а поддержка политик доступа на основе ресурсов (bucket policies) реализована лишь частично. Это означает, что пользователи, мигрирующие с AWS, могут столкнуться с неожиданными уязвимостями.

Предыстория и контекст

Amazon S3 был запущен в 2006 году и с тех пор стал эталоном для объектного хранения. Его API настолько широко распространен, что многие разработчики считают его универсальным стандартом. Однако AWS вложил огромные ресурсы в развитие механизмов безопасности, таких как IAM, bucket policies, шифрование и защита от случайного удаления. Neocloud-провайдеры, стремясь обеспечить совместимость, часто фокусируются на базовых операциях с объектами, игнорируя сложные функции безопасности.

Кроме того, neocloud-движение, которое продвигает альтернативы крупным облачным провайдерам, часто подчеркивает простоту и низкую стоимость. Это приводит к тому, что безопасность отходит на второй план. Разработчики, выбирающие такие сервисы, должны осознавать, что совместимость API не означает совпадение всех функциональных возможностей.

Почему это важно для разработчиков?

Разработчики часто полагаются на документацию AWS при написании кода для S3-совместимых хранилищ. Они ожидают, что функции, такие как версионирование или политики доступа, будут работать одинаково. Однако исследование Wiz показывает, что это не так. Отсутствие версионирования может привести к необратимой потере данных, а слабые политики доступа — к несанкционированному доступу. Разработчикам необходимо проверять документацию каждого провайдера и не предполагать, что все функции S3 доступны по умолчанию.

Технические подробности: что именно отсутствует

Исследователи Wiz выделили несколько критических функций, которые отсутствуют или неполностью реализованы. Версионирование, которое позволяет хранить несколько версий объекта и восстанавливать их при необходимости, поддерживают только MinIO и Backblaze B2. Шифрование SSE-C, где клиент управляет ключами, отсутствует у всех, кроме MinIO. Bucket policies, которые позволяют управлять доступом на уровне ресурсов, реализованы не у всех: например, Cloudflare R2 поддерживает их частично, а DigitalOcean Spaces — использует упрощенную модель ACL.

Эти различия могут привести к реальным инцидентам безопасности. Например, если разработчик полагается на версионирование для защиты от случайного удаления, а провайдер его не поддерживает, данные будут потеряны безвозвратно. Аналогично, если политики доступа не работают как ожидалось, конфиденциальные данные могут оказаться доступными публично.

Кого затронет и как

Проблема касается всех, кто использует S3-совместимые хранилища: от стартапов до крупных предприятий, мигрирующих с AWS. Особенно уязвимы разработчики, которые автоматически переносят код с AWS без проверки совместимости. В России и СНГ также наблюдается рост интереса к neocloud-решениям, но документация часто неполная, что усугубляет риск. Бизнесу, переходящему на такие сервисы, следует провести аудит безопасности и убедиться, что все необходимые функции поддерживаются.

Что будет дальше

Wiz планирует опубликовать подробный отчет с полным списком функций и их поддержкой у каждого провайдера. Это поможет сообществу лучше понимать риски. Ожидается, что neocloud-провайдеры начнут улучшать свои реализации, чтобы конкурировать с AWS не только по цене, но и по безопасности. Возможно, появится стандартизированный набор требований для S3-совместимых сервисов.

Итог

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