sobre el ARP y seguridad

16/05/2004 - 10:53 por nacho | Informe spam
El otro dia, una persona pregunto sobre el ARP y la
posiblilidad de protegerse ya que parece ser que pueden
interceptar nuestar comunicaciones.

JM Tella Llop le estuvo respondiendo, pero no me enteré de
nada. He leido algo del ARP pero no me aclaro que es y
para que sirve.

¿alguien puede despejarme estas dudas?

gracias.
 

Leer las respuestas

#1 JM Tella Llop [MVP Windows]
16/05/2004 - 11:11 | Informe spam
Veamos un poco primero como funciona el tcp/ip. Los mensajes que salen de nuestra maquina van dirigidos siempre a una direccion "fisica" (a una MAC). -excepto los mensajes broadcasting, pero vamos a olvidarnos de estos por el momento-

Por tanto, la pila tcp/ip debe resolver la direccion fisica de la maquina destino. El funcionamiento del tcp/ip, siempre intenta resolver direcciones IP pero la salida fisica del mensaje es a una MAC. La manera de resolverlo es:

1) Investigar si la IP destino está en nuestra red local. La manera es realizar un AND (bit a bit) de la direccion origne (la nuestra), y la mascara y la direccion destino y la mascara de red. Si son iguales, pertenece a nuestra subred.

2) Si *NO* pertenece a nuestra subred, se incvstiga en la tabla de rutas (verla mediante comando: route print) y se enviará a la puerta de enlace (gateway) correspondiente.

3) Si pertenece a nuestra subred, se envia a la red local.

Ahora bien, cuando decimos *se envia* ¿que queremos decir: simple, que se envia a la direccion FISICA (MAC) correspondiente.

El tema está ¿como se saben estas direcciones MAC?

Para ello existe el protocolo ARP.
Los sistemas operativos tienen una caché de ARP en la cual tienen unas tablas de direcciones IP y sus MAC. Si en tu maquina ejecutas el comando:

arp -a

veras las que teienes en este momento.

¿Como se alimenta dicha tabla?: Pues precisamente con el protocolo ARP. A la hora de resolver a donde enviar un mensaje, se mirtra primero en la tabla de ARP. Si no existe, se envia un mensaje ARP por difusion (broadcasting), es decir, dirigido a toda la red y la maquina que tenga esa IP responderá. Automaticamente el sistema operativo se la guardará en la tabla ARP y a partir de ese momento la usará. Estas direcciones MAC, seran tanto de las maquinas de nuestra subred como de la puerta de enlace.

Con esto queda resuleto el tema de envio de mensajes a direcciones fisicas.

Ahora bien... ¿posibles problemas de seguridad en esto?: sencillo: debido a ese mecanismos de funcionamiento, si nuestra maquina recibe un mensaje ARP con una IP y una MAC... se lo creerá (no le queda otro remedio, es precisamente una caracteristica inherente al protocolo y sino no funcionaria el tcp/ip).

Fijemonos, y esto es importante: SOLO se transmiute el ARP en nuestra subred local. Por tanto no es posible un ataque de estos desde internet. (pero pueden ser sensibles las subredes de ciertos proveedores de internet que te dan una direccion privada en vez de una publica).

A lo que ibamos... si alguien desde nuestra subred envia un mensaje ARP dandonos que la direccion del gateway de salida es la MAC de su propia maquina (por ejemplo), todos los mensajes que fuesen a salir de nuestra maquina al gateway, iran a la MAC de esa persiona maliciosa: a su maquina (que a su vezm y una vez analizado el contenido del mensaje puede reenviarlo realmente al gateway y por tanto para nostoros nos funcionará todo: PERO los mensajes han pasado por su maquina, por tanto han sido interceptados y leido su contenido).

Soluciones para esto: bien, lo primero usar SWITCHS en la red, en vez de HUB. Un SWITCH tiene las MAC de la subred y redirige los mensajes a la maquina especifica. Un HUB reenvia los mensajes a todas las bocas... por tanto aparte de perder tiempo y aumentar el trafico en la red... tambien permitiria que nos "escuchasen".

Tampoco es fiable: ya que hay tecnicas de inundar a mensajes con direcciones MAC a un SWITCH de tal manera que se le desborden sus tablas internas y a partir de ese momento podrian pasar limpiamente los mensajes como en un HUB. Pero al menos, algo hace de proteccion.

Espero que esto te ayude a comprender el mecanismo de funcionamiento del tcp.

Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use.




"nacho" wrote in message news:da3501c43b23$4e75e5a0$
El otro dia, una persona pregunto sobre el ARP y la
posiblilidad de protegerse ya que parece ser que pueden
interceptar nuestar comunicaciones.

JM Tella Llop le estuvo respondiendo, pero no me enteré de
nada. He leido algo del ARP pero no me aclaro que es y
para que sirve.

¿alguien puede despejarme estas dudas?

gracias.

Preguntas similares