S3LAB

Actualmente, el laboratorio S3Lab de Deusto está trabajando en un middleware que implementará el modelo de confianza anteriormente expuesto y proporcionará más seguridad a las redes de sensores y por lo tanto contribuirá a la progresión de la Internet de las cosas.

En las siguientes líneas, intentaremos explicar en qué consiste el middleware.

Como primer paso, los dispositivos se comunican con el middleware, con la primera capa exactamente.

En ella, los dispositivos se identifican y comunican su capacidad de procesamiento, ya que algunas podrán cifrar los mensajes y otros no.

Una vez identificados, estos son registrados y solicitan qué servicios van a utilizar y ofrecer.

Posteriormente, se les establece un nivel de confianza. A partir de este momento, pueden empezar a comunicarse.

Teniendo en cuenta la capacidad de procesamiento que tienen los dispositivos (receptor y emisor), la información se irá cifrando o descifrando adecuándose al receptor (la información siempre se cifra en el mayor grado posible) e irá pasando de un extremo del middleware al otro.

Dependiendo de las capacidades, podremos encontrar comunicaciones SSL, OTP (se suele utilizar como checksum también) o incluso en texto plano.

Esta transformación de cifrado se da en la segunda capa.

Como  comentábamos, la información también podría ir en texto plano, pero el middleware asegura la seguridad con el nivel de confianza implantado en la tercera capa.

s3lab

Modelo de Confianza III

Fase 4: Agregación de datos

En esta fase, los datos de cada nodo, se agregan conjuntamente por rejillas. Para ello, se escoge un nodo por rejilla como nodo acumulador.

Este nodo recoge la información de cada nodo la procesa y genera un resultado. El proceso se divide en las siguientes fases:

Selección del acumulador: se escoge al nodo que mayor nivel de confianza tenga en la rejilla entre todos (por votación).

Este “titulo” va cambiando de propiedad periódicamente, ya que como se trata de un proceso continuo, los valores van cambiando con el paso del tiempo.

El cometido del acumulador, es recoger toda la información, computarla y enviarle el resultado al nodo sumidero, por lo que cuando es elegido como nodo acumulador, tiene que identificarse ante el nodo sumidero:

4.1

Acuerdo de confianza: el nodo acumulador solicita a los nodos integrantes de su rejilla que se identifiquen.

Después solicita que envíen los valores, propios y ajenos, de confianza computados anteriormente. Con estos valores, puede computar nuevos valores acumulativos de confianza con los que evaluar la credibilidad de cada nodo. Para hallar estos valores agregados, se usa la siguiente ecuación:

4.2

Donde k es el número de nodos en la rejilla, y T el valor de confianza enviado por j respecto a i.

Agregación de datos: se agrega toda la información y se excluye toda aquella sospechosa o fraudulenta que provenga de los nodos que tienen un nivel de confianza por debajo de la media de los demás nodos.

Mediante esta ecuación, se logra la información agregada:

4.3

Donde m es el número de nodos en la rejilla incluyendo al nodo acumulador.

Este cómputo, solo se realiza cuando más de la mitad de los sensores han captado un evento simultáneamente. De esta manera, se evitan comunicaciones redundantes con el nodo sumidero.

Transmisión de datos: una vez computados todos los datos recibidos de los nodos, el nodo acumulador le envía al nodo sumidero los resultados junto con su identificación.4.3

Modelo de Confianza II

Fase 2: Verificación de la localización

En esta fase, cada sensor, verifica la localización de sus otros nodos vecinos. Para ello, se utiliza el protocolo Echo propuesto por Sastry.

El sensor probador p, envía un mensaje HELLO al sensor verificador v, indicándole su posición l y el tiempo de procesamiento.

Si v puede verificar la petición, le envía un nonce a p y p debe devolverle el nonce a v mediante ultrasonido. v calcula el tiempo que se ha necesitado para la comunicación, y si no ha sido mayor al tiempo de procesamiento, v acepta la petición.

Sin embargo, con el protocolo Echo, solamente comprobamos si los nodos están realmente en la posición que les corresponde, en el área de monitoreo.

Es decir, con ello solo se puede comprobar la legitimidad del vecino. Más de tres nodos, pueden afirmar que el probador está realmente localizado donde dice estar.

En nuestro modelo, al haber utilizado numerosos dispositivos por área, podemos confirmar las localizaciones de cada nodo con altas probabilidades.

El propósito de la verificación de la localización, es evitar diferentes ataques que hacen creer a un nodo que el atacante es un vecino o que está en determinada posición como son los ataques: sinkhole, wormhole o Sybil .

Estos ataques, utilizan información falsa sobre la localización para invalidar la red, por lo que esta fase, sirve de protección contra estos ataques.

Fase 3: Evaluación de la confianza

En esta fase, cada sensor evalúa la credibilidad o confianza de los otros nodos de manera acumulativa. (Solo se evalúan los nodos vecinos, no todos los nodos del sistema).

Cada sensor contiene una matriz de evaluación de confianza con k filas, correspondientes a sus k vecinos. Cada fila está compuesta de factores que determinan el nivel de confianza.

grafiko2

  • Identificación: contiene información de identificación. Está compuesto de la posición del nodo y la rejilla a la que pertenece.

grafiko3

  • Distancia: contiene la distancia entre los dos nodos, siendo x e y las coordenadas del nodo i

grafiko4

  • Comunicación sobre lo detectado: cuando un evento sucede, los nodos vecinos lo deben comunicar entre sí.

Si se comunica, el valor de este factor aumenta, mientras que si no lo comunican, decrece.

Este factor sirve para medir la normalidad y egoísmo de cada nodo. Si un nodo no comunica por ahorrar batería o por algún otro motivo, su nivel de confianza decrecerá.

grafiko5

  • Resultado de lo detectado: en este factor se almacenan los eventos detectados y el tiempo en el que ocurrieron. Sirve para cotejar la información y ver la consistencia de la misma y a su vez excluir nodos ilegales o comprometidos.

  • Consistencia: indica el nivel de consistencia de cada nodo. Basado en este factor podemos identificar nodos maliciosos y filtrar su información en la red.

grafiko6

  • Batería: muestra el nivel de batería o vida que le queda al nodo sensor. Cuando un nodo tiene un nivel alto de confianza, tiende a realizar más cálculos y procesos, por lo que mediante este factor, podemos delegar el computo y realización de estos a otros nodos.

grafiko7

  • Valor de confianza: representa el total del nivel de confianza, como resultado de los otros factores. Este valor es dinámico y por lo tanto, varía con el paso del tiempo.

grafiko8

Con los datos recopilados, se procede a realizar el análisis de consistencia y la cuantificación de la confianza.

  • Comprobación de inconsistencia: un nodo comprueba si la información transmitida está dentro de un rango de tolerancia (y por lo tanto es consistente) y almacena el resultado en el factor de consistencia C.

Para representar los márgenes de tolerancia, representamos dos casos:

grafiko9

En el primer caso, existe una diferencia de distancia entre los nodos y el evento ( ), puesto que el nodo i se encuentra más cerca que el nodo j. Esto puede llevar a ligeras variaciones en la detección del evento, por lo que se establece un margen.

Sin embargo, en el segundo caso, los dos nodos se encuentran a la misma distancia del evento, por lo que la detección e interpretación del evento debe ser idéntica. Por ello, el margen de tolerancia en la desviación, es 0.

La ecuación para determinar el margen de diferencia, es el siguiente:

 grafiko10

Donde prior devuelve el menor de los valores de la captación de un mismo evento por parte de dos nodos.

Cuando un dispositivo capta un evento, lo difunde, indicando cuando se ha producido y los datos correspondientes al evento, de esta manera, los otros nodos pueden corroborarlo con sus propios resultados y pueden comprobar si todo es correcto (por ejemplo si el tiempo es correcto) o si la información recibida es inconsistente y por lo tanto el nodo maliciosos.

Para los chequeos de la consistencia, utilizamos la siguiente fórmula:

grafiko11

Exponemos un ejemplo para ver el funcionamiento del mecanismo una vez comprobada la consistencia.

Dos nodos, procesan un mismo evento y lo envían simultáneamente. Cada nodo, procesa la información recibida de su nodo vecino. Siendo idéntica, puede afirmar que el otro nodo es de confianza, y por lo tanto, aumenta en 1 el valor del factor éxito de captación correspondiente en al otro nodo.

Por el contrario, si se fallase en la captación del evento, el factor de fracaso de captación correspondiente al otro nodo, aumentaría en 1.

  • Cuantificación de la confianza: cada valor discreto se transforma en un valor continuo comprendido entre -1 y +1, siendo -1 completa desconfianza y +1 plena confianza.

La cuantificación de confianza para cada factor es la siguiente:

grafiko12 grafiko13

  • Computación de la confianza: este paso consiste en la asignación de pesos a cada factor calculado. W representa el peso asignado a cada factor dentro de un rango de valores que van desde el -1 al +1, significando -1 irrelevante, y +1 muy relevante.

grafiko13

En caso de que B=-1 (batería agotada) se le asigna un valor de -1 a T y ese nodo queda excluido de la red, puesto que se le ha agotado la vida y no puede seguir operando.

Como cada nodo mantiene un historial de los acontecimientos y valores de confianza, mediante valores acumulativos, los nodos malintencionados e inconsistentes pueden ser continuamente detectados y clasificados en este paso.

Ataques II

En esta entrada continuamos viendo las vulnerabilidades y amenazas de una red de sensores.

Si no tuviste el placer de leer la primera parte, te animamos a que leas Ataques I

Denegación de servicio (DoS): Impedir que la red lleve a cabo su funcionalidad de forma correcta.
Estos ataques pueden ser de distinta naturaleza e incluso no intencionados.

Eavesdropping o escucha secreta: es la intercepción desautorizada en tiempo real de una comunicación privada, como una llamada telefónica, mensajes instantáneos, videoconferencias o transmisiones de fax.

Wormhole: Ataque cooperativo que establece un canal entre nodos de la red maliciosos haciendo pensar a los demás que la ruta establecida por los nodos atacantes es la más rápida.

Las posibles formas para sacar provecho de un ‘wormhole’ por parte de un atacante incluyen las de desechar paquetes en lugar de reenviarlos, creando un permanente ataque de denegación de servicio, o descargar y modificar selectivamente solo ciertos paquetes.

Ataque Sybil: Este ataque, llamado así por el sujeto de estudio del libro Sybil (una mujer con desorden de personalidades múltiples).

Consiste en corromper un sistema distribuido o de reputación creando una gran cantidad de usuarios falsos, todos controlados por el mismo atacante, con el fin de corromper el sistema e influir en las decisiones tomadas en forma distribuida.

Ataque Sinkhole: se trata de un ataque severo que impide a la estación base obtener información completa y correcta por parte de los otros nodos conllevando serias implicaciones a las capas superiores.

En un ataque de este tipo, un nodo comprometido, intenta enviar tanto tráfico de información como le es posible, haciéndose parecer más atractivo de lo que es ante los otros nodos, logrando así modificaciones en métrica del enrutamiento.

Con esto consigue desviar hacia él aquella información dirigida hacia la estación base.

Puntos de ataque
Por otro lado, los puntos de ataque a una red de sensores son los siguientes:

Estación base: Elemento de mayor potencia de la red. Es el elemento encargado de hacer de puente entre la red y el exterior.

Su caída imposibilita el correcto funcionamiento de la red. Puede existir más de una estación base en una red pero siempre será un número mucho menor que la cantidad de sensores desplegados.

Sensores: Elementos formantes de la red. Tienen poca capacidad y son muy vulnerables.

Debido a la gran cantidad de ellos la caída de un sensor no debe afectar sustancialmente a la red si su topología es suficientemente densa.

El mayor riesgo consiste en el compromiso de un nodo por parte de un atacante, que le permitirá atacar la red desde dentro.

Comunicaciones: De forma similar a una red wireless, las comunicaciones entre nodos pueden ser objeto de ataques de escucha, de introducción de datos falsos o de anulación de las comunicaciones (mediante DoS).

Modelo de Confianza I

En esta entrada profundizaremos en el modelo de confianza o trust model.

Se comentarán los puntos de partida y se describirán las primeras fases.

Modelo de amenaza

Las redes inalámbricas de sensores, suele estar en zonas abiertas (open área) y por lo tanto tienen que enfrentarse al riesgo de ataques.

Debido a que pueden comunicarse con anónimos adversarios, información maliciosa puede ser aceptada en su sistema a través de ataques como la captura de nodos o la captura de las claves privadas (usadas en la comunicación en la red y capturadas por atacantes activos que se dedican a la escucha).

 

Objetivos

Debe focalizarse en crear una red fiable que trabaje con normalidad a pesar de que un nodo se vea comprometido.

Sin ningún mecanismo de evaluación, no podemos garantizar que la red de sensores vaya a trabajar correctamente a pesar de que el sistema este empleando un sistema de criptografía de claves.

Para el objetivo de la resistencia o fiabilidad de la red, el modelo propuesto, se centra en la evaluación de credibilidad de cada nodo-sensor y en filtrar toda aquella información inconsistente y fraudulenta de los nodos maliciosos o comprometidos.

 

Suposiciones

Existen varias suposiciones dentro del modelo:

  1. Cada sensor conoce su posición usando un sistema detección de la localización como el GPS (Global Position System).

  2. El tiempo está sincronizado en todos los sensores de la red.

  3. Los sensores son colocados densamente para poder capturar el mismo evento, redundantemente, por más de un sensor.

  4. Los adversarios intentan introducir información maliciosa para crear confusión en el sistema o para hacer que vaya mal.

Diseño: Trust Evaluation Model

El protocolo del modelo se compone de 4 fases:

  • La primera consiste en dividir el área de monitoreo en rejillas lógicas con una identificación única para cada rejilla.

  • En la segunda, cada nodo identifica a sus vecinos de rejilla mediante el protocolo ECHO.

  • En la tercera fase, cada nodo evalúa la fiabilidad de sus nodos vecinos comparando la información procedente de los otros nodos con la suya propia. La información inconsistente, puede ser detectada en esta fase.

  • En la cuarta, los nodos especiales llamados acumuladores (agreggator), reúnen toda la información correspondiente a los nodos de su correspondiente rejilla, la computan y se la envían al nodo sumidero (sink node).

       La información maliciosa puede ser excluida en este fase.

 

Fase 1: Definición de rejillas.

Se deciden cuales van a ser las áreas de monitoreo; donde se van a producir los eventos, y por lo tanto, donde se deben colocar los sensores.

 

Después dividimos las áreas de monitoreo en rejillas rectangulares lógicas, proporcionales al número de dispositivos sensores que vayamos a colocar.

Definimos el radio r, que acotará el rango que monitoree cada dispositivo sensor. Dependiendo del número de sensores que tengamos, r variará.

Para ilustrarlo ponemos 2 ejemplos en el que se puede comprobar el uso de un único sensor para cubrir toda la zona, y otro en el que existen varios nodos para monitorear la zona especificada.

grafiko1

 

En el primer caso, la rejilla de monitoreo de cada sensor, tendrá que tener el tamaño máximo siendo su área resultante:

En el segundo caso por el contrario, al usarse más de un dispositivo para monitorear toda la zona, el rango a cubrir por cada dispositivo, es menor. El área mínima que tendría que tener sería la siguiente:

Para seleccionar cualquiera de las posibilidades existentes entre estos extremos (los extremos también son seleccionables), hay que considerar los criterios de eficacia y los criterios económicos y seleccionar el que mejor se adecue a nosotros.

Para la explicación del modelo, escogeremos el segundo extremo, donde hay un número mayor de dispositivos, y por lo tanto, mayor información redundante para cotejar la credibilidad de los nodos.

Después de haber dividido las áreas en rejillas lógicas, se les proporciona un identificador único a cada rejilla, que será útil a la hora de identificar a cada sensor.

 

Ataques I

Las redes de sensores son un caso particular de red wireless, por ello, sufren sus mismas debilidades. Asimismo, la naturaleza peculiar de los sensores y su elevado número añaden otros problemas.

Una red de sensores está compuesta típicamente por una gran cantidad de nodos desplegados en un entorno no controlado e incluso hostil.

Los sensores suelen ser dispositivos simples, de poca potencia, cosa que provoca que no sea posible aplicar las técnicas de seguridad que se utilizan en otro tipo de entornos.

Asimismo, su simplicidad los hace más vulnerables a ataques.
Una lista de los posibles ataques que puede recibir una red de sensores es la presentada a continuación. Cabe decir que algunos de los ataques pueden ser producidos de forma no intencionada.

Compromiso de un nodo: Se asume que, debido a la simplicidad de los sensores así como al entorno incontrolado dónde se encuentran, un atacante puede ganar el control de un nodo y obtener todos sus datos (claves criptográficas incluidas).

Además de la obtención de los datos privados del nodo, una vez capturado el atacante podría introducir datos falsos en la red o realizar una denegación de servicio a base de no retransmitir los paquetes que le lleguen de otros nodos.

Destrucción de un nodo: Debido a la falta de control del entorno donde la red está desplegada, un sensor puede ser destruido (o simplemente transportado fuera del alcance de la red) ya sea de forma voluntaria o involuntaria, por un atacante o por condiciones de contorno (clima, incendios, animales, etc…).

Podría ser causa de una denegación de servicio si ese nodo fuera una pieza importante en el enrutado de los datos hacia la estación base o si el nodo destruido fuera la misma estación base.

Escucha o modificación de los datos: Como pasa en cualquier red wireless, no se puede evitar que los datos que viajan entre nodos sean escuchados por cualquier receptor situado dentro del rango de transmisión del emisor.

Es también posible que cualquier emisor no autorizado emita paquetes que sean recibidos por los nodos de la red.

Acceso o alteración de la red: Consiste en introducir un nuevo nodo en la red con propósitos maliciosos (obtener datos, falsear datos, impedir el servicio, etc…) o en alterar la tipología de la red (física o a nivel de enrutado) para la realización de otros ataques.

Introducción Moldelo de Confianza

Las redes inalámbricas de sensores, ofrecen soluciones potencialmente beneficiosas para diversas aplicaciones. La cualidad más distintiva de estos sistemas, es que un nodo del sistema ayuda a cada uno de los otros nodos a la hora de procesar datos y en el control de los paquetes enviados de un nodo a otro.

Muchas veces el sistema es referido como sistema sin infraestructura, sistema auto-organizado y red espontanea.

Debido a que estas redes suponen un reto único, las técnicas tradicionales de seguridad, no pueden ser aplicadas sobre los nodos de la red.

Por una parte, los nodos sensores están limitados en su memoria, la duración de su batería y en sus capacidades de computación y comunicación. Esto conlleva a que las técnicas intensivas de computación como la criptografía de claves públicas, no puedan ser usadas en redes inalámbricas de sensores.

Por otra parte, estas redes, son susceptibles a variedad de ataques como por ejemplo: capturas de nodos, denegación de servicios, interceptación (eavesdropping), agujeros de gusano(wormholes) o ataques Sybil.

El objetivo de estos ataques, suele ser inutilizar la red completa o parcialmente o ponerla al servicio del atacante.

Si el atacante logra introducir su propio nodo y que el sistema lo acepte como propio, es muy difícil distinguir un nodo maliciosos de los correctos con las políticas de seguridad tradicionales.

Además, se tiene que tener en cuenta la seguridad del esquema de gestión de claves, puesto que tampoco se puede asegurar la privacidad de las claves privadas de cada nodo.

Teniendo en cuenta todo esto, son necesarios nuevos modelos de seguridad para asegurar la veracidad de cada nodo distinguiendo los inocuos de los maliciosos, reforzando los de confianza y debilitando los sospechosos.

Sin embargo, existen muy pocos estudios sobre los modelos de confianza aplicados a las redes inalámbricas de sensores.

En las siguientes entradas, presentaremos un modelo de confianza que ayuda a la red a funcionar con normalidad con un alto porcentaje de probabilidades, a pesar de que algunos nodos o datos sean comprometidos.

La idea general es incluir numerosa y redundante información percibida y convalidarla para asegurar su consistencia.

Después de esa validación, cada nodo, determina el nivel de confianza de los otros nodos-vecinos del sistema.