Ao longo do último mês, alguns apps de iOS ficaram sob os holofotes por falhas de segurança e rastreamento de iPhones. Agora é a vez do Facebook, embora o problema em questão se aplique a muitas outras redes sociais, como LinkedIn e Dropbox, e a apps que usam esses sites para autenticar usuários no iOS.
O pesquisador de segurança Gareth Wright descobriu que o app do Facebook para iOS guarda tokens de autenticação em um arquivo de texto simples. Esses tokens equivalem à senha que você usa para entrar.
Guardar tokens de autenticação em um backup não é necessariamente uma má ideia. Afinal, se você precisa restaurar o telefone a partir de um backup, é bom ver tudo conectado como estava, e o token é necessário para isso. Dá para ver como isso funciona na implementação atual do Facebook:
- Entre no app do Facebook no seu iPhone e faça backup com o iTunes
- Saia do app do Facebook no seu iPhone (vá até a parte de baixo do menu à esquerda e clique em
Settings→Log Out - Restaure o backup do iTunes no seu telefone
Você vai ver que está conectado de novo. Prático.
De boas intenções o inferno está cheio
O fato de o Facebook guardar o token de autenticação no backup não é o principal problema. O maior problema é que o token não é criptografado, não tem nenhum elemento específico do dispositivo e não tem limite de tempo. Isso significa que alguém poderia tirar o arquivo do seu backup e importá-lo para o próprio aparelho. Em termos simples, qualquer pessoa que consiga acessar esse arquivo pode ter acesso total à sua conta do Facebook e usá-la para roubar sua identidade ou monitorar suas atividades.
Além disso, muitos apps e serviços de terceiros usam o Facebook como serviço de autenticação. Se um hacker já estiver conectado à sua conta do Facebook, ele também poderia acessar esses serviços por meio dela.
O Facebook respondeu a agências de notícias com o comentário a seguir, embora pareça omitir a probabilidade de invasão por meio de backups sem proteção, que consideramos o método mais fácil.
Facebook’s iOS and Android applications are only intended for use with the manufacture provided operating system, and access tokens are only vulnerable if they have modified their mobile OS (i.e. jailbroken iOS or modded Android) or have granted a malicious actor access to the physical device. We develop and test our application on an unmodified version of mobile operating systems and rely on the native protections as a foundation for development, deployment and security, all of which is compromised on a jailbroken device. As Apple states, “unauthorized modification of iOS could allow hackers to steal personal information ... or introduce malware or viruses.” To protect themselves we recommend all users abstain from modifying their mobile OS to prevent any application instability or security issues.
Você deveria se preocupar? Para obter esse arquivo, a pessoa precisa ter acesso físico ao seu dispositivo iOS ou a um PC com um backup armazenado sem criptografia. Um hacker casual talvez não tenha acesso a nenhum dos dois, mas um hacker determinado pode conseguir arranjar esse acesso.
Está claro que empresas que publicam apps, como o Facebook, poderiam se ajudar com as seguintes medidas:
- Aplicar criptografia adicional aos tokens de autenticação no backup
- Garantir que os tokens tenham um elemento específico do dispositivo, para que não possam ser usados em outros aparelhos
- Definir uma data de validade próxima para os tokens
- Avisar os usuários sobre novos logins em um serviço feitos a partir de tokens restaurados
Quer examinar o seu próprio token de autenticação do Facebook?

O iPhone Backup Extractor lendo o token de autenticação do Facebook
Você pode fazer isso usando o iPhone Backup Extractor e acessando o seu backup no “Expert Mode”. Você não conseguirá ler os dados nem usá-los para entrar no Facebook a menos que saiba o que está fazendo, e deixamos de publicar como fazer isso por motivos de segurança, mas não é preciso muito para descobrir.




