Um pesquisador de segurança fez uma descoberta chocante: com apenas quatro linhas de código, ele diz que poderia excluir qualquer álbum de imagens no Facebook. As fotos do casamento de Mark Zuckerberg? Sim. Suas lembranças de cinco anos atrás? Também. Em vez de tocar o terror, ele decidiu relatar o bug para o Facebook, que prontamente lhe pagou uma recompensa.

Laxman Muthiyah, o pesquisador em questão, diz que estava mexendo com a Graph API do Facebook, quando se perguntou: “e se suas fotos fossem apagadas sem o seu conhecimento? Obviamente isso seria terrível, não é?” Então claro que ele tentou descobrir como fazer isso. E nem foi tão difícil, pelo que ele diz:

Eu decidi tentar isso com o token de acesso para o Facebook móvel, porque podemos ver a opção para excluir todos os álbuns de fotos no aplicativo móvel do Facebook, não é? Sim, e ele também usa a mesma Graph API. Então eu peguei o código numérico de um álbum e um dos meus tokens de acesso do Facebook para Android, e tentei fazer isso.

Um token de acesso é uma sequência de caracteres que permite a um aplicativo obter acesso a um perfil de usuário. Por exemplo, quando você faz login em um jogo com o seu perfil no Facebook, a rede social gera um token de acesso exclusivo para esta tarefa.

Laxman usou um token para o app do Facebook no Android, e um código numérico aleatório para um álbum de fotos – aquela sequência de números que aparece na URL de qualquer álbum. Isso aparece abaixo, depois do comando “DELETE /”.

Assim era a chamada de API para apagar álbuns; são apenas estas quatro linhas de código:

Request :-

DELETE /518171421550249 HTTP/1.1
Host: graph.facebook.com
Content-Length: 245
access_token=(uma sequência enorme de letras e números)

E foi isso que os servidores do Facebook responderam:

Response :-

true

Em outras palavras: álbum excluído. Você pode ver Laxman executando o hack e tentando visualizar o álbum após a chamada de API:

O álbum realmente desapareceu. Como aponta o blog Naked Security, Laxman poderia ter causado uma série de prejuízos com o que descobriu. Os números de identificação dos álbuns são sequenciais, então ele poderia ter criado um bot para eliminar sistematicamente os álbuns de todo mundo.

Ou ele poderia ter feito o Facebook de refém, a fim de obter uma grande recompensa. Do Naked Security: “ele poderia ter mantido a descoberta em segredo (dando a alguém menos íntegro a chance de encontrá-la), contratar uma empresa de relações públicas e dar um nome chique para a falha”. É como o Heartbleed – ou talvez Facebleed, neste caso.

A equipe de segurança do Facebook deveria evitar que os dados dos usuários ficassem inseguros assim. No entanto, mesmo a checagem de bugs mais robusta não vê tudo. É por isso que o Facebook tem um sistema de recompensas para bugs. A recompensa mínima é de US$ 500, e não existe recompensa máxima: “cada erro recebe uma gratificação de acordo com sua gravidade e criatividade”, diz a rede social.

Laxman diz que informou o bug para o Facebook, e a empresa o consertou em duas horas. Adivinha quanto o Facebook pagou para ele? US$ 12.500. Eles deviam colocar mais um zero no final desse valor, e contratar Laxman para sua equipe de segurança. Eles obviamente precisam da ajuda extra. [7xter via Naked Security]

GIF por Adam Clark Estes