A compatibilidade com o S3 não garante um nível de segurança equivalente ao do S3
Os investigadores de segurança da Wiz analisaram recentemente serviços de armazenamento de objetos compatíveis com o S3 em seis «neoclouds» populares, revelando lacunas de segurança significativas em comparação com o Amazon S3. Embora o S3 se tenha tornado o padrão de facto para o armazenamento de objetos, a maioria dos serviços carece de várias das proteções de segurança da AWS.
O relatório compara as capacidades de segurança dos serviços geridos oferecidos pela Nebius, Crusoe, Vultr, Lambda Labs, Cloudflare R2 e DigitalOcean com as do Amazon S3. Scott Piper, investigador principal de segurança na nuvem da Wiz, demonstra que as organizações que utilizam clones do S3 não podem basear-se nos pressupostos de segurança da AWS e têm de ter em conta a redução das proteções e as capacidades limitadas do princípio do privilégio mínimo. Piper argumenta que a compatibilidade com o S3 cria uma falsa sensação perigosa de portabilidade:
Existem cerca de 300 APIs associadas ao AWS S3 e aos seus serviços relacionados (tais como S3 Tables, S3 Vectors, S3 Express e outros). Ao longo dos mais de 20 anos de existência do S3, foram adicionadas todo o tipo de funcionalidades especializadas, com triliões de objetos e centenas de exabytes de dados armazenados no seu interior. Como seria de esperar, nem todas essas funcionalidades foram replicadas e alguns destes clones do S3 funcionam de formas inesperadas.
De acordo com o estudo, os serviços compatíveis com o S3 variam significativamente na forma como lidam com os buckets públicos, sendo que o Crusoe e o Lambda Labs não dispõem de capacidades de acesso público, enquanto outros oferecem menos proteções e controlos do que a funcionalidade «Bloquear Acesso Público» do AWS S3. Por exemplo, o Nebius e o Cloudflare R2 permitem buckets públicos, mas não a listagem anónima de objetos, enquanto a DigitalOcean suporta buckets listáveis publicamente e a Vultr suporta tanto ACLs como políticas de bucket para acesso público.
No que diz respeito às chaves de acesso, os serviços compatíveis com o S3 muitas vezes não dispõem dos formatos estruturados de chaves de acesso nem do suporte à análise de segredos disponíveis nos serviços da AWS, tornando as credenciais mais difíceis de detetar, tanto para as equipas de segurança como para ferramentas como o GitHub. Piper explica:
Existem outras credenciais detetadas pelo GitHub para a DigitalOcean e a Cloudflare através do processo de análise de segredos do GitHub, mas não estas. Estas credenciais para os serviços compatíveis com o S3 também não são habitualmente detetadas por outros scanners de segredos. Parte da razão deve-se ao facto de algumas delas não apresentarem padrões que possam ser utilizados.
As capacidades e a semântica do IAM diferem consideravelmente entre as implementações compatíveis com o S3, algo que tem vindo a revelar-se no setor através de múltiplas vulnerabilidades relatadas, incluindo uma no MinIO que permitia a escalada de privilégios não autorizada e uma recente no RustFS que compromete o isolamento dos inquilinos e a semântica de autorização.
Corey Quinn, economista-chefe de nuvem do The Duckbill Group, resume a situação na sua newsletter:
Todas as «neoclouds» incluem um ponto de extremidade compatível com S3, e a sua memória muscular acompanha-o até lá, quer as APIs funcionem corretamente ou não. A Wiz analisou o Nebius, o Crusoe, o Vultr e outros semelhantes nesta análise dos clones do S3. Num deles, o comando `delete-bucket-policy` apagou o bucket inteiro. Vale a pena ler antes de assumir que a funcionalidade «Bloquear Acesso Público» existe.
Como os serviços compatíveis com o S3 herdam URLs pré-assinadas da API do S3, todos os clones suportam esta capacidade e as implicações de segurança que lhe estão associadas. Rishi Raj Singh, engenheiro sénior de soluções na Wiz, escreve no LinkedIn:
Se estiver a utilizar armazenamento compatível com o S3 em «neoclouds», certifique-se de que a sua equipa está a auditar explicitamente o comportamento da API, a verificar os modelos de permissões e a validar o que acontece quando as ferramentas padrão da AWS interagem com estes pontos de extremidade.
A análise da Wiz não abrange várias outras implementações importantes compatíveis com o S3, incluindo o Backblaze B2, o Wasabi e o Google Cloud Storage. O diretório de fornecedores de armazenamento compatível com o S3 lista atualmente mais de 90 fornecedores, enquanto o Awesome Object Storage compara 21 fornecedores entre hiperescaladores, alternativas, opções nativas de edge/CDN, auto-hospedadas e descentralizadas.