Na semana passada, tive o enorme prazer de participar de mais uma edição da Ekoparty, uma conferência hacker realizada anualmente em Buenos Aires, na Argentina. Durante o evento, os participantes, entusiastas e especialistas, discutem sobre as mais recentes inovações, vulnerabilidades, ferramentas e outros temas de segurança da informação.

Um tema bastante presente no primeiro dia da conferência foi a (in)segurança das eleições no Brasil e no mundo. Nos últimos tempos tivemos exemplos concretos dos impactos que a falta de cibersegurança pode ocasionar na sociedade, determinando seu futuro e tendo enorme impacto em países que têm a democracia como forma de sucessão de poder.

Não por acaso, na última Black Hat Conference, em julho deste ano, foi anunciado o programa “Defending Digital Democracy”, com participação e patrocínio de empresas como Facebook e Google. No entanto, o tema de segurança em eleições já vem marcando presença nas principais conferências hackers ao redor do mundo nos últimos anos, incluindo a Ekoparty.

Em 2015 e 2016, foram apresentadas na Ekoparty as palestras Vot.Ar: una mala elección e Una mala elección (actualizada), nas quais foi analisado o sistema de votação eletrônico da cidade de Buenos Aires (recém implementado). Os especialistas concluíram que o sistema era vulnerável e susceptível a fraudes, mitigada apenas pela recontagem manual de registro em papel dos votos.

Neste ano, o evento contou com a presença de Diego Aranha, professor da Unicamp, que ministrou a palestra Security Analysis of Brazilian Voting Machines.

Os testes da urna eletrônica em 2012

A palestra começou fornecendo um histórico de diferentes aspectos relacionados à segurança das eleições no Brasil, ressaltando o fato de que as urnas brasileiras foram introduzidas em 1996, embora só tenham sido objeto de análise em 2012.

Os testes realizados em 2012 foram um marco ao possibilitar a verificação da segurança das eleições brasileiras. Pela primeira vez, o sistema de votação foi colocado à disposição de especialistas para auditoria, mas tiveram drásticas restrições como:

  • Não era permitido tomar notas em papel ao inspecionar o código
  • Havia apenas cinco horas para inspecionar mais de 13 milhões de linhas de código
  • Haviam apenas três dias para montar o ataque, que deveria ser pré-aprovado pelo TSE

Além de outras tantas restrições, também descomedidas. Apesar de todas as restrições impostas durante o teste, os resultados foram altamente positivos (ou negativos, dependendo da sua interpretação).

Foi possível quebrar completamente o sigilo dos votos. A função utilizada para embaralhar os votos na urna era simplesmente rand() da biblioteca stdlib do C, algo que é inseguro desde as falhas encontradas no Netscape em 1996.

Para tornar essa vulnerabilidade ainda mais fácil de ser explorada, o gerador pseudo-aleatório era inicializado com o horário da zerésima, que é impressa na abertura da urna e é um documento público.

Figura 1: Exemplo de zerésima com horário utilizado para inicialização do gerador pseudo-aleatório.

Ou seja, através de informações não apenas públicas, mas obrigatoriamente fornecidas por lei, um adversário era capaz de reordenar os votos realizados na urna.

Além disso, cada voto contava com metadados referentes ao horário que foi posto na urna. Este fato abria possibilidades para a extorção (i.e.: voto de cabresto) ou mesmo a descoberta do candidato de preferência de figuras públicas, através da correlação de outras informações facilmente acessíveis na Internet.

Figura 2: Exemplo de metadados possivelmente utilizado para a quebra de sigilo do voto.

A análise também apontou problemas como o uso massivo da mesma chave hardcoded no código da urna, modelagem inadequada de ameaça (ao desconsiderar a possível existência de atacantes internos ou acesso ao TSE), além de problemas relacionados à checagem de integridade do software de votação, embora essa vulnerabilidade não tenha sido explorada devido à restrição de tempo do teste.

Apesar dos problemas críticos apontados, a avaliação final do TSE foi bastante contrastante. Foi julgado que a categoria do ataque que quebrou o sigilo do voto se enquadrava em “tentativa de causar falhas nas urnas” e necessitava de acesso físico às máquinas (apesar de ser um ataque puramente sobre arquivos eletrônicos gerados durante a votação), atribuindo, portanto, apenas 0.0313 de 400 pontos possíveis.

Desde os testes ocorridos em 2012, houve mais algumas (poucas) avaliações. Em 2014 foi realizado mais um teste, que voltou a mostrar vulnerabilidades semelhantes às reportadas em 2012. No ano seguinte, uma auditoria a pedido de um dos principais partidos políticos brasileiros concluiu que não é tecnicamente possível auditar o sistema do TSE.

Em 2016 houve mais um teste, mas para participar seria necessário assinar um NDA que obrigava guardar sob sigilo “todas as informações acessadas, divulgadas ou conhecidas”. Esta cláusula desencorajou a participação de muitos especialistas do setor.

O voto impresso

Um dos principais problemas apontados no atual sistema de votação é a ausência de um registro em papel (ou não-digital) do voto. O fato dos votos serem registrados e contados de maneira pura e unicamente eletrônica, permite que um atacante que consiga alterar o registro do voto passe desapercebido pelas trilhas de auditoria implementadas.

Diversos países utilizam sistemas híbridos de votação, com registro eletrônico e em papel dos votos. Na palestra vimos que em países como México, Venezuela, índia, Argentina e EUA (em alguns estados) utilizam sistemas híbridos de votação.

Como vimos no caso das eleições em Buenos Aires, a possibilidade de mitigar fraudes advinham justamente do fato de existir uma mídia não-digital dos votos. A realidade brasileira, no entanto, é bastante diferente. Há muitos anos que a votação em papel foi suprimida e somente agora, depois de se apontar diversas vulnerabilidades, que o TSE vai voltar a adotar (de maneira híbrida) o registro em papel dos votos – em 5% das urnas das eleições de 2018.

Podemos perceber que a segurança da informação possui um papel essencial em nossa sociedade moderna, e a tendência é que esse fato se intensifique. A tecnologia é muito importante em diversas partes de nossa vida, mas – parafraseando o relatório de “Vot.Ar: una mala elección” – “nenhum avanço tecnológico deve debilitar a democracia”.