Un conmutador de red funciona inspeccionando los paquetes a medida que van y vienen. Cuando un conmutador ve que llega un paquete a un puerto determinado, con la dirección MAC de origen X , el conmutador recuerda que la máquina con la dirección MAC X se encuentra en algún punto más allá de ese puerto y los paquetes destinados a la dirección MAC X se enviarán a ese puerto. Tenga en cuenta que a los conmutadores no les importan las direcciones IP (bueno, algunos se duplican como inspectores de tráfico y saben qué son las direcciones IP, pero el comportamiento del conmutador se produce en el nivel de Ethernet y se ocupa de las direcciones MAC, no de las direcciones IP).
Si el atacante está enviando paquetes con X como dirección de origen y espera respuestas destinadas a X , entonces, según cualquier definición razonable, X no es una "dirección falsa": es la dirección que asume el atacante y, desde el punto de vista de la red, es muy real.
El problema real se produce cuando el atacante intenta robar una dirección IP . El atacante observa que hay una máquina activa, con alguna dirección IP U y dirección MAC Y , y el atacante desea emitir paquetes que se verán como si provinieran de eso. máquina, y también ver la respuesta de otra máquina V . El atacante tiene dos formas posibles:
-
El atacante puede intentar usar una dirección X distinta de Y , pero aún así puede robar la dirección U . El problema es que la máquina V es consciente de que la máquina genuina U tiene la dirección MAC Y ; este conocimiento proviene del protocolo ARP . Para lograr sus objetivos, el atacante tendrá que enviar correo basura a la máquina V con respuestas ARP falsas para que V se convenza de que la dirección MAC para la dirección U es X . Esto se conoce como suplantación ARP o "envenenamiento ARP".
Tenga en cuenta que el conmutador solo ve las direcciones MAC Y y X , debidamente distintas entre sí, y no tiene impacto aquí. El atacante no tiene nada especial que hacer para engañar al interruptor si así lo elige.
-
El atacante puede intentar usar ambos la dirección IP U y la dirección MAC X . El punto positivo de este método es que no tiene nada que ver con la máquina V : esa máquina recuerda que U se asigna a X , y En lo que respecta al atacante, esto está bien. Por otro lado, el conmutador se convierte en un problema: ese conmutador ya ha visto algunos paquetes con la dirección de origen X , provenientes de un puerto distinto al utilizado por el atacante. Es posible que el atacante no vea la respuesta.
Para contrarrestar eso, el atacante primero enviará spam al conmutador con miles de paquetes, llenos de basura aleatoria, supuestamente provenientes de miles de direcciones MAC al azar. El conmutador solo tiene RAM limitada para recordar todas las asignaciones de direcciones MAC a puertos, por lo que el ataque de spam hará que se olvide donde está la dirección X . En ese momento, dado un paquete con la dirección de destino X , el conmutador se degradará al modo concentrador y transmitirá el paquete en todos los puertos, incluido el que conduce al atacante.
La situación se puede hacer más compleja con los switches modernos que emplean algoritmos de enrutamiento más complejos para admitir redes redundantes. El principio básico sigue siendo que las direcciones MAC son desconocidas para los conmutadores, que las descubren dinámicamente al observar los paquetes en tránsito. Una contramedida que se puede emplear con algunos conmutadores es configurarlos, estáticamente, con asociaciones conocidas de direcciones MAC con puertos. Esto pierde flexibilidad (una máquina específica será rechazada si no está conectada al puerto correcto), pero puede hacer que los switches sean más robustos contra tales ataques.
(No permitir que las personas malvadas se conecten directamente a tu interruptor sería mejor, sin embargo)