Entendendo os Riscos dos Tokens SAS do Azure

A responsabilidade pela propriedade e gestão de dados não está mais centralizada. Vários departamentos, unidades de negócios e equipes lidam continuamente com dados, utilizando-os para atender seus objetivos específicos. No entanto, essa abordagem dispersa de propriedade de dados pode deixar as empresas vulneráveis.
Uma causa muito provável de possíveis problemas de segurança cibernética é quando tokens de Assinatura de Acesso Compartilhado (SAS) do Azure são revelados em repositórios de código e outras fontes de dados ou compartilhados com terceiros, que podem então ser acessados pelo público e usados indevidamente para fins maliciosos. Isso pode incluir casos como vazamento de informações confidenciais ou acesso a arquivos privilegiados. Neste blog, vamos nos concentrar no tipo mais popular – tokens SAS de Conta (Azure).
O que é um Token SAS do Azure?
Um token de Assinatura de Acesso Compartilhado (SAS) é uma sequência única de texto criptografado que encapsula todos os detalhes necessários para autenticar uma assinatura compartilhada para acessar os serviços do Azure Storage. Ele também determina qual serviço e recurso podem ser acessados, as permissões concedidas e o período de validade da assinatura.
Se observarmos as especificidades desses tokens, existem 3 tipos de tokens SAS: SAS de Conta, SAS de Serviço e SAS de Delegação de Usuário. Este blog aborda especificamente os tokens SAS de Conta, pois este é o tipo de token usado para acessar o armazenamento, que é um ponto crítico (se não o mais crítico) de falha na segurança de dados.
Tokens SAS de Conta
Os tokens SAS são códigos criptografados na forma de URIs (Uniform Resource Identifier) que concedem direitos de acesso específicos a um ou mais recursos do Azure Storage, como Azure Blob Storage, Azure File Storage e Azure Queue Storage. Comparado a outros tokens, esse acesso extensivo significa que é crucial lidar com o Account SAS cuidadosamente para evitar acesso não autorizado aos dados.
Além disso, a eficácia de um token SAS reside em sua assinatura, um parâmetro especial adicionado ao URI do recurso de armazenamento. Este sistema garante acesso controlado sem revelar credenciais sensíveis, o que é vital quando os usuários precisam de acesso, mas não devem ter permissões abrangentes. O Azure Storage então verifica essa assinatura para autorizar o acesso e permite aos clientes acesso direto aos recursos especificados por um tempo predeterminado. Uma vez expirado, um novo token é necessário.
Como observado na documentação da Microsoft, aqui está um exemplo de um token SAS em um URI:

Depois que o token é gerado, os usuários podem receber permissões como leitura e/ou gravação. Existem dois casos de uso notáveis:
- Os clientes podem fazer upload e download de dados por meio de um serviço de proxy front-end que autentica a assinatura.
- Um serviço específico autentica o usuário e, em seguida, gera um código SAS de Conta para acessar diretamente os recursos da conta de armazenamento.
Quais são os Riscos de Usar Tokens SAS?
Embora os tokens SAS de conta sejam extremamente úteis para acessar recursos de armazenamento, há um conjunto de riscos que as empresas devem considerar.
Rastreamento de tokens gerados. Um grande desafio é a falta inerente de visibilidade sobre quantos tokens estão atualmente em circulação. Uma vez que os tokens são gerados, eles podem ser acessados e utilizados por qualquer entidade não autorizada.
Carimbos de data/hora mais longos do que o pretendido. Em segundo lugar, há o potencial de os usuários definirem datas de expiração excessivamente longas ao gerar tokens, deixando assim os dados vulneráveis por períodos de tempo mais longos do que o originalmente pretendido. Interrupções de serviço também podem ocorrer quando os tokens expiram, impactando quaisquer serviços que dependam deles.
Uma vez gerado, um token SAS não pode ser revogado. Para evitar tais erros humanos, é uma prática recomendada especificar um curto período de vida na data e hora de início e expiração da chave assinada.
Permissões incorretas. Para agravar esses problemas, os tokens SAS podem conceder mais acesso do que o pretendido originalmente. Por exemplo, um usuário que deseja fornecer acesso a um arquivo específico pode, inadvertidamente, criar um token SAS que permite acesso a todo o contêiner de armazenamento associado, incluindo todos os arquivos nele. Além disso, um usuário que deseja fornecer acesso de "leitura" a arquivos pode, inadvertidamente, criar um token SAS que permite permissões de "gravação" ou "gerenciamento" em vez de apenas "leitura", de modo que qualquer pessoa que tenha o token em mãos possa gravar e gerenciar a conta de armazenamento.
Vamos analisar algumas práticas recomendadas para evitar permissões incorretas e exposição de acesso não autorizado.
Melhores Práticas para Trabalhar com Tokens SAS do Azure
Recomendamos várias práticas recomendadas ao trabalhar com tokens SAS do Azure:
Aplicar o princípio do menor privilégio:
- Limite os tokens SAS aos recursos essenciais (por exemplo, um blob).
- Conceda apenas as permissões necessárias (por exemplo, somente leitura).
Use SAS de curta duração:
- Aplique um tempo de expiração mais curto para tokens SAS e faça com que os clientes solicitem novos tokens SAS quando necessário.
- Atualize os tokens SAS conforme o tempo recomendado pela Microsoft: 1 hora ou menos.
Manuseie o SAS com cuidado:
- Trate os tokens SAS como confidenciais.
- Compartilhe apenas com clientes que precisam de acesso a uma conta de armazenamento.
Estratégia de revogação:
- Vincule tokens SAS à política de acesso armazenada para revogá-los mais facilmente.
- Esteja preparado para excluir a política de acesso armazenada ou alterar as chaves da conta de armazenamento caso ocorram vazamentos.
Monitorar e auditar:
- Habilite o Azure Monitor e os Logs de Armazenamento para supervisionar o acesso à conta de armazenamento.
- Implemente uma política de expiração de SAS para identificar o uso de SAS de longa duração.
Além de todas essas práticas recomendadas padrão, a Cyera possui ações específicas que sua organização pode tomar hoje para garantir o uso seguro de tokens SAS.
Como a Cyera pode Ajudar
Como explicado anteriormente, usar tokens SAS para permitir acesso aos seus dados introduz riscos potenciais de perda de dados. Como não é possível revogar um token SAS específico, as organizações podem alternar a chave de acesso da conta de armazenamento, o que invalida todos os tokens e não apenas os tokens SAS associados à conta de armazenamento. Infelizmente, o principal problema com essa solução alternativa é a degradação do serviço.
Alternativamente, a Cyera oferece uma abordagem multifacetada para empresas que buscam gerenciar e proteger seus tokens SAS, garantindo que sejam usados de forma apropriada e segura.
Visibilidade dos tokens SAS. A Cyera pode verificar um amplo espectro de armazenamentos de dados IaaS, PaaS e SaaS e identifica tokens SAS do Azure em dados estruturados e não estruturados, como bancos de dados e arquivos no Microsoft 365 e vários serviços de armazenamento em nuvem. Isso fornece visibilidade da presença e localização dos tokens SAS.
Auditar o acesso a tokens SAS. A Cyera pode fornecer insights sobre os usuários, grupos e outras identidades que podem acessar armazenamentos de dados ou arquivos que contêm tokens SAS, bem como a finalidade pela qual essas identidades têm acesso aos dados.
Detecção de posicionamento incorreto. A Cyera pode sinalizar quando tokens são encontrados em ambientes menos seguros. Por exemplo, algumas empresas podem decidir que tokens SAS devem residir apenas em determinados ambientes de produção. Se os tokens SAS acabarem em um ambiente de desenvolvimento com acesso aberto a muitos funcionários, isso pode violar as políticas da empresa, acionando um alerta.
Detecção de criação de token não autorizada. A Cyera pode gerar um alerta quando uma conta de armazenamento do Azure tem permissões amplas que permitem que usuários não intencionais criem tokens SAS. As equipes de segurança podem definir políticas para monitorar e limitar essas permissões e, assim, impor um ambiente de armazenamento mais seguro.
Detecção de token desprotegido. A Cyera pode gerar um alerta quando tokens SAS são encontrados em um armazenamento de dados com acesso público ou se o próprio token SAS estiver exposto como texto simples, permitindo que qualquer pessoa com acesso ao armazenamento de dados utilize o token.
Conclusão
Gerar ou expor tokens SAS do Azure Storage de forma inadequada pode representar um grande risco de segurança para seus dados confidenciais. A Cyera ajuda a mitigar esses riscos ao aprimorar a visibilidade, auditabilidade e detecção de exposições de tokens SAS.
Cyera adota uma abordagem centrada em dados para segurança, avaliando a exposição dos seus dados em repouso e em uso e aplicando múltiplas camadas de defesa. Como a Cyera aplica um contexto profundo de dados de forma holística em toda a sua paisagem de dados, somos a única solução que pode capacitar as equipes de segurança a saber onde seus dados estão, o que os expõe a riscos e tomar ações imediatas para remediar exposições e garantir a conformidade sem interromper os negócios.
Para saber mais sobre como você pode proteger seus dados, agende uma demonstração hoje.
Obtenha visibilidade completa
com nossa Avaliação de Risco de Dados.

.png)

