El sistema de voto electrónico (conocido como «Boleta Única Electrónica«) Vot.Ar tiene múltiples vulnerabilidades conocidas. La defensa que hasta ahora ensayan tanto la empresa como los múltiples impulsores del voto «fácil y rápido» es que ninguna de ellas ha sido explotada en las elecciones en que se ha utilizado, pero pocos conocen en detalle lo sucedido antes de las elecciones del 5 de julio de 2015 en la Ciudad Autónoma de Buenos Aires. En dicha oportunidad, un aspecto de la seguridad del sistema fue vulnerado, y de no ser por la buena voluntad de quienes descubrieron el problema, las consecuencias podrían haber sido graves.
El mecanismo de transmisión de datos
Antes de proseguir, es necesario explicar cómo funciona el mecanismo de transmisión de los datos de cada mesa para el escrutinio provisorio. En cada centro de votación (escuela), un técnico de la empresa MSA toma una de las máquinas de Vot.Ar, la inicia con un software especial de transmisión y la conecta a Internet (usando la red de la escuela, una conexión 3G/4G, etc.). Luego, utilizando dicho software, el delegado del Tribunal Superior de Justicia toma los «telegramas» (boletas con chip RFID) que le acercan los presidentes de las distintas mesas, los lee con la máquina y esta los transmite a un servidor de MSA, del que luego la autoridad electoral tomará los datos para el escrutinio provisorio.
¿Cómo se realiza la autenticación de cada una de las terminales, para evitar que alguien pueda transmitir datos falsos? Usando certificados SSL. El mecanismo es simple: cada terminal de transmisión dispone de un certificado X.509 y su correspondiente clave privada, mediante la cual se autentica ante el servidor. De esta forma, este último «sabe» que quien envía los datos es quien dice ser. Este mecanismo se utiliza, además, para garantizar la integridad de la información (esto es, que los datos recibidos son iguales a los datos enviados).
El problema
Para que este mecanismo funcione, en cada máquina transmisora debe estar instalada la clave privada correspondiente al certificado que la identifica. Es vital que esta sea mantenida en secreto, ya que quien logre hacerse de ella puede suplantar la «identidad» de una máquina de transmisión, posibilitando el envío de datos falsos de manera indetectable por el servidor. La empresa MSA debería haber utilizado algún medio seguro para distribuir estas claves apropiadamente (evitando que sean interceptadas por terceros). La forma más razonable hubiera sido utilizar los canales de comunicación formales con el Tribunal Superior de Justicia, ya que sus delegados eran los responsables de la transmisión de datos. Pero la solución implementada estuvo lejos de cualquier atisbo de razonabilidad.
¿Cómo solucionó MSA la distribución de certificados y claves? Poniéndolas a disposición de cada técnico a través de una aplicación web. Amén del error de confiar la transmisión de los datos del escrutinio provisorio a personas contratadas a través de consultoras de recursos humanos (con quienes la empresa ni siquiera tuvo contacto presencial), esto se hizo de la peor manera posible: una vez que un técnico obtuviera un certificado de su escuela, podría determinar fácilmente la forma de descargar el resto.
Por ejemplo, cuando el técnico destinado al Instituto Summa ingresaba al sistema, podía descargar el certificado y la clave del siguiente URL:
https://caba.operaciones.com.ar/media/certificados/CABA_6_9-Instituto_Summa.tar.gz
Dado que el nombre de cada uno de los 791 centros de votación se encontraba en un archivo del sistema Vot.Ar (que había sido filtrado unos días antes), era trivial determinar el URL para descargarlo:
https://caba.operaciones.com.ar/media/certificados/CABA_<COMUNA>_<NÚMERO>-<NOMBRE>.tar.gz
Y para empeorar aún más la situación, el nombre de usuario de cada técnico en el sistema era su apellido seguido de sus nombres, y su contraseña era su dirección de e-mail. Por increíble que parezca, hasta lo pusieron por escrito en los manuales de capacitación:
En definitiva, la empresa MSA puso en manos de sus técnicos contratados la seguridad de la transmisión de datos del escrutinio provisorio (aún cuando en las escuelas estos tenían vedada la participación en el proceso efectivo de transmisión, que debía ser realizado por los delegados del TSJ). Además, lo hizo implementando un sistema de usuarios y contraseñas fácilmente deducible. Y para empeorar aún más la situación, una vez que alguien (un técnico o alguien que tuviera acceso a esta información) lograba hacerse de un certificado y una clave para la transmisión de datos, podía fácilmente descargar los de todos los centros de votación.
La filtración de los certificados
Como cualquiera (excepto el personal de MSA) podía imaginarse, el sistema de autenticación de técnicos y de distribución de certificados y claves fue vulnerado. Afortunadamente, quienes lo lograron decidieron hacerlo público:
Usuario y contraseña: nombre completo e email. Url para descargarse certificados SSL: https://t.co/EogvRwvAYy
— Prometheus (@prometheus_ar) 25 de junio de 2015
documentada la violacion a la seguridad de centro de datos voto electronico http://t.co/t0cP009Ety aplicar la ley pic.twitter.com/LfziVmFhHF
— Sergio A (@tus240millones) 26 de junio 2015
Además, fue publicada la lista completa de las direcciones (URL) para descargar los certificados y las claves en http://justpaste.it/lzap. (A quien le interese examinar un certificado, puede descargar uno que fue almacenado el 25 de junio de 2015 en archive.org, incluyendo la clave correspondiente y el certificado de la Autoridad de Certificación.)
El 25 de junio de 2015, faltaban 10 días para la realización de los comicios. Esto le dio a MSA más de una semana para cambiar su esquema de distribución y generar nuevos certificados para los centros de votación (algo para lo que bastaban un par de días). Además, el programador Joaquín Sorianello (uno de los descubridores del fallo) se comunicó inmediatamente con un colega empleado de la empresa para ponerlo al tanto de la situación.
Además de los certificados y las claves, también se filtraron los datos personales de todos los técnicos contratados por MSA, lo que hace sospechar de un problema de seguridad aún mayor en los sistemas de la empresa. La explicación oficial del Gobierno de CABA para todas estas filtraciones, a través de Guillermo Montenegro, fue que «Hackearon el mailing. El sistema es seguro». Nada más.
Las posibles consecuencias
¿Qué podría haber pasado si quienes detectaron el problema no lo hacían público? Ni la empresa, ni la Justicia Electoral, ni el público en general se habrían enterado de la falla. ¿Qué habría sucedido el domingo 5 de julio luego de las 18 horas, si alguien hubiese utilizado maliciosamente los certificados y las claves expuestas por MSA? Alguien podría haberse conectado al servidor de MSA autenticándose con las claves, simulando ser las máquinas de transmisión de los centros de votación, y transmitido resultados falsos para escrutinio provisorio. Esto hubiera pasado aún si los certificados y claves divulgados 10 días antes no eran los que se usarían el día de la elección: el atacante podría haberlos descargado nuevamente apenas unos minutos antes de las 18 horas.
¿Podría haber prosperado tal adulteración del escrutinio provisorio? Difícilmente. Pero seguramente la noche del domingo no podría haberse realizado el escrutinio provisorio. Lo que es imposible saber es qué tipo de problemas políticos y de disputas podrían haberse suscitado ante esta hipotética situación (inédita en la historia electoral de la CABA). Lo que hubiera quedado perfectamente claro es la precariedad del sistema de transmisión de datos implementado por la empresa MSA y avalado por el Tribunal Superior de Justicia. Pero nada de esto ocurrió, como ya fue dicho, gracias a la buena voluntad de quienes descubrieron el problema.
Las consecuencias reales
La primera consecuencia de la divulgación de los errores de MSA fue que una jueza mandó a bloquear los URL donde fue publicada la información filtrada (algunos proveedores de Internet optaron por bloquear completamente el sitio justpaste.it.
Otra consecuencia fue que la empresa MSA abandonó el uso de certificados SSL para autenticar las máquinas de transmisión: montó una VPN y adquirió 850 tokens USB. A la luz de los resultados, el esquema de seguridad improvisado no funcionó del todo bien. A las 22 horas del domingo 5 de julio, la página del escrutinio provisorio mostraba lo siguiente:
En tanto que a las 2 horas del lunes 6 de julio, podía verse lo siguiente:
En 4 horas sólo se contabilizaron 178 mesas (un 2,4%). Y las restantes 370 mesas (el 5%) no aparecerían en el sistema. Los telegramas de varias escuelas llegaron al centro de cómputo no mediante una VPN, sino con el delegado del TSJ y el técnico de MSA montados arriba de un taxi. Por supuesto, nadie notó este detalle: la elección ya estaba definida y los candidatos habían festejado y reconocido la derrota, según el caso, a las 21 horas. ¿Que habría pasado si la elección hubiese sido reñida?
Un error menor (casi una nota de color, comparado con el resto) fue que la empresa MSA cargó mal los totales de votantes por comuna (intercambiando la 1 con la 15, la 2 con la 14, y así sucesivamente). Como resultado, hasta que notaron el problema, algunas comunas exhibían más votos que votantes.
Pero lo más relevante en el contexto de este artículo ocurrió el día viernes inmediato anterior al domingo electoral: siendo las 21:30 horas, con una orden judicial, la Policía Metropolitana allanó el domicilio del programador Joaquín Sorianello. (Casualmente, el mismo día en que fue publicada la vulnerabilidad «multivoto» de Vot.Ar.)
Después de encontrar una vulnerabilidad grave en el sistema de voto electrónico a #MSA estan allanando mi casa, los de delitos informaticos.
— Joaquín Sorianello (@_joac) 4 de julio de 2015
Configuran mal un server, avisas, te allanan la casa
— Joaquín Sorianello (@_joac) 4 de julio de 2015
Si, allanaron mi casa. Se estan llevando computadoras, kindles, y toda clase de memoria.
— Joaquín Sorianello (@_joac) 5 de julio de 2015
Así es que la empresa MSA denunció penalmente por daños al programador que 10 días antes de las elecciones los puso sobre aviso de un problema ocasionado por un error (grosero) de ellos, impidiendo que se produjera un daño real (ya no sólo a la empresa, sino a todos los ciudadanos de la CABA). Cabe destacar que en estos casos, la práctica usual es recompensar económicamente a quien informó el fallo (que bien podría haberlo vendido en el mercado negro). La noticia fue publicada en varios medios nacionales (Clarín, La Nación, Telam), como así también en medios internacionales. Incluso el periodista Jorge Lanata en su programa Periodismo Para Todos se ocupó del tema, la misma noche de la elección:
Hoy, a casi 9 meses del allanamiento, el peritaje judicial a los equipos de Sorianello, parece tener ciertos problemas técnicos:
Falló la indexacion de la copia forense de mi máquina. Hay que volver a empezar todo.
— Joaquín Sorianello (@_joac) 28 de abril de 2016
Conclusión
Claramente, el esquema de seguridad montado por MSA para el escrutinio provisorio del 5 de julio en la CABA fue altamente deficiente. También fallaron las auditorías y controles oficiales, que no sólo no detectaron los problemas sino que tampoco reaccionaron al ser puestos estos en evidencia. El sistema de voto electrónico (boleta única electrónica) Vot.Ar fue vulnerado, pero la única causa judicial es el proceso penal que se le sigue al programador que informó a la empresa del grosero error que habían cometido.
Pero nada, ni aún este artículo, parece ser suficiente para hacer reflexionar a quienes impulsan la implantación de este sistema a nivel nacional (a contramano de la tendencia mundial).
En rojo, países que usan masivamente computadoras para votar. ¿Esa es la modernidad que queremos? #VotoElectrónico pic.twitter.com/n5gUs6ULot
— Javier Smaldone (@mis2centavos) 17 de marzo de 2016
Actualización (1 de agosto de 2016)
Finalmente, Joaquín Sorianello fue sobreseído en la causa penal por daños, y el peritaje oficial concluyó que la seguridad del sistema de MSA era vaga y fácilmente vulnerable.
Es hora que nuestros gobernantes empiecen a pensar con la cabeza y no con la billetera. Algunos últimamente ya parecen mercenarios de MSA.
Besis a J.M.
Excelente post. Muy esclarecedor.
Lo malo es que «rápido, fácil y moderno» son ahora los nuevos «valores» democráticos.
Gracias, Javier!
Muy Claro el articulo!!!
Bueno, por lo que entiendo no es mas que la incidencia de la telepolitica en la realidad.
Los politicos que no tienen contacto con la realidad mas alla de los estudios de television, apoyan esta tematica para no soportar una estructura territorial que les aporte los fiscales indispensables para el control de una eleccion.
Despues si las cosas no funcionan, se quejan de FRAUDE, tambien por los medios. Pero esos politicos, generalmente escindidos de los partidos tradicionales, no cuentan con una estructura de militante capaz de fiscalizar como dicta la vieja y querida ley Saen Peña.
No es modernidad, no es necesidad de saber antes.
Solo es comodidad de esta raza politica que prefiere que la realidad se la cuente un periodista y no un grupo de ciudadanos.