Uma falha na programação do Facebook, apontada por um brasileiro, resultou na maior recompensa já paga pela rede social, o valor total foi US$ 33,5 mil (cerca de R$ 80 mil).
O engenheiro Reginaldo Silva, participante do programa “Facebook Bug Bounty” (Caçadores de Erros do Facebook), encontrou uma vulnerabilidade nas entidades externas, que se não controladas poderiam permitir a leitura de arquivos arbitrários, colocando em risco os dados dos usuários.
Se usada por um hacker, a brecha poderia ter permitido a obtenção do controle do servidor, violando o código fonte da rede social e possivelmente as informações dos usuários armazenadas no banco de dados do Facebook, que não é disponibilizado publicamente.
O problema identificado por Silva estava no código responsável pela integração do Facebook com o OpenID, um padrão de internet que permite que a senha do Google, por exemplo, seja usada para fazer login em outros sites.
Como o OpenID é normatizado, qualquer fornecedor de serviços de internet pode criar seu próprio serviço de OpenID, permitindo que a conta do seu site seja usada em outros endereços compatíveis com OpenID. Dessa maneira, usuários não precisariam se cadastrar em cada site visitado.
O Facebook exige uma conta própria, mas na função “esqueci minha senha” ainda é possível usar o OpenID. A partir da rede social, um usuário pode fazer login em uma conta do Google e confirmar que um endereço do Gmail pertence a ele, iniciando assim o procedimento de recuperação da senha.
Silva já havia encontrado em 2012 uma vulnerabilidade que atingia diversos códigos usados para tornar um site compatível com OpenID. A brecha consiste em convencer o endereço a se conectar a um servidor OpenID controlado pelo invasor. Esse servidor malicioso pode, então, enviar comandos para ler arquivos que existem no servidor do site.
Em uma página contando sua história, Silva conta que teve dificuldades para descobrir essa falha. Eventualmente, o especialista encontrou uma maneira, e, com isso, conseguiu ler o arquivo do servidor do Facebook onde as senhas do computador ficavam armazenadas.
O brasileiro então explicou sua teoria de ataque aos engenheiros do Facebook, que confirmaram a validade da mesma. Com isso, Silva foi pago por uma brecha de “execução remota de código“. Em outras palavras, a invasão do sistema.
“Sabíamos que queríamos pagar bastante, então fizemos uma média com valores recomendados por um grupo dos administradores do programa de recompensa por falhas”, explicou o Facebook em uma publicação sobre o valor pago a Silva.
De acordo com a rede social, o problema já foi solucionado.