O Facebook armazena tokens de autenticação inseguros nos backups do iPhone
Durante o último mês, mais ou menos, um punhado de aplicativos para iOS esteve sob os holofotes no que diz respeito às fraquezas de segurança e ao rastreamento do iPhone . Agora é a vez do Facebook, embora o problema em questão se aplique a muitos outros sites de redes sociais, como LinkedIn, Dropbox e aplicativos que usam esses sites para autenticar usuários no iOS.
O pesquisador de segurança Gareth Wright descobriu que o aplicativo iOS do Facebook mantém os tokens de autenticação em um arquivo de texto simples. Esses tokens são equivalentes à senha que você usa para fazer login.
Armazenar tokens de autenticação em um backup não é necessariamente uma má ideia. Afinal, se você precisar restaurar o telefone a partir de um backup, é bom ver tudo conectado como estava, e o token é necessário para fazer isso. Você pode ver como isso funciona com a implementação atual do Facebook:
- Faça login no aplicativo do Facebook no seu iPhone e faça backup com o iTunes
- Saia do aplicativo do Facebook no seu iPhone (vá para a parte inferior do menu esquerdo e clique em
Settings
→Log Out
- Restaure o backup do iTunes para o seu telefone
Você verá que está logado novamente.
O caminho para o inferno é pavimentado com boas intenções
Se o Facebook armazena seu token de autenticação no backup não é o principal problema. O maior problema aqui é que o token não é criptografado , não possui um elemento específico do dispositivo e não é limitado por tempo . Isso significa que alguém pode extrair o arquivo do seu backup e importá-lo para o seu próprio dispositivo. Em termos simples, qualquer pessoa que possa acessar esse arquivo pode ter acesso total à sua conta do Facebook e usá-lo para roubar sua identidade ou rastrear sua atividade.
Além disso, muitos aplicativos e serviços de terceiros usam o Facebook como um serviço de autenticação. Se um hacker já estiver conectado à sua conta do Facebook, ele também poderá acessar esses serviços usando-o.
O Facebook respondeu às agências de notícias com o seguinte comentário, embora elas pareçam omitir a probabilidade de hackers de backup inseguros, que achamos ser o método mais fácil.
Os aplicativos iOS e Android do Facebook destinam-se apenas ao uso com o sistema operacional fornecido pela manufatura, e os tokens de acesso só são vulneráveis se tiverem modificado seu SO móvel (por exemplo, iOS com jailbreak ou Android modificado) ou concedido um acesso malicioso a um ator ao dispositivo físico. Desenvolvemos e testamos nosso aplicativo em uma versão não modificada de sistemas operacionais móveis e contamos com as proteções nativas como base para desenvolvimento, implantação e segurança, tudo comprometido em um dispositivo com jailbreak. Como afirma a Apple, "a modificação não autorizada do iOS pode permitir que hackers roubem informações pessoais ... ou introduzam malware ou vírus". Para se proteger, recomendamos que todos os usuários se abstenham de modificar seu SO móvel para evitar qualquer instabilidade no aplicativo ou problemas de segurança.
Você deveria estar preocupado? Para obter esse arquivo, a pessoa deve ter acesso físico ao seu dispositivo iOS ou a um PC com um backup armazenado não criptografado. Um hacker casual pode não ter acesso a eles, mas um determinado pode ser capaz de organizar esse acesso.
Claramente, editores de aplicativos como o Facebook poderiam se ajudar com o seguinte:
- Aplicar criptografia adicional aos tokens de autenticação no backup
- Verifique se os tokens possuem um elemento específico do dispositivo para que não possam ser usados em outros dispositivos
- Defina os tokens para uma data de validade em um futuro próximo
- Alertar os usuários para novos logins em um serviço a partir de tokens restaurados
Deseja examinar seu próprio token de autenticação do Facebook?
Você pode fazer isso usando o iPhone Backup Extractor e acessando seu backup no "Modo especialista". Você não poderá ler os dados ou usá-los para entrar no Facebook, a menos que saiba o que está fazendo - e retivemos a publicação de como fazer isso por razões de segurança - mas não é preciso muito para entender.