Ferramenta 'antirroubo' desenvolvida no DCC detecta falhas de segurança em softwares de criptografia

ter, 01/12/2015 - 19:30
Português, Brasil

Reportagem de Ana Rita Araújo para Boletim UFMG 1922

Entre os bilhões de caminhos do mundo virtual por onde trafegam informações, há aqueles mais vulneráveis a ataques para roubo de dados. Ferramenta desenvolvida por pesquisadores da UFMG detecta as vulnerabilidades, possibilitando correções que tornam os programas mais seguros.

"Nosso algoritmo, FlowTracker, já encontrou falhas de segurança em conhecidos softwares de criptografia, como Open SSL e TrueCript. Por outro lado, provou que NaCl, também famoso sistema criptográfico, é muito seguro", relata o professor Fernando Magno Quintão Pereira, do Departamento de Ciência da Computação (DCC).

Com interface web para acesso gratuito, sem necessidade de instalação de qualquer software, oFlowTracker tem potencial para se tornar uma espécie de selo ou certificação capaz de atestar se um programa protege a privacidade dos seus usuários. Por ser complexa, a ferramenta não é adequada para uso do público comum, mas para desenvolvedores de programas. "A grande comunidade de usuários se beneficia, de forma indireta, da maior segurança agregada pela ferramenta", pondera Fernando Quintão.

Ele acredita que o algoritmo e suas técnicas podem agregar valor à produção brasileira nessa área. "Embora seja um dos maiores desenvolvedores de software, o Brasil não produz algoritmos de codificação de criptografia ou para controle de sistemas críticos, como os de aviação. Ferramentas como essa podem contribuir para tornar o desenvolvimento de software no país mais preciso", observa.

Compiladores
De acordo com o pesquisador, estima-se que mais de 200 bilhões de dólares são gastos por ano, no mundo inteiro, para prevenir ou remediar o roubo de informações sigilosas. "Na Internet, trafegam nomes, valores, dados públicos ou altamente sigilosos. Obviamente, há criminosos que se especializaram em roubar essas informações, o que afeta instituições – como bancos e tribunais – e as redes sociais das pessoas", enfatiza o professor, destacando a dificuldade de garantir proteção, pois há milhões de caminhos em um programa de tamanho médio. "O que nossa ferramenta faz é encontrar exatamente aqueles que são mais vulneráveis a ataques", esclarece.

Para detectar possíveis vazamentos de dados em um universo tão vasto, os criadores do FlowTrackerutilizam os chamados compiladores, tipo de software que traduz para linguagem de máquina qualquer uma das mais de 600 linguagens de programação usadas por programadores. Nesse processo de tradução, o compilador analisa todos os caminhos do programa.

"Aproveitamos, desse modo, as análises de códigos para encontrar falhas de segurança, ou seja, pontos de onde a informação sigilosa pode vazar para chegar até canais de leitura. Usamos inteligência artificial para resolver um problema que vai além da capacidade de um ser humano normal", explica.

Fernando Quintão e o doutorando Bruno Rodrigues descobriram maneiras muito eficientes de eliminar alguns caminhos que são redundantes, já que uma das inovações do FlowTracker é saber o que descartar, concentrando-se nas áreas vulneráveis.

O algoritmo realiza a análise em poucos segundos, enquanto os concorrentes levariam minutos ou horas para terminar a mesma tarefa. Por isso, pode ser usado em programas muito grandes, já tendo encontrado falhas reais em algumas bibliotecas de criptografia, ao passo que outras se mostraram seguras.

Entre as falhas encontradas, destacam-se os chamados "vazamentos por canais laterais". Esse tipo de vazamento ocorre em algoritmos de criptografia que levam tempos diferentes para decodificar segredos distintos. Esse descompasso oferece a um hacker brechas para quebrar a proteção criptográfica. O ideal é que a ferramenta leve o mesmo tempo para criptografar dados de usuários distintos.

Atestar a segurança de um programa é tão importante quanto encontrar falhas, porque orienta os usuários, ressalta Fernando Quintão. "Acreditamos que essa pesquisa tem valor para a indústria, pois informação é algo caro, e saber que um algoritmo é seguro, sem vazamentos, vale muito", diz. Ele explica que, embora pudesse tentar patentear a ideia, seu grupo de pesquisas preferiu manter o código aberto e obter o feedback da comunidade de desenvolvedores.

Devido à ferramenta, Fernando Quintão hoje realiza trabalhos acadêmicos em colaboração com o pesquisador Diego Aranha, da Universidade Estadual de Campinas (Unicamp), que, há alguns anos, detectou falhas no software da urna eletrônica utilizada pelo Tribunal Superior Eleitoral. "Ele nos conheceu quando usou o FlowTracker para validar um algoritmo dele, viu que tinha falhas e fez mudanças, para ficar mais seguro", relata Quintão, que tem vários artigos sobre o tema publicados em português, por meio do Simpósio Brasileiro de Segurança e de Sistemas Computacionais (SBSeg).

A contribuição de Bruno Rodrigues para a pesquisa foi importante para eliminar os caminhos redundantes, objeto de tese que será defendida ainda neste ano. "Os brasileiros são muito bons em criptografia e certificação, devido a uma vasta pesquisa e à existência de uma grande comunidade especializada nessa área. Já a UFMG é pioneira no uso de compiladores para rastrear informação em busca de falhas de segurança em estrutura de dados", afirma o professor.

A pesquisa que deu origem ao algoritmo foi financiada pela Fapemig, pelo CNPq e pela Intel Corporation.

(Ana Rita Araújo/Boletim 1922)