Como prevenir a exfiltração de dados

Uma função essencial da segurança de computadores e redes é manter os dados confidenciais inacessíveis a terceiros não autorizados. Este documento explora as características dos riscos da exfiltração de dados e discute as práticas recomendadas do setor para proteger dados. Ele explica como usar ferramentas e recursos no Google Cloud para reduzir riscos, detectar exfiltração de dados e responder a eventos de exfiltração. Quando possível, ameaças de segurança e abordagens de defesa serão descritas em um contexto independente da nuvem. As alterações no cenário regulatório, dentre as quais destacamos a exigência de conformidade com o Regulamento geral de proteção de dados (GDPR, na sigla em inglês) da União Europeia a partir de 2018, deram nova ênfase à implantação de mecanismos de prevenção contra a exfiltração de dados.

Como definir a exfiltração de dados

Segundo este documento, a exfiltração de dados ocorre quando uma pessoa autorizada extrai dados dos sistemas protegidos a que eles pertencem e os compartilha com terceiros não autorizados ou transfere esses dados para sistemas inseguros. Pessoas autorizadas incluem funcionários, administradores de sistema e usuários confiáveis. A exfiltração de dados pode ocorrer devido a ações de agentes maliciosos ou comprometidos, ou acidentalmente.

Para reduzir o risco de exfiltração de dados, as organizações precisam integrar a consciência de segurança e as práticas recomendadas à própria cultura. Elas precisam avaliar consistentemente os riscos de cada interação com redes de computadores, dispositivos, aplicativos, dados e outros usuários. Além disso, as organizações podem instituir auditorias periódicas para verificar se as práticas recomendadas estão sendo seguidas.

Como enfrentar os riscos de exfiltração de dados na nuvem

Muitas estratégias tradicionais de segurança de dados se baseiam no fortalecimento das defesas físicas do perímetro das redes privadas. No entanto, como consumidor de nuvem, você não controla a infraestrutura de rede física que os serviços usam. Em nuvens públicas, estrutura de rede do provedor de hospedagem é compartilhada e não há um perímetro no sentido tradicional. A proteção de dados na nuvem requer novas abordagens de segurança e métodos de auditoria do acesso a dados.

Como analogia, considere que as infraestruturas de nuvem pública foram as primeiras do setor a adotar o uso de hardware comum no data center. Isso pode aumentar as taxas de falha de hardware, mas as consequências de tais falhas são minimizadas por meio de redundância e arquitetura de serviços inteligentes. Em um ambiente assim, os serviços precisam conseguir absorver várias falhas harmoniosamente. As arquiteturas de serviços são projetadas para falhas de hardware e rede separando processamento, armazenamento, autenticação e outras tarefas em várias máquinas e geografias, o que minimiza os impactos de qualquer evento de falha. Ao proteger seus dados, você deve adotar uma abordagem semelhante: projete uma arquitetura que minimize o tempo de inatividade e limite os efeitos no resto do sistema caso a segurança seja comprometida.

Para satisfazer os clientes mais interessados em segurança, o modelo de segurança da nuvem pública incorpora essa questão. O Google Cloud oferece VM protegida para fornecer integridade verificável das instâncias de máquina virtual (VM, na sigla em inglês) do Compute Engine. Assim, você tem certeza de que suas instâncias não foram comprometidas por malwares no nível do kernel ou da inicialização. A integridade verificável da VM protegida é atingida por meio do uso de inicialização segura, inicialização medida habilitada para vTPM e monitoramento de integridade.

Além disso, os provedores podem implantar agentes especializados para produzir telemetria sobre a atividade do usuário e do host em máquinas virtuais (VMs) baseadas em nuvem. Isso permite que o centro de operações de segurança (SOC, na sigla em inglês) observe as atividades dentro e ao redor do limite de segurança, que muda o tempo todo.

Os provedores também introduzem pontos de estrangulamento explícitos, como bastion hosts, para comunicação com frotas de VMs, servidores proxy de rede, servidores de saída de rede e redes de projetos cruzados. Essas medidas podem reduzir o risco de exfiltração de dados, mas não o eliminam completamente.

A organização também precisa estabelecer uma forte infraestrutura de detecção e resposta para eventos de exfiltração de dados. A infraestrutura de nuvem certa proporciona rápida detecção de atividade arriscada ou imprópria, limita o "raio de explosão" da atividade e minimiza a janela de oportunidade do ator que está exfiltrando.

Categorias de eventos de exfiltração de dados

Os eventos de exfiltração de dados podem ser categorizados por características tecnológicas, organizacionais e físicas comuns. Nas seções a seguir, analisaremos algumas dessas categorias e discutiremos estratégias de prevenção e redução para cada uma.

E-mail de saída

Neste cenário, os atores usam infraestrutura de telecomunicações autorizadas, como e-mail de trabalho ou dispositivos móveis, visando transmitir dados confidenciais de sistemas de computador seguros para terceiros não confiáveis ou sistemas privados inseguros. Os dados confidenciais podem ser transmitidos como texto simples, em um e-mail ou mensagem de texto, ou anexados como um arquivo. Esse método é frequentemente usado para exfiltrar o conteúdo de e-mails, agendas, bancos de dados, imagens, documentos de planejamento, previsões de negócios e código-fonte da organização.

Muitos sistemas de e-mails e mensagens salvam rascunhos na nuvem, por isso não basta verificar dados confidenciais quando a mensagem é enviada. Se uma pessoa tem acesso externo ao próprio e-mail de trabalho ou a outro serviço de mensagens compatível com rascunhos salvos, ela pode usar esse recurso para exfiltração. Ao salvar um rascunho de dispositivos e redes com acesso a dados confidenciais e, em seguida, acessar o rascunho de outro cliente, o ator evita a geração de registros e os sistemas de auditoria.

Prevenção e redução de riscos

Este cenário envolve sistemas de telecomunicações selecionados e autorizados pela organização, o que dá a você mais opções para se proteger contra a exfiltração de dados do que cenários envolvendo ferramentas privadas ou de terceiros.

Pense em implementar algumas das seguintes estratégias de prevenção e redução:

  • Monitorar o volume e a frequência da transmissão de dados dos usuários por e-mail e outras ferramentas de mensagens organizacionais. Se um usuário médio envia 5 megabytes de dados em média por dia, um usuário que enviar 500 megabytes deve acionar um alerta.
  • Manter um registro dos endereços usados para envio de e-mails, dos dispositivos de onde são enviados os e-mails e dos endereços dos destinatários. Isso pode ajudá-lo a identificar a natureza e o escopo de um evento de exportação de dados. Na Lista de verificação de segurança do administrador, você verá como auditar uma conta de e-mail quanto a riscos de segurança no Gmail Enterprise.
  • Verificar os e-mails enviados dos sistemas com acesso a dados confidenciais para garantir que não tenham conteúdo não autorizado. Isso pode ser facilitado com o uso de marcadores no conteúdo confidencial, como palavras-chave ou hashes.
  • Impedir o envio de mensagens por canais inseguros, como o uso de http em vez de https, e alertar a equipe de segurança de TI das tentativas.

Downloads em dispositivos inseguros

Casos assim ocorrem quando um usuário acessa dados confidenciais por meio de canais autorizados e, em seguida, transfere-os para um dispositivo local inseguro. Os atores podem usar laptops, smartphones, unidades externas, câmeras ou dispositivos especializados para capturar dados confidenciais para exfiltração. O ator pode fazer o download de arquivos existentes dos serviços na nuvem ou copiar dados em novos arquivos. Se os arquivos forem transferidos para dispositivos não monitorados ou inseguros, eles correrão alto risco de exfiltração.

Prevenção e redução de riscos

As redes baseadas em nuvem têm vantagens na prevenção desse tipo de evento. Muitos métodos para transferir dados para um dispositivo local exigem uma conexão física com mídia transferível. Se os dados estiverem armazenados na nuvem, será preciso fazer o download deles antes de os transferir. Esses downloads estão sujeitos aos recursos de segurança e rastreamento do serviço de hospedagem e dos clientes.

Pense em implementar algumas destas políticas e técnicas:

  • Proibir downloads de dados muito confidenciais. Dependendo de como os dados são usados e processados na nuvem, é possível que os usuários nunca precisem fazer o download deles em hardware local. Se possível, mantenha todos os dados na nuvem e realize toda a computação na nuvem. Se for tecnicamente possível fazer o download dos dados, estabeleça uma política que proíba de se fazer downloads, classifique e rotule dados confidenciais e mantenha os registros de acesso dos dados que são solicitados e disponibilizados por interações protegidas e chamadas de API. Veja mais informações na documentação da geração de registros de auditoria.
  • Usar um agente de segurança de acesso à nuvem (CASB, na sigla em inglês) para regular as conexões entre clientes autorizados e serviços em nuvem, de acordo com as políticas de segurança da organização.
  • Incorporar arquivos com ferramentas de gerenciamento de direitos digitais (DRM, na sigla em inglês). Com isso, a criptografia e a segurança com reconhecimento de permissões são incluídas em cada arquivo.
  • Implementar marca d'água dinâmica nos clientes autorizados para registrar o usuário responsável por capturas de tela ou fotografias de telas de computadores que tenham informações confidenciais.

Uploads para serviços externos

Semelhante à categoria anterior de eventos, esta categoria geralmente envolve o download de dados confidenciais em infraestrutura local. O ator, então, faz o upload dos dados para um terceiro por meio de um cliente de navegador da Web ou outro software não monitorado. Os serviços de terceiros poderiam ser sites da Web de aparência inócua, como uma rede social, onde o ator poderia, acidentalmente, fazer o upload das imagens erradas ou colar o texto errado. Atores mal-intencionados avançados podem passar pequenas quantidades de dados confidenciais, como credenciais de usuário ou chaves de criptografia, como parâmetros de URL a aplicativos da Web especializados.

Prevenção e redução de riscos

O risco desse tipo de evento pode ser reduzido com as mesmas restrições de política em downloads que protegem contra a cópia local de dados confidenciais. Porém, uma política não elimina o risco upload de capturas de tela ou cópia de texto para redes sociais, sites de compartilhamento de arquivos ou outros serviços na nuvem.

As práticas de segurança a serem consideradas para combater esse tipo de risco incluem:

  • Proibir o download de qualquer dado. Mantenha todos os dados na nuvem e realize toda a computação na nuvem. Os dados devem ser solicitados e disponibilizados por interações de API protegidas e registradas. Veja mais informações na documentação da geração de registros de auditoria.
  • Evitar a instalação de software inseguro de terceiros, como aplicativos de mídia social ou plug-ins de navegador não autorizados, em dispositivos com acesso a dados confidenciais.
  • Usar um CASB para regular o tráfego dos pontos de acesso à nuvem e impor políticas de criptografia a todos os dados transmitidos aos clientes.

Comportamento inseguro na nuvem

O uso de serviços na nuvem apresenta algumas categorias novas de riscos de exfiltração de dados de que os profissionais de segurança de TI devem estar conscientes. Eles incluem uma série de casos em que funcionários, usuários ou administradores usam recursos do pacote do provedor da nuvem de maneiras inseguras. Há um potencial de exfiltração de dados de qualquer ator que tenha a capacidade de requisitar ou modificar máquinas virtuais (VMs, na sigla em inglês), implantar código ou fazer solicitações a serviços de computação ou armazenamento em nuvem.

As redes em nuvem têm front-ends públicos e a capacidade de se comunicar com a grande Internet. Proteger e autorizar o comportamento dos serviços executados na nuvem é essencial para fornecer segurança de dados. Atores com permissões suficientes podem iniciar a transmissão de saída de dados confidenciais, mover dados confidenciais de contêineres seguros para outros menos seguros ou criar serviços em nuvem não autorizados em nome de uma organização.

Prevenção e redução de riscos

Manter o comportamento seguro dos serviços na nuvem requer permissões precisas de escopo limitado e geração de registros abrangente. Sempre que possível, proíba os atores de acessar os back-ends dos serviços. Para a maioria das tarefas que um funcionário ou administrador precisa concluir em uma VM, há agentes automatizados e clientes de front-end que são seguros e monitoráveis. Use-os onde for possível limitar o número de pessoas com acesso SSH direto às suas máquinas na nuvem. Se viável, verifique todos os dados enviados para a grande Internet para identificar informações confidenciais. No caso de aplicativos que processam informações de usuários ou sistemas externos, pense em verificar tais informações para evitar a coleta, o armazenamento ou o compartilhamento acidental de dados confidenciais, como informações de identificação pessoal (PII, na sigla em inglês).

Para VMs na nuvem, considere estes princípios de segurança:

  • Configure tabelas de IP nas VMs para proibir conexões de saída com endereços desconhecidos. Isso pode reduzir o risco da transmissão de dados confidenciais para fora da rede.
  • Evite dar os endereços IP públicos às VMs e use um serviço de tradução de endereços de rede (NAT, na sigla em inglês) para processar conexões de entrada e de saída. Para saber mais, leia este guia sobre como configurar um gateway NAT para o Compute Engine.
  • Use um Bastion Host na nuvem para mediar e monitorar conexões com outros hosts.
  • Desative qualquer software de gerenciamento remoto, como o Remote Desktop Protocol (RDP) ou agentes do Windows Remote Management (WinRM), nas máquinas em que eles não sejam necessários.
  • Use o Acesso particular do Google para permitir que as instâncias de máquina virtual (VM) em uma sub-rede alcancem APIs e serviços do Google usando um endereço IP interno em vez de um endereço IP externo.
  • Pense em usar as redes de projetos cruzados (XPN, na sigla em inglês) para compartilhar redes virtuais do Google Cloud em projetos da sua organização do Cloud.
  • Limite o acesso SSH direto às VMs somente às pessoas que precisam disso de maneira indispensável. No Google Compute Engine há ferramentas abrangentes de gerenciamento de chaves SSH para controlar o acesso a VMs.

Para serviços de armazenamento em nuvem, como o Cloud Storage ou o Cloud Bigtable, as seguintes práticas reduzem os riscos de exfiltração de dados:

  • Use o gerenciamento de identidade e acesso (IAM, na sigla em inglês) para fornecer aos usuários e aplicativos o conjunto mais limitado de permissões necessárias para acessar dados. Armazene dados com diferentes requisitos de acesso e confidencialidade em contêineres diferentes para que as permissões sejam o mais granulares possível.
  • Monitore e limite a taxa em que os dados podem ser lidos nos recursos de armazenamento. Use agentes de monitoramento para alertar a equipe de segurança caso haja alguma tentativa de mover uma quantidade de dados além do normal.
  • Faça com que as permissões para dados muito confidenciais sejam temporárias e sujeitas a análise e revogação frequente. Por exemplo, as cotas do App Engine podem ser úteis nessa situação.
  • Tenha uma equipe humana para auditar regularmente o conjunto de pessoas com acesso a contêineres muito confidenciais.
  • Mantenha registros completos de todo o acesso aos serviços de armazenamento. O ideal é que o conjunto de pessoas com acesso aos serviços de armazenamento seja separado do conjunto de pessoas com acesso aos registros. Isso reduz o risco de adulteração dos registros por indivíduos mal-intencionados. Use os utilitários de registro de acesso do Cloud Storage para gravar dados de registro em um bucket de armazenamento separado.

Impor a conformidade com as políticas de segurança

Ao fazer uso da infraestrutura avançada oferecida pelo Google Cloud, os clientes ganham várias oportunidades para desenvolver soluções que satisfaçam às necessidades deles. Ao mesmo tempo, essa infraestrutura traz novos desafios, como a aplicação das políticas de segurança desejadas em projetos diferentes de uma organização. Para simplificar o gerenciamento da segurança, o Google Cloud introduziu uma hierarquia de entidades onde estão inclusos todos os recursos. Essa hierarquia está enraizada no conceito de Organizações. Opcionalmente, as Organizações podem conter pastas ou projetos. Por sua vez, as pastas podem conter subpastas ou projetos. Todos os recursos do Google Cloud Service pertencem a um projeto.

Com base nessa hierarquia de entidades, Organização -> Pasta -> Projeto -> Serviço do Google Cloud -> Recurso, é possível definir políticas de segurança em qualquer nível superior porque elas serão herdadas pelos níveis inferiores da hierarquia. As políticas de segurança são avaliadas de cima para baixo na hierarquia de recursos e, assim que uma resposta "permitir" é recebida, o acesso ao recurso é concedido.

Como impor a conformidade

Com a hierarquia de recursos e políticas de segurança herdadas, é possível simplificar a auditoria para garantir que as políticas de segurança desejadas sejam seguidas uniformemente. Devido a essa propriedade de políticas herdadas, os administradores podem comprovar que, por exemplo, o mesmo grupo de auditores tem acesso para inspecionar os dados de todos os projetos. Isso é possível ao aplicar a política de segurança no nível da Organização e não modificá-la nos níveis inferiores. Essas políticas de segurança são especificadas nas atividades de auditoria do software e a verificação delas pode ser automatizada.

Identificação e edição de dados confidenciais

Um dos primeiros passos no gerenciamento de dados confidenciais é saber a localização deles. Depois disso, você estará mais preparado para usar técnicas de redução da confidencialidade, como edição, mascaramento ou desidentificação dos dados, e definir o controle de acesso. Assim, você garante acesso e tratamento adequados. Uma vez que os dados estejam editados, eles perdem a natureza confidencial, como um CPF ou CNPJ específico, um número de cartão de crédito válido ou informações de identificação pessoal (PII, na sigla em inglês).

O desafio clássico na edição de grandes quantidades de dados diversos é a necessidade de automatizar o reconhecimento, a classificação e a edição apropriada. Um avanço é ter um sistema com compatibilidade para discernir de maneira automatizada o conteúdo nos campos dos dados. Com esse nível de visibilidade automatizada em streams de dados arbitrários, os aplicativos têm o poder de decidir que dados transmitir para quais pontos de extremidade, quais sistemas usar para armazenar tipos distintos de dados que são gerenciados e quando emitir alertas sobre tipos específicos de dados em transmissão.

Prevenção e redução de riscos

No Google Cloud, a proteção de dados sensíveis permite entender e gerenciar dados sensíveis. Essa API oferece classificação rápida e escalável e edição opcional de elementos de dados confidenciais, como nomes e números de cartão de crédito, CPFs ou CNPJs, passaporte, carteira de habilitação de alguns países e telefones. A proteção de dados sensíveis oferece suporte a texto, dados estruturados e imagens. Basta enviar os dados para ela ou especificar os dados armazenados nas instâncias do Cloud Storage, do BigQuery e do Datastore. As descobertas da proteção de dados sensíveis podem ser usadas para monitorar ou informar automaticamente a definição de configurações do IAM, residência de dados ou outras políticas. A proteção de dados sensíveis também pode ajudar você a editar ou mascarar certas partes desses dados por questões de confidencialidade ou para ajudar na minimização de dados como parte de uma política de privilégio mínimo ou necessidade de saber. As técnicas disponíveis são: mascaramento, criptografia com preservação de formato, tokenização e organização de dados estruturados ou de texto livre em intervalos.

Administradores não autorizados

Por design, a maioria dos sistemas de computador concede poder não controlado aos administradores designados. Administradores maliciosos ou comprometidos terão permissões suficientes para perpetrar qualquer um dos cenários discutidos neste documento e, além disso, terão a maior capacidade para eliminar registros e evidências das próprias ações. Reduzir esses riscos exige separação de poderes, autoridade sobre partes da rede e permissão para os administradores monitorarem uns aos outros.

Prevenção e redução de riscos

Limitar a autoridade de todo e qualquer ator é essencial para reduzir os riscos apresentados por um falso administrador.

Para realizar as tarefas atribuídas a eles, os administradores terão a capacidade de exportar dados, porém, os seguintes princípios podem ser aplicados para reduzir o escopo e a magnitude de tais eventos, caso ocorram:

  • Proteja uma rede vasta contra infrações de administradores registrando as ações deles em um local ao qual eles não têm acesso. Use uma equipe de segurança separada para gerenciar os serviços de monitoramento e geração de registros.
  • Avalie a possibilidade de tornar temporário todo o acesso de administrador, com um curto período de validade. Em muitas redes, os administradores não precisam de acesso permanente.
  • Exija a aprovação de vários indivíduos para as ações administrativas. Ao tratar todas as ações administrativas como código-fonte que requer aprovação, você reduz os riscos apresentados por um único indivíduo.

Rescisão de contrato de funcionários

O Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança (CERT, na sigla em inglês), do Software Engineering Institute da Universidade Carnegie Mellon, produziu um artigo em 2011 (links em inglês) mostrando que a probabilidade de ocorrer exfiltração de dados era maior quando o funcionário pressentia que o próprio contrato estava prestes a ser rescindido. Uma rescisão pendente de contrato de funcionário é um período de maior risco que exige atenção adicional das equipes de segurança de TI.

Prevenção e redução de riscos

Para redes com dados muito confidenciais, considere conectar sistemas de geração de registros e monitoramento ao software de RH que registrem uma rescisão de contrato no futuro próximo e definam limites mais conservadores para alertar as equipes de segurança quanto a comportamento anormal desses usuários.

Conclusão

A flexibilidade, a economia de custos e o poder de usar a infraestrutura de nuvem pública requer maior vigilância e novas abordagens para proteger os dados contra exfiltração. Desenvolva políticas e implementações para a organização cuidar do próprio ambiente corporativo usando as técnicas descritas neste documento:

  • Minimize o "raio de explosão" dos eventos de exportação de dados por meio da compartimentalização de dados.
  • Crie redundância e aprovações nos fluxos de trabalho de administrador do sistema para aumentar a responsabilidade.
  • Use permissões granulares e conceda acesso a dados confidenciais apenas para quem tenha uma função que exija isso.
  • Use a geração de registros para aumentar a transparência no acesso e no movimento de dados da organização.
  • Restrinja e monitore a entrada e a saída de máquinas na organização usando regras de rede, gerenciamento de identidade e acesso (IAM) e hosts bastiões.
  • Crie um valor de referência de streams de dados normais, como volumes de dados acessados ou transferidos e locais geográficos de acesso, para comparar comportamentos anormais.

A seguir