Como explicar o caso Snowden para sua tia.

Imagine que você está num domingo ensolarado na praia de Ipanema quando toca seu celular. Do outro lado da linha a Tia Betty que quer saber se ainda é seguro pagar a conta de luz pela internet. Ela leu o tal do caso Snowden, viu lá o Fantástico e ficou preocupada. Quer que você explique para ela o que está acontecendo.

Neste momento você conta até dez para não mandar a Tia Betty para aquele lugar, afinal sua mãe vai ficar chateada e pensa em como se livrar do problema de maneira rápida.

A questão não é saber se existe um meio completamente seguro de se comunicar pela Internet, mas de quem você quer se proteger?

Eu costumo dizer que uma pessoa (empresa, entidade ou governo) com tempo e recursos consegue invadir qualquer sistema. É uma questão de valor do alvo e capacidade do invasor. Um alvo de baixo valor em geral não paga os recursos necessários para quebrar um sistema básico de criptografia, provavelmente este é o caso da sua tia.

Mas em alguns casos o usuário pediu para ser burro, entrou duas vezes na fila e ainda mandou caprichar, é o caso do sujeito que veio chorar que tiraram dinheiro da conta dele. Segundo o mané, ele recebeu um e-mail do banco dizendo que eles precisavam confirmar os dados dele, aí num site mequetrefe com a cara do Santander, ele digitou o login, a senha, a senha do cartão e ainda se deu o trabalho de digitar os 50 dígitos do cartão de segurança, além, obviamente, do número do cartão de segurança. Convenhamos, que com um usuário assim, os hackers mais pé de chinelo, que compraram o “Haqueando” Contas de Banco em duas semanas, conseguem se dar bem.

Mas e o Snowden, pergunta sua tia. Neste momento, caso você queira aproveitar seu domingo é melhor dizer para ela que tudo não passa de teoria da conspiração.

Algum usuário mais crédulo poderá dizer agora, não é verdade que qualquer sistema seja vulnerável. Ele pode até argumentar que não quebraram o código do TrueCrypt do Daniel Dantas, mesmo o FBI não quebrou. É verdade, mas será que o Daniel Dantas é um “high value target” que os americanos vão usar aquele zero-day-exploit especial que estão guardando para pegar um terrorista?

O fato que sabemos é que o código do TrueCrypt, apesar de aberto, ainda não foi totalmente, e está longe de ser, completamente validado contra vulnerabilidades.

Se você quiser saber a razão do buraco ser muito mais embaixo eu tenho algumas sugestões de leitura:

In God we trust

P.S: Depois de ler isto que eu falei, você vai entender porque nem o Serpro nem os Correios, mesmo que não fossem o lodaçal que são, não teriam condições de fazer um e-mail seguro para a Dilma. Eu acredito que nenhuma empresa brasileira tem condições.

RSA SecurdID, o buraco pode ser maior que parece

Quando foi amplamente divulgado em março que o produto SecurID da RSA sofreu uma importante falha de segurança, muitos especialistas afirmaram que o problema era muito mais teórico que prático e que os usuários de bancos, que usamos nossos tokens RSA para autenticação poderíamos ficar tranquilos.

Não foi bem assim. E as noticias do ataque eletrônico com possível roubo de material militar na Lockheed Martin mostra a gravidade do problema.

Os tokens servem para aumentar a segurança da criptografia com a autenticação de duas camadas. Neste tipo de autenticação é utilizado algo que somente você (na teoria) conhece, no caso a senha, com algo que você possui (o token). No caso de autenticação biométrica seria a combinação da senha com algo que você tem de pessoal (íris, digitais, formato da mão, etc.)

Como muitos usuários empregam senhas fáceis como manuel123 ou a data de seu aniversário concatenado com de sua mulher, a segunda camada de autenticação exige que o invasor saiba a sua senha e roube seu token.

O token é um relógio, uma senha e uma função matemática F que une a hora H com a senha S para formar uma sequência de números que é exibida no display. Esta sequência é F(H,S). Como a função F é conhecida (aparentemente foi quebrada há alguns anos) e a hora H é conhecida, o cara que está fazendo o ataque teria que conhecer S para violar seu sistema. No entanto S é algo que está inserido de maneira inviolável no dispositivo.

Na outra ponta está o site ou banco que está recebendo a autenticação, este lado ao receber o número de série do reloginho (que fica no verso) tem que ter uma tabela de S associados a cada relógio que distribuiu para conferir F(H,S) e ver se está correto.

Embora não esteja claro o que aconteceu (cf. http://www.rsa.com/node.aspx?id=3872) parece que vazou o banco de dados, ou parte do banco de dados de associação entre o número de série do reloginho e a senha S. Se de fato isto se confirma, e o ataque a Lockheed Martin foi feito usando informações obtidas deste banco de dados, houve um duro golpe na segurança das autenticações e será preciso pensar alguma forma mais segura de gerar os dados do token. Além disso as perdas para a RSA e para os usuários podem ser muito elevadas.