Dois passos a seguir se você for atacado por um hack eval(base64

Para minha mais completa infelicidade, encontrei esta semana indícios de que eu — e este humilde blog —continuamos a ser vítimas de ataques de .

Mas você pode estar se perguntando como se faz para descobrir que você foi vítima de um ataque de script injection.

Bom, é fato que a maneira mais desagradável possível aconteceu comigo: Tentei acessar meu site um belo dia e descobri , informando que o site é inseguro. Daí precisei tomar uma série de medidas, entre as quais estas que estão descritas aqui, para recuperar tudo. Para que isso não aconteça com você, é importante examinar seu site periodicamente, tal como quando executamos anti-vírus em nossos computadores. Dois plugins que podem ser úteis neste caso são o Exploit Scanner e o Antivirus, sendo que confesso que prefiro o primeiro, por sua riqueza de informações. Também pode ser uma boa ideia utilizar o Sucuri Site Check, que informa a situação atual do seu site sob o ponto de vista de diversos sites especializados (há um plugin para WordPress que traz esta varredura para dentro do painel de administração, também).

Bom… se você, assim como eu, se deparar com alguma evidência de ataque, ou, no mínimo, com algum sintoma suspeito, pode seguir dois passos simples. Mas aviso que será necessário se munir de toda a paciência possível e fazer aquilo que eu acredito que seja a única opção plausível em uma situação destas: Executar alguns comandos diretamente no servidor via , para acabar com alguns comportamentos inadequados.

Se você quer uma dica de ferramenta para utilizar em uma conexão telnet (ou SSH, seu substituto mais recente e mais seguro), experimente o Putty. Para continuar a escrever este texto, assumirei que você já possui o Putty, ou outra ferramenta similar para o processo, e usarei minha própria experiência aqui no site como base.

Primeiro passo: Acabe com os arquivos world-writable

Antes de qualquer coisa, dado que fazia um boooooom tempo que eu não acessava minha conta e meus arquivos hospedados, resolvi dar uma olhada para ver se alguma de minhas pastas era, digamos, world-writable — ou seja, será que alguém do mundo exterior conseguiria alterar meus arquivos? Isto seria um enorme pecado. Para descobrir isso, já conectado ao servidor, executei a seguinte instrução:

[code lang="bash"]find . -type d -perm -o=w[/code]

E, não é que, infelizmente, encontrei ? Para evitar que pessoas do mal pudessem continuar fazendo o que bem entendessem por aqui, executei mais um comando, para que as permissões dos arquivos em questão fossem alteradas, bloqueando o acesso do mundo exterior:

[code lang="bash"]find . -type d -perm -o=w -print -exec chmod 770 {} \;[/code]

Segundo passo: Detecte quais são as infecções e as elimine

Dado que já suspeitava de que haviam arquivos vitimados com script injection, resolvi que seria importante saber quais eram os infectados. Arquivos infectados com script injection possuem linhas em seu conteúdo — geralmente no topo do arquivo, no final do arquivo, ou logo após a abertura da tag <html> — que se assemelham ao seguinte:

[code lang="php"]<!--?php /**/ //eval(base64_decode("aWYoZnVuY3Rpb25fZ....[/code]

Um comando útil para listar que arquivos são os que contém o script injection é o seguinte:

[code lang="bash"]grep -lr --include=*.php "eval(base64_decode" /caminho/do/seu/servidor[/code]

Se o output deste comando for diferente de nulo, como foi no meu caso, com mais de mil arquivos listados, pode ter certeza de que há script injection na parada. Mas não há problema, você pode se livrar desses arquivos facilmente. Basta executar um pequeno script de uma linha em perl — através da própria sessão aberta via telnet:

[code lang="perl"]for f in `find . -name "*.php"`; do perl -p -i.bak -e 's/<\?php \/\*\*\/ eval\(base64_decode\(\"[^\"]+"\)\);\?>//' $f; done[/code]

O resultado deste script será a eliminação de todas as linhas, em todos os arquivos com extensão php, do trecho de código inserido através do script injection. O processo gerará arquivos de backup como resultado — vários arquivos com a extensão bak. Isso porquê, se algo der errado e você , você ainda terá os arquivos originais a seu dispor, ainda que infectados.

Se nada se quebrar durante o processo e você não tiver mais arquivos vitimados por script injection em seu site, vale citar um comando para apagar todos os arquivos .bak, recursivamente:

[code lang="bash"]find . -type f -name "*.bak" -exec rm -f {} \;[/code]

Finalmente… uma faxina!

A etapa final, como eu a fiz, consistiu de passar um bom tempo dando uma olhada nos diretórios hospedados em cada um dos meus sites. Arquivos muito antigos foram para o beleléu — acreditem ou não, o que ocorreu no meu caso foi uma vulnerabilidade causada por um plugin de galeria de fotos esquecido há anos dentro do meu servidor — e tudo aquilo que eu julgava não saber do que se tratava, também (CUIDADO). Além disso, sempre vale dizer que é imporante resetar suas senhas. Todas. Agora.

Um ataque de script injection é aquele em que alguém, de maneira mal intencionada, se aproveita de falhas de segurança ou de vulnerabilidades em ferramentas como o WordPress para introduzir em seu código-fonte mecanismos que alterem o seu funcionamento normal. Ao visitar um site atacado, você poderia, por exemplo, ser direcionado para um endereço em que um programa mal intencionado ou vírus fosse baixado para seu computador. É por isso que estes ataques tem que ser combatidos.
Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados em rede local, ou através da internet.
Arquivos com permissão de escrita fornecida para o mundo inteiro podem ser resultado de instalações ou desinstalações de plugins mal feitas, como foi o meu caso. Cuidado com o que instala ou deixa de instalar em seu website.
Sim, veja que estas dicas não possuem garantia alguma, e, muito menos, são garantia de 100% de eliminação dos problemas. No entanto, é verdade, vale à pena tentar.

Encipher.it: Criptografe mensagens do GMail!

É incontestável que, dia após dia, milhões de mensagens de e-mail circulam internet afora. Algumas são mais importantes, outras, menos importantes — como aquelas cansativas correntes que vez por outra lotam meu inbox, prometendo-me 7 anos de azar ou calvície certa caso eu não repasse a mensagem em questão para mais 218 pessoas nas próximas 2 horas e meia.

Se mantivermos em questão apenas as mensagens importantes — aquelas recheadas com informações ditas sensíveis, ou até mesmo confidenciaisque trocamos entre familiares, amigos ou colegas de trabalho, é seguro dizer que, pelo menos uma vez na vida que seja, quer você, como eu, use o GMail ou não, já deve ter se preocupado com a segurança do que envia através do e-mail. “E se alguém interceptar a mensagem que eu acabei de enviar?”.

Eis que, na semana passada, me deparei com uma ferramenta extremamente simples — mas, ao mesmo tempo, sofisticada —, cuja finalidade é permitir a criptografia de mensagens de e-mail. Trata-se do Encipher.it.

Quando acessamos o site do Encipher.it, nos é apresentada uma página inicial em que está contido o passo-a-passo para emprego da ferramenta na proteção de mensagens de e-mail, ou de campos texto de formulários, por exemplo. Basicamente, você deve arrastar um bookmark para sua barra de favoritos, e, em seguida, efetuar o login no site onde você deseja proteger as informações que julgar necessário.

Digita-se o texto normalmente — o conteúdo de uma mensagem de e-mail com dados confidenciais que precisem ser enviados, por exemplo — e então clica-se sobre o bookmark recentemente adicionado à sua barra de favoritos. Será solicitado que se informe uma encryption key, ou seja, uma chave de criptografia, que nada mais é do que a senha de proteção do texto recém-digitado.

Uma vez informada a senha desejada, basta clicar o botão Encrypt. Após um pequeno tempo de processamento, será exibida a nova mensagem, desta vez já devidamente protegida pelo padrão de criptografia Advanced Encryption Standard, o AES adotado para proteção de informações, entre outros, pelo governo norte-americano.

É importante notar que a mensagem criptografada traz, acima de si própria, uma  nota alertando o destinatário da mensagem de que ele, também, deverá visitar o site do Encipher.it, de maneira que possa obter o bookmark e, usando a senha combinada entre as partes, fazer a leitura da mensagem, que, à esta altura, não mais terá sido vista por olhos indevidos.

E se você se interessou pelo mecanismo do Encipher.it mas não sabe se sua senha é forte ou segura o suficiente, sempre pode fazer um teste e ter certeza.

Protegendo melhor o meu WordPress

Depois de ter sido recentemente atacado por uma script injection que surgiu do nada, fiquei mais cauteloso no que diz respeito ao blog, quando se trata de segurança.

No começo deste mês acabei encontrando um artigo da Smashing Magazine, com 10 dicas para reforçar a proteção de sites que, como o meu, utilizam o WordPress. Embora seja verdade que reforçar a segurança de um site por conta própria requeira um conhecimento mínimo de Apache — e não se sentir intimidado com alterações no arquivo .htaccess —, não há nada realmente muito cabeludo a se fazer.

Assim sendo, quero compartilhar com vocês duas das alterações que fiz:

Primeira coisa: Proteger o blog de injeções de script

Os ataques de injeção de scripts acontecem quando um hacker introduz algumas linhas de código malicioso em um site através de um de seus formulários — o de comentários, por exemplo — e então envia tais dados através deste formulário. Isso é feito, geralmente, para que se possa enganar os sistemas em uso nos sites, de maneira que eles pensem que se trata de conteúdo enviado por um usuário válido, e assim acabem permitindo, sem querer, que dados sejam acessados, editados excluídos, ou que scripts mal intencionados sejam acessados e instalem vírus nas máquinas dos internautas desavisados.

Uma das técnicas básicas para um script injection é que uma máquina cliente submeta informações que contem tags, como a tag <script>. Isso nos leva às diretivas abaixo, sugerida no artigo que li:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Ao serem adicionadas ao arquivo .htaccess, tais diretivas fazem com que qualquer requisição de acesso à uma página no blog seja verificada. Caso ela contenha referências à uma tag <script> ou, mais ainda, tenha tentado modificar o valor das variáveis GLOBALS ou _REQUEST do PHP, a requisição será bloqueada com um erro 403 (“Forbidden“) do Apache, ou seja, quem quer que esteja tentando realizar o acesso — neste caso, provavelmente alguém muito mal intencionado — será impedido de fazê-lo. Você pode até criar um documento personalizado para recepcionar alguém que tenha recebido o erro em questão:

ErrorDocument 403 /forbidden.php

Uma última palavra sobre as diretivas acima, é que estas podem ser facilmente modificadas para que incluam também as tags  <object>, <applet> e <embed>, também utilizadas em script injections. Desta maneira, reforça-se ainda mais a segurança.

Segunda coisa: Proteger o arquivo wp-config.php

Quando li o artigo da Smashing Magazine, vi que eles recomendam a proteção do arquivo wp-config.php — onde residem todas as configurações principais do WordPress, inclusive nomes de usuário e senha do banco de dados, que permitem a qualquer um com más intenções acesse todo o conteúdo do seu blog e faça com ele o que bem entender —, o que, afinal de contas, é uma excelente ideia.

O único problema é que eles, mais uma vez, se valem de alterações no arquivo .htaccess, da seguinte maneira:

<files wp-config.php>
order allow,deny
deny from all
</files>

Acredito, no entanto, que uma solução muito mais efetiva para impedir o acesso ao conteúdo do arquivo seja movê-lo para um lugar inacessível publicamente. Na prática, normalmente, isso significa movê-lo para antes da pasta public_html — onde fica tudo o que é visível para o mundo lá fora — em sua conta de usuário. Felizmente, desde a versão 2.6 do WordPress, isso é possível. Dessa maneira, basta que você utilize um programa de FTP de sua confiança e mova o arquivo em questão um nível acima.

De qualquer maneira, a dica dada pela Smashing Magazine ainda é válida se adaptarmos um pouco as coisas: Por exemplo, podemos aproveitar para proteger não o arquivo wp-config.php, mas sim o próprio arquivo .htaccess, da seguinte maneira:

<files .htaccess>
order allow,deny
deny from all
</files>

Conclusão

É óbvio que a proteção de um site contra ataques envolve uma série de outros passos e medidas de segurança, e muito mais leitura e estudo. Ainda assim, minha decisão de dividir estas duas simples alterações se deu porquê acredito serem realmente de grande valia para alguém que está pensando em proteger melhor seu conteúdo, e espero que, desta maneira, esteja prestando um serviço a quem se encontrar em uma situação difícil.

Para maiores informações, recomendo também a leitura do excelente artigo Hardening WordPress, disponível no próprio Codex da ferramenta.

Meu blog foi atacado pelo zettapetta.js

Depois de estar ausente do site por — praticamente três semanas seguidas, descobri hoje que meu site foi vítima de um ataque em massa a blogs que são movidos a WordPress. A descoberta não ocorreu instantaneamente: Tudo começou porquê, ao logar no dashboard do WordPress, percebi que a aparência das coisas estava um tanto quanto diferente, como se houvessem apagado todos os arquivos css (da área administrativa) do site. Intrigado por não entender a origem do problema — afinal, eu não havia feito grandes atualizações ou instalado novos plugins recentemente —, já havia me rendido à solução desesperada padrão, reinstalar a última versão da ferramenta.

Durante a reinstalação, graças a um vício que possuo — ficar apertando F5 freneticamente para ver todas as mensagens (temporárias) de erro que aparecem enquanto os arquivos estão sendo recolocados no lugar —, percebi que meu site estava se conectando ao domínio zettapetta.com, e logo imaginei que provavelmente havia mais caroços neste angu do que eu realmente gostaria. Um pouco de investigação me levou a descobrir que um script injection prejudicou vários sites que usam o WordPress a partir dos dias 6 e 7 de maio de 2010.

Dentre os possíveis comportamentos inadequados encontrados nos sites invadidos, identifiquei, com a ajuda de um programa de FTP, que próximo ao cabeçalho de todos os arquivos .php da minha instalação de WordPress havia um código malicioso que começava da seguinte maneira:

<?php /**/ eval(base64_decode(“aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9z.

Este era um indicador claro de que eu havia sido vítima do malware MW:MROBH:1, que se infiltra em sites como o meu e tenta instalar, nas máquinas de usuários desavisados, uma série de códigos maliciosos. Percebi que eu deveria fazer alguma coisa imediatamente.

Quando já estava me conformando com o fato de que perderia todo o conteúdo deste blog — pois as instruções iniciais de recuperação citavam medidas realmente drásticas, como excluir todos os arquivos do site —, acabei encontrando uma solução de clean up muito simples, graças ao site de segurança digital sucuri.net. Tal solução pode ser aplicada com o uso de SSH ou baixando um arquivo texto de lá — neste último caso, é necessário mudar a extensão do arquivo para .php, fazer o upload para o servidor do seu blog e executá-lo a partir de qualquer navegador. Em alguns instantes, uma mensagem similar a esta será exibida:

Tirei duas grandes lições deste episódio. A primeira, que nem sempre rodar a última versão disponível de um software te garante imunidade a algumas ameaças. A segunda, que ficar muito tempo sem visitar o próprio blog pode fazer com que estejamos executando ameaças como estas sem nem mesmo sabermos disso. Neste último caso, peço desculpas a quem quer que tenha visitado meu blog neste período de infecção, e seriamente recomendo que passem um anti-vírus atualizado em seus computadores.

Agora, voltaremos à programação normal.

Combatendo vírus na nuvem

A PandaLabs anunciou esta semana, segundo nota divulgada pela PCMagazine, a disponibilização de um anti-vírus gratuito, e que consome poucos recursos.

Já que consumir poucos recursos é a promessa de 9 entre cada 10 anti-vírus disponíveis atualmente no mercado, não foi exatamente isso o que me chamou a atenção, mas sim o mecanismo que eles alegam que torna a solução leve: O Panda Cloud Antivirus, como o próprio nome delata, é uma ferramenta que emprega tecnologia de cloud computing.

Imagine ter à sua disposição uma comunidade global de mais de 10 milhões de usuários que façam por conta própria — e automaticamente — o trabalho de identificar e classificar novas ameaças, como malwares e spywares, tudo em tempo real. Assim é a cloud computing, ou computação nas nuvens, ao pé da letra. A nuvem, neste caso, é uma referência à Internet, justamente onde ficam localizados todos os recursos que trabalharão em prol de cada usuário.

Fazendo com que o processamento seja realizado na nuvem, ao invés de no computador da minha ou da sua casa, o Cloud Antivirus deixa de consumir maiores recursos. Além disso, a nova ferramenta posterga ao máximo a análise de cada item suspeito. Na prática, isso quer dizer que o item não será verificado durante a cópia ou um download, mas sim, somente a partir do momento em que tentar executar alguma coisa suspeita, quando será devidamente bloqueado.

Uma coisa é certa: Ao longo dos anos eu já perdi a conta de quantas vezes cruzei com discussões do tipo “qual é o melhor anti-vírus da paróquia“. Não foram poucas, isso é verdade, assim como também é verdade o fato de que, na grande maioria das vezes, as reclamações das pessoas fatalmente estavam em consumo de recursos e lentidão dos programas.

Como esta questão de lentidão também é uma reclamação pessoal, nada melhor do que testar a solução oferecida pela Panda, e assim comprovar por conta própria se a ferramenta é tudo isso mesmo que diz ser. Aguardem. Fui em frente, baixei o programa e o pus à prova. A seguir, conforme prometi, as minhas impressões e comentários.

Continue reading

Esteganografia para as massas

Lembra quando você era criança e brincava de esconder mensagens secretas em folhas de papel escritas com suco de limão e um cotonete? A diversão era, na seqüência, aproximar a folha de uma vela ou de uma lâmpada, que era pro calor revelar o que estava escrito, como num passe de mágica

Bons tempos, não é mesmo?

Acontece que esse tipo de coisa pode muito bem acontecer nos dias de hoje, em pleno mundo digital! Isso graças a uma técnica chamada esteganografia. Essa palavra meio esquisita vem do grego, e significa “escrita escondida”.

Diferente da famosa criptografia, em que alguém mal intencionado que intercepte uma mensagem sabe bem que há algo de sigiloso escondido ali, esperando para ser descoberto após a eventual quebra de uma chave – seja ela mais forte ou mais fraca – a esteganografia é algo mais anônimo, em que praticamente não dá pra descobrir que há alguma coisa escondida no meio de uma mensagem, a menos que você seja o remetente ou o destinatário.

Justamente por causa disso, a esteganografia é causadora de boatos e lendas: Há notícias falsas e verdadeiras de seu emprego por contrabandistas, traficantes e até mesmo terroristas, que a utilizam para passar em paz – ou com um pouco mais de privacidade – suas próprias mensagens.

As mensagens, aliás, podem ser de texto puro, mas também podem ser compostas de um ou mais arquivos que se deseja manter ou transmitir em sigilo. Para transportá-las podem ser usadas fotos ou arquivos MP3. Também podem ser usadas páginas em HTML ou documentos PDF, que passam a carregar um algo a mais de maneira não declarada.

Se um bandido invade nossa casa, procura dentro de nossos guarda-roupas ou atrás de quadros, até encontrar um cofre ou algo de valor. Ele nunca pensaria, no entanto, que seu dinheiro está guardado naquela caixa de sucrilhos vazia que você deixa na última prateleira do armário da cozinha, não é? Eis aí a vantagem principal da esteganografia: Nenhum curioso, ao invadir seu computador, procuraria por suas senhas bancárias dentro daquela foto em que você e sua família estão sorrindo logo depois da ceia de Natal, percebem? Misture a foto em meio a outras centenas, e bingo: Só você — e quem mais você quiser — poderão recuperar a informação oculta.

Para fazer a mágica de embutir conteúdo em arquivos comuns existem dezenas de softwares disponíveis, sendo que muitos deles são gratuitos. Um artigo recente do site Lifehacker — que foi, aliás, o causador do meu interesse pelo tema — menciona o Hide in Picture, que, como o próprio nome diz, oculta arquivos em imagens nos formatos bitmap ou GIF.

Como exemplo, suponham que eu queira pegar um inocente arquivo com uma paisagem bem bonita e ocultar nele uma mensagem de Natal super legal para os meus amigos, embora totalmente secreta. Basta que eu acesse o Hide in Picture e selecione a opção Hide file in picture, tal como na figura abaixo.

Interface do Hide in Picture

Em seguida, só é preciso informar uma senha e, opcionalmente, o algoritmo a ser utilizado pelo programa para criptografar o arquivo que está sendo anexado à nossa imagem, e pronto: A mensagem secreta já fará parte da paisagem, e o melhor: Ninguém suspeitará disso, porquê visualmente tudo continuará como antes!

Protegendo a mensagem com uma senha

A vantagem destes programas é que na maioria das vezes eles procuram manter o tamanho original do arquivo hospedeiro, utilizando algoritmos de compressão que cumprem bem sua tarefa. É claro que fica óbvio que, nestes casos, você simplesmente não consegue esconder um arquivo maior dentro de um arquivo menor, mas essa aparente limitação não deve intimidar ninguém disposto a proteger seus dados para uma eventual transferência a partir da Internet.

Inspirado pelo princípio da esteganografia, no entanto, está um procedimento muito mais simples e direto, ideal para quem não precisa transferir conteúdos muito grandes e está interessado apenas em ocultar pequenos arquivos – talvez aqueles em que estão gravadas suas senhas de serviços da internet ou dos bancos, e até mesmo uma ou outra planilha ou foto. No pequeno screencast que acompanha este meu inspirado artigo, fiz a descrição de um método que só precisa do Windows e de um velho compactador de arquivos, sucesso e bastante conhecido entre muita gente: Trata-se do 7-Zip, que é gratuito.

[flv:cast_estego_281208.flv 560 352]

O ponto positivo é que a técnica é muito simples, e pode ser usada pra esconder arquivos não apenas em fotos, mas também em documentos PDF — como no exemplo que eu dou — e músicas.

A advertência, no entanto, fica para o tamanho do arquivo a ser gerado: Ninguém acharia normal, por exemplo, uma imagem JPEG de 30 megabytes, não é mesmo? Assim, cuidado para esconder apenas pequenos arquivos, e no mais… divirta-se!

[ratings]

Diga-me como digitas e te direi quem és

Eu não sou nenhum perito em datilografia — mal uso todos os dedos para fazer minhas digitações —, mas isso não impede os amigos do trabalho de fazer brincadeiras do tipo “Calma, Daniel… desse jeito o teclado vai pegar fogo! Vá mais devagar“, ou “Ele digita rápido assim, mas provavelmente 97% do tempo fica pressionando mesmo o backspace“, quando me vêem digitar.

Nenhuma das afirmativas é verdadeira, claro: Os teclados não podem simplesmente pegar fogo graças à velocidade de digitação de alguém. Se isso fosse verdade, imaginem só o número de acidentes que teríamos, principalmente envolvendo operadores de caixas bancários e outros profissionais que precisam digitar muito mais rápido. Da mesma forma, não é em 97% do tempo que eu aperto o backspace, e sim cerca de, digamos, 15% a 20%. De qualquer forma, essas brincadeiras servem para me dizer que os amigos reconhecem, por assim dizer, o meu padrão de digitação.

A novidade é que, talvez, no futuro, não sejam apenas os meus amigos os que serão capazes de reconhecer o meu padrão: Isso graças à biometria e aos estudos, nesta área, do pesquisador cearense Leonardo Torres. Ele está desenvolvendo uma ferramenta que poderá eventualmente começar a ser aplicada para melhorar a segurança nas transações via Internet e também nos terminais de atendimento eletrônico, como os caixas rápidos, por exemplo:

“Cada um de nós tem um padrão de comportamento no ato da digitação. Temos um ritmo próprio e padrões de erros, por exemplo. O que estamos propondo é a implantação de uma ferramenta complementar de segurança capaz de identificar não apenas se uma senha digitada na web ou em um terminal eletrônico está correta, mas se foi o proprietário dela que realmente a digitou (…)

A grande finalidade da ferramenta é evitar fraudes, reforçando os sistemas de segurança”, resume.”

Na prática, para fazer uso da nova ferramenta de biometria, o usuário deve primeiro preencher um cadastro com suas informações pessoais. Posteriormente ele digita estes dados e aciona uma espécie de “inspetor de qualidade“, na verdade uma rotina que verifica a qualidade da digitação observando se há erros durante o processo.

Se tudo correr bem, um “extrator de características” captura o tempo de digitação entre uma tecla e outra e o tempo de pressionamento de cada tecla. Estas informações são então cruzadas e o usuário identificado conforme seu padrão de digitação.

Segundo o pesquisador, a novidade tende a chegar ao mercado com um custo muito mais baixo do que o normal, pois deve precisar de muito menos equipamentos e dispositivos eletrônicos do que as demais soluções de segurança que envolvem a biometria.

Mas eu tenho que dizer que a primeira coisa que me chamou a atenção nesta história foi o fato de se tratar de tecnologia 100% em desenvolvimento no Brasil. Isso porquê eu, que gosto muito do tema biometria, vejo que quando falamos disso os exemplos de aplicação vêm muito mais do exterior, e este caso, somado à provável adoção de 100% de urnas eletrônicas biométricas para nossas eleições em cerca de 10 anos, são raros e louváveis exemplos.

Information Cards: Uma revolução nas senhas?

Ícone do InfocardA empresa onde eu trabalho tem implantado gradativamente, desde o começo do ano, um programa chamado single sign-on. A intenção é acabar com um problema extremamente freqüente — e extremamente perturbador, diga-se de passagem: Esquecer as senhas.

Vamos admitir: Quem nunca esqueceu uma senha na vida deve jogar as mãos para o céu e agradecer. Afinal de contas, mais do que a enorme quantidade de sistemas offline que necessitam de autenticação — e que, no caso da empresa onde estou foi o grande motivador para o single sign-on —, a Internet é um grande player nessa história: Por causa dela nós vivemos de cliques e de senhas, não é mesmo? E basta um único serviço que não usemos por algum tempo e lá vamos nós esquecer uma senha e ter transtornos.

A solução para esse tipo de problema, muitas vezes, é usar uma única senha para todos os sites. Na prática, apesar de ser mais fácil, é menos seguro, todos sabemos disso. Afinal, alguém que descubra sua senha poderá invadir todos os sites que você usa e fazer sabe-se lá o que. Na prática, conforme diz Paul Trevithick, praticar esse hábito é quase como não ter senha nenhuma.

Mas quem é Paul Trevithick, afinal? Ele é o presidente da Information Card Foundation, empresa que pretende revolucionar a forma como nos autenticamos nos diversos sites que visitamos. A chave para que isso aconteça está no uso dos chamados information cards, ou simplesmente i-cards, cartões eletrônicos que os internautas baixariam para suas máquinas locais, e usariam diretamente a partir de seus navegadores, se autenticando e verificando seus acessos através de um código PIN — personal identification number, tal como nos celulares — remotamente validado sempre que entrassem em um site compatível.

I-Cards na prática

Os membros da fundação que defende o uso dos i-cards — entre os quais gigantes como Google, Microsoft, Novell e Oracle — acreditam que a prática melhoraria consideravelmente a segurança dos usuários, principalmente no que diz respeito a combater o phishing, processo pelo qual vários sites que agem de má fé tentam se passar por empresas honestas, visando obter senhas e demais informações sensíveis dos internautas menos avisados.

Para prover maior segurança na prática, o sistema de i-cards tem que sincronizar cada transação entre três participantes: Numa ponta o usuário com seu i-card, que solicita uma conexão criptografada com um fornecedor de identificação (como um banco ou empresa de cartão de crédito) e também com a parte relevante (que, neste caso seria uma faculdade, site financeiro ou de comércio eletrônico). Nada acontece enquanto estas conexões não estiverem realizadas em tempo real.

Espero que, já que essa iniciativa está sendo puxada por gente grande, ela decole. Se será uma solução final para os problemas de segurança, eu não sei, e até duvido. Mas é bom termos novidades deste porte em breve. Só não sei quanto tempo levará para um padrão desses atingir escala mundial… mas aí é outra história.

Ferramentas para proteger suas senhas

Ah, as senhas… quem de nós, eu pergunto, é capaz de viver sem elas no mundo moderno?

No mundo virtual, é preciso senha para praticamente tudo: Entrar na rede, abrir um arquivo protegido, acessar sistemas, o internet banking, o e-mail, o álbum de fotos, um fórum de discussão na web e por aí vai. No mundo real, também não há escapatória: saques e compras só são autorizados com o seu uso, e até mesmo para uma operação trivial, como ligar o celular, muitas vezes é preciso informar um código de acesso, o PIN.

Vê-se, por estes exemplos que dei acima que as senhas existem com uma finalidade básica: proteção. Seja a proteção de um usuário ou pessoa física, seja a proteção de dados e informações virtuais, sensíveis para pessoas físicas e jurídicas, o fato é que uma senha em mãos erradas pode causar danos gravíssimos e até mesmo irreversíveis.

Dessa forma, não queremos que alguém saia por aí e descubra nossa senha, o que demonstra que é preciso protegê-la com unhas e dentes. Quando penso nisso, imediatamente me vêm à cabeça dois pontos muito básicos:

  1. As senhas precisam ser fortes;
  2. As senhas precisam estar seguras.

As senhas precisam ser fortes

Uma das inspirações para este artigo surgiu nas últimas duas semanas, quando ouvi de cinco pessoas diferentes, ao me verem acessar a rede do local onde trabalho, o comentário de que minha senha era longa demais. Imediatamente, ao ouvir este argumento, disse que minha senha era assim por dois motivos: O primeiro, porquê era algo de que eu lembrava. O segundo, porquê era uma senha forte.

Vamos lá: É óbvio que você precisa pensar em uma senha da qual vá se lembrar mais adiante. Caso contrário ao partir para o final de semana numa sexta-feira atribulada, acabará esquecendo da senha na segunda-feira, ao voltar. Exageros à parte, é aí que reside um dos principais perigos das senhas: Buscando usar algo do que venham a se lembrar mais adiante, as pessoas simplesmente acabam usando nomes dos filhos, placas do carro e até mesmo do time de futebol para compor sua senha.

O problema dessa prática é que aquele amigo da onça mal intencionado, tendo se aproximado previamente de você e visando um ataque aos dados protegidos por sua senha, pode tentar invadir sua privacidade partindo destes detalhes que citei acima. E como sabemos que o seguro morreu de velho, bom mesmo é ter certeza de que estamos usando uma senha forte.

E como eu vou saber se minha senha é forte?

Bom, esta é a pergunta de um milhão de dólares. Algumas empresas possuem políticas para a formação de senhas, basicamente compostas de melhores práticas. Independente disso, podem ser usadas, por exemplo, frases a partir das quais são retiradas as iniciais. Assim, “Eu fui ao Canadá em 2006″ se tornaria algo como EfaCe2006.

Mas talvez o melhor mesmo seja colocar sua senha à prova. E a melhor maneira de fazer isso é utilizar uma ferramenta especializada e ao mesmo tempo gratuita. O The Password Meter, por exemplo, é uma dessas ferramentas, on-line. Ao entrar no site você pode escolher entre exibir ou não a senha a ser testada (caso não a exiba, será coberta por asteriscos, como uma senha comum) e, em seguida, saber, numa escala percentual, o quanto ela é segura.

Vejamos o que acontece quando se coloca a senha acima à prova:

eface2006.jpg

A ferramenta, que considera pontuações para diversos aspectos da senha testada, conclui que a senha que escolhi ao acaso é 68% forte.

Segundo os critérios do site, ganhei 36 pontos de bonus por usar um número grande de caracteres e mais 14 por ter usado duas letras maiúsculas em meio à senha. Pela lógica empregada na ferramenta, os valores representados em azul são considerados excepcionais, enquanto que os verdes são suficientes.

Enquanto que o fato de ter acrescentado números à minha senha inventada me ajudou, esquecer de colocar um símbolo me reprovou, ou seja, as coisas poderiam ser melhores por aqui.

Assim, o que acontece com a avaliação desta senha se, por acaso, eu decido acrescentar um símbolo no meio da string? Bem, obviamente ela se torna uma senha mais forte. Salta dos 68% anteriores para 86%, um ganho considerável com apenas um caractere a mais, neste caso, um símbolo. Se forem dois deles, então, a pontuação é ainda maior, e a senha se torna 100% segura, ou seja, virtualmente imbatível.

eface2006_2.jpg

Percebam que, usando ou não ferramentas para testar senhas, para montá-las e torná-las fortes o importante é ter um pouco de criatividade, pensando em algo inesquecível e que, ao mesmo tempo, seja complicado de se descobrir. De preferência, memorizável sem que se precise anotar em algum lugar.

Mas e aquelas pessoas que não conseguem memorizar suas senhas e precisam marcá-las em algum lugar? Bem, isso me lembra do meu segundo ponto.

As senhas precisam estar seguras

Eu vou logo dando a mão à palmatória, pois já tive o hábito, no passado, de anotar minhas senhas em um caderninho que eu tinha na gaveta do trabalho, apenas para que, se eu me esquecesse delas, pudesse tê-las ao alcance das mãos. O problema neste caso é que elas também estavam ao alcance de olhos alheios.

desktopss.jpgO caderninho, então, não é um bom lugar para anotar senhas. Como também não é nada recomendável que elas estejam escritas em post-its (ou “lembretes”) como o que usei para ilustar este artigo, ou em pedaços de papel debaixo do teclado, é necessário que aqueles que são mais esquecidos usem algo mais seguro.

Eis que num determinado momento em minha carreira me vi obrigado a gerenciar uma quantidade gigantesca de senhas de diversos sistemas e aplicativos. Naquela oportunidade meu caminho se cruzou, por pura necessidade, com o do KeePass, um gerenciador de senhas de fonte aberta e 100% gratuito, com versões para Windows e Ubuntu, entre outros sabores de Linux e sistemas operacionais.

Entre as vantagens de uma ferramenta como o KeePass estão seu tamanho reduzido (cerca de 1,3Mb) e sua capacidade de se estender a partir de plugins, que, entre outras coisas, permitem a integração com o seu navegador favorito. Ah, eu não mencionei, também, que existe uma versão em português para nós brasileiros.

Ao terminar a instalação e criar uma nova base de dados de senhas, o programa pede que você defina uma master password. Esta será a senha que você deverá usar para acessar o KeePass. Não a anote em lugar nenhum e não a esqueça — de qualquer forma, convenhamos: para o esquecido, será muito mais simples e fácil lembrar de uma senha do que de várias.

keepass.jpg

À partir daí, basta adicionar suas senhas. O programa as divide em categorias (que podem ser devidamente editadas) e possui, ele próprio, uma barra de testes de qualidade da senha, similar ao da ferramenta que citei anteriormente.

Para aqueles que podem estar com a pulga atrás da orelha por confiarem sua senha a um software, um aviso: A segurança do programa se baseia em duas cifras fortíssimas de criptografia, utilizadas por bancos para a proteção de seus sistemas. Convenhamos que é bem melhor do que guardar um papel na terceira gaveta atrás do livro de caixa de 2004, não é mesmo?

[ratings]

Combater fraudes biométricas custa caro

finger-matsumoto150.jpgQuem precisou — como eu — renovar a carteira de motorista no último ano e meio já sabe: Um sistema de biometria realiza a identificação do candidato através de um terminal que coleta suas impressões digitais e as transmite para o Detran em tempo real. Só depois disso a pessoa é liberada para uma prova 100% filmada, tudo parte de fortes medidas de segurança para evitar fraudes no processo, na minha opinião, aliás, um dos pontos mais pertinentes para uso da biometria.

Mas por mais que eu seja fã de qualquer iniciativa biométrica, sou obrigado a admitir que mesmo seu emprego permite falhas: O Estadão noticiou ontem uma verdadeira operação de guerra montada pelo governo do estado de São Paulo, que colocou na malha fina do Detran 19 mil pessoas e 200 auto-escolas da capital, da Grande São Paulo e de Santos.

Segundo o que li, foram descobertos diversos artifícios para burlar o processo: Auto-escolas foram flagradas usando softwares que capturam as digitais de uma pessoa, transformam em código e enviam ao Detran a falsa informação, em horários diferentes, de que ela está assistindo regularmente às aulas.

Também foram identificados casos — que parecem coisa de filme — em que dedos de silicone ou gesso fraudaram o sistema, o que aliás representa um dos maiores — senão o maior — medo das pessoas com relação à biometria: “E se cortassem um dedo meu” — ou fizessem, como neste caso, um molde — “para me assaltar num caixa eletrônico biométrico?”

A implementação de mecanismos de combate a fraudes deste tipo é complicada: Neste caso, por exemplo, apenas no segundo semestre o Detran deverá além de registrar a impressão digital, fotografar as pessoas que fazem as provas práticas. O departamento também solicitou ao Prodesp (Companhia de Processamento de Dados do Estado de São Paulo) que desenvolva uma certificação digital para o processo de renovação da CNH.

Minha opinião, no entanto, é que fotos são facilmente arranjáveis, assim como softwares para driblar uma certificação digital das informações. Acho que para evitar coisas como dedos de gesso, silicone ou até mesmo de gelatina, usados experimentalmente em 2002 pelo professor Tsutomu Matsumoto, da universidade japonesa de Yokohama justamente para provar que é possível burlar a biometria, precisa-se inovar.

Sugestões dadas pelo próprio professor Matsumoto, aliás uma das maiores autoridades mundiais no assunto, envolvem o reconhecimento não apenas de impressões digitais, mas também de características únicas do corpo humano, como pequenas mudanças ou movimentos que não podem ser reproduzidos por estruturas artificiais: O reconhecimento ultrassônico de impressões digitais, por exemplo, poderia reconhecer o fluxo sangüíneo por trás dos dedos, entre outras coisas.

Outros mecanismos para reconhecimento de um indivíduo poderiam empregar a sensibilidade de temperatura do corpo, a produção de oxigênio e de sinais elétricos, e a emissão de odores próprios do corpo humano. Mas fato é que, embora representem soluções eficazes, o custo destas alternativas é muito, muito alto, e, ao menos na atual conjectura — em que estamos ainda engatinhando no campo da biometria — não as vejo como viáveis para emprego em nosso país, e isso é uma pena.