Read, hack, repeat

O dia que o TSE revelou o código da urna: a história de Diego Aranha

Guilherme M. Petry 0 min

Acompanhado de sua equipe, Diego entra na sala de testes, no subsolo do Tribunal Superior Eleitoral (TSE) de Brasília, acreditando que não ia encontrar nada. Afinal, estava proibido de fazer qualquer anotação, nem acessar a internet e também porque nunca tinha visto o código fonte do software da urna eletrônica brasileira.

Mas logo nos primeiros 5 minutos de análise do código identificou uma linha muito preocupante. “Uma linha que nunca poderia ter sido encontrada em um software de votação”. A linha que preocupou Diego tinha relação com o arquivo RDV.c, o responsável por embaralhar os votos dentro da urna, para que não seja possível descobrir quem votou em quem.

No entanto, foi “só abrir o arquivo e ver que tudo o que precisava fazer para quebrar o sigilo do voto era simplesmente ver o momento em que a urna foi inicializada e imprimir uma zerésima [documento impresso na inicialização de uma urna para provar que todos os candidatos estão com os votos zerados]. Essa era a informação necessária para quebrar o sigilo do voto em toda uma seção eleitoral”.

Diego Aranha foi coordenador da equipe responsável por encontrar diversas vulnerabilidades de segurança na urna eleitoral brasileira, durante a segunda edição dos testes públicos de segurança do TSE em 2012.

Professor explica as vulnerabilidades encontradas no software da urna brasileira. Fonte: Reprodução/Youtube.

Os testes do TSE oferecem acesso ao software da urna a pesquisadores externos, independentes do tribunal, para que testem a integridade do sistema. Uma espécie de bug bounty de segurança cheio de restrições. A equipe de Diego participou de dois dos três testes de segurança do TSE entre 2012 e 2017.

O primeiro Teste Público de Segurança (TPS) do TSE aconteceu em 2009, em um formato de prova (com primeiro, segundo e terceiro colocado) com prêmios em dinheiro. O vencedor dessa edição foi Sérgio Freitas da Silva, premiado com R$ 5 mil, por conseguir descobrir o candidato que um eleitor tinha votado, com um ataque de canal lateral. Ele configurou um equipamento de rádio amador, que capturou as frequências emitidas pelas teclas da urna para descobrir quais foram pressionadas no momento do voto, identificando o candidato votado.

O segundo, de 2012, foi o primeiro teste público a oferecer aos pesquisadores o código fonte do programa de votações. Diego foi enviado pelo chefe do departamento no qual trabalhava na Universidade de Brasília (UnB), para fazer uma boa imagem da universidade. Junto com os três responsáveis pela segurança da rede da universidade. Diego conta que foram descobertas diversas vulnerabilidades, que a princípio foram ignoradas pelo TSE, já que o tribunal não permitiu que o relatório final fosse publicado com mais de uma falha.

No artigo Vulnerabilidades no software da urna eletrônica brasileira de março de 2013 publicado meses depois do teste de 2012, Diego F. Aranha, Marcelo Monte Karam, André de Miranda e Felipe Scarel, do Departamento de Ciências da Computação e do Centro de Informática da UnB, escrevem que o sistema da urna oferecia uma “proteção inadequada do sigilo do voto; cifração inadequada; utilização de algoritmos obsoletos; formulação equivocada do modelo de atacante; processo de desenvolvimento defeituoso e verificação insuficiente de integridade”.

Já para participar da terceira edição dos testes era necessário assinar um termo de confidencialidade que proibia os pesquisadores de compartilhar os resultados encontrados nas investigações da urna. Diego que sempre acreditou que devia fazer seu trabalho como professor e compartilhar conhecimento adquirido aos seus alunos não topou participar como pesquisador. Mas participou como mentor, ajudando os pesquisadores a encontrar falhas.

Aranha e sua equipe falaram sobre a insegurança das urnas em incontáveis palestras, encontros e entrevistas. “Não conto mais, mas já passou de 100”, responde quando perguntado sobre o número de palestras que deu sobre o tema.

Em uma entrevista à Globo na época, Aranha explicou os problemas encontrados por sua equipe nos testes. O TSE não gostou do comportamento do professor e “respondeu publicamente, dizendo que minha atitude ao denunciar os problemas de segurança da urna eram uma ameaça à democracia”. Diego encara a situação como uma afronta à ciência, já que como pesquisador, estava fazendo o seu trabalho.

“O problema começa quando acaba a parte técnica e começa a parte política. Ficou claro que o que a gente tinha descoberto era muito mais sério do que o TSE afirmava. Teve uma audiência pública que eu fui, expliquei o que a gente fez e teve um debate com o pessoal do TSE, que é sempre quando os problemas começam. Eles afirmam que em nenhuma edição dos testes foi quebrado o sigilo ou a integridade dos votos, o que é simplesmente uma mentira deslavada. Eles vão lá com uma postura de defesa incondicional da urna, como se ela fosse uma obra dos deuses, um santo graal da segurança computacional e que é imune a crítimas. Enfim, uma loucura”, diz.

Diego de Freitas Aranha é filho de professores, nasceu na Paraíba mas mudou para Brasília, quando passou no vertibular. Em 2005 se formou em Ciência da Computação na UnB. Em 2007 terminou o mestrado em Ciência da Computação pela Universidade Estadual de Campinas (UNICAMP) e em 2011 conseguiu o título de Professor Doutor também pela UNICAMP.

Em 2015 recebeu o prêmio Inovadores com Menos de 35 Anos Brasil da MIT Technology Review por seu trabalho com o voto eletrônico, além do Google Latin America Research Award para pesquisa em privacidade em 2015 e 2016.

Em maio de 2018 recebeu um convite para atuar como professor assistente na Universidade de Aarhus, na Dinamarca, onde desenvolve um trabalho com ênfase na implementação eficiente de algoritmos criptográficos e análise de segurança de sistemas reais.

O voto eletrônico no Brasil

A informatização das eleições no Brasil aconteceu em um momento onde a fraude eleitoral era o normal a se fazer, ainda em 1985, quando o TSE informatizou o cadastro de eleitores. A urna eletrônica só apareceu anos depois, nas eleições municipais (votação para prefeito e vereador) de 1996, mas só 30% das seções eleitorais foram equipadas com o dispositivo. Esse número foi aumentando gradativamente até chegar a sua totalidade, em 2000. A urna eletrônica transformou o processo de eleição no Brasil, reduzindo drasticamente a chance de se ocorrer uma eleição fraudada, assim como facilitou que mais pessoas tivessem acesso ao voto, que é obrigatório.

No entanto, embora emita um “sonzinho” cativante a cada voto, ela não agradou todo mundo, principalmente aos partidos políticos e à comunidade técnica da época. Depois de muito questionamento se a urna seria legítima, o TSE resolveu testar o voto impresso pela primeira vez, como ferramenta de checagem, com algumas urnas equipadas com impressora nas eleições de 2002, mas logo acabou com os testes alegando ser um processo caro, complicado e até anti-democrático.

Outro aspecto que preocupou os pesquisadores da época era com relação ao software do equipamento. As primeiras versões do software foram desenvolvidas por empresas privadas, isso sem contar que as urnas rodavam em Windows. O TSE passa a ser responsável pelo software em 2006 e em 2008 migra o sistema das urnas para GNU/Linux.

Desde 2009 são realizados os testes de segurança. O TSE garante que todas as vulnerabilidades encontradas foram corrigidas e a urna eletrônica é um equipamento muito seguro. Os testes ainda existem e são realizados de dois em dois anos.

O objetivo do TSE em organizar uma eleição com urnas eletrônicas é minimizar o contato, muitas vezes malicioso ou equivocado do ser humano na apuração dos votos. Embora a urna ainda seja muito manuseada por pessoas durante o desenvolvimento do software; na construção do hardware; na logística; organização e transporte do equipamento.


Fonte: urnaeletronica.info

Compartilhar twitter/ facebook/ Copiar link
Você se inscreveu com sucesso no The Hack
Bem vindo de Volta!
Massa! Você se registrou com sucesso.
Sucess! Sua conta está completamente ativada.