A Apple Entrega os Pontos

A blogosfera está em polvorosa após o anúncio dos novos planos da Apple para monitorar o conteúdo que seus produtos usuários levantam para a iCloud. Nosso blog não pode ficar fora dessa conversa. Assim, buscamos com este post inaugurar essa discussão em português [uma vez que não tenho visto esse assunto alhures na mídia lusófona].

Eu sei que ninguém gosta de falar sobre de segurança na rede e o preço a pagar pela insistência nesse assunto pode ser a alienação dos leitores. Mas quis o destino que eu fosse a pessoa a falar dos assuntos desagradáveis – mas necessários. Sempre tentou-se aqui ilustrar por que os modelos de negócio do Google ou do Facebook [assim como os de todas as redes sociais] representam uma ameaça à privacidade e segurança das pessoas. É muito difícil explicar por que o novo mecanismo da Apple é ainda pior.

Na verdade, enquanto eu rascunhava esta postagem, Matthew Green e Alex Stamos publicaram um artigo no New York Times em que fazem uma boa tentativa de explicar, de forma concisa, essa questão para um público não técnico. Parece que há esperança. Não é minha intenção dar aqui uma explicação exaustiva do que exatamente a Apple planeja fazer, mesmo porque muitos outros artigos excelentes já foram escritos sobre isto na última semana.

Em essência, o iOS 15 introduzirá um mecanismo que permite comparar as fotos do telefone do usuário com um banco de dados de conteúdo CSAM [Child Sexual Abuse Materials – Material de Abuso Sexual de Crianças], e essa comparação começará no dispositivo do usuário. Essa é a grande diferença entre a abordagem da Apple e a de quase todas as outras empresas que hospedam grandes bibliotecas de fotos online. Um parágrafo do artigo de Ben Thompson publicado ontem resume muito bem:

Em vez de limitar a varredura CSAM ao iCloud Photos – a ‘nuvem’ que eles possuem e operam – a Apple resolveu comprometer o telefone de propriedade dos usuários, sem que nenhum deles tenha uma palavra a dizer sobre o assunto. Sim, você ainda pode desligar o iCloud Photos para desabilitar o monitoramento da Apple individualmente. Mas o que está em jogo é uma questão política: a capacidade de penetrar o telefone de um usuário agora existe e não há nada que um usuário de iPhone possa fazer para se livrar dela.

É claro que você poderia dizer que este é um tipo de argumento falacioso do tipo “ladeira escorregadia” [a ideia de que uma vez que algo é permitido não há mais caminho de volta] e que não deveríamos ficar tão preocupados. Talvez você dissesse que de fato devemos confiar que a Apple não usará essa funcionalidade para nenhuma outra finalidade.

Deixando de lado o absurdo de confiar em uma corporação gigante com fins lucrativos [em vez de um governo eleito democraticamente], devemos ter em mente que o histórico de privacidade da Apple até aqui tem sido muito menos estelar do que eles gostariam que pensássemos. A empresa coopera com o governo chinês, por exemplo, armazenando dados pessoais de cidadãos chineses apenas em servidores administrados por uma empresa chinesa, e já cancelou seus planos de disponibilizar a criptografia de backups no iCloud – sob pressão do FBI.

A Apple divulgou uma FAQ na terça-feira na qual tentou esclarecer e resolver os questionamentos, mas se alguma coisa aconteceu foi apenas a confirmação do que todos nós já presumiamos ser verdade: a política interna da Apple é agora a única coisa que impede qualquer agência governamental ou outro agente malicioso de inserir certos arquivos de imagem [por exemplo, fotografias de casais homossexuais em países onde a homossexualidade é ilegal] no registro CSAM.

Porta dos fundos sempre aberta

No mundo da segurança de computadores, essa tecnologia tem um nome: é chamada de “backdoor”. Uma porta dos fundos [para acesso remoto ao aparelho], neste caso bem documentada e bem intencionada, mas ainda assim uma porta dos fundos – instalada e ativada por padrão em milhões de dispositivos em todo o mundo.

Por que diabos a Apple, uma empresa que vem construindo uma imagem de proteção à privacidade nos últimos anos, escolheria tal solução? E por que agora?

A hipótese que muitos analistas de segurança consideram é que a Apple deseja se distanciar do trabalho tóxico e ingrato de verificar os dados dos usuários. Ela têm lutado com o FBI e o governo federal americano há anos. Ela também tem resistido a relatar o conteúdo CSAM que ela encontra nos iPhones ao Centro Nacional para Crianças Desaparecidas e Exploradas [National Center for Missing & Exploited Children – NCMEC].

Mas o fato é que parece que eles não querem mais se envolver em nada disso. Eles querem criar uma situação em que possam oferecer criptografia de ponta a ponta para seus produtos [iMessage, iCloud Drive, etc] e, ao mesmo tempo, manter perante o ‘establishment’ a postura de conformidade com a lei e os costumes. Essa pode ser a única maneira de a Apple ter ‘dois pássaros na mão’.

E ainda mais: devido à forma como o mecanismo é implementado, a Apple não precisa ver os dados reais do usuário. A foto do usuário é convertida em um hash [assinatura digital]. Esse hash é comparado aos hashes de imagens armazenadas em um banco de dados de fotos ‘manjadas’ – mantido pelo FBI em um servidor. A Apple, portanto, não verá o conteúdo das imagens. Só saberá se há uma correspondência entre os hashes do telefone e dos dados do servidor.

Fluxo de trabalho do monitoramento de imagens suspeitas nos produtos Apple. As assinaturas das imagens no celular do usuário são comparadas com as assinaturas das imagens de um banco de dados de referência. Se houver correspondência a Apple avalia o material e, se for o caso, encaminha às autoridades competentes. Gráfico: Vox Leone.

Dessa forma, em suas campanhas de marketing ela ainda poderá alegar que respeita a privacidade do usuário. E se esse mecanismo for usado para qualquer outra coisa, eles sempre podem alegar que estão simplesmente cumprindo as regulamentações locais e que eles próprios não censuram nem olham os dados nos telefones de seus usuários.

Infelizmente, devido à natureza intrinsecamente técnica do problema, acredito que o público geral não será capaz notar essas maquinações [ou mesmo se importar] e continuará a usar os produtos da Apple normalmente. E certamente veremos, durante o próximo evento público da Apple, Tim Cook, o CEO, anunciando triunfantemente alguns recursos de melhoria da privacidade no iOS, como a proteção dos dados pessoais contra rastreamento entre aplicativos ou oferecendo conexão anônima semelhante a VPN para Safari ou Apple Mail. Tudo isso enquanto mantém um backdoor instalado no seu telefone, sobre o qual você nada pode fazer.

É doloroso ver a Apple dando um passo em uma direção tão perigosa. Só posso esperar que a reação causada pela voz estridente da minoria faça a Apple reconsiderar, e talvez mudar a implementação em versões futuras do iOS.

Sexta de Leão: Aventuras no Jardim Murado

Poucos meses atrás, enquanto eu desenvolvia um pequeno aplicativo desktop [um trabalho acadêmico] para Windows, Mac e Linux, em algum momento do desenvolvimento tive que testá-lo em todas as três plataformas. Para tornar o teste mais fácil, decidi instalar todos os três sistemas operacionais no mesmo computador, por meio de uma máquina virtual. As coisas corriam bem, até que cheguei ao MacOs.

De acordo com a política da Apple, você não tem permissão para instalar MacOs em um hardware que não seja da própria Apple. Então, como faço para testar meu software se não sou proprietário de um Mac?

O que eu podia fazer:

  • Comprar um Mac (onde o mais barato no momento custa mais de US$ 1000)
  • Pegar um Mac emprestado de alguém
  • Instalar um Hackintosh em uma máquina virtual e violar a política da Apple.

Comprar um Mac. Se você está desenvolvendo um produto que pode trazer uma receita razoável dos usuários de Mac, então a necessidade de comprar um Mac é indiscutível. Se esse não é o caso, então despejar algumas centenas de dólares no negócio só “porque sim” é algo injustificável.

Sua segunda opção é pegar emprestado o Mac de alguém que você conhece. Considerando o quão pequenos são os discos rígidos do Macbook, o proprietário não ficará feliz por você instalar um ambiente de desenvolvimento completo na máquina dele – e possivelmente deixar gigabytes de material instalado para trás. Você também teria que se adaptar à rotina de uso e tempo do proprietário, o que poderia ser bastante irritante [como assim “sua filha precisa escrever um trabalho esta noite?”].

E, por último, você pode mandar a Lei às favas e instalar um MacOs em uma máquina virtual. Uma rápida pesquisa revela centenas de tutoriais e postagens de blog sobre a instalação de MacOs. Todos instalando imagens ISO piratas tiradas do Google Drive de alguém – e agindo como se tivessem acabado de descobrir o fogo.

Obviamente escolhi a terceira opção, pois parecia a melhor de todas as escolhas ruins possíveis. Depois de passar alguns dias remexendo na ISO “ilegal” do Mac e não conseguir passar da tela de boot, era hora de refletir sobre o que estava acontecendo.

Imagem: iStock

Escrever um aplicativo desktop multiplataforma é uma tarefa muito mais difícil do que escrever um aplicativo para a web, já que o conjunto de ferramentas para esta última não é tão polido. Isso explica por que os aplicativos para web estão em todo lugar e o software para desktop está lentamente desaparecendo.

Além dos problemas gerais que o desenvolvimento de aplicativos traz, também existem inúmeras tarefas que são específicos de certas plataformas, apesar de os frameworks serem multiplataforma. É preciso por exemplo:

  • Criar soluções alternativas para todos os bugs da plataforma específica da interface de usuário (IU) escolhida. A estrutura pode estar funcionando bem em uma plataforma e se comportando de maneira extremamente estranha em outra.
  • Configurar uma máquina/ambiente de compilação para cada plataforma que você está oferecendo. A compilação cruzada de aplicativos desktop infelizmente ainda não é uma opção disponível em 2021.
  • Criar um instalador para cada sistema operacional e descobrir – depois – as especificações de instalação de cada um.
  • Descobrir que certas plataformas gritam com seus usuários quando eles tentam instalar um software que não possui um instalador assinado.

Você logo percebe que assinar um instalador em cada plataforma existente não é barato [e de fato é um aborrecimento que não leva a nada]. No Windows, você tem o prazer adicional de lidar com ‘revendedores’ duvidosos de certificados. Dê uma olhada em um dos sites deles [ou melhor não – eles são fraudes e podem roubar suas informações de cartão de crédito].

Eu me senti sujo depois de visitá-los. Você poderia, como alternativa, usar lojas online credenciadas que supostamente não têm esses problemas, mas a esta altura você realmente tem ainda vontade de fazer isso? Você dá o melhor de si para uma empresa que pode um dia simplesmente decidir que o seu aplicativo não está mais de acordo com a nova política e removê-lo de sua loja sem a menor cerimônia. Você também tem que passar pelo complicado processo de verificação de “malware” no software que você criou, o que pode, em alguns casos, levar semanas e, no fim, rejeitar seu trabalho sem nenhuma explicação. Existem dezenas de histórias de horror sobre isso na Internet. Reserve um tempo para conhecê-las antes de decidir seguir por este caminho.

Como você pode ver, desenvolver um aplicativo para desktop não envolve apenas programar a IU. O resto da subida da montanha é lidar com problemas que nem deveriam estar presentes. E se, no final, testar o software em uma determinada plataforma for muito trabalhoso, essa plataforma simplesmente não terá suporte. Este parece ser o caso recentemente, já que nem me lembro da última vez que vi um aplicativo multiplataforma. Eles são sempre vinculados a uma plataforma específica ou baseados na web.

Imagem: iStock

No final, todo mundo perde com a política do jardim murado:

  • Os usuários vão perder seu software favorito, que só existe em uma determinada plataforma.
  • Os desenvolvedores vão perder as vendas que a outra plataforma pode trazer.
  • As lojas online vão perder o percentual de sua receita, pois o desenvolvedor muitas vezes simplesmente não tem interesse em lidar com processos complicados. As plataformas deveriam tornar sua vida mais simples; em vez disso, apenas adicionam camadas de burocracia.

Laissez faire!

A Microsoft tem ouvido um monte de merda sobre seu último Windows 10. Ele tem seu próprio conjunto de problemas, como a telemetria intrusiva e a grande quantidade de ‘crapware’ aleatório – que ninguém pediu – instalado por padrão. Mas pelo menos a Microsoft faz alguma média com os desenvolvedores. Você pode instalar o Windows como quiser – seja no metal nú ou em uma máquina virtual [e ele ainda funciona em um computador com 10 anos de idade!].

A Apple, por outro lado, está erguendo muralhas cada vez maiores em torno de sua plataforma. Sua última manobra foi impedir os usuários de executar qualquer aplicativo que não tenha sido certificado. O que significa basicamente “se não tiver nossa benção a cada passo, você não vai poder usar sua máquina”. É como a mílícia que vai confiscar a sua casa se você não pagar a proteção.

Os usuários, que pagaram o dobro do que custaria um PC, agora também têm que lutar contra um ecossistema que absurdamente os impede de usar seu próprio computador. Quem diria que instalar um editor de texto é uma coisa tão perigosa? Isso vindo de uma empresa que afirma que o uso de seus produtos irá ajudá-lo a “liberar a criatividade” – e um monte de outras bobagens corporativas.

Então solução é a seguinte para os fãs da Apple: se quiserem ter programas em sua amada plataforma, vocês terão que torná-la amigável para os desenvolvedores. Nota: os desenvolvedores são aqueles que escrevem os aplicativos, publicando-os em suas ‘stores’. Se eles não puderem usar sua plataforma de trabalho preferida (que, surpresa-surpresa, pode não ser o Mac), isso significa que eles simplesmente não publicarão o software para sua plataforma.

Quanto à Apple, ela pode continuar com a muralha de pedra cercando o seu jardim, se assim quiser. Ela pode continuar cobrando a entrada, se há um número suficiente de pessoas dispostas a pagar. E se você gosta da Apple, seja feliz dizendo a todos como é lindo seu jardim.

Mas eu pessoalmente não gosto do jardim da Apple. Não gosto da maneira ‘Apple’ de fazer as coisas, dizendo às pessoas que elas estão usando seus produtos de maneira errada. Eu não gosto de como a Apple é arrogante e não joga com o resto do mundo. E, francamente, nunca gostei de Steve Jobs.

Existem jardins de mente mais aberta, onde você é responsável por administrar seu canto como quiser. Um jardim onde derrubar uma parede para dar mais espaço para as suas coisas é algo perfeitamente possível e não desaprovado. Enfim, que a Apple não rejeite aqueles que fazem valer a pena visitar seu jardim.