scieee AI-readable full text Open interactive document viewer

Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas

Lucero Fernández, Ana

Abstract

El problema de la privacidad en la red es un tema que está a la orden del día. Cada vez más, los usuarios buscamos que nuestra información personal no se transmita sin haber dado previamente y de forma explícita nuestro consentimiento. Este problema llevado,al mundo de las redes inalámbricas,se traduce en intentar que un dispositivo que no sea el propiosólosolo sea capaz de identificarnos de forma unívoca cuando hayamos aceptado una asociación con él. La información que logra que se distinga a undispositivo de los demás del mundo es la dirección MAC, ya que es única e irrepetible. Es por eso por lo que, para solventar el problema de la privacidad, los fabricantes se han centrado en intentar ocultarla a través de ciertos algoritmos hasta que sea realmente necesario compartirla. Este momento llega cuando queremos nuestro dispositivo de red se asocie con un punto de accesoWiFi que nos permita mandary recibir información en internet a través de él: tenemos obligatoriamente que identificarnosenel momento de la conexiónpara que este punto de acceso sepa devolvernos de la información que buscamos. En este proyecto se busca identificar a los dispositivos que no estén conectados a un punto de acceso (a partir de ahora, AP) sin considerar su dirección MAC. Para ello se va a estudiar la información que transmite un equipo antes de la asociación con un AP. Más concretamente, se van a estudiar las tramas WiFi del subtipo “Probe Request”, intentando averiguar a través de los datos que se comparten en ellas si dos dispositivos son el mismo. Este estudio pretende ser capaz de hacer recuentos fiables del número de usuarios que se encuentran en una cierta zona, dentro del área de alcance de un AP durante un periodo de tiempo. Esto se hará respetando las normativas nacionales e internacionales sobre protección de datos.Las tramas “Probe Request” son tramas de gestión que un dispositivo envía para rastrear un área en busca de redes inalámbricas. En ellas, hay cierta información que varía con el tiempo y cierta otra que permanece constante para un mismo dispositivo. Es a través del estudio de la variabilidad y la estabilidad de la información que se manda que buscamos obtener una huella digital o fingerprint de cada dispositivo. Como ya hemos dicho, esto se hará independientemente de la dirección MAC que el dispositivo transmita como propiaya que, a pesar de proporcionarnos información más fiable para el recuento de usuarios, puede haber sido aleatorizada, en cuyo caso nos falseará el resultado que obtengamos si la consideramos. El sistema desarrollado para este proyecto se basa en un estudio realizado en 2017 en la Hasselt University, en Bélgica.En él se estudia cómo se puede obtener una huella digital que identifique a los dispositivos móviles de forma que dejen de “ser anónimos” gracias a la dirección MAC aleatoria. Para ello, se tratan una serie de técnicas a través de las cuales se pueden emplear las características específicas del protocolo empleado o del chipset del dispositivo.

Full text

Equation Chapter 1 Section 1 Proyecto Fin de Grado Ingeniería de las Tecnologías de las Telecomunicaciones Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas Dpto. de Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Autor: Ana Lucero Fernández Tutor: Sergio Luis Toral Marín Sevilla, 2020 iii Proyecto Fin de Grado Ingeniería de las Tecnologías de las Telecomunicaciones Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas Autor: Ana Lucero Fernández Tutor: Sergio Luis Toral Marín Catedrático de Universidad Dpto. de Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2020 v Proyecto Fin de Grado: Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas Autor: Ana Lucero Fernández Tutor: Sergio Luis Toral Marín El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de Sevilla, 2020 El Secretario del Tribunal vii A Yeyo y a Yaya A mi tatita ix Agradecimientos Tras mucho tiempo de esfuerzo y batallas internas, veo llegar, en forma de TFG, la luz al final de este túnel. Este es el broche para cerrar una etapa de Universidad que, sin duda, ha sido el reto más grande de mi vida y cuyos recuerdos y vivencias me van a acompañar siempre. Quiero agradecer a mi familia el apoyo incondicional que he recibido por su parte durante todos estos años. A mi madre por ser ella, y por ser nosotras, gracias por aguantarme todos estos años. A mi padre por haber sido mi pilar más fuerte: por haberme inculcado la constancia, el trabajo y el esfuerzo; por haberme apoyado de todas las formas posibles y haber confiado siempre en mí. Nunca tendré palabras de agradecimiento suficientes. A mi hermano, a mi hermana y a mi otra hermana, mi prima. Gracias por esta relación que tenemos. Gracias por haber sido el hombro en el que apoyarme, muchas veces sin ni siquiera daros cuenta. Gracias por darme fuerza a través de vuestra fuerza. Gracias por las conversaciones chorra que me hacen evadirme de los problemas del día a día. Gracias por estar siempre ahí y por ser el espejo donde mirarme. A mis tíos, a mis tías y a mis abuelos. A los que están físicamente y a los que me ven desde el cielo. Gracias por seguir dándome fuerzas todos los días, gracias por insuflarme ánimos cuando no podía más, gracias por confiar en mí cuando yo ya no lo hacía y gracias por hacerme ver que soy capaz de todo lo que me proponga. A mis pollitos, a Marina, Cristina y Reto, al escuadrón búnker y a todas las personas que han sido mi familia en la ETSI todo este tiempo. Gracias por tantos buenos ratos, gracias por compartir tantas risas en momentos de pleno estrés, por las comidas en los merenderos y los cafés en los labs. Gracias por el estudio en compañía y el sufrimiento compartido. Sois lo más grande que me voy a llevar de esta etapa que habría sido imposible sin vuestra compañía. Nada me hace más feliz que seguir contando con vosotros en mi vida. A todos los profesores que han formado parte de este aprendizaje tan intenso. Gracias por la paciencia, por los consejos, la ayuda y la comprensión. También por lo contrario cuando ha sido así. Todo suma en esta carrera de fondo para convertirnos en lo que somos hoy. En resumen, gracias a todas y cada una de las personas que han estado a mi lado de una forma o de otra durante este periodo de mi vida. No habría sido posible sin vosotros. Ana Lucero Fernández Sevilla, 2020 3.4 Análisis de los elementos de información .................................................................................... 17 3.5 Constataciones ............................................................................................................................. 19 4 Descripción del Sistema ............................................................................................................... 21 4.1 Puesta en marcha del entorno ..................................................................................................... 21 4.1.1 Sistema Operativo ................................................................................................................ 21 4.1.2 PyCharm ................................................................................................................................ 21 4.1.3 Dataset y MongoDB .............................................................................................................. 21 4.1.4 Python 3.8 ............................................................................................................................. 25 4.2 Paquetes necesarios para ejecutar el código y versiones ............................................................ 25 5 Resultados .................................................................................................................................. 27 5.1 Comportamiento del programa ................................................................................................... 27 5.1.1 Lógica del Código .................................................................................................................. 27 5.1.2 Explicación de las métricas ................................................................................................... 36 5.2 Resultados .................................................................................................................................... 36 5.2.1 Contexto e interpretaciones del experimento 1 ................................................................... 37 5.2.2 Contexto e interpretaciones del experimento 2 ................................................................... 41 5.2.3 Comentarios sobre los resultados ........................................................................................ 41 6 Conclusiones y Líneas futuras ...................................................................................................... 45 6.1 Conclusiones ................................................................................................................................ 45 6.2 Líneas futuras ............................................................................................................................... 46 Referencias ........................................................................................................................................ 47 Glosario ............................................................................................................................................. 49 Anexo A: Campos de una Trama Probe Request ................................................................................. 51 Anexo B: Librerías Python empleadas por el Proyecto ........................................................................ 53 xvii ÍNDICE DE TABLAS Tabla 1. Valores según tipo de trama MAC ................................................................................................. 9 Tabla 2. Posibles valores de los campos Address 1, 2, 3, 4 .......................................................................... 9 Tabla 3. Suma total de la entropía de los elementos de información ......................................................... 18 Tabla 4. Paquetes necesarios y versiones ................................................................................................... 26 Tabla 5. Campos Probe Request ................................................................................................................. 52 xix ÍNDICE DE FIGURAS Figura 1-1. Trama MAC genérica ................................................................................................................ 1 Figura 1-2. OUI ............................................................................................................................................ 4 Figura 1-3. Bit Universal/Local .................................................................................................................... 4 Figura 1-4. Estructura de las tramas Probe Request ..................................................................................... 5 Figura 2-1. Capas modelo OSI ..................................................................................................................... 8 Figura 2-2. Trama de gestión genérica ....................................................................................................... 10 Figura 3-1. Variabilidad de los Elementos de Información ........................................................................ 18 Figura 3-2. Inestabilidad de los Elementos de Información ....................................................................... 18 Figura 3-3. Umbral entre [0,1] para un dataset de 10.000 dispositivos ...................................................... 19 Figura 3-4. Umbral entre [0,1] para un dataset de 100 dispositivos ........................................................... 19 Figura 4-10. Descompresión dataset ........................................................................................................... 22 Figura 4-11. Ejecución del comando mongorestore para obtener dataset .................................................. 22 Figura 4-12. Resultado positivo del comando mongorestore ..................................................................... 23 Figura 4-13. Arranque de MongoDB desde el terminal ............................................................................. 24 Figura 4-14. Acceso al dataset .................................................................................................................... 24 Figura 4-15. Salida búsqueda en colección mac_info ................................................................................ 24 Figura 5-1. Diagrama de flujo test inicial ................................................................................................... 28 Figura 5-2. Diagrama del cuerpo del programa .......................................................................................... 29 Figura 5-3. Diagrama cálculo variabilidad ................................................................................................. 30 Figura 5-4. Diagrama del cálculo de la estabilidad .................................................................................... 31 Figura 5-5. Diagrama del cálculo de la probabilidad de cada bit ............................................................... 32 Figura 5-6. Diagrama de cálculo de bits óptimos ....................................................................................... 33 Figura 5-7. Diagrama para la obtención de máscara de bits ....................................................................... 33 Figura 5-8. Diagrama para hallar la huella digital ...................................................................................... 34 Figura 5-9. Diagrama de deanonimización de MACs ................................................................................ 35 Figura 5-10. Localización de las MS durante el festival de música ........................................................... 37 Figura 5-11. Variabilidad para un training de 30.000 muestras y un test de 50 muestras .......................... 37 Figura 5-12. Estabilidad para un training de 30.000 muestras y un test de 50 muestras ............................ 38 Figura 5-13. Bits óptimos para un training de 30.000 muestras y un test de 50 muestras ......................... 38 Figura 5-14. Variabilidad para un training de 30.000 muestras y un test de 1.000 muestras ..................... 38 Figura 5-15. Estabilidad para un training de 30.000 muestras y un test de 1.000 muestras ....................... 38 Figura 5-16. Bits óptimos para un training de 30.000 muestras y un test de 1.000 muestras .................... 38 Figura 5-17. Variabilidad para un training de 30.000 muestras y un test de 10.000 muestras ................... 39 Figura 5-18. Estabilidad para un training de 30.000 muestras y un test de 10.000 .................................... 39 Figura 5-19. Bits óptimos para un training de 30.000 muestras y un test de 10.000 .................................. 39 Figura 5-26. Variabilidad para un training de 75.000 muestras y un test de 15.000 .................................. 40 Figura 5-27. Estabilidad para un training de 75.000 muestras y un test de 15.000 .................................... 40 Figura 5-28. Bits óptimos para un training de 75.000 muestras y un test de 15.000 .................................. 40 Figura 5-29. Variabilidad para un training de 98.000 muestras y un test de 24.989 muestras ................... 40 Figura 5-30. Estabilidad para un training de 98.000 muestras y un test de 24.989 muestras ..................... 40 Figura 5-31. Bits óptimos para un training de 98.000 muestras y un test de 24.989 muestras .................. 41 Figura 5-32. Unicidad de huellas digitales cuando λ=0 .......................................................................... 42 Figura 5-33. Unicidad de huellas digitales cuando λ=1 .......................................................................... 42 xxi Índice de Figuras 22 1 1 INTRODUCCIÓN 1.1 Elementos de una red WiFi Para comprender el escenario en el que se basa la realización de este estudio, hay que saber en qué consiste una red WiFi, qué elementos que intervienen en ella y cuál es el comportamiento de los distintos dispositivos que lo hacen. Además, hay que especificar en qué información se centra la casuística que se trata y con qué finalidad se lleva a cabo. En un entorno donde se estudia una comunicación WiFi hay dos elementos principales: el punto de acceso (AP – Access Point) y el dispositivo que se quiere comunicar con él, denominado estación cliente (STA – Station). El punto de acceso es el elemento que crea la red inalámbrica (WLAN). Se conecta a un router, switch u otro equipo, a través de un cable Ethernet, y proyecta una red WiFi en el área que alcanzan las ondas que transmite. Es decir, actúa como intermediario entre los dispositivos inalámbricos que se conectan a él y la red de Internet, conectándose así a los dispositivos a la red. La estación cliente es el dispositivo inalámbrico que se conecta al AP para poder acceder a la red Internet. Pueden ser ordenadores portátiles, tabletas, teléfonos móviles, etc., es decir, cualquier dispositivo que disponga de una tarjeta de red inalámbrica, ya que esta es la que les permite enviar y recibir datos en una red WiFi. Para que la comunicación entre los AP y las STA tenga éxito, los equipos intercambian datos bajo la forma de tramas. La trama MAC del estándar IEEE 802.11 está formada por la cabecera, el cuerpo, y una secuencia de verificación de la trama (FCS – Frame Check Sequence). Figura 1-1. Trama MAC genérica Dentro de las tramas, hay tres tipos que pueden ser mandadas por el dispositivo, dependiendo del momento de la comunicación en el que se esté, y lo que se quiera lograr. Lo único que quiero es educación, y no le tengo miedo a nadie. - Malala Yousafzai - Introducción 2 • Tramas de control: ayudan a la correcta entrega de las tramas de datos. Se encargan de administrar el acceso al medio inalámbrico y proporcionan funciones de fiabilidad a la capa MAC. Ejemplos de este tipo son las peticiones de reserva del canal (RTS y CTS), asentimientos a la recepción de tramas (ACK), etc. • Tramas de datos: son las que envían la información que se está queriendo transmitir a las capas superiores. Puede ser el contenido de una página web, una imagen, un vídeo, etc. • Tramas de gestión: se emplean para proporcionar los servicios que permiten establecer la comunicación inicial entre una STA y un AP. Ejemplos de ellas son las tramas que se emplean para buscar una red WiFi compatible en el área del dispositivo, para autenticar a los equipos que se están conectando, etc. El estudio que se trata en este documento se basa en una subtrama de gestión denominada “Probe Request”. Son empleadas por las STA, y su función es escanear el área para encontrar redes 802.11 compatibles. En ella se manda, entre otra información, la dirección MAC del dispositivo que está siendo origen de la trama. La importancia de esta información radica en que cada dirección MAC es única en el mundo, conociéndola se puede identificar el dispositivo de forma unívoca. A través de la trama Probe Request, la STA está dando esa capacidad a cualquier equipo que esté escuchando en su área de alcance, perdiendo así el anonimato. Esto causa una pérdida de privacidad en el usuario de la STA, y es por eso por lo que los fabricantes de tarjetas de red inalámbricas han cambiado el comportamiento de sus dispositivos: han buscado la forma de que la dirección MAC del equipo inalámbrico no se mande en las tramas hasta que el usuario no quiera conectarse a un AP. Es decir, en las tramas Probe Request, no se manda la dirección MAC del dispositivo, sino una dirección MAC aleatoria. Así, la STA puede escanear su área para encontrar redes inalámbricas sin tener que renunciar a su privacidad. 1.1.1 Monitorización WiFi y privacidad El tema de la pérdida de privacidad debido a la monitorización WiFi ha causado una gran disparidad de opiniones. Un ejemplo de esto es la postura tomada en Holanda, donde la monitorización WiFi sólo se permite bajo unas condiciones muy estrictas. Debido a esto, en el GDPR [1], el reglamento europeo relativo a la protección de las personas físicas en lo que respecta al tratamiento de sus datos y a la libre circulación de estos, hay una sección [2] dedicada a la protección de los datos en los dispositivos inteligentes. La definición de datos personales en el GDPR es la siguiente: "Datos personales significa cualquier información relacionada con una persona física identificada o identificable ("sujeto de datos"); Una persona física identificable es aquella que puede ser identificada, directa o indirectamente, en particular por referencia a un identificador, como un nombre, un número de identificación, datos de ubicación o uno o más factores específicos a lo físico, fisiológico, identidad genética, mental, económica, cultural o social de esa persona física; En octubre de 2016, el Tribunal de Justicia de la Unión Europea publicó su sentencia en el caso 582/14 – Patrick Breyer v Germany [3], en la que concluía que las direcciones IP dinámicas debían ser vistas como datos personales y, siguiendo la misma lógica las direcciones MAC de los dispositivos personales también lo son. Para comprender la aplicación de esto en los casos de monitorización WiFi hay que definir dos roles: el controlador y el procesador. El controlador de los datos es el que determino los propósitos para los cuáles se están procesando los datos y bajo qué medios. El procesador es el que trata los datos en nombre del controlador. El GDPR determina que el controlador debe tener una base legal legítima para procesar datos personales. Los seis posibles principios para esto son: • La persona interesada da su consentimiento para el tratamiento para fines específicos. • El procesamiento es necesario para ejecutar un contrato con la persona interesada. 3 3 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas • El tratamiento es necesario para el cumplimiento de una obligación legar que incumbe al controlador. • El tratamiento es necesario para proteger los intereses vitales del interesado en situaciones que amenazan a la vida. • El tratamiento es necesario para el desempeño de una tarea realizada en interés público o en le ejercicio de la autoridad oficial. • El tratamiento es necesario para el interés legítimo de la organización o del tercero a quien se le comunican los datos. En el caso que aplica, la sexta base es la que puede servir para el procesamiento de direcciones MAC en el rastreo WiFi. Esta base no es apta para órganos administrativos que desempeñan una tarea pública (deben basarse en el quinto principio) pero sí para empresas privadas. El grupo de trabajo del artículo 29 proporciona más información sobre esto [4]. 1.2 Objetivo Debido a que cada vez son más los fabricantes de dispositivos inalámbricos que incluyen tarjetas de red que permiten aleatorizar las direcciones MAC de origen en las Probe Request, el objetivo de este proyecto es crear un algoritmo que detecte que dos tramas provienen de un mismo equipo independientemente de la MAC que aparezca como origen en ellas. El foco está puesto en las STA que no se encuentran conectadas a ningún AP, por eso es por lo que sólo se van a tratar las tramas Probe Request. El fin de identificar a los dispositivos WiFi no conectados a la red es obtener estadísticas de los datos que se recojan. Por ejemplo, si se este algoritmo se emplease en un conjunto de datos obtenidos en una tienda, se podría saber cuánto tiempo pasan los usuarios de media allí, con qué frecuencia acuden, etc. Este sistema de rastreo es del tipo no cooperativo. Esto quiere decir que los dispositivos no son conscientes de que están siendo rastreados, no se modifica de ninguna forma la estructura existente y los equipos móviles no colaboran de ninguna forma con su localización. Para entenderlo mejor, se pone el ejemplo de un sistema opuesto: un sistema de rastreo cooperativo. En un seguimiento cooperativo, el dispositivo colabora con el sistema de localización para que se le ubique de forma más precisa. Esto es, por ejemplo, cuando en un dispositivo con el sistema operativo Android se selecciona el modo de alta precisión en el GPS. En él, el dispositivo determina su propia ubicación a través de la combinación de puntos de acceso WiFi cercanos, celdas de telefonía o el chip del GPS. Este proyecto se lleva a cabo en base al estudio de investigación llevado a cabo en 2017 en la universidad de UHasselt-tUL-imec, denominado “Noncooperative 802.11 MAC Layer Fingerprinting and Tracking of Mobile Devices” por los investigadores Pieter Robyns, Bram Bonné, Peter Quax, and Wim Lamotte. En él, se analiza bit a bit cada uno de los elementos que se comparten en las tramas Probe Request para calcular dos parámetros: la estabilidad y la variabilidad en los bits. A partir de los resultados obtenidos, se hallan las huellas digitales de las tramas y, a través de ellas, se intenta desanonimizar el origen de los mensajes capturados en la red WiFi. En este proyecto se va a replicar el estudio anteriormente mencionado, con la idea de probar sus resultados y, a partir de ahí poder avanzar, si se requiere, en la línea de investigación que éste sigue. 1.3 Estado del arte Actualmente, ya hay estudios que buscan detectar si dos dispositivos WiFi son los mismos, sin considerar su dirección MAC como cierta. En algunos de ellos se consideran etapas en las que la STA y el AP ya están en un proceso de conexión. En el caso que nos ocupa, se considerarán únicamente aquellos estudios en los que las STA no están conectadas a una red inalámbrica. Algunos de ellos y el enfoque que han tomado se citan a continuación. Aspectos técnicos del Estudio 10 o Fragment Number: indica el número del fragmento de una MSDU. Vale 0 para el primero, y se va incrementando para los demás fragmentos de esa misma MSDU, pero no aumenta con las retransmisiones. • Frame Body: cuerpo de la trama que contiene la información específica según del tipo que sea. • FCS: campo que contiene el código CRC que se calcula sobre los campos de la cabecera y el Frame Body. En todas las tramas que se envían, sean del tipo que sea, se encontrará la cabecera como está descrita anteriormente, y el campo FCS. Las mayores variaciones aparecerán en el cuerpo de las tramas. Tanto su longitud como su contenido son variables según el tipo y el subtipo de trama. Dentro de los tres tipos de tramas descritos, existen más subtipos que son empleados para situaciones diferentes; no se manda la misma trama de control cuando se quiere informar de que se ha recibido información, que cuando se quiere informar de la disposición a enviar contenido al AP. 2.2 Tramas de gestión La gestión es una parte muy importante en las especificaciones 802.11. Son muchos los tipos de tramas de gestión que se usan para proporcionar los servicios que, en una red cableada, son muy simples de obtener. Un ejemplo de esto es establecer la identidad de una STA. En una red cableada, basta con ver qué equipos están conectados a ambos extremos de un cable. En el caso de una red inalámbrica, hay que emplear tramas de gestión para poder tener una funcionalidad similar. El proceso está dividido en tres etapas, que son la búsqueda por parte del dispositivo de redes inalámbricas compatibles para acceder a ellas, la autenticación de dicho dispositivo por parte de la red, para confirmar que la identidad autenticada puede conectarse a la red y, finalmente, los equipos deben asociarse con un AP para conseguir obtener el acceso a la red cableada a través de este. 2.2.1 Estructura de las tramas de gestión Figura 2-2. Trama de gestión genérica Todas las tramas de gestión comparten la misma cabecera. Además de esta, envían elementos de información para comunicarse con los otros sistemas, y lo hacen a través de datos troceados numerados con etiquetas. En el cuerpo, estas tramas son bastante flexibles. La mayoría de los datos que contienen se transmiten a través de campos de longitud fija denominados “campos fijos” y a través de campos de longitud variable llamados “elementos de información”. Estos elementos de información van etiquetados con un número y un tamaño. 2.3 Tramas Probe Request Las STA usan este tipo de tramas para escanear un área en busca de redes 802.11 disponibles. Dos campos que siempre están presentes en este tipo de tramas son el SSID y las tasas soportadas por el dispositivo. Cuando un AP recibe una Probe Request [6], usa la información que el equipo ha mandado para determinar si éste puede unirse a la red o no. Para que la conexión entre ambos sea posible, la STA 11 11 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas debe poder soportar todas las tasas requeridas por la red y, lógicamente, debe querer unirse a la red identificada por el SSID. La estructura completa de una trama Probe Request, incluyendo cabecera, cuerpo y FCS, se encuentra disponible en el Anexo A. Dentro de los campos que este tipo de trama contiene, hay que distinguir entre los estáticos y los variables. Los estáticos tienen las características que sirven para pre-procesar la información, ya que se mantienen constantes a lo largo de la transmisión de distintas tramas. Son: • HT Capabilities Info • VHT Capabilities • Supported Rates Los campos dinámicos tienen las características para hacer un post-procesado de la información. Son de carácter obligatorio, pero cambian con la transmisión de las diferentes tramas de un mismo usuario. Son: • SSID • RSSI • Sequence Control Number 2.4 Otros elementos a considerar A la hora de identificar a dos dispositivos como uno mismo, se puede caer en cuatro situaciones: • Identificación positiva: se da cuando dos tramas Probe Request diferentes, con direcciones MAC de origen diferentes, se identifican como un mismo usuario. • Identificación negativa: es el caso en el que dos tramas Probe Request diferentes, con direcciones MAC de origen diferentes, se identifican como diferentes usuarios. • Falso positivo: ocurre cuando dos o más tramas Probe Request, con direcciones MAC de origen diferentes, se identifican como el mismo usuario, pero no lo son. • Falso negativo: es el acontecimiento en el que dos o más tramas Probe Request, con direcciones MAC de origen diferentes, se identifican como usuarios diferentes, pero son el mismo. Aspectos técnicos del Estudio 12 13 13 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 3 IDENTIFICADORES Y HUELLAS DIGITALES os identificadores son importantes para cumplir con el requisito de que una MS debe poder diferenciar entre múltiples dispositivos observados. Además, cuando los identificadores explícitos no están disponibles (por ejemplo, debido a la aleatorización de la dirección MAC), la MS solo puede confiar en información implícita para construir una huella digital para los dispositivos observados. Si estas huellas dactilares son únicas hasta tal punto que las tramas transmitidas por un dispositivo en particular se pueden vincular sin identificadores explícitos, se dice que el dispositivo está desanonimizado. 3.1 Identificadores Para llevar a cabo la captura de paquetes WiFi, basta con tener, por ejemplo, un dispositivo USB con un hardware WiFi estándar para procesar la señal de radio que se obtenga y analizar los resultados obtenidos para los datos de la capa de enlace. Es por la sencillez de esto por lo que el análisis de los campos de la capa MAC es especialmente atractivo para la industria. 3.1.1 Dirección MAC El elemento más común en la creación de una huella digital es la dirección MAC, ya que se comparte frecuentemente por los dispositivos en las tramas que mandan. Al ser esta, además, una dirección única de forma global, la garantía de que la huella digital va a ser la adecuada es total. Pero, a raíz de la aleatorización de las direcciones MAC, las huellas digitales que sólo se basaban en la dirección MAC han dejado de ser eficaces. Esta característica consiste en que, antes de activar el proceso para escanear el área en busca de redes WiFi disponibles, el equipo cambia su MAC temporalmente a una aleatoria. La duración de la dirección aleatoria viene dada según la implementación que haya hecho el fabricante. Por ejemplo, la dirección MAC puede ser aleatorizada para cada Probe Request, o una sola vez antes de la asociación con un punto de acceso. El fabricante también puede decidir si quiere hacer aleatoria toda la dirección MAC o, únicamente, cambiando el bit global/local del OUI. Tras el proceso de escaneo de la red, cuando el dispositivo decide asociarse con una red determinada, se vuelve a cambiar la dirección MAC a la original, es decir, a la no aleatoria. Esto es así para evitar colisiones entre tramas debido a las direcciones MAC. L El poder de cuestionar es la base de todo progreso humano. - Indira Gandhi - Identificadores y Huellas Digitales 14 3.1.2 Información de la cabecera de la trama MAC A pesar de que la aleatorización de la dirección MAC origen de una trama mitiga el hecho de que esta pueda ser utilizada como único recurso para identificar a un equipo, hay dispositivos que pueden seguir siendo identificados de forma unívoca. Esto se puede hacer, por ejemplo, empleando la correlación del campo “Sequence Number” de la cabecera o el “Duration Field”, siempre que estos no sean aleatorios. Otros muchos campos y propiedades de la trama MAC han sido propuestos en estudios para funcionar como identificadores implícitos a través de combinaciones de los campos, como por ejemplo los bits “more fragments”, “retry” “power management” y “order” usados en la cabecera [7]. 3.1.3 Variaciones en el tiempo Las diferencias en el hardware de los equipos pueden causar ligeras variaciones de temporización que pueden usarse como identificadores implícitos. Por ejemplo, la función de sincronización de tiempo (TSF) en las tramas Beacon de un punto de acceso se puede utilizar para medir la desviación del reloj del hardware, que es diferente para cada dispositivo. El problema es que esta información no se tiene en las STA, ya que estas no transmiten la TSF. Para las STA que no son AP, se ha considerado que las diferencias de tiempo existentes entre las Probe Request podrían usarse para diferenciar a los distintos equipos. La complicación en esto viene de que estos tiempos no son únicos para cada dispositivo y, además, pueden verse afectados por otros factores, como que la pantalla del dispositivo esté encendida o que la antena Wi-Fi esté en modo de suspensión. 3.1.4 Elementos de información Los elementos de información son campos que se encuentran dentro del cuerpo de una trama Probe Request y que tienen longitud variable. Mandan información del STA, como puede ser las tasas que soporta, el SSID, información del fabricante, o muchos otros datos que pueden emplearse como identificadores implícitos. 3.2 Introducción al estudio usado como base El documento en el que se basa este proyecto es el resultado de un estudio llevado a cabo en 2017 en la Universidad UHasselt-tUL-imec, en Diepenbeek, Bélgica. Fue llevado a cabo por Pieter Robyns, Bram Bonné, Peter Quax, y Wim Lamotte, estudiantes de doctorado y profesores investigadores, respectivamente [8]. En él, se presentan dos técnicas de rastreo y fingerprinting para la capa MAC útil para dispositivos móviles con la escucha WiFi habilitada. La primera técnica demuestra cómo un análisis de entropía por bit de una sola trama capturada permite a un equipo que esté escuchando construir una huella dactilar del transmisor, con resultados que van del 80 a 67,6% de efectividad para una escucha de 50 a 100 dispositivos, y que baja un rango de un 33 a 15,1% para el caso en el que se escuchen de 1.000 a 10.000 dispositivos. Se muestra cómo la aleatorización de direcciones MAC puede eludirse utilizando solo la huella digital e información temporal. La segunda técnica se aprovecha de las solicitudes de servicio de publicidad genérica (GAS) 802.11u que se dan de igual a igual, y de las solicitudes de reconocimiento de bloque (BA) 802.11e, para generar transmisiones bajo demanda desde dispositivos que admiten estos protocolos. Ambas técnicas han sido validadas utilizando dos conjuntos de datos, uno de los cuales fue grabado en un festival de música que contiene 28.048 dispositivos únicos y el otro en el laboratorio de investigación de la universidad de los investigadores, que contiene 138 dispositivos únicos. Para el interés de este proyecto, sólo se va a atender a la primera técnica llevada a cabo en el estudio, la enfocada en hallar las huellas digitales de los equipos y en desanonimizar las MACs aleatorias que generan. 15 15 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 3.2.1 Contexto El sistema de rastreo consiste en varias estaciones que se encuentran monitorizando un área desde ciertas ubicaciones geográficas conocidas y constantes. Al ser sus localizaciones conocidas, las ondas de radio que se transmiten por un dispositivo se pueden capturar por el equipo de monitorización (MS – Monitoring Stations) y se pueden mapear hasta él. La precisión en la ubicación del dispositivo depende de muchos factores, algunos de los cuales son la ganancia de la antena del MS, la frecuencia de la portadora o factores ambientales. Cuanto mayor sea el área que se monitoriza, mayores serán las probabilidades de detectar a un dispositivo que este transmitiendo información, pero también disminuirá la exactitud del resultado de la localización. Para que una monitorización no cooperativa sea efectiva, se tienen que dar tres condiciones: que el dispositivo que se va a monitorizar sea identificable de forma unívoca, que su identificador permanezca estable a lo largo del tiempo y que el identificador se transmita lo mas frecuentemente posible. La identificación única se requiere para que el equipo pueda ser diferenciado entre varios dispositivos que hayan sido monitorizados. Aquí es donde entra en juego el tema de las direcciones global o localmente administradas. El estudio de la identificación única de un dispositivo es lo que se conoce como fingerprinting o huella digital. Para crear una huella digital única, un MS debe analizar las propiedades de las tramas que transmite el dispositivo móvil. El foco del proyecto va a estar puesto en los identificadores implícitos, que son aquellos que no tienen como fin identificar al dispositivo, contrariamente a los explícitos (por ejemplo, la dirección MAC). La estabilidad del identificador a lo largo del tiempo implica que este debe mantenerse igual o correlacionado a valores previos durante un tiempo suficiente. De hecho, el mismo identificador debe ser capturado por, al menos, dos MS antes de que se puedan hacer suposiciones sobre él. Finalmente, el identificador debe ser transmitido con la mayor frecuencia posible para aumentar la probabilidad de detectarlo. Esto es especialmente importante si la STA se está moviendo rápido, ya que puede ser que esta se haya desplazado fuera del rango de monitorización incluso antes de haber transmitido su identificador. 3.2.2 Contribuciones técnicas generales La forma en la que actúa el programa es la siguiente: 1. Se realiza un análisis detallado de la entropía de los bits contenidos en las tramas de la capa MAC 802.11, prestando especial atención a los bits de los elementos de información contenidos en las tramas Probe Request. 2. Se obtienen los bits de la trama que son más útiles para construir una huella digital por dispositivo. 3. Se demuestra como un escuchante maligno podría explotar esta filtración de información para rastrear a un usuario de una forma que pasaría inadvertida para él. No tendría necesidad de cambiar la infraestructura de red inalámbrica existente, le bastaría con usar un hardware básico. 3.3 Análisis de la cabecera MAC bit a bit En los puntos que se han explicado anteriormente, se elige un número pequeño de bits para usarlos como identificadores y se descarta el resto de la trama. En lugar de definir manualmente qué bits son adecuados para la creación de las huellas digitales de un dispositivo y cuáles no, lo interesante sería aprender automáticamente la idoneidad de un bit a partir de un conjunto de observaciones. Esto es en lo que se basa y el objetivo final del estudio. En esta metodología, se asigna una puntuación a cada bit de la trama MAC en función de su potencial como identificador. Tras esto, se combinan con puntuaciones más altas para construir a través de ellos una máscara de bits para cada campo de trama. Los campos nuevos o raros que son utilizados sólo por algunos dispositivos se incorporan automáticamente a la huella. Identificadores y Huellas Digitales 16 Este enfoque se origina a partir del pensamiento de que cualquier conjunto de bits de una trama podría potencialmente explotarse para formar un identificador único, siempre que los bits difieran lo suficiente entre los dispositivos para volverse localmente únicos (variabilidad) y permanecer constantes, o que estén relacionados entre ellos (como por ejemplo, cuando se utiliza el número de secuencia, el valor no es idéntico en cada transmisión, pero está relacionado con la trama anterior) durante la duración necesaria para el sistema de rastreo (estabilidad). Se asume que la STA puede aleatorizar su MAC en cada trama. Esto provoca que el análisis requiera solo una única trama del dispositivo para construir su huella digital. Se entiende como un "bit de identificación única" aquel que se obtiene a través de las tres métricas definidas en el estudio: la variabilidad de un bit, su estabilidad y su idoneidad. 3.3.1 Cálculo de la variabilidad La variabilidad de un bit es la entropía de ese bit medida en múltiples tramas MAC, cada una de las cuales es transmitida por un dispositivo diferente. Solo se debe considerar una trama por dispositivo para evitar que un dispositivo que tenga mayor frecuencia de envío de tramas que los demás sesgue el resultado y, además, sólo las Probe Request de las tramas con MAC no aleatorias se consideran en esta fase de aprendizaje por la misma razón. El objetivo de la métrica de variabilidad es indicar qué bits proporcionan contribuciones únicas a la huella digital. Para hallar la variabilidad de un bit en la posición i en una trama, se calcula primero la función densidad de probabilidad discreta para cada valor del bit en esa posición i. Si Xi es la variable aleatoria que representa el valor de un bit, se tiene que Xi ∈ {0, 1, U}, donde U representa la ausencia de dicho bit. Con esta función densidad de probabilidad se puede calcular la entropía de Shannon [9]: 𝐻 ( 𝑋! ) =*−* , 𝑃(𝑋!")log#𝑃(𝑋!") "$∈{',),*} Se tiene un logaritmo en base tres ya que se tienen tres posibles estados para el bit: 0, 1 o ausente. El resultado de la entropía puede ser un resultado entre 0 y 1, donde 0 indica que no hay entropía, y 1 que ésta es máxima. Los resultados se representan como un vector v que determina la variabilidad por bit: 𝑣 =[𝐻)*𝐻,…*𝐻-.)*𝐻-] Donde n es el número de bits de la trama y Hn la entropía del bit n. 3.3.2 Cálculo de la estabilidad La definición de la estabilidad es uno menos la entropía del bit que se esté considerando medida tras varias tramas MAC transmitidas por el mismo dispositivo. Lo que define es la probabilidad de que el valor de un bit permanezca constante a lo largo de las transmisiones de un mismo dispositivo. El objetivo de esto es excluir los bits de un dispositivo cuyo valor varía frecuentemente en las distintas tramas. El cálculo de la estabilidad del bit i se halla a través de la resta: 1−𝐻(𝑋!) . Sus resultados se representan como un vector s por dispositivo d: 𝑠=[1−𝐻/)*1−𝐻/, …*1−𝐻/-.)*1−𝐻/-] Contrariamente a lo que ocurría en el caso de la variabilidad, una entropía alta es desfavorable ya que implica una estabilidad baja. Hay que prestar atención a que en este caso se está calculando la estabilidad por dispositivo, por que los vectores de estabilidad sd para cada dispositivo se promedian en un vector s, que da como resultado el vector de estabilidad promedio final por bit. 17 17 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 3.3.3 Combinación de la variabilidad y la estabilidad para obtener la idoneidad de bits a emplear para formar una huella digital Idealmente, los bits que se usen en la huella digital deben ser altamente variables y altamente estables. A continuación se tratan dos enfoques posibles para combinar estas métricas en una nueva, que se definirá como la idoneidad, y se representará a través de un vector u. 3.3.3.1 Enfoque probabilístico Como ambos parámetros tienen sus valores en el intervalo [0, 1], se pueden interpretar como las probabilidades del bit para ser idóneo par su uso en una huella digital. Asumiendo que la variabilidad y la estabilidad son variables independientes, se pueden multiplicar para obtener la idoneidad: 𝑢 =𝑣*⊙𝑠 Por ejemplo, un bit con variabilidad 1.0 y estabilidad 1.0 es ideal y tiene la idoneidad máxima. En cambio, un bit con variabilidad 1.0 y estabilidad 0.0 es inadecuado para usarse en la huella digital del dispositivo. 3.3.3.2 Enfoque de filtrado Si se parte de la base de que la estabilidad es deseada, se puede usar sólo el bit de la variabilidad, establecer un límite 𝜆 para la estabilidad, y excluir de la huella cualquier bit que esté por debajo de ese límite. 𝑢!=* 9 𝑣!,𝑠𝑖*𝑠!≥*𝜆 0,𝑒𝑛*𝑜𝑡𝑟𝑜*𝑐𝑎𝑠𝑜 D Por ejemplo, si 𝜆 =1, se garantiza que los bits que se empleen en la huella digital siempre van a ser estables. El límite determina el balance entre la unicidad de la huella digital y su estabilidad. Los bits con una idoneidad mayor que cero se emplearán en la máscara de bits, que será lo que se aplique a cada trama recibida por un dispositivo. El resultado de la operación se concatena y se usa como la huella digital final. 3.4 Análisis de los elementos de información Anteriormente se mencionaba la gran cantidad de información que se transmite en estos elementos. Es por eso por lo que son una gran fuente de bits únicos para identificar a los dispositivos. Para saber qué bits son los más variables y cuáles los más estables, se puede utilizar la metodología que se acaba de explicar. Hay que tener en cuenta previamente que, aunque los campos de los EI se suelen transmitir en orden ascendente según su tipo, algunas implementaciones no lo hacen así. Si no se considera el orden se provocaría que en el cálculo de la variabilidad y la estabilidad de los bits se usase la máscara correspondiente a otros. Para tener una idea de qué bits de estos campos son los que presentan información de identificación única, hay que calcular su idoneidad. Además, el orden de los elementos debe incorporarse a la huella digital ya que esto ayuda a la obtención de una huella digital única. Esto puede hacerse a través de la adición de un tipo “IE” que contendría el orden de los elementos. La entropía de bits de estos elementos se ha hallado empleando un dataset con 200.394 Probe Request. En la tabla 3 se muestran la variabilidad y la estabilidad total para cada conjunto de campos analizado en función a todas las Probe Request de los distintos equipos que conforman el dataset. Además de esto, se proporcionan dos gráficas en las que se muestra la variabilidad para los primeros 256 bits de cada elemento de información. Estas informaciones también se han obtenido al analizar el comportamiento entre las diferentes tramas Probe Request de los distintos dispositivos que conforman el dataset. Identificadores y Huellas Digitales 18 Figura 3-1. Variabilidad de los Elementos de Información Figura 3-2. Inestabilidad de los Elementos de Información Si se analizan, se puede ver que los bits más variables vienen del “SSID” y el “Vendor Specific”. Además, en el campo “SSID”, cada primer bit de cada byte tiene menos entropía que los demás bits. Esto es porque todas las “SSID” que se observaron están codificadas en Unicode. Otro recurso útil para identificar los bits únicos es el campo “capabilities”, ya que su contenido es diferente en función del chipset WiFi empleado por cada dispositivo. En la segunda gráfica se muestra la inestabilidad (al ser la mayoría de los campos estables, aporta más información mostrar la inestabilidad). Como era de esperar, el “SSID” es inestable ya que su valor suele ir cambiando en cada Probe Request de cada dispositivo diferente. Además, el campo “Vendor Specific” también es bastante inestable, lo que hace que estos bits no sean útiles en huellas digitales que se quiera emplear a largo plazo. En cualquier caso, varios bits de este campo sí son estables y altamente variables, lo que los hace muy interesantes para identificar bits únicos para la huella digital. Tabla 3. Suma total de la entropía de los elementos de información Information Element ,𝑣! ,1−𝑠! AP Channel Report 0,000 0,000 DS Parameter Set 0,625 0,411 Extended Capabilities 32,790 0,061 Extended Supported Rates 28,373 1.716 HT Capabilities 13,299 0,176 Information Element Order 40,327 2,529 Interworking 32,491 0,000 RSN Information 0,000 0,000 SSID Parameter Set 87,570 30,590 Supported rates 22,529 1,317 VHT Capabilities 10,424 0,000 Vendor Specific 285,449 135,288 19 19 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 3.5 Constataciones El umbral 𝜆 definido por el usuario se puede ajustar de acuerdo con las necesidades del sistema. Si se requiere que las huellas digitales permanezcan estables durante un periodo prolongado, 𝜆 se puede aumenta. Esto provocará que los bits con estabilidad por encima del umbral sean los únicos en incorporarse a la huella digital. La compensación entre la variabilidad y estabilidad aparece en la siguiente gráfica: Figura 3-3. Umbral entre [0,1] para un dataset de 10.000 dispositivos En la siguiente gráfica, se demuestra que aunque se elija un umbral de 𝜆=1 , la estabilidad en la huella digital no es perfecta. Esto se debe a que algunos dispositivos transmiten elementos de información específicos de forma ocasional, resultando en dos huellas digitales distintas para un mismo dispositivo. Figura 3-4. Umbral entre [0,1] para un dataset de 100 dispositivos Descripción del Sistema 26 26 Tabla 4. Paquetes necesarios y versiones Paquete Versión probada cycler 0.10.0 kiwisolver 1.3.1 matplotlib 3.3.3 netaddr 0.8.0 numpy 1.18.0 pandas 1.1.4 pillow 8.0.1 plotting 0.0.7 prettytable 2.0.0 pymongo 3.11.1 pyparsing 2.4.7 python-dateutil 2.8.1 pytz 2020.4 scapy 2.4.4 Scipy 1.5.4 seaborn 0.11.0 six 1.15.0 wcwidth 0.2.5 27 27 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 5 RESULTADOS l objetivo es identificar tantos dispositivos como sea posible, sin entrar en identificadores explícitos. Para esto, como mínimo hace falta tener una trama Probe Request por dispositivo. Sin esto, el equipo de monitorización no puede identificar a un dispositivo, aunque este haya estado en el área de escucha del MS. 5.1 Comportamiento del programa A continuación, se explica la estructura y el comportamiento que siguen el código del programa. Para ello, se hará uso de diagramas de flujo centrados en cada una de las partes que componen el desarrollo. Algunos de estos diagramas simplificarán ciertas funcionalidades del código para que puedan ser fácilmente comprendidos. Tras esto se indicarán cuáles son las métricas que se obtienen y se explicará el significado de cada una de ellas. Se presentarán las distintas pruebas que se han realizado y los resultados que se han obtenido en cada una de ellas. 5.1.1 Lógica del Código Para no complicar demasiado los diagramas de flujo, se van a dividir en las distintas etapas que se llevan a cabo a lo largo de la ejecución del programa. Además, tras cada diagrama, se harán algunas aclaraciones donde se expliquen ciertos detalles importantes. Cada Probe Request que se analiza tiene una “colección” de identificadores que corresponden a los distintos elementos de información que se transmiten en ellas. Durante los cálculos, sólo se considera una Probe Request por dirección MAC para evitar que un dispositivo que tenga una frecuencia de transmisión más elevada que los demás haga que se subestimen ciertos parámetros. 5.1.1.1 Pruebas iniciales Previamente a la ejecución del código, se realiza una prueba para asegurar que no se producen errores. Para ello, se tienen unos datos a través de los cuales se va a probar el funcionamiento (inicialmente en formato E A veces sentimos que lo que hacemos es sólo una gota en el mar, pero el mar sería menos si le faltara una gota. - Madre Teresa de Calcuta - Resultados 28 28 hexadecimal), y otros con los que se va a controlar el resultado (en bytes). La idea es que, tras la ejecución del test, los datos de prueba coincidan con los de control. La estructura de la prueba es la que sigue: Figura 5-1. Diagrama de flujo test inicial 29 29 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 5.1.1.2 Cuerpo del programa Figura 5-2. Diagrama del cuerpo del programa Los datasets que se generan tienen dos tamaños diferentes: - Dataset para cálculo de variabilidad y dataset para cálculo de estabilidad: tienen el número de elementos que se haya definido como las muestras para la etapa de training. Por defecto son 30.000. - Dataset para el test: tiene el número de elementos que se haya definido como muestras de test. Por defecto son 50. Es importante saber que, en la etapa de preprocesado, los datos que se han obtenido están en hexadecimal, y son cambiados de formato para obtenerlos en bytes. Resultados 30 30 5.1.1.3 Cálculo de la variabilidad Se calcula la variabilidad de todos los bits con un ID específico que hayan sido enviados por todas las estaciones. Esto da una indicación por elemento de qué bits son los más variables y, en consecuencia, los que tienen el mayor potencial para convertirse en identificadores únicos. Figura 5-3. Diagrama cálculo variabilidad 31 31 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 5.1.1.4 Cálculo de la estabilidad Para cada elemento de información que tiene más de un valor, se comprueban qué bits de cada valor permanecen constantes o varían. Los resultados se muestran en la matriz de probabilidades medias por bit y por elemento. Figura 5-4. Diagrama del cálculo de la estabilidad Resultados 32 32 5.1.1.5 Análisis de la unicidad del elemento de información que está siendo procesado Figura 5-5. Diagrama del cálculo de la probabilidad de cada bit 33 33 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 5.1.1.6 Cálculo de los bits óptimos Como elementos de entrada, se tienen las matrices de probabilidad de la variabilidad y de la estabilidad. Figura 5-6. Diagrama de cálculo de bits óptimos 5.1.1.7 Cálculo de la mascara de bits Figura 5-7. Diagrama para la obtención de máscara de bits Resultados 34 34 5.1.1.8 Cálculo de la huella digital La finalidad es calcular una huella digital para cada dirección MAC y ver con qué frecuencia se ha podido obtener una huella digital única y si esta se ha mantenido estable. Esto se hace con el dataset de test. Figura 5-8. Diagrama para hallar la huella digital 35 35 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 5.1.1.9 “Desanonimización” de Probe Request Figura 5-9. Diagrama de deanonimización de MACs Resultados 42 42 Figura 5-26. Unicidad de huellas digitales cuando 𝜆=0 La figura 5-33 muestra el mismo experimento, pero con 𝜆=1 . En este caso, la variabilidad está minimizada y la estabilidad maximizada. Figura 5-27. Unicidad de huellas digitales cuando 𝜆=1 43 43 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas En estos resultados hay dos posibles problemas: • Que haya dispositivos que, aún usando la aleatorización de direcciones MAC, no haya cambiado el valor del bit local/global [10]. Esto provocaría que un único dispositivo se fuese interpretando como un dispositivo diferente cada vez que transmita una trama. • Otra posibilidad, aunque es menos probable, es que exista una entidad maligna que estuviese falsificando las Probe Request para intentar interrumpir un posible sistema de seguimiento. A partir de las gráficas anteriores, se observa que para una MS que captura tramas de 50 a 100 dispositivos, obtiene una unicidad en la huella digital que varía entre el 80 y el 67,6%. Si el tamaño de dispositivos que se analizan aumenta, más dispositivos con similares elementos de información pueden aparecer. Esto provocaría una disminución en la unicidad de la huella digital. Para conjuntos de datos que tengan entre 1.000 y 10.000 dispositivos, la unicidad de la huella bajaría a entre un 33 y un 15,1%. 5.2.3.2 “Desanonimización” de los dispositivos Como el objetivo del MS es hacer que los dispositivos dejen de ser anónimos a través del emparejamiento de las huellas digitales a las direcciones MAC, tener un número elevado de huellas digitales que se superponen es desfavorable. Para superar este problema, se puede emplear el algoritmo de huellas digitales en conjunto con la información temporal, ya que el número de dispositivos monitorizados por una MS en un periodo de tiempo concreto es menor que el número de dispositivos totales. Además, es más probable que cuando un dispositivo muestra su dirección MAC universal única en un momento dado, las direcciones MAC con la misma huella digital que hayan aparecido en un intervalo de tiempo cercano a ese momento terminen siendo ese mismo dispositivo. Por lo tanto, para desanonimizar las direcciones MAC aleatorias se pueden utilizar subconjuntos del total de las tramas en vez de analizarlo completamente cada vez. Esto cumple con lo demostrado en las figuras 5-32 y 5-33. Para determinar qué subconjunto de datos coger, hay varios enfoques. Se ha dicho que debe determinarse por tramos temporales, pero entonces surge la cuestión de cómo seleccionar ese tramo y cómo analizar los dispositivos que se hayan capturado en los límites temporales. Otra alternativa es que la huella digital de una dirección MAC aleatoria puede mapearse a la MAC universal única que ha sido más cercana en el tiempo y que tiene una huella digital idéntica. Al optar por esta solución se descubrió que una huella digital coincidente se puede encontrar con un 99% de probabilidad, aunque hay que ser siempre consciente que esta forma de mapear no garantiza un resultado correcto. En este experimento, al considerarse únicamente las tramas obtenidas de dispositivos con direcciones MAC aleatorias, no se pueden aplicar los enfoques anteriormente citados. Resultados 44 44 45 45 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas 6 CONCLUSIONES Y LÍNEAS FUTURAS 6.1 Conclusiones El objetivo que se buscaba al realizar este trabajo era poder saber si dos o más paquetes WiFi habían sido enviados por el mismo equipo, independientemente de la dirección que apareciese como origen en ellos. Todo esto, además, sin que los dispositivos emisores estuviesen conectados a un punto de acceso WiFi. La intención detrás de esto es “combatir” la tendencia que están aplicando los fabricantes de dispositivos, que consiste en aleatorizar la dirección origen de las tramas de un equipo hasta que este no se vaya a conectar a un AP. Por supuesto, en este estudio y en su intención se respetan en todo momento las normativas nacionales e internacionales de protección de datos. A través de toda la información que se ha explicado anteriormente se ha podido demostrar que, a pesar de los esfuerzos de los fabricantes por ocultar la dirección MAC de origen en los dispositivos cuando estos no están conectados a un AP, se puede obtener una huella digital de un dispositivo a partir de la información que este comparte en sus tramas. A través de esta huella digital, se puede lograr identificar al equipo en transmisiones posteriores. Se ha mostrado una posible forma de combinar identificadores implícitos provenientes de los campos de una única Probe Request, para obtener una combinación óptima que ayude a identificar a los dispositivos de forma unívoca. A partir de la huella digital que se genera con ellos, se consigue como resultado entre un 67,6% y 80% de unicidad en ellas para un dataset de 100 elementos. En el caso de aumentarlo a un rango de entre 1.000 y 10.000 elementos, el porcentaje de unicidad baja hasta entre un 15,1% y un 33%. Otros estudios que se han hecho sobre este mismo tema han tenido otros enfoques, como por ejemplo analizar la información de la capa física en lugar de la de enlace. Ejemplos de estos son el uso de la densidad espectral de potencia para hallar a través de ella una huella digital, hallar una huella a través de las variaciones en el reloj interno del hardware de los dispositivos, y un largo etcétera de elementos que pueden servir para hallar una huella digital única. La complicación de analizar la capa física en lugar de la de enlace está en el equipo que se requiere para analizar las señales de radio que se transmiten. Por esta razón, la mayoría de los investigadores de este tema prefieren centrarse en el análisis de la capa MAC. Defiende tu derecho a pensar, porque incluso pensar de manera errónea es mejor que no pensar. - Hipatía de Alejandría - Conclusiones y Líneas futuras 46 46 6.2 Líneas futuras Este proyecto sólo es un posible enfoque de cómo identificar de forma unívoca a un dispositivo, y como se ha visto, a medida que aumenta el número de elementos la probabilidad de obtener una huella digital única desciende. Esto quiere decir que el mayor problema de este estudio viene dado en el momento en el que el número de datos a tratar aumenta mucho, y es ahí donde está el mayor margen de mejora. En caso de querer ampliar lo ya trabajado aquí, el siguiente estudio debería centrarse en encontrar la forma de que la efectividad en los resultados se mantuviese, independientemente de la cantidad de datos que hubiese que tratar. Para solventar esto, algunas posibilidades serían: • Combinar este estudio con otros que tengan otro enfoque con el fin de mejorar la unicidad de la huella digital. Por ejemplo, se podría combinar un estudio que se centre en los resultados que se obtienen al analizar los parámetros de la capa física [11] con este, de forma que se obtuviese una solución que, al considerar más elementos específicos que garanticen la unicidad, el resultado sea más preciso y podría aumentar el porcentaje de huellas digitales únicas. • Otra posible mejora que no está incluida en este estudio es incluir en el análisis los campos que avanzan de forma secuencial con las retransmisiones como puede ser el Sequence Number. • Añadir al resultado obtenido el análisis temporal citado en la sección 5.2.3.2. Otro posible enfoque donde se cambiaría también la forma de procesar las tramas Probe Request, sería empleando redes siamesas. En este caso ya no haría falta tratar los parámetros de estabilidad y variabilidad ya que serían las propias redes siamesas las que determinarían qué elementos habría que emplear para obtener los resultados deseados. 47 47 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas REFERENCIAS [1] «Reglamento General de la Protección de Datos,» [En línea]. Available: https://eurlex.europa.eu/legal-content/ES/TXT/PDF/?uri=CELEX:02016R0679-20160504&from=EN. [2] «Protección de datos en dispositivos inteligentes,» [En línea]. Available: https://ec.europa.eu/justice/article-29/documentation/opinionrecommendation/files/2013/wp202_en.pdf. [3] «Sentencia del Tribunal de Justicia de la Unión Europea sobre el caso 582/14 - Patrick Breyer v Germany,» [En línea]. Available: https://eur-lex.europa.eu/legalcontent/ES/TXT/PDF/?uri=CELEX:62014CJ0582&from=EN. [4] «Grupo de trabajo sobre el Artículo 29 - intereses legítimos del controlador de datos,» [En línea]. Available: https://ec.europa.eu/justice/article-29/documentation/opinionrecommendation/files/2014/wp217_en.pdf. [5] M. S. Gast, «Chapter 4. Framing in detail,» [En línea]. Available: https://www.oreilly.com/library/view/80211-wireless-networks/0596100523/ch04.html. [6] Nayarasi, «CWAP,» [En línea]. Available: https://mrncciew.com/2014/10/27/cwap-802-11-probe- requestresponse/. [7] B. G. R. G. S. S. a. D. W.-. a. J. Pang, “802.11 User fingerprinting,” in Proceedings of the 13th Annual ACM International Conference on Mobile Computing and Networking, pp. 99–110, ACM, September 2007. [8] B. B. P. Q. W. L. Pieter Robyns, «Noncooperative 802.11 MAC Layer Fingerprinting and Tracking of Mobile Devices,» [En línea]. Available: https://www.hindawi.com/journals/scn/2017/6235484/. [9] [En línea]. Available: https://ondahostil.wordpress.com/2015/04/16/lo-que-he-aprendido-entropia- de-shannon/. [10] C. M. M. C. L. C. F. P. M. Vanhoef, «Why MAC address randomization is not enough: an analysis of Wi-Fi network discovery mechanisms,» [En línea]. Available: https://dl.acm.org/doi/10.1145/2897845.2897883. [11] D. Z. S. C. B. Danev, «ACM Computing Surveys,» [En línea]. Available: https://dl.acm.org/doi/10.1145/2379776.2379782. Referencias 48 48 49 49 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas GLOSARIO AP: punto de acceso 1 FCS: secuencia de verificación de trama 1 GDPR: Reglamento General de la Protección de Datos 2 IEEE 802.11 1 OSI: Open System Interconnection 7 STA: estación 1 WLAN: Wireless Local Area Network 1 Glosario 50 50 51 51 Perfilado de usuarios mediante el uso de clasificadores sobre sus tramas WiFi interceptadas ANEXO A: CAMPOS DE UNA TRAMA PROBE REQUEST MAC HEADER Frame Control Duration Destination MAC Address Source MAC Address BSSID Sequence control FRAME BODY SSID Parameters: identifican a las redes conocidas. En caso de no conocer ninguna, se envía un número aleatorio. SSID Parameter Set SSID Length SSID Supported Rates: información sobre las tasas que el dispositivo soporta. Tag Number (1) Tag Length (8) Supported Rates Extended Supported Rates: más tasas. En el caaso de necesitarlo, el dispositivo puede indica ren estos campos más tasas que soporta. Tag Number (50) Tag Length (4) Extended Supported Rates DS Parameters Set (optional): sirve para identificar el canal que está en uso. Tag Number (3) Tag Lengrh (1) Current Channel HT Capabilities: informa sobre las características físicas del dispositivo y sus capacidades. Tag Number (45) Tag Length (26) HT Capabilities Info A-MPDU Parameters Rx Supported MCS Set