Signal supuestamente corrigió silenciosamente una grave vulnerabilidad de privacidad
Esta semana, investigadores de seguridad han dirigido la atención hacia un hallazgo interesante al usar la aplicación Signal en múltiples plataformas.
Cuando tu o tus contactos reinstalan Signal o cambian a un nuevo dispositivo, es posible que el número de seguridad no siempre cambie.
El número de seguridad o cifra de seguridad es una función de Signal que ayuda a los usuarios a verificar la seguridad de sus mensajes y llamadas con sus contactos. Y, normalmente se espera que cambie cuando cualquiera de las partes reinstala la aplicación o cambia de dispositivo.
Signal no siempre restablece tu número de seguridad
Las aplicaciones de mensajería cifrada de extremo a extremo como Signal tienen una función de seguridad llamada “número de seguridad” o un “código de seguridad”. Este a veces es representado como un código QR.
Tú y cada contacto tuyo en Signal comparten un Número de Seguridad (SN) único que. El numero sirve como huella digital y ayuda a ambos contactos a verificar la privacidad de sus comunicaciones.
Tú o tu contacto pueden abrir la aplicación Signal y tocar los nombres de los demás. Si tocas “Verificar número de seguridad”, verás cuál es el número de seguridad de tu contacto.
El número está representado tanto en forma numérica legible por humanos como en un código QR:
Si el contacto reinstala la aplicación de mensajería, cambia a un nuevo teléfono o cambia el número de teléfono, el código cambiará. Generalmente, se espera que cambien el número de seguridad y el código QR.
O, al menos, eso es lo que decía la documentación de Signal hasta el mes pasado:
“Los escenarios más comunes en los que se muestra un aviso de número de seguridad son cuando un contacto cambia a un nuevo teléfono o vuelve a instalar Signal. Sin embargo, si un número de seguridad cambia con frecuencia o de forma inesperada, puede ser una señal de que algo anda mal”.
Documentación de Signal archivada el 22 de mayo de 2021.
Pero, los investigadores de seguridad Kelly Kaoudis, John Jackson, Sick Codes y Robert Willis revelaron lo contrario. Ellos descubrieron que al instalar Signal en un nuevo dispositivo y transferir su cuenta, el número de seguridad de sus contactos y ellos no cambiaba. Y tampoco se alertó a los contactos sobre ningún cambio de número de seguridad.
En el caso de Kaoudis, la investigadora se sorprendió al saber que el número de seguridad para ella y su contacto se mantuvo sin cambios.
Vulnerabilidad en todas las plataformas
Además, los investigadores probaron este comportamiento en múltiples plataformas que actualmente son compatibles con Signal. Las plataformas que ellos probaron fueron Linux, OSX, Android, iOS y Windows. Ellos afirman que los números de seguridad no siempre cambiaron entre ellos tras la eliminación y reinstalación de la Signal. Tampoco sucedió cuando cambiaron a un dispositivo diferente.
En las pruebas realizadas recientemente, la desinstalación y reinstalación de la aplicación Signal en dispositivos Android e iOS si funcionó. La aplicación restableció el número de seguridad y notificó a los contactos sobre el cambio del número de seguridad.
Es decir, no se pudo comprobar los problemas descritos en el informe de los investigadores.
“A mediados de mayo, obtuve un teléfono nuevo. En ese momento entendí que, con cualquier cambio en el dispositivo o la instalación de cualquiera de las partes en un chat con historial de mensajes, el número de seguridad del chat de Signal cambiaba”.
“Esto solía ser así, pero ya no se refleja en la documentación de soporte de Signal”.
Kaoudis
El cambio ocurrió después de un correo electrónico enviado por los investigadores al equipo de Signal durante el transcurso de un mes
Desde su informe de este problema a Signal, los investigadores afirman que el problema se resolvió misteriosamente. Ellos alegan que Signal implementó parches que creen que fueron responsables de resolver el problema.
Ten en cuenta que Signal ha cambiado desde entonces su documentación de soporte para leer:
“Los escenarios más comunes en los que se muestra un aviso de número de seguridad son cuando un contacto cambia a un teléfono nuevo o vuelve a instalar Signal. No obstante, estas acciones no siempre resultan en un cambio de número de seguridad“.
Entonces, ¿cuándo y por qué cambian los números de seguridad?
Para comprender mejor el problema, le preguntamos Signal específicamente en qué circunstancias cambian los números de seguridad y cuándo no.
Signal ha dicho que no se han realizado cambios en el código fuente que conciernen a los números de seguridad.
El vicepresidente de ingeniería de Signal, Jim O’Leary, afirma además que las actualizaciones realizadas recientemente formaban parte de las actualizaciones de mantenimiento normales. Y, explica por qué los números de seguridad pueden no cambiar en todas las circunstancias.
Las respuestas posteriores a los informes de los investigadores de Signal nos brindan una mejor comprensión de cómo funcionan los números de seguridad de Signal. Es decir, nos permiten comprender cuándo cambian y cuándo no.
El CEO de Signal, Moxie Marlinspike, intervino en Twitter para aclarar dudas sobre las circunstancias en las que los números de seguridad no cambian:
“Intentaste (e informaste) instalar en un nuevo dispositivo mediante la transferencia de dispositivo de Signal, e intentaste hacer un ciclo de un dispositivo vinculado”.
“Estos no dan como resultado notificaciones de cambio de SN, porque el material clave subyacente no ha cambiado, por lo que no hay nada que advertir”.
Por “material clave”, Marlinspike se refiere a qué forma la base de los números de seguridad y cómo se generan. Tal como se explica en las publicaciones del 2016 y 2017.
Además, en la misma conversación de Twitter, Marlinspike agrega que el informe de los investigadores cubre un caso de transferencia de dispositivo Signal, seguido del ciclo de dispositivos vinculados.
Sin embargo, al desinstalar o reinstalar Signal en un dispositivo desvinculado, se supone que los números de seguridad cambian. Y, que “así es como siempre funcionó y se suponía que debía funcionar”.
Si Signal hubiera parcheado furtivamente cualquier problema descrito en el informe, al ser de código abierto, su historial de confirmaciones de GitHub revelaría los cambios:
Propósito de los códigos de seguridad
El propósito original de los números de seguridad es permitir a los usuarios verificar la seguridad de sus mensajes y llamadas con contactos específicos.
“Cada chat uno a uno de Signal tiene un número de seguridad único que permite verificar la seguridad de tus mensajes y llamadas con contactos específicos”.
“La verificación de los números de seguridad es una buena práctica de seguridad para las comunicaciones confidenciales. Si un número de seguridad se ha marcado como verificado, cualquier cambio debe aprobarse manualmente antes de enviar un nuevo mensaje”.
“Esto permite a los usuarios verificar la privacidad de su comunicación con un contacto y ayuda a protegerse contra cualquier intento de ataque man-in-the-middle“.
Por lo tanto, si el número de seguridad entre tú y tu contacto cambia y ambos reciben una alerta, debes tomar acciones. Es una buena idea verificar que te estés comunicando con la persona indicada.
Pero, como lo explica Signal, no todos los casos de reinstalación o migración de aplicaciones pueden provocar un cambio en el número de seguridad. Y, eso no es motivo de preocupación.