A partir de ese momento, hace ya más de quince años, se han hecho muchas investigaciones sobre cómo utilizar las perturbaciones en la señal de un canal - lo que se llama "Chanel State Information" (CSI) y que viene a ser la información que podemos mediar de un canal (por ejemplo la potencia de señal en una malla de campo ) - para poder detectar objetos, formas y movimientos.
Tras ese trabajo, en el año 2014, con estas técnicas se era ya capaz de mucho más, como explicaron en un nuev paper titulado "Multi-Person Motion Tracking via RF Body Reflections", donde además de ver a través de los muros ya se era son capaz de llegar a detectar un número exacto de personas en movimiento o detectar el movimiento del pecho de una persona en concreto para poder conocer hasta el ritmo cardiaco, solo con medir el CSI de la red WiFi.
La idea que se utiliza se basa en crear un dispositivo con múltiples antenas, de un tamaño muy manejable cercano al de una moneda, para poder triangular todas las señales reflejadas por un cuerpo, detectando en tiempo real el ritmo de la respiración e infiriendo el ritmo cardiaco.
Por supuesto, desde aquel año 2009 hasta hoy, la evolución de las técnicas de Machine Learning, con los avances en algoritmos de Deep Learning, ha hecho que con los nuevos algoritmos de Inteligencia Artificial, puedes hacer extracción mucho más fina de los datos CSI de una red WiFi, y de eso trata el trabajo de WhoFi, de ser capaz de re-identificar a una persona que entra en un espacio por medio de las perturbaciones en la señal WiFi, o lo que es lo mismo, de los datos del CSI que se generan.
Primeramente se le hace un onboarding en el sistema, construyendo para cada persona un vector normalizado a partir de un Encoder de IA que que procesa los datos CSI del canal WiFi, con el objetivo de generar una huella digital de esa persona.
El Enconder, lo han construido con varios modelos diferentes, para probar cuál de ellos daba mejores ratios, y los que han probado han sido los que mejores resultados dan en secuencias de datos temporales, como son los LSTM, los Bi-LSTM y nuestros queridos Transformers, que también se pueden usar para visión.
Los resultados quedan muy a las claras en las siguientes tablas, donde todos los datasets utilizados - incluidos datos CSI generados con técnicas de Data Augmentation para tener un mayor número de personas onboarding - dejan a las claras que con con los Transformers se consiguen ratios de re-identificación altísimos y con una gran precision.
Esto es algo muy relevante, porque utilizar los datos CSI de la WiFi como forma de autenticación continua puede cambiar los sistemas de alarma en el hogar, detectando si son las personas que deben ser las que están en casa o no, por ejemplo, para tener una alarma silenciosa, pero también se podrían usar para vigilar espacios, movimientos de personas, etcétera.
Al final, tenemos un canal de datos, y con el avance de las técnicas de Inteligencia Artificial, los casos de uso que pueden aparecer son cada vez mayores, al ser capaces de detectar aún más insights de información de los datos disponibles. Datos + Algoritmos = Programas, y hoy en día, Datos + IA = Conocimiento.
Reconozco que cuando lei el título de este trabajo lo primero que hice fue mirar a ver si era el 1 de Abril - día de los inocentes en Estados Unidos -, luego me fijé que los investigadores eran de China y me hizo leérmelo con más detalle. Y sí, lo que hace este trabajo es justo lo que dice el título, clonarte la huella dactilar a partir del sonido que hace tu huella en el micrófono del terminal móvil cuando deslizas un control por la pantalla del smartphone.
Es cierto que el "touch" depende del agarre y deslizamiento de nuestra huella digital y por la pantalla, y nuestras huellas digitales son parte fundamental de nuestro agarre. Por eso cuando se nos mojan las manos, las huellas de los dedos de nuestras manos se encogen, y nos permiten tener más agarre en superficies mojadas. Así que algo había, y por eso me lo leí y os lo traigo por aquí.
Con este sonido, se procede después a analizar la onda de audio generada, con diferentes modelos para lograr, primero descubrir el tipo de huella dactilar que se tiene, y después algún patrón de minucias basadas en los datos de entrenamiento.
Lo ideal es que el atacante controle la app móvil y pueda forzar el deslizado que desee, ya sea un desplazamiento lateral hay un lado o hacia el otro, un giro o un scroll horizontal o vertical. Si esto es así, se controla el tipo de audio que se desea captura para conseguir la información deseada.
Al final, cuando se hace presión en la pantalla para hacer "Touch", las zonas de agarre se ven en el mapa topográfico de la Figura 5, donde la presión mayor es más "roja", y por tanto es totalmente diferente si la huella tiene el giro hacia la izquierda, hacia la derecha, o si tiene una espiral en la huella. Así que su sonido de fricción será diferente.
Esto permite clasificar, a partir del sonido, si la huella es de tipo Left Loop, Whorl o Right Loop, algo en lo que el éxito es bastante alto en las pruebas experimentales que se muestran en el artículo de la publicación. Incluso cuando se prueba con huellas de dedos difuminadas (donde la huella dactilar del dedo está muy "lijada"), tal y como se ve en la imagen anterior.
El proceso de reconstrucción de la huella dactilar
Ahora que ya tenemos claro que se puede clasificar la huella dactilar a partir del sonido, el proceso que plantean en el trabajo se basa en tres fases con diferentes experimentos. Primero, se puede forzar un gesto de desplazamiento diferente, se graba el audio y se preprocesa la señal de audio para que sea útil en los algoritmos de clasificación.
Segundo, se clasifican las huellas para saber si es Left Loop, Right Loop o Whorl, usando dos modelos - en amplitud y en profundidad - usando redes neuronales convolucionales (CNN) para generar las huellas patrón.
Una vez que se sabe qué tipo de huella y se tiene una imagen previa sobre la que trabajar, se trata de generar la huella concreta que puede ser a partir de un procesado detallado del audio sabiendo ya qué tipo de huella es, para ello lo más difícil es generar bien el centro del Loop o del Whorl, y luego definir las minucias por zonas.
En la primera fase, con tener un DataSet entrenado de datos que mezclen tipos de huellas, tipos de gestos y tipos de sonidos capturados, entrenar los clasificadores no parece "tan" complejo, pero lo que sorprende es que tras la fase de generar la huella final, los resultados, con diferentes gestos, diferentes tipos de huellas, y diferentes algoritmos, consiguen resultados válidos.
Según describen en el artículo logran saltarse probando hasta cinco veces por huella generada, el 27.9% de las pruebas de verificación de huella en sistemas de autenticación biométrica con huellas dactilares parciales, y el 9.3% en aquellos que piden la huella completa. Y no deja de ser sorprendente que sea así.
Hace unos meses, Chema Alonso fue entrevistado por Antonio Fernandes en su canal de Youtube sobre "Cultura de la Ciberseguridad". En el minuto 47:30 de la entrevista, Lord Draugr, un Youtuber que centra su contenido en investigaciones de todo tipo, hace un cameo para preguntarle a Chema sobre los peligros que puede correr alguien por el simple hecho de hacer clic en un enlace.
Figura 1: Storm Breaker: ¿Qué me puede pasar con sólo hacer clic en un enlace?
Si quieres, puedes ver la entrevista completa, que está publicada en Youtube, así que si te animas a pasar un rato con Chema y Antonio, aquí la tienes, que hablan de muchas cosas interesantes.
Sobre esta pregunta que os comentaba, yo siempre estoy dándole vueltas a ver qué me puedo automatizar o qué puedo crear para mis andanzas en los programas de Bug Bounty, que ya sabéis que al final Chema Alonso me lío para hacer incluso un libro de esto en 0xWord titulado "Bug Bounty: De profesión Cazarecompensas", y recientemente me ha venido a la cabeza al descubrir una utilidad desarrollada para obtener información sensible de cualquier equipo que se conecte a una determinada URL.
Esta herramienta llama la atención por la facilidad de uso y la poca interacción que hace falta por parte de la víctima, ya que no requiere ningún tipo de instalación en el teléfono o en el ordenador personal de la víctima, solo que haga clic en un enlace. O que visite una URL en la que estén incluidas las funciones de esta utilidad, llamada "Storm-Breaker".
Storm-Breaker
Los fans de Marvel recordaréis este nombre por el arma que utiliza Thor en "Avengers: Endgame" y en "Avengers: Infinity War", y es que en ella se inspiraron los creadores de esta herramienta. Esta utilidad permite obtener de la víctima información muy sensible como su ubicación, capturas de la cámara, grabaciones del micrófono… sin necesidad de instalar nada en el dispositivo.
Tras ejecutar el programa, este generará una URL dinámica con Ngrok (*.ngrok.io) que apuntará al localhost del atacante y que una vez haya sido ejecutada generará un template con una web diseñada específicamente para cada tipo de información que el atacante desee obtener de la víctima, como por ejemplo:
- Localización de la víctima (URL de Google Maps con sus coordenadas)
- Contraseña del Sistema Operativo (Windows 10)
- Capturas de pantalla de la webcam o de la cámara del teléfono en tiempo real.
- Grabaciones en tiempo real del micrófono del dispositivo.
La víctima accederá a una web desde la que se le pide simplemente que haga clic en el enlace para continuar, y será entonces cuando el atacante reciba la información en su máquina.
Reflexiones
Como veis, no es necesario instalar un APK en un teléfono o un ejecutable en un ordenador para infectar un dispositivo y obtener información de él. Tampoco es necesario dominar Metasploit o Kali Linux - aunque si lo dominas, es un extra, cómo no, que Storm-Breaker funciona en Kali Linux - para utilizar herramientas como esta, que pueden ser igualmente peligrosas-
Los cibercriminales cuentan con una amplia gama de herramientas y que cada vez es más democrática en el mal sentido, ya que está dando acceso a un mayor número de atacantes de los que protegerse. Ante este panorama, merece la pena estar siempre atentos ante cualquier señal de sospecha y evolucionar igual de rápido que lo hacen las técnicas de phishing que cada día son más avanzadas y peligrosas.
La semana pasada hablé de técnicas de escaneo y evasión con Nmap. Hoy hablo de más técnicas de escaneo, como si fuera una segunda parte del artículo, y puede que vengan más en un futuro. El arte del fingerprinting, en muchas ocasiones es eso, un arte. Nos permite saber cosas sobre las máquinas cuando vamos a ciegas.
Figura 1: (más) Técnicas de escaneo y evasión con Nmap usando el tiempo
No sabemos si la máquina es Windows, un GNU/Linux, un macOS, no sabemos si tiene un puerto abierto o cerrado, si tiene un servicio u otro, si tiene una mecanismo de protección o no lo tiene. Ni siquiera tenemos por qué saber si estamos en la misma red que la máquina o las máquinas de las que queremos saber. Por eso, cuando hacemos un Ethical Hacking, cuanto más sepamos de la fortificación de Windows, de la fortificación de GNU/Linux y de la seguridad de MacOS, mejor entenderemos los resultados que obtenemos.
Ligamos Nmap al fingerprinting en muchas ocasiones, pero no es la única herramienta, aunque sin duda es una herramienta con experiencia, con años de desarrollo y con extensibilidad a través de su motor NSE. La semana pasada la utilizamos para dar juego a ping sweep y todas las variantes de bypasses y evasiones que podemos imaginar en un entorno en el que queremos saber si la máquina está o no está.
Hoy vamos a jugar con los templates de tiempo y la forma de bypassear ciertas protecciones gracias al timing.
Nmap Timing: Jugando con el tiempo
La plantilla de tiempo en nmap viene dada por el parámetro –T. Cuando ponemos –T0 es la plantilla de tiempo más lenta, con diferencia, mientras que –T5 es la más rápida. Por defecto, ¿Qué utiliza nmap si no indicamos nada? Por defecto se utiliza la plantilla –T3. A continuación, os dejo un listado de los tipos de plantillas, sus nombres y las posibilidades de éstas:
• Insane –T5: Esta plantilla envía paquetes lo más rápido posible. Solo espera 0,3 segundos para obtener una respuesta ante el envío de un paquete. La diferencia de tiempo entre los dos paquetes enviados es de hasta 5 milisegundos. Escaneo muy rápido, pero el cual genera mucho ruido. La precisión aquí también es rebajada. Este escaneo puede ser utilizado en una red rápida, en un entorno local muy rápido.
• Aggresive –T4: Esta plantilla espera solo 1,25 segundos para obtener una respuesta. La diferencia entre el envío de paquetes es de 10 milisegundos.
• Normal –T3: Esta plantilla es la de por defecto.
• Polite –T2: Esta plantilla se utiliza para enviar paquetes rápidamente. La diferencia entre el envío de paquetes es de 0,4 segundos.
• Sneaky –T1: Esta plantilla se utiliza para enviar paquetes rápidamente pero más lento que un Normal o Polite Scan. La diferencia entre el envío de paquetes es de 15 segundos.
• Paranoid –T0: Esta plantilla tiene una diferencia entre envío de paquetes de 5 minutos. Genera muy poco ruido, pero estamos metiendo una diferencia entre paquetes muy grande.
En la imagen se puede ver la ejecución de –T2, -T1 y –T0. Se pueden apreciar las diferencias en tiempo de cada escaneo.
Figura 4: Pruebas con -T2, -T1 y -T0
Empezamos a bloquear: Bloqueando –T5
En nuestra máquina GNU/Linux Ubuntu con iptables añadimos estas reglas:
iptables -I INPUT -p tcp -m state --state NEW -m recent --set
iptables -I INPUT -p tcp -m state --state NEW -m recent --update --seconds 1 --hitcount 1 -j DROP
Como podemos ver en la siguiente imagen, la primera petición se responde, pero las siguientes no tienen margen, como indica la regla, por lo que como no ha pasado el tiempo de un segundo entre peticiones se filtra el paquete.
Figura 5: Resultado con un -T5. Se detectan los servicios.
Como la regla tiene 1 segundo entre peticiones, el bypass es realmente sencillo. Se puede hacer un bypass con el propio –T5 a través de los reintentos. Cada reintento consume tiempo por lo que si aplicamos reintentos podemos superar esos segundos debypass. Con la opción –max-retries [número de reintentos].
Figura 6: Se salta igualmente
En este caso, también podíamos utilizar las otras plantillas de la –T4 a la –T0. Esto es debido al poco tiempo indicando en el parámetro –seconds de iptables.
Bloqueando –T4, -T3 (modo por defecto) y –T2
Ahora vamos a aplicar nuevas reglas para bloquear estas plantillas de tiempo. Si quisiéramos bloquear –T1 ampliaríamos en más segundos. Como se puede ver el juego es sencillo.
iptables -I INPUT -p tcp -m state --state NEW -m recent --set
iptables -I INPUT -p tcp -m state --state NEW -m recent --update --seconds 3 --hitcount 1 -j DROP
En la imagen se puede ver cómo se bloquea o filtran las peticiones con –T4, mientras que si se utilizada un –T1 y se tardan 60 segundos para escanear 3 puertos, se obtiene respuesta del estado de los puertos.
Figura 7: Se tarda 60 segundos para escanear tres puertos
Si en las reglas anteriores metemos como valor 100 al parámetro –seconds, iptables hará DROP sobre los paquetes de la plantilla –T1, lo que dificultaría mucho el proceso de scanning. Este bypass, a estas alturas del artículo ya se puede hacer uno a la idea de que será usando la plantilla –T0.
Hoy en día muchos hogares cuentan con dispositivos Xiaomi destinados a la domótica y mi casa no es una excepción. La pregunta que me hacía es ¿cuántos dispositivos de Xiaomi tengo en casa?. Estos pueden ser bombillas, centralitas de alarma o cámaras IP. Por ello en este artículo de hoy os voy a enseñar cómo se pueden descubrir los dispositivos de este fabricante a través del protocolo MDNS o directamente con el uso de sockets.
Figura 1: Cómo descubrir los dispositivos 'Inteligentes' de Xiaomi que ya se te han colado en tu casa
La primera opción es muy rápida si dispones de un sistema operativo GNU/Linux y haces uso de Avahi. Este post va a ser bastante rápido y directo, para llegar lo antes posible al objetivo marcado en el título, así que solo se va a dividir en dos pequeñas secciones que traten justo esos temas. Vamos a ello.
Descubriendo dispositivos Xiaomis con MDNS
Para hacer la búsqueda de dispositivos usando MDNS aprovechándonos de Avahi, podemos utiliar el siguiente comando:
avahi-browser _miio._udp
Y cuando se ejecute, podremos ver por la pantalla todos los dispositivos que se van encontrando:
Figura 2: Dispositivos descubiertos
Para finalizar la búsqueda basta con presionar CTRL^C. ¿Pero esto lo podemos hacer con algún script en Python? La respuesta es sí, que nuestro querido Python está hecho para los pentesters, así que lo podemos hacer uso de la librería zeroconf, el script básico se puede ver a continuación:
Figura 3: Usando zerconf con un script en Python
El script son solo dieciséis líneas y ya lo tenemos montado. El código lo puedes adaptar fácilmente a que se termine con un una señal SIGINT en vez de un Time-Out. Y el resultado ya nos muestra más información que con el ejemplo de Avahi:
Figura 4: Lanzando nuestro script en Python
Con la búsqueda de dispositivos Xiaomi mostrada aquí no he conseguido que descubra el 100% de los dispositivos, de 8 tipos probados en total han salido 7. El producto que se resiste es la lámpara de escritorio. Cuando hablamos de descubrimientos, normalmente existen varias opciones, y ésta no es la excepción. Vamos con la segunda parte.
Descubriendo dispositivos Xiaomis con sockets
Este método utiliza la librería socket de Python, y el descubrimiento no es nada del otro mundo. Lo único que hemos hecho es el script se puede ver a continuación donde recorremos el esquema de direcciones IP por los puertos de los dispositivos Xiaomi para luego usar alguna información de fingerprinting - basada en banner-grabbing u otra similar - que nos permita detectarlos.
Figura 5: Script para detectar dispositivos
Para desarrollar el código se ha tenido en cuenta python-miio. No llega a ser el doble de líneas, pero de esta forma solo obtenemos la dirección IP. Ya es un comienzo para luego ir obteniendo más datos con otras herramientas de fingerprinting, o como no, haciendo uso de Python. Y el resultado es el siguiente:
Figura 6: Dispositivos descubiertos con el escaneo de sockets
Los tres dispositivos que estaban conectados a la hora de hacer la prueba son descubiertos, al igual que en la anterior opción. Y como habéis visto, podéis haceros sabiendo Python cualquier script que necesites para tus tareas de investigación. Rápido y sencillo. Nos vemos en la próxima entrada.
Autor: Josué Encinar García, autor del blog Boomernix y Security Researcher en ElevenPaths y en el equipo de Ideas Locas de la unidad CDO de Telefónica.
Estamos en Mayo de 2019, y el año pasado por estas fechas llegaba lo obligatoriedad de aplicar el Reglamento General de Protección de Datos Europeo (GDPR) para que los usuarios tuvieran un mayor control de sus datos dando consentimiento explícito para la cesión de datos a las empresas. Y ya ha pasado un año desde que se aplicó.
Figura 1: GDPR y la captura de datos en la navegación Web un año después: "Seguir Navegando"
En aquellos meses previos a la aplicación de las medidas técnicas para el cumplimiento del nuevo reglamento recuerdo haber dicho en una conferencia que tal y como veía las implementaciones que se estaban haciendo, GDPR tenía el mal presentimiento de que se podía convertir en la nueva Política de Cookies de la navegación web. Algo que no era lo que se esperaba ni mucho menos cuando se creaba la regulación. Hoy en día, un año después, podéis juzgar vosotros si es así o no.
Supongo que todos recordáis que había que avisar de que las webs utilizaban cookies, y como todas utilizaban cookies para algún propósito, los usuarios aprendieron a navegar haciendo "clic" sobre cualquier mensaje de Política de Cookies, dando lugar a que la gente utilizara su imaginación para estos mensajes.
Figura 2: Mensaje de aviso de "Esta web utiliza cookies"
Pero claro, con GDPR esto no vale, ya que hay que dar un Consentimiento Explícito de cada una de las cesiones de datos. Al final, hay que ceder datos para un uso concreto a una entidad concreta, por lo que hay que aceptar la cesión, una a una, de todos los datos y todos los usos que se van a dar, a todas las entidades a las que se va a ceder.
También existe un caso en el que las empresas pueden utilizar los datos - y deben hacerlo - si hay un Interés Legítimo para el usuario. Es decir, si utilizar esos datos son en pro de un beneficio legítimo del usuario que los genera, y la empresa deberá dejar claro cuáles son y cómo se usan para que puedan ser revisados.
GDPR y la Captura de Datos en la navegación Web
En definitiva, entre los consentimientos que se solicitan y los datos que se utilizan en interés legítimo del usuario, son muchas las explicaciones que se deben dar del uso de los datos en todos los servicios que se consuman, incluidas, como no, las páginas web que se visitan.
Figura 3: Big Data y Privacidad [2014]
En las charlas de "You are where you are" que di hace ya tres años - en Mayo de 2016 - sobre el uso de los datos para identificar a las personas, o la charla de Big Data & Privacidad que di en el año 2014 en las que hablo de las técnicas de web browsing fingerprinting, el número de datos que se capturan de una navegación es enorme.
Figura 4: You are where you are [2016]
Si a esto le sumamos que el pago que se hace por anuncio es muy pequeño y que las webs y los intermediarios "venden o ceden" datos a muchos Data-Brokers, Ad-Exchangers, Data-Enrichment, etcétera, el número de datos que un usuario cede o debe ceder con un consentimiento, para el número de usos que se dan a esos datos, para el número de organizaciones que están involucrados es enorme.
Figura 5: Acepto todo o "Más información" en pequeñito
Sin embargo, ¿os imagináis que vais navegando por una web y tenéis que activar - por cada noticia que veis en un blog - una lista de entre cien o doscientos botones de consentimiento? Pues así es, por lo menos para cada sitio que se visita. Pero para que sea más fácil se han creado los famosos "Botones Gordos" de "Habilitar Todo", "Seguir Navegando", "OK a Todo" o, simplemente, "Aceptar".
Figura 6: Mostrar más información (ojo a la barra de desplazamiento vertical)
Es decir, se ha convertido casi en el mismo botón de la Política de Cookies que teníamos antes. Eso sí, ahora puedes hacer una navegación para ver a qué nos estamos comprometiendo con ese "Habilitar Todo", y si no has perdido el tiempo en verlo va a ser una experiencia divertida que veas con que facilidad regalas todos los datos que generas a todo el mundo para todo. En el caso que vemos en la primera imagen, es un Gestor de Consentimientos para Google Analytics y Google Ads de una web - son más o menos todas iguales -.
En este caso, que estoy enseñando por aquí, es un componente común para webs que hace, como os he dicho en el párrafo anterior, lo que se llama "Gestor de Consentimientos", y en el que se capturan los consentimiento necesarios para tener todos los datos y compartirlos con quién sea necesario en cualquier momento. Si entramos a ver los detalles, la cosa es divertida y puede tomarte casi una hora revisar todo.
Figura 7: Lista de empresas asociadas a uno de los consentimientos. (¡Ojo a la barra de desplazamiento vertical de la derecha)
Es importante que os fijéis que si dais a la primera opción de "Más información" veáis que si entramos a ver los usos y los datos para los que se solicita consentimiento, tenemos una lista grande - barra de desplazamiento vertical, pero que para cada uno de ellos tenemos un botón que pone "ver empresas", donde podemos ver la lista de entidades a las que estamos accediendo a dar acceso a nuestros datos. Son empresas Data-Brokers, Data-Enrich, Ad-Exchangers, Data-Analytics, Ad-Personalization, y un largo etcétera de empresas a las que nuestros datos, o los de cualquier navegante están o pueden estar llegando en cualquier momento.
Figura 8: El consentimiento para Google
En el caso de Google, que es una importante aparece en el Consentimiento de Other, y en él tenemos también la opción de ver empresas. Como se puede ver la información dice que va a recoger los datos para "personalización deanuncios ymediciones", lo que puede significar "solo eso", o todos los datos del universo si tenemos en cuenta que la personalización es "Todo lo que pueda saber de ti" y las mediciones son "Todo lo que se pueda medir" en el universo. Ver las charlas en vídeo que he puesto antes en el artículo.
Figura 9: Empresas socias del Consentimiento "Other" de Google
Y para ello, por supuesto, tenemos una lista de empresas a las que Google puede enviarle los datos con tu consentimiento, que son esa lista de unas ... ¿cien? ¿doscientas? Es difícil contarlas, son muchas.
Para Terminar
Al final, los usuarios hacen clic en "Habilitar Todo". Si eres de los que hacen clic en "Rechazar todo" y "Guardar y Salir", puedes seguir navegando igual - normalmente - pero es un proceso para solo los datos de esa visita, porque cuando vuelvas a visitar anónimamente el mismo sitio - supuestamente de forma anónima, que ya sabéis que se hace Web Browsing Fingerprinting y se sabe quién eres sí o sí - te va a volver a pedir lo mismo, con lo que lo habitual es que la gente haga clic en "Seguir Navegando".
No toméis este artículo como una queja contra nadie. Solo es la realidad de lo que tenemos. Nuestros datos fluyen con - ¿demasiada? - libertad por todo el mundo y es una especie de círculo vicioso. Como los datos los cedemos con facilidad, valen poco dinero, así que hay que hacer que los datos se sigan cediendo mucho y por poco dinero - el valor que cobra una web o un blog por los ads es muy poco hoy en día y el negocio está controlado por muy pocas empresas -.
Figura 10: Vídeo de exploración de Gestor de Consentimientos
Os he hecho un pequeño vídeo con la navegación por este componente, para que veáis de primera mano todos los consentimientos que se van con solo hacer clic en "Habilitar Todo". Y esto, por cada web, blog, o sitio que visitéis que tenga anuncios basados en datos (Data-Driven Ads) o haga algo de negocio con vuestros datos.
Hoy mismo ha tenido lugar el webinar que hemos hecho en ElevenPaths dentro de nuestra serie de CodeTalks For Developers sobre Air Profiling, una Prueba de Concepto que explica cómo se pueden hacer perfiles de navegación de usuarios en una red WiFi, por medio del análisis del tráfico que generan sin cifrar, o por medio de los puntos de conexión.
Figura 1: Air Profiling: Cómo perfilar usuarios por su tráfico WiFi
La idea nació dentro de un proyecto de Equinox, utilizando las bases de datos de URLs de apps que tenemos en Tacyt, y en este caso, Guillermo Román Ferrero y Javier Gutierrez Navío, han hecho una implementación.
Como he dicho, el proyecto de Air Profiling permite, a través del tráfico recogido mediante sondas que monitorizan el tráfico WiFi, procesar dicha información y realizar un perfil de los distintos usuarios, enfocado a clientes de dispositivos móviles, del uso de los dispositivos según la información obtenida al analizar su tráfico web.
Figura 2: CodeTalk for Developers "Air Profiling"
Para este proyecto, se han usado tecnologías de análisis de datos de Amazon Web Services, TCPdump yPython. Se ha utilizado una base de datos en ElasticSearch que permite de forma sencilla la recopilación y cruce de los distintos datos, y pintar, gracias a Kibana, gráficos con los resultados de los mismos.
El resultado final es una aplicación web, ubicada en un servidor Django, que permite mostrar los resultados del análisis de datos, mostrando información sobre la navegación web, qué páginas visita dicho usuario, un estudio de los tipos de páginas frecuentadas, la ubicación de los servidores áccedidos, y un timeline que muestra cuando ha realizado peticiones el dispositivo analizado.