Contexto / Cenário
Os utilizadores da “EMPRESA1” que usam computadores com o Windows 11 e Google Chrome, acedem a diversos serviços e aplicações através do Google Chrome. Como receberam instruções para nunca usarem a mesma password para as diversas contas que usam a nível profissional, grande parte dos utilizadores começou a guardar as diferentes passwords no próprio Google Chrome, uma vez que este browser dispõe desta funcionalidade. Assim, os utilizadores, não necessitam de memorizar as diferentes passwords criadas, uma vez que elas estão disponíveis no Google Chrome cada vez que são necessárias, bastando ao utilizador escolher a combinação utilizador/password correcta para determinado website.
Ao olhar para esta solução a “EMPRESA1” acredita que as diversas passwords dos seus utilizadores se encontram de facto mais seguras, pois o próprio Google Chrome sugeriu aos utilizadores passwords complexas aquando da sua criação, o que garante que não são usadas passwords comuns sujeitas a ataques de “brute force”. Segundo a “EMPRESA1” acresce que a gestão destas passwords só é possível ser realizada com a autenticação windows do próprio utilizador no Google Chrome, o que significa que só o próprio utilizador tem acesso às suas passwords garantindo assim a confidencialidade e privacidade das mesmas.
Riscos
Para encriptar as passwords o Google Chrome usa o algoritmo de encriptação AES – Advanced Encryption Standard. Este algoritmo é extremamente poderoso e diria praticamente 100% seguro. No entanto, como em muitas outros tópicos da cibersegurança, não dependemos somente da tecnologia em si, mas também de como essa mesma tecnologia é implementada no mundo real. O AES é um algoritmo de chave simétrica, o que significa que a chave de encriptação também é usada para a desencriptação. Quando se implementa este tipo de algoritmos de encriptação uma das principais preocupações é o manuseamento da chave de encriptação. Esta deverá estar disponível apenas em lugares “escondidos” de memoria e não acessíveis de forma transparente para garantir toda a protecção fornecida pelo próprio algoritmo.
A grande vulnerabilidade do Google Chrome enquanto gestor de passwords é que a chave de encriptação usada para cifrar as passwords está acessível de forma muito fácil no próprio disco do computador do utilizador. Para além disso as próprias passwords cifradas (encriptadas) estão também acessíveis da mesma forma. Tendo isto em consideração existem diversos utilitários que pegam nestes dois “ingredientes” e executam a desencriptação das passwords guardadas no Google Chrome.
Abaixo podemos ver um caso onde um script em Python é utilizado para desencriptar uma password guardada no Google Chrome.
Detalhes Técnicos
Para pode executar a acção de desencriptação mostrada anteriormente foi usado um script em Python que usa a vulberabilidade do Google Chrome ter acessivel quer a chave simetrica do AES quer as passwords encriptadas. Esse dados estão guardados nas seguintes directorias:
Chave simetrica de encriptação: C:\Users\<Usename>\AppData\Local\Google\Chrome\User Data\Local State
Passwords encriptadas: C:\Users\<PC Name>\AppData\Local\Google\Chrome\User Data\Default\Login Data
Script e mais documentação: https://github.com/ohyicong/decrypt-chrome-passwords/tree/main?tab=readme-ov-file
Soluções / Mitigações
O Google Chrome (e qualquer outro browser) não deve ser usado como gestor de passwords. Estes tipos de soluções não são desenhadas nativamente para esse fim e geralmente apresentam vulnerabilidades altas. É recomendável o uso de gestores de passwords dedicados. Existem vários gestores de passwords no mercado que asseguram um bom nível de protecção.
O que também nunca deve acontecer é os utilizadores terem as passwords guardadas em cadernos de notas, ou documentos office, ainda que protegidos por password eles próprios.
Para mais informações sobre este ou outro qualquer tema contactar: [email protected]