El día que el sistema de voto electrónico Vot.Ar fue vulnerado

Vot.Ar fue vulnerado

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:

Cuentas de los técnicos

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:

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.

Bloqueo a 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:

Escrutinio provisorio a las 22 hs

En tanto que a las 2 horas del lunes 6 de julio, podía verse lo siguiente:

Escrutinio provisorio a las 2 hs

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.

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.)

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:

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).

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.

Actualización 2: Lousteau reconoce las irregularidades

16 comentarios sobre “El día que el sistema de voto electrónico Vot.Ar fue vulnerado

  1. 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.

  2. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *