Blog >

Analizando datos sensibles

Share on social media

PUBLICADO POR
Pablo García
Director de Investigación y Desarrollo

Si bien al analizar datos de nuestros clientes generamos un contexto seguro, tanto tecnológico (datos encriptados en reposo, en la transmisión, equipos con “hardening” de seguridad, seguridad perimetral y herramientas de DLP, entre otros), como legal (NDA con la empresa y los técnicos involucrados), existen otras medidas, basadas en ciencia y/o tecnología que proveen capas adicionales de seguridad y son las que proponemos revisar en este artículo.

El consejo es recordar siempre la ciudad de Gondor y sus “anillos de defensa”, así si una barrera es pasada, debe haber otra barrera de contención lista para detener el ataque o filtración.

La gran promesa de protección de este tipo de datos es el “cifrado homomórfico” (cifrado que permite realizar operaciones sobre los datos cifrados y luego descifrar o desencriptar el resultado), está lejos de llegar a ser usable más allá de algunos casos puntuales con algoritmos que son solo parcialmente homomórficos. Por lo cual, no la usamos ni perdemos tiempo tratando de usarla.

El primer caso práctico que quiero discutir con ustedes es la privacidad diferencial. Supongamos que estamos analizando datos muy sensibles, como una encuesta no anónima, o datos que puedes ser desanonimizados con una base de correlación.

Una pequeña base de correlación, tan simple como un estado de cuenta viejo, o datos de telefonía (en mi caso trabajé mucho tiempo con datos de telefonía tokenizados) son buenos candidatos para desanonimizar datos. Alcanza con generar un patrón fácil de reconocer en los datos, por ejemplo, llamar a un número cada 2 horas y cortar en los primeros 5 segundos, haciendo esto cuatro veces tengo un patrón que seguro me permite individualizar ese número en una base tokenizada (anonimizada) y de ahí desencadenar un efecto red (quién es la persona que esa persona llama más y seguimos).

Entonces, no alcanza con tokenizar y agregar un poco de entropía a los datos, pero por suerte podemos aplicar privacidad diferencial.
Supongamos un caso muy sencillo, análisis de encuestas y supongamos el peor caso, las encuestas, aunque fueron hechas anónimas, se han podido des-anonimizar, ¿cómo nos protegemos?

Vamos a proteger la pregunta ¿Me siento cómodo con mi jefe?, la cual tiene respuesta sí o no, entonces, tomamos los datos de las encuestas y dejamos la mitad de ellos tal cual está. De los demás datos, para cada uno, tiramos una moneda al aire, si sale cara, dejamos el dato tal cual está, si sale número, invertimos el valor.

Así, alguien que está estudiando la encuesta sabe que el 75% de los datos son verdaderos y el 25% están invertidos, el resultado estadístico sigue siendo significativo, pero si alguien toma una encuesta, la des-anonimiza y dice “Esta respuesta es de Pablo!!” no podrá saber mi verdadera respuesta, ya que la que está en los datos es verdadera con un 75% de probabilidad y falsa con un 25% de probabilidad, así habremos protegido la privacidad de la persona que completó la encuesta.

Ahora, analicemos otra técnica y para eso vamos a llevar esto al extremo; supongamos dos empresas rivales en competencia, supongamos dos bancos de plaza, que compiten pero se enfrentan a un problema de bien común, detener los fraudes por tarjeta de crédito. Es obvio que si alguien tiene los datos de los dos bancos, puede entrenar un mejor algoritmo de detección de fraude, y los clientes de los dos bancos serían más felices, más libres, y confiarían más en ambos bancos (esto es un indicador claro de que lo que queremos hacer es ético ya que aumenta la confianza de los clientes en los bancos y el bienestar y libertad de sus clientes).

Entonces, ¿cómo podemos entrenar un algoritmo de detección de fraudes entre el banco A y el banco B que no se tienen ni un gramo de confianza entre ambos?

Hablamos antes de que existe el cifrado (encriptado) en reposo (disco encriptado) y en tránsito (transporte encriptado con TLS, transport level security), pero existe un tercer tipo de cifrado y es el cifrado de la memoria de la computadora y de la tarjeta gráfica, esto es procesamiento encriptado y técnicamente se conoce como un “enclave seguro”.

El proceso funciona así:

  • Se crea un algoritmo, por ejemplo, el entrenamiento de un modelo de machine learning que lee archivos y da como resultado un modelo entrenado.
  • Ese algoritmo (todo el entorno de trabajo) es firmado digitalmente.
  • Los especialistas de ambos bancos revisan y aprueban el entorno y están tranquilos de que no puede ser alterado porque cualquier alteración invalida la firma digital.
  • Cada banco encripta sus datos.
  • El sistema se pone en funcionamiento y pide la clave para acceder a los datos encriptados a cada uno de los bancos. Estos validan la firma digital del algoritmo y validan que se está corriendo en un enclave seguro (las nubes y los frameworks de enclaves seguros tienen un servicio que valida que se está corriendo en un entorno encriptado, se lo conoce como “attestation service”) y si esto es validado, entregan la clave para leer su parte de los datos.
  • No importa que alguien tenga acceso al hipervisor de la máquina, que sea admin del sistema operativo o que tenga acceso irrestricto a la consola del servidor, aunque haga un “dump” de la memoria, nunca podrá observar lo que está corriendo dentro del enclave seguro porque toda la memoria y el acceso del procesador están encriptados.
  • El algoritmo corre, entrena, entrega un resultado y todo el entorno desaparece. Así, cuando ha terminado de correr, cada banco obtuvo un mejor modelo de fraude, y nunca pudo, ni podrá, ver los datos de su competidor.

    Estos modelos ya son usados extensivamente en medicina, para enviar datos entre países a realizar diagnósticos eliminando la posibilidad de que los datos sean, no solo observados, sino que nunca podrán ser usados para otro fin ya que, al terminar de ejecutar del diagnóstico, el entorno y los datos, ya no son utilizables.

    Finalmente, los invito a repensar sus procesos de analítica de datos, ya que más allá de las herramientas comunes, la ciencia (como en el caso de la privacidad diferencial) o la tecnología (como en el caso de la computación confidencial) eliminan barreras y hacen posible usar los datos con los niveles de protección y confianza adecuados. Aunque no tengamos ni un gramo de confianza en el que está enfrente.