Rastreo de contactos de COVID-19: ¿Cuál es la situación de la programación segura?

Una versión de este artículo apareció originalmente en DevOps Digest. Ha sido actualizado y distribuido aquí.
A estas alturas, estoy seguro de que todos estamos un poco cansados de la frase "en estos tiempos sin precedentes"... pero, realmente son tiempos sin precedentes. ¿Quién habría pensado a finales del año pasado que estaríamos compitiendo para derrotar una pandemia destructiva a nivel mundial este año, y volcando todos nuestros recursos posibles en ello? Habría parecido casi ridículo, más propio de una nueva serie de ciencia ficción de Netflix que de nuestra realidad global. El COVID-19 ha transformado por completo nuestra vida social, nuestra economía y la seguridad laboral, por no mencionar las prioridades políticas.
Uno de los contraataques contra el COVID-19 ha sido a través de la tecnología, con muchos países lanzando aplicaciones de rastreo de contactos. Australia tiene COVIDSafe, basada en TraceTogether de Singapur. Hong Kong, Taiwán, China, Corea del Sur, Israel y Alemania tienen tecnología de rastreo de contactos implementada o en camino. El Reino Unido ha sido la región más afectada de Europa, con decenas de miles de muertes relacionadas con el virus y una alta tasa de infección. El lanzamiento de su aplicación es inminente. Estados Unidos, también profundamente afectado y con muchas personas perdiendo trágicamente la vida, también está implementando tecnología, pero su enfoque estado por estado para el rastreo de contactos hace que su situación sea bastante compleja.
Con la excepción de países con mayor control estatal como China y Taiwán, el uso de estas aplicaciones es voluntario y requiere que los ciudadanos descarguen y utilicen la tecnología por voluntad propia. Algunas tasas de adopción son más exitosas que otras; por ejemplo, la aplicación TraceTogether de Singapur tuvo una tasa de adopción del 25%, lo que la hizo bastante ineficaz para su propósito deseado.
La idea detrás de las aplicaciones de rastreo de contactos es sólida. Esta tecnología, cuando funciona correctamente, permitiría detectar rápidamente los focos de contagio y realizar pruebas exhaustivas, ambos componentes esenciales para combatir la propagación de un virus contagioso. Sin embargo, las palabras "gobierno" y "rastreo" no suenan precisamente muy atractivas, y es natural que la gente sea cautelosa sobre lo que descargar algo así significaría realmente para ellos.
Entonces, ¿cuáles son las principales preocupaciones de los usuarios? Si nos guiamos por los comentarios en línea, algunas de estas dudas incluyen:
- Falta de confianza en que el gobierno utilice los datos recopilados de manera responsable
- Aprensión sobre qué tan bien se protegerán los datos personales contra ciberataques
- Falta de claridad sobre qué datos se están recopilando realmente, dónde se almacenan y con quién
- ... y para los desarrolladores/geeks entre nosotros, qué tan sólidamente están construidas las aplicaciones.
Siempre es un poco preocupante cuando las aplicaciones se crean rápidamente, y estas aplicaciones de rastreo de contactos han tenido que lanzarse en tiempo récord. Es una pesadilla para los desarrolladores, el personal de seguridad y las agencias gubernamentales.
Entonces, ¿es la desconfianza una reacción válida? ¿Y qué deberíamos considerar como prioridad en nuestra evaluación de las aplicaciones de rastreo de contactos de COVID-19 y la seguridad del usuario final? Como experto en seguridad, mi instinto es, por supuesto, profundizar en los elementos de ciberseguridad del programa, concretamente en qué tan seguro es el código base de una aplicación que a todos (con la mejor de las intenciones) se nos está instando a instalar.
Muchas de las aplicaciones son copias unas de otras (y heredan los mismos problemas).
La aplicación COVIDSafe de Australia se basa esencialmente en OpenTrace, al igual que el software TraceTogether de Singapur. El problema, sin embargo, es que TraceTogether tuvo una serie de problemas reportados y una baja adopción, con solo el 25% de la población optando por ser usuarios, muy lejos del 75% necesario para que sea efectiva. Ha habido quejas sobre su rendimiento general, especialmente en iOS, incluyendo el agotamiento muy rápido de la batería. COVIDSafe tiene un posible fallo de UX en su versión de iOS, que requiere que el teléfono esté desbloqueado y la aplicación ejecutándose en primer plano para registrar todos los datos correctamente.
Si bien los problemas anteriores son molestos, la preocupación más apremiante es que las vulnerabilidades de Bluetooth son frecuentes y ni TraceTogether ni COVIDSafe de Australia son inmunes a ellas. El 14 de mayo, el NIST informó que COVIDSafe tenía una vulnerabilidad de denegación de servicio, lo que permitía a un atacante bloquear remotamente la aplicación si se encontraba a distancia de conexión Bluetooth. Esto permitiría un ataque organizado para interrumpir el rastreo de contactos en áreas densamente pobladas, donde es más útil, algo explicado en detalle por el investigador de seguridad Richard Nelson. Se sabe que afecta a COVIDSafe, TraceTogether, ProteGO de Polonia y ABTraceTogether de Canadá, todos heredando el problema de la llamada defectuosa manuData.subdata de OpenTrace.
Existen otros problemas de privacidad y seguridad relacionados con la funcionalidad Bluetooth en general. El hecho de que esta tecnología se utilice para rastrear el movimiento humano a través de un ID único (TempID) y recopilar datos significativos significará inevitablemente un mayor interés por parte de los atacantes en buscar debilidades, momento en el cual se debe examinar exactamente qué se está recopilando, dónde se almacena y por cuánto tiempo.
Algunas aplicaciones ya muestran signos de errores simples que causan debilidades complejas.
El ingeniero de software australiano Geoffrey Huntley ha estado estudiando el código fuente de COVIDSafe y, lamentablemente, hay problemas que no necesariamente se nos están destacando a nosotros, los usuarios finales.
Un ejemplo crítico fue un error de lógica que vulneraba la privacidad y que permitiría a un atacante realizar un seguimiento a largo plazo de los dispositivos; algo que supone una enorme cantidad de riesgo para los usuarios vulnerables, sin mencionar que contraviene la propia Política de Privacidad de la aplicación.
Es importante señalar que estas vulnerabilidades lógicas han sido parcheadas desde el 14 de mayo, pero el problema más apremiante es que esto se dejó sin parchear, expuesto, durante 17 días después de que el Sr. Huntley lo reportara. Él y otros miembros de la increíble comunidad de seguridad están rastreando las CVE relacionadas con la aplicación COVIDSafe aquí.
Una cosa que señala Huntley tras el parche es que incluso la solución muestra signos de, bueno, incompetencia. En su registro público, señala que el parche implicó añadir lógica en lugar de simplemente eliminar una caché defectuosa, siendo esto último un remedio mucho más sólido. Ambos funcionan, pero la solución implementada carece de delicadeza, algo preocupante en una aplicación tan importante.
Aunque contamos con miembros diligentes de la sociedad que usan su tiempo y experiencia para analizar el código fuente y señalar problemas, su trabajo es mucho más difícil de lo que sería si el código fuera de código abierto desde el principio. Tal como están las cosas, 28 aplicaciones siguen cerradas a los investigadores de seguridad.
La programación segura sigue siendo nuestro talón de Aquiles al llegar a la meta.
Aunque puedo simpatizar con los desarrolladores sobrecargados de trabajo —así como con la situación tan inusual de tener que producir una aplicación vital en medio de una pandemia—, lo anterior debería resaltar que unas pocas vulnerabilidades simples en lo que es esencialmente una base de código comunitaria podrían suponer problemas importantes para millones de usuarios.
Me gustaría pensar que la mayoría de la gente quiere ser buen ciudadano, apoyar la aplicación y dar a todos la mejor oportunidad posible de rastrear contactos y controlar los brotes de este virus horrible. Yo también apoyo la tecnología que puede ayudar a lograr esto, pero en muchos sentidos, esto ha sacado a la luz la falta general de principios de programación segura inherentes a los desarrolladores de todo el mundo.
En cualquier situación en la que el software deba escribirse rápidamente, los errores no son precisamente inesperados. Sin embargo, las vulnerabilidades de seguridad comunes, como fallos de lógica, configuraciones erróneas y errores de inyección de código, deberían ser algo que se pueda prevenir mientras se escribe el código, no después de que voluntarios de sombrero blanco analicen la base de código.
Y, por cierto, no es culpa de los desarrolladores. Salen de su educación superior con pocas habilidades en programación segura y, en sus carreras, sus KPI casi siempre se relacionan con la funcionalidad de las características y la velocidad de entrega; la parte de seguridad es para que alguien más se ocupe de ella una vez que terminen. Necesitamos llegar a un estado final de programación segura a gran velocidad y, aunque ahora no es el momento de hacer cambios culturales sísmicos en los departamentos que crean estas aplicaciones, es un recordatorio oportuno de que nuestra área de riesgo digital se está expandiendo, y ellos están en una posición privilegiada para marcar la diferencia si se les dan las herramientas y el conocimiento para compartir la responsabilidad de las mejores prácticas de seguridad.
¿Es seguro descargar la aplicación?
La cuestión es esta: para mí, como experto en seguridad, he llegado a la conclusión de que los beneficios de la aplicación superan los problemas. No es ideal que las vulnerabilidades mencionadas estén —o hayan estado— presentes en este software, pero las implicaciones de que sean utilizadas como arma son escenarios del peor caso. En este momento, el rastreo de contactos es un componente vital para ayudar a nuestros héroes médicos de todo el mundo a controlar la propagación, frenar el flujo de ingresos hospitalarios y mantenernos a todos lo más seguros posible.
Esto sirve para resaltar que tenemos un largo camino por recorrer cuando se trata de implementar las mejores prácticas de seguridad por defecto en la creación de software, y es importante que el público tenga la información necesaria para tomar decisiones informadas.
Mi familia y yo seguiremos usándola, aunque nos mantendremos atentos a tener nuestros parches de Android actualizados, como deberíamos hacer todos.
Controle el desarrollo impulsado por IA antes de su lanzamiento
Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).
Explorar más blogs
Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

Una cultura de seguridad: cómo Sage creó su programa de defensores
Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores
La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro
IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial
Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Habilitador 8: Branding de su programa
Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.
.avif)
Cada empleado está ahora en la primera línea de la ciberseguridad de la IA
El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.
Proteja el desarrollo basado en IA antes de su lanzamiento
Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.