O que é dispersão de segredos?
- Glossário do IAM
- O que é dispersão de segredos?
A dispersão de segredos é a propagação descontrolada de segredos, incluindo chaves de API, senhas e chaves de criptografia, pela infraestrutura de uma organização, pelos repositórios de código e pelos canais de comunicação. Em vez de ficarem em um gerenciador de segredos centralizado, essas credenciais são codificadas diretamente no código-fonte, compartilhadas em aplicativos de mensagens e dispersas por endpoints. O resultado é um inventário incompleto e amplamente invisível de segredos que as equipes de segurança não conseguem monitorar, atualizar nem revogar de forma eficaz.
À medida que as organizações crescem, o número de segredos aumenta rapidamente, assim como o risco de ataques baseados em credenciais e vulnerabilidades na cadeia de fornecimento.
O que é um segredo?
Um segredo é uma credencial não humana que aplicativos, serviços e sistemas usam para se autenticarem entre si. Exemplos comuns incluem chaves de API, strings de conexão de banco de dados, chaves de criptografia, tokens de acesso, chaves SSH e certificados digitais. Como um único segredo pode desbloquear sistemas e dados confidenciais, os segredos devem ser armazenados e controlados de forma muito mais rígida do que identificadores, como nomes de usuário, que as equipes compartilham livremente.
Como ocorre a dispersão de segredos
A dispersão de segredos geralmente resulta da criação e distribuição de credenciais confidenciais sem monitoramento ou controle consistentes.
Criação e crescimento de credenciais
Os ambientes modernos dependem tanto de usuários humanos quanto de identidades não humanas (NHIs), incluindo contas de serviço, bots e cargas de trabalho de aplicações que se autenticam usando segredos como chaves de API e tokens. À medida que as organizações adotam arquiteturas nativas da nuvem, o número de segredos cresce rapidamente. Cada novo sistema, carga de trabalho e integração requer autenticação, ampliando a superfície de ataque e aumentando a probabilidade de segredos não gerenciados. À medida que as organizações escalam e se adaptam a identidades de máquina, inevitavelmente enfrentam o risco de dispersão de segredos.
Manuseio e compartilhamento inconsistentes de segredos
Mesmo com políticas de segurança em vigor, desenvolvedores e equipes lidam com credenciais de forma inconsistente. Um desenvolvedor pode armazenar credenciais localmente, enquanto outro as codifica diretamente no código-fonte ou as compartilha por ferramentas de mensagens. Quando processos seguros são menos práticos do que copiar e colar credenciais, os usuários tendem a priorizar velocidade em detrimento da segurança. Se usuários de várias equipes adotarem a mesma abordagem para centenas de serviços ao longo do tempo, essa inconsistência resultará em uma distribuição ampla e incontrolável de segredos.
Ausência de gerenciamento centralizado de segredos
Sem um gerenciamento centralizado de segredos, as organizações não conseguem rastrear com precisão onde os segredos estão armazenados, quem tem acesso a eles ou como são usados. Essa falta de visibilidade dificulta a rotação ou revogação de credenciais após um incidente de segurança ou a saída de um funcionário, forçando as equipes de segurança a responder de forma reativa em vez de gerenciar seus segredos de forma proativa.
Gerenciamento deficiente do ciclo de vida
Em muitos casos, os segredos são criados para uso imediato, mas não são devidamente mantidos nem removidos após a conclusão de um projeto. Credenciais não utilizadas ou duplicadas podem persistir em múltiplos sistemas, aumentando o risco ao longo do tempo. Se segredos antigos ou não utilizados não forem rotacionados ou removidos, o acesso pode ser concedido indefinidamente a bases de código, repositórios ou arquivos de configuração há muito esquecidos. Sem políticas de ciclo de vida definidas, as organizações acumulam segredos desatualizados que permanecem acessíveis, porém não gerenciados, propagando ainda mais a dispersão de segredos pelos sistemas.
Alertas de dispersão de segredos
Provavelmente há dispersão de segredos se alguma destas situações parecer familiar:
- Os segredos aparecem em mais de um lugar, e ninguém sabe dizer quantas cópias existem.
- As credenciais são compartilhadas por chat, e-mail ou unidades compartilhadas.
- Segredos são codificados no código-fonte, em arquivos de configuração ou em pipelines de CI/CD.
- Apenas alguns funcionários sabem onde certas credenciais estão armazenadas.
- Projetos antigos e ex-funcionários ainda têm credenciais ativas.
- Ninguém consegue produzir um inventário completo e atualizado dos segredos da organização sob demanda.
Por que a dispersão de segredos é perigosa
Quando os segredos são amplamente distribuídos sem supervisão, o impacto atinge todas as partes de uma organização. Credenciais comprometidas são constantemente uma das causas mais comuns de violações de dados, e é exatamente por isso que segredos dispersos e não gerenciados são tão perigosos. Estes são os principais riscos de segredos mal gerenciados:
- Vazamentos de dados: segredos dispersos por sistemas e ferramentas têm uma probabilidade muito maior de aparecer em um vazamento de dados. Um único segredo exposto pode conceder acesso a dados sensíveis e sistemas críticos.
- Violações de sistemas: segredos mal gerenciados podem ser comprometidos e então usados para se mover lateralmente pela infraestrutura e escalar privilégios.
- Redução da produtividade da equipe: as equipes de segurança e DevOps gastam tempo rastreando onde os segredos estão armazenados e gerenciando credenciais dispersas, em vez de se concentrarem em trabalhos de maior prioridade.
- Consequências de conformidade e financeiras: segredos mal gerenciados que resultam em uma violação podem gerar multas regulatórias, custos de resposta a incidentes e responsabilidade legal. Segundo o PCI DSS, HIPAA ou SOC 2, a incapacidade de demonstrar acesso controlado às credenciais é, por si só, uma constatação de conformidade, independentemente de ter ocorrido uma violação.
- Danos à reputação: uma violação causada por segredos mal gerenciados pode causar danos duradouros, especialmente quando clientes confiam dados confidenciais a uma organização. A perda de confiança e de parcerias pode durar anos após o incidente.
Exemplos comuns de dispersão de segredos
A dispersão de segredos tende a se manifestar destas formas:
- Segredos codificados diretamente no código-fonte: os desenvolvedores incorporam segredos no código que é confirmado em um repositório. Em repositórios públicos, a exposição é imediata e permanente, a menos que o segredo seja rotacionado. Em repositórios privados, isso amplia o raio de impacto de qualquer comprometimento do repositório. A varredura de segredos pode detectar essas exposições, mas segredos já indexados por mecanismos de busca ou scanners de terceiros continuam em risco mesmo após a exclusão.
- Chaves de API armazenadas em vários locais: quando as equipes copiam chaves de API para arquivos de configuração em vez de injetá-las em tempo de execução, o mesmo segredo acaba em vários locais. Sem gerenciamento de segredos, ninguém sabe onde cada cópia está e, portanto, ninguém consegue fazer a rotação nem revogar o acesso.
- Segredos expostos em pipelines de CI/CD: segredos incorporados em arquivos de configuração, logs de build ou integrações de CI de terceiros podem ser visíveis para qualquer pessoa com acesso à execução do pipeline, mesmo sem acesso direto ao código.
- Credenciais esquecidas: segredos de projetos antigos ou ex-funcionários frequentemente permanecem ativos muito depois de cumprirem seu propósito, acessíveis, mas fora do monitoramento ativo.
- Segredos duplicados entre sistemas: o mesmo segredo replicado entre equipes ou ambientes impossibilita controles de acesso consistentes.
- Métodos inseguros de compartilhamento: segredos enviados por aplicativos de mensagens ou e-mail não podem ser rastreados de forma confiável; não é possível saber quem os viu, para onde foram enviados ou como foram armazenados.
Como reduzir o risco de dispersão de segredos
Reduzir a dispersão de segredos significa centralizar a forma como os segredos são armazenados, acessados e gerenciados. Um gerenciador de segredos dá às organizações controle e visibilidade sobre todo o seu inventário de segredos.
Centralize segredos em um cofre seguro
Em vez de deixar que as credenciais se espalhem por arquivos e repositórios, armazene cada segredo em um gerenciador de segredos dedicado. Um cofre centralizado e criptografado torna-se a fonte única de verdade para armazenar, acessar e distribuir credenciais.
Aplique o acesso de menor privilégio
Nem todos precisam ter acesso a todos os segredos. O acesso de menor privilégio concede a cada identidade apenas os segredos de que ela precisa, somente pelo tempo necessário, para que uma credencial comprometida cause muito menos danos.
Faça varredura em busca de segredos já armazenados em repositórios
A centralização só funciona se você eliminar a dispersão existente primeiro. Ferramentas de varredura de segredos encontram credenciais já presentes em repositórios, arquivos de configuração e artefatos de build. Execute uma varredura inicial antes de presumir que seus segredos estão contidos e, em seguida, configure a varredura contínua para detectar novas exposições.
Automatize a rotação de credenciais
A rotação automatizada mantém os segredos atualizados sem processos manuais que não funcionam em escala. Ela reduz as janelas de exposição e elimina a carga de monitorar a rotação em centenas de credenciais.
Melhore a visibilidade e a auditoria
Mantenha um inventário em tempo real dos segredos, incluindo onde estão armazenados e como são usados. Essa visibilidade permite que as equipes detectem comportamentos suspeitos, encontrem segredos órfãos e respondam rapidamente a incidentes.
Defina e aplique políticas de ciclo de vida
Defina regras claras para quando os segredos forem criados, atualizados e desativados, e automatize a aplicação sempre que possível. Um segredo que não é mais necessário deve ser revogado, não ignorado.
A forma mais eficaz de fazer tudo isso em escala é com um gerenciador de segredos dedicado. O Keeper Secrets Manager ajuda as organizações a centralizar o gerenciamento de segredos armazenando cada segredo em um único local criptografado, para que as equipes possam rastreá-los e auditá-los a partir de uma única fonte confiável, em vez de buscar credenciais dispersas por toda a sua infraestrutura.