Lo logramos juntos: el fallo de seguridad en la web de la Encuesta LGBTI se solucionó

Los fallos de seguridad que detectamos esta semana en la Encuesta LGBTI del INEI han sido solucionados desde ayer por la tarde. La Encuesta todavía sigue solicitando ingresar todo tipo de datos personales al encuestado, pero los problemas que ponían estos datos al alcance de cualquiera han sido remediados. Según lo reportado por el INEI, nadie alcanzó a explotar masivamente esta vulnerabilidad mientras estuvo abierta. Retiramos nuestra advertencia sobre no llenarla pero invocamos a ejercer una decisión razonada antes de entregar sus datos personales a la Encuesta.

Los peruanos necesitamos desesperadamente reconocernos y aprender a entendernos. La Encuesta LGBTI es una iniciativa valiosísima para acercarnos hacia ese objetivo. Somos plenamente conscientes de que nuestra alerta pudo haber comprometido temporalmente la Encuesta, pero creemos que la gravedad del fallo de seguridad y la sensibilidad de la información en riesgo lo ameritaba. Hiperderecho trabaja para que la tecnología sea un instrumento de liberación social, que todos podamos usar con libertad y seguridad. Esta semana reafirmamos ese compromiso al detectar y colaborar con la mitigación de este problema. Lo vamos a seguir haciendo porque es nuestro trabajo.

Los fallos de seguridad que encontramos

Como contamos en nuestro post del miércoles, decidimos no entregar detalles sobre la vulnerabilidad detectada en la web de la Encuesta LGBTI para evitar que usuarios maliciosos pudiesen explotarla. Tras la comprobación de los problemas, lo primero que hicimos fue comunicarnos con el INEI y con el Despacho del Congresista Alberto de Belaúnde. Dada la gravedad del problema detectado, durante la tarde tomamos la decisión de alertar a los ciudadanos y desaconsejar el llenado de la Encuesta hasta que el problema no se solucionara. Luego, nos pusimos en contacto con personas de diferentes colectivos LGBTI para explicarles nuestra preocupación. Esta es la historia completa de lo que encontramos y cómo lo reportamos.

Como parte de nuestra labor de protección de los derechos humanos en Internet, cerca del mediodía del 17 de mayo iniciamos una inspección de rutina para conocer la estructura y funcionamiento de la recién presentada web de la Encuesta LGBTI. Nuestro principal interés era evaluar el tipo de datos personales que se recolectaban y si esto implicaba algún posible riesgo.

Lo primero que llamó nuestra atención es que la web no contaba con un Certificado de Seguridad (SSL). Eso significaba que todos los datos intercambiados entre el visitante y la Encuesta (como nombres, teléfonos o direcciones) podía ser interceptada por cualquiera (desde otra persona usando la misma red inalámbrica en un Starbucks, el administrador de la red de una oficina o universidad, o incluso el proveedor de acceso a Internet). Precisamente por esto, navegadores modernos como Google Chrome inmediatamente la mostraban como un lugar inseguro para llenar un formulario. Además, se solicitaba al visitante registrarse con un número de DNI antes de acceder a la Encuesta. Dado que estos datos de identificación eran únicos por usuario, bastaba con ingresar el número de DNI de cualquier amigo o conocido para confirmar si es que ya se había registrado previamente en la encuesta. Al recibir el mensaje de “Ya registrado”, el formulario de registro nos permitía saber si la persona a la cual correspondía el DNI se había identificado como LGBTI a través de la Encuesta.

Al investigar el primer problema, descubrimos otro todavía más grave. En la Encuesta, la simple modificación de un dato podía hacer que el servidor de INEI nos entregara las respuestas de otros usuarios que la habían llenado previamente. Para explotar esta vulnerabilidad, bastaba con usar las herramientas web preinstaladas de un navegador como Firefox o Chrome y modificar los parámetros del pedido POST que la aplicación realizaba para precargar las preguntas ya respondidas por el usuario. Es decir, al llenar la Encuesta era posible “confundir” al sistema y extraer la información completa de cualquier otra persona que esa mañana la había respondido. [1]

Obviamente, para extraer esta información era necesario conocer el número interno asignado a cada participante de la Encuesta por el servidor de INEI. Sin embargo, la aplicación usaba números internos consecutivos empezando en “0”. Por ende, era posible adivinarlos progresivamente o, todavía peor, escribir un programa muy sencillo que descargue secuencialmente los valores encontrados para la información personal de todos los usuarios. Usando conocimientos muy básicos de programación web y sin comprometer ninguna medida de seguridad de la aplicación, era posible obtener una copia de todos los datos personales contenidos en la encuesta hasta el momento. La Encuesta que todos estaban llenando era realmente un libro abierto accesible por cualquiera que comprometía su privacidad y seguridad personales.

Cerca de las 3 pm nos comunicarnos con el Despacho del congresista De Belaunde, a quienes reportamos nuestros hallazgos. Gracias a su intervención, más tarde establecimos contacto telefónico directo con el INEI y explicamos en detalle el problema y sus implicancias. Se nos aseguró que el personal de INEI estaba trabajando en una solución. Sin recibir nuevas respuestas, a las 6 pm decidimos publicar una nota exhortando a la comunidad LGBTI a no llenar la encuesta como una medida temporal hasta que los fallos de seguridad se solucionen. Como se imaginarán, no podíamos quedarnos sentados mientras otras personas exponían sus datos a cualquiera y comprometían su seguridad.

Las soluciones implementadas por INEI

Durante la tarde del miércoles enviamos al Despacho del Congresista, y a través de este al INEI, un video explicativo que demostraba la vulnerabilidad detectada. Esto encendió las alarmas de ambos equipos y empezó a mover el asunto hacia una resolución. Según se nos notificó a las 7:30 pm, el INEI confirmó haber visto el video y finalmente comprendió la magnitud del problema. Sin embargo, la solución no se verificó hasta cerca de las 9 pm, cuando el agujero de seguridad se corrigió y se volvió imposible obtener los datos de un usuario que no fuese el propio. La vulnerabilidad que permitía extraer en masa los datos de los participantes de la Encuesta estuvo abierta desde que se inició la encuesta esa mañana hasta las 9 pm de ese mismo día. Según lo que nos ha reportado el INEI, tras revisar los registros de sus servidores han determinado que nadie explotó masivamente este fallo de seguridad para acceder a la información de los encuestados durante el tiempo que fue posible. Afortunadamente, está solucionada.

Sin embargo, los otros problemas persistían. Por esto, ayer jueves 18 por la mañana nos reunimos con el INEI y el Despacho del congresista De Belaúnde. Durante la reunión, nuestro Director de Tecnología explicó personalmente al Jefe del INEI, Víctor Aníbal Sánchez Aguilar, y sus funcionarios la naturaleza y gravedad de los problemas detectados. Fuimos enfáticos en precisar que este fallo de seguridad no hubiese sido tan grave si es que la Encuesta no solicitara tantos datos personales.

Esa misma mañana se implementaron mejoras en el funcionamiento de la aplicación que cubren su exposición a los ataques informáticos más comunes. Así mismo, desde anoche la página web de la Encuesta LGBTI ya cuenta con un Certificado de Seguridad (SSL) y la información que los usuarios envíen a través de la Encuesta ya no estará expuesta a intervenciones de terceros.

Se discutió y propuso una solución que evitaría el riesgo de usar DNIs como identificador únicos en la aplicación, reduciendo el riesgo de identificación mediante el formulario de registro. Lamentablemente, esto todavía no se ha implementado. También está pendiente el compromiso del INEI por publicar las condiciones del tratamiento de datos personales que informen adecuadamente al ciudadano sobre cómo se tratarán sus datos.

Inseguridad por diseño

INEI ha sido receptivo a nuestras observaciones técnicas sobre la seguridad de la Encuesta y la vulnerabilidad mayor ha sido corregida. Sin embargo, la institución se ha mantenido firme en su decisión de exigir datos personales como nombre, número de DNI, correo electrónico y teléfono móvil a los encuestados.

Aunque discrepamos con esa decisión, entendemos que responde al interés del INEI por contrastar la información recopilada con RENIEC y asegurar que los participantes sean quien dicen ser. No obstante, queremos volver a advertir que esta decisión es riesgosa en sí misma. La creación de una base de datos de este tipo genera un objetivo de alto interés para actores maliciosos que pueden intentar vulnerar las medidas de seguridad establecidas por INEI. Este es un riesgo al que está expuesto cualquier sistema informático, pero una forma de minimizar su brecha sería reduciendo el volumen de datos personales recopilados. Ese es el sentido de la carta que ayer presentamos en Mesa de Partes del INEI.


Nos alegra haber podido colaborar en la detección y mitigación de un riesgo potencial para la seguridad de miles de peruanos. Nada de esto hubiese sido posible sin la buena disposición del INEI y la oportuna mediación del Despacho del congresista Alberto de Belaúnde, ni tampoco sin la ayuda de las decenas de personas que compartieron nuestra alerta y se comunicaron con INEI. Ahora es decisión de cada ciudadano peruano elegir si desea dejar sus datos personales asociados a un registro de la población LGBTI en Perú, bajo las condiciones que el INEI determine. La Constitución nos dio el derecho de elegir. Nadie nos puede impedir ejercerlo informadamente. ■

Descarga: Carta que enviamos al INEI al día siguiente de descubrir el problema

Foto: Composición sobre la obra original de Thomas Hawk (CC BY-NC)


  1. El pedido en cuestión contenía dos parámetros: accion y usuario_id. El parámetro acción determinaba el conjunto de respuestas a requerir de la base de datos, y el parámetro usuario_id servía como identificador del usuario con el que se ha ingresado a la aplicación. Por ejemplo, cuando ingresábamos con nuestro usuario “Hiperión” los parámetros enviados por la aplicación al servidor eran “accion=1&usuario_id=1085”. Sin embargo, al modificar el parámetro usuario_id, y enviar nuevamente el pedido al servidor, obteníamos los datos de cualquier usuario que estuviese identificado por tal número. Ejemplo: “accion=1&usuario_id=700” podía darnos los datos personales de “Clark Kent”, incluyendo su DNI, número de teléfono, edad, fecha de nacimiento, y ubigeo.  ↩

5 comentarios

  1. Arturo dice:

    La encuesta me parecia una idea genial hasta que empece a llenarla y me di cuenta de que, como uds ya lo dijeron, no era para nada anonima y la pagina se veia muy vulnerable. Los felicito por el maravilloso trabajo que han hecho. A los funcionarios del gobierno hay que estar pinchandoles las nalgas para que se pongan pilas.

Deja una respuesta

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