TSE conclui Teste Público de Segurança do Sistema Eletrônico de Votação

O Tribunal Superior Eleitoral (TSE) concluiu na terça-feira (8) a última etapa da edição de 2017 do Teste Público de Segurança (TPS) do Sistema Eletrônico de Votação. Durante dois dias, investigadores dos dois grupos que identificaram vulnerabilidades durante a execução da primeira etapa, realizada em novembro passado, participaram do chamado Teste de Confirmação, em que puderam avaliar as correções efetuadas pela Secretaria de Tecnologia da Informação (STI) do Tribunal. Todas as medidas implementadas pela área técnica do TSE foram efetivas e sanaram os problemas apontados.

O TPS é realizado com o objetivo de permitir que investigadores das áreas de Tecnologia e Segurança da Informação identifiquem eventuais vulnerabilidades relacionadas à violação da integridade ou do anonimato dos votos, e apresentem sugestões de correção, que serão feitas pela equipe técnica do TSE antes das eleições. O evento ocorre em um espaço exclusivo na sede do Tribunal em Brasília (DF), com entrada controlada e ambiente monitorado por câmeras. Os participantes têm acesso a componentes do sistema eletrônico de votação aos quais jamais teriam em uma situação normal de eleição.

No primeiro dia do Teste de Confirmação, a equipe da Seção de Voto Informatizado (Sevin) do TSE, unidade responsável pelo desenvolvimento de todo o conjunto de softwares da urna eletrônica, fez um resumo dos achados do TPS 2017 e apresentou as alterações feitas no sistema. Em seguida, os investigadores tiveram a oportunidade de revisar todo o código-fonte atualizado, compará-lo com o utilizado em novembro passado e testar as correções.

Na avaliação do chefe da Sevin, Rodrigo Coimbra, o TPS 2017 foi um grande sucesso. “Os investigadores que participaram da última edição trouxeram contribuições valorosas para a melhoria da segurança do software da urna. Todas as vulnerabilidades encontradas em 2017 foram corrigidas e validadas para as Eleições 2018”, destaca.

O secretário de Tecnologia da Informação do TSE, Giuseppe Janino, lembra que, embora não haja registro de fraude comprovada nos 20 anos de utilização do sistema eletrônico de votação no Brasil, ao longo do período foram criados vários mecanismos de auditoria dos softwares com o objetivo de ampliar a segurança do sistema, entre eles os testes públicos de segurança.

“O TPS demonstra a transparência e o caráter democrático do sistema eleitoral informatizado, uma vez que conta com a participação da sociedade, que dá a sua contribuição para a melhoria contínua do processo”, disse Janino. “As evidências apontadas nesses eventos garantem: o processo eleitoral é seguro e a fraude é inviável”, afirmou.

Vulnerabilidades e correções

Na primeira etapa do TPS 2017, a equipe liderada pelo perito da Polícia Federal Ivo Peixinho (Grupo 4) tentou extrair uma chave criptográfica (segredo) presente no kernel (núcleo do sistema operacional), executando o bootloader (parte do software responsável por iniciar o sistema operacional da urna eletrônica) e o kernel em um computador virtual.

Na época, o grupo conseguiu contornar uma das barreiras de segurança que impediam esse tipo de execução, e foram capazes de recuperar a chave pretendida, sem, contudo, conseguir executar o programa de votação. Logo após o encerramento da primeira etapa do TPS, a equipe técnica do TSE acrescentou novas barreiras de segurança ao software.

No Teste de Confirmação, o Grupo 4 não ultrapassou o último e mais robusto obstáculo incluído no software, um mecanismo que estabelece uma relação de dependência entre o software e o hardware, não conseguindo, consequentemente, iniciar o sistema operacional. Em outras palavras, essa barreira impede a execução do sistema operacional em uma máquina virtual. “A gente viu que havia barreiras adicionais, conseguimos contornar duas delas, mas não conseguimos superar a terceira. Foi feita uma solução que a gente considerou aceitável”, disse Peixinho.

Coordenado pelo professor da Universidade Estadual de Campinas (Unicamp) Diego Aranha, o Grupo 1, por sua vez, havia obtido êxito no ano passado na exploração de três vulnerabilidades, sendo a primeira a presença de chaves criptográficas no código-fonte da urna. As duas últimas relacionavam-se à verificação da assinatura digital de bibliotecas de software. Todas as três vulnerabilidades foram ajustadas, e as correções puderam ser verificadas pelo Grupo 1, que não obteve nenhum avanço na repetição dos ataques realizados no ano passado.

A solução implementada pelo TSE para a proteção de chaves criptográficas e a sua retirada do código-fonte foi a criação de um mecanismo de derivação de chaves. Esse dispositivo usa um segredo gravado no BIOS (sistema básico de entrada e saída) da urna eletrônica – e só presente no equipamento – conjugado com um número aleatório. Com isso, o software calcula a chave sempre que entra em execução e não guarda mais nenhum segredo em seu código-fonte.

Já no que se refere às vulnerabilidades relativas à verificação da assinatura digital de bibliotecas de software, a equipe do TSE corrigiu um defeito na verificação de assinatura feita pelo kernel. A outra falha consistia na existência de arquivos não assinados digitalmente. A solução aplicada assegura que todos os arquivos estão assinados.

Segundo o professor Diego Aranha, a solução para as duas últimas vulnerabilidades foi adequada. Quanto à presença das chaves criptográficas no código-fonte, embora o Tribunal tenha implementado solução diferente da proposta pelo grupo, Diego Aranha reconheceu que houve um esforço por parte do TSE desde os últimos testes [de novembro de 2017] para “dificultar a utilização desses segredos”.

Fonte: TSE