La aplicación Voatz "Blockchain" utilizada en las elecciones estadounidenses tiene numerosos problemas de seguridad, según un informe



Voatz, la compañía con sede en Massachusetts que promociona una aplicación de votación móvil habilitada para blockchain, ha recibido críticas públicas por la falta de transparencia, entre otras cosas, especialmente cuando se trata de seguridad de datos. Y con la amenaza de manipulación de las elecciones, hay mucho más en juego que nunca.

Voatz ha sido utilizado en elecciones en Virginia Occidental; Condado de Jackson, Oregon; Condado de Umatilla, Oregon; elecciones municipales en el condado de Utah, Utah; así como en elecciones de segunda vuelta y elecciones municipales en Denver, Colorado.

La auditoría de seguridad pública realizada por una firma de terceros acreditada que los expertos han estado pidiendo es aquí, por fin. En diciembre de 2019, Voatz and Tusk Philanthropies, que financió la mayoría de los pilotos de votación móvil de Voatz, contrataron a la firma de seguridad Trail of Bits para realizar una auditoría integral de la caja blanca.

Aunque Voatz no pudo proporcionar un back-end para probar en vivo los vectores de ataques maliciosos, Trail of Bits tuvo acceso a todo el código fuente, incluido el servidor central, el cliente Android, el cliente iOS y la interfaz web del administrador.

El informe de auditoría es exhaustivo e incluye una revisión de seguridad de 122 páginas y un documento de 78 páginas sobre consideraciones de modelado de amenazas. Aquí hay un resumen rápido de las partes principales.

Voatz no necesita blockchain

El atractivo de la votación blockchain es que es un sistema descentralizado que no requiere que los votantes confíen en nadie. Pero el blockchain que usa Voatz no se extiende al cliente móvil. En cambio, Voatz ha estado aplicando los votos a una cadena de bloques de Hyperledger Fabric, que utiliza como registro de auditoría, algo que se hace fácilmente usando una base de datos con un registro de auditoría. El código que Trail of Bits examinó no usaba chaincode personalizado ni contratos inteligentes. De hecho, el informe dice:

“Toda la validación de datos y la lógica empresarial se ejecutan fuera de la cadena en la base de código Scala del servidor Voatz Core. Varios hallazgos de alto riesgo fueron el resultado de problemas de validación de datos y diputados confusos en el servidor central que podrían permitir que un votante se disfrazara como otro antes de tocar la cadena de bloques ”.

Debido a que los votantes no se conectan directamente a la cadena de bloques, no pueden verificar independientemente que los votos reflejen su intención. Pero cualquier persona con acceso administrativo a los servidores de back-end de Voatz tiene la capacidad de "desanonizar votos, negar votos, alterar votos e invalidar pistas de auditoría".

El informe encontró que el sistema Voatz no tiene ninguna mitigación para desanonizar a los votantes en función del momento en que se registró su boleta en la cadena de bloques. Aunque las preguntas frecuentes de Voatz reclamación (es que "una vez enviada, toda la información es anonimizada, enrutada a través de una" mixnet "y publicada en la cadena de bloques", esto fue llamado en cuestión en un informe del MIT, y ahora nuevamente en esta auditoría.

"No parece haber, ni se menciona, una red mixta en el código proporcionado a Trail of Bits", se lee en la auditoría. "El servidor central tiene la capacidad de desanonimizar todo el tráfico, incluidas las papeletas".

Trail of Bits confirmó los hallazgos del MIT: Voatz los cuestionó

El 13 de febrero, los investigadores del MIT publicaron el informe antes mencionado, "La votación se revienta antes de la cadena de bloques: un análisis de seguridad de Voatz, la primera aplicación de votación por Internet utilizada en las elecciones federales de los Estados Unidos", a la que Voatz respondió con una publicación de blog el mismo día para refutar lo que llamó un "informe defectuoso", lo que llevó a los investigadores del MIT a enviar Preguntas frecuentes con aclaraciones.

Resulta que la refutación de Voatz se escribió tres días después de que Trail of Bits confirmara la presencia de las vulnerabilidades descritas al MIT, después de haber recibido un informe resumido anónimo de los problemas del Departamento de Seguridad Nacional de los Estados Unidos. Esto sugiere que Voatz sabía que el informe era exacto antes de descartarlo públicamente.

La auditoría también cuestiona algunas de las objeciones de Voatz a los informes de los investigadores del MIT. Voatz declaró que la aplicación de Android analizada tenía 27 versiones anteriores, pero Trail of Bits escribió que "no identificó ningún cambio relevante de seguridad en la base de código" entre la versión de septiembre de 2019 de la aplicación utilizada por los investigadores del MIT que afectaría sustancialmente sus afirmaciones .

Voatz también discrepó con los investigadores que desarrollaron un servidor simulado, calificándolo de "enfoque defectuoso" que "invalida cualquier reclamo sobre su capacidad de comprometer el sistema en general". Voatz incluso escribió que esta práctica "niega cualquier grado de credibilidad en nombre de los investigadores".

Pero Trail of Bits afirma que "desarrollar un servidor simulado en los casos en que conectarse a un servidor de producción podría dar lugar a acciones legales es una práctica estándar en la investigación de vulnerabilidades. También es una práctica estándar en las pruebas de software ". Además, el informe señala que los hallazgos se centraron en el cliente de Android, pero no se basaron en un conocimiento profundo de los servidores de Voatz.

Las auditorías anteriores no fueron exhaustivas

A pesar de que Voatz promociona múltiples auditorías de seguridad, esta es la primera vez que se realiza una evaluación de caja blanca, con el servidor central y el backend analizados. Aunque no todas las auditorías anteriores son públicas, Trail of Bits las resumió todas.

Una revisión de seguridad previa fue conducido en agosto de 2019 por NCCC, una organización privada independiente sin fines de lucro que no emplea a ningún experto en seguridad técnica. La auditoría se centró en la usabilidad más que en la seguridad. En julio de 2018, un proveedor no identificado realizó una auditoría de recuadro negro de los clientes móviles de Voatz.

En octubre de 2018, TLDR Security, ahora conocido como ShiftState, realizó una amplia revisión de seguridad de la seguridad que incluyó la arquitectura del sistema, los flujos de trabajo de usuarios y datos y la planificación de mitigación de amenazas, pero no buscó errores en el sistema ni en la aplicación real. ShiftState luego realizó otra auditoría en diciembre de 2018, para ver si el sistema funcionaba según lo previsto y seguía las mejores prácticas.

Aunque el CEO de ShiftState Andre McGregor ha dicho previamente que Voatz "hizo muy bien", la revisión de Trail of Bits de la auditoría de ShiftState apunta a problemas con el registro limitado, servidores no administrados y una solución de malware anti-móvil Zimperium que no se habilitó durante el piloto.

Dado que todas las protecciones antisabotaje de Voatz para dispositivos móviles se basan en Zimperium, su inactividad significa que la aplicación podría haber sido manipulada trivialmente, ya que Voatz carece de protección adicional contra aplicaciones maliciosas que podrían acceder a información confidencial.

La auditoría final realizada por el DHS, realizada en octubre de 2019, simplemente examinó los recursos de la nube, no la aplicación, ya sea si hay evidencia de piratería o si podría detectarse si se lleva a cabo.

Más allá de las limitaciones de las evaluaciones de seguridad anteriores que Voatz ha promocionado sin hacer público, como el hecho de que ninguna de las auditorías incluyó vulnerabilidades de servidor y back-end, el informe de Trail of Bits afirma que los informes de las otras evaluaciones de seguridad realizadas fueron documentos técnicos . Esto cuestiona si los funcionarios electos están tomando decisiones basadas en documentos que no están calificados para leer.

Voatz parece salvajemente desorganizado

La evaluación de Trail of Bits duró una semana completa más de lo inicialmente programado "debido a una combinación de demoras en la recepción de código y activos, la complejidad inesperada y el tamaño del sistema y el esfuerzo de informes asociado".

Trail of Bits nunca recibió una copia funcional del código, prohibiendo a la empresa realizar pruebas en vivo, lo que significa que los investigadores se limitaron casi por completo a las pruebas estáticas, lo que les obligó a leer una gran cantidad de código. Según el informe, Voatz tiene tanto código que "requiere que cada ingeniero analice, en promedio, casi 3.000 líneas de código puro en 35 archivos por día de la evaluación para lograr una cobertura mínima".

Aunque Trail of Bits recibió acceso al backend para las pruebas en vivo un día antes de que se programara que finalizara la evaluación, se le pidió que no atacara o modificara la instancia de una manera que negara el servicio a auditorías concurrentes.

Voatz cometió errores de novato, y no parece serio acerca de las soluciones

Trail of Bits describió varios errores que podrían conducir a la observación de los votos, la manipulación o la desanonimización, o que podrían cuestionar la integridad de una elección.

Más allá del hecho de que los votantes no pueden validar independientemente que su recibo de boleta sea válido o que los votos se hayan contado correctamente, un empleado de Voatz podría en teoría obligar a un usuario a votar dos veces, permitirles votar dos veces o duplicar su voto sin su conocimiento en el backend . Además, Voatz usa un PIN de ocho dígitos para cifrar todos los datos locales, algo que podría descifrarse en 15 minutos.

Además, el informe encontró que la aplicación no tiene controles de seguridad para evitar que los dispositivos Android desatendidos se vean comprometidos. Las credenciales de API sensibles se almacenaron en repositorios git, lo que significa que cualquier persona en la empresa con acceso al código, tal vez incluso subcontratistas, podría usar o abusar de las claves secretas expuestas en los repositorios.

Los empleados de Voatz con acceso de administrador pueden buscar boletas electorales específicas. Voatz utiliza un protocolo de protocolo de enlace criptográfico ad hoc, que generalmente no se recomienda, ya que la criptografía casera es propensa a errores, y es mejor usar esquemas de cifrado que hayan sido estudiados y probados en el mundo real. El SSL (Secure Sockets Layer) no se configuró de una manera completamente segura, ya que falta una característica clave que ayude a los clientes a identificar cuándo se revoca un certificado TLS (Transport Layer Security).

En un caso, Voatz incluso cortó y pegó una clave y un vector de inicialización de una respuesta de desbordamiento de pila. En general, se desaconseja cortar y pegar código, incluso en los cursos de seguridad informática de nivel universitario, porque la calidad de la información en Stack Overflow varía e incluso un buen código puede no funcionar en un entorno específico. Sin embargo, cortar y pegar una clave y un IV es aún peor, ya que significa que la clave y el IV utilizados para cifrar los datos son idénticos a algo en Internet, aunque no se supone que sea público.

Incluso cuando se resumen, las recomendaciones de Trail of Bits son de ocho páginas. Voatz parece haber abordado ocho riesgos de seguridad, abordado parcialmente otros seis y dejó 34 sin reparar. Por lo general, las empresas tienen un plan integral sobre cómo solucionar los riesgos altos y medios. Sorprendentemente, Voatz decidió que "acepta el riesgo" de muchos de estos errores, esencialmente aceptar el riesgo en nombre de los votantes en lugar de hacer las correcciones sugeridas por la empresa que contrató.

Cointelegraph se ha comunicado con Voatz con una lista de preguntas, y el artículo se actualizará una vez que la empresa responda. Tanto Tusk Philanthropies como Trail of Bits remitieron a Cointelegraph a su separar Blog publicaciones sobre la auditoría y el informe en sí.

LO MÁS LEÍDO
Heaven32: