Investigadores promovem alterações importantes no sistema de segurança da urna (atualizada)
Teste Público de Segurança montou o cenário ideal para os avanços conquistados.
Foram quatro dias de testes envolvendo 16 especialistas renomados de todo o país e 10 planos de ataque executados - formas diferentes de identificar vulnerabilidades no sistema e procedimentos de segurança, tanto na captação como na apuração de votos. Na quarta edição do Teste Público de Segurança do Sistema Eletrônico de Votação (TPS 2017), mais uma vez o código-fonte da urna eletrônica foi disponibilizado em um ambiente preparado para estimular a descoberta de eventuais fragilidades e, dessa forma, contribuir para a democracia brasileira.
Diante desse cenário, o resultado não poderia ser diferente: o quarto TPS realizado pela Justiça Eleitoral foi o que trouxe mais contribuições. Três grupos registraram pontos relevantes a respeito da segurança da urna eletrônica.
O mestre em engenharia de software, CSSLP, CCSP, CIPP/US e CIPT, Cassio Goldschmidt, queria encontrar erros e vulnerabilidades que possibilitassem a inserção de código dentro no software responsável pela geração das mídias que preparam as urnas eletrônicas (GEDAI-UE), a fim de comprometer a confidencialidade, a integridade ou a disponibilidade dos dados e dos sistemas responsáveis pela votação eletrônica.
Ele não teve sucesso no plano de ataque, mas apresentou as seguintes sugestões a respeito do software da urna: mostrou técnicas para deixar o código-fonte da urna mais robusto e menos suscetível a ataques; e deu dicas para que as fotos dos candidatos que são inseridas na urna estejam ainda mais protegidas e sem riscos de alterações. Para os técnicos da Secretaria de Tecnologia da Informação do TSE, as sugestões são bastante enriquecedoras e serão levadas em consideração.
O perito da Polícia Federal Ivo de Carvalho Peixinho era o representante do grupo 4, que também tinha Fábio Caus Sicoli e Paulo Cesar Hermann Wanner como integrantes. O plano apresentado por eles era executar o software da urna eletrônica em um computador e, a partir daí, tentar extrair a chave secreta usada para proteger as mídias da urna eletrônica.
Usando a técnica da engenharia reversa, que é o processo de descobrir os princípios e o funcionamento de um sistema, através da análise de sua estrutura, função e operação, ele teve êxito no plano e levou o TSE a tomar as seguintes medidas: os procedimentos de engenharia reversa serão bloqueados pela equipe do TSE que trabalha na segurança da urna, além da retirada das chaves de dentro do código. Isso vai impedir que o software seja iniciado em qualquer ambiente fora da urna eletrônica.
Outro grupo que alcançou avanços nos planos apresentados foi coordenado por Diego de Freitas Aranha, professor doutor na Universidade Estadual de Campinas (Unicamp) com experiência na área de Criptografia e Segurança Computacional - com ênfase em implementação eficiente de algoritmos criptográficos e análise de segurança de sistemas reais. Ele representava a equipe formada também por: Caio Lúders de Araujo, da UFPE (que faltou ao teste); Paulo Matias, da UFSCar; Pedro Yossis Silva Barbosa, da UFCG; e Thiago Nunes Coelho Cardoso, da Hekima. No início dos trabalhos, eles tinham quatro planos: captura de chaves criptográficas do flash de carga, execução remota de código na plataforma web (RecArquivos e InfoArquivos), tentativa de violação do sigilo do voto e inserção de dispositivo USB malicioso.
Logo no primeiro dia de trabalho, eles tiveram avanços na captura das chaves do flash de carga. Abriram mão dos outros três planos e apresentaram novos ataques. No primeiro deles, o grupo identificou uma biblioteca sem a assinatura digital. Com isso, ele alterou o Log, que é o local onde todos os eventos da urna são registrados, e colocou novos comandos dentro dessa biblioteca. Conseguiu, por exemplo, fazer com que a máquina aceitasse que um teclado fosse acoplado a ela e recebesse os comandos desse teclado.
As conquistas levaram o TSE a rever outros procedimentos além da retirada da chave do código-fonte e corrigir as falhas do software que provocaram o não reconhecimento da assinatura da biblioteca, além de reduzir, ao mínimo, a quantidade de bibliotecas para facilitar o checklist dos procedimentos de segurança e a correção do software para que ele não aceite que dispositivo externo algum seja ligado à urna.
Durante os trabalhos, o grupo encontrou outra biblioteca sem assinatura, a que é usada para gerar a chave criptográfica do RDV (Registro Digital do Voto). Ele transformou os dados criptográficos da biblioteca para que ela pudesse gerar uma mesma chave, decifrar o RDV e, assim, identificar os votos da urna.
O plano foi considerado de sucesso porque o objetivo foi alcançado e o especialista detectou uma falha no sistema, que é novo, e não reconheceu a assinatura digital de uma outra biblioteca. No entanto, os registros de votos não foram alterados. O avanço permitiu apenas que a sequência dos votos fosse identificada. Ainda assim, para ser executada, em um dia de eleição, por exemplo, a urna precisaria ser ligada e desligada a cada eleitor que fosse votar, e o cartão de memória da urna precisaria ser retirado, levado até outro computador para que a informação sobre o sigilo daquele voto fosse quebrado.
Com o cartão de memória decifrado, surgiu o terceiro plano que também trouxe considerações relevantes ao sistema de segurança da urna. Ele pegou o binário que executa os textos que aparecem na tela da urna e modificou o que estava escrito em uma das telas. Na tela principal, em vez de aparecer “seu voto para” [governador, por exemplo], a mensagem era “vote em 99”.
O ataque reforça a necessidade de redução da quantidade de bibliotecas e as alterações no software para reforçar ainda mais as barreiras de segurança.
O grupo tentou também avançar nos trabalhos e alterar o voto, mas não obteve sucesso.
Tempo de trabalho
Para desenvolver os planos de ataque, os investigadores tiveram quatro dias, cada um com nove horas ininterruptas de trabalho. Tudo acordado previamente com os investigadores participantes, conforme prevê a Resolução TSE nº 23.444/2015 .
O Tribunal reconhece que o tempo dedicado ao aprimoramento do sistema de segurança da urna poderia ser maior; no entanto, acredita que utilizar uma mão de obra tão especializada por mais tempo poderia dificultar a participação dos especialistas, que disponibilizam conhecimento técnico sem qualquer contrapartida financeira.
Segurança do sistema eletrônico
Os planos de ataque de sucesso trazem importantes aprimoramentos para o sistema de segurança da urna eletrônica, cumprindo com o objetivo do teste, que é o aprimoramento do Sistema Eleitoral Brasileiro.
A cada eleição, o código-fonte é aprimorado e o sistema é lacrado em cerimônia pública e conferido várias vezes antes de a urna chegar à seção de votação. Além disso, antes da votação, o software passa pela conferência de hash , que é uma função que gera um número de conferência para validar a integridade de cada arquivo que existe na urna, para comprovar que o software conferido pelos fiscais de partido durante a preparação das urnas é exatamente o mesmo lacrado pelo TSE.
Em 20 anos de urna eletrônica, nenhuma fraude foi detectada durante o processo de votação. Além disso, acoplar qualquer aparelho externo à urna, tirar ou alterar cartões de memória exigem rompimento dos lacres de segurança, evidenciando a fraude, além de exigir o envolvimento criminoso de servidores da Justiça Eleitoral e voluntários que trabalham nas eleições. Para a fraude ser concretizada, seria preciso ainda contar com a anuência do eleitor que, na cabina de votação, teria que concordar com procedimentos fora do normal.
A decisão do TSE de realizar o teste de segurança em ano anterior às eleições, bem como o convite aos testadores para constatação posterior das ações adotadas pelo TSE, comprova a importância do TPS para que as contribuições trazidas sejam tratadas em tempo hábil à realização das eleições.
Outros planos de ataque
Para validar as inscrições dos investigadores, a comissão reguladora do TPS aprovou 12 planos de ataque. Porém, depois que os especialistas começaram a implementar os projetos apresentados ao TSE, esse número foi alterado. Assim, 15 projetos, no total, passaram pela comissão reguladora.
Desse total, cinco não foram realizados. O investigador Marcelo dos Anjos não compareceu ao TSE nos dias do teste. Ele tinha dois planos inscritos. E o grupo 1, liderado pelo professor Diego Aranha, abriu mão de três dos quatro planos inscritos inicialmente, depois de obter sucesso em um deles.
Quatro planos não trouxeram contribuição alguma para o sistema de segurança da urna eletrônica. Os investigadores Rodrigo Cardoso Silva e José Carlos Gama Quirino e o grupo 3, coordenado por Luís Antonio Brasil Kowada, não conseguiram cumprir os objetivos propostos nem fizeram observações que devessem ser adotadas pelos técnicos do TSE.
Tenha acesso aos documentos da quarta edição do Teste Público de Segurança: