Investigadores do TPS relatam experiência no evento e falam sobre achados relevantes encontrados

A equipe da Ascom do TSE conversou com representantes de dois grupos e um investigador que obtiveram êxito na execução dos seus planos de teste

Teste Público de Segurança (TPS)

Contribuições importantes foram sugeridas pelos investigadores na quarta edição do Teste Público de Segurança do Sistema Eletrônico de Votação (TPS 2017). Dois grupos de investigadores e um participante individual apresentaram achados relevantes em seus planos de teste a respeito da segurança da urna eletrônica, a partir do ambiente criado exatamente para propiciar tais descobertas.

Os cinco integrantes do Grupo 1, coordenado pelo professor Diego de Freitas Aranha, obtiveram sucesso na execução de quatro planos de teste. O investigador individual Cassio Goldschmidt obteve achados parciais e não completou todos os passos previstos. Já o Grupo 4, com três integrantes, coordenado por Ivo de Carvalho Peixinho, também conseguiu sucesso parcial na execução de um plano de teste.

Durante quatro dias de evento, cada um com nove horas ininterruptas de trabalho, o total de 14 especialistas renomados de todo o país apresentaram 13 planos de ataques, mas apenas 10 foram executados  – formas diferentes de identificar vulnerabilidades no sistema e procedimentos de segurança, tanto na captação como na apuração de votos. A equipe de jornalistas da Assessoria de Comunicação do Tribunal Superior Eleitoral (TSE) conversou com os três representantes dos planos de testes exitosos e que servirão de subsídio para o aprimoramento do sistema eletrônico de votação.

Importância do evento

Há consenso entre os investigadores sobre a importância do evento no ponto de vista de contribuição para a melhoria do sistema.

Na visão do doutor em Ciência da Computação pela Unicamp, Diego Aranha, “os Testes Públicos de Segurança são importantes para detectar prematuramente vulnerabilidades no ecossistema de software e hardware do sistema eletrônico de votação, e permitir que especialistas independentes forneçam um diagnóstico do estado atual da tecnologia eleitoral no país”.

Para Cassio Goldschmidt, mestre em engenharia de software, o sistema de votação brasileiro é um assunto sério de segurança nacional. Por isso, em sua avaliação, ataques contra esse sistema ameaçam o coração da democracia e soberania brasileira. “Nossos adversários incluem hackers à procura de fama, partidos políticos, organizações que podem se beneficiar dos resultados de eleições, e, principalmente, nações com unidades especiais de hackers treinados para conduzir espionagem e ataques cibernéticos”, disse.

Dessa forma, para ele, convocar cidadãos brasileiros qualificados para contribuírem com melhorias no processo eleitoral “é um passo importante para diminuir o número de falhas críticas de segurança que possam existir nesse sistema, além de possibilitar o seu aperfeiçoamento”.

O perito criminal da Polícia Federal, Ivo de Carvalho Peixinho, conta que o primeiro contato mais técnico com o sistema eletrônico de votação foi em meados de 2016, quando, a convite do TSE, ele e outros cinco peritos analisaram os códigos-fonte. Este ano, ele e mais dois peritos se inscreveram para o TPS 2017, tendo uma participação “bastante satisfatória”. Segundo Peixinho, apesar do pouco tempo que tiveram para a preparação do plano, em virtude de demandas externas da PF, a equipe pôde usar os quatro dias de teste para executar sua proposta, chegando a resultados interessantes.

“Os testes públicos são importantes para validar as proteções de segurança das tecnologias que envolvem o sistema eletrônico de votação. Não participei dos testes anteriores, mas fiquei positivamente surpreso com a liberdade que tivemos em realizar o nosso plano de ataque: todos os planos propostos de todas as equipes foram aprovados. Nosso plano de teste previa um dia para execução, porém tivemos todo o período do teste (quatro dias) para trabalhar em cima dele”, conta.

Planos de teste

Dos 10 planos de teste efetivamente executados, quatro não tiveram contribuição relevante e seis tiveram êxito. Mesmo os planos que não foram executados dentro do previsto trouxeram achados e sugestões significativas para o sistema eletrônico de votação.

O Grupo 1 teve, segundo ele, como principal sucesso detectar e utilizar uma sequência de vulnerabilidades para injetar código de autoria nos programas da urna eletrônica antes do processo de carga, quando o software é instalado.

“Essa instalação é realizada a partir de um cartão de memória preparado pelos TREs, chamado flash de carga, que pode instalar software em até dezenas de urnas. As vulnerabilidades necessárias para isso foram encontradas na decifração do cartão de memória para revelar seu conteúdo, a partir da captura da chave criptográfica diretamente do código-fonte; e na existência de bibliotecas de código cujas assinaturas não eram verificadas pelo sistema, problema causado por uma combinação de erros de programação e falha procedimental. O relatório do TSE é bem detalhado ao descrever contramedidas, mas essencialmente o corpo técnico do Tribunal deve trabalhar em aprimorar o processo de autenticação do software para evitar injeção de código intruso e mover as chaves criptográficas armazenadas diretamente no código-fonte para lugares de armazenamento mais seguro”, explica Diego Aranha.

O plano de teste do investigador individual, Cássio Goldschmidt, fez a revisão de código e teste dinâmico de geração das mídias para a preparação da urna eletrônica (GEDAI-UE), o qual gerou duas recomendações aceitas pelo TSE.  A primeira se deve ao fato de que, durante a revisão do código-fonte, o investigador encontrou uma fragilidade no sistema que possibilita inserir código malicioso sem detecção dentro de fotos dos candidatos que serão carregadas na urna. “Apesar do carregamento do código malicioso não garantir a sua execução, o TSE compreendeu a relevância do achado e se comprometeu a modificar o sistema para remover qualquer código que possa ser inserido na urna desta maneira”, observou. O teste visou encontrar falhas no sistema GEDAI-UE que pudessem comprometer os dados de entrada e saída da urna. Além de buscar adulterar os dados de entrada do sistema com a finalidade de causar falhas de integridade, disponibilidade ou confidencialidade, o investigador utilizou ferramentas de gerenciamento de vulnerabilidades para testar ataques conhecidos contra a segurança do sistema operacional Windows.

A segunda recomendação se refere à proteção contra transbordamento de dados (do inglês buffer overflow). É a tentativa de forçar e derrubar o sistema por excesso de dados.  Ás vezes, o sistema não está preparado para receber grande quantidade de dados ao mesmo tempo; então o sistema falha, por não estar preparado. O investigador explicou que, em determinados casos, é possível para um atacante reescrever dados de memória adjacente e, com isso, executar comandos por ele definidos. “Esse tipo de exploração foi usado em muitos vírus famosos que abalaram a Internet, como o Code Red e o SQL slammer.  Minha recomendação detalha como o TSE pode usar medidas de proteção proativas para prevenir um possível ataque de transbordamento de dados em todos os componentes do sistema”, informou.

O grupo liderado por Ivo de Carvalho Peixinho executou o plano de teste “Extração de chave privada do Sistema Operacional da Urna Eletrônica”. De acordo com o perito, durante a análise dos códigos em 2016, o grupo da PF percebeu que havia uma proteção no início do cartão que era usado para carga da urna, a fim de evitar que ele fosse executado em um computador PC tradicional. Essa proteção apresentava uma mensagem informativa do TSE e impedia o carregamento do restante do sistema operacional. Diante disso, um integrante da equipe levantou a possibilidade de contornar essa proteção e inicializar o cartão em um PC por meio de engenharia reversa. Colocaram o software para funcionar fora da urna, numa máquina virtual e conseguiram.

Segundo Peixinho, no TPS 2017, como a equipe trabalhou em um ambiente virtualizado que simula um PC real, foi possível extrair a memória volátil (RAM) da urna, algo que não seria capaz com o sistema executando diretamente na urna eletrônica. A partir dessa extração, o grupo localizou a chave de criptografia utilizada para cifrar os arquivos que são usados na urna, incluindo programas, bibliotecas, arquivos de configuração e chaves de criptografia.

Ele ressalta que o Grupo 1, liderado por Diego Aranha, conseguiu decifrar os arquivos com a mesma chave e repassou à equipe de Peixinho os arquivos decifrados, mediante autorização da coordenação do teste. “O TSE declarou no seu relatório final que havia ainda uma proteção adicional de criptografia nas chaves, porém não houve como validar essa afirmação. Esse pode ser um bom caminho a seguir no próximo teste público ou na próxima etapa de validação do código-fonte, prevista para ocorrer antes das Eleições de 2018”, diz.

Próximos testes

O professor Diego Aranha diz que pretende se aposentar após trabalhar por cinco anos em diversas frentes para o aprimoramento de segurança da urna eletrônica. “Torço para que os demais membros do Grupo 1, Pedro Barbosa da UFCG, Thiago Cardoso da Hekima, Caio Lüders da UFPE; e o Prof. Dr. Paulo Matias, da UFSCar, continuem participando dos TPS e contribuindo da forma que puderem com o aprimoramento de segurança do sistema”, disse.

Questionado pelo TSE se participará novamente do TPS,CássioGoldschmidt afirmou que sim. Para ele, o sistema de votação brasileiro é extremamente complexo para se entender durante o espaço de tempo em que é provido o teste. “Após essa primeira familiarização, poderei contribuir com mais achados e recomendações nos próximos anos. Sinto-me afortunado por ter sido o único investigador individual que produziu recomendações aceitas pelo TSE e pretendo voltar”.

Ivo de Carvalho Peixinho diz acreditar que participar dos testes públicos é um dever como cidadão, profissional da área e interessado no assunto. “Nem sempre é possível se ausentar de outras responsabilidades para dispor de praticamente uma semana inteira nesta participação, mas, na medida em que seja interessante para a minha instituição, tenho intenção de continuar participando”, conclui.

IC, LC, RC/JP/DM

icone mapa
Setor de Administração Federal Sul (SAFS)
Quadra 7, Lotes 1/2, Brasília/DF - 70095-901
Tribunal Superior EleitoralTelefone: (61) 3030-7000

Icone horário de funcionamento dos protocolos

Funcionamento dos protocolos administrativo e judiciário: segunda a sexta, das 11h às 19h. 

Horário de funcionamento de outros serviços e mais informações

Acesso rápido