São Paulo - O Facebook pagou, nesta última semana, a maior recompensa da história da rede social a um ?caçador de bugs?: 33,5 mil dólares, ou cerca de 80 mil reais. O premiado foi o mineiro Reginaldo Silva, engenheiro da computação de 27 anos, que encontrou uma brecha de segurança que permitia a execução de códigos remota afetando os servidores do site.
A premiação vem por meio do programa Facebook Bug Bounty, inaugurado pela rede social em novembro passado. Silva reportou à empresa todo o procedimento feito até chegar à falha, que foi logo corrigida pelos engenheiros do próprio site ? todo o longo processo, aliás, você pode conferir aqui. O valor entregue ao brasileiro foi definido de acordo com a gravidade da brecha ? e pela alta soma, dá para imaginar o estrago que o bug poderia causar se tivesse sido descoberto por um cracker.
Hoje residente em São José dos Campos (SP), o mineiro formado pelo Instituto Tecnológico da Aeronáutica (ITA) falou a INFO sobre sua carreira como especialista em segurança da informação e caçador de bugs ? e ainda dá algumas dicas para quem quer começar na área.
Primeiro, quando você começou a se interessar e a procurar por bugs de segurança pela internet? E qual foi o primeiro que encontrou?
Eu me interesso por segurança da informação já há 10 anos, e meio que decidi fazer carreira nessa área. A primeira falha que encontrei pela internet foi em um framework para programação Web em Java, chamado Play Framework. O processo para isso é sempre o mesmo: ler o código fonte do software pacientemente, enumerar os problemas ? por mais simples que sejam ? e ver as maneiras pelas quais eles podem ser explorados. Mas quando o código fonte não está disponível, é na base da tentativa e erro mesmo.
Até hoje, quantas falhas já achou? Todas renderam algum tipo de recompensa?
Estimo que algumas centenas, somando os bugs que acho atuando profissionalmente e os de vários programas de recompensa ao redor da internet. Procuro bastante por falhas também em software de código livre, então muitas das que acho não rendem nenhuma recompensa financeira imediata. A principal é mesmo ter o trabalho reconhecido e saber que estou contribuindo para uma internet mais segura. E como também atuo como consultor, a notoriedade gerada pela associação do meu nome à descoberta de falhas importantes ajuda a atrair clientes.
Antes de receber essa recompensa do Facebook, você já havia parado até em um hall da fama do Google. Como isso aconteceu?
O Google mantém um "hall da fama" que lista os pesquisadores que mais relataram falhas de segurança à empresa. Como reportei alguns problemas ao longo de 2012 e 2013, acabei indo parar nessa lista. [A tabela foi criada em novembro 2010, junto do programa de recompensas do Google. Ela é atualizada de três a quatro vezes por ano, e Reginaldo Silva não é o único brasileiro na lista.]
Não foi o primeiro que encontrou na rede social, mas a falha com o maior impacto. Na verdade, achar uma brecha grave, que possibilitaria a invasão no site de uma grande empresa é o objetivo de todo profissional na área de segurança, e estou sempre tentando fazer isso.
Achei o problema quando estava testando a segurança da parte do site que é utilizada quando o usuário esqueceu a senha. Suspeitei que o Facebook pudesse estar vulnerável a uma falha semelhante a outra que eu já tinha descoberto em 2012, quando estava a segurança do Drupal, o gerenciador de conteúdo de código aberto.
A falha permitia ler arquivos internos do servidor do Facebook, e com ela em mãos, pensei em um cenário que poderia ser utilizado para concretizar a invasão ? ou seja, o comprometimento total dos servidores da empresa. Como não tinha permissão para testá-la, apenas relatei o que tinha descoberto ao time de segurança do Facebook, que confirmou minha teoria. [O relato completo de Silva está disponível em sua pessoal, em inglês.]
A alguém que queira começar a caçar bugs ou mesmo uma carreira em segurança de informação, o que você recomenda?
Há muito material, principalmente em inglês. Para segurança na web, recomendo os livros ?The Tangled Web?, de Michal Zalewski, e ?The Web Application Hacker?s Handbook?, de Dafydd Stuttard e Marcus Pinto. Uma abordagem sistemática sobre análise de código está no livro ?The Art of Software Security Assessment?, considerado por muitos a bíblia da área. Além dos livros, leio muitos blogs de segurança, tanto de empresa quanto de desenvolvedores e pesquisadores.
Mas a melhor forma mesmo é acompanhar as falhas de segurança nas páginas dos próprios frameworks e software, olhas os commits que consertam as falhas e tentar explorá-las. Além disso, também vale ver uma falha e pensar: ?Onde será que vou achar outro problema desse tipo??.
E além do procedimento padrão, de ler o código fonte atentamente e enumerar problemas, você usar alguma ferramenta em especial no trabalho?
Meu editor favorito é o GNU Emacs, que posso personalizar do jeito que eu gosto. No dia a dia, utilizo muito uma ferramenta chamada Burp Suite, para pausar e modificar as requisições feitas aos servidores web. Mas a verdade é que passo grande parte do tempo na linha de comando, utilizando as ferramentas Unix padrão. Grip, Sed, Awk, Curl, etc... Sou mais rápido na linha de comando do que em uma interface gráfica, para ser sincero.