Testes Públicos de Segurança do Sistema Eletrônico de Votação

Origem: Wikipédia, a enciclopédia livre.

Testes Públicos de Segurança do Sistema Eletrônico de Votação, também conhecido pela sigla TPS ou simplesmente por Testes Públicos de Segurança, é uma das etapas de segurança da Urna Eletrônica Brasileira. Até às Eleições de 2018 o TSE já havia organizado 4 Testes Públicos de Segurança[1].

Segundo o secretário de Tecnologia da Informação do TSE, Giuseppe Janino, “os testes de segurança são um evento inédito no mundo. Nenhum país faz o que a Justiça Eleitoral brasileira faz: abrir seu sistema eleitoral, seja ele informatizado ou não, para que potenciais hackers tentem derrubar as barreiras de segurança[2]. Ainda conforme o Janino "até hoje nenhuma das equipes, em quatro edições, conseguiu quebrar o sigilo do voto nem tão pouco mudar os resultados. Nesse evento, inclusive, facilitamos muito a vida dos hackers. Abrimos os programas, os algoritmos, abrimos fisicamente as urnas, desativamos várias barreiras de segurança para facilitar produtividade para que ele vá diretamente ao ponto que ele deseja. A partir daí ele vai diretamente ao plano de ataque. Verificando alguma fragilidade, nós anotamos, realizamos as alterações a partir daí chamamos novamente os hackers para que eles possam tentar de novo"[3].

Histórico[editar | editar código-fonte]

O Tribunal Superior Eleitoral (TSE) realiza, regularmente, testes públicos de segurança das urnas eletrônicas com técnicos de fora do tribunal. A obrigatoriedade e a periodicidade dos testes públicos de segurança estão previstas na Resolução nº 23.444/2015 do Tribunal, que instituiu o evento como parte integrante do processo eleitoral brasileiro, devendo ser realizado antes de cada eleição ordinária[2].

Durante o período de testes, os especialistas convidados atacam o sistema da Urna Eletrônica Brasileira em busca de vulnerabilidades da mesma. Após os testes, o tribunal apresenta um relatório com as falhas e apresenta as soluções, chamando novamente os técnicos externos para conferir a correção implantada. Nos dias que antecedem as eleições, os técnicos do TSE se preparam para serem atacados por hackers de todo o mundo. Segundo o secretário de Tecnologia da Informação do tribunal, Giuseppe Janino, são 200 mil tentativas por segundo de quebrar o sistema de segurança da urna eletrônica, sendo que ninguém nunca conseguiu adulterar o sistema.[4]

O primeiro Teste Público de Segurança do Sistema Eletrônico de Votação foi realizado em 2009, quando o TSE promoveu um teste controlado de invasão entre os dias 10 e 13 de novembro daquele ano, onde impôs uma série de restrições do que os hackers poderiam fazer, ignorando um cenário real onde um hacker pode agir utilizando engenharia social e modificação do hardware.[5]

Naquela oportunidade, em resposta a convites[6] do TSE, nove equipes de possíveis hackers com um total de 38 especialistas foram inscritos, na sua maioria funcionários públicos[7][8] dos quais apenas 20 compareceram[9], e tentaram quebrar os mecanismos de segurança das urnas eletrônicas.[10][11][12] Sete instituições fiscalizaram os trabalhos: Organização dos Estados Brasileiros, Câmara Federal, Exército Brasileiro, Serviço Federal de Processamento de Dados, Tribunal de Contas da União, Federação Nacional de Empresas de Informática e Polícia Civil do Distrito Federal.[13]

2009[editar | editar código-fonte]

Foi a primeira edição deste evento, que é realizado regularmente pelo Tribunal Superior Eleitoral (TSE) com técnicos de fora do tribunal onde especialistas convidados atacam o sistema da Urna Eletrônica Brasileira em busca de vulnerabilidades da mesma.

Este edição ocorreu nos dias 10, 11, 12 e 13 de novembro de 2009 e contou com a participação de 37 investigadores, na sua maioria funcionários públicos[7][8] dos quais apenas 20 compareceram[9], e tentaram quebrar os mecanismos de segurança das urnas eletrônicas.[10][11][12] Sete instituições fiscalizaram os trabalhos: Organização dos Estados Brasileiros, Câmara Federal, Exército Brasileiro, Serviço Federal de Processamento de Dados, Tribunal de Contas da União, Federação Nacional de Empresas de Informática e Polícia Civil do Distrito Federal.[13]

Críticas[editar | editar código-fonte]

Uma das críticas foi que o TSE impôs uma série de restrições a que os hackers poderiam fazer, ignorando um cenário real onde um hacker pode agir utilizando engenharia social e modificação do hardware.[5]

Por conta disso, já na segunda edição o TSE liberou o acesso à internet e ao código-fonte aos grupos interessados, sob supervisão da Comissão Disciplinadora, para que fosse possível chegar a um resultado mais expressivo[14].

Vulnerabilidades e Modificações[editar | editar código-fonte]

Algumas vulnerabilidades do sistema da Urna Eletrônica Brasileira foram percebidas. Com isso, uma das melhorias implementadas no sistema foi desenvolvida com base nas sugestões colhidas a partir do teste do vencedor da primeira edição, o especialista em Tecnologia da Informação Sérgio Freitas. Ele tentou violar o sigilo do voto por meio da captação de ondas eletromagnéticas emitidas pelas teclas da urna durante a digitação[15].

Apesar de não obter sucesso, já que o aparelho de rádio utilizado pelo investigador somente conseguiu captar essa radiação a uma distância de cinco centímetros da urna eletrônica, o que na prática torna inviável, o TSE desenvolveu novas barreiras de segurança aplicando uma espécie de “blindagem” ao teclado. A novidade impede que um simples aparelho de rádio capte os sons emitidos pelas teclas da urna[15].

Outra melhoria foi aplicada nos lacres dos envelopes, que desde então, passaram a ser relacionados numericamente aos lacres, isto é, passaram a ter o mesmo número que os envelopes[15].

2017[editar | editar código-fonte]

Foi a quarta edição deste evento, que é realizado regularmente pelo Tribunal Superior Eleitoral (TSE). Nesta edição, que foi realizada entre os dias 28 e 30 de novembro de 2017, técnicos de fora do tribunal e especialistas convidados atacaram o sistema da Urna Eletrônica Brasileira que foi utilizada nas Eleições de 2018 em busca de vulnerabilidades[16][17].

O evento ocorreu em um espaço exclusivo na sede do TSE em Brasília (DF), com entrada controlada e ambiente monitorado por câmeras. De acordo com o Tribunal, os participantes tiveram acesso a componentes do sistema eletrônico de votação aos quais jamais teriam em uma situação normal de eleição[18].

Falhas Encontradas[editar | editar código-fonte]

De acordo com o relatório técnico oficial da Seção de Voto Informatizado[19], foram encontradas durante o evento oito vulnerabilidades ou pontos a serem melhorados:

  1. Presença de chaves de criptografia no código-fonte
  2. Bug na validação de assinatura de binários pelo kernel
  3. Existência de bibliotecas de link dinâmico sem assinatura complementar
  4. Uso de teclado externo
  5. Inicialização em máquina virtual
  6. Parâmetros de segurança no compilador
  7. Validação de comentários em arquivos JPEG

De acordo com artigos científicos publicados pelo Grupo 1, por meio da junção das vulnerabilidades 2 e 3 com as vulnerabilidades 1 ou 5, era possível executar código arbitrário na urna. Apesar dessa capacidade, por si só, implicar na violação completa das propriedades de segurança (integridade e sigilo) do sistema[20][21], os investigadores seguiram realizando demonstrações diversas de modificações no software da urna, por exemplo alterando mensagens de texto exibidas ao eleitor na Urna para fazer propaganda a um determinado candidato[22] ou removendo a camada de cifração do Registro Digital de Voto (RDV)[23].

Nas horas finais do período de testes, os investigadores adulteraram o software para interferir com a representação dos votos em memória antes da inserção no RDV e do cômputo no contador de votos, mas o evento foi encerrado no intervalo entre os investigadores testarem uma versão do software que deixava de armazenar votos e uma versão que desviava os votos para determinado candidato[20][21]. Apesar de representantes do TSE terem alegado, em algumas ocasiões[24], que os investigadores não teriam sido capazes de "alterar o voto", a Secretaria de Tecnologia da Informação do Tribunal admitiu, em memorando[25], que a alteração de votos era conclusão lógica e natural da capacidade de adulterar o software.

Testes de Confirmação e Soluções Apresentadas pelo TSE[editar | editar código-fonte]

O Teste de Confirmação foi a segunda e última etapa do evento. Nesta edição, ela foi realizada em maio de 2018.

Após as falhas terem sido encontradas em novembro de 2017, o TSE realizou um trabalho para dirimir estas vulnerabilidades.

Para mitigar as vulnerabilidades de Presença de chaves de criptografia no código-fonte e Inicialização em máquina virtual, os técnicos do TSE alteraram o bootloader da urna para, em vez de utilizar uma chave fixa contida em seu próprio código, computar essa chave a partir de uma estrutura denominada CriptoTable, presente no firmware da BIOS da Urna. Desta forma, a equipe que havia descoberto a falha, de posse somente da flash de carga, não conseguiu repetir no Teste de Confirmação o procedimento demonstrado na primeira etapa do TPS para iniciar o sistema operacional[18]. Em 2019, técnicos do TSE incorporaram a correção definitiva para este problema, que consistia em usar o dispositivo de segurança em hardware (MSE) em todas as urnas[26].

Sobre o Bug na validação de assinatura de binários pelo kernel[27], o TSE concluiu que esta vulnerabilidade havia sido introduzida durante um processo de atualização do kernel Linux utilizado pela Urna, que ainda não tinha sido colocado em produção, e que por isso não havia chances de esta falha ter acontecido em eleições anteriores[28]. No entender de José de Melo Cruz "a falha específica encontrada foi colocada no nosso processo de atualização do sistema. Essa atualização é necessária de ser feita, é difícil de ser feita, para que o software esteja acompanhando as mais novas formas de sistema operacional. Esse trabalho é árduo e está em andamento, mas não é nada impossível de ser conseguido"[28].

Com relação à Existência de bibliotecas de link dinâmico sem assinatura complementar, o TSE incorporou uma verificação para garantir que todos os arquivos estarão sempre assinados[18].

Com isso, no entender do TSE, "todas as medidas implementadas pela área técnica do [Tribunal] foram efetivas e sanaram os problemas apontados" em novembro de 2017[27].

Edições[editar | editar código-fonte]

Edição Data Ref.
1.ª edição 10 a 13 de novembro de 2009 [5]
2.ª edição 20 a 22 de março de 2012 [14]
3.ª edição 8 a 10 de março de 2016 [2]
4.ª edição 28 a 30 de novembro de 2017 [1]

Referências

  1. a b tse.jus.br/ Testes Públicos de Segurança do Sistema Eletrônico de Votação 2017
  2. a b c tse.jus.br/ Série Urna Eletrônica: testes públicos de segurança demonstram transparência e atestam confiabilidade da urna
  3. oglobo.globo.com/ Suspeita sobre urna eletrônica não tem 'fundamento na realidade', diz secretário de tecnologia do TSE
  4. Carolina Brígido (1 de outubro de 2016). «Sistema das urnas sofre 200 mil ataques de hackers por segundo». O Globo 
  5. a b c noticias.terra.com.br/ Hackers acusam TSE de manipular desafio de urnas eletrônicas
  6. Convite do TSE à Marinha reproduzido in Fórum do Voto Eletrônico
  7. a b O “gran finale” de uma vergonha in Tijolaço.com
  8. a b Maria Aparecida Cortiz (17 de dezembro de 2009). «HACKERS OU "RACKERS" tentaram violar o sistema eleitoral». Jus Brasil. Consultado em 28 de abril de 2011 
  9. a b Teste de Penetração em Urnas Eletrônicas in Fórum do Voto Eletrônico, acessado em 06 de abril de 2011
  10. a b Perito quebra sigilo e descobre voto de eleitores em urna eletrônica do Brasil Arquivado em 1 de junho de 2012, no Wayback Machine. in IDG.Now!
  11. a b Pedro Dourado Rezende (29 de dezembro de 2009). «Devagar com o andor da urna». UnB. Consultado em 28 de abril de 2011 
  12. a b Urnas eletrônicas resistem a ataque de hackers em teste in G1.com
  13. a b Testes públicos de segurança da urna eletrônica http://agencia.tse.jus.br/sadAdmAgencia/noticiaSearch.do?acao=get&id=1301493&toAction=VIDEO_HOT_VIEW
  14. a b tse.jus.br/ Testes de segurança: investigadores têm acesso ao código-fonte da urna eletrônica
  15. a b c tse.jus.br/ Série Urna Eletrônica: testes públicos de segurança demonstram transparência e atestam confiabilidade da urna
  16. tse.jus.br/ TSE publica relatório técnico do Teste Público de Segurança 2017 da urna eletrônica
  17. tecmundo.com.br/ Urnas eletrônicas brasileiras são testadas e apresentam novas falhas
  18. a b c tse.jus.br/ TSE conclui Teste Público de Segurança do Sistema Eletrônico de Votação
  19. «PDF.js viewer» (PDF). www.justicaeleitoral.jus.br. Consultado em 8 de setembro de 2022 
  20. a b Aranha, Diego F.; Barbosa, Pedro; Cardoso, Thiago N. C.; Lüders, Caio; Matias, Paulo (25 de outubro de 2018). «Execução de código arbitrário na urna eletrônica brasileira». SBC: 57–70. Consultado em 8 de setembro de 2022 
  21. a b Aranha, Diego F.; Barbosa, Pedro Y.S.; Cardoso, Thiago N.C.; Araújo, Caio Lüders; Matias, Paulo (setembro de 2019). «The return of software vulnerabilities in the Brazilian voting machine». Computers & Security (em inglês): 335–349. doi:10.1016/j.cose.2019.06.009. Consultado em 8 de setembro de 2022 
  22. senado.leg.br/ Teste feito por equipe da Unicamp revelou falhas de segurança nas urnas eletrônicas
  23. olhardigital.com.br/ Urna eletrônica é hackeada em teste público de segurança do TSE
  24. CCJ - Voto impresso - TV Senado ao vivo - 13/03/2018, consultado em 8 de setembro de 2022 
  25. TSE. «Ofícios do Teste de Confirmação do TPS 2017» (PDF) 
  26. Monteiro, José; Lima, Saulo; Rodrigues, Robson; Alvarez, Paulo; Meneses, Marciano; Mendonça, Fernando; Coimbra, Rodrigo (2 de setembro de 2019). «Protegendo o sistema operacional e chaves criptográficas numa urna eletrônica do tipo T-DRE». SBC: 1–12. doi:10.5753/wte.2019.14039. Consultado em 8 de setembro de 2022 
  27. a b noticias.r7.com/ TSE conclui testes de segurança na urna eletrônica
  28. a b politica.estadao.com.br/ Teste em urnas eletrônicas identifica três falhas; TSE diz que não há riscos em votação