jueves, 9 de agosto de 2012

Model OSI atacks - 2ª Parte - Spanning Tree

La finalidad del Spanning Tree Protocol (STP) es evitar bucles cuando se conectan distintos segmentos de red. Sólo puede existir un camino único entre un dispositivo y otro. Cada uno de los paquetes STP se llaman BPDU (Bridge Protocol Data Unit), y podemos identificarlos echando un vistazo a su formato: un paquete IEEE 802.3 con una cabecera 802.2 con MAC destino 01:80:C2:00:00:00.



Existen dos tipos de BPDU: Configuration y Topology Change Notification (TCN). El primero se envía periódicamente indicando la configuración de la red, mientras que el segundo se envía cada vez que se detecta un cambio en la red (activación/desactivación de un puerto). Se puede encontrar más información sobre STP en el estándar IEEE 802.1D.

La principal debilidad de STP es su falta de autenticación y control. Cada dispositivo, cada persona o atacante puede enviar un BPDU y participar en el protocolo. Para comprender los ataques es necesario conocer el formato de una BPDU Configuration:
  • PID (2 bytes): Protocolo, siempre cero
  • Version (1 byte): Versión de STP, puede ser cero (STP), uno (RSTP) o tres (MSTP)
  • Message type (1 byte): Tipo de BPDU: configuration (0x00) o TCN (0x80)
  • Flags (1 byte): diversos parámetros (útil para RSTP) y un bit para notificar un cambio de topología
  • Root ID (8 bytes): ID del dispositivo raíz
  • Root path cost (4 bytes): coste del camino hasta el dispositivo raíz
  • Bridge ID (8 bytes): ID del dispositivo que envía la BPDU
  • Port ID (2 bytes): número de puerto (IEEE or Cisco STP BPDU) desde el cual se ha enviado la BPDU
  • Message age (2 bytes): tiempo transcurrido desde que el dispositivo raíz envió el mensaje de configuración en el cual se basa el actual
  • Maximum age (2 bytes): cuándo debería borrarse el actual mensaje de configuración
  • Hello time (2 bytes): tiempo que transcurre entre el envío de dos BDPU Configuration
  • Forward delay (2 bytes): tiempo que los bridges deberían esperar antes de efectuar la transición a un nuevo estado tras un cambio de topología.
El funcionamiento de STP se resume principalmente en la elección del dispositivo raíz y el cálculo del camino entre todos los dispositivos que participan en el spanning tree. Al principio, todos los dispositivos participan en la elección del nodo raíz. El dispositivo elegido es el que tiene menor ID. Una vez se ha elegido el dispositivo raíz, todos los caminos son recalculados cada vez que tiene lugar un cambio en la red.

Se elige un nuevo nodo raíz en caso de que el actual desaparezca o en caso de que entre en la red un nuevo dispositivo con un ID menor que el del actual nodo raíz.



No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.