20 de outubro de 2011
Recentemente pesquisadores da área de segurança identificaram vulnerabilidades nas técnicas de empacotamento de assinatura e nos scripts avançados entre sites usados por alguns serviços da AWS. As possíveis vulnerabilidades foram corrigidas e nenhum cliente foi afetado. Abaixo apresentamos um resumo com os achados da pesquisa e um lembrete de boas práticas para a validação adequada de usuários. Os clientes que implementam integralmente as melhores práticas de segurança da AWS não estavam suscetíveis a essas vulnerabilidades.
A pesquisa apontou que os erros na análise de SOAP podem ter resultado em solicitações SOAP criadas de maneira específica com elementos duplicados de mensagem e/ou a ausência de processamento de assinatura criptográfica. Caso isso ocorresse, um violador com acesso a uma mensagem SOAP não criptografada poderia adotar medidas como outro usuário válido e executar ações inválidas do EC2. Por exemplo, caso um violador fosse capaz de obter inadequadamente uma solicitação SOAP gerada anteriormente e pré-assinada de um cliente do EC2, ou o certificado X.509 público de um cliente, ele poderia gerar solicitações SOAP arbitrárias em nome de outro cliente.
Embora a obtenção de uma solicitação SOAP pré-assinada ou de um certificado X.509 fosse algo difícil, os pesquisadores apontaram que um violador poderia concretizar isso caso um cliente enviasse as solicitações SOAP por HTTP em vez de HTTPS em um ambiente público sujeito a interceptações ou deixasse o conteúdo integral das solicitações SOAP em um local acessível ao violador (como um fórum público de mensagens). Além disso, os pesquisadores de segurança descobriram e relataram outras falhas de Cross-Site Scripting (XSS – Criação de script entre sites) que poderiam ser usadas para obter o certificado X.509 público do cliente. A obtenção de um certificado X.509 público de um cliente dessa maneira poderia permitir que um violador gerasse solicitações SOAP arbitrárias em nome do cliente, viabilizando a exploração da vulnerabilidade descrita acima.
As vulnerabilidades SOAP e XSS foram corrigidas e análises abrangentes de log determinaram que nenhum cliente foi afetado.
Como lembrete, a AWS recomenda algumas melhores práticas de segurança para a proteção de nossos clientes:
- Só utilize o endpoint HTTPS/protegido por SSL para qualquer serviço da AWS e garanta que seus utilitários de cliente realizem a validação de pares adequada. Um percentual baixíssimo de todas as chamadas de API autenticadas da AWS usa endpoints SSL e a AWS pretende defasar endpoints de API não SSL no futuro.
- Ative e use a Multi-Factor Authentication (MFA) par acesso ao Console de Gerenciamento da AWS.
- Crie contas do Identity and Access Management (IAM) com funções e responsabilidades limitadas, restringindo o acesso exclusivamente a recursos especificamente necessários a essas contas.
- Use as restrições de política de IP de origem do IAM para limitar adicionalmente o acesso e a interação da API por IP de origem.
- Faça frequentemente o rodízio de credenciais da AWS, incluindo chaves de segredo, certificados X.509 e pares de chaves.
- Ao utilizar o Console de Gerenciamento da AWS, minimize ou evite a interação com outros sites e siga as práticas seguras de navegação na Internet assim como faria ao utilizar serviços bancários ou outras atividades online igualmente importantes/delicadas.
- Os clientes da AWS também devem levar em consideração o uso de mecanismos de acesso à API além de SOAP, como REST/Query.
A AWS gostaria de agradecer às seguintes pessoas por relatar essas vulnerabilidades e compartilhar nossa paixão por segurança:
Juraj Somorovsky, Mario Heiderich, Meiko Jensen e Jörg Schwenk da Universidade de Ruhr, Bochum, Alemanha
Nils Gruschka da NEC Europa
Luigi Lo Iacono da Universidade de Ciências Aplicadas de Colônia, Alemanha
A segurança é nossa prioridade. Continuamos comprometidos em fornecer recursos, mecanismos e assistência para que nossos clientes concretizem uma infraestrutura segura da AWS. Envie dúvidas ou preocupações relacionadas à segurança para aws-security@amazon.com.