Economía digital | Artículos | 01 MAY 2003

Introdución al IP Spoofing

Sergio Antolínez.
Los criminales han usado desde tiempos inmemorables la táctica de ocultar su verdadera identidad. No debería haber sorpresas entonces, en que los criminales que conducen sus actividades fraudulentas en las redes informáticas y ordenadores usen estas mismas técnicas. IP Spoofing es una de las formas más comunes para el camuflaje online.

En IP Spoofing, un atacante obtiene acceso no autorizado a una computadora o red usando una dirección de red que aparentemente parece provenir de un equipo en el que tenemos confianza suplantando su dirección IP por la de ese equipo. En este artículo, examinaremos los conceptos del IP Spoofing: ¿por qué es posible?, ¿cómo funciona?, ¿para qué se usa?, y cómo defendernos de él.

Historia
El concepto del IP Spoofing fue inicialmente discutido en los círculos académicos de los años 80. Aunque ya se conocía hace bastante tiempo, al menos teóricamente, no fue tratado como una verdadera amenaza para la seguridad en Internet hasta que Robert Morris, quién escribió el primer Gusano de Internet, descubrió una vulnerabilidad en el protocolo TCP conocida como predicción de secuencias (sequence prediction). Stephen Bellovin discutió el problema en un ensayo llamado “Los Problemas de Seguridad del conjunto de protocolos TCP/IP” (Security Problems in the TCP/IP Protocol Suite), donde indicaba los fallos de diseño del protocolo de Internet.
Otro ataque famoso usando IP Spoofing es el de Kevin Mitnick el día que accedió al ordenador de Tsutomu Shimomura (experto en seguridad) usando una predicción de secuencias de TCP y suplantando su IP con la de un ordenador fiable de la red interna del experto. No hay que decir que el ataque surtió efecto, aunque meses después Mitnick fue capturado.
Sin desviarnos de nuestro tema, añadimos que la popularidad de los ataques mediante IP Spoofing ha decaído debido a que los servicios afectados han pasado a mejor vida, pero aún así, el IP Spoo­fing aún puede ser una amenaza que los administradores de sistemas deben tener en cuenta.

Discusión Técnica
Para entender completamente cómo funcionan estos ataques, es imprescindible examinar la estructura de la suite del protocolo TCP/IP. Un entendimiento básico de cómo se transfiere la información es crucial para el proceso.
El protocolo de Internet (IP – Internet Protocol) es un protocolo de red que opera en el nivel 3 (layer 3) del modelo OSI. Es un modelo sin conexión, o sea no existe información en este protocolo sobre el estado en la transacción que se usa para enrutar paquetes en la red. Adicionalmente, no existe forma de asegurar que el paquete ha sido enviado correctamente al destino.
Examinando la cabecera IP, podemos ver que los primeros 12 bytes (o las 3 filas superiores de la cabecera) contienen información variada sobre el paquete. Los siguientes 8 bytes (en las 2 filas siguientes), en cambio, contienen las direcciones IP de origen y destino del paquete. Usando alguna de las numerosas utilidades disponibles libremente en Internet, un atacante puede modificar fácilmente estos valores –típicamente el valor de origen-. Es importante comprender que cada datagrama es enviado independientemente del resto debido a la naturaleza sin conexión de IP. Tenga en cuenta esto cuando examinemos TCP en la siguiente sección.

TCP
IP puede ser pensado como un complemento para el nivel 4 (transporte), el cual contiene el protocolo de control de la transmisión o TCP (Transmisión Control Protocol). Inversamente a IP, TCP usa un diseño orientado a la conexión. Esto significa que los participantes en una conexión TCP deben construir primero una conexión –mediante el saludo (SYN-SYN-ACK-ACK)– para después enviar la información necesaria. Esta “conversación” asegura la integridad de los datos, ya que el que envía recibe un mensaje de OK por cada paquete intercambiado.
Como se puede observar en las tablas, una cabecera TCP es muy diferente de una cabecera IP. Ponemos especial atención a los 12 primeros bytes del paquete TCP los cuales contienen el puerto y la información de la secuencia. De la misma forma que un datagrama IP, los paquetes TCP pueden ser manipulados por software. Los puertos de origen y destino dependen de la aplicación de red que esté en uso (por ejemplo, HTTP en el puerto 80). Lo más importante para que entendamos el método de spoofing es la secuencia de paquetes y los números de admisión (acknowledgement numbers). Los datos almacenados en estos campos son imprescindibles para determinar si un paquete debe ser reenviado o no, y por lo tanto, garantizan la llegada de los mismos a su destino final.
El número de secuencia es el número del primer byte en el paquete actual, el cual es relevante para el flujo de información. El número de admisión, en contraste, contiene el valor del siguiente número esperado en la secuencia en el flujo. Esta relación confirma, en ambos sentidos, que los paquetes correctos son recibidos. Es bastante diferente a IP desde que la transacción es monitorizada verdaderamente.

Consecuencias del diseño TCP/IP
Ahora que tenemos una visión general del formato de TCP/IP, vamos a examinar sus consecuencias. Obviamente, es muy sencillo manipular un paquete para cambiar la dirección origen en la cabecera IP. Esta técnica es usada por razones obvias y es empleada en numerosos ataques que discutiremos en las siguientes secciones. Otra consecuencia específica a TCP, es la predicción de números de secuencia, que puede usarse para robar una sesión e incl

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios