El informe explica que el software implementado por la JCE estaba mal diseñado

Santo Domingo, RD.- La Organización de Estados Americanos (OEA), responsabilizó a la Junta Central Electoral (JCE), de las fallas en el sistema de voto automatizado que provocó la suspensión de las elecciones municipales del 16 de febrero.

Entre las conclusiones de la investigación se establece que “la ejecución de un proceso de personalización de urnas carente de un adecuado control de integridad de la información, debido a un defecto del software, es la causa raíz del primer incidente, que desencadenó en una sucesión de acciones e imprecisiones que derivaron finalmente en la suspensión de las elecciones.

Agrega que “el defecto no se detectó durante la fase de prueba, debido a que no se realizó un adecuado testing del software”.

Dice que “ya durante la personalización de las urnas, se materializó la falla, puesto que al no contar con el control de integridad, dicho proceso permitió personalizar urnas con la oferta electoral incompleta (no incluía a todos los candidatos) y que es por esta razón que el día de las elecciones muchos equipos no contaban con todos los candidatos en el sistema”.

Hallazgos durante la investigación: 

1. Falta de estandarización de las imágenes de candidatos para voto automatizado

La JCE no estableció un criterio estandarizado para que los partidos políticos
proveyeran las imágenes de candidatas y candidatos a ser incorporados en las
diversas ofertas electorales. En consecuencia, se recibieron imágenes que en algunos
casos fueron de gran tamaño (peso en bytes).

Los técnicos de la JCE tampoco redujeron el tamaño de esas imágenes a la hora de incorporarlas al sistema.Esto ocasionó que el grupo de imágenes correspondiente a la oferta electoral, que debía incorporarse a la base de datos de cada urna durante la personalización, fuese de gran tamaño, lo que constituyó un factor para la interrupción de la descarga de la oferta durante la personalización.

2. Falta de control de integridad en el software de personalización de las urnas

El software diseñado para la personalización de la urna no incluyó el control de
integridad de la oferta electoral que se descargaba en un archivo.
Existen numerosos recursos de software para controlar la integridad que, en este
caso en particular, consistía en validar que la oferta electoral alojada en el servidor
se descargara adecuadamente a la urna. Era suficiente con seleccionar uno de los
recursos disponibles y aplicarlo en el proceso de personalización.

No contar con esta medida esencial de control fue lo que facilitó la materialización
de la falla. En caso de haber existido, los técnicos habrían podido detectar que no se
había descargado la totalidad de la información desde el servidor a la urna y habrían
alertado para que no se tomara como válida dicha personalización.
La falla consistió en la descarga incompleta de la oferta electoral incorporada a la
urna, es decir, sin contar con la totalidad de los candidatos.

3. El proceso de personalización no mostró mensajes alertando de la falla

a) Si bien el proceso contemplaba dos opciones de personalización (manual y
automática), se configuró para ejecutarlo en forma automática, por lo que el
usuario solo esperaba a que concluyera el procedimiento.

b) Los funcionarios de la JCE que llevaron adelante la tarea no eran expertos, sino
simples usuarios del sistema, y no recibieron alertas del software sobre fallas en
la descarga de la oferta electoral.

c) La utilidad BCP (Bulk Copy Program), es una línea de comando con la cual se
programa la copia masiva de datos entre una instancia de SQL Server y un
archivo de datos (utilizando un archivo de formato especial). Este comando se
utilizó en el procedimiento de personalización de las urnas y tal como fue
configurado, no reportó error alguno durante el proceso (independientemente
de la red empleada para personalizar la urna).

4. No se analizó previamente la infraestructura de redes antes de personalizar las urnas

La personalización de las urnas se inició utilizando la red LAN instalada en el almacén
denominado “La Colina”, perteneciente a la JCE. Esta red LAN no fue evaluada para
saber si podría soportar la carga de trabajo (con una oferta electoral de gran tamaño
en bytes) para la personalización de forma simultánea de las urnas.

Por la saturación del enlace de red entre “La Colina” y la sede central de la JCE, el
proceso de personalización se tornó lento, al punto de comprometer los plazos
previstos para el despliegue del kit tecnológico para la jornada electoral.
En virtud de esta lentitud y apremiados por el tiempo, los técnicos de la JCE optaron
por otras alternativas para complementar los puestos que personalizaban urnas
mediante la red LAN. Particularmente, se analizó habilitar la personalización
mediante enlace inalámbrico utilizando módems USB 3g y 4g.

En ningún caso se analizó el impacto del empleo de numerosos puestos (conexiones
a la red) que de manera concurrente generaban tráfico al descargar una oferta
electoral de gran tamaño (peso en bytes). Esto pudo haber ocasionado problemas
adicionales de red e interrupciones de procesos, que no fueron contemplados y que
pudieron haber propiciado la materialización de la falla de oferta incompleta.

5. El área de redes propuso incorporar módems 3G para la personalización de urnas, sin realizar un análisis previo de su capacidad para transmitir el volumen de datos necesario para la personalización de las urnas

Se dispuso un pequeño grupo de módems 3G (seis aproximadamente), que aportó
puestos complementarios a los de la red LAN que estaban en uso. Estos dispositivos
inalámbricos resultaron insuficientes finalmente.

Al emplear estos módems, se produjo un incidente de seguridad de la información,
ya que se afectó la integridad de la oferta electoral dado que se descargó incompleta
en un grupo de urnas.

El área de seguridad informática de la JCE no detectó este problema y, por lo tanto,
tampoco calificó este incidente de seguridad de la información. Por la misma razón,
no realizó reclamos oportunos a la empresa proveedora.

El equipo auditor realizó diferentes pruebas de forma independiente y en conjunto
con los técnicos de la JCE sin lograr reproducir la falla con los módems 3G.

6. El área de redes propuso emplear módems 4g, justificando la decisión en la velocidad que podría aportar esta tecnología

Se inició la personalización mediante esta red con aproximadamente seis módems.
Al percibir una velocidad que superaba las expectativas (sin notar que se interrumpía
la descarga y por eso culminaba rápidamente el proceso), se procedió a disponer
una cantidad cercana a los treinta módems 4g pese a que:

a) No se había evaluado esta tecnología para la personalización, con una
demanda como la que impondría la oferta electoral debido a imágenes no
estandarizadas y, en algunos casos, de gran tamaño en bytes;

b) Tampoco se comunicó a la compañía proveedora que se requería un ancho
de banda y prestaciones de servicio especiales para llevar adelante la
personalización de urnas, lo que hubiese permitido contar con las previsiones
del caso por parte de su personal de soporte técnico;

c) El contrato con la compañía proveedora de módems 4g no contaba con
Acuerdo de Nivel de Servicio o SLA por sus siglas en inglés (Service Level
Agreement) que garantizase el desempeño esperado en este tipo de tareas
(que no son comunes, por el peso en bytes de las imágenes y la criticidad del
proceso);

d) No se solicitó soporte especial a la compañía proveedora de módems 4g para
asistir a la JCE durante la personalización de urnas, lo que pudo haber
permitido contar con prestaciones de servicio especiales y, tal vez, la
posibilidad de detectar el error oportunamente mediante análisis de tráfico y
comprobación de interrupciones.

7. Ausencia de un protocolo para el control de calidad del clonado y la personalización

Esta situación es clave en la cadena de sucesos que favorecieron el despliegue de
equipos con la oferta electoral incompleta. Se trata de una grave deficiencia en el
control, que debió llevarse adelante sin depender de terceros. El personal técnico de
la JCE justificó su ausencia debido a lo siguiente:

* Existió una convocatoria a los partidos políticos para determinar en conjunto
con ellos el protocolo para el control de calidad de la personalización y el
clonado, que incluyese la verificación del hash22 (entre otros elementos de
control).

* Según la Dirección de Informática, la reunión terminó sin ningún acuerdo
sobre el protocolo de control de calidad de la personalización, debido a las
posiciones de algunos partidos. Los partidos solicitaron hacer el control el día
de la instalación de los equipos, y que se le entregara la lista de los seriales de
todas las urnas automatizadas.

* Al no haber acuerdo, no se definió el protocolo para control de calidad y
validación de la personalización de los Kits de Votación.

8. La mitigación (o resolución) de la falla no estaba planificada y resultó deficiente

En caso de que hubiera algún problema, la única medida de contingencia
contemplada era el reemplazo de máquinas. Por lo tanto, inicialmente se procuró la
sustitución de equipos, hasta comprobar que la cantidad de equipos de backup no
era suficiente para solucionar el problema.

Se buscó entonces remediar la falla mediante una re-personalización controlada. En
este caso, dos expertos guiaban al técnico para lograr la corrección.
Se procedió a reducir el tamaño de las imágenes correspondientes a la oferta
electoral a ser descargada, debido a que notaban la demora por el peso en bytes de
las imágenes.

Se decidió finalmente aplicar, como método de mitigación, la re-personalización no
asistida por expertos a fin de hacerlo masivamente ante el número de equipos
detectados con la oferta electoral incorrecta.

9. Se produjo entonces un nuevo y grave incidente de seguridad de la información, ya que ciertas mesas se re-personalizaron con la información de otra, lo que afectó la integridad y la disponibilidad de la información

Numerosas mesas fueron re-personalizadas con la información de otra mesa, lo que
constituyó una falla de alto impacto ya que no se podía iniciar votación en esas
condiciones.

El equipo auditor analizó 75 equipos de este universo y constató la descarga de más
de una oferta en cada una de ellas.

10. Un importante grupo de urnas no transmitió boletín cero

Previo al inicio de la votación, las urnas debían transmitir el denominado boletín
cero, un resumen para demostrar que todas las candidaturas tenían cero votos en la
base de datos de la urna.

En caso de que el proceso hubiera sido exitoso, se debió haber conectado y transmitido el 100% de los equipos, es decir, 9.757 unidades. Se comprobó que solo transmitieron 7.613 urnas, por lo que quedaron sin transmitir el boletín cero 2.144 urnas.

Recomendaciones:

Tomando en consideración los hallazgos de esta auditoría, el equipo auditor considera acertada la decisión de no utilizar el sistema de voto automatizado para las elecciones municipales extraordinarias celebradas el 15 de marzo de 2020. Bajo ese mismo criterio, se recomienda no utilizarlo en las próximas elecciones presidenciales programadas para este año.

Con el objetivo de mejorar los procedimientos de diseño, desarrollo e implementación de
software, así como la gestión de procesos informáticos de la Junta Central Electoral, el equipo de auditoría brinda las siguientes recomendaciones, cuyo cumplimiento será esencial para evitar la ocurrencia de hechos como los acaecidos en el proceso electoral municipal.

1. Crear un proceso formal para el desarrollo y liberación del software;

2. Elegir un estándar que permita documentar el ciclo de vida del software;

3. Seleccionar un estándar o desarrollar un proceso que facilite la identificación de
defectos de software y documente su ciclo de vida;

4. Fortalecer la calidad del software, dado que los principales determinantes de la calidad
del software se logran principalmente antes de que comience el testeo.

5. Establecer un procedimiento de testing de software acorde a las aplicaciones críticas
que se desarrollan y emplean en la JCE. Se debe capacitar al personal y dotar al área de
los recursos necesarios.

6. Determinar los mecanismos de seguridad, niveles de servicio, y requisitos de gestión de
todos los servicios de red, generando un adecuado acuerdo de nivel servicios con las
empresas proveedoras.

7. Los sistemas a emplear en la JCE deben poseer controles que aseguren tanto la
disponibilidad como la integridad de la información en forma continua. En el mediano
plazo se deberá establecer, implementar, mantener y mejorar de manera continua un
sistema de gestión de continuidad de las operaciones. Esto permitirá a la JCE
protegerse, reducir la probabilidad de ocurrencia, prepararse, responder, y recuperarse
de incidentes disruptivos cuando acontezcan.

8. Establecer un procedimiento de preservación de todos los artefactos de software a
emplear en la elección y sus ítems de configuración. Se debe designar un agente de
custodia para guardar los artefactos del sistema de votación (que cuente con el acuerdo
de las agrupaciones políticas) y que permita una custodia confiable e independiente.

9. La implementación paulatina de innovaciones tecnológicas, basada en un desarrollo
formal del software, acompañada por un riguroso proceso de testing y liberación del
sistema, permitiendo que tanto la autoridad electoral como los partidos y la sociedad
(con la debida divulgación y capacitación) estén preparados para cambios de tal
envergadura.

10. Desarrollar auditorías y evaluaciones independientes como parte de un proceso formal,
conocido y debidamente programado, y no como un recurso al que se apela solo ante
aquellos eventos que cuestionan la transparencia o efectividad de un sistema
informático. Estos ejercicios se deben realizar con suficiente antelación para que
puedan realizarse todas las pruebas necesarias para garantizar la robustez y fiabilidad
de los sistemas a implementar.