1 pontos por GN⁺ 2 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • O Microsoft Edge descriptografa todas as senhas salvas na inicialização e mantém essas credenciais em texto puro na memória do processo
  • Esse comportamento ocorre mesmo que o usuário não visite nenhum site que use essas credenciais
  • A interface do Password Manager do Edge exige reautenticação antes de exibir a mesma senha, mas o processo do navegador já mantém todas as senhas em texto puro
  • Entre os navegadores baseados em Chromium testados, apenas o Edge se comportou dessa forma; o Chrome é projetado para dificultar a simples leitura e extração das senhas salvas a partir da memória do processo
  • O Chrome só descriptografa as credenciais quando elas são necessárias e, com o App-Bound Encryption (ABE), vincula a descriptografia a um processo autenticado do Chrome, impedindo que outros processos reutilizem a chave de criptografia do Chrome
  • Com esse controle, senhas em texto puro aparecem por pouco tempo apenas durante o preenchimento automático ou quando o usuário as visualiza manualmente, reduzindo a eficácia de raspagens amplas de memória

Cenários de risco e estado da divulgação

  • Em ambientes compartilhados, o risco de manter senhas em texto puro na memória aumenta
  • Se um invasor obtiver privilégios de administrador em um servidor de terminal, poderá acessar a memória dos processos de todos os usuários logados
  • Na demonstração, um invasor que comprometeu uma conta de usuário com privilégios de administrador conseguiu ver as credenciais salvas no Edge de outros dois usuários logados ou desconectados cujo Edge estava em execução
  • Esse comportamento foi reportado à Microsoft, e a resposta oficial foi que ele era “by design
  • Foi informado à Microsoft que isso seria compartilhado como divulgação responsável para que usuários e organizações possam avaliar como gerenciam credenciais
  • Na quarta-feira, 29 de abril, esse conteúdo foi apresentado no BigBiteOfTech, da Palo Alto Networks Norway, com a demonstração de uma ferramenta simples para verificar facilmente se senhas estão armazenadas em texto puro na memória
  • A ferramenta de prova de conceito foi publicada no GitHub, e o autor está recebendo feedback por ainda não ter muita experiência com C# e publicação no GitHub: EdgeSavedPasswordsDumper

1 comentários

 
GN⁺ 2 시간 전
Comentários do Hacker News
  • Isso parece mais um caso de já estarmos do outro lado da escotilha estanque. Se é possível ler a memória de um processo arbitrário, provavelmente também dá para simplesmente despejar as senhas se passando por aquele usuário
    Se um invasor obtiver privilégios de administrador em um servidor de terminal, ele pode acessar a memória dos processos de todos os usuários logados e, com privilégios de administrador, também poderia anexar um depurador a todos os processos do Chrome e forçar a descriptografia das senhas
    A diferença prática seria algo como um ataque de cold boot, e mesmo aí não está claro se isso só facilita um pouco o ataque ou se viabiliza algo que antes era impossível
    [1] https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...
    • Essa lógica se encaixa perfeitamente no modelo de ameaças do Chromium. No momento em que o invasor obtém privilégios de administrador, por definição já era
      Parece improvável que seja um problema só do Edge, e não há motivo para a Microsoft tornar o navegador menos seguro que o projeto upstream
      O Chrome considera ataques fisicamente locais fora do seu modelo de ameaças, entendendo que, se alguém já entrou na minha máquina logado como eu ou pode executar software com as permissões do meu usuário no sistema operacional, não há como o Chrome nem qualquer outro app se defender
      Esse tipo de atacante pode modificar executáveis e DLLs, alterar variáveis de ambiente como PATH, mudar arquivos de configuração, ler dados da conta do usuário e exfiltrá-los, então a posição é que não existe garantia prática de defesa que o Chrome possa oferecer
      https://chromium.googlesource.com/chromium/src/+/148.0.7778....
    • Nos últimos anos houve vulnerabilidades de navegador que permitiam leitura arbitrária de memória apenas com permissões de usuário comuns, embora fossem lentas ou não dessem controle total sobre a posição. Apagar credenciais o mais rápido possível após o uso parece uma medida preventiva bastante razoável, nem que seja só mais uma camada de proteção
    • Segurança não é preto no branco. Há gradações claras, como deixar um post-it com as credenciais colado no monitor ser obviamente mais arriscado do que guardá-lo em uma gaveta destrancada
    • Do ponto de vista do usuário, é preciso primeiro fazer login com autenticação biométrica toda vez que se quer colar uma senha, mas mesmo assim qualquer processo do usuário pode pescar a senha da memória?
      Não sei o que estou deixando passar
    • Já esqueceram do Cloudbleed?
      [0] https://en.wikipedia.org/wiki/Cloudbleed
  • Para referência, o Google explica que o Chrome armazena as senhas na memória de forma criptografada e usa um serviço com elevação de privilégios para impedir que outros processos finjam ser o Chrome e acessem as senhas em texto puro: https://security.googleblog.com/2024/07/improving-security-o...
  • Para ser claro, um dos vetores de ataque possíveis é o cenário em que você vai ao banheiro por 5 minutos sem bloquear o computador e um invasor malicioso despeja todas as senhas antes de você voltar
    Acho que isso vale a pena considerar. Há um motivo para gerenciadores de senha pedirem novamente a senha mestra ou a passkey depois de 10 minutos
    Como eu achava que o Chrome dependia de uma área segura criptografada, eu considerava que mesmo com acesso root seria bem difícil extrair as senhas com facilidade
    Claro, você não deve deixar o computador sem supervisão. Mas isso não significa que seja aceitável projetar um produto de forma que um erro inevitável possa ser explorado de maneira catastrófica com facilidade
  • Essa ferramenta acessa uma instância do Edge em execução na mesma máquina? Se sim, então não seria o caso de simplesmente exportar as senhas salvas?
    https://support.microsoft.com/en-us/topic/export-passwords-i...
    • Gerenciadores de senha muitas vezes fazem um esforço considerável para manter as senhas seguras na memória, mas com frequência o modelo de ataque dessas ferramentas não é bem compreendido
      Por exemplo, ferramentas como o KeePass se preocupam bastante em registrar plug-ins de navegador, mas com permissões normais de usuário já dá para extrair a chave do navegador e fazer o que quiser
      Abordagens de apps web como “confiar neste navegador” também parecem estranhas se o armazenamento de cookies puder ser lido com facilidade
  • Parece que seria possível fazer algo parecido com o PAM no Linux. Bastaria anexar o gdb ao processo de login do openssh ou do getty
  • Existe um link para o código-fonte desse .exe? Gostaria de ver como ele faz a extração
  • O verdadeiro erro é ainda usar autenticação por senha simples. Deveríamos usar challenge-response ou autenticação por chave pública
  • Para ser justo, carregar na memória e armazenar não são exatamente a mesma coisa
    • O título diz “armazenar na memória”, e para mim isso soa quase como a mesma coisa. Você pode explicar como vê a diferença entre “carregar” e “armazenar” na memória?
  • Corrijam-me se eu estiver errado, mas o Chrome também mantinha senhas em texto puro no Windows, ou pelo menos fazia isso no passado. Em 2021 consegui recuperar a senha esquecida de um amigo a partir do Chrome
    • Faz alguns anos, mas lembro de ver desenvolvedores do Google discutindo isso e dizendo que, se alguém tem acesso ao sistema de arquivos local, então já era
    • O Chrome adicionou criptografia vinculada ao app ao arquivo de cookies em 2024