¿Que aprendí ayudando a clientes del Qatar National Bank (QNB)? Somos tan fuertes, somos tan débiles

¿Que aprendí ayudando a clientes del Qatar National Bank (QNB)? Somos tan fuertes, somos tan débiles

Domingo 12 Jun 2016

El 25 de abril de 2016, la fundación Cryptome reveló la existencia de un gran archivo .zip conteniendo lo que parecía ser datos privados de cientos de miles de clientes del Qatar National Bank (QNB, el banco más grande en la Península Arábica en términos de activos).

El archivo

El archivo (510MB comprimido, 1.4GB sin comprimir) contenía alrededor de 15K archivos en muchos directorios. Los más obviamente significativos eran: (1) un conjunto de tablas de base de datos, y (2) un directorio llamado "Folders".

El directorio llamado "Folders" es un pequeño conjunto de breves expedientes acerca de alrededor de 100 personas "notables" de Qatar. Incluye varias sub-carpetas llamadas "Al Jazeera" (el nombre de la red de noticias con sede en Qatar), "Al Thani" (el nombre de la familia gobernante), "policía y seguridad" y así sucesivamente. Dentro de cada carpeta, hay uno o más archivos que contienen una mezcla de datos extraídos de la base de datos de QNB (número de cuenta, número de pasaporte, etc.), más información de otras fuentes, que varía desde enlaces a perfiles en redes sociales, hasta fotos de la persona, nombres de usuario y contraseñas. Digo "notable" entre comillas porque la clasificación de las personas en carpetas aquí resulta un poco dudosa. Por ejemplo, algunas de las personas nombradas como espías, es poco probable que lo sean.

Las tablas de bases de datos contienen información describiendo el perfil de unos 300K-400K clientes. Esto incluye el nombre, nacionalidad, número de pasaporte, número de identificación nacional en Qatar, dirección de correo electrónico y dirección física. También incluye números de tarjetas, fechas de caducidad y números de cuentas de aproximadamente 800K-900K tarjetas de crédito y de débito. Hay un poco de información duplicada entre un grupo de archivos principales y unas copias de seguridad, por lo que el número exacto de personas y tarjetas varía dependiendo de qué archivos uno mire.

Mi participación

Trabajé en Qatar desde mediados del 2012 hasta mediados del 2015 como científico en un instituto nacional de investigación. Desde mi tiempo en Qatar sabía que QNB es la primera opción para muchos trabajadores extranjeros, por lo que la fuga de datos, probablemente, había afectado a muchos de mis colegas que aún trabajan en Qatar.

Después de descargar el archivo hice una búsqueda rápida de direcciones de correo electrónico de personas de mi antiguo instituto, y encontré 4 personas que conocía, incluso sus nombres completos, lo que me pareció una fuerte señal de que el archivo era auténtico. Además, había cosas que sólo se ve en Qatar (tales como escribir "QATAR FOUNDASHON " en vez de " QATAR FOUNDATION"). Advertí a mis colegas, pero no quise mirar más en el archivo. No estaba interesado en enterarme de sus cosas privadas, y dado que no encontré mi propia dirección de correo electrónico, asumí que se trataba de datos antiguos, de antes de que yo fuera a Qatar.

Sin embargo, horas más tarde y después de haber sido alertado por un amigo, sí encontré mis datos en el archivo. Mi ID de correo electrónico no estaba incluida en los archivos principales, pero sí en una de las copias de seguridad, y mi número de identificación nacional de Qatar estaba en múltiples lugares.

Miré más detenidamente dentro del archivo y encontré los nombres de personas que conocía, pero no sus direcciones de correo electrónico. Entonces, decidí crear una herramienta para que la gente pudiese buscar por sí misma si estaban presentes en el archivo o no.

El "QNB Verifier"

La herramienta que escribí el 26 de abril era muy sencilla. En primer lugar, le apliqué una función de hashing (MD5) a todos los mensajes de correo electrónico y números de identificación nacional de Qatar que pude encontrar en el archivo, posteriormente subiendo los valores de la función de hashing a mi servidor web. En segundo lugar, escribí un pequeño programa en Python (mi primer programa en Python) para recibir el valor de hashing de algo ingresado por un usuario, y compararlo con los valores de hashing almacenados. En tercer lugar, usé una implementación en Javascript de MD5 para aplicarle la función de hashing a la entrada del usuario en su propio navegador.

Subí una página para dar acceso a esta herramienta a los usuarios y les advertí que sus valores de hashing se podían observar durante la comunicación, pero también que ningún dato personal en texto plano saldría de sus navegadores. También dejé claro que no estaba sirviendo los archivos filtrados desde mi sitio web. No conservé registro de ninguna de las búsquedas de los usuarios, pero mis proveedores de hosting entregan estadísticas sobre cuántas personas realizaron una búsqueda. Cerca de 10.000 personas lo hicieron durante los 5 días que estuvo activo el servicio.

Mientras tanto, QNB continuó describiendo el robo de información que había sufrido como una "especulación en medios sociales," una línea que mantuvieron durante varios días.

El ataque de denegación de servicio

Desde el 27 de Abril en adelante empecé a recibir miles de peticiones por segundo desde unas pocas direcciones IP. Esto aumentó sustancialmente el uso de CPU de mi cuenta. Mi proveedor de hosting congeló todos mis sitios web (es decir, empezaron a servir versiones estáticas de los mismos), excepto este servicio de verificación (!) y me advirtieron que si continuaba el uso intensivo de CPU me suspenderían la cuenta.

Añadí las direcciones IP del atacante a una lista negra, pero quienes fueran continuaron cambiando las IP. Me pasé horas jugando al gato y el ratón. Finalmente, mi atacante se dio por vencido, y dejó de cambiar las direcciones IP. Eso devolvió mi tráfico a la normalidad y mis sitios web fueron descongelados.

Las amenazas legales

El 30 de abril el servicio aparecería en Doha News. Se trata de un servicio de noticias en línea independiente que opera desde Doha. Me conocían de mi etapa en Qatar y habían cubierto algunos de los trabajos sobre analítica predictiva de noticias que mi equipo había hecho para Al Jazeera. Enlazaron al servicio de verificación y me entrevistaron por Twitter para saber sobre mis razones y cómo funcionaba esto. El Internacional Business Times también siguió esta historia.

En el mismo día, recibí un correo electrónico de Hispasec, una empresa de seguridad de TI española. En su correo electrónico, me escribieron en castellano:

Soy ... de Hispasec Sistemas, una empresa internacional de seguridad IT, en representación legal de QNB Bank of Qatar.

La entidad nos ha reportado su servicio 'qnb-ver' para que procedamos a su cierre, ya que entienden que puede estar siendo utilizado para recolectar direcciones de correo o cuentas bancarias.

URL: http://chato.cl/2016/qnb-ver/

Entendemos que esto es una situación especial, pero debido a la importancia y los requerimientos de nuestro cliente debemos hacer hincapié en que deshabilite ese contenido de su website.

Muchas gracias por su colaboración.

Les respondí un par de días más tarde y tuve algunos intercambios con ellos. Básicamente les dije que yo no estaba alojando los archivos filtrados y que no recogía ningún dato. Ellos repitieron su petición y me advirtieron sobre la importancia de eliminar rápidamente mi servicio para "evitar hacer frente a cualquier acción legal en relación con la difusión del daño y la difamación pública". Tengo que decir que nunca me pareció que era algo para preocuparse, en España uno está bastante seguro a menos que hable contra el rey.

La censura

Internet ha sido siempre muy censurada en Qatar, y hay varias categorías de contenido que no son accesibles desde el país. La censura es, sin embargo, bastante fácil de eludir con una VPN, y muchas personas las utilizan.

En 2014 o 2015 pusieron en marcha una página de censura, que se puede ver en censor.qa, que muestra una caricatura y explica que uno ha intentado acceder a una página que contiene materiales prohibidos. Los dibujos hacen que la censura sea más "amigable", supongo.

Mi página fue añadida a la lista negra de Qatar el 1 de mayo. Puse en marcha una alternativa, con acceso basado en https el mismo día. Publiqué la nueva dirección y la gente continuó accediendo al servicio via https.

El mismo día 1 de mayo, el Qatar National Bank emitió un comunicado diciendo que la fuga sólo había afectado a una "porción" de los clientes de QNB con sede en Qatar. Yo diría que aquella "porción" es bastante alta, cercana al 100%. No supe de ningún cliente de QNB que usara mi servicio y no encontrara su e-mail o documento de identidad de Qatar entre los archivos filtrados.

La caída

El 2 de mayo QNB contactó a mi proveedor de hosting para denunciarme, por estar haciendo "phishing" desde mi cuenta. El phishing es cuando un estafador envía un correo electrónico masivo pidiendo hacer click en un enlace que conduce a una página falsa, que se parece a la página de inicio de un banco (u otra institución), de forma que las víctimas introduzcan sus credenciales en el sitio falso, y los estafadores roban estas credenciales.

En respuesta a la denuncia de phishing, y sin ninguna revisión, mi proveedor de hosting procedió a cerrar inmediatamente todos los sitios web alojados en mi cuenta. Esto incluía mi sitio personal, mi sitio de la investigación, la página web de mi próximo libro, el sitio web personal de mi esposa, un portal ambiental que ella mantiene, y otros.

Respondí a la denuncia con una explicación detallada de que ningún dato personal estaba alojado, y que no almacenaba ningún dato. Además, que el servicio fue diseñado para hacer que esto sea imposible, al usar una función de hashing sobre los datos personales en el navegador del usuario. Recibí una respuesta automática diciendo que el servicio denunciado continuaba allí. Básicamente, un ser humano no levantaría el cierre de mi cuenta hasta que se eliminara el servicio.

Por lo tanto, tuve que cerrar el servicio, y me tomó alrededor de un día conseguir que mi proveedor de alojamiento pusiera de nuevo en funcionamiento mis sitios. No quise luchar contra esto. Parte del negocio del proveedor de hosting es tener clientes que no requieran atención, y si uno usa demasiadas veces el servicio de soporte, te pueden revocar fácilmente el contrato y mandarte con tu copia de seguridad en búsqueda de otro proveedor. En mi experiencia esos son 2-3 días de trabajo que no tengo.

¿Qué aprendí?

En mi opinión, las fugas de datos debieran ser reguladas de manera similar a los accidentes laborales. Las empresas deberían tener que presentar un informe oficial que indique qué sucedió y quién fue afectado o afectada. Lo más importante, los clientes deben ser informados de la verdad: Hoy no se les da información verdadera, sino mentiras o verdades parciales que no sirven. Esto no es un problema sólo en Qatar (muchos otros han hecho exactamente lo mismo), pero definitivamente se agrava por la censura y la mano dura contra los "alborotadores".

He aprendido un par de cosas. En primer lugar, el público está en una posición muy débil en estas situaciones. Uno no puede saber si sus datos se han filtrado o no; descargar los archivos y verificar uno mismo toma un poco de conocimientos técnicos que, aunque superficiales, están más allá del alcance de muchas personas. Existen servicios que pueden ayudarle, como haveibeenpwned.com, pero utilizan solamente direcciones de correo electrónico. Hay demasiados puntos de estrangulamiento, sistemas legales, aparatos de censura, proveedores de hosting, que se pueden usar para silenciar a cualquiera. Si yo hubiera estado en Qatar, me habría arriesgado a ir a la cárcel para luego ser deportado, y muy probablemente no habría creado el servicio en esas circunstancias.

En segundo lugar, también somos bastante fuertes, por muchas razones. El archivo que se filtró está ahí afuera y no va a desaparecer: no se puede meter al genio de vuelta en la botella en internet. Eso es bueno porque la gente todavía puede verificar si su información fue robada, pero es malo porque el archivo contiene datos de carácter personal, y por lo tanto el potencial de abuso es enorme. También somos poderosos, porque somos muchos y podemos movernos rápido, mucho más rápido que lo que muchas empresas y gobiernos pueden.

¿Qué más aprendí? Si tuviera que hacer lo mismo otra vez, lo más probable es que usaría un proveedor de hosting secundario y lo haría desde allí. El precio de tener la cuenta de hosting principal bajo ataque es demasiado alto, y aunque yo esperaba que QNB iría a por mi proveedor de hosting, pensé que por lo menos se examinaría la queja para ver si tenía fundamento o no. Hay muchos proveedores de hosting que son mejores para este tipo de cosas que los proveedores estándar. También configuraría el sitio en https desde el principio para hacerlo más resistente y seguro.

Todo lo demás, lo haría igual. Era lo que había que hacer, y estoy contento de haber podido ayudar.

Foto de ChaTo Carlos Castillo @ChaToX PhD en Ciencias de la Computación, investigador en minería de datos y computación social, particularmente en medios sociales durante crisis humanitarias. http://www.chato.cl/