Falha do SDK do Facebook deixa vulneráveis utilizadores de Apps
Aplicações para Android e iOS estão afectadas por este problema
Os mecanismos de autenticação que o Facebook ou o Google+ disponibilizam facilitam de sobre maneira a tarefa dos programadores. São mecanismos que garantem a autenticidade dos utilizadores e retiram a necessidade de implementar mecanismos de autenticação próprios.
A responsabilidade de manter estes mecanismos é das redes que os disponibilizam e associado a isso estão também os problemas de segurança.
Segundo foi agora descoberto, existe uma falha grave no SDK do Facebook, o que pode levar a que qualquer um possa aceder às chaves privadas de autenticação de qualquer utilizador numa aplicação ou serviço web.
É através da utilização da SDK do Facebook que a maioria das aplicações móveis, quer seja para iOS ou para Android, garantem os processos de autenticação nos mais diversos serviços.
Este serviço que a maior rede social providencia garante que os mecanismos de autenticação são realizados e que é transmitida para o serviço a resposta de autenticação do utilizador, garantindo que este se autenticou de forma correcta.
Ao usar estes mecanismos é garantido que o utilizador não revela a sua palavra passe e que é enviado um token de autorização para o serviço ou aplicação que requereu essa autenticação.
Foi agora descoberto que este mecanismo tem uma falha de segurança muito grave, que permite que qualquer utilizador ou aplicação tenha acesso a esse token e que posteriormente possa aceder aos dados do utilizador e/ou ao próprio serviço em que foi usado.
Este problema foi detectado e reportado por uma equipa de investigadores de segurança da MetaIntell. Estes conseguiram descobrir que estes token estão a ser guardados de forma não cifrada e numa localização específica do sistema de ficheiros do Android e do iOS, que podem ser acedidos em poucos segundos.
With just 5 seconds of USB connectivity, Access token is available on iOS via juice jacking attack, no jailbreak needed and on Android file system, it can be accessed via recovery mode which is tricker and require more time.
Mas o problema é bem maior porque para além de ser possível o acesso a esses tokens de forma física, com acesso aos equipamentos, qualquer outra aplicação que tenha acesso ao sistema de ficheiros pode facilmente ter também acesso a essa chave e enviá-la para um ponto central, de onde depois pode ser explorada para acesso aos dados do utilizador num determinado serviços.
Este problema não afecta algumas aplicações pontuais, mas sim todas as que recorram à autenticação fornecida pelo Facebook e que registem localmente, no sistema de ficheiros do SO, as chaves de acesso.
Claro que este problema foi de imediato reportado ao Facebook e à sua equipa de segurança, que responderam de forma muito lacónica e sem que tenham identificado este como um problema a ser resolvido.
I followed up with our Platform team to see if there were any changes they wanted to make here:
- On the Android side we've concluded that we will not be making any changes: we are comfortable with the level of security provided by the Android OS.
- On the iOS side the team is exploring the possibility of moving the access token storage to the keychain in order to comply with best practices.
O vídeo abaixo mostra a forma como este bug pode ser explorado, usando a ultima versão do Viber para iOS para obter o token que depois dá acesso aos dados e à possibilidade de publicar conteúdo em nome do utilizador.
A solução que para já existe, e tendo em conta a forma como o Facebook reagiu, passa por evitar ao máximo a utilização da autenticação pelo Facebook nas aplicações móveis e por remover o acesso de aplicações móveis neste serviço.
Quanto aos programadores devem optar por guardar esses tokens fora do sistema de ficheiros dos sistemas operativos, colocando-os em serviços Cloud e de preferência com comunicação cifrada.
Este é mais um problema que deve ficar sem resolução para breve e que é grave para todos os que usam estes sistemas para se autenticar nas aplicações e/ou serviços que estão disponíveis nas lojas de aplicações dos sistemas operativos móveis.
Este artigo tem mais de um ano
Tal como o acesso às passwords guardadas nos browsers, que agora são mostradas claramente no Chrome sem necessidade de qualquer hack, é pratica corrente e infelizmente aceite por todos que o acesso físico a um device implica a exposição total das contas nele contidas.
Penso ser exactamente o mesmo nesse caso e o Facebook respondeu por isso que apenas vai mover o local para um mais seguro, apesar de esse onde está outras aplicações não terem acesso a não ser… que o telemóvel esteja jailbreaked! Nesse caso têm!
Tendo acesso físico ao teu computador custa-me zero obter qualquer cookie de autenticação que tenhas armazenado no teu browser. Lembra-te que, mesmo acessos por username/password, é efectuado um trade-off entre comodidade ou segurança, e normalmente os utilizadores optam pela comodidade de não andarem constantemente a inserir credenciais.
Enquanto não forem encontrados métodos de autenticação simples e acessíveis para o utilizador mas que não requeiram um armazenamento local de um qualquer token, por mais temporário que seja, este problema haverá sempre.
O que acho ridículo é não terem sequer armazenado os tokens nos locais apropriados… assim se vê a qualidade de quem anda a cuidar do acesso aos nossos dados…
Vou já apagar a minha conta do Facebook por causa disto… ah! Paciência, já tinha apagado antes. Esqueçam.