iOS

Entenda as acusações e a resposta da Apple sobre Backdoors no iOS

iPhone 5s

Você já parou para considerar quais informações uma pessoa pode acessar tendo o seu iPhone ou iPad em mãos? Sem o uso de uma senha o acesso é naturalmente completo, mas com senha ou Touch ID a nossa ideia inicial é que ninguém poderia obter qualquer informação, mesmo tendo o aparelho fisicamente. A ideia está correta, mas existem alguns detalhes técnicos.

Geralmente quando pensamos no acesso físico ao aparelho, pensamos na digitação de uma senha e acesso aos dados como mensagens, calendário, fotos, agenda e outros. Este é o comportamento padrão de uso do aparelho, parecido com o de um computador tradicional. Já ocorreram alguns casos no iOS de, mesmo com senha, um acesso físico com algum truque extra levar a um uso limitado do aparelho tendo acesso a fotos ou contatos, como neste exemplo. No entanto, um acesso físico implica em outras questões como a conexão do aparelho com cabo (USB) e comunicação.

Podemos pensar no caso de um computador tradicional: tendo uma senha, você tem a ideia que os dados contidos no computador estão seguros de qualquer acesso. Na realidade, em geral por padrão a senha só está protegendo do acesso “fácil” às informações. Se uma pessoa com acesso físico ao computador retirar o HD/SSD e ligar a outro computador, os dados tornam-se facilmente acessíveis. Mesmo não sendo simples este processo em computadores novos com SSD embutido, como por exemplo os MacBook Air, uma pessoa poderia também iniciar um sistema operacional por USB e ter o acesso aos dados sem o uso de qualquer senha.

Para solucionar isto, sistemas oferecem meios de criptografar os dados internos que ficam armazenados no computador. Sempre que a criptografia é ativada, a senha é obrigatória e os dados ficam protegidos com uma codificação baseada nesta senha. Repare que o primeiro sempre depende do segundo. Por exemplo, o Mac OS X oferece há muitos anos (desde o Mac OS X 10.3) um recurso chamado FileVault que se encontra nas Preferências do Sistema > Segurança e Privacidade > FileVault. Ao ativar este recurso, mesmo com acesso completo ao seu computador (por exemplo, um roubo, assistência, etc.) não é possível obter qualquer informação sem a senha. Se a senha for esquecida, todos os dados são completamente perdidos, por isto também é oferecida uma chave de recuperação e um backup, opcional e desligado por padrão, diretamente com a Apple.

Sem a senha utilizada no sistema e sem a chave de recuperação os dados estão totalmente protegidos. Nem mesmo a Apple com qualquer nível de suporte pode recuperar os dados, nem mesmo uma ação legal ou determinação legal poderia forçar alguém a acesar os dados. É um recurso que é recomendado por não implicar em degradação de desempenho e ao mesmo tempo reforçar (viabilizar) a segurança e privacidade completa dos dados.

Mas como funciona no iOS? Exatamente igual. Nos aparelhos iPhone 3GS e posteriores, todos os iPads e iPod touch 3ª geração e posteriores existe um mecanismo de criptografia em hardware que foi introduzido no iOS 4. Este mecanismo, chamado Proteção de Dados, é ativado apenas com o uso de uma senha de bloqueio. Você pode observar nos Ajustes > Código (ou Touch ID e Código no iPhone 5s) que, tendo uma senha de bloqueio, aparece a mensagem “A proteção de dados está ativada“.

Proteção de dados

No iOS há uma pequena diferença do exemplo mencionado com o FileVault do Mac: os aplicativos, inclusive da Apple e de terceiros (App Store) precisam “ligar” o uso de proteção de dados explicitamente em seus conteúdos, e no caso do FileVault todo o conteúdo é automaticamente protegido. A opção do iOS de manter como opcional para os desenvolvedores de aplicativos foi provavelmente para economizar bateria e processamento em aparelhos mais antigos, como o iPhone 3GS e iPad 1. Assim é possível que o aplicativo escolha só conteúdos importantes que devam ser protegido através das “classes de proteções”, outros podem ficar “abertos”, mesmo usando senha e com o aparelho bloqueado.

A “classe de proteção” padrão mudou recentemente, no entanto. No iOS 7 passou a ser padrão a proteção dos arquivos, portanto se não é definido explicitamente pelo desenvolvedor um nível de proteção, por padrão ele é para ser criptografado. Talvez você lembre, pois isto é ainda super recente e foi notícia aqui no blog, mas a própria Apple “esqueceu” algo relacionado a proteção no Mail do iOS e lançou a atualização 7.1.2 corrigindo a criptografia de dados.

Mas algo que pode ficar confuso nessa história toda é estarmos falando de arquivos, se no iOS não existem arquivos e ao conectar via USB em um computador todo o gerenciamento (hoje opcional) é feito pelo iTunes. Na realidade, o iTunes faz uma grande simplificação e abstração de algo que, por baixo, são apenas arquivos. Já foi mencionado algumas vezes no blog sobre o PhoneClean, ele é um exemplo de aplicativo que, ao ter um aparelho iOS plugado via USB, pode “varrer” e remover conteúdos não importantes (como arquivos de cache) para aumentar o espaço disponível no aparelho. Assim como ocorre no PhoneClean, outros aplicativos que “conversam” com aparelhos iOS por USB além do iTunes podem vasculhar arquivos normalmente, sem jailbreak ou qualquer alteração no sistema.

Dentro do sistema

Envolvendo a comunicação USB, o sistema iOS tem uma proteção adicional: ele só “conversa” com computadores conhecidos. No iOS 7 foi adicionado o recurso de segurança para “Confiar” em computadores, portanto ao conectar o USB em um computador ele vai primeiro perguntar ao usuário (com o aparelho desbloqueado) se este é um computador “confiável” para só então permitir a comunicação. Antes do iOS 7 esta autorização era automática ao conectar o aparelho com iOS a qualquer computador estando com o aparelho desbloqueado. Esta autorização explícita permite por exemplo que você carregue o seu aparelho em um computador de um amigo, não “confie” neste computador, e não tenha o menor problema de ter os dados acessados mesmo usando o aparelho normalmente.

Esta recurso de “confiança” envolvendo computadores através do USB é interessante também para os “quiosques de smartphones” que estão surgindo em aeroportos e shoppings: você geralmente pluga o seu aparelho e o usa normalmente. Com um iOS 6 ou anterior, alguém poderia usar maliciosamente um “quiosque” desses para capturar todos os dados do aparelho, sem o menor sinal visível para quem está aguardando aquele vôo chato que já está atrasado. No iOS 7 você iria primeiro precisar “autorizar” a comunicação, ou só ficar carregando (recomendado).

Portanto tudo é realmente bem pensado: um aparelho iOS só conversa com um computador via USB quando autorizado, os dados armazenados pelos aplicativos, seja da Apple ou de terceiros, são protegidos com criptografia quando uma senha de bloqueio é usada, e agora no iOS 7 a proteção de dados (classe de proteção) é criptografada por padrão. Realmente trata-se de um ambiente muito seguro.

Palestra técnica

Nesta semana, no entanto, o especialista em segurança e autor Jonathan Zdziarski divulgou em uma palestra técnica em uma conferência hacker, a HOPE/X, algumas informações que imediatamente chamaram a atenção. A palestra tem o chamativo título Identifying Backdoors, Attack Points, and Surveillance Mechanisms in iOS Devices (em português, “Identificando Backdoors, Pontos de Ataque e Métodos de Espionagem em Aparelhos iOS“). Na avaliação técnica, os recursos de segurança mencionados anteriormente podem ser desligados sem qualquer explicação ou documentação oficial. São estranhamente mecanismos “não documentados”.

Quando o assunto envolve espionagem, especialmente após os episódios recentes envolvendo o Snowden que tomaram todos os noticiários do mundo, o tema logo toma grandes proporções e acaba gerando polêmica e notícias desinformadas. Sempre repetindo o mesmo discurso, a Apple afirma que nunca trabalhou com nenhum governo ou agência de inteligência para qualquer atividade de espionagem. Quando solicitada através de uma ação legal, a empresa pode fornecer dados muito limitados sobre os seus usuários, alegando não ter acesso a arquivos e dados que são sigilosos do próprio usuário. Também foi noticiado recentemente que a Apple resolveu disponibilizar um relatório sobre requisições que recebe de governos e como funciona este processo.

No entanto, quando o tema é backdoor, tudo fica mais complicado. Um backdoor é um mecanismo escondido de todos que proporciona um acesso privilegiado a dados, ignorando restrições existentes. Por exemplo, é como se além da senha do próprio usuário existisse uma senha secreta que funciona em todos os aparelhos, uma chave “padrão”. Essa senha especial seria conhecida apenas pela Apple ou, supostamente, por agências de espionagem e inteligência.

A parte complicada é diferenciar o que é realmente um backdoor (algo intencional) ou o que é realmente só uma falha de segurança por um descuido no desenvolvimento do sistema, ou um mecanismo usado para fins de suporte e manutenção. É tão difícil comprovar isso que até mesmo em projetos de código aberto, onde todo o projeto do sistema está aberto, já foram encontradas falhas que parecem ser backdoors mas podem ter sido falhas de um pobre desenvolvedor. Ficam portanto as teorias que o desenvolvedor “responsável” pela falha pode ter sido pago e contratado por uma agência como a NSA. Um exemplo é o caso recente que ficou famoso e conhecido como Heartbleed.

É justamente neste sentido que a Apple rapidamente lançou um artigo (ainda apenas em inglês) que “explica” que algumas coisas que foram apontadas pelo relatório do Zdziarski são simplesmente mecanismos necessários para softwares como o iTunes, Xcode e outros. Realmente faz sentido, como já foi comentado anteriormente os softwares em um computador precisam de mecanismos de comunicação com os aparelhos. Por exemplo, uma música precisa ser copiada, os contatos sincronizados, um aplicativo instalado, etc. Fora isso, a empresa alega que alguns desses mecanismos são usados exclusivamente por departamentos de TI de empresas que usam iOS em grande escala ou mesmo por seus Apple Genius para suporte ao usuário em Apple Stores.

As respostas fazem sentido, mas infelizmente são incompletas. O próprio Zdziarski avaliou em seu blog que o breve artigo da Apple apenas confirma que esses mecanismos existem no iOS, mas que contribuem muito pouco com respostas. De fato, a apresentação aponta diversos pontos muito mais amplos do que está “explicado” no artigo da Apple. Ao final de sua palestra o autor tem uma seção específica de “teorias” descrevendo já algumas desculpas que poderiam ser usadas para explicar esses mecanismos, e essas teorias são justamente as que estão descritas muito brevemente na rápida explicação da Apple.

Resta agora saber quais serão os próximos capítulos desta história. Adiantando, o autor Zdziarski reforça que nunca quis afirmar que estes mecanismos foram criados pela Apple para ações de espionagem em um possível envolvimento com a NSA. Como sempre acontece, todas as teorias envolvendo governos e agências de espionagem ficaram por conta exclusiva dos jornalistas que reduzem a história a “existem mecanismos de backdoors no iOS“. No entanto, ele reforça que sim, os mecanismos existem e que poderiam ser usados para espionagem e o trabalho dele trata-se apenas de um estudo de segurança. Talvez sejam realmente recursos escondidos usados para suporte e para softwares como o iTunes ou o Xcode para desenvolvimento. O que a Apple costuma fazer nesses casos é responder o que deve ser respondido, e apenas corrigir o que deve ser corrigido sem muitas explicações.

A realidade é que o sistema iOS é realmente muito seguro, e em todas as suas versões, do iPhone OS 1.0 ao ainda não lançado iOS 8.0, sempre existem melhoramentos de segurança. Paradoxalmente, a Apple é conhecida também por seu foco em facilidade e simplicidade, e segurança geralmente conflita diretamente com usabilidade. Ninguém gosta de digitar 4 senhas para acessar suas operações bancárias, mas acaba sendo um trabalho necessário. Focada em usabilidade e simplicidade e sempre comprometida com seguranca e privacidade, a Apple seguirá melhorando o sistema iOS a cada nova versão e talvez até resolverá alguns desses casos na futura grande atualização do iOS 8.0.

Botão Voltar ao topo
//