Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

IP Spoofing Trivial en los Kernel Linux Inferiores a 2.0.36

Última Actualización: 12 de Abril de 1.999 - Lunes

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 31 de Marzo de 1.999.

Un error en los Kernel Linux inferiores a 2.0.36 posibilita ataques IP Spoofing de forma trivial, sin necesidad de tener acceso a la red local de la máquina atacada, ni de realizar predicción de números de secuencia TCP. El problema es debido a un error de implementación del módulo TCP del Kernel, que envía información a una aplicación a través de la lectura de un "socket" sin que haya llegado a establecerse una conexión TCP/IP.

Cuando se establece una conexión TCP, ambos extremos se ponen de acuerdo en dos números de secuencia iniciales (enviado y recibido), a partir de los cuales se numeran los bytes intercambiados por ambos sistemas. Los ataques de IP Spoofing habituales necesitan conocer dichos números de secuencia iniciales. Para ello es preciso o bien estar en la misma red local que el ordenador atacado, o bien proceder a una predicción de números de secuencia.

Al contrario que otros muchos sistemas, Linux utiliza desde hace tiempo números de secuencia iniciales pseudoaleatorios, y no es susceptible a su predicción.

No obstante este ataque permite que un atacante simule una conexión TCP/IP correcta sin necesidad suministrar números de secuencia correctos. Esto es posible debido a tres errores en la implementación TCP de Linux:

  1. Linux sólo verifica los números de secuencia cuando el flag ACK de la cabecera TCP está activado.

  2. Linux almacena temporalmente los segmentos de datos TCP que se reciban mientras la conexión no se establezca completamente.

  3. Linux transfiere a la aplicación el contenido de los almacenes temporales cuando la conexión finaliza con el flag FIN.

La combinación de estos tres errores permite que un atacante envíe datos a una aplicación remota aunque la conexión no se haya establecido.

Las versiones de Kernel 2.0.36 y superiores no se ven afectadas, ya que NAI informó del problema durante su desarrollo. Los usuarios de versiones anteriores deben actualizar su Kernel.

Más información:
http://www.nai.com/products/security/advisory/07_tcpspoofing_adv.asp
http://www.ciac.org/ciac/bulletins/j-035.shtml

Actualizaciones:
http://www.redhat.com/support/docs/errata.html
http://www.kernel.org/



Python Zope ©1999 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS