Recentemente, os desenvolvedores do gerenciador de senhas KeePass fecharam uma vulnerabilidade que permitia que a senha mestra fosse recuperada da RAM , onde era armazenada em texto não criptografado. Da mesma forma, fragmentos de outras informações importantes, como mensagens recentes ou dados de bancos de dados corporativos, podem ser “raspados” da memória. Os desenvolvedores do KeePass rapidamente encontraram uma solução bastante heterodoxa para o problema, mas na maioria dos outros aplicativos, as senhas ainda são armazenadas na RAM em texto não criptografado, tornando-o um ponto fraco generalizado e generalizado dos sistemas de segurança.
Um ataque de memória parece exótico e complexo, mas na verdade é bastante fácil para os criminosos cibernéticos realizarem um ataque bem-sucedido – se os administradores não adotarem medidas especiais de proteção.
Como alguém pode acessar a memória do computador
Áreas de RAM usadas por diferentes aplicativos são amplamente isoladas umas das outras pelo sistema operacional e pelo hipervisor. Portanto, não é possível ler um fragmento de memória em que outro aplicativo esteja sendo executado. No entanto, processos com privilégios de kernel ( sistema no Windows, root no *nix) são capazes de fazer isso. E há mais do que algumas maneiras de escalar privilégios para o nível necessário, sendo as vulnerabilidades no sistema operacional ou nos drivers de dispositivo as mais comuns.
Outra maneira de entrar na RAM é por meio de um ataque DMA . Esse tipo de ataque é baseado no fato de que as interfaces de alta velocidade (USB 4.0, Thunderbolt, Firewire, etc.) têm acesso direto à memória para acelerar os processos de E/S. Um dispositivo especialmente projetado pode abusar desse recurso para ler quaisquer bits de memória. E esta não é uma ameaça hipotética; houve casos reais ( FinFireWire ).
Mas mesmo sem dispositivos sofisticados e vulnerabilidades, ainda é factível! Como o sistema operacional grava o conteúdo da RAM em arquivos, as informações contidas nele podem ser acessadas simplesmente pela leitura desses arquivos.
Existem vários tipos de arquivos no Windows:
- Arquivos de troca temporários (pagefile.sys)
- Arquivos salvos de hibernação (hiberfil.sys)
- Bater e depurar despejos de memória (memory.dmp, minidump). E esses arquivos podem ser gerados manualmente .
No Linux, a troca e a hibernação usam uma partição de disco dedicada compartilhada para essas finalidades.
O acesso a um desses arquivos geralmente requer acesso físico ao computador, mas não é necessário conhecer as credenciais de acesso ou mesmo ligar a máquina. Você pode simplesmente remover o disco rígido e lê-lo em outro computador.
Como prevenir um ataque à memória
Como existem várias maneiras de raspar a memória, você precisa se defender em vários níveis simultaneamente. Algumas proteções serão hostis ao usuário, portanto, antes de aplicá-las, considere os cenários de uso de cada computador em sua empresa e avalie os riscos.
Medidas diretas
Vamos começar com algumas medidas relativamente simples, que são recomendadas em todos os casos, exceto em nenhum.
- Implemente o princípio do menor privilégio . Todos os usuários devem trabalhar sem direitos de administrador. Mesmo os próprios administradores devem receber privilégios de administrador apenas durante os procedimentos de manutenção, quando eles forem realmente necessários.
- Implante sistemas de proteção em todos os computadores físicos e virtuais. As empresas devem ter sistemas EDR implantados. Certifique-se de que as políticas de segurança impeçam que os funcionários executem utilitários legítimos, mas potencialmente perigosos, que podem ser usados para escalonamento de privilégios e despejo de memória (Sysinternals, PowerShell, drivers redundantes/desatualizados, etc.).
- Mantenha o sistema operacional e todos os principais aplicativos atualizados .
- Certifique-se de que os computadores inicializem no modo UEFI, não no BIOS. Atualize regularmente o firmware UEFI em todos os computadores.
- Defina as configurações UEFI seguras . Desative a unidade de gerenciamento de memória de entrada/saída (IOMMU) para evitar ataques de DMA. Proteja o UEFI com senha e defina a ordem correta de inicialização do sistema operacional para reduzir os riscos de o sistema ser iniciado a partir de mídia maliciosa externa e as configurações serem alteradas para inseguras. Os recursos Secure Boot e Trusted Boot também impedem a execução de código não confiável do sistema operacional.
medidas ambíguas
Todas as medidas listadas nesta seção melhoram muito a segurança do sistema, mas às vezes afetam negativamente o desempenho do computador, a facilidade de uso e/ou a capacidade de recuperação de desastres. Cada um deles precisa de consideração cuidadosa no contexto de funções específicas dentro da empresa, e a implementação requer precisão e implantação em fases com testes detalhados.
- Armazenamento de chaves de hardware baseado em TPM 2.0 O Trusted Platform Module oferece autenticação segura do sistema operacional, usa biometria para entrar na conta e torna a extração de chaves mais difícil. O TPM também aumenta muito a proteção oferecida pela criptografia de disco completo, pois suas chaves também são armazenadas no módulo. Potenciais armadilhas : falta de TPM em alguns computadores; combinações de SO/hardware incompatíveis; dificuldades com gerenciamento centralizado de chaves (devido a diferentes sistemas e versões de TPM).
- Criptografia de disco completo . Essa medida reduz drasticamente o risco de vazamento de dados, principalmente de laptops perdidos ou roubados; por isso é recomendado até para quem não tem tanto medo de ataques de memória. A implementação nativa da Microsoft é o BitLocker , mas também existem soluções de terceiros. A criptografia de disco completo (FDE) também se tornou parte de muitos sistemas baseados em Linux (por exemplo, no Ubuntu versão 20 e superior ) e geralmente é baseada em LUKS . Uma combinação de TPM e FDE oferece confiabilidade máxima. Potenciais armadilhas: no caso de uma falha grave, nada pode ser restaurado da unidade. Portanto, um sistema de backup que funcione bem é uma necessidade absoluta. Às vezes, há uma desaceleração perceptível no desempenho da unidade, especialmente ao inicializar o computador.
- Desativando o modo de suspensão/espera . Se você desabilitar o modo de suspensão e deixar apenas o modo de hibernação, as situações em que os invasores tiverem acesso a um computador inicializado e parcialmente descriptografado vulnerável a ataques DMA e outros métodos se tornarão extremamente raras. A desvantagem dessa solução também é óbvia, pois o modo de suspensão é a maneira mais rápida e conveniente de “desligar” o computador após o trabalho ou ao mudar de local no escritório. Se você decidir seguir esse caminho, sempre implemente o FDE; caso contrário, os funcionários provavelmente usarão a hibernação e o arquivo de hibernação ficará indefeso contra ataques.
- Desativando o modo de hibernação . Se a hibernação estiver desabilitada, uma imagem da memória não pode ser copiada de um arquivo em um computador desligado. Para computadores críticos, você pode desabilitar a hibernação e a suspensão; essas máquinas só podem ser desligadas. Em combinação com FDE, TPM e outras medidas, haverá poucas chances de ataques de memória; mas a inconveniência para os usuários seria considerável, então vale a pena pensar seriamente sobre quais casos justificam tal abordagem.
dizendo isso diretamente
Se você decidir que desabilitar o modo de suspensão ou hibernação é justificado por motivos de segurança, considere cuidadosamente para quais usuários essa política precisa ser aplicada. É improvável que seja 100% dos funcionários; em vez disso – aqueles que trabalham com informações críticas. Você deve explicar a eles que senhas e outros dados podem ser roubados de várias maneiras, então medidas como “use um antivírus” e “evite tais e tais sites” não são suficientes para evitar incidentes graves de segurança.
É uma boa ideia dizer algumas palavras sobre cada medida de segurança – explicando sua finalidade aos funcionários. A criptografia total de disco oferece proteção contra a simples cópia de dados de um computador esquecido ou roubado, bem como contra os ataques – ou seja, um estranho com acesso físico à máquina. Desativar a suspensão e a hibernação reforça essas salvaguardas, portanto, os cinco minutos extras necessários para ligar e desligar o computador ajudarão a garantir que o funcionário não seja o bode expiatório se sua senha for usada em um ataque cibernético.








