O governo indiano corrigiu uma vulnerabilidade crítica em seu serviço de carteira de documentos seguros ‘DigiLocker’ que poderia ter permitido o acesso por meio de 3 bilhões de documentos.
Para quem não sabe, o DigiLocker é um serviço online fornecido pelo Ministério de Eletrônica e TI (MeitY), Governo da Índia sob sua iniciativa Digital India.
O DigiLocker fornece uma conta na nuvem para cada portador de Aadhaar para acessar documentos / certificados autênticos, como carteira de motorista, registro de veículo, folha de pontuação acadêmica em formato digital dos emissores originais desses certificados.
Ele também fornece 1 GB de espaço de armazenamento para cada conta para fazer upload de cópias digitalizadas de documentos legados. O serviço tem mais de 38 milhões de usuários cadastrados.
O problema foi descoberto pela primeira vez por Mohesh Mohan, especialista sênior em segurança do governo inteligente de Dubai. De acordo com Mohan, a falha poderia ter permitido que um invasor remoto contornasse as senhas únicas (OTP) móveis e fizesse login como outros usuários para acessar os documentos confidenciais armazenados na carteira de qualquer usuário.
“A função OTP carece de autorização, o que torna possível realizar a validação OTP com o envio de quaisquer detalhes de usuários válidos e, em seguida, o fluxo de manipulação para entrar como um usuário totalmente diferente”, escreveu Mohan em uma postagem de blog detalhando suas descobertas.
De acordo com Mohan, um invasor pode acessar sem autorização qualquer conta DigiLocker usando o ID Aadhaar da vítima ou o número de celular ou nome de usuário associado. Isso faz com que o serviço envie uma OTP e, subsequentemente, explore a falha para ignorar o processo de login.
O pesquisador também apontou que a versão do aplicativo móvel do DigiLocker usa um 4PIN de dígitos para uma camada extra de segurança. No entanto, ele descobriu que era possível modificar as chamadas de API para autenticar o PIN vinculando o PIN a outro usuário (identificado com uma versão5 UUID) e acessar com sucesso a conta da vítima.
Isso significa que “você pode fazer o SMS OTP [verification] como um usuário e envie o pin de um segundo usuário e, finalmente, você acabará se conectando como o segundo usuário ”, disse Mohan ao The Hacker News.
Além disso, devido ao mecanismo de sessão pobre implementado para proteger as APIs, isso implica que a API pode ser explorada para redefinir o PIN vinculado a um usuário aleatório usando o UUID do indivíduo.
“Observou-se que as chamadas de API do celular estavam usando autenticação básica para buscar dados ou fazer transações. Todas as chamadas de celular têm um sinalizador de cabeçalho is_encrypted: 1 que denota que o usuário deve enviar as credenciais (user_uuid: secret_pin) no formato de autenticação básico criptografado com Algoritmo: AES / CBC / PKCS5Padding com chave We4c4HYS5eagYdshfEP2KY27KwkjaZNH”, Continua a postagem do blog.
“No entanto, verificou-se que a mesma API pode ser acessada com a remoção do is_encrypted: 1 sinalizar e enviar as credenciais no formato de autenticação básico (user_uuid: secret_pin). ”
O pesquisador também encontrou um mecanismo de pinning SSL fraco, o que facilita o bypass com ferramentas como Frida e técnicas conhecidas.
Mohan relatou as falhas à Equipe Indiana de Resposta a Emergências em Computadores (CERT-In) em 10 de maio, que foi corrigido pela agência cibernética em 28 de maio.
“A natureza da vulnerabilidade era tal que a conta DigiLocker de um indivíduo poderia ser comprometida se o invasor soubesse o nome de usuário dessa conta em particular”, disse Digilocker em um tweet na semana passada, confirmando a falha. “Não era uma vulnerabilidade que permitia que qualquer pessoa tivesse acesso a [the] Conta DigiLocker de qualquer pessoa cujo nome de usuário e outros detalhes não sejam conhecidos.
“Após a análise, foi descoberto que essa vulnerabilidade havia se infiltrado no código quando alguns novos recursos foram adicionados recentemente. A vulnerabilidade foi corrigida com prioridade pela equipe técnica um dia após receber o alerta do CERT-In. Este não foi um ataque à infraestrutura e nenhum dado, banco de dados, armazenamento ou criptografia foi comprometido ”, acrescentou a equipe.
Curiosamente, durante a mesma semana em que Mohan descobriu a falha, outro pesquisador de recompensas de bugs, Ashish Gahlot, também encontrou os mesmos problemas independentemente e os relatou ao CERT-In.