El miércoles, cuando comenzó la ekoparty, tuve el placer de asistir a la charla de mi compatriota Diego Aranha, que presentó un análisis de las máquinas de voto electrónico de Brasil. Como veníamos hablando, este tema es central aquí en el evento y también en la coyuntura internacional.

De hecho, el tema está tan en boca de todos que en la última Black Hat, en julio, se anunció el programa “Defending Digital Democracy”, que cuenta con la participación y el patrocinio de empresas como Facebook y Google.

En el último tiempo tuvimos ejemplos concretos del impacto que puede tener en la sociedad la falta de seguridad en un proceso electoral, que determina su futuro y tiene un enorme impacto en países que tienen la democracia como forma de gobierno.

En 2015 y 2016 ya había sido discutido el tema en ekoparty; primero con la charla “Vot.Ar: una mala elección” y luego con “Una mala elección (actualizada)", en las que se analizó el panorama en Buenos Aires, Argentina. En ese entonces se llegó a la conclusión de que el sistema era vulnerable y susceptible a fraudes, que solo podrían ser mitigados haciendo recuento manual de los votos desde el registro manual en papel.

Este año llegó el aporte brasileño cuando Diego Aranha, profesor de la Universidad Estatal de Campinas, presentó su charla titulada "Security Analysis of Brazilian Voting Machines”.

Las pruebas a la urna electrónica en 2012

La charla comenzó con un repaso histórico de los diferentes aspectos relacionados a la seguridad de las elecciones brasileñas, resaltando el hecho de que las urnas allí fueron introducidas en 1996, aunque recién fueron objeto de análisis en 2012.

Las pruebas de 2012 fueron un marco para posibilitar la verificación de la seguridad de las elecciones brasileñas. Por primera vez, el sistema de votación fue puesto a disposición de especialistas para auditarlo, pero estas evaluaciones tuvieron drásticas restricciones como:

  • No se permitía tomar notas en papel al inspeccionar el código
  • Había apenas cinco horas para inspeccionar más de 13 millones de líneas de código
  • Había apenas tres días para montar el ataque de prueba, el cual debería ser previamente aprobado por la autoridad electoral

Además había muchas otras restricciones, también bastante desmedidas. Sin embargo, los investigadores hicieron su mejor intento y los resultados fueron altamente positivos (o negativos, considerando sus hallazgos).

Fue posible quebrar completamente el carácter secreto de los votos. La función utilizada para mezclarlos en la urna era simplemente rand() de la biblioteca stdlib de C, algo que se sabe es inseguro desde las fallas encontradas en Netscape en 1996.

Para hacer que esa vulnerabilidad fuera todavía más fácil de explotar, el generador pseudo-aleatorio era inicializado con el horario de la zerésima, un pequeño documento público que se imprime cuando comienza la elección, al abrir una urna, con la finalidad de mostrar que no hay votos computados en ella todavía.

Figura 1: Ejemplo de zerésima con horario utilizado para inicializar el generador pseudoaleatorio

O sea, a través de información no solo pública, sino también obligatoriamente proporcionada por ley, un adversario era capaz de reordenar los votos realizados en la urna.

Además, cada voto contaba con metadatos referentes al horario en que fue puesto en la urna. Esto permitía cosas como la extorsión, o incluso que se descubriera el candidato predilecto de figuras públicas, a través de la correlación entre otros datos fácilmente accesibles en Internet.

Figura 2: Ejemplo de metadados posiblemente utilizado para vulnerar el secreto del voto

El análisis también encontró problemas como el uso masivo de la misma clave hardcodeada en el código de la urna, algo inadecuado porque ignora la posible existencia de atacantes internos o acceso al TSE, además de problemas relacionados con el chequeo de integridad del software de votación, aunque debido a las restricciones de tiempo, esta vulnerabilidad no se ha explotado.

A pesar de los problemas críticos encontrados, la evaluación final del TSE fue bastante contrastante. Se determinó que la categoría de ataque que vulneró el sigilo del voto se encuadraba en la "tentativas de causar fallas en las urnas" y necesitaba de acceso físico a las máquinas (a pesar de ser un ataque destinado a achivos electrónicos generados durante la votación). Por lo tanto, se le atribuyeron solo 0.0313 de 400 puntos posibles.

Desde las pruebas de 2012, hubo algunas otras (pocas). En 2014 se realizó una más, que volvió a mostrar vulnerabilidadesparecidas a las reportadas en 2012. Al año siguiente, una auditoría a pedido de uno de los principales partidos políticos brasileños concluyó que no es técnicamente posible auditar el sistema del TSE.

En 2016 hubo otro, pero para participar era necesario firmar un acuerdo de confidencialidad que obligaba a guardar bajo secreto "toda la información a la que se accedió". Esta cláusula desalentó la participación de muchos expertos del sector.

El voto impreso

Uno de los principales problemas encontrados en el sistema actual es la ausencia de un registro de voto en papel (o que no sea digital). El hecho de que los votos sean registrados y contados solo con medios electrónicos permite que un atacante que consiga alterar el registro de voto pase desapercibido por las pistas de auditoría implementadas.

Diversos países utilizan sistemas híbridos de votación, con registro de votos electrónico y en papel. En la charla vimos que en países como México, Venezuela, India, Argentina y Estados Unidos (en algunos estados) utilizan sistemas híbridos de votación.

Como vimos en el caso de las elecciones de Buenos Aires, la posibilidad de mitigar los fraudes deriva justamente del hecho de si existe un medio no digital. La realidad brasileña, sin embargo, es bastante diferente. Hace muchos años que la votación en papel ha sido suprimida y solo ahora, después de demostrarse varias vulnerabilidades, el TSE va a volver a adoptar (de manera híbrida) el registro en papel de los votos - en el 5% de las urnas de las elecciones de 2018.

Podemos percibir que la seguridad de la información tiene un papel esencial en nuestra sociedad moderna, y la tendencia es que se intensifique. La tecnología es muy importante en varios aspectos de nuestra vida, pero, parafraseando el informe de "Vot.Ar: una mala elección", "ningún avance tecnológico debe debilitar la democracia".