Na sexta-feira, a Apple lançou sem alarde o iOS 7.0.6, explicando rapidamente que ele corrige um bug no qual “um invasor com uma posição privilegiada de rede pode capturar ou modificar dados em sessões protegidas por SSL/TLS”. O que isso significa? Que você precisa atualizar seu iPhone agora mesmo.

Ah, e o OS X tem o mesmo problema… só que ainda não há uma correção. A Apple diz à Reuters que isto virá “em breve”.

Se você entendeu por completo a explicação da Apple, provavelmente você já atualizou o iOS. Se o texto lhe parece incompreensível, eis o que isso significa para dispositivos da Apple.

O que é SSL?

O SSL ajuda a garantir que a comunicação entre o navegador e servidores de seus sites favoritos permaneçam privadas e seguras. O TLS, por sua vez, é um protocolo mais recente que faz basicamente a mesma coisa. Em resumo, o SSL/TLS é uma chave de criptografia que permite a um navegador e um servidor saber que eles são quem dizem que são: é como um aperto de mão digital e secreto, que mantém seguras suas informações financeiras quando você faz um pagamento online, ou entra no site do seu banco.

Isso tudo acontece em segundo plano: sua única interação direta com o SSL/TLS é quando você percebe o ícone do cadeado na barra de endereços. Isso significa que você tem uma linha direta, privada e segura.

O bug da Apple significa que o Safari – ou um dos aplicativos afetados – não sabe se está falando com os servidores certos. Isso deixa você, e tudo o que você transmite através da web, vulnerável a um ataque man-in-the-middle.

O que é um ataque man-in-the-middle?

Um ataque man-in-the-middle, que chamaremos de MitM daqui em diante, é basicamente uma forma de espionagem. Neste caso, um intruso MitM em uma rede compartilhada intercepta a comunicação entre o navegador e um site – monitorando, gravando e vendo tudo o que acontece entre vocês.

Gmail, Facebook, transações financeiras – tudo isso visto, em tempo real, por um completo estranho. Eis um gráfico simples, via Wikipédia, que explica isto:

apple falha man in the middle

Normalmente, ataques como este são frustrados pela tecnologia SSL/TLS, ou pelo menos ficam tão impraticáveis que não valem a pena – é difícil interceptar um aperto de mão criptografado. Mas o bug torna isto dolorosamente fácil.

Na verdade, a “posição privilegiada de rede” mencionada acima pela Apple pode ser qualquer rede Wi-Fi pública. Basta o intruso estar no mesmo Starbucks que você. E isso vem acontecendo desde setembro… de 2012.

Qual a gravidade da situação?

É grave. Eis a maneira mais simples de explicar isso: desenvolvedores que entendem profundamente do assunto não querem nem falar sobre isso abertamente, por medo de dar aos hackers mais munição do que eles já têm:

Matthew Green, professor de criptografia na Universidade Johns Hopkins, explica à Reuters que isso é “tão ruim quanto você possa imaginar, e isso é tudo que posso dizer”.

Claro, sua rede Wi-Fi protegida por senha é segura; obviamente não há um hacker à espreita em cada Wi-Fi público; e sua informação pessoal nem sempre é interessante para os outros. E se você já atualizou o seu iPhone ou iPad para o iOS 7.0.6, você está seguro.

Mas é bizarro e preocupante saber que isso vem acontecendo há um ano e meio. E sabendo que isto foi amplamente divulgado – e ainda não foi corrigido no OS X – significa que vale a pena tomar algumas medidas extras de precaução.

Como isso aconteceu?

Ninguém sabe, e a Apple não diz. Mas as teorias vão desde algo plausível a algo conspiratório. Vamos começar com o que provavelmente aconteceu e avançar a partir daí.

Adam Langley, do Google, detalhou as especificidades do bug em seu blog pessoal. Basicamente, trata-se de uma simples linha extra de código. Como aponta a ZDNet, um “goto fail;” duplicado faz a verificação SSL passar em quase todos os casos, mesmo quando não deve.

Langley tem o argumento mais plausível: isso poderia ter acontecido com qualquer um.

Este tipo de erro sutil enterrado no código é um pesadelo. Eu acredito que isso é apenas um erro e lamento que alguém possa ter errado no editor e criado isto.

Porém, não é necessário muito esforço de imaginação para ligar esse bug à espionagem americana. John Gruber, devoto da Apple, falou exatamente isso: o comando “goto fail;” entrou no iOS 6.0, lançado um mês antes de a Apple supostamente ser adicionada ao programa PRISM. No mínimo, é inteiramente possível que a NSA descobriu este bug antes da Apple, e o vem usando secretamente para seus propósitos de espionagem.

Como posso evitar isso?

Se você estiver em um dispositivo iOS, baixe a versão 7.0.6 imediatamente. Se você tem um iPhone 3GS ou iPod touch antigo, baixe o iOS 6.1.6, que também corrige o bug. Sim, a Apple lançou uma atualização para aparelhos que não recebem mais versões novas do iOS – é um sinal de que ela está enfim levando este bug a sério.

apple os x falha man in the middle

Mas, por enquanto, o OS X está vulnerável; e agora que o erro foi amplamente divulgado, há quem esteja disposto a aproveitá-lo enquanto puder. Por isso, evite usar os programas a seguir em redes Wi-Fi públicas, que Ashkan Soltani confirma estarem vulneráveis:

  • Atualização de Software
  • Twitter
  • Mail
  • Calendário
  • Facetime
  • iBooks
  • Keynote

Sua melhor opção é usar o Chrome ou o Firefox, que não são afetados pelo bug no OS X. Além disso, use apenas redes Wi-Fi seguras; se você tiver mesmo que usar uma rede compartilhada, evite lidar com informações financeiras, transações ou dados pessoais. Essa é uma boa regra em geral, mas especialmente neste caso.

Só espero que a solução “muito em breve” chegue em dias, não em semanas.

Imagem inicial via Twitter