¿El protocolo TCP / IP ofrece una forma confiable de determinar quién era el remitente real?

23

Así que simplemente estoy hurgando en el protocolo TCP / IP usando una biblioteca de Ruby llamada PacketFu , y parece que Para cada paquete, es posible configurar todo lo siguiente

  • IP de origen
  • IP de destino
  • Dirección MAC de origen
  • Dirección MAC de destino

y un montón de otras cosas.

Aquí está mi pregunta:

Lo que me impide rastrear una red, obtener la dirección IP / MAC de otra persona y luego enviar paquetes fingiendo ser ellos, y correr por Internet culpando a todos mis errores (suponiendo que yo m actuando maliciosamente) sobre el propietario de las credenciales que estoy usando?

    
pregunta OneChillDude 17.04.2014 - 19:18
fuente

1 respuesta

29

Los atacantes comunes de bajo nivel (es decir, las personas en su hogar) no pueden falsificar eficientemente su dirección IP para la conexión TCP porque no recibirán respuestas. Recuerde que IP enruta los paquetes según la dirección de destino, por lo tanto, si envía un paquete con una dirección de origen falsa, aún puede llegar al destino. Algunos enrutadores pueden sentirse ofendidos al ver un paquete con una dirección de origen "imposible", de la misma manera que cuando ves a un amigo regresando de las vacaciones con un intenso bronceado, y afirma que estaba en Gran Bretaña, entonces no lo haces. Realmente le crees. Sin embargo, es probable que el paquete llegue y llegue a su destino.

Cualquier respuesta , sin embargo, irá a la supuesta dirección de origen, no a la verdadera. El atacante no verá las respuestas y, por lo tanto, debe trabajar a ciegas. Esto es un desafío para TCP, debido al protocolo de enlace de tres vías : para que se establezca la conexión, el cliente debe poder enviar al servidor un paquete "ACK" que contenga el número de secuencia que el servidor envió en su "SYN + ACK". Ese número de secuencia se elige aleatoriamente, como un entero de 32 bits; Los sistemas operativos modernos ahora usan generadores de números aleatorios razonablemente fuertes (impredecibles) (consulte RFC 1948 ). Esto implica que nuestro atacante de suplantación de identidad tiene solo una posibilidad en aproximadamente 4 billones de hacerlo bien.

La conclusión es que cuando realmente se establece una conexión TCP, entonces el servidor tiene una garantía bastante sólida de que quienquiera que esté hablando puede ver los paquetes enviados por el servidor a la supuesta dirección IP del cliente. Por lo tanto, es posible falsificar su dirección IP para las conexiones TCP solo si está muy cerca del supuesto propietario de la dirección IP (en la misma subred / punto de acceso WiFi), o si tiene control de un enrutador en la ruta entre el servidor y el servidor. supuesta dirección IP. El último caso significa que usted es un atacante bastante serio, no cualquier script kiddie en su sótano.

Las direcciones MAC son puramente locales: no importan, y no se transmiten, más allá de la subred local. Un servidor remoto no lo verá. Cambiar su dirección MAC es útil solo para engañar a los conmutadores locales y puntos de acceso que emplean el filtrado de MAC.

    
respondido por el Tom Leek 17.04.2014 - 19:34
fuente

Lea otras preguntas en las etiquetas